{"info":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","description":"<html><head></head><body><h1 id=\"helm-wms-public-api-v2\">HELM WMS — Public API v2</h1>\n<p>REST API for the HELM WMS warehouse management platform. All responses are JSON;\nerrors follow <a href=\"https://datatracker.ietf.org/doc/html/rfc7807\">RFC 7807</a> <code>application/problem+json</code>.</p>\n<h2 id=\"base-url\">Base URL</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>https://app-api.helmwms.app/api/v2\n</code></pre><p>Every request is built on the <code>https://app-api.helmwms.app/api/v2</code> collection variable — point it at\nyour environment's API host (the default is the production API, <code>https://app-api.helmwms.app/api/v2</code>). All data\nendpoints are scoped to a company: <code>https://app-api.helmwms.app/api/v2/companies//...</code>.\nSet the <code>company_id</code> variable once and it flows through every request.</p>\n<h2 id=\"authentication\">Authentication</h2>\n<p>The API uses <strong>bearer tokens</strong> (Personal Access Tokens). Send your token on every\nrequest:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Authorization: Bearer &lt;your-token&gt;\n</code></pre><p>This collection is pre-configured with collection-level Bearer auth bound to the\n<code>token</code> variable — set <code>token</code> in the collection variables and every request\ninherits it. Missing or invalid credentials return <code>401 Unauthorized</code>.</p>\n<p>Authorization is enforced per endpoint by role permissions: a token whose role\nlacks the required permission receives <code>403 Forbidden</code>.</p>\n<h2 id=\"basic-mode-and-full-mode\">Basic Mode and Full Mode</h2>\n<p>A company's warehouse runs in one of two stock-control modes.</p>\n<p><strong>Basic Mode</strong> tracks a single stock figure per product. <strong>Full Mode</strong>\n(advanced stock control) adds warehouse locations, and with them zones,\npicking, transfer picking, stock movements, inventory checks, sorting,\nbatch/serial tracking and the warehouse cost dashboard.</p>\n<p>Requests whose description opens with <strong>Full Mode only</strong> need Full Mode on the\ncompany's primary warehouse. Calling one for a Basic Mode company returns\n<code>403 Forbidden</code> with a problem+json body, rather than an empty list or a write\nthat quietly does nothing. Switch the warehouse to Full Mode in Settings to\nenable them.</p>\n<p>The static reference lists stay open in Basic Mode: the location type, storage\ntype and location colour dropdowns return their enum values whatever mode the\nwarehouse is in, so an integration can read them before the switch.</p>\n<h2 id=\"rate-limiting\">Rate limiting</h2>\n<p>Limits are applied <strong>per endpoint, per token</strong> — each endpoint has its own\nindependent budget (stated in that request's description). Exceeding it returns\n<code>429 Too Many Requests</code> with:</p>\n<ul>\n<li><code>Retry-After</code> — seconds to wait before retrying,</li>\n<li><code>X-RateLimit-Limit</code>, <code>X-RateLimit-Remaining</code>, <code>X-RateLimit-Reset</code>.</li>\n</ul>\n<h2 id=\"pagination\">Pagination</h2>\n<p>List endpoints are <strong>cursor-paginated by default</strong>. Each response carries\n<code>meta.next_cursor</code> / <code>meta.prev_cursor</code>; pass the opaque token back as\n<code>?cursor=&lt;token&gt;</code> to page forward/back.</p>\n<ul>\n<li><code>?page=N</code> — opt out of cursor mode and use classic page pagination.</li>\n<li><code>?per_page=N</code> — page size, default <strong>10</strong>, maximum <strong>250</strong> (over 250 → <code>422</code>).</li>\n</ul>\n<h2 id=\"filtering\">Filtering</h2>\n<p>Filters are <strong>flat query-string parameters</strong> named after the field — there is no\n<code>filter[...]</code> wrapper. For example <code>?status=2&amp;store_id=5</code>. Range filters expose\n<code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code> (e.g. <code>created_at_from</code>, <code>created_at_to</code>). Most\ncollections also accept <code>id</code>, <code>ids</code>, <code>excepted_ids</code> and <code>ignore_ids</code>. The exact\nfilter set for each endpoint is listed in that request's description.</p>\n<h2 id=\"includes-eager-loading-relations\">Includes (eager-loading relations)</h2>\n<p>Use the plural <code>includes</code> parameter with a comma-separated list to embed related\nresources, e.g. <code>?includes=items,customer,shippingAddress.address.country</code>. Each\nlist endpoint documents its <strong>allowed relations</strong> (drawn from the model's\nincludable whitelist); requesting a relation outside that set is ignored.</p>\n<h2 id=\"sorting\">Sorting</h2>\n<p><code>?sort_by=&lt;field&gt;&amp;sort_direction=asc|desc</code>.</p>\n<h2 id=\"errors\">Errors</h2>\n<p>Errors use <code>application/problem+json</code>:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"type\": \"about:blank\",\n  \"title\": \"Unauthorized\",\n  \"status\": 401,\n  \"detail\": \"Human-readable, localized explanation.\",\n  \"instance\": null\n}\n</code></pre>\n<p>Validation failures return <code>422</code> with field-level detail. Error messages are\nlocalized to the caller's language.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[{"content":"HELM WMS — Public API v2","slug":"helm-wms-public-api-v2"}],"owner":"11966424","collectionId":"188f74b7-3468-4f3c-b836-f924ecefe2b2","publishedId":"2sBY4JvMo4","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"0056FB"},"publishDate":"2026-07-06T09:26:52.000Z"},"item":[{"name":"Batch Shipments","item":[{"name":"Batch shipments list","id":"b26a0b4c-31dc-48f6-8b07-abef38dfaf60","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//batch-shipments","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>query</code></td>\n<td>Filter by Query.</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>Filter by Status.</td>\n</tr>\n<tr>\n<td><code>reference</code></td>\n<td>Filter by Reference.</td>\n</tr>\n<tr>\n<td><code>created_at_from</code></td>\n<td>Filter by Created At From.</td>\n</tr>\n<tr>\n<td><code>created_at_to</code></td>\n<td>Filter by Created At To.</td>\n</tr>\n<tr>\n<td><code>downloaded_at_from</code></td>\n<td>Filter by Downloaded At From.</td>\n</tr>\n<tr>\n<td><code>downloaded_at_to</code></td>\n<td>Filter by Downloaded At To.</td>\n</tr>\n<tr>\n<td><code>label_size</code></td>\n<td>Filter by Label Size.</td>\n</tr>\n<tr>\n<td><code>label_format</code></td>\n<td>Filter by Label Format.</td>\n</tr>\n<tr>\n<td><code>shipments_count_from</code></td>\n<td>Filter by Shipments Count From.</td>\n</tr>\n<tr>\n<td><code>shipments_count_to</code></td>\n<td>Filter by Shipments Count To.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>shipments</code></li>\n<li><code>shipments.shipmentFile</code></li>\n<li><code>shipments.order</code></li>\n<li><code>shipments.order.customer.contact</code></li>\n<li><code>shipments.order.shippingAddress.address.country</code></li>\n<li><code>failedShipments</code></li>\n<li><code>cancelledShipments</code></li>\n<li><code>pendingShipments</code></li>\n<li><code>completedShipments</code></li>\n<li><code>batchFile</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","batch-shipments"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Query.</p>\n","type":"text/plain"},"key":"query","value":""},{"disabled":true,"description":{"content":"<p>Filter by Status.</p>\n","type":"text/plain"},"key":"status","value":""},{"disabled":true,"description":{"content":"<p>Filter by Reference.</p>\n","type":"text/plain"},"key":"reference","value":""},{"disabled":true,"description":{"content":"<p>Filter by Created At From.</p>\n","type":"text/plain"},"key":"created_at_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Created At To.</p>\n","type":"text/plain"},"key":"created_at_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Downloaded At From.</p>\n","type":"text/plain"},"key":"downloaded_at_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Downloaded At To.</p>\n","type":"text/plain"},"key":"downloaded_at_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Label Size.</p>\n","type":"text/plain"},"key":"label_size","value":""},{"disabled":true,"description":{"content":"<p>Filter by Label Format.</p>\n","type":"text/plain"},"key":"label_format","value":""},{"disabled":true,"description":{"content":"<p>Filter by Shipments Count From.</p>\n","type":"text/plain"},"key":"shipments_count_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Shipments Count To.</p>\n","type":"text/plain"},"key":"shipments_count_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>shipments</code> - <code>shipments.shipmentFile</code> - <code>shipments.order</code> - <code>shipments.order.customer.contact</code> - <code>shipments.order.shippingAddress.address.country</code> - <code>failedShipments</code> - <code>cancelledShipments</code> - <code>pendingShipments</code> - <code>completedShipments</code> - <code>batchFile</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[]}},"response":[],"_postman_id":"b26a0b4c-31dc-48f6-8b07-abef38dfaf60"},{"name":"Batch shipments show","id":"621ce88b-0168-4243-ae59-2c731123cb7a","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//batch-shipments/:batchShipmentID","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>batchShipmentID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>shipments</code></li>\n<li><code>shipments.shipmentFile</code></li>\n<li><code>shipments.order</code></li>\n<li><code>shipments.order.customer.contact</code></li>\n<li><code>shipments.order.shippingAddress.address.country</code></li>\n<li><code>failedShipments</code></li>\n<li><code>cancelledShipments</code></li>\n<li><code>pendingShipments</code></li>\n<li><code>completedShipments</code></li>\n<li><code>batchFile</code></li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","batch-shipments",":batchShipmentID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>shipments</code> - <code>shipments.shipmentFile</code> - <code>shipments.order</code> - <code>shipments.order.customer.contact</code> - <code>shipments.order.shippingAddress.address.country</code> - <code>failedShipments</code> - <code>cancelledShipments</code> - <code>pendingShipments</code> - <code>completedShipments</code> - <code>batchFile</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"fdbdc8a2-8937-4582-94c2-717b5ecbea4a","type":"any","value":"","key":"batchShipmentID"}]}},"response":[],"_postman_id":"621ce88b-0168-4243-ae59-2c731123cb7a"},{"name":"Batch shipments failed shipments","id":"9f14eafb-117a-4a4f-9bb9-590a08352958","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//batch-shipments/:batchShipmentID/failed-shipments","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>batchShipmentID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","batch-shipments",":batchShipmentID","failed-shipments"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""}],"variable":[{"id":"fb7ee6ed-9b6b-4b15-a85c-e39aa0a467e1","type":"any","value":"","key":"batchShipmentID"}]}},"response":[],"_postman_id":"9f14eafb-117a-4a4f-9bb9-590a08352958"},{"name":"Batch shipments change label format","id":"4b2b2357-8a6c-4280-ac93-751346c8f036","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"batch_shipment_id\": \"{{batch_shipment_id}}\",\n  \"label_format\": \"2\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//batch-shipments/:batchShipmentID/change-label-format","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>batchShipmentID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>batch_shipment_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>label_format</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","batch-shipments",":batchShipmentID","change-label-format"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"0e1affe9-5a7a-4812-8101-530236bbef0d","type":"any","value":"","key":"batchShipmentID"}]}},"response":[],"_postman_id":"4b2b2357-8a6c-4280-ac93-751346c8f036"},{"name":"Batch shipments files download","id":"48ecb107-e001-4cd6-9639-126e86fa04ca","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//batch-shipments/:batchID/files/download?batch_id=&file_name=","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>batchID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>batch_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>file_name</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","batch-shipments",":batchID","files","download"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"batch_id","value":""},{"key":"file_name","value":""}],"variable":[{"id":"70af5f65-69c5-4700-8789-d8409bd1066d","type":"any","value":"","key":"batchID"}]}},"response":[],"_postman_id":"48ecb107-e001-4cd6-9639-126e86fa04ca"},{"name":"Batch shipments files renew","id":"8c2a4571-c519-4163-8012-cab0a4e13d85","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"batch_id\": \"{{batch_id}}\",\n  \"batch_file_id\": \"{{batch_file_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//batch-shipments/:batchID/files/:batchFileID/renew","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>batchID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>batchFileID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>batch_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>batch_file_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","batch-shipments",":batchID","files",":batchFileID","renew"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"670d0c0e-5b30-4536-93f2-25a41842603f","type":"any","value":"","key":"batchID"},{"id":"5112636c-3f2a-4068-8388-b0310ed2cd46","type":"any","value":"","key":"batchFileID"}]}},"response":[],"_postman_id":"8c2a4571-c519-4163-8012-cab0a4e13d85"}],"id":"3ca3a6a0-ceae-4718-82be-a63e29c02580","description":"<p><strong>Batch Shipments</strong> — 6 endpoints.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"3ca3a6a0-ceae-4718-82be-a63e29c02580","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Channel Linking","item":[{"name":"Channel linking logs list","id":"29b3c631-d1bd-442e-84e2-f7989bc76abc","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//channel-linking/logs","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>channel_product_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>query</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>created_at[startDate]</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>created_at[endDate]</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>log_status[]</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","channel-linking","logs"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"key":"channel_product_id","value":""},{"disabled":true,"key":"query","value":""},{"disabled":true,"key":"created_at[startDate]","value":""},{"disabled":true,"key":"created_at[endDate]","value":""},{"disabled":true,"key":"log_status[]","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""}],"variable":[]}},"response":[],"_postman_id":"29b3c631-d1bd-442e-84e2-f7989bc76abc"},{"name":"Channel linking logs show","id":"0b5a9695-948f-4329-a1db-5563418b7803","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//channel-linking/logs/:activityID","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>activityID</code></td>\n<td>string | null</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","channel-linking","logs",":activityID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"de478e2b-67eb-4d1e-bcc7-4b1d1a77417c","type":"any","value":"","key":"activityID"}]}},"response":[],"_postman_id":"0b5a9695-948f-4329-a1db-5563418b7803"}],"id":"b986e24e-4ca6-4714-91ad-8adb20a06b87","description":"<p><strong>Channel Linking</strong> — 2 endpoints.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"b986e24e-4ca6-4714-91ad-8adb20a06b87","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Countries","item":[{"name":"Countries defaults","id":"32cb72b3-14e0-4fdc-a83d-d404891b8003","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//countries/:countryID/defaults","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>countryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","countries",":countryID","defaults"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""}],"variable":[{"id":"fe072494-eb34-4f0f-a584-30e11e967009","type":"any","value":"","key":"countryID"}]}},"response":[],"_postman_id":"32cb72b3-14e0-4fdc-a83d-d404891b8003"},{"name":"Countries list","id":"0e2c423b-afa6-4d11-ae44-4980988b406d","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//countries","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","countries"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""}],"variable":[]}},"response":[],"_postman_id":"0e2c423b-afa6-4d11-ae44-4980988b406d"},{"name":"Countries states list","id":"735bd956-dd6a-4eca-9870-3d3d7d6243d6","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//countries/states","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","countries","states"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""}],"variable":[]}},"response":[],"_postman_id":"735bd956-dd6a-4eca-9870-3d3d7d6243d6"},{"name":"Countries states country states","id":"8ed2cbc9-3ace-403a-a5cc-61fba493d22c","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//countries/:countryID/states","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>countryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","countries",":countryID","states"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"fbd270db-d189-403b-9682-ffa081dfaba3","type":"any","value":"","key":"countryID"}]}},"response":[],"_postman_id":"8ed2cbc9-3ace-403a-a5cc-61fba493d22c"}],"id":"22bfdaac-9455-419b-b12b-5dcdf8b9d9e6","description":"<p><strong>Countries</strong> — 4 endpoints.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"22bfdaac-9455-419b-b12b-5dcdf8b9d9e6","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Courier Logs","item":[{"name":"Courier logs list","id":"6c49ede8-1a3c-45c5-b753-9396f53d2c48","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//courier-logs","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<p>Read-only view of the courier calls stored in the observability request-log\nstore. Every row is one call made to the courier service - shipment creation,\ncancellation, manifest, account and lookup calls.</p>\n<p>Rows are returned newest first and paged with an opaque cursor:\n<code>meta.next_cursor</code> carries the token for the next page.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>Company the logs belong to.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-fields\">Response fields</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>request_id</code></td>\n<td>string</td>\n<td>Log id, used by the detail endpoint.</td>\n</tr>\n<tr>\n<td><code>timestamp</code></td>\n<td>string</td>\n<td>When the call was made.</td>\n</tr>\n<tr>\n<td><code>action</code></td>\n<td>string</td>\n<td>Raw action key, e.g. <code>shipment.create</code>. Also the filter value.</td>\n</tr>\n<tr>\n<td><code>action_title</code></td>\n<td>string</td>\n<td>The same action translated to the caller's language.</td>\n</tr>\n<tr>\n<td><code>courier</code></td>\n<td>object | null</td>\n<td><code>{ id, key, name, logo }</code> - null when the call is not tied to a courier.</td>\n</tr>\n<tr>\n<td><code>courier_key</code></td>\n<td>string | null</td>\n<td>Raw courier key, kept beside <code>courier</code>.</td>\n</tr>\n<tr>\n<td><code>courier_service</code></td>\n<td>object | null</td>\n<td><code>{ id, name }</code>.</td>\n</tr>\n<tr>\n<td><code>status_code</code></td>\n<td>integer</td>\n<td>HTTP status the courier returned.</td>\n</tr>\n<tr>\n<td><code>response_success</code></td>\n<td>boolean</td>\n<td>Whether the call succeeded.</td>\n</tr>\n<tr>\n<td><code>execution_time_ms</code></td>\n<td>integer</td>\n<td>How long the call took.</td>\n</tr>\n<tr>\n<td><code>user_id</code></td>\n<td>integer | null</td>\n<td>User who triggered the call, null for system calls.</td>\n</tr>\n<tr>\n<td><code>order</code></td>\n<td>object | null</td>\n<td><code>{ id, order_number }</code>.</td>\n</tr>\n<tr>\n<td><code>shipment</code></td>\n<td>object | null</td>\n<td><code>{ id, reference }</code>.</td>\n</tr>\n<tr>\n<td><code>batch_id</code></td>\n<td>integer | null</td>\n<td>Set instead of <code>order</code> for batch calls.</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","courier-logs"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"description":{"content":"<p>Free-text search over order number, shipment reference, courier name and action label. Partial, case-insensitive.</p>\n","type":"text/plain"},"key":"query","value":""},{"disabled":true,"description":{"content":"<p>Filter by action key, e.g. <code>shipment.create</code>. Repeat the parameter for more than one value. Allowed values come from <code>GET /tools/filters/options?key=courier_log_actions</code>.</p>\n","type":"text/plain"},"key":"action","value":""},{"disabled":true,"description":{"content":"<p>Filter by courier key, e.g. <code>royal_mail</code>. Repeatable.</p>\n","type":"text/plain"},"key":"courier_key","value":""},{"disabled":true,"description":{"content":"<p>Filter by courier id. Repeatable.</p>\n","type":"text/plain"},"key":"courier_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by courier service id. Repeatable.</p>\n","type":"text/plain"},"key":"courier_service_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by order id. Repeatable.</p>\n","type":"text/plain"},"key":"order_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by exact order number. Repeatable.</p>\n","type":"text/plain"},"key":"order_number","value":""},{"disabled":true,"description":{"content":"<p>Filter by shipment id. Repeatable.</p>\n","type":"text/plain"},"key":"shipment_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by exact shipment reference. Repeatable.</p>\n","type":"text/plain"},"key":"shipment_reference","value":""},{"disabled":true,"description":{"content":"<p>Filter by batch shipment id.</p>\n","type":"text/plain"},"key":"batch_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by the user who triggered the call. Repeatable.</p>\n","type":"text/plain"},"key":"user_id","value":""},{"disabled":true,"description":{"content":"<p><code>true</code> returns successful calls only, <code>false</code> failed ones only.</p>\n","type":"text/plain"},"key":"response_success","value":""},{"disabled":true,"description":{"content":"<p>Start of the timestamp range (ISO 8601). Defaults to 30 days ago.</p>\n","type":"text/plain"},"key":"date_start","value":""},{"disabled":true,"description":{"content":"<p>End of the timestamp range (ISO 8601). Defaults to now.</p>\n","type":"text/plain"},"key":"date_end","value":""},{"disabled":true,"description":{"content":"<p>One of <code>timestamp</code>, <code>status_code</code>, <code>route_name</code>, <code>courier_key</code>, <code>user_id</code>. Anything else is rejected with 422.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\". Default <code>desc</code>.</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 20, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor from <code>meta.next_cursor</code> of the previous response. Courier logs are cursor-paginated only; <code>?page=</code> is not supported.</p>\n","type":"text/plain"},"key":"cursor","value":""}],"variable":[]}},"response":[],"_postman_id":"6c49ede8-1a3c-45c5-b753-9396f53d2c48"},{"name":"Courier log detail","id":"ad35046c-c0e4-41f2-bf44-7b1a62562951","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//courier-logs/{{request_id}}","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<p>One courier log with the full request and response payload as it was sent to and\nreturned by the courier service.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>Company the log belongs to.</td>\n</tr>\n<tr>\n<td><code>request_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Log id from the list response.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-fields\">Response fields</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>meta</code></td>\n<td>object</td>\n<td>Same fields as a list row, plus <code>ip</code> and <code>batch_id</code>.</td>\n</tr>\n<tr>\n<td><code>payload</code></td>\n<td>object</td>\n<td><code>request_headers</code>, <code>request_body</code>, <code>response_headers</code>, <code>response_body</code>.</td>\n</tr>\n<tr>\n<td><code>links</code></td>\n<td>object</td>\n<td><code>order</code> and <code>shipment</code> the call belongs to, when there is one.</td>\n</tr>\n</tbody>\n</table>\n</div><p>Returns <code>404 Not Found</code> when the id is unknown, or belongs to a request log that\nis not a courier call.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","courier-logs","{{request_id}}"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"ad35046c-c0e4-41f2-bf44-7b1a62562951"}],"id":"ccf42620-b354-4ce9-8cd5-5c191b5d9165","description":"<p><strong>Courier Logs</strong> — 2 endpoints.</p>\n<p>Read-only view of the courier calls already stored in the observability request-log store. Filters are flat query params; paging is cursor-only (<code>cursor</code> / <code>meta.next_cursor</code>).</p>\n","_postman_id":"ccf42620-b354-4ce9-8cd5-5c191b5d9165","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Couriers","item":[{"name":"Couriers available","id":"8e3be73d-d1a4-4e52-9ccf-b91d84c0d539","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//couriers/available","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","couriers","available"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"description":{"content":"<p>NOTE: filters are FLAT query params named after the filter method (e.g. ?ids=1,2&amp;store_id=5), resolved by App\\Filters\\QueryFilters against top-level request keys — there is NO nested filter[...] contract at runtime, so none is declared/documented here.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"key":"sort_direction","value":""},{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"key":"page","value":""},{"disabled":true,"key":"per_page","value":""}],"variable":[]}},"response":[],"_postman_id":"8e3be73d-d1a4-4e52-9ccf-b91d84c0d539"},{"name":"Couriers dynamic form","id":"9dcdea64-6d95-4938-800e-ed666f2e5908","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//couriers/:courierKey/dynamic-form","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>courierKey</code></td>\n<td>string</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","couriers",":courierKey","dynamic-form"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"57a38fe5-9fe8-4124-8f9c-08d1bfbe7c9a","type":"any","value":"","key":"courierKey"}]}},"response":[],"_postman_id":"9dcdea64-6d95-4938-800e-ed666f2e5908"},{"name":"Couriers presets","id":"51c4fee5-cc1a-49b3-99aa-f16cfaf7ff23","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//couriers/:courierKey/presets","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>courierKey</code></td>\n<td>string</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","couriers",":courierKey","presets"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"34f60373-d87d-4871-9329-55cc420fa0f7","type":"any","value":"","key":"courierKey"}]}},"response":[],"_postman_id":"51c4fee5-cc1a-49b3-99aa-f16cfaf7ff23"},{"name":"Couriers list","id":"af68833d-4276-4918-b947-dcff9f561fdd","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//couriers","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>query</code></td>\n<td>Filter by Query.</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>Filter by Name.</td>\n</tr>\n<tr>\n<td><code>friendly_name</code></td>\n<td>Filter by Friendly Name.</td>\n</tr>\n<tr>\n<td><code>service_name</code></td>\n<td>Filter by Service Name.</td>\n</tr>\n<tr>\n<td><code>courier_key</code></td>\n<td>Filter by Courier Key.</td>\n</tr>\n<tr>\n<td><code>is_test_account</code></td>\n<td>Filter by Is Test Account.</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>Filter by Status.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>services</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","couriers"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Query.</p>\n","type":"text/plain"},"key":"query","value":""},{"disabled":true,"description":{"content":"<p>Filter by Name.</p>\n","type":"text/plain"},"key":"name","value":""},{"disabled":true,"description":{"content":"<p>Filter by Friendly Name.</p>\n","type":"text/plain"},"key":"friendly_name","value":""},{"disabled":true,"description":{"content":"<p>Filter by Service Name.</p>\n","type":"text/plain"},"key":"service_name","value":""},{"disabled":true,"description":{"content":"<p>Filter by Courier Key.</p>\n","type":"text/plain"},"key":"courier_key","value":""},{"disabled":true,"description":{"content":"<p>Filter by Is Test Account.</p>\n","type":"text/plain"},"key":"is_test_account","value":""},{"disabled":true,"description":{"content":"<p>Filter by Status.</p>\n","type":"text/plain"},"key":"status","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>services</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[]}},"response":[],"_postman_id":"af68833d-4276-4918-b947-dcff9f561fdd"},{"name":"Couriers create","id":"6f312127-870d-4e1c-81ea-dcfc84f276f2","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"courier_key\": \"courier_key\",\n  \"name\": \"name\",\n  \"testing\": false,\n  \"default_label_size\": \"2\",\n  \"collection_times\": {\n    \"monday\": [\n      \"\"\n    ],\n    \"tuesday\": [\n      \"\"\n    ],\n    \"wednesday\": [\n      \"\"\n    ],\n    \"thursday\": [\n      \"\"\n    ],\n    \"friday\": [\n      \"\"\n    ],\n    \"saturday\": [\n      \"\"\n    ],\n    \"sunday\": [\n      \"\"\n    ]\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//couriers","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>courier_key</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>testing</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>default_label_size</code></td>\n<td>string | null</td>\n<td>no</td>\n<td><strong>LabelSizes</strong> values: - <code>2</code> = PAPER_A5 - <code>3</code> = LABEL_8x4 - <code>4</code> = LABEL_6X4 - <code>5</code> = LABEL_4X4 Allowed: <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code></td>\n</tr>\n<tr>\n<td><code>collection_times</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>collection_times.monday</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>collection_times.tuesday</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>collection_times.wednesday</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>collection_times.thursday</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>collection_times.friday</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>collection_times.saturday</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>collection_times.sunday</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","couriers"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"6f312127-870d-4e1c-81ea-dcfc84f276f2"},{"name":"Couriers show","id":"b791c70a-d5b9-49c4-86c6-d427ea836487","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//couriers/:courierID","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>courierID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","couriers",":courierID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""}],"variable":[{"id":"22b8bc2b-18c5-4d3b-b939-672a9f1f1ef4","type":"any","value":"","key":"courierID"}]}},"response":[],"_postman_id":"b791c70a-d5b9-49c4-86c6-d427ea836487"},{"name":"Couriers update","id":"aa531b1d-d765-449a-8fc0-1d489c715969","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"status\": false,\n  \"name\": \"name\",\n  \"config\": [\n    \"\"\n  ],\n  \"default_label_size\": \"2\",\n  \"collection_times\": {\n    \"monday\": [\n      \"\"\n    ],\n    \"tuesday\": [\n      \"\"\n    ],\n    \"wednesday\": [\n      \"\"\n    ],\n    \"thursday\": [\n      \"\"\n    ],\n    \"friday\": [\n      \"\"\n    ],\n    \"saturday\": [\n      \"\"\n    ],\n    \"sunday\": [\n      \"\"\n    ]\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//couriers/:courierID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>courierID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>status</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>config</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>default_label_size</code></td>\n<td>string | null</td>\n<td>no</td>\n<td><strong>LabelSizes</strong> values: - <code>2</code> = PAPER_A5 - <code>3</code> = LABEL_8x4 - <code>4</code> = LABEL_6X4 - <code>5</code> = LABEL_4X4 Allowed: <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code></td>\n</tr>\n<tr>\n<td><code>collection_times</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>collection_times.monday</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>collection_times.tuesday</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>collection_times.wednesday</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>collection_times.thursday</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>collection_times.friday</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>collection_times.saturday</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>collection_times.sunday</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","couriers",":courierID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"bf24395e-6948-4053-a4e1-0757800a9262","type":"any","value":"","key":"courierID"}]}},"response":[],"_postman_id":"aa531b1d-d765-449a-8fc0-1d489c715969"},{"name":"Couriers delete","id":"a4da1cba-c923-47cf-8f22-0844991637de","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//couriers/:courierID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>courierID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","couriers",":courierID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"03eecf53-9814-4bdd-b4a4-b691f0a0d17b","type":"any","value":"","key":"courierID"}]}},"response":[],"_postman_id":"a4da1cba-c923-47cf-8f22-0844991637de"},{"name":"Couriers shipping credential show","id":"ed16ae20-6cd2-44c4-994a-e6b986d00762","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//couriers/shipping-credential","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","couriers","shipping-credential"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"ed16ae20-6cd2-44c4-994a-e6b986d00762"},{"name":"Couriers shipping credential update","id":"675126be-26e0-4b69-91a3-7689f8286c74","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"use_custom_credentials\": false,\n  \"custom_name\": \"\",\n  \"custom_token\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//couriers/shipping-credential","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>use_custom_credentials</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>custom_name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>custom_token</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","couriers","shipping-credential"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"675126be-26e0-4b69-91a3-7689f8286c74"},{"name":"Couriers manifestable","id":"2890dabb-3b48-4c03-a520-d20c2b07e4cb","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//couriers/manifestable","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","couriers","manifestable"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"2890dabb-3b48-4c03-a520-d20c2b07e4cb"},{"name":"Couriers manifests bulk","id":"af13e70a-5d0f-45df-b734-706529b55e97","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"couriers_ids\": [\n    \"{{couriers_id}}\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//couriers/manifests/bulk","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>couriers_ids</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","couriers","manifests","bulk"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"af13e70a-5d0f-45df-b734-706529b55e97"},{"name":"Couriers oauth url","id":"f853b5d2-da15-458f-9597-c63854080292","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"name\",\n  \"testing\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//couriers/:courierKey/oauth-url","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>courierKey</code></td>\n<td>string</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>testing</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","couriers",":courierKey","oauth-url"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"f6fcfb54-760f-43c3-b2dc-56cb85569f04","type":"any","value":"","key":"courierKey"}]}},"response":[],"_postman_id":"f853b5d2-da15-458f-9597-c63854080292"},{"name":"Couriers manifest create","id":"1918d521-1a4d-480b-825f-5eab2008f9ca","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//couriers/:courierKey/manifest","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>courierKey</code></td>\n<td>string</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","couriers",":courierKey","manifest"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"1c777233-9a9b-4db3-bb46-85ad8be11ba9","type":"any","value":"","key":"courierKey"}]}},"response":[],"_postman_id":"1918d521-1a4d-480b-825f-5eab2008f9ca"},{"name":"Couriers manual services create","id":"bdf19b72-47f3-4f2a-a816-13b8b44f1064","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"courier_id\": \"{{courier_id}}\",\n  \"courier_service_name\": \"courier_service_name\",\n  \"label_reference\": \"1\",\n  \"label_secondary_reference\": \"1\",\n  \"presets\": [\n    \"\"\n  ],\n  \"specifics\": [\n    {\n      \"key\": \"key\",\n      \"value\": \"\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//couriers/:courierID/manual-services","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>courierID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>courier_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>courier_service_name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>label_reference</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code></td>\n</tr>\n<tr>\n<td><code>label_secondary_reference</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code></td>\n</tr>\n<tr>\n<td><code>presets</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>specifics</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>specifics.*.key</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>specifics.*.value</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","couriers",":courierID","manual-services"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"c86e2583-dddd-4e66-8819-519a6592397b","type":"any","value":"","key":"courierID"}]}},"response":[],"_postman_id":"bdf19b72-47f3-4f2a-a816-13b8b44f1064"},{"name":"Couriers services bulk","id":"f16fbfc2-1669-49c1-9fc7-e139f1160584","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"courier_id\": \"{{courier_id}}\",\n  \"services\": [\n    {\n      \"courier_service_name\": \"courier_service_name\",\n      \"shipping_service_id\": \"{{shipping_service_id}}\",\n      \"label_reference\": \"1\",\n      \"label_secondary_reference\": \"1\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//couriers/:courierID/services/bulk","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>courierID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>courier_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>services</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>services.*.courier_service_name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>services.*.shipping_service_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>services.*.label_reference</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code></td>\n</tr>\n<tr>\n<td><code>services.*.label_secondary_reference</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","couriers",":courierID","services","bulk"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"57a6f824-de67-4f91-815f-aaa8fa768d6b","type":"any","value":"","key":"courierID"}]}},"response":[],"_postman_id":"f16fbfc2-1669-49c1-9fc7-e139f1160584"},{"name":"Couriers services status","id":"bdc2c4cc-ea08-4cfa-b20a-8eb73448407e","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"courier_id\": \"{{courier_id}}\",\n  \"courier_service_id\": \"{{courier_service_id}}\",\n  \"status\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//couriers/:courierID/services/:courierServiceID/status","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>courierID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>courierServiceID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>courier_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>courier_service_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","couriers",":courierID","services",":courierServiceID","status"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"76fb68ef-a536-48c6-b013-5e17dc275a38","type":"any","value":"","key":"courierID"},{"id":"69b8b94a-ed4f-4d21-be7d-07caee759fe8","type":"any","value":"","key":"courierServiceID"}]}},"response":[],"_postman_id":"bdc2c4cc-ea08-4cfa-b20a-8eb73448407e"},{"name":"Couriers status","id":"533cc823-fca3-4601-864e-387a0f632495","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"courier_id\": \"{{courier_id}}\",\n  \"status\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//couriers/:courierID/status","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>courierID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>courier_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","couriers",":courierID","status"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"3f96068c-ebae-489b-8c1e-12f936a0745c","type":"any","value":"","key":"courierID"}]}},"response":[],"_postman_id":"533cc823-fca3-4601-864e-387a0f632495"},{"name":"Couriers collection times","id":"a5f671b1-f935-45d5-a2c0-847d1afa4235","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"courier_id\": \"{{courier_id}}\",\n  \"collection_times\": {\n    \"monday\": [\n      \"\"\n    ],\n    \"tuesday\": [\n      \"\"\n    ],\n    \"wednesday\": [\n      \"\"\n    ],\n    \"thursday\": [\n      \"\"\n    ],\n    \"friday\": [\n      \"\"\n    ],\n    \"saturday\": [\n      \"\"\n    ],\n    \"sunday\": [\n      \"\"\n    ]\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//couriers/:courierID/collection-times","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>courierID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>courier_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>collection_times</code></td>\n<td>object</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>collection_times.monday</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>collection_times.tuesday</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>collection_times.wednesday</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>collection_times.thursday</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>collection_times.friday</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>collection_times.saturday</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>collection_times.sunday</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","couriers",":courierID","collection-times"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"08ea8931-49c4-44a3-bc0f-3416fbec9561","type":"any","value":"","key":"courierID"}]}},"response":[],"_postman_id":"a5f671b1-f935-45d5-a2c0-847d1afa4235"},{"name":"Couriers manifest schedule","id":"43da76e2-04c8-45e4-a757-6a2c9e7a8a67","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"courier_id\": \"{{courier_id}}\",\n  \"schedule\": {\n    \"monday\": \"\",\n    \"tuesday\": \"\",\n    \"wednesday\": \"\",\n    \"thursday\": \"\",\n    \"friday\": \"\",\n    \"saturday\": \"\",\n    \"sunday\": \"\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//couriers/:courierID/manifest-schedule","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>courierID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>courier_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>schedule</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>schedule.monday</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>schedule.tuesday</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>schedule.wednesday</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>schedule.thursday</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>schedule.friday</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>schedule.saturday</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>schedule.sunday</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","couriers",":courierID","manifest-schedule"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"06b064ea-9432-4ede-9a3c-79166695538c","type":"any","value":"","key":"courierID"}]}},"response":[],"_postman_id":"43da76e2-04c8-45e4-a757-6a2c9e7a8a67"},{"name":"Couriers services list","id":"3c9ca707-cdeb-48a4-9e05-e230b4dd733d","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//couriers/:courierID/services","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>courierID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","couriers",":courierID","services"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""}],"variable":[{"id":"d044868b-da4b-4e91-8498-3dc93599bbef","type":"any","value":"","key":"courierID"}]}},"response":[],"_postman_id":"3c9ca707-cdeb-48a4-9e05-e230b4dd733d"},{"name":"Couriers services create","id":"64b83f1c-0d42-4b78-959d-d997c2d0b163","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"courier_service_name\": \"courier_service_name\",\n  \"shipping_service_id\": \"{{shipping_service_id}}\",\n  \"label_reference\": \"1\",\n  \"label_secondary_reference\": \"1\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//couriers/:courierID/services","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>courierID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>courier_service_name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_service_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>label_reference</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code></td>\n</tr>\n<tr>\n<td><code>label_secondary_reference</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","couriers",":courierID","services"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"88e0ef0b-f92a-496a-8224-b2a058c18529","type":"any","value":"","key":"courierID"}]}},"response":[],"_postman_id":"64b83f1c-0d42-4b78-959d-d997c2d0b163"},{"name":"Couriers services show","id":"7a5f4422-75b8-4f66-9c37-5e133a5ea87e","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//couriers/:courierID/services/:courierServiceID","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>courierID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>courierServiceID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","couriers",":courierID","services",":courierServiceID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"8653b13b-ecb7-4de6-ad95-1c86f73e12f6","type":"any","value":"","key":"courierID"},{"id":"44a50396-95e0-4c94-8c66-6dabd498682d","type":"any","value":"","key":"courierServiceID"}]}},"response":[],"_postman_id":"7a5f4422-75b8-4f66-9c37-5e133a5ea87e"},{"name":"Couriers services update","id":"4cfdcb4e-897b-435f-b57f-fe51cc0e4b91","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"courier_service_name\": \"courier_service_name\",\n  \"status\": false,\n  \"label_reference\": \"1\",\n  \"label_secondary_reference\": \"1\",\n  \"presets\": [\n    \"\"\n  ],\n  \"specifics\": [\n    {\n      \"key\": \"key\",\n      \"value\": \"\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//couriers/:courierID/services/:courierServiceID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>courierID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>courierServiceID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>courier_service_name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>label_reference</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code></td>\n</tr>\n<tr>\n<td><code>label_secondary_reference</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code></td>\n</tr>\n<tr>\n<td><code>presets</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>specifics</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>specifics.*.key</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>specifics.*.value</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","couriers",":courierID","services",":courierServiceID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"0fd6e759-d1a4-488d-ade3-ac9d2bb97567","type":"any","value":"","key":"courierID"},{"id":"59986460-1176-470f-a51d-7a219e8052c0","type":"any","value":"","key":"courierServiceID"}]}},"response":[],"_postman_id":"4cfdcb4e-897b-435f-b57f-fe51cc0e4b91"},{"name":"Couriers services delete","id":"e2a65718-40c3-45c6-9835-0cfd113d8bfa","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//couriers/:courierID/services/:courierServiceID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>courierID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>courierServiceID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","couriers",":courierID","services",":courierServiceID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"76de43d6-c946-4381-bc35-0318923c6204","type":"any","value":"","key":"courierID"},{"id":"43710cb7-d587-4e5d-9fc6-cd2c928cda01","type":"any","value":"","key":"courierServiceID"}]}},"response":[],"_postman_id":"e2a65718-40c3-45c6-9835-0cfd113d8bfa"},{"name":"Couriers specifics field list","id":"7632ce77-3c20-404d-92bb-6818ca98c7b7","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//couriers/services/:courierKey/specifics-fields","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>courierKey</code></td>\n<td>string</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>courier_service_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","couriers","services",":courierKey","specifics-fields"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"courier_service_id","value":""}],"variable":[{"id":"1ad7d8d1-427d-4f1a-ae90-8819d8ffb1c7","type":"any","value":"","key":"courierKey"}]}},"response":[],"_postman_id":"7632ce77-3c20-404d-92bb-6818ca98c7b7"},{"name":"Couriers specifics create","id":"863e4195-d8cb-47d6-97c2-eff554d68b07","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"courier_service_id\": \"{{courier_service_id}}\",\n  \"fields\": [\n    {\n      \"key\": \"key\",\n      \"value\": \"value\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//couriers/services/:courierServiceID/specifics-fields","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>courierServiceID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>courier_service_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>fields</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>fields.*.key</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>fields.*.value</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","couriers","services",":courierServiceID","specifics-fields"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"951569d2-f4a2-4497-95e0-05a471a0a0e9","type":"any","value":"","key":"courierServiceID"}]}},"response":[],"_postman_id":"863e4195-d8cb-47d6-97c2-eff554d68b07"},{"name":"Couriers specifics show","id":"b7c9969a-9a1f-4a20-a858-3e3c7a9562d9","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//couriers/services/:courierServiceID/specifics-field-detail","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>courierServiceID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","couriers","services",":courierServiceID","specifics-field-detail"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"22386e4e-c7d5-4b0b-b0fe-8488192d0aa0","type":"any","value":"","key":"courierServiceID"}]}},"response":[],"_postman_id":"b7c9969a-9a1f-4a20-a858-3e3c7a9562d9"},{"name":"Courier Log Details","id":"ac8ad841-f8c8-4a8c-9c27-9e01fc087b59","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//courier-logs/:request_id","description":"<p>Returns the indexed metadata, the full request and response payload as sent to and received from the courier, and the records the call belongs to.</p>\n<p>A request id that exists but is not a courier call returns 404, as does a payload that has passed its retention window.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","courier-logs",":request_id"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"2f8ff2e3-c945-40db-bb4a-b9f41be6c806","description":{"content":"<p>The log's <code>request_id</code> from the list endpoint.</p>\n","type":"text/plain"},"type":"any","value":"99f2d9ac-f002-446a-9b4b-5dd62a4eb69d","key":"request_id"}]}},"response":[{"id":"5db990e7-4ea5-4dad-82de-a4c3bb00105b","name":"The courier log.","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: bearer","key":"Authorization","value":"Bearer <token>"}],"url":{"raw":"https://app-api.helmwms.app/api/v2/companies/:company_id/courier-logs/:request_id","host":["https://app-api.helmwms.app/api/v2"],"path":["companies",":company_id","courier-logs",":request_id"],"variable":[{"key":"company_id","value":"2496","description":"The company the token belongs to."},{"key":"request_id","value":"8d6a7e9d-9931-12f2-1aa6-13b2192d3c44","description":"The log's `request_id` from the list endpoint."}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": {\n    \"meta\": {\n      \"request_id\": \"99f2d9ac-f002-446a-9b4b-5dd62a4eb69d\",\n      \"timestamp\": \"2026-07-30T08:35:09+00:00\",\n      \"action\": \"shipment.create\",\n      \"courier_key\": \"Test\",\n      \"courier_id\": 1,\n      \"courier_service_id\": 1,\n      \"status_code\": 200,\n      \"response_success\": true,\n      \"execution_time_ms\": 640,\n      \"user_id\": 1,\n      \"ip\": \"10.0.0.14\"\n    },\n    \"payload\": {\n      \"request_headers\": {},\n      \"request_body\": {\n        \"courier\": \"Test\",\n        \"shipment\": {\n          \"reference\": \"SH-900BDCE7\"\n        }\n      },\n      \"response_headers\": {},\n      \"response_body\": \"{\\\"tracking_codes\\\":[\\\"TEST123456\\\"]}\"\n    },\n    \"links\": {\n      \"shipment\": {\n        \"id\": 168,\n        \"reference\": \"SH-900BDCE7\",\n        \"status\": 1\n      },\n      \"order\": {\n        \"id\": 216,\n        \"order_number\": \"OR-4958B4AE\"\n      }\n    }\n  }\n}"},{"id":"d87e3771-bbdc-4077-b489-8cc7b4af6203","name":"Missing, expired or invalid token.","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/problem+json"},{"description":"Added as a part of security scheme: bearer","key":"Authorization","value":"Bearer <token>"}],"url":{"raw":"https://app-api.helmwms.app/api/v2/companies/:company_id/courier-logs/:request_id","host":["https://app-api.helmwms.app/api/v2"],"path":["companies",":company_id","courier-logs",":request_id"],"variable":[{"key":"company_id","value":"2496","description":"The company the token belongs to."},{"key":"request_id","value":"8d6a7e9d-9931-12f2-1aa6-13b2192d3c44","description":"The log's `request_id` from the list endpoint."}]}},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/problem+json"}],"cookie":[],"responseTime":null,"body":"{\n  \"type\": \"string\",\n  \"title\": \"string\",\n  \"status\": 2940,\n  \"detail\": \"string\"\n}"},{"id":"8a23e709-e95a-4af8-90c0-be7b32899c07","name":"The token's user may not read request logs.","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/problem+json"},{"description":"Added as a part of security scheme: bearer","key":"Authorization","value":"Bearer <token>"}],"url":{"raw":"https://app-api.helmwms.app/api/v2/companies/:company_id/courier-logs/:request_id","host":["https://app-api.helmwms.app/api/v2"],"path":["companies",":company_id","courier-logs",":request_id"],"variable":[{"key":"company_id","value":"2496","description":"The company the token belongs to."},{"key":"request_id","value":"8d6a7e9d-9931-12f2-1aa6-13b2192d3c44","description":"The log's `request_id` from the list endpoint."}]}},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/problem+json"}],"cookie":[],"responseTime":null,"body":"{\n  \"type\": \"string\",\n  \"title\": \"string\",\n  \"status\": 2940,\n  \"detail\": \"string\"\n}"},{"id":"3e70e572-9632-49f3-8a24-540a7550f624","name":"No courier log with that request id.","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/problem+json"},{"description":"Added as a part of security scheme: bearer","key":"Authorization","value":"Bearer <token>"}],"url":{"raw":"https://app-api.helmwms.app/api/v2/companies/:company_id/courier-logs/:request_id","host":["https://app-api.helmwms.app/api/v2"],"path":["companies",":company_id","courier-logs",":request_id"],"variable":[{"key":"company_id","value":"2496","description":"The company the token belongs to."},{"key":"request_id","value":"8d6a7e9d-9931-12f2-1aa6-13b2192d3c44","description":"The log's `request_id` from the list endpoint."}]}},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/problem+json"}],"cookie":[],"responseTime":null,"body":"{\n  \"type\": \"string\",\n  \"title\": \"string\",\n  \"status\": 2940,\n  \"detail\": \"string\"\n}"},{"id":"4739ade1-71c9-470f-bceb-9fe1fd07f9b3","name":"Rate limit exceeded.","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/problem+json"},{"description":"Added as a part of security scheme: bearer","key":"Authorization","value":"Bearer <token>"}],"url":{"raw":"https://app-api.helmwms.app/api/v2/companies/:company_id/courier-logs/:request_id","host":["https://app-api.helmwms.app/api/v2"],"path":["companies",":company_id","courier-logs",":request_id"],"variable":[{"key":"company_id","value":"2496","description":"The company the token belongs to."},{"key":"request_id","value":"8d6a7e9d-9931-12f2-1aa6-13b2192d3c44","description":"The log's `request_id` from the list endpoint."}]}},"status":"Too Many Requests","code":429,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/problem+json"}],"cookie":[],"responseTime":null,"body":"{\n  \"type\": \"string\",\n  \"title\": \"string\",\n  \"status\": 2940,\n  \"detail\": \"string\"\n}"}],"_postman_id":"ac8ad841-f8c8-4a8c-9c27-9e01fc087b59"},{"name":"List courier logs","id":"daf79466-0a6a-4845-be75-551160268787","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//courier-logs","description":"<p>Returns courier calls newest first. Results are cursor paginated: pass the <code>meta.next_cursor</code> value from the previous response as <code>cursor</code> to fetch the next page. A <code>null</code> cursor means there are no further pages.</p>\n<p>All filters are optional and combine with AND. Multi-value filters accept a repeated query parameter (<code>?action[]=a&amp;action[]=b</code>) or a single value.</p>\n<p><code>order_number</code> and <code>shipment_reference</code> are matched exactly and resolved to the ids stored on the log; a value that matches no record returns an empty list rather than an unfiltered one.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","courier-logs"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"description":{"content":"<p>Courier action to include.</p>\n","type":"text/plain"},"key":"action[]","value":"shipment.create"},{"disabled":true,"description":{"content":"<p>Courier key, e.g. <code>RoyalMail</code>.</p>\n","type":"text/plain"},"key":"courier_key[]","value":"string"},{"disabled":true,"description":{"content":"<p>Courier key, e.g. <code>RoyalMail</code>.</p>\n","type":"text/plain"},"key":"courier_key[]","value":"string"},{"disabled":true,"description":{"content":"<p>Courier record id.</p>\n","type":"text/plain"},"key":"courier_id[]","value":"5661"},{"disabled":true,"description":{"content":"<p>Courier record id.</p>\n","type":"text/plain"},"key":"courier_id[]","value":"3575"},{"disabled":true,"description":{"content":"<p>Courier service id.</p>\n","type":"text/plain"},"key":"courier_service_id[]","value":"5661"},{"disabled":true,"description":{"content":"<p>Courier service id.</p>\n","type":"text/plain"},"key":"courier_service_id[]","value":"3575"},{"disabled":true,"description":{"content":"<p>Order id, when known. Prefer <code>order_number[]</code> for human input.</p>\n","type":"text/plain"},"key":"order_id[]","value":"5661"},{"disabled":true,"description":{"content":"<p>Order id, when known. Prefer <code>order_number[]</code> for human input.</p>\n","type":"text/plain"},"key":"order_id[]","value":"3575"},{"disabled":true,"description":{"content":"<p>Order number, matched exactly.</p>\n","type":"text/plain"},"key":"order_number[]","value":"OR-4958B4AE"},{"disabled":true,"description":{"content":"<p>Shipment id, when known. Prefer <code>shipment_reference[]</code> for human input.</p>\n","type":"text/plain"},"key":"shipment_id[]","value":"5661"},{"disabled":true,"description":{"content":"<p>Shipment id, when known. Prefer <code>shipment_reference[]</code> for human input.</p>\n","type":"text/plain"},"key":"shipment_id[]","value":"3575"},{"disabled":true,"description":{"content":"<p>Shipment reference, matched exactly.</p>\n","type":"text/plain"},"key":"shipment_reference[]","value":"SH-900BDCE7"},{"disabled":true,"description":{"content":"<p>Batch shipment id. Batch calls cover many orders, so they carry a batch id instead of an order.</p>\n","type":"text/plain"},"key":"batch_id","value":"2496"},{"disabled":true,"description":{"content":"<p>User who triggered the call. Absent for system-triggered calls such as label pre-generation.</p>\n","type":"text/plain"},"key":"user_id[]","value":"5661"},{"disabled":true,"description":{"content":"<p>User who triggered the call. Absent for system-triggered calls such as label pre-generation.</p>\n","type":"text/plain"},"key":"user_id[]","value":"3575"},{"disabled":true,"description":{"content":"<p><code>true</code> returns successful calls only, <code>false</code> returns failed attempts only.</p>\n","type":"text/plain"},"key":"response_success","value":"false"},{"disabled":true,"description":{"content":"<p>Start of the time range. Defaults to 30 days ago.</p>\n","type":"text/plain"},"key":"date_start","value":"1995-08-02T07:47:17.544Z"},{"disabled":true,"description":{"content":"<p>End of the time range. Must not be earlier than <code>date_start</code>.</p>\n","type":"text/plain"},"key":"date_end","value":"1995-08-02T07:47:17.544Z"},{"disabled":true,"key":"sort_by","value":"timestamp"},{"disabled":true,"key":"sort_direction","value":"desc"},{"disabled":true,"description":{"content":"<p>Cursor from the previous response's <code>meta.next_cursor</code>.</p>\n","type":"text/plain"},"key":"cursor","value":"string"},{"disabled":true,"description":{"content":"<p>Free-text search over order number, shipment reference, courier name and action label. Partial and case-insensitive.</p>\n","type":"text/plain"},"key":"query","value":"SH-900BDCE7"},{"disabled":true,"description":{"content":"<p>Items per page. Default 20, maximum 250.</p>\n","type":"text/plain"},"key":"per_page","value":"50"},{"disabled":true,"description":{"content":"<p>timestamp, status_code, route_name, courier_key, user_id</p>\n","type":"text/plain"},"key":"sort_by","value":"timestamp"}],"variable":[]}},"response":[{"id":"95a44ba4-3a04-4482-8629-fa88c029040b","name":"A page of courier logs.","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"description":"Added as a part of security scheme: bearer","key":"Authorization","value":"Bearer <token>"}],"url":{"raw":"https://app-api.helmwms.app/api/v2/companies/:company_id/courier-logs?action[]=shipment.create&courier_key[]=string&courier_id[]=3575&courier_service_id[]=3575&order_id[]=3575&order_number[]=OR-4958B4AE&shipment_id[]=3575&shipment_reference[]=SH-900BDCE7&batch_id=2496&user_id[]=3575&response_success=false&date_start=1995-08-02T07:47:17.544Z&date_end=1995-08-02T07:47:17.544Z&sort_by=timestamp&sort_direction=desc&cursor=string","host":["https://app-api.helmwms.app/api/v2"],"path":["companies",":company_id","courier-logs"],"query":[{"description":"Courier action to include.","key":"action[]","value":"shipment.create"},{"description":"Courier key, e.g. `RoyalMail`.","key":"courier_key[]","value":"string"},{"description":"Courier record id.","key":"courier_id[]","value":"3575"},{"description":"Courier service id.","key":"courier_service_id[]","value":"3575"},{"description":"Order id, when known. Prefer `order_number[]` for human input.","key":"order_id[]","value":"3575"},{"description":"Order number, matched exactly.","key":"order_number[]","value":"OR-4958B4AE"},{"description":"Shipment id, when known. Prefer `shipment_reference[]` for human input.","key":"shipment_id[]","value":"3575"},{"description":"Shipment reference, matched exactly.","key":"shipment_reference[]","value":"SH-900BDCE7"},{"description":"Batch shipment id. Batch calls cover many orders, so they carry a batch id instead of an order.","key":"batch_id","value":"2496"},{"description":"User who triggered the call. Absent for system-triggered calls such as label pre-generation.","key":"user_id[]","value":"3575"},{"description":"`true` returns successful calls only, `false` returns failed attempts only.","key":"response_success","value":"false"},{"description":"Start of the time range. Defaults to 30 days ago.","key":"date_start","value":"1995-08-02T07:47:17.544Z"},{"description":"End of the time range. Must not be earlier than `date_start`.","key":"date_end","value":"1995-08-02T07:47:17.544Z"},{"key":"sort_by","value":"timestamp"},{"key":"sort_direction","value":"desc"},{"description":"Cursor from the previous response's `meta.next_cursor`.","key":"cursor","value":"string"}],"variable":[{"key":"company_id","value":"2496","description":"The company the token belongs to."}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": [\n    {\n      \"request_id\": \"6054047d-7f30-48ed-b870-a9c5c826e729\",\n      \"timestamp\": \"2026-07-30T08:33:39+00:00\",\n      \"action\": \"shipment.create\",\n      \"courier_key\": \"RoyalMail\",\n      \"courier_id\": 2,\n      \"courier_service\": {\n        \"id\": 4,\n        \"name\": \"Royal Mail 24 Parcel\"\n      },\n      \"status_code\": 401,\n      \"response_success\": false,\n      \"execution_time_ms\": 812,\n      \"user_id\": 1,\n      \"order\": {\n        \"id\": 216,\n        \"order_number\": \"OR-4958B4AE\"\n      },\n      \"shipment\": null,\n      \"batch_id\": null\n    },\n    {\n      \"request_id\": \"99f2d9ac-f002-446a-9b4b-5dd62a4eb69d\",\n      \"timestamp\": \"2026-07-30T08:35:09+00:00\",\n      \"action\": \"shipment.create\",\n      \"courier_key\": \"Test\",\n      \"courier_id\": 1,\n      \"courier_service\": {\n        \"id\": 1,\n        \"name\": \"Test Label\"\n      },\n      \"status_code\": 200,\n      \"response_success\": true,\n      \"execution_time_ms\": 640,\n      \"user_id\": 1,\n      \"order\": {\n        \"id\": 216,\n        \"order_number\": \"OR-4958B4AE\"\n      },\n      \"shipment\": {\n        \"id\": 168,\n        \"reference\": \"SH-900BDCE7\"\n      },\n      \"batch_id\": null\n    }\n  ],\n  \"meta\": {\n    \"next_cursor\": \"WzE3NTM4NjQxMzkwMDAsIjYwNTQwNDdkIl0=\"\n  }\n}"},{"id":"85a47d85-b15a-4fa6-82e5-e005d25b996e","name":"Missing, expired or invalid token.","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/problem+json"},{"description":"Added as a part of security scheme: bearer","key":"Authorization","value":"Bearer <token>"}],"url":{"raw":"https://app-api.helmwms.app/api/v2/companies/:company_id/courier-logs?action[]=shipment.create&courier_key[]=string&courier_id[]=3575&courier_service_id[]=3575&order_id[]=3575&order_number[]=OR-4958B4AE&shipment_id[]=3575&shipment_reference[]=SH-900BDCE7&batch_id=2496&user_id[]=3575&response_success=false&date_start=1995-08-02T07:47:17.544Z&date_end=1995-08-02T07:47:17.544Z&sort_by=timestamp&sort_direction=desc&cursor=string","host":["https://app-api.helmwms.app/api/v2"],"path":["companies",":company_id","courier-logs"],"query":[{"description":"Courier action to include.","key":"action[]","value":"shipment.create"},{"description":"Courier key, e.g. `RoyalMail`.","key":"courier_key[]","value":"string"},{"description":"Courier record id.","key":"courier_id[]","value":"3575"},{"description":"Courier service id.","key":"courier_service_id[]","value":"3575"},{"description":"Order id, when known. Prefer `order_number[]` for human input.","key":"order_id[]","value":"3575"},{"description":"Order number, matched exactly.","key":"order_number[]","value":"OR-4958B4AE"},{"description":"Shipment id, when known. Prefer `shipment_reference[]` for human input.","key":"shipment_id[]","value":"3575"},{"description":"Shipment reference, matched exactly.","key":"shipment_reference[]","value":"SH-900BDCE7"},{"description":"Batch shipment id. Batch calls cover many orders, so they carry a batch id instead of an order.","key":"batch_id","value":"2496"},{"description":"User who triggered the call. Absent for system-triggered calls such as label pre-generation.","key":"user_id[]","value":"3575"},{"description":"`true` returns successful calls only, `false` returns failed attempts only.","key":"response_success","value":"false"},{"description":"Start of the time range. Defaults to 30 days ago.","key":"date_start","value":"1995-08-02T07:47:17.544Z"},{"description":"End of the time range. Must not be earlier than `date_start`.","key":"date_end","value":"1995-08-02T07:47:17.544Z"},{"key":"sort_by","value":"timestamp"},{"key":"sort_direction","value":"desc"},{"description":"Cursor from the previous response's `meta.next_cursor`.","key":"cursor","value":"string"}],"variable":[{"key":"company_id","value":"2496","description":"The company the token belongs to."}]}},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/problem+json"}],"cookie":[],"responseTime":null,"body":"{\n  \"type\": \"string\",\n  \"title\": \"string\",\n  \"status\": 2940,\n  \"detail\": \"string\"\n}"},{"id":"33a4ec66-4454-44ac-8ad4-eb7eaf79a333","name":"The token's user may not read request logs.","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/problem+json"},{"description":"Added as a part of security scheme: bearer","key":"Authorization","value":"Bearer <token>"}],"url":{"raw":"https://app-api.helmwms.app/api/v2/companies/:company_id/courier-logs?action[]=shipment.create&courier_key[]=string&courier_id[]=3575&courier_service_id[]=3575&order_id[]=3575&order_number[]=OR-4958B4AE&shipment_id[]=3575&shipment_reference[]=SH-900BDCE7&batch_id=2496&user_id[]=3575&response_success=false&date_start=1995-08-02T07:47:17.544Z&date_end=1995-08-02T07:47:17.544Z&sort_by=timestamp&sort_direction=desc&cursor=string","host":["https://app-api.helmwms.app/api/v2"],"path":["companies",":company_id","courier-logs"],"query":[{"description":"Courier action to include.","key":"action[]","value":"shipment.create"},{"description":"Courier key, e.g. `RoyalMail`.","key":"courier_key[]","value":"string"},{"description":"Courier record id.","key":"courier_id[]","value":"3575"},{"description":"Courier service id.","key":"courier_service_id[]","value":"3575"},{"description":"Order id, when known. Prefer `order_number[]` for human input.","key":"order_id[]","value":"3575"},{"description":"Order number, matched exactly.","key":"order_number[]","value":"OR-4958B4AE"},{"description":"Shipment id, when known. Prefer `shipment_reference[]` for human input.","key":"shipment_id[]","value":"3575"},{"description":"Shipment reference, matched exactly.","key":"shipment_reference[]","value":"SH-900BDCE7"},{"description":"Batch shipment id. Batch calls cover many orders, so they carry a batch id instead of an order.","key":"batch_id","value":"2496"},{"description":"User who triggered the call. Absent for system-triggered calls such as label pre-generation.","key":"user_id[]","value":"3575"},{"description":"`true` returns successful calls only, `false` returns failed attempts only.","key":"response_success","value":"false"},{"description":"Start of the time range. Defaults to 30 days ago.","key":"date_start","value":"1995-08-02T07:47:17.544Z"},{"description":"End of the time range. Must not be earlier than `date_start`.","key":"date_end","value":"1995-08-02T07:47:17.544Z"},{"key":"sort_by","value":"timestamp"},{"key":"sort_direction","value":"desc"},{"description":"Cursor from the previous response's `meta.next_cursor`.","key":"cursor","value":"string"}],"variable":[{"key":"company_id","value":"2496","description":"The company the token belongs to."}]}},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/problem+json"}],"cookie":[],"responseTime":null,"body":"{\n  \"type\": \"string\",\n  \"title\": \"string\",\n  \"status\": 2940,\n  \"detail\": \"string\"\n}"},{"id":"ac25183e-b56d-4e44-8cf7-57345341bc34","name":"One or more query parameters are invalid.","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/problem+json"},{"description":"Added as a part of security scheme: bearer","key":"Authorization","value":"Bearer <token>"}],"url":{"raw":"https://app-api.helmwms.app/api/v2/companies/:company_id/courier-logs?action[]=shipment.create&courier_key[]=string&courier_id[]=3575&courier_service_id[]=3575&order_id[]=3575&order_number[]=OR-4958B4AE&shipment_id[]=3575&shipment_reference[]=SH-900BDCE7&batch_id=2496&user_id[]=3575&response_success=false&date_start=1995-08-02T07:47:17.544Z&date_end=1995-08-02T07:47:17.544Z&sort_by=timestamp&sort_direction=desc&cursor=string","host":["https://app-api.helmwms.app/api/v2"],"path":["companies",":company_id","courier-logs"],"query":[{"description":"Courier action to include.","key":"action[]","value":"shipment.create"},{"description":"Courier key, e.g. `RoyalMail`.","key":"courier_key[]","value":"string"},{"description":"Courier record id.","key":"courier_id[]","value":"3575"},{"description":"Courier service id.","key":"courier_service_id[]","value":"3575"},{"description":"Order id, when known. Prefer `order_number[]` for human input.","key":"order_id[]","value":"3575"},{"description":"Order number, matched exactly.","key":"order_number[]","value":"OR-4958B4AE"},{"description":"Shipment id, when known. Prefer `shipment_reference[]` for human input.","key":"shipment_id[]","value":"3575"},{"description":"Shipment reference, matched exactly.","key":"shipment_reference[]","value":"SH-900BDCE7"},{"description":"Batch shipment id. Batch calls cover many orders, so they carry a batch id instead of an order.","key":"batch_id","value":"2496"},{"description":"User who triggered the call. Absent for system-triggered calls such as label pre-generation.","key":"user_id[]","value":"3575"},{"description":"`true` returns successful calls only, `false` returns failed attempts only.","key":"response_success","value":"false"},{"description":"Start of the time range. Defaults to 30 days ago.","key":"date_start","value":"1995-08-02T07:47:17.544Z"},{"description":"End of the time range. Must not be earlier than `date_start`.","key":"date_end","value":"1995-08-02T07:47:17.544Z"},{"key":"sort_by","value":"timestamp"},{"key":"sort_direction","value":"desc"},{"description":"Cursor from the previous response's `meta.next_cursor`.","key":"cursor","value":"string"}],"variable":[{"key":"company_id","value":"2496","description":"The company the token belongs to."}]}},"status":"Unprocessable Entity (WebDAV) (RFC 4918)","code":422,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/problem+json"}],"cookie":[],"responseTime":null,"body":"{\n  \"type\": \"string\",\n  \"title\": \"string\",\n  \"status\": 2940,\n  \"detail\": \"string\"\n}"},{"id":"63f95c05-2a4a-48d0-af44-c0b65e15ae4a","name":"Rate limit exceeded.","originalRequest":{"method":"GET","header":[{"key":"Accept","value":"application/problem+json"},{"description":"Added as a part of security scheme: bearer","key":"Authorization","value":"Bearer <token>"}],"url":{"raw":"https://app-api.helmwms.app/api/v2/companies/:company_id/courier-logs?action[]=shipment.create&courier_key[]=string&courier_id[]=3575&courier_service_id[]=3575&order_id[]=3575&order_number[]=OR-4958B4AE&shipment_id[]=3575&shipment_reference[]=SH-900BDCE7&batch_id=2496&user_id[]=3575&response_success=false&date_start=1995-08-02T07:47:17.544Z&date_end=1995-08-02T07:47:17.544Z&sort_by=timestamp&sort_direction=desc&cursor=string","host":["https://app-api.helmwms.app/api/v2"],"path":["companies",":company_id","courier-logs"],"query":[{"description":"Courier action to include.","key":"action[]","value":"shipment.create"},{"description":"Courier key, e.g. `RoyalMail`.","key":"courier_key[]","value":"string"},{"description":"Courier record id.","key":"courier_id[]","value":"3575"},{"description":"Courier service id.","key":"courier_service_id[]","value":"3575"},{"description":"Order id, when known. Prefer `order_number[]` for human input.","key":"order_id[]","value":"3575"},{"description":"Order number, matched exactly.","key":"order_number[]","value":"OR-4958B4AE"},{"description":"Shipment id, when known. Prefer `shipment_reference[]` for human input.","key":"shipment_id[]","value":"3575"},{"description":"Shipment reference, matched exactly.","key":"shipment_reference[]","value":"SH-900BDCE7"},{"description":"Batch shipment id. Batch calls cover many orders, so they carry a batch id instead of an order.","key":"batch_id","value":"2496"},{"description":"User who triggered the call. Absent for system-triggered calls such as label pre-generation.","key":"user_id[]","value":"3575"},{"description":"`true` returns successful calls only, `false` returns failed attempts only.","key":"response_success","value":"false"},{"description":"Start of the time range. Defaults to 30 days ago.","key":"date_start","value":"1995-08-02T07:47:17.544Z"},{"description":"End of the time range. Must not be earlier than `date_start`.","key":"date_end","value":"1995-08-02T07:47:17.544Z"},{"key":"sort_by","value":"timestamp"},{"key":"sort_direction","value":"desc"},{"description":"Cursor from the previous response's `meta.next_cursor`.","key":"cursor","value":"string"}],"variable":[{"key":"company_id","value":"2496","description":"The company the token belongs to."}]}},"status":"Too Many Requests","code":429,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/problem+json"}],"cookie":[],"responseTime":null,"body":"{\n  \"type\": \"string\",\n  \"title\": \"string\",\n  \"status\": 2940,\n  \"detail\": \"string\"\n}"}],"_postman_id":"daf79466-0a6a-4845-be75-551160268787"}],"id":"0eaaf338-8040-4d66-a0be-c6503931b2f9","description":"<p><strong>Couriers</strong> — 28 endpoints.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"0eaaf338-8040-4d66-a0be-c6503931b2f9","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Currencies","item":[{"name":"Company currencies list","id":"b6d1bef9-ef58-49e9-91f5-7f38a0724e36","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//company-currencies","description":"<p>The currencies this company has enabled. Send a <code>currency_id</code> from here\nwherever a field is validated against the company's currencies - supplier\n<code>settings.currency_id</code> is the common one. These are the same identifiers as\nthe global currency list returns, restricted to the ones this company\naccepts, so an id that is valid globally is not necessarily valid here.</p>\n<p>Not every currency field is scoped this way: the order, shipping and\ndespatch-target rule builders validate against the global list instead, and\naccept any currency.</p>\n<p><code>rate</code> is rebased against this company's base currency, the row whose\n<code>is_base</code> is true. That makes the base row's own rate 1, unless it carries a\nfixed or formula rate of its own.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","company-currencies"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""}],"variable":[]}},"response":[],"_postman_id":"b6d1bef9-ef58-49e9-91f5-7f38a0724e36"},{"name":"Currencies list","id":"aca75835-d4a0-4844-a837-4e6c21b7ce88","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//currencies","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>base</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>Filter by Name.</td>\n</tr>\n<tr>\n<td><code>code</code></td>\n<td>Filter by Code.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","currencies"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"base","value":""},{"disabled":true,"description":{"content":"<p>Filter by Name.</p>\n","type":"text/plain"},"key":"name","value":""},{"disabled":true,"description":{"content":"<p>Filter by Code.</p>\n","type":"text/plain"},"key":"code","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""}],"variable":[]}},"response":[],"_postman_id":"aca75835-d4a0-4844-a837-4e6c21b7ce88"},{"name":"Display the specified currency with its base-rebased rate","id":"47b88331-3fd0-462e-8584-735164e7170b","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//currencies/:currencyID","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>currencyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>base</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","currencies",":currencyID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"key":"base","value":""}],"variable":[{"id":"9ef5ec28-0c77-4482-84f9-5dc96b3d8409","type":"any","value":"","key":"currencyID"}]}},"response":[],"_postman_id":"47b88331-3fd0-462e-8584-735164e7170b"}],"id":"fcd92f6d-8a59-43cd-ba9c-d04ebe98ae1a","description":"<p><strong>Currencies</strong> — 3 endpoints.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"fcd92f6d-8a59-43cd-ba9c-d04ebe98ae1a","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Custom Fields","item":[{"name":"Custom fields types","id":"ae862444-2aac-49b9-9838-e48c484bfa72","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//custom-fields/types","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","custom-fields","types"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"ae862444-2aac-49b9-9838-e48c484bfa72"},{"name":"Custom fields list","id":"3096064b-0ed4-465c-8e6f-6786449fc9f7","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//custom-fields","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>filter[query]</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>filter[search]</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>filter[custom_field_type_id]</code></td>\n<td>Options: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code></td>\n</tr>\n<tr>\n<td><code>filter[custom_field_group_type_id]</code></td>\n<td>Options: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code></td>\n</tr>\n<tr>\n<td><code>query</code></td>\n<td>Filter by Query.</td>\n</tr>\n<tr>\n<td><code>search</code></td>\n<td>Filter by Search.</td>\n</tr>\n<tr>\n<td><code>custom_field_type_id</code></td>\n<td>Filter by Custom Field Type Id.</td>\n</tr>\n<tr>\n<td><code>custom_field_group_type_id</code></td>\n<td>Filter by Custom Field Group Type Id.</td>\n</tr>\n<tr>\n<td><code>inventory_id</code></td>\n<td>Filter by Inventory Id.</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>Filter by Order Id.</td>\n</tr>\n<tr>\n<td><code>customer_id</code></td>\n<td>Filter by Customer Id.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","custom-fields"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"key":"filter[query]","value":""},{"disabled":true,"key":"filter[search]","value":""},{"disabled":true,"key":"filter[custom_field_type_id]","value":""},{"disabled":true,"key":"filter[custom_field_group_type_id]","value":""},{"disabled":true,"description":{"content":"<p>Filter by Query.</p>\n","type":"text/plain"},"key":"query","value":""},{"disabled":true,"description":{"content":"<p>Filter by Search.</p>\n","type":"text/plain"},"key":"search","value":""},{"disabled":true,"description":{"content":"<p>Filter by Custom Field Type Id.</p>\n","type":"text/plain"},"key":"custom_field_type_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Custom Field Group Type Id.</p>\n","type":"text/plain"},"key":"custom_field_group_type_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Inventory Id.</p>\n","type":"text/plain"},"key":"inventory_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Order Id.</p>\n","type":"text/plain"},"key":"order_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Customer Id.</p>\n","type":"text/plain"},"key":"customer_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""}],"variable":[]}},"response":[],"_postman_id":"3096064b-0ed4-465c-8e6f-6786449fc9f7"},{"name":"Custom fields create","id":"b6d510f4-b144-45a6-9b41-ce910b78ea51","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"custom_field_type_id\": \"1\",\n  \"custom_field_group_type_id\": \"1\",\n  \"name\": \"name\",\n  \"options\": [\n    {\n      \"name\": \"\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//custom-fields","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>custom_field_type_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code></td>\n</tr>\n<tr>\n<td><code>custom_field_group_type_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td><strong>CustomFieldGroupTypes</strong> values: - <code>1</code> = INVENTORY - <code>2</code> = ORDERS - <code>3</code> = PURCHASE_ORDERS - <code>4</code> = CUSTOMER - <code>5</code> = SUPPLIERS Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code></td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>options</code></td>\n<td>array</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>options.*.name</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","custom-fields"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"b6d510f4-b144-45a6-9b41-ce910b78ea51"},{"name":"Custom fields update","id":"fa3689cf-55b5-47f9-9e0a-89d38b5674f5","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"custom_field_id\": \"{{custom_field_id}}\",\n  \"custom_field_type_id\": \"1\",\n  \"name\": \"name\",\n  \"options\": [\n    {\n      \"option_id\": \"{{option_id}}\",\n      \"name\": \"\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//custom-fields/:customFieldID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>customFieldID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>custom_field_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>Route-injected (validationData()) so the reused CustomFieldService::update receives it via validated(). Intentionally NOT a company-scoped Rule::exists: ownership is gated by the controller's pre-resolve abort_if(404), keeping a cross-tenant id a canonical 404 (not a 422). See class docblock (BOLA).</td>\n</tr>\n<tr>\n<td><code>custom_field_type_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code></td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>options</code></td>\n<td>array</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>options.*.option_id</code></td>\n<td>integer</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>options.*.name</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","custom-fields",":customFieldID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"e300cbfd-1ce9-4268-a3bc-838387c9e214","type":"any","value":"","key":"customFieldID"}]}},"response":[],"_postman_id":"fa3689cf-55b5-47f9-9e0a-89d38b5674f5"},{"name":"Custom fields relations list","id":"b8fec83d-e0ca-4b01-aef4-3eb289fcd000","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//custom-fields/relations/:relationID/:customFieldGroupTypeID?company_id=&custom_field_group_type_id=","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>relationID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>customFieldGroupTypeID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>custom_field_group_type_id</code></td>\n<td>Options: <code>1</code>, <code>2</code>, <code>4</code>, <code>5</code></td>\n</tr>\n<tr>\n<td><code>relation_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","custom-fields","relations",":relationID",":customFieldGroupTypeID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"custom_field_group_type_id","value":""},{"disabled":true,"key":"relation_id","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""}],"variable":[{"id":"2773050f-71f9-4ee0-b2e0-c658f47c33b4","type":"any","value":"","key":"relationID"},{"id":"7065485f-c331-4da6-85e7-69a9d8501430","type":"any","value":"","key":"customFieldGroupTypeID"}]}},"response":[],"_postman_id":"b8fec83d-e0ca-4b01-aef4-3eb289fcd000"},{"name":"Custom fields relations bulk update","id":"a1353802-dcae-4c67-bb62-6eb05fea7ba2","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"custom_field_group_type_id\": \"1\",\n  \"relation_id\": \"{{relation_id}}\",\n  \"fields\": [\n    \"\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//custom-fields/relations/:relationID/bulk-update","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>relationID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>custom_field_group_type_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td><strong>CustomFieldGroupTypes</strong> values: - <code>1</code> = INVENTORY - <code>2</code> = ORDERS - <code>4</code> = CUSTOMER - <code>5</code> = SUPPLIERS Allowed: <code>1</code>, <code>2</code>, <code>4</code>, <code>5</code></td>\n</tr>\n<tr>\n<td><code>relation_id</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>fields</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","custom-fields","relations",":relationID","bulk-update"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"21bbb204-13c4-405b-8594-8a052ea6c2f2","type":"any","value":"","key":"relationID"}]}},"response":[],"_postman_id":"a1353802-dcae-4c67-bb62-6eb05fea7ba2"},{"name":"Custom fields relations bulk delete","id":"6395f1fa-7e76-4d8a-878b-e28af01ded50","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//custom-fields/relations/:relationID/bulk-delete?company_id=&custom_field_group_type_id=&all=","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>relationID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>custom_field_group_type_id</code></td>\n<td>Options: <code>1</code>, <code>2</code>, <code>4</code>, <code>5</code></td>\n</tr>\n<tr>\n<td><code>relation_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>all</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","custom-fields","relations",":relationID","bulk-delete"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"custom_field_group_type_id","value":""},{"disabled":true,"key":"relation_id","value":""},{"key":"all","value":""}],"variable":[{"id":"d14531bf-27cb-4080-a51a-c61968ade2a8","type":"any","value":"","key":"relationID"}]}},"response":[],"_postman_id":"6395f1fa-7e76-4d8a-878b-e28af01ded50"},{"name":"Custom fields relations create","id":"6190e2d8-760b-4830-ac5f-fdb9459941fc","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"custom_field_group_type_id\": \"1\",\n  \"relation_id\": \"{{relation_id}}\",\n  \"custom_field_type_id\": \"1\",\n  \"custom_field_id\": \"{{custom_field_id}}\",\n  \"value\": false,\n  \"custom_field_option_id\": \"{{custom_field_option_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//custom-fields/relations/:relationID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>relationID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>custom_field_group_type_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td><strong>CustomFieldGroupTypes</strong> values: - <code>1</code> = INVENTORY - <code>2</code> = ORDERS - <code>4</code> = CUSTOMER - <code>5</code> = SUPPLIERS Allowed: <code>1</code>, <code>2</code>, <code>4</code>, <code>5</code></td>\n</tr>\n<tr>\n<td><code>relation_id</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>custom_field_type_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code></td>\n</tr>\n<tr>\n<td><code>custom_field_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>value</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>custom_field_option_id</code></td>\n<td>integer</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","custom-fields","relations",":relationID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"1635e13f-f318-4222-b6ad-5cba96875808","type":"any","value":"","key":"relationID"}]}},"response":[],"_postman_id":"6190e2d8-760b-4830-ac5f-fdb9459941fc"},{"name":"Custom fields relations delete","id":"2f819c9b-b52f-41ef-8198-26024072f88c","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//custom-fields/relations/:relationID?company_id=&custom_field_group_type_id=&custom_field_value_id=","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>relationID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>custom_field_group_type_id</code></td>\n<td>Options: <code>1</code>, <code>2</code>, <code>4</code>, <code>5</code></td>\n</tr>\n<tr>\n<td><code>relation_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>custom_field_value_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","custom-fields","relations",":relationID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"custom_field_group_type_id","value":""},{"disabled":true,"key":"relation_id","value":""},{"key":"custom_field_value_id","value":""}],"variable":[{"id":"e94f926a-968a-453c-a1fe-7e29728b575d","type":"any","value":"","key":"relationID"}]}},"response":[],"_postman_id":"2f819c9b-b52f-41ef-8198-26024072f88c"}],"id":"b764a5a7-49fd-49a4-8f32-bde38501786b","description":"<p><strong>Custom Fields</strong> — 9 endpoints.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"b764a5a7-49fd-49a4-8f32-bde38501786b","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Customers","item":[{"name":"Customers types","id":"d95a7871-3e3f-4352-b314-6b40d3c80ac1","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//customers/types","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","customers","types"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"description":{"content":"<p>NOTE: filters are FLAT query params named after the filter method (e.g. ?ids=1,2&amp;store_id=5), resolved by App\\Filters\\QueryFilters against top-level request keys — there is NO nested filter[...] contract at runtime, so none is declared/documented here.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"key":"sort_direction","value":""},{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"key":"page","value":""},{"disabled":true,"key":"per_page","value":""}],"variable":[]}},"response":[],"_postman_id":"d95a7871-3e3f-4352-b314-6b40d3c80ac1"},{"name":"Customers bulk create","id":"4c5f97d7-ffac-4590-bcff-278e60f3713f","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"customers\": [\n    {\n      \"type\": \"1\",\n      \"name\": \"name\",\n      \"surname\": \"\",\n      \"phone\": \"\",\n      \"tags\": [\n        \"\"\n      ],\n      \"file_manager_id\": \"{{file_manager_id}}\",\n      \"addresses\": [\n        {\n          \"company_name\": \"\",\n          \"name\": \"\",\n          \"surname\": \"\",\n          \"phone\": \"\",\n          \"email\": \"user@example.com\",\n          \"address_line_1\": \"address_line_1\",\n          \"address_line_2\": \"\",\n          \"address_line_3\": \"\",\n          \"city\": \"city\",\n          \"county\": \"\",\n          \"country_id\": \"{{country_id}}\",\n          \"postcode\": \"\",\n          \"vat_number\": \"\",\n          \"eori\": \"\"\n        }\n      ]\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//customers/bulk-create","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customers</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customers.*.type</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code></td>\n</tr>\n<tr>\n<td><code>customers.*.name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customers.*.surname</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customers.*.phone</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customers.*.tags</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customers.*.file_manager_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customers.*.addresses</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customers.*.addresses.*.company_name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customers.*.addresses.*.name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customers.*.addresses.*.surname</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customers.*.addresses.*.phone</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customers.*.addresses.*.email</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customers.*.addresses.*.address_line_1</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customers.*.addresses.*.address_line_2</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customers.*.addresses.*.address_line_3</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customers.*.addresses.*.city</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customers.*.addresses.*.county</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customers.*.addresses.*.country_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customers.*.addresses.*.postcode</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customers.*.addresses.*.vat_number</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customers.*.addresses.*.eori</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","customers","bulk-create"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"4c5f97d7-ffac-4590-bcff-278e60f3713f"},{"name":"Customers bulk update","id":"8e76cfda-d667-4083-ae3f-81140236223c","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"customers\": [\n    {\n      \"customer_id\": \"{{customer_id}}\",\n      \"type\": \"1\",\n      \"name\": \"name\",\n      \"surname\": \"\",\n      \"phone\": \"\",\n      \"tags\": [\n        \"\"\n      ],\n      \"addresses\": [\n        {\n          \"company_name\": \"\",\n          \"name\": \"\",\n          \"surname\": \"\",\n          \"phone\": \"\",\n          \"email\": \"user@example.com\",\n          \"address_line_1\": \"address_line_1\",\n          \"address_line_2\": \"\",\n          \"address_line_3\": \"\",\n          \"city\": \"city\",\n          \"county\": \"\",\n          \"country_id\": \"{{country_id}}\",\n          \"postcode\": \"\",\n          \"vat_number\": \"\",\n          \"eori\": \"\"\n        }\n      ]\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//customers/bulk-update","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customers</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customers.*.customer_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customers.*.type</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code></td>\n</tr>\n<tr>\n<td><code>customers.*.name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customers.*.surname</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customers.*.phone</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customers.*.tags</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customers.*.addresses</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customers.*.addresses.*.company_name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customers.*.addresses.*.name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customers.*.addresses.*.surname</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customers.*.addresses.*.phone</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customers.*.addresses.*.email</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customers.*.addresses.*.address_line_1</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customers.*.addresses.*.address_line_2</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customers.*.addresses.*.address_line_3</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customers.*.addresses.*.city</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customers.*.addresses.*.county</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customers.*.addresses.*.country_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customers.*.addresses.*.postcode</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customers.*.addresses.*.vat_number</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customers.*.addresses.*.eori</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","customers","bulk-update"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"8e76cfda-d667-4083-ae3f-81140236223c"},{"name":"Customers bulk archive","id":"61f90bd5-da36-4b1a-9c26-c3c1d992f6dc","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"customer_ids\": [\n    \"{{customer_id}}\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//customers/bulk-archive","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer_ids</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","customers","bulk-archive"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"61f90bd5-da36-4b1a-9c26-c3c1d992f6dc"},{"name":"Customers bulk restore","id":"b1e0afb5-9727-4142-8cbf-272b39a93c10","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"customer_ids\": [\n    \"{{customer_id}}\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//customers/bulk-restore","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer_ids</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","customers","bulk-restore"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"b1e0afb5-9727-4142-8cbf-272b39a93c10"},{"name":"Customers bulk delete","id":"364ccc5f-5fa5-41e2-a7cf-64c469c89630","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"customer_ids\": [\n    \"{{customer_id}}\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//customers/bulk-delete","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer_ids</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","customers","bulk-delete"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"364ccc5f-5fa5-41e2-a7cf-64c469c89630"},{"name":"Customers list","id":"c247e991-e164-4e09-803f-a94db866039e","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//customers","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>archived</code></td>\n<td>Filter by Archived.</td>\n</tr>\n<tr>\n<td><code>search</code></td>\n<td>Filter by Search.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>tags</code></td>\n<td>Filter by Tags.</td>\n</tr>\n<tr>\n<td><code>customer_type</code></td>\n<td>Filter by Customer Type.</td>\n</tr>\n<tr>\n<td><code>last_ordered_date_from</code></td>\n<td>Filter by Last Ordered Date From.</td>\n</tr>\n<tr>\n<td><code>last_ordered_date_to</code></td>\n<td>Filter by Last Ordered Date To.</td>\n</tr>\n<tr>\n<td><code>average_spend_from</code></td>\n<td>Filter by Average Spend From.</td>\n</tr>\n<tr>\n<td><code>average_spend_to</code></td>\n<td>Filter by Average Spend To.</td>\n</tr>\n<tr>\n<td><code>total_spend_from</code></td>\n<td>Filter by Total Spend From.</td>\n</tr>\n<tr>\n<td><code>total_spend_to</code></td>\n<td>Filter by Total Spend To.</td>\n</tr>\n<tr>\n<td><code>total_orders_from</code></td>\n<td>Filter by Total Orders From.</td>\n</tr>\n<tr>\n<td><code>total_orders_to</code></td>\n<td>Filter by Total Orders To.</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>Filter by Name.</td>\n</tr>\n<tr>\n<td><code>postcode</code></td>\n<td>Filter by Postcode.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>customerContacts</code></li>\n<li><code>customerAddresses</code></li>\n<li><code>tags</code></li>\n<li><code>notes</code></li>\n<li><code>orders</code></li>\n<li><code>statistic</code></li>\n<li><code>fileManager</code></li>\n<li><code>customFields</code></li>\n<li><code>customFields.customFieldOption</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","customers"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Archived.</p>\n","type":"text/plain"},"key":"archived","value":""},{"disabled":true,"description":{"content":"<p>Filter by Search.</p>\n","type":"text/plain"},"key":"search","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Tags.</p>\n","type":"text/plain"},"key":"tags","value":""},{"disabled":true,"description":{"content":"<p>Filter by Customer Type.</p>\n","type":"text/plain"},"key":"customer_type","value":""},{"disabled":true,"description":{"content":"<p>Filter by Last Ordered Date From.</p>\n","type":"text/plain"},"key":"last_ordered_date_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Last Ordered Date To.</p>\n","type":"text/plain"},"key":"last_ordered_date_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Average Spend From.</p>\n","type":"text/plain"},"key":"average_spend_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Average Spend To.</p>\n","type":"text/plain"},"key":"average_spend_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Total Spend From.</p>\n","type":"text/plain"},"key":"total_spend_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Total Spend To.</p>\n","type":"text/plain"},"key":"total_spend_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Total Orders From.</p>\n","type":"text/plain"},"key":"total_orders_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Total Orders To.</p>\n","type":"text/plain"},"key":"total_orders_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Name.</p>\n","type":"text/plain"},"key":"name","value":""},{"disabled":true,"description":{"content":"<p>Filter by Postcode.</p>\n","type":"text/plain"},"key":"postcode","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>customerContacts</code> - <code>customerAddresses</code> - <code>tags</code> - <code>notes</code> - <code>orders</code> - <code>statistic</code> - <code>fileManager</code> - <code>customFields</code> - <code>customFields.customFieldOption</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[]}},"response":[],"_postman_id":"c247e991-e164-4e09-803f-a94db866039e"},{"name":"Customers create","id":"e4040f53-bc1d-4cba-b54d-1d57c827378a","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"type\": \"1\",\n  \"name\": \"name\",\n  \"surname\": \"\",\n  \"email\": \"user@example.com\",\n  \"phone\": \"\",\n  \"file_manager_id\": \"{{file_manager_id}}\",\n  \"tags\": [\n    \"\"\n  ],\n  \"addresses\": [\n    {\n      \"company_name\": \"\",\n      \"name\": \"\",\n      \"surname\": \"\",\n      \"phone\": \"\",\n      \"email\": \"user@example.com\",\n      \"address_line_1\": \"address_line_1\",\n      \"address_line_2\": \"\",\n      \"address_line_3\": \"\",\n      \"city\": \"city\",\n      \"county\": \"\",\n      \"country_id\": \"{{country_id}}\",\n      \"postcode\": \"\",\n      \"vat_number\": \"\",\n      \"eori\": \"\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//customers","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code></td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>surname</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>email</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>phone</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>file_manager_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tags</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.company_name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.surname</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.phone</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.email</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.address_line_1</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.address_line_2</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.address_line_3</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.city</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.county</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.country_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.postcode</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.vat_number</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.eori</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","customers"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"e4040f53-bc1d-4cba-b54d-1d57c827378a"},{"name":"Customers show","id":"615c6a36-27a2-4f82-8c14-d285742dc6dd","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//customers/:customerID","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>customerID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>customerContacts</code></li>\n<li><code>customerAddresses</code></li>\n<li><code>tags</code></li>\n<li><code>notes</code></li>\n<li><code>orders</code></li>\n<li><code>statistic</code></li>\n<li><code>fileManager</code></li>\n<li><code>customFields</code></li>\n<li><code>customFields.customFieldOption</code></li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","customers",":customerID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>customerContacts</code> - <code>customerAddresses</code> - <code>tags</code> - <code>notes</code> - <code>orders</code> - <code>statistic</code> - <code>fileManager</code> - <code>customFields</code> - <code>customFields.customFieldOption</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"c9123ab2-399f-4ab6-b6df-95f10b67845c","type":"any","value":"","key":"customerID"}]}},"response":[],"_postman_id":"615c6a36-27a2-4f82-8c14-d285742dc6dd"},{"name":"Customers update","id":"03b61482-883f-455d-9a1d-e6f28cfce09a","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"customer_id\": \"{{customer_id}}\",\n  \"type\": \"1\",\n  \"name\": \"name\",\n  \"surname\": \"\",\n  \"email\": \"user@example.com\",\n  \"phone\": \"\",\n  \"file_manager_id\": \"{{file_manager_id}}\",\n  \"tags\": [\n    \"\"\n  ],\n  \"addresses\": [\n    {\n      \"id\": \"{{id}}\",\n      \"company_name\": \"\",\n      \"name\": \"\",\n      \"surname\": \"\",\n      \"phone\": \"\",\n      \"email\": \"user@example.com\",\n      \"address_line_1\": \"address_line_1\",\n      \"address_line_2\": \"\",\n      \"address_line_3\": \"\",\n      \"city\": \"city\",\n      \"county\": \"\",\n      \"country_id\": \"{{country_id}}\",\n      \"postcode\": \"\",\n      \"vat_number\": \"\",\n      \"eori\": \"\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//customers/:customerID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>customerID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code></td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>surname</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>email</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>phone</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>file_manager_id</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tags</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.id</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.company_name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.surname</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.phone</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.email</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.address_line_1</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.address_line_2</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.address_line_3</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.city</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.county</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.country_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.postcode</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.vat_number</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.eori</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","customers",":customerID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"ecf83fdc-8179-42a2-9910-fd3f7f032d9e","type":"any","value":"","key":"customerID"}]}},"response":[],"_postman_id":"03b61482-883f-455d-9a1d-e6f28cfce09a"},{"name":"Customers delete","id":"5d865b2d-1bcf-462c-8ec9-3ddcc0f54953","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//customers/:customerID?company_id=&customer_id=","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>customerID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","customers",":customerID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"customer_id","value":""}],"variable":[{"id":"81e2e09c-3849-4c7c-81fb-d7ebdbeda40c","type":"any","value":"","key":"customerID"}]}},"response":[],"_postman_id":"5d865b2d-1bcf-462c-8ec9-3ddcc0f54953"},{"name":"Customers archive","id":"33d8b995-7bb0-4a8a-8252-e74c967afcad","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"customer_id\": \"{{customer_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//customers/:customerID/archive","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>customerID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","customers",":customerID","archive"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"d7b8be4b-fe0d-4239-bed2-5e12c3f69c10","type":"any","value":"","key":"customerID"}]}},"response":[],"_postman_id":"33d8b995-7bb0-4a8a-8252-e74c967afcad"},{"name":"Customers restore","id":"bb9b8ded-0f17-4bda-b7e4-940671cb2fbb","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"customer_id\": \"{{customer_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//customers/:customerID/restore","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>customerID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","customers",":customerID","restore"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"ce3ea1d3-09c3-4b50-a2e2-e63d4f5cb27a","type":"any","value":"","key":"customerID"}]}},"response":[],"_postman_id":"bb9b8ded-0f17-4bda-b7e4-940671cb2fbb"},{"name":"Customers unarchive","id":"b13f2672-18bd-49fa-8c46-8264d855b293","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"customer_id\": \"{{customer_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//customers/:customerID/unarchive","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>customerID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","customers",":customerID","unarchive"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"4b0e38f2-b29e-478b-9606-52334e2f2113","type":"any","value":"","key":"customerID"}]}},"response":[],"_postman_id":"b13f2672-18bd-49fa-8c46-8264d855b293"},{"name":"Customers change type","id":"bcfe0401-c702-4eb1-a64b-a0ee12b3be43","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"customer_id\": \"{{customer_id}}\",\n  \"name\": \"name\",\n  \"email\": \"user@example.com\",\n  \"phone\": \"\",\n  \"file_manager_id\": \"{{file_manager_id}}\",\n  \"vat_number\": \"\",\n  \"eori\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//customers/:customerID/change-type","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>customerID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>email</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>phone</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>file_manager_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>vat_number</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>eori</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","customers",":customerID","change-type"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"b708eea4-f73f-4b29-9e8f-ee9b8b34577d","type":"any","value":"","key":"customerID"}]}},"response":[],"_postman_id":"bcfe0401-c702-4eb1-a64b-a0ee12b3be43"},{"name":"Customers related contact companies","id":"9819fa01-88e9-416b-86bc-5c5917b8ae85","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//customers/:customerID/related-contact-companies?company_id=&customer_id=","description":"<p>The reused service returns a plain -&gt;get() collection (not a paginator), so\nit does NOT auto-wrap — wrap explicitly under <code>data</code>.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>customerID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","customers",":customerID","related-contact-companies"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"customer_id","value":""}],"variable":[{"id":"d8e89e47-8d9e-45de-9d87-8a5d3e94ae35","type":"any","value":"","key":"customerID"}]}},"response":[],"_postman_id":"9819fa01-88e9-416b-86bc-5c5917b8ae85"},{"name":"Customers addresses list","id":"6aa4b7c3-a9ac-43e0-91b0-26b5e5f4a702","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//customers/:customerID/addresses","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>customerID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>postcode</code></td>\n<td>Filter by Postcode.</td>\n</tr>\n<tr>\n<td><code>archive</code></td>\n<td>Filter by Archive.</td>\n</tr>\n<tr>\n<td><code>customer_id</code></td>\n<td>Filter by Customer Id.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>customer</code></li>\n<li><code>address</code></li>\n<li><code>contact</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","customers",":customerID","addresses"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Postcode.</p>\n","type":"text/plain"},"key":"postcode","value":""},{"disabled":true,"description":{"content":"<p>Filter by Archive.</p>\n","type":"text/plain"},"key":"archive","value":""},{"disabled":true,"description":{"content":"<p>Filter by Customer Id.</p>\n","type":"text/plain"},"key":"customer_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>customer</code> - <code>address</code> - <code>contact</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"269818d2-d546-4ca5-8909-7330c6bc6bdc","type":"any","value":"","key":"customerID"}]}},"response":[],"_postman_id":"6aa4b7c3-a9ac-43e0-91b0-26b5e5f4a702"},{"name":"Customers addresses create","id":"00f372ab-d7b9-49f9-a41e-281635132ccb","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"customer_id\": \"{{customer_id}}\",\n  \"ship_to_somebody_else\": false,\n  \"company_name\": \"\",\n  \"name\": \"\",\n  \"surname\": \"\",\n  \"phone\": \"\",\n  \"email\": \"user@example.com\",\n  \"address_line_1\": \"address_line_1\",\n  \"address_line_2\": \"\",\n  \"address_line_3\": \"\",\n  \"city\": \"city\",\n  \"county\": \"\",\n  \"country_id\": \"{{country_id}}\",\n  \"postcode\": \"\",\n  \"vat_number\": \"\",\n  \"eori\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//customers/:customerID/addresses","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>customerID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>ship_to_somebody_else</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>company_name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>surname</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>phone</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>email</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address_line_1</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address_line_2</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address_line_3</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>city</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>county</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>country_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>postcode</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>vat_number</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>eori</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","customers",":customerID","addresses"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"08a7aff4-45f6-4757-8188-f9be37b4bf4f","type":"any","value":"","key":"customerID"}]}},"response":[],"_postman_id":"00f372ab-d7b9-49f9-a41e-281635132ccb"},{"name":"Customers addresses show","id":"b9119bbe-ed94-47e3-923e-9a098a42112a","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//customers/:customerID/addresses/:addressID","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>customerID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>addressID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>customer</code></li>\n<li><code>address</code></li>\n<li><code>contact</code></li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","customers",":customerID","addresses",":addressID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>customer</code> - <code>address</code> - <code>contact</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"d16e0a12-10a1-4164-996d-f7e481ce87d1","type":"any","value":"","key":"customerID"},{"id":"9ec1f7df-1d16-4298-84fe-3581faad7616","type":"any","value":"","key":"addressID"}]}},"response":[],"_postman_id":"b9119bbe-ed94-47e3-923e-9a098a42112a"},{"name":"Customers addresses update","id":"7ab65e90-7c77-44cc-af1d-ae94063a23f3","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"customer_id\": \"{{customer_id}}\",\n  \"address_id\": \"{{address_id}}\",\n  \"ship_to_somebody_else\": false,\n  \"company_name\": \"\",\n  \"name\": \"\",\n  \"surname\": \"\",\n  \"phone\": \"\",\n  \"email\": \"user@example.com\",\n  \"address_line_1\": \"address_line_1\",\n  \"address_line_2\": \"\",\n  \"address_line_3\": \"\",\n  \"city\": \"city\",\n  \"county\": \"\",\n  \"country_id\": \"{{country_id}}\",\n  \"postcode\": \"\",\n  \"vat_number\": \"\",\n  \"eori\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//customers/:customerID/addresses/:addressID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>customerID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>addressID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>ship_to_somebody_else</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>company_name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>surname</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>phone</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>email</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address_line_1</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address_line_2</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address_line_3</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>city</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>county</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>country_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>postcode</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>vat_number</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>eori</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","customers",":customerID","addresses",":addressID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"e9076bef-2a12-4646-8d87-513a5603c8d9","type":"any","value":"","key":"customerID"},{"id":"34c0e726-af3a-4343-842d-281993b22491","type":"any","value":"","key":"addressID"}]}},"response":[],"_postman_id":"7ab65e90-7c77-44cc-af1d-ae94063a23f3"},{"name":"Customers addresses delete","id":"52b42568-7e4e-4721-9ed0-7bc567ccd448","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//customers/:customerID/addresses/:addressID?company_id=&customer_id=&address_id=","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>customerID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>addressID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","customers",":customerID","addresses",":addressID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"customer_id","value":""},{"key":"address_id","value":""}],"variable":[{"id":"4e65410b-6f1d-4884-b321-27464cab47e8","type":"any","value":"","key":"customerID"},{"id":"7e950d19-d65c-4ef8-9114-8fbb19899fa5","type":"any","value":"","key":"addressID"}]}},"response":[],"_postman_id":"52b42568-7e4e-4721-9ed0-7bc567ccd448"},{"name":"Customers addresses archive","id":"821890f5-f275-459e-84d2-c668f42f717c","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"customer_id\": \"{{customer_id}}\",\n  \"address_id\": \"{{address_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//customers/:customerID/addresses/:addressID/archive","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>customerID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>addressID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","customers",":customerID","addresses",":addressID","archive"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"e8e6e7ea-e0bf-4709-944b-c4840da2a3e9","type":"any","value":"","key":"customerID"},{"id":"28baa976-eb5a-4eda-a4e9-2e0940f33cfd","type":"any","value":"","key":"addressID"}]}},"response":[],"_postman_id":"821890f5-f275-459e-84d2-c668f42f717c"},{"name":"Customers contacts list","id":"de863b0e-c8d7-4eed-9545-f099577ffc0e","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//customers/:customerID/contacts","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>customerID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>archive</code></td>\n<td>Filter by Archive.</td>\n</tr>\n<tr>\n<td><code>company_customer_id</code></td>\n<td>Filter by Company Customer Id.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>companyCustomer</code></li>\n<li><code>customer</code></li>\n<li><code>contact</code></li>\n<li><code>fileManager</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","customers",":customerID","contacts"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Archive.</p>\n","type":"text/plain"},"key":"archive","value":""},{"disabled":true,"description":{"content":"<p>Filter by Company Customer Id.</p>\n","type":"text/plain"},"key":"company_customer_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>companyCustomer</code> - <code>customer</code> - <code>contact</code> - <code>fileManager</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"588f5188-717b-4f9d-a1ec-b18eb3f3aebe","type":"any","value":"","key":"customerID"}]}},"response":[],"_postman_id":"de863b0e-c8d7-4eed-9545-f099577ffc0e"},{"name":"Customers contacts create","id":"d2faa9e2-c9b7-478e-8f2e-d1b2d9996a85","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"company_customer_id\": \"{{company_customer_id}}\",\n  \"name\": \"name\",\n  \"surname\": \"surname\",\n  \"email\": \"user@example.com\",\n  \"phone\": \"\",\n  \"file_manager_id\": \"{{file_manager_id}}\",\n  \"title\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//customers/:customerID/contacts","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>customerID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>company_customer_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>surname</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>email</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>phone</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>file_manager_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>title</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","customers",":customerID","contacts"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"9f55a450-4133-4b3c-8c9e-76170849ad53","type":"any","value":"","key":"customerID"}]}},"response":[],"_postman_id":"d2faa9e2-c9b7-478e-8f2e-d1b2d9996a85"},{"name":"Customers contacts show","id":"9c697b90-d698-4533-b10d-076eb523f4f5","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//customers/:customerID/contacts/:contactID","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>customerID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>contactID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>companyCustomer</code></li>\n<li><code>customer</code></li>\n<li><code>contact</code></li>\n<li><code>fileManager</code></li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","customers",":customerID","contacts",":contactID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>companyCustomer</code> - <code>customer</code> - <code>contact</code> - <code>fileManager</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"7474e272-b2df-43a4-8f29-fae23c7ae9ba","type":"any","value":"","key":"customerID"},{"id":"d8e723ba-215c-4b06-bfbe-b4a5ea80f720","type":"any","value":"","key":"contactID"}]}},"response":[],"_postman_id":"9c697b90-d698-4533-b10d-076eb523f4f5"},{"name":"Customers contacts update","id":"5638b479-db01-4d4e-9cce-b0d7a4bf6e40","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"company_customer_id\": \"{{company_customer_id}}\",\n  \"contact_id\": \"{{contact_id}}\",\n  \"name\": \"name\",\n  \"surname\": \"surname\",\n  \"email\": \"user@example.com\",\n  \"phone\": \"\",\n  \"file_manager_id\": \"{{file_manager_id}}\",\n  \"title\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//customers/:customerID/contacts/:contactID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>customerID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>contactID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>company_customer_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>contact_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>surname</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>email</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>phone</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>file_manager_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>title</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","customers",":customerID","contacts",":contactID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"2e6c2f78-e1ad-4f43-a7dc-a759615a4a1a","type":"any","value":"","key":"customerID"},{"id":"64acd224-e56a-4df7-a50d-c735335282e3","type":"any","value":"","key":"contactID"}]}},"response":[],"_postman_id":"5638b479-db01-4d4e-9cce-b0d7a4bf6e40"},{"name":"Customers contacts delete","id":"19f9ec0f-8346-41b4-91ea-f51ff05fe0e7","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//customers/:customerID/contacts/:contactID?company_id=&company_customer_id=&contact_id=","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>customerID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>contactID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>company_customer_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>contact_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","customers",":customerID","contacts",":contactID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"company_customer_id","value":""},{"key":"contact_id","value":""}],"variable":[{"id":"6cfb7569-ae04-44a9-b908-65f7e9322b66","type":"any","value":"","key":"customerID"},{"id":"0feaae69-8535-41be-9988-9f4ccbdcfa89","type":"any","value":"","key":"contactID"}]}},"response":[],"_postman_id":"19f9ec0f-8346-41b4-91ea-f51ff05fe0e7"},{"name":"Customers contacts archive","id":"c9c25fd7-edcc-4b88-a831-19250088b336","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"company_customer_id\": \"{{company_customer_id}}\",\n  \"contact_id\": \"{{contact_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//customers/:customerID/contacts/:contactID/archive","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>customerID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>contactID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>company_customer_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>contact_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","customers",":customerID","contacts",":contactID","archive"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"54ae11db-7dc5-4d1a-b832-7d85d2eea980","type":"any","value":"","key":"customerID"},{"id":"6e1ebbb4-0dd0-4dc7-a7f9-a1b80d8fa548","type":"any","value":"","key":"contactID"}]}},"response":[],"_postman_id":"c9c25fd7-edcc-4b88-a831-19250088b336"},{"name":"Customers notes list","id":"fe644990-85e4-453a-88c7-0bb45b9a2a99","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//customers/:customerID/notes","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>customerID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer_id</code></td>\n<td>Filter by Customer Id.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>customer</code></li>\n<li><code>user</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","customers",":customerID","notes"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Customer Id.</p>\n","type":"text/plain"},"key":"customer_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>customer</code> - <code>user</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"c5605abf-4fe1-47b2-96d7-578ce9aebddb","type":"any","value":"","key":"customerID"}]}},"response":[],"_postman_id":"fe644990-85e4-453a-88c7-0bb45b9a2a99"},{"name":"Customers notes create","id":"b44e4d07-064f-471e-a311-a1ef7f835793","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"customer_id\": \"{{customer_id}}\",\n  \"note\": \"note\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//customers/:customerID/notes","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>customerID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>note</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","customers",":customerID","notes"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"ddb8f56f-bdba-40b4-8a5a-fe6d21629acf","type":"any","value":"","key":"customerID"}]}},"response":[],"_postman_id":"b44e4d07-064f-471e-a311-a1ef7f835793"},{"name":"Customers notes delete","id":"e3b558f1-72b6-40b8-9e73-268571cdc654","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//customers/:customerID/notes/:noteID?company_id=&customer_id=&note_id=","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>customerID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>noteID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>note_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","customers",":customerID","notes",":noteID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"customer_id","value":""},{"key":"note_id","value":""}],"variable":[{"id":"0c1bfb98-f023-4ce1-939c-2998ff3663f1","type":"any","value":"","key":"customerID"},{"id":"cad3a4dd-a05c-4d4f-aa28-562e32efcd6a","type":"any","value":"","key":"noteID"}]}},"response":[],"_postman_id":"e3b558f1-72b6-40b8-9e73-268571cdc654"},{"name":"Customers tags list","id":"c8b70eb8-ddca-4df2-a93a-57ad88d0e32b","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//customers/:customerID/tags","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>customerID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer_id</code></td>\n<td>Filter by Customer Id.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>company</code></li>\n<li><code>customer</code></li>\n<li><code>tag</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","customers",":customerID","tags"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Customer Id.</p>\n","type":"text/plain"},"key":"customer_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>company</code> - <code>customer</code> - <code>tag</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"a5a6cb49-2dd4-4d11-8f22-4449e6761b3d","type":"any","value":"","key":"customerID"}]}},"response":[],"_postman_id":"c8b70eb8-ddca-4df2-a93a-57ad88d0e32b"},{"name":"Customers tags create","id":"556d50a6-ab1c-499f-8f17-45c5177dcfe5","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"customer_id\": \"{{customer_id}}\",\n  \"name\": \"name\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//customers/:customerID/tags","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>customerID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","customers",":customerID","tags"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"7dc09991-0afc-42df-bdf7-141fc8708784","type":"any","value":"","key":"customerID"}]}},"response":[],"_postman_id":"556d50a6-ab1c-499f-8f17-45c5177dcfe5"},{"name":"Customers tags attach","id":"6f149431-ac7e-4cd8-9f82-ea06e4817cc2","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"customer_id\": \"{{customer_id}}\",\n  \"tag_id\": \"{{tag_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//customers/:customerID/tags/:tagID/attach","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>customerID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>tagID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tag_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","customers",":customerID","tags",":tagID","attach"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"d1e64649-d079-46dc-a808-4cf3ed8a9a60","type":"any","value":"","key":"customerID"},{"id":"81cb580c-581f-4636-b780-af75a87023dd","type":"any","value":"","key":"tagID"}]}},"response":[],"_postman_id":"6f149431-ac7e-4cd8-9f82-ea06e4817cc2"},{"name":"Customers tags detach","id":"2090a04a-74cc-4518-baae-25dc348b7264","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//customers/:customerID/tags/:tagID/detach?company_id=&customer_id=&tag_id=","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>customerID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>tagID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tag_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","customers",":customerID","tags",":tagID","detach"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"customer_id","value":""},{"key":"tag_id","value":""}],"variable":[{"id":"53e5cd7f-ec1d-4ded-9efb-4ab1078107f4","type":"any","value":"","key":"customerID"},{"id":"c5e0b410-980a-49e9-be51-3fd3f5224dac","type":"any","value":"","key":"tagID"}]}},"response":[],"_postman_id":"2090a04a-74cc-4518-baae-25dc348b7264"}],"id":"f66935f5-50dd-44ba-ae5c-ec84bc7eecfa","description":"<p><strong>Customers</strong> — 35 endpoints.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"f66935f5-50dd-44ba-ae5c-ec84bc7eecfa","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Dashboard","item":[{"name":"Dashboard costdashboard figures","id":"bf1ef671-d661-4618-b88a-abb7eb630a3c","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//dashboard/costdashboard/figures?start_time=&end_time=","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>start_time</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>end_time</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>compare_start_time</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>compare_end_time</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>include[]</code></td>\n<td>Options: <code>picking</code>, <code>packing</code>, <code>receiving</code>, <code>movement</code>, <code>inventory_check</code>, <code>storage</code>, <code>courier</code></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","dashboard","costdashboard","figures"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"start_time","value":""},{"key":"end_time","value":""},{"disabled":true,"key":"compare_start_time","value":""},{"disabled":true,"key":"compare_end_time","value":""},{"disabled":true,"key":"include[]","value":""}],"variable":[]}},"response":[],"_postman_id":"bf1ef671-d661-4618-b88a-abb7eb630a3c"},{"name":"Dashboard costdashboard cost over time","id":"d2ec2beb-5b91-41a4-9eeb-01a69f0b080b","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//dashboard/costdashboard/cost-over-time?start_time=&end_time=","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>start_time</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>end_time</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>compare_start_time</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>compare_end_time</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>include[]</code></td>\n<td>Options: <code>picking</code>, <code>packing</code>, <code>receiving</code>, <code>movement</code>, <code>inventory_check</code>, <code>storage</code>, <code>courier</code></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","dashboard","costdashboard","cost-over-time"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"start_time","value":""},{"key":"end_time","value":""},{"disabled":true,"key":"compare_start_time","value":""},{"disabled":true,"key":"compare_end_time","value":""},{"disabled":true,"key":"include[]","value":""}],"variable":[]}},"response":[],"_postman_id":"d2ec2beb-5b91-41a4-9eeb-01a69f0b080b"},{"name":"Dashboard costdashboard department costs","id":"b997d367-8112-4d8d-a518-0cef4ac0586f","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//dashboard/costdashboard/department-costs?start_time=&end_time=","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>start_time</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>end_time</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>compare_start_time</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>compare_end_time</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>view</code></td>\n<td>Options: <code>department</code>, <code>job</code></td>\n</tr>\n<tr>\n<td><code>limit</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>include[]</code></td>\n<td>Options: <code>picking</code>, <code>packing</code>, <code>receiving</code>, <code>movement</code>, <code>inventory_check</code>, <code>storage</code>, <code>courier</code></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","dashboard","costdashboard","department-costs"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"start_time","value":""},{"key":"end_time","value":""},{"disabled":true,"key":"compare_start_time","value":""},{"disabled":true,"key":"compare_end_time","value":""},{"disabled":true,"key":"view","value":""},{"disabled":true,"key":"limit","value":""},{"disabled":true,"key":"include[]","value":""}],"variable":[]}},"response":[],"_postman_id":"b997d367-8112-4d8d-a518-0cef4ac0586f"},{"name":"Dashboard costdashboard cost per period","id":"a6dea4fa-e1d9-4d44-b2f4-6fc6c7d46a03","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//dashboard/costdashboard/cost-per-period?start_time=&end_time=","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>start_time</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>end_time</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>compare_start_time</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>compare_end_time</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>group_by</code></td>\n<td>Options: <code>daily</code>, <code>weekly</code>, <code>monthly</code></td>\n</tr>\n<tr>\n<td><code>include[]</code></td>\n<td>Options: <code>picking</code>, <code>packing</code>, <code>receiving</code>, <code>movement</code>, <code>inventory_check</code>, <code>storage</code>, <code>courier</code></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","dashboard","costdashboard","cost-per-period"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"start_time","value":""},{"key":"end_time","value":""},{"disabled":true,"key":"compare_start_time","value":""},{"disabled":true,"key":"compare_end_time","value":""},{"disabled":true,"key":"group_by","value":""},{"disabled":true,"key":"include[]","value":""}],"variable":[]}},"response":[],"_postman_id":"a6dea4fa-e1d9-4d44-b2f4-6fc6c7d46a03"},{"name":"Dashboard costdashboard cost by module","id":"4b37c1b3-8bfd-402a-ab6e-c7f5ee208e7d","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//dashboard/costdashboard/cost-by-module?start_time=&end_time=","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>start_time</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>end_time</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>compare_start_time</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>compare_end_time</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>include[]</code></td>\n<td>Options: <code>picking</code>, <code>packing</code>, <code>receiving</code>, <code>movement</code>, <code>inventory_check</code>, <code>storage</code>, <code>courier</code></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","dashboard","costdashboard","cost-by-module"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"start_time","value":""},{"key":"end_time","value":""},{"disabled":true,"key":"compare_start_time","value":""},{"disabled":true,"key":"compare_end_time","value":""},{"disabled":true,"key":"include[]","value":""}],"variable":[]}},"response":[],"_postman_id":"4b37c1b3-8bfd-402a-ab6e-c7f5ee208e7d"},{"name":"Dashboard costdashboard operational costs","id":"006bbc3f-6a69-4f39-929b-d5f8249b525f","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//dashboard/costdashboard/operational-costs?start_time=&end_time=","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>start_time</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>end_time</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>compare_start_time</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>compare_end_time</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>view</code></td>\n<td>Options: <code>supplier</code>, <code>store</code>, <code>channel</code>, <code>client</code>, <code>customer</code>, <code>top_products</code></td>\n</tr>\n<tr>\n<td><code>limit</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>include[]</code></td>\n<td>Options: <code>picking</code>, <code>packing</code>, <code>receiving</code>, <code>movement</code>, <code>inventory_check</code>, <code>storage</code>, <code>courier</code></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","dashboard","costdashboard","operational-costs"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"start_time","value":""},{"key":"end_time","value":""},{"disabled":true,"key":"compare_start_time","value":""},{"disabled":true,"key":"compare_end_time","value":""},{"disabled":true,"key":"view","value":""},{"disabled":true,"key":"limit","value":""},{"disabled":true,"key":"include[]","value":""}],"variable":[]}},"response":[],"_postman_id":"006bbc3f-6a69-4f39-929b-d5f8249b525f"},{"name":"Dashboard costdashboard courier costs","id":"fdd95bc8-d6fe-4ceb-b7c3-fdff36535d6f","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//dashboard/costdashboard/courier-costs?start_time=&end_time=","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>start_time</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>end_time</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>compare_start_time</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>compare_end_time</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>view</code></td>\n<td>Options: <code>courier</code>, <code>store</code>, <code>channel</code>, <code>service</code>, <code>courier_service</code></td>\n</tr>\n<tr>\n<td><code>limit</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","dashboard","costdashboard","courier-costs"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"start_time","value":""},{"key":"end_time","value":""},{"disabled":true,"key":"compare_start_time","value":""},{"disabled":true,"key":"compare_end_time","value":""},{"disabled":true,"key":"view","value":""},{"disabled":true,"key":"limit","value":""}],"variable":[]}},"response":[],"_postman_id":"fdd95bc8-d6fe-4ceb-b7c3-fdff36535d6f"},{"name":"Dashboard customer care active statuses","id":"0073f570-d19b-4b01-b8ba-559661a5bcaa","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//dashboard/customer-care/active-statuses","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>statuses[]</code></td>\n<td>Options: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code>, <code>9</code>, <code>10</code>, <code>11</code>, <code>12</code>, <code>13</code>, <code>14</code></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","dashboard","customer-care","active-statuses"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"statuses[]","value":""}],"variable":[]}},"response":[],"_postman_id":"0073f570-d19b-4b01-b8ba-559661a5bcaa"},{"name":"Dashboard customer care delivery performance","id":"96f6e336-2708-48ca-a2e7-37015d68ecd2","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//dashboard/customer-care/delivery-performance","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","dashboard","customer-care","delivery-performance"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"96f6e336-2708-48ca-a2e7-37015d68ecd2"},{"name":"Dashboard customer care delivery performance chart","id":"a73d2a50-8dae-429e-9b59-364632e05583","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//dashboard/customer-care/delivery-performance-chart?status=&date_start=&date_end=&has_comparison=","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>status</code></td>\n<td>Options: <code>delivered</code>, <code>late</code>, <code>exception</code>, <code>failed</code></td>\n</tr>\n<tr>\n<td><code>date_start</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>date_end</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>has_comparison</code></td>\n<td>Required. Accepted values are 1 and 0; the literal words true and false are rejected. Send 1 to add a comparison range, which makes comparison_date_start and comparison_date_end required: comparison_date_start must fall before date_start, and comparison_date_end between comparison_date_start and date_end, so the two ranges may overlap. Send 0 for no comparison, and the comparison is left out of the response and both bounds ignored, valid or not.</td>\n</tr>\n<tr>\n<td><code>comparison_date_start</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>comparison_date_end</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","dashboard","customer-care","delivery-performance-chart"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"status","value":""},{"key":"date_start","value":""},{"key":"date_end","value":""},{"description":{"content":"<p>Required. Accepted values are 1 and 0; the literal words true and false are rejected. Send 1 to add a comparison range, which makes comparison_date_start and comparison_date_end required: comparison_date_start must fall before date_start, and comparison_date_end between comparison_date_start and date_end, so the two ranges may overlap. Send 0 for no comparison, and the comparison is left out of the response and both bounds ignored, valid or not.</p>\n","type":"text/plain"},"key":"has_comparison","value":""},{"disabled":true,"key":"comparison_date_start","value":""},{"disabled":true,"key":"comparison_date_end","value":""}],"variable":[]}},"response":[],"_postman_id":"a73d2a50-8dae-429e-9b59-364632e05583"},{"name":"Dashboard customer care shipment performance by country","id":"748cf913-b0a5-47ad-ae3e-5ce8e238dc1b","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//dashboard/customer-care/shipment-performance-by-country?country_id=&date_start=&date_end=&has_comparison=","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>country_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>date_start</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>date_end</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>has_comparison</code></td>\n<td>Required. Accepted values are 1 and 0; the literal words true and false are rejected. Send 1 to add a comparison range, which makes comparison_date_start and comparison_date_end required: comparison_date_start must fall before date_start, and comparison_date_end between comparison_date_start and date_end, so the two ranges may overlap. Send 0 for no comparison, and the comparison is left out of the response, but any bounds you send are still validated.</td>\n</tr>\n<tr>\n<td><code>comparison_date_start</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>comparison_date_end</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","dashboard","customer-care","shipment-performance-by-country"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"country_id","value":""},{"key":"date_start","value":""},{"key":"date_end","value":""},{"description":{"content":"<p>Required. Accepted values are 1 and 0; the literal words true and false are rejected. Send 1 to add a comparison range, which makes comparison_date_start and comparison_date_end required: comparison_date_start must fall before date_start, and comparison_date_end between comparison_date_start and date_end, so the two ranges may overlap. Send 0 for no comparison, and the comparison is left out of the response, but any bounds you send are still validated.</p>\n","type":"text/plain"},"key":"has_comparison","value":""},{"disabled":true,"key":"comparison_date_start","value":""},{"disabled":true,"key":"comparison_date_end","value":""}],"variable":[]}},"response":[],"_postman_id":"748cf913-b0a5-47ad-ae3e-5ce8e238dc1b"},{"name":"Dashboard customer care orders vs returns","id":"95b5567a-da39-4e4b-a1c1-3025db186630","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//dashboard/customer-care/orders-vs-returns?date_start=&date_end=&has_comparison=","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>date_start</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>date_end</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>has_comparison</code></td>\n<td>Required. Accepted values are 1 and 0; the literal words true and false are rejected. Send 1 to add a comparison range, which makes comparison_date_start and comparison_date_end required: comparison_date_start must fall before date_start, and comparison_date_end between comparison_date_start and date_end, so the two ranges may overlap. Send 0 for no comparison, and the comparison is left out of the response and both bounds ignored, valid or not.</td>\n</tr>\n<tr>\n<td><code>comparison_date_start</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>comparison_date_end</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","dashboard","customer-care","orders-vs-returns"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"date_start","value":""},{"key":"date_end","value":""},{"description":{"content":"<p>Required. Accepted values are 1 and 0; the literal words true and false are rejected. Send 1 to add a comparison range, which makes comparison_date_start and comparison_date_end required: comparison_date_start must fall before date_start, and comparison_date_end between comparison_date_start and date_end, so the two ranges may overlap. Send 0 for no comparison, and the comparison is left out of the response and both bounds ignored, valid or not.</p>\n","type":"text/plain"},"key":"has_comparison","value":""},{"disabled":true,"key":"comparison_date_start","value":""},{"disabled":true,"key":"comparison_date_end","value":""}],"variable":[]}},"response":[],"_postman_id":"95b5567a-da39-4e4b-a1c1-3025db186630"},{"name":"Dashboard customer care delivery performance by courier","id":"b5b79a7c-4636-4f9a-a3c7-6d25374fb532","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//dashboard/customer-care/delivery-performance-by-courier?type=&date_start=&date_end=","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>type</code></td>\n<td>Options: <code>courier</code>, <code>service</code></td>\n</tr>\n<tr>\n<td><code>date_start</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>date_end</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","dashboard","customer-care","delivery-performance-by-courier"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"type","value":""},{"key":"date_start","value":""},{"key":"date_end","value":""}],"variable":[]}},"response":[],"_postman_id":"b5b79a7c-4636-4f9a-a3c7-6d25374fb532"},{"name":"Dashboard inventorydashboard figures","id":"fcabe694-403f-4687-8489-31043648c27f","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//dashboard/inventorydashboard/figures","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","dashboard","inventorydashboard","figures"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"fcabe694-403f-4687-8489-31043648c27f"},{"name":"Dashboard inventorydashboard inventory value over time","id":"2b108bd1-e445-4f69-80ba-09471a739a1e","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//dashboard/inventorydashboard/inventory-value-over-time","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","dashboard","inventorydashboard","inventory-value-over-time"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"2b108bd1-e445-4f69-80ba-09471a739a1e"},{"name":"Dashboard inventorydashboard suppliers by spent","id":"a6e57667-6daa-4a83-89c0-8b4cf3797cc4","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//dashboard/inventorydashboard/suppliers-by-spent","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","dashboard","inventorydashboard","suppliers-by-spent"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"a6e57667-6daa-4a83-89c0-8b4cf3797cc4"},{"name":"Dashboard inventorydashboard inventory and purchase over time","id":"0f2c2a88-a275-417b-9e32-3006c4252b93","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//dashboard/inventorydashboard/inventory-and-purchase-over-time","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","dashboard","inventorydashboard","inventory-and-purchase-over-time"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"0f2c2a88-a275-417b-9e32-3006c4252b93"},{"name":"Dashboard inventorydashboard inventory to reorder","id":"04dbc14b-bfbe-4b16-bcc4-57baeb43c25d","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//dashboard/inventorydashboard/inventory-to-reorder","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","dashboard","inventorydashboard","inventory-to-reorder"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"04dbc14b-bfbe-4b16-bcc4-57baeb43c25d"},{"name":"Dashboard inventorydashboard supplier needs replenish","id":"86fc7fd0-927a-4a83-a53d-3bb87c376d8f","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//dashboard/inventorydashboard/supplier-needs-replenish","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","dashboard","inventorydashboard","supplier-needs-replenish"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"86fc7fd0-927a-4a83-a53d-3bb87c376d8f"},{"name":"Dashboard overview live orders","id":"7fe146c6-7178-4289-b97a-57edf5ff9671","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//dashboard/overview/live-orders","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>statuses[]</code></td>\n<td>Options: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code>, <code>9</code>, <code>10</code>, <code>11</code>, <code>12</code></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","dashboard","overview","live-orders"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"statuses[]","value":""}],"variable":[]}},"response":[],"_postman_id":"7fe146c6-7178-4289-b97a-57edf5ff9671"},{"name":"Dashboard overview recently added orders","id":"e02a5d00-c8c5-4fc0-a245-1d1b30f21880","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//dashboard/overview/recently-added-orders","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>limit</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","dashboard","overview","recently-added-orders"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"limit","value":""}],"variable":[]}},"response":[],"_postman_id":"e02a5d00-c8c5-4fc0-a245-1d1b30f21880"},{"name":"Dashboard overview order statistics","id":"61e2feab-4883-406a-adc6-54469d2bcb2d","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//dashboard/overview/order-statistics?date_start=&date_end=&has_comparison=","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>date_start</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>date_end</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>has_comparison</code></td>\n<td>Required. Accepted values are 1 and 0; the literal words true and false are rejected. Send 1 to add a comparison range, which makes comparison_date_start and comparison_date_end required: comparison_date_start must fall before date_start, and comparison_date_end between comparison_date_start and date_end, so the two ranges may overlap. Send 0 for no comparison, and the comparison is left out of the response, but any bounds you send are still validated.</td>\n</tr>\n<tr>\n<td><code>comparison_date_start</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>comparison_date_end</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","dashboard","overview","order-statistics"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"date_start","value":""},{"key":"date_end","value":""},{"description":{"content":"<p>Required. Accepted values are 1 and 0; the literal words true and false are rejected. Send 1 to add a comparison range, which makes comparison_date_start and comparison_date_end required: comparison_date_start must fall before date_start, and comparison_date_end between comparison_date_start and date_end, so the two ranges may overlap. Send 0 for no comparison, and the comparison is left out of the response, but any bounds you send are still validated.</p>\n","type":"text/plain"},"key":"has_comparison","value":""},{"disabled":true,"key":"comparison_date_start","value":""},{"disabled":true,"key":"comparison_date_end","value":""}],"variable":[]}},"response":[],"_postman_id":"61e2feab-4883-406a-adc6-54469d2bcb2d"},{"name":"Dashboard overview revenue","id":"5628f88b-6372-4e96-8b10-a08c7624c3d3","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//dashboard/overview/revenue?date_start=&date_end=&has_comparison=","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>date_start</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>date_end</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>has_comparison</code></td>\n<td>Required. Accepted values are 1 and 0; the literal words true and false are rejected. Send 1 to add a comparison range, which makes comparison_date_start and comparison_date_end required: comparison_date_start must fall before date_start, and comparison_date_end between comparison_date_start and date_end, so the two ranges may overlap. Send 0 for no comparison, and the comparison is left out of the response and both bounds ignored, valid or not.</td>\n</tr>\n<tr>\n<td><code>comparison_date_start</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>comparison_date_end</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","dashboard","overview","revenue"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"date_start","value":""},{"key":"date_end","value":""},{"description":{"content":"<p>Required. Accepted values are 1 and 0; the literal words true and false are rejected. Send 1 to add a comparison range, which makes comparison_date_start and comparison_date_end required: comparison_date_start must fall before date_start, and comparison_date_end between comparison_date_start and date_end, so the two ranges may overlap. Send 0 for no comparison, and the comparison is left out of the response and both bounds ignored, valid or not.</p>\n","type":"text/plain"},"key":"has_comparison","value":""},{"disabled":true,"key":"comparison_date_start","value":""},{"disabled":true,"key":"comparison_date_end","value":""}],"variable":[]}},"response":[],"_postman_id":"5628f88b-6372-4e96-8b10-a08c7624c3d3"},{"name":"Dashboard overview top channels","id":"45a22998-9740-451c-88f2-9657ca57abfc","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//dashboard/overview/top-channels?date_start=&date_end=&has_comparison=","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>date_start</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>date_end</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>has_comparison</code></td>\n<td>Required. Accepted values are 1 and 0; the literal words true and false are rejected. Send 1 to add a comparison range, which makes comparison_date_start and comparison_date_end required: comparison_date_start must fall before date_start, and comparison_date_end between comparison_date_start and date_end, so the two ranges may overlap. Send 0 for no comparison, and the comparison is left out of the response and both bounds ignored, valid or not.</td>\n</tr>\n<tr>\n<td><code>comparison_date_start</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>comparison_date_end</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>limit</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","dashboard","overview","top-channels"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"date_start","value":""},{"key":"date_end","value":""},{"description":{"content":"<p>Required. Accepted values are 1 and 0; the literal words true and false are rejected. Send 1 to add a comparison range, which makes comparison_date_start and comparison_date_end required: comparison_date_start must fall before date_start, and comparison_date_end between comparison_date_start and date_end, so the two ranges may overlap. Send 0 for no comparison, and the comparison is left out of the response and both bounds ignored, valid or not.</p>\n","type":"text/plain"},"key":"has_comparison","value":""},{"disabled":true,"key":"comparison_date_start","value":""},{"disabled":true,"key":"comparison_date_end","value":""},{"disabled":true,"key":"limit","value":""}],"variable":[]}},"response":[],"_postman_id":"45a22998-9740-451c-88f2-9657ca57abfc"},{"name":"Dashboard overview top couriers","id":"7028a547-d068-47c7-9040-f1850d4387b9","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//dashboard/overview/top-couriers?date_start=&date_end=&has_comparison=","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>date_start</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>date_end</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>has_comparison</code></td>\n<td>Required. Accepted values are 1 and 0; the literal words true and false are rejected. Send 1 to add a comparison range, which makes comparison_date_start and comparison_date_end required: comparison_date_start must fall before date_start, and comparison_date_end between comparison_date_start and date_end, so the two ranges may overlap. Send 0 for no comparison, and the comparison is left out of the response and both bounds ignored, valid or not.</td>\n</tr>\n<tr>\n<td><code>comparison_date_start</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>comparison_date_end</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>limit</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","dashboard","overview","top-couriers"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"date_start","value":""},{"key":"date_end","value":""},{"description":{"content":"<p>Required. Accepted values are 1 and 0; the literal words true and false are rejected. Send 1 to add a comparison range, which makes comparison_date_start and comparison_date_end required: comparison_date_start must fall before date_start, and comparison_date_end between comparison_date_start and date_end, so the two ranges may overlap. Send 0 for no comparison, and the comparison is left out of the response and both bounds ignored, valid or not.</p>\n","type":"text/plain"},"key":"has_comparison","value":""},{"disabled":true,"key":"comparison_date_start","value":""},{"disabled":true,"key":"comparison_date_end","value":""},{"disabled":true,"key":"limit","value":""}],"variable":[]}},"response":[],"_postman_id":"7028a547-d068-47c7-9040-f1850d4387b9"},{"name":"Dashboard overview top products","id":"f9e67f1c-a475-472b-8a98-0c0f8510a198","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//dashboard/overview/top-products?date_start=&date_end=&has_comparison=","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>date_start</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>date_end</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>has_comparison</code></td>\n<td>Required. Accepted values are 1 and 0; the literal words true and false are rejected. Send 1 to add a comparison range, which makes comparison_date_start and comparison_date_end required: comparison_date_start must fall before date_start, and comparison_date_end between comparison_date_start and date_end, so the two ranges may overlap. Send 0 for no comparison, and the comparison is left out of the response and both bounds ignored, valid or not.</td>\n</tr>\n<tr>\n<td><code>comparison_date_start</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>comparison_date_end</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>limit</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","dashboard","overview","top-products"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"date_start","value":""},{"key":"date_end","value":""},{"description":{"content":"<p>Required. Accepted values are 1 and 0; the literal words true and false are rejected. Send 1 to add a comparison range, which makes comparison_date_start and comparison_date_end required: comparison_date_start must fall before date_start, and comparison_date_end between comparison_date_start and date_end, so the two ranges may overlap. Send 0 for no comparison, and the comparison is left out of the response and both bounds ignored, valid or not.</p>\n","type":"text/plain"},"key":"has_comparison","value":""},{"disabled":true,"key":"comparison_date_start","value":""},{"disabled":true,"key":"comparison_date_end","value":""},{"disabled":true,"key":"limit","value":""}],"variable":[]}},"response":[],"_postman_id":"f9e67f1c-a475-472b-8a98-0c0f8510a198"},{"name":"Dashboard salesdashboard figures","id":"33c93e90-c412-42bc-b0c6-40ba979a5763","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//dashboard/salesdashboard/figures?start_time=&end_time=","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>start_time</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>end_time</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>compare_start_time</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>compare_end_time</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","dashboard","salesdashboard","figures"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"start_time","value":""},{"key":"end_time","value":""},{"disabled":true,"key":"compare_start_time","value":""},{"disabled":true,"key":"compare_end_time","value":""}],"variable":[]}},"response":[],"_postman_id":"33c93e90-c412-42bc-b0c6-40ba979a5763"},{"name":"Dashboard salesdashboard revenue over time","id":"76244c95-4da3-4f60-b85c-6217f0527952","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//dashboard/salesdashboard/revenue-over-time?start_time=&end_time=","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>start_time</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>end_time</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>compare_start_time</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>compare_end_time</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","dashboard","salesdashboard","revenue-over-time"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"start_time","value":""},{"key":"end_time","value":""},{"disabled":true,"key":"compare_start_time","value":""},{"disabled":true,"key":"compare_end_time","value":""}],"variable":[]}},"response":[],"_postman_id":"76244c95-4da3-4f60-b85c-6217f0527952"},{"name":"Dashboard salesdashboard sales by channel","id":"da622bb3-a8c4-4862-bcf8-94e3a239ca8d","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//dashboard/salesdashboard/sales-by-channel?start_time=&end_time=","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>start_time</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>end_time</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>compare_start_time</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>compare_end_time</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","dashboard","salesdashboard","sales-by-channel"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"start_time","value":""},{"key":"end_time","value":""},{"disabled":true,"key":"compare_start_time","value":""},{"disabled":true,"key":"compare_end_time","value":""}],"variable":[]}},"response":[],"_postman_id":"da622bb3-a8c4-4862-bcf8-94e3a239ca8d"},{"name":"Dashboard salesdashboard sales by countries","id":"32280231-1032-4333-8166-0c8248a35ca9","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//dashboard/salesdashboard/sales-by-countries?start_time=&end_time=&exclude_domestic=","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>start_time</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>end_time</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>compare_start_time</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>compare_end_time</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>exclude_domestic</code></td>\n<td>Required. Accepted values are 1 and 0; the literal words true and false are rejected. Send 1 to leave the company's own country out of the response entirely: it is dropped from the country breakdown and its revenue is left out of total_revenue and of the comparison total. That country is the one on the company address, or the United Kingdom when the company has no country on file. Send 0 to include every country.</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","dashboard","salesdashboard","sales-by-countries"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"start_time","value":""},{"key":"end_time","value":""},{"disabled":true,"key":"compare_start_time","value":""},{"disabled":true,"key":"compare_end_time","value":""},{"description":{"content":"<p>Required. Accepted values are 1 and 0; the literal words true and false are rejected. Send 1 to leave the company's own country out of the response entirely: it is dropped from the country breakdown and its revenue is left out of total_revenue and of the comparison total. That country is the one on the company address, or the United Kingdom when the company has no country on file. Send 0 to include every country.</p>\n","type":"text/plain"},"key":"exclude_domestic","value":""}],"variable":[]}},"response":[],"_postman_id":"32280231-1032-4333-8166-0c8248a35ca9"},{"name":"Dashboard salesdashboard product revenue","id":"e1e92a01-8b15-463c-a190-80bd7adec91d","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//dashboard/salesdashboard/product-revenue?start_time=&end_time=","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>start_time</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>end_time</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>compare_start_time</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>compare_end_time</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","dashboard","salesdashboard","product-revenue"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"start_time","value":""},{"key":"end_time","value":""},{"disabled":true,"key":"compare_start_time","value":""},{"disabled":true,"key":"compare_end_time","value":""}],"variable":[]}},"response":[],"_postman_id":"e1e92a01-8b15-463c-a190-80bd7adec91d"},{"name":"Dashboard salesdashboard product revenue droppers","id":"3886bb3c-d00e-4ac9-bb77-a7edfbfd3c85","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//dashboard/salesdashboard/product-revenue-droppers?start_time=&end_time=","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>start_time</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>end_time</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>compare_start_time</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>compare_end_time</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","dashboard","salesdashboard","product-revenue-droppers"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"start_time","value":""},{"key":"end_time","value":""},{"disabled":true,"key":"compare_start_time","value":""},{"disabled":true,"key":"compare_end_time","value":""}],"variable":[]}},"response":[],"_postman_id":"3886bb3c-d00e-4ac9-bb77-a7edfbfd3c85"}],"id":"d2a26461-3662-48f8-a585-268ad5fabcfb","description":"<p><strong>Dashboard</strong> — 32 endpoints.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"d2a26461-3662-48f8-a585-268ad5fabcfb","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Deliveries","item":[{"name":"Deliveries types","id":"ac878ec3-44ea-4b8c-b150-04aa72cd559b","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//deliveries/types","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","deliveries","types"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"ac878ec3-44ea-4b8c-b150-04aa72cd559b"},{"name":"Deliveries bulk create","id":"b89c7fa0-87ce-4522-817e-7775c7e4f4ff","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"deliveries\": [\n    {\n      \"type\": \"1\",\n      \"reference_number\": \"reference_number\",\n      \"supplier_id\": \"{{supplier_id}}\",\n      \"delivery_number\": \"\",\n      \"warehouse_location_id\": \"{{warehouse_location_id}}\",\n      \"expected_delivery_date\": \"\",\n      \"assigned_user_id\": \"{{assigned_user_id}}\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//deliveries/bulk-create","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>deliveries</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>deliveries.*.type</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code></td>\n</tr>\n<tr>\n<td><code>deliveries.*.reference_number</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>deliveries.*.supplier_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>deliveries.*.delivery_number</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>deliveries.*.warehouse_location_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>deliveries.*.expected_delivery_date</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>deliveries.*.assigned_user_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","deliveries","bulk-create"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"b89c7fa0-87ce-4522-817e-7775c7e4f4ff"},{"name":"Deliveries bulk update","id":"f3a0c8e3-8c50-476c-9400-194bd207d879","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"deliveries\": [\n    {\n      \"delivery_id\": \"{{delivery_id}}\",\n      \"type\": \"1\",\n      \"supplier_id\": \"{{supplier_id}}\",\n      \"delivery_number\": \"\",\n      \"warehouse_location_id\": \"{{warehouse_location_id}}\",\n      \"expected_delivery_date\": \"\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//deliveries/bulk-update","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>deliveries</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>deliveries.*.delivery_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>deliveries.*.type</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code></td>\n</tr>\n<tr>\n<td><code>deliveries.*.supplier_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>deliveries.*.delivery_number</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>deliveries.*.warehouse_location_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>deliveries.*.expected_delivery_date</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","deliveries","bulk-update"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"f3a0c8e3-8c50-476c-9400-194bd207d879"},{"name":"Deliveries bulk archive","id":"2004888d-2828-4c0f-9814-d9dcb702ff98","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"delivery_ids\": [\n    \"{{delivery_id}}\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//deliveries/bulk-archive","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>delivery_ids</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","deliveries","bulk-archive"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"2004888d-2828-4c0f-9814-d9dcb702ff98"},{"name":"Deliveries bulk restore","id":"5696b00a-8366-4d0e-bc84-225ded1e82fa","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"delivery_ids\": [\n    \"{{delivery_id}}\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//deliveries/bulk-restore","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>delivery_ids</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","deliveries","bulk-restore"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"5696b00a-8366-4d0e-bc84-225ded1e82fa"},{"name":"Deliveries bulk delete","id":"5ff3dd8a-491a-4775-bc32-268ab7a58bea","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"delivery_ids\": [\n    \"{{delivery_id}}\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//deliveries/bulk-delete","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>delivery_ids</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","deliveries","bulk-delete"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"5ff3dd8a-491a-4775-bc32-268ab7a58bea"},{"name":"Deliveries list","id":"8d436899-565b-46ed-bcd7-103e6fa5a8c4","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//deliveries","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>archived</code></td>\n<td>Filter by Archived.</td>\n</tr>\n<tr>\n<td><code>reference_number</code></td>\n<td>Filter by Reference Number.</td>\n</tr>\n<tr>\n<td><code>query</code></td>\n<td>Filter by Query.</td>\n</tr>\n<tr>\n<td><code>supplier_id</code></td>\n<td>Filter by Supplier Id.</td>\n</tr>\n<tr>\n<td><code>item_count_from</code></td>\n<td>Filter by Item Count From.</td>\n</tr>\n<tr>\n<td><code>item_count_to</code></td>\n<td>Filter by Item Count To.</td>\n</tr>\n<tr>\n<td><code>expected_delivery_date_from</code></td>\n<td>Filter by Expected Delivery Date From.</td>\n</tr>\n<tr>\n<td><code>expected_delivery_date_to</code></td>\n<td>Filter by Expected Delivery Date To.</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>Filter by Status.</td>\n</tr>\n<tr>\n<td><code>tags</code></td>\n<td>Filter by Tags.</td>\n</tr>\n<tr>\n<td><code>assigned_user_id</code></td>\n<td>Filter by Assigned User Id.</td>\n</tr>\n<tr>\n<td><code>is_mobile</code></td>\n<td>Filter by Is Mobile.</td>\n</tr>\n<tr>\n<td><code>unassigned_deliveries</code></td>\n<td>Filter by Unassigned Deliveries.</td>\n</tr>\n<tr>\n<td><code>delivery_number</code></td>\n<td>Filter by Delivery Number.</td>\n</tr>\n<tr>\n<td><code>delivery_number_exclude</code></td>\n<td>Filter by Delivery Number Exclude.</td>\n</tr>\n<tr>\n<td><code>import_ids</code></td>\n<td>Filter by Import Ids.</td>\n</tr>\n<tr>\n<td><code>received_at_from</code></td>\n<td>Filter by Received At From.</td>\n</tr>\n<tr>\n<td><code>received_at_to</code></td>\n<td>Filter by Received At To.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>supplier</code></li>\n<li><code>supplier.fileManager</code></li>\n<li><code>supplier.contact</code></li>\n<li><code>warehouseLocation</code></li>\n<li><code>items</code></li>\n<li><code>items.inventory</code></li>\n<li><code>items.inventory.meta</code></li>\n<li><code>items.purchaseOrder</code></li>\n<li><code>items.purchaseOrder.items</code></li>\n<li><code>assignedUser</code></li>\n<li><code>assignedUser.user</code></li>\n<li><code>assignedUser.user.fileManager</code></li>\n<li><code>assignedUser.timeTracking</code></li>\n<li><code>assignedUsers</code></li>\n<li><code>assignedUsers.user</code></li>\n<li><code>assignedUsers.user.fileManager</code></li>\n<li><code>assignedUsers.timeTracking</code></li>\n<li><code>tags</code></li>\n<li><code>tags.tag</code></li>\n<li><code>sizes</code></li>\n<li><code>attachments</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","deliveries"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Archived.</p>\n","type":"text/plain"},"key":"archived","value":""},{"disabled":true,"description":{"content":"<p>Filter by Reference Number.</p>\n","type":"text/plain"},"key":"reference_number","value":""},{"disabled":true,"description":{"content":"<p>Filter by Query.</p>\n","type":"text/plain"},"key":"query","value":""},{"disabled":true,"description":{"content":"<p>Filter by Supplier Id.</p>\n","type":"text/plain"},"key":"supplier_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Item Count From.</p>\n","type":"text/plain"},"key":"item_count_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Item Count To.</p>\n","type":"text/plain"},"key":"item_count_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Expected Delivery Date From.</p>\n","type":"text/plain"},"key":"expected_delivery_date_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Expected Delivery Date To.</p>\n","type":"text/plain"},"key":"expected_delivery_date_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Status.</p>\n","type":"text/plain"},"key":"status","value":""},{"disabled":true,"description":{"content":"<p>Filter by Tags.</p>\n","type":"text/plain"},"key":"tags","value":""},{"disabled":true,"description":{"content":"<p>Filter by Assigned User Id.</p>\n","type":"text/plain"},"key":"assigned_user_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Is Mobile.</p>\n","type":"text/plain"},"key":"is_mobile","value":""},{"disabled":true,"description":{"content":"<p>Filter by Unassigned Deliveries.</p>\n","type":"text/plain"},"key":"unassigned_deliveries","value":""},{"disabled":true,"description":{"content":"<p>Filter by Delivery Number.</p>\n","type":"text/plain"},"key":"delivery_number","value":""},{"disabled":true,"description":{"content":"<p>Filter by Delivery Number Exclude.</p>\n","type":"text/plain"},"key":"delivery_number_exclude","value":""},{"disabled":true,"description":{"content":"<p>Filter by Import Ids.</p>\n","type":"text/plain"},"key":"import_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Received At From.</p>\n","type":"text/plain"},"key":"received_at_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Received At To.</p>\n","type":"text/plain"},"key":"received_at_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>supplier</code> - <code>supplier.fileManager</code> - <code>supplier.contact</code> - <code>warehouseLocation</code> - <code>items</code> - <code>items.inventory</code> - <code>items.inventory.meta</code> - <code>items.purchaseOrder</code> - <code>items.purchaseOrder.items</code> - <code>assignedUser</code> - <code>assignedUser.user</code> - <code>assignedUser.user.fileManager</code> - <code>assignedUser.timeTracking</code> - <code>assignedUsers</code> - <code>assignedUsers.user</code> - <code>assignedUsers.user.fileManager</code> - <code>assignedUsers.timeTracking</code> - <code>tags</code> - <code>tags.tag</code> - <code>sizes</code> - <code>attachments</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[]}},"response":[],"_postman_id":"8d436899-565b-46ed-bcd7-103e6fa5a8c4"},{"name":"Deliveries create","id":"a18f555a-52b5-4156-9963-33e9c12905a7","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"type\": \"1\",\n  \"reference_number\": \"reference_number\",\n  \"supplier_id\": \"{{supplier_id}}\",\n  \"delivery_number\": \"\",\n  \"warehouse_location_id\": \"{{warehouse_location_id}}\",\n  \"expected_delivery_date\": \"\",\n  \"assigned_user_id\": \"{{assigned_user_id}}\",\n  \"mark_as_all_received\": false,\n  \"tags\": [\n    \"\"\n  ],\n  \"sizes\": [\n    {\n      \"unit\": \"1\",\n      \"qty\": 0\n    }\n  ],\n  \"items\": [\n    {\n      \"inventory_id\": \"{{inventory_id}}\",\n      \"expected_qty\": 1\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//deliveries","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code></td>\n</tr>\n<tr>\n<td><code>reference_number</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>supplier_id</code></td>\n<td>integer</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>delivery_number</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>warehouse_location_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>expected_delivery_date</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>assigned_user_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>Staff users live on the global accounts connection; tenant scoping goes through the company_user membership pivot, as in v1.</td>\n</tr>\n<tr>\n<td><code>mark_as_all_received</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tags</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sizes</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sizes.*.unit</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>sizes.*.qty</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.inventory_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.expected_qty</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","deliveries"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"a18f555a-52b5-4156-9963-33e9c12905a7"},{"name":"Deliveries show","id":"e4994578-62a6-47e6-bbfa-abadcb36ef6a","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//deliveries/:deliveryID","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>deliveryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>supplier</code></li>\n<li><code>supplier.fileManager</code></li>\n<li><code>supplier.contact</code></li>\n<li><code>warehouseLocation</code></li>\n<li><code>items</code></li>\n<li><code>items.inventory</code></li>\n<li><code>items.inventory.meta</code></li>\n<li><code>items.purchaseOrder</code></li>\n<li><code>items.purchaseOrder.items</code></li>\n<li><code>assignedUser</code></li>\n<li><code>assignedUser.user</code></li>\n<li><code>assignedUser.user.fileManager</code></li>\n<li><code>assignedUser.timeTracking</code></li>\n<li><code>assignedUsers</code></li>\n<li><code>assignedUsers.user</code></li>\n<li><code>assignedUsers.user.fileManager</code></li>\n<li><code>assignedUsers.timeTracking</code></li>\n<li><code>tags</code></li>\n<li><code>tags.tag</code></li>\n<li><code>sizes</code></li>\n<li><code>attachments</code></li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","deliveries",":deliveryID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>supplier</code> - <code>supplier.fileManager</code> - <code>supplier.contact</code> - <code>warehouseLocation</code> - <code>items</code> - <code>items.inventory</code> - <code>items.inventory.meta</code> - <code>items.purchaseOrder</code> - <code>items.purchaseOrder.items</code> - <code>assignedUser</code> - <code>assignedUser.user</code> - <code>assignedUser.user.fileManager</code> - <code>assignedUser.timeTracking</code> - <code>assignedUsers</code> - <code>assignedUsers.user</code> - <code>assignedUsers.user.fileManager</code> - <code>assignedUsers.timeTracking</code> - <code>tags</code> - <code>tags.tag</code> - <code>sizes</code> - <code>attachments</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"bda39bcb-7020-463a-92b7-eac3a33d50a4","type":"any","value":"","key":"deliveryID"}]}},"response":[],"_postman_id":"e4994578-62a6-47e6-bbfa-abadcb36ef6a"},{"name":"Deliveries update","id":"7c156fb3-8478-42a0-8a63-6304a8fcd1aa","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"type\": \"1\",\n  \"supplier_id\": \"{{supplier_id}}\",\n  \"delivery_number\": \"\",\n  \"warehouse_location_id\": \"{{warehouse_location_id}}\",\n  \"expected_delivery_date\": \"\",\n  \"tags\": [\n    \"\"\n  ],\n  \"sizes\": [\n    {\n      \"id\": null,\n      \"unit\": \"1\",\n      \"qty\": 0\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//deliveries/:deliveryID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>deliveryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code></td>\n</tr>\n<tr>\n<td><code>supplier_id</code></td>\n<td>integer</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>delivery_number</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>warehouse_location_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>expected_delivery_date</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tags</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sizes</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sizes.*.id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sizes.*.unit</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>sizes.*.qty</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","deliveries",":deliveryID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"d5a1e5bd-972d-4715-a07a-a94cb54511d7","type":"any","value":"","key":"deliveryID"}]}},"response":[],"_postman_id":"7c156fb3-8478-42a0-8a63-6304a8fcd1aa"},{"name":"Deliveries update patch","id":"9aae6412-cd20-4dd0-b949-54beae109801","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"type\": \"1\",\n  \"supplier_id\": \"{{supplier_id}}\",\n  \"delivery_number\": \"\",\n  \"warehouse_location_id\": \"{{warehouse_location_id}}\",\n  \"expected_delivery_date\": \"\",\n  \"tags\": [\n    \"\"\n  ],\n  \"sizes\": [\n    {\n      \"id\": null,\n      \"unit\": \"1\",\n      \"qty\": 0\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//deliveries/:deliveryID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>deliveryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code></td>\n</tr>\n<tr>\n<td><code>supplier_id</code></td>\n<td>integer</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>delivery_number</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>warehouse_location_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>expected_delivery_date</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tags</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sizes</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sizes.*.id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sizes.*.unit</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>sizes.*.qty</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","deliveries",":deliveryID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"c11f2644-ff0d-405e-9a50-e43383a6072e","type":"any","value":"","key":"deliveryID"}]}},"response":[],"_postman_id":"9aae6412-cd20-4dd0-b949-54beae109801"},{"name":"Deliveries delete","id":"bc26f6b4-e1db-4fb5-9576-f2275a979a0f","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//deliveries/:deliveryID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>deliveryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","deliveries",":deliveryID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"61c2142b-a63a-4e62-bb2c-d519f3cf4fd4","type":"any","value":"","key":"deliveryID"}]}},"response":[],"_postman_id":"bc26f6b4-e1db-4fb5-9576-f2275a979a0f"},{"name":"Deliveries archive","id":"0f4eba51-ee2f-48d7-9f7b-06d2abaa888f","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//deliveries/:deliveryID/archive","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>deliveryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","deliveries",":deliveryID","archive"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"c22b011d-16b4-4f5b-9755-0c41b38251c0","type":"any","value":"","key":"deliveryID"}]}},"response":[],"_postman_id":"0f4eba51-ee2f-48d7-9f7b-06d2abaa888f"},{"name":"Deliveries unarchive","id":"dae1dfd4-4bba-4a79-8f8a-3c96ab57ec9c","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//deliveries/:deliveryID/unarchive","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>deliveryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","deliveries",":deliveryID","unarchive"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"4560588d-f6c3-4997-8b03-62fff51c638e","type":"any","value":"","key":"deliveryID"}]}},"response":[],"_postman_id":"dae1dfd4-4bba-4a79-8f8a-3c96ab57ec9c"},{"name":"Deliveries publish","id":"187293ba-00b0-4be3-823d-059b6636a677","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//deliveries/:deliveryID/publish","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>deliveryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","deliveries",":deliveryID","publish"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"e5dc0adf-1cd0-4a49-95f7-1531ffe8669e","type":"any","value":"","key":"deliveryID"}]}},"response":[],"_postman_id":"187293ba-00b0-4be3-823d-059b6636a677"},{"name":"Deliveries update expected delivery date","id":"b199cd0e-e2db-4108-9d59-75b1dcad739a","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"delivery_id\": \"{{delivery_id}}\",\n  \"expected_delivery_date\": \"expected_delivery_date\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//deliveries/:deliveryID/update-expected-delivery-date","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>deliveryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>delivery_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>expected_delivery_date</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","deliveries",":deliveryID","update-expected-delivery-date"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"10ee1ddd-5252-4990-8118-830eb70fcbe2","type":"any","value":"","key":"deliveryID"}]}},"response":[],"_postman_id":"b199cd0e-e2db-4108-9d59-75b1dcad739a"},{"name":"Deliveries assigned users list","id":"c57344f9-7869-4c42-bcae-de782c4bf231","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//deliveries/:deliveryID/assigned-users","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>deliveryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>delivery_id</code></td>\n<td>Filter by Delivery Id.</td>\n</tr>\n<tr>\n<td><code>user_id</code></td>\n<td>Filter by User Id.</td>\n</tr>\n<tr>\n<td><code>received_qty_from</code></td>\n<td>Filter by Received Qty From.</td>\n</tr>\n<tr>\n<td><code>received_qty_to</code></td>\n<td>Filter by Received Qty To.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>delivery</code></li>\n<li><code>user</code></li>\n<li><code>user.fileManager</code></li>\n<li><code>timeTracking</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","deliveries",":deliveryID","assigned-users"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Delivery Id.</p>\n","type":"text/plain"},"key":"delivery_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by User Id.</p>\n","type":"text/plain"},"key":"user_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Received Qty From.</p>\n","type":"text/plain"},"key":"received_qty_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Received Qty To.</p>\n","type":"text/plain"},"key":"received_qty_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>delivery</code> - <code>user</code> - <code>user.fileManager</code> - <code>timeTracking</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"6a6636c2-841e-4253-832c-4f5d1cb1f33c","type":"any","value":"","key":"deliveryID"}]}},"response":[],"_postman_id":"c57344f9-7869-4c42-bcae-de782c4bf231"},{"name":"Deliveries assigned users create","id":"991a1d02-4ed2-46e6-8dc7-07124b04a271","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"delivery_id\": \"{{delivery_id}}\",\n  \"user_id\": \"{{user_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//deliveries/:deliveryID/assigned-users","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>deliveryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>delivery_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>user_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","deliveries",":deliveryID","assigned-users"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"49c53f8c-b4f1-41c6-98d9-11acbfc3c89b","type":"any","value":"","key":"deliveryID"}]}},"response":[],"_postman_id":"991a1d02-4ed2-46e6-8dc7-07124b04a271"},{"name":"Deliveries time tracking start","id":"0a06b1d8-9e15-4610-816b-e61e351f796a","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"delivery_id\": \"{{delivery_id}}\",\n  \"is_mobile\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//deliveries/:deliveryID/start-time-tracking","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>deliveryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>delivery_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>is_mobile</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","deliveries",":deliveryID","start-time-tracking"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"396f92e4-06ef-4f2f-97dc-f36a70f29259","type":"any","value":"","key":"deliveryID"}]}},"response":[],"_postman_id":"0a06b1d8-9e15-4610-816b-e61e351f796a"},{"name":"Deliveries time tracking stop","id":"99ce2f39-8ac9-4836-8a61-54876e264ac8","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"delivery_id\": \"{{delivery_id}}\",\n  \"stopped_at\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//deliveries/:deliveryID/stop-time-tracking","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>deliveryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>delivery_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>stopped_at</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","deliveries",":deliveryID","stop-time-tracking"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"e6da2257-8e34-444f-95e0-00d48f01a67f","type":"any","value":"","key":"deliveryID"}]}},"response":[],"_postman_id":"99ce2f39-8ac9-4836-8a61-54876e264ac8"},{"name":"Deliveries attachments list","id":"e6e50d9a-b8d1-47d3-9d3e-b7438c7158e7","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//deliveries/:deliveryID/attachments","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>deliveryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>delivery_id</code></td>\n<td>Filter by Delivery Id.</td>\n</tr>\n<tr>\n<td><code>inventory_id</code></td>\n<td>Filter by Inventory Id.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>delivery</code></li>\n<li><code>inventory</code></li>\n<li><code>inventory.meta</code></li>\n<li><code>fileManager</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","deliveries",":deliveryID","attachments"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Delivery Id.</p>\n","type":"text/plain"},"key":"delivery_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Inventory Id.</p>\n","type":"text/plain"},"key":"inventory_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>delivery</code> - <code>inventory</code> - <code>inventory.meta</code> - <code>fileManager</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"86f90c00-bedc-4e55-ac81-5d6f2ac2cff1","type":"any","value":"","key":"deliveryID"}]}},"response":[],"_postman_id":"e6e50d9a-b8d1-47d3-9d3e-b7438c7158e7"},{"name":"Deliveries attachments create","id":"e6f3706f-dfd1-4aa2-b16e-15dd93f5afaf","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"delivery_id\": \"{{delivery_id}}\",\n  \"type\": \"1\",\n  \"file_manager_id\": \"{{file_manager_id}}\",\n  \"inventory_id\": \"{{inventory_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//deliveries/:deliveryID/attachments","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>deliveryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>delivery_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code></td>\n</tr>\n<tr>\n<td><code>file_manager_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventory_id</code></td>\n<td>integer</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","deliveries",":deliveryID","attachments"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"192fcd3f-2384-4bdf-bf63-c0bcc25824d3","type":"any","value":"","key":"deliveryID"}]}},"response":[],"_postman_id":"e6f3706f-dfd1-4aa2-b16e-15dd93f5afaf"},{"name":"Deliveries attachments update","id":"ac80a3fa-5806-4543-881f-be565eefe234","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"delivery_id\": \"{{delivery_id}}\",\n  \"attachment_id\": \"{{attachment_id}}\",\n  \"type\": \"1\",\n  \"file_manager_id\": \"{{file_manager_id}}\",\n  \"inventory_id\": \"{{inventory_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//deliveries/:deliveryID/attachments/:attachmentID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>deliveryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>attachmentID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>delivery_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>attachment_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code></td>\n</tr>\n<tr>\n<td><code>file_manager_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventory_id</code></td>\n<td>integer</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","deliveries",":deliveryID","attachments",":attachmentID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"05ff2580-875a-4709-ae4a-2f51e2c2eded","type":"any","value":"","key":"deliveryID"},{"id":"c3fd27b1-da42-4253-90a3-b54bb30b349d","type":"any","value":"","key":"attachmentID"}]}},"response":[],"_postman_id":"ac80a3fa-5806-4543-881f-be565eefe234"},{"name":"Deliveries attachments update patch","id":"460e0887-9a24-4ac7-916d-5bb6dc7bb31f","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"delivery_id\": \"{{delivery_id}}\",\n  \"attachment_id\": \"{{attachment_id}}\",\n  \"type\": \"1\",\n  \"file_manager_id\": \"{{file_manager_id}}\",\n  \"inventory_id\": \"{{inventory_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//deliveries/:deliveryID/attachments/:attachmentID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>deliveryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>attachmentID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>delivery_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>attachment_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code></td>\n</tr>\n<tr>\n<td><code>file_manager_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventory_id</code></td>\n<td>integer</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","deliveries",":deliveryID","attachments",":attachmentID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"964c3d40-116b-46fb-b23e-f839241e24bf","type":"any","value":"","key":"deliveryID"},{"id":"3309c40f-ec4b-4079-94f6-61c19e60df45","type":"any","value":"","key":"attachmentID"}]}},"response":[],"_postman_id":"460e0887-9a24-4ac7-916d-5bb6dc7bb31f"},{"name":"Deliveries attachments delete","id":"d0191843-a86b-4c7a-b904-f91b329e3ff4","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//deliveries/:deliveryID/attachments/:attachmentID?company_id=&delivery_id=&attachment_id=","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>deliveryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>attachmentID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>delivery_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>attachment_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","deliveries",":deliveryID","attachments",":attachmentID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"delivery_id","value":""},{"key":"attachment_id","value":""}],"variable":[{"id":"0630a3bc-d62c-4afe-b2c3-75ffad7acf68","type":"any","value":"","key":"deliveryID"},{"id":"1c20c296-f78f-4392-a743-246ab9064f4f","type":"any","value":"","key":"attachmentID"}]}},"response":[],"_postman_id":"d0191843-a86b-4c7a-b904-f91b329e3ff4"},{"name":"Deliveries items list","id":"8cdebd32-692f-44de-a0fc-84068b046f8e","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//deliveries/:deliveryID/items","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>deliveryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>sort</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>delivery_id</code></td>\n<td>Filter by Delivery Id.</td>\n</tr>\n<tr>\n<td><code>warehouse_location_id</code></td>\n<td>Filter by Warehouse Location Id.</td>\n</tr>\n<tr>\n<td><code>purchase_order_id</code></td>\n<td>Filter by Purchase Order Id.</td>\n</tr>\n<tr>\n<td><code>expected_qty_from</code></td>\n<td>Filter by Expected Qty From.</td>\n</tr>\n<tr>\n<td><code>expected_qty_to</code></td>\n<td>Filter by Expected Qty To.</td>\n</tr>\n<tr>\n<td><code>received_qty_from</code></td>\n<td>Filter by Received Qty From.</td>\n</tr>\n<tr>\n<td><code>received_qty_to</code></td>\n<td>Filter by Received Qty To.</td>\n</tr>\n<tr>\n<td><code>search</code></td>\n<td>Filter by Search.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>delivery</code></li>\n<li><code>inventory</code></li>\n<li><code>inventory.meta</code></li>\n<li><code>batch</code></li>\n<li><code>warehouseLocation</code></li>\n<li><code>purchaseOrder</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","deliveries",":deliveryID","items"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"sort","value":""},{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Delivery Id.</p>\n","type":"text/plain"},"key":"delivery_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Warehouse Location Id.</p>\n","type":"text/plain"},"key":"warehouse_location_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Purchase Order Id.</p>\n","type":"text/plain"},"key":"purchase_order_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Expected Qty From.</p>\n","type":"text/plain"},"key":"expected_qty_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Expected Qty To.</p>\n","type":"text/plain"},"key":"expected_qty_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Received Qty From.</p>\n","type":"text/plain"},"key":"received_qty_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Received Qty To.</p>\n","type":"text/plain"},"key":"received_qty_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Search.</p>\n","type":"text/plain"},"key":"search","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>delivery</code> - <code>inventory</code> - <code>inventory.meta</code> - <code>batch</code> - <code>warehouseLocation</code> - <code>purchaseOrder</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"e246425f-98fe-4c77-878a-0d4e5b3a678b","type":"any","value":"","key":"deliveryID"}]}},"response":[],"_postman_id":"8cdebd32-692f-44de-a0fc-84068b046f8e"},{"name":"Deliveries items create","id":"b430f6ae-1112-4263-b16d-8903c64f2441","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"delivery_type\": \"1\",\n  \"mark_as_all_received\": false,\n  \"items\": [\n    {\n      \"inventory_id\": \"{{inventory_id}}\",\n      \"purchase_order_id\": \"{{purchase_order_id}}\",\n      \"expected_qty\": 1,\n      \"warehouse_location_id\": \"{{warehouse_location_id}}\",\n      \"shelf\": \"\",\n      \"batch_number\": \"\",\n      \"expiry_date\": \"\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//deliveries/:deliveryID/items","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>deliveryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>delivery_type</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code></td>\n</tr>\n<tr>\n<td><code>mark_as_all_received</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.inventory_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.purchase_order_id</code></td>\n<td>integer</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.expected_qty</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.warehouse_location_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.shelf</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.batch_number</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.expiry_date</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","deliveries",":deliveryID","items"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"45b548de-8857-4b1c-9242-a74925775302","type":"any","value":"","key":"deliveryID"}]}},"response":[],"_postman_id":"b430f6ae-1112-4263-b16d-8903c64f2441"},{"name":"Deliveries items bulk upsert","id":"797561bc-4d5a-4b6e-a934-b5861b9eace8","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"delivery_id\": \"{{delivery_id}}\",\n  \"items\": [\n    {\n      \"inventory_id\": \"{{inventory_id}}\",\n      \"expected_qty\": 1,\n      \"purchase_order_id\": \"{{purchase_order_id}}\",\n      \"warehouse_location_id\": \"{{warehouse_location_id}}\",\n      \"batch_number\": \"\",\n      \"expiry_date\": \"\",\n      \"shelf\": \"\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//deliveries/:deliveryID/items/bulk","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>deliveryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>delivery_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.inventory_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.expected_qty</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.purchase_order_id</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.warehouse_location_id</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.batch_number</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.expiry_date</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.shelf</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","deliveries",":deliveryID","items","bulk"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"5b44064a-48e2-4204-be34-7a7f559f99a6","type":"any","value":"","key":"deliveryID"}]}},"response":[],"_postman_id":"797561bc-4d5a-4b6e-a934-b5861b9eace8"},{"name":"Deliveries items add qty cancelled","id":"1c1cb128-4bbc-4142-bcf4-5359d5f42b9a","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"delivery_id\": \"{{delivery_id}}\",\n  \"item_id\": \"{{item_id}}\",\n  \"quantity\": 0,\n  \"reason\": 1,\n  \"apply_purchase_order\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//deliveries/:deliveryID/items/:itemID/add-qty-cancelled","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>deliveryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>itemID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>delivery_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>item_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>quantity</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>reason</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code></td>\n</tr>\n<tr>\n<td><code>apply_purchase_order</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","deliveries",":deliveryID","items",":itemID","add-qty-cancelled"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"ff7bb2c8-f057-4548-8fd9-2f69bf85b3b5","type":"any","value":"","key":"deliveryID"},{"id":"5c9aed07-0562-4023-b184-adf4c8589093","type":"any","value":"","key":"itemID"}]}},"response":[],"_postman_id":"1c1cb128-4bbc-4142-bcf4-5359d5f42b9a"},{"name":"Deliveries items update warehouse location","id":"f53c034b-b9d1-4b1b-91eb-02d2bda3c883","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"delivery_id\": \"{{delivery_id}}\",\n  \"item_id\": \"{{item_id}}\",\n  \"warehouse_location_id\": \"{{warehouse_location_id}}\",\n  \"shelf\": \"\",\n  \"batch_number\": \"\",\n  \"expiry_date\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//deliveries/:deliveryID/items/:itemID/update-warehouse-location","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>deliveryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>itemID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>delivery_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>item_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>warehouse_location_id</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shelf</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>batch_number</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>expiry_date</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","deliveries",":deliveryID","items",":itemID","update-warehouse-location"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"ec4517e9-c869-43f7-8639-061ea86bb77a","type":"any","value":"","key":"deliveryID"},{"id":"6763dc89-9140-4e97-8a47-6e2cefe584e7","type":"any","value":"","key":"itemID"}]}},"response":[],"_postman_id":"f53c034b-b9d1-4b1b-91eb-02d2bda3c883"},{"name":"Deliveries items update action qty","id":"29e730c9-d6d2-4b9e-9a37-57517677a136","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"delivery_id\": \"{{delivery_id}}\",\n  \"item_id\": \"{{item_id}}\",\n  \"action_qty\": 0\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//deliveries/:deliveryID/items/:itemID/update-action-qty","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>deliveryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>itemID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>delivery_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>item_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>action_qty</code></td>\n<td>number</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","deliveries",":deliveryID","items",":itemID","update-action-qty"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"fcef3075-8f8f-4343-9650-4691af3d1a58","type":"any","value":"","key":"deliveryID"},{"id":"158703a8-d28d-433c-9b29-d9dc8627cc81","type":"any","value":"","key":"itemID"}]}},"response":[],"_postman_id":"29e730c9-d6d2-4b9e-9a37-57517677a136"},{"name":"Deliveries items split line","id":"10e6f1c1-d386-42ba-9dac-180dd7539255","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"delivery_id\": \"{{delivery_id}}\",\n  \"item_id\": \"{{item_id}}\",\n  \"lines\": [\n    {\n      \"quantity\": 1,\n      \"batch_number\": \"\",\n      \"expiry_date\": \"\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//deliveries/:deliveryID/items/:itemID/split-line","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>deliveryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>itemID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>delivery_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>item_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>lines</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>lines.*.quantity</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>lines.*.batch_number</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>lines.*.expiry_date</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","deliveries",":deliveryID","items",":itemID","split-line"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"b493dee8-b031-4545-8d1f-1e1e33ceae74","type":"any","value":"","key":"deliveryID"},{"id":"cf9312b0-f4ef-4b6c-9f61-d28f748f49e1","type":"any","value":"","key":"itemID"}]}},"response":[],"_postman_id":"10e6f1c1-d386-42ba-9dac-180dd7539255"},{"name":"Deliveries sizes list","id":"351e5026-1630-48c2-a60f-7f8db1a4d61b","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//deliveries/:deliveryID/sizes","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>deliveryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>delivery_id</code></td>\n<td>Filter by Delivery Id.</td>\n</tr>\n<tr>\n<td><code>unit</code></td>\n<td>Filter by Unit.</td>\n</tr>\n<tr>\n<td><code>qty_from</code></td>\n<td>Filter by Qty From.</td>\n</tr>\n<tr>\n<td><code>qty_to</code></td>\n<td>Filter by Qty To.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>delivery</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","deliveries",":deliveryID","sizes"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Delivery Id.</p>\n","type":"text/plain"},"key":"delivery_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Unit.</p>\n","type":"text/plain"},"key":"unit","value":""},{"disabled":true,"description":{"content":"<p>Filter by Qty From.</p>\n","type":"text/plain"},"key":"qty_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Qty To.</p>\n","type":"text/plain"},"key":"qty_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>delivery</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"bbc6108b-8136-484e-9318-c3ea81a58469","type":"any","value":"","key":"deliveryID"}]}},"response":[],"_postman_id":"351e5026-1630-48c2-a60f-7f8db1a4d61b"},{"name":"Deliveries sizes create","id":"487c0be6-35b7-4938-8868-b0b5e0f97c38","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"delivery_id\": \"{{delivery_id}}\",\n  \"sizes\": [\n    {\n      \"id\": null,\n      \"unit\": \"1\",\n      \"qty\": 0\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//deliveries/:deliveryID/sizes","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>deliveryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>delivery_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sizes</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sizes.*.id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sizes.*.unit</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>sizes.*.qty</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","deliveries",":deliveryID","sizes"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"0e0b9f41-9b17-41c6-8b21-ff081301f2d9","type":"any","value":"","key":"deliveryID"}]}},"response":[],"_postman_id":"487c0be6-35b7-4938-8868-b0b5e0f97c38"},{"name":"Deliveries tags search","id":"725c9a46-e572-4ece-a2ce-fd52e4152e3f","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//deliveries/tags","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","deliveries","tags"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"description":{"content":"<p>NOTE: filters are FLAT query params named after the filter method (e.g. ?ids=1,2&amp;store_id=5), resolved by App\\Filters\\QueryFilters against top-level request keys — there is NO nested filter[...] contract at runtime, so none is declared/documented here.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"key":"sort_direction","value":""},{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"key":"page","value":""},{"disabled":true,"key":"per_page","value":""}],"variable":[]}},"response":[],"_postman_id":"725c9a46-e572-4ece-a2ce-fd52e4152e3f"},{"name":"Deliveries tags attached tags","id":"80368aaa-41cf-477b-a3fd-cb7378d79e96","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//deliveries/attached-tags?company_id=","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>delivery_ids[]</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","deliveries","attached-tags"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"disabled":true,"key":"delivery_ids[]","value":""}],"variable":[]}},"response":[],"_postman_id":"80368aaa-41cf-477b-a3fd-cb7378d79e96"},{"name":"Deliveries tags list","id":"83cf8154-79ab-4dc0-a03b-6e7f3f5e36fd","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//deliveries/:deliveryID/tags","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>deliveryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>delivery_id</code></td>\n<td>Filter by Delivery Id.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>company</code></li>\n<li><code>delivery</code></li>\n<li><code>tag</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","deliveries",":deliveryID","tags"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Delivery Id.</p>\n","type":"text/plain"},"key":"delivery_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>company</code> - <code>delivery</code> - <code>tag</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"4cefd416-c856-4fc1-8153-8bfe7a1ae388","type":"any","value":"","key":"deliveryID"}]}},"response":[],"_postman_id":"83cf8154-79ab-4dc0-a03b-6e7f3f5e36fd"},{"name":"Deliveries tags create","id":"51c2ed41-8b23-4f19-9bdb-5e7883f14ab3","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"delivery_id\": \"{{delivery_id}}\",\n  \"name\": \"name\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//deliveries/:deliveryID/tags","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>deliveryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>delivery_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","deliveries",":deliveryID","tags"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"7f9c6ff0-d824-4750-8e02-8c613fa2d79d","type":"any","value":"","key":"deliveryID"}]}},"response":[],"_postman_id":"51c2ed41-8b23-4f19-9bdb-5e7883f14ab3"},{"name":"Deliveries tags attach","id":"d9028a1b-61bb-402c-afb0-bb639a05e11e","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"delivery_id\": \"{{delivery_id}}\",\n  \"tag_id\": \"{{tag_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//deliveries/:deliveryID/tags/:tagID/attach","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>deliveryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>tagID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>delivery_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tag_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","deliveries",":deliveryID","tags",":tagID","attach"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"db588be5-651b-4363-b712-784baeec00a8","type":"any","value":"","key":"deliveryID"},{"id":"7a5c8a48-f6ac-46af-86d2-3cbc42a748ca","type":"any","value":"","key":"tagID"}]}},"response":[],"_postman_id":"d9028a1b-61bb-402c-afb0-bb639a05e11e"},{"name":"Deliveries tags detach","id":"e0f6394f-d26d-454c-b1f7-fb893fd72f82","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"delivery_id\": \"{{delivery_id}}\",\n  \"tag_id\": \"{{tag_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//deliveries/:deliveryID/tags/:tagID/detach","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>deliveryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>tagID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>delivery_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tag_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","deliveries",":deliveryID","tags",":tagID","detach"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"17c42e79-53b4-495d-9834-9a601ed9e9ab","type":"any","value":"","key":"deliveryID"},{"id":"e02fa4e1-b0de-406f-a9bf-8efd77706424","type":"any","value":"","key":"tagID"}]}},"response":[],"_postman_id":"e0f6394f-d26d-454c-b1f7-fb893fd72f82"}],"id":"c751bab1-d05b-4507-9a75-29968ef7e2d0","description":"<p><strong>Deliveries</strong> — 40 endpoints.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"c751bab1-d05b-4507-9a75-29968ef7e2d0","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Delivery Manifest","item":[{"name":"Delivery manifest extract items","id":"9d4fe348-f818-42de-a02a-d4a33d5bf1f3","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"imageUrls\": [\n    \"\"\n  ],\n  \"suppliers\": [\n    \"\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//delivery-manifest/extract-items","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>imageUrls</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>suppliers</code></td>\n<td>array</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","delivery-manifest","extract-items"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"9d4fe348-f818-42de-a02a-d4a33d5bf1f3"}],"id":"af7f2840-a7c5-4d91-a389-a69c133f7cf1","description":"<p><strong>Delivery Manifest</strong> — 1 endpoint.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"af7f2840-a7c5-4d91-a389-a69c133f7cf1","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Despatch Target Rules","item":[{"name":"Despatch target rules list","id":"620d8450-f3df-4149-bc54-9cc93a535f5c","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//despatch-target-rules","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>query</code></td>\n<td>Filter by Query.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>conditionGroups</code></li>\n<li><code>actions</code></li>\n<li><code>customSchedules</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","despatch-target-rules"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Query.</p>\n","type":"text/plain"},"key":"query","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>conditionGroups</code> - <code>actions</code> - <code>customSchedules</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[]}},"response":[],"_postman_id":"620d8450-f3df-4149-bc54-9cc93a535f5c"},{"name":"Despatch target rules create","id":"2d29b6cc-b762-400b-995c-369210965f4b","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"name\": \"name\",\n  \"despatch_target_hour\": 1,\n  \"schedule_type\": \"1\",\n  \"store_and_channels\": [\n    0\n  ],\n  \"conditions\": [\n    [\n      {\n        \"field\": 1,\n        \"operator\": 0,\n        \"value\": [\n          \"\"\n        ]\n      }\n    ]\n  ],\n  \"custom_schedules\": [\n    {\n      \"day_of_week\": 1,\n      \"is_active\": false,\n      \"start_time\": \"\",\n      \"end_time\": \"\"\n    }\n  ],\n  \"actions\": [\n    {\n      \"action\": 1,\n      \"value\": [\n        \"\"\n      ]\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//despatch-target-rules","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>despatch_target_hour</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>schedule_type</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>store_and_channels</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>conditions</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>custom_schedules</code></td>\n<td>array</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>custom_schedules.*.day_of_week</code></td>\n<td>integer</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code></td>\n</tr>\n<tr>\n<td><code>custom_schedules.*.is_active</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>custom_schedules.*.start_time</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>custom_schedules.*.end_time</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>actions</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>actions.*.action</code></td>\n<td>integer</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code></td>\n</tr>\n<tr>\n<td><code>actions.*.value</code></td>\n<td>array</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","despatch-target-rules"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"2d29b6cc-b762-400b-995c-369210965f4b"},{"name":"Despatch target rules show","id":"f9deebc5-5bde-4c85-99b1-9e024d90fac1","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//despatch-target-rules/:despatchTargetRuleID","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>despatchTargetRuleID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>conditionGroups</code></li>\n<li><code>actions</code></li>\n<li><code>customSchedules</code></li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","despatch-target-rules",":despatchTargetRuleID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>conditionGroups</code> - <code>actions</code> - <code>customSchedules</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"c582d6cf-4471-48cf-b562-6699d2c899d5","type":"any","value":"","key":"despatchTargetRuleID"}]}},"response":[],"_postman_id":"f9deebc5-5bde-4c85-99b1-9e024d90fac1"},{"name":"Despatch target rules update","id":"0cd391e9-8b5c-4a43-a97f-e370c9e5cf86","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"name\": \"name\",\n  \"despatch_target_hour\": 1,\n  \"schedule_type\": \"1\",\n  \"store_and_channels\": [\n    0\n  ],\n  \"conditions\": [\n    [\n      {\n        \"field\": 1,\n        \"operator\": 0,\n        \"value\": [\n          \"\"\n        ]\n      }\n    ]\n  ],\n  \"custom_schedules\": [\n    {\n      \"day_of_week\": 1,\n      \"is_active\": false,\n      \"start_time\": \"\",\n      \"end_time\": \"\"\n    }\n  ],\n  \"actions\": [\n    {\n      \"action\": 1,\n      \"value\": [\n        \"\"\n      ]\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//despatch-target-rules/:despatchTargetRuleID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>despatchTargetRuleID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>despatch_target_hour</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>schedule_type</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>store_and_channels</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>conditions</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>custom_schedules</code></td>\n<td>array</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>custom_schedules.*.day_of_week</code></td>\n<td>integer</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code></td>\n</tr>\n<tr>\n<td><code>custom_schedules.*.is_active</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>custom_schedules.*.start_time</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>custom_schedules.*.end_time</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>actions</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>actions.*.action</code></td>\n<td>integer</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code></td>\n</tr>\n<tr>\n<td><code>actions.*.value</code></td>\n<td>array</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","despatch-target-rules",":despatchTargetRuleID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"cd58f22a-fd62-4d53-8b4d-8ba22404db09","type":"any","value":"","key":"despatchTargetRuleID"}]}},"response":[],"_postman_id":"0cd391e9-8b5c-4a43-a97f-e370c9e5cf86"},{"name":"Despatch target rules delete","id":"1514530d-0281-447c-a288-6191d27797b8","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//despatch-target-rules/:despatchTargetRuleID?company_id=&despatch_target_rule_id=","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>despatchTargetRuleID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>despatch_target_rule_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","despatch-target-rules",":despatchTargetRuleID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"despatch_target_rule_id","value":""}],"variable":[{"id":"5c70db44-139e-47a5-be0c-bd9749f95bf2","type":"any","value":"","key":"despatchTargetRuleID"}]}},"response":[],"_postman_id":"1514530d-0281-447c-a288-6191d27797b8"},{"name":"Despatch target rules change status","id":"279930a3-473e-4abb-aeac-aa02cbeab32d","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//despatch-target-rules/:despatchTargetRuleID/change-status","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>despatchTargetRuleID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","despatch-target-rules",":despatchTargetRuleID","change-status"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"6cf3f95a-c0a2-4be3-846a-fd798b8cf479","type":"any","value":"","key":"despatchTargetRuleID"}]}},"response":[],"_postman_id":"279930a3-473e-4abb-aeac-aa02cbeab32d"},{"name":"Despatch target rules duplicate","id":"a26c6200-bb22-48ba-bd7a-e49b6a61fe27","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//despatch-target-rules/:despatchTargetRuleID/duplicate","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>despatchTargetRuleID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","despatch-target-rules",":despatchTargetRuleID","duplicate"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"d13ef62b-d427-4712-a396-d398879ad091","type":"any","value":"","key":"despatchTargetRuleID"}]}},"response":[],"_postman_id":"a26c6200-bb22-48ba-bd7a-e49b6a61fe27"},{"name":"Despatch target rules sorting","id":"cd470a3a-2eeb-4471-9d94-3454856173db","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"sorting\": [\n    {\n      \"id\": \"{{id}}\",\n      \"order\": 0\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//despatch-target-rules/sorting","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sorting</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sorting.*.id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sorting.*.order</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","despatch-target-rules","sorting"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"cd470a3a-2eeb-4471-9d94-3454856173db"},{"name":"Despatch target rules save conditions","id":"b0214617-1b3a-48e3-8551-eda98e325242","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"name\": \"name\",\n  \"conditions\": [\n    [\n      {\n        \"field\": 1,\n        \"operator\": 0,\n        \"value\": [\n          \"\"\n        ]\n      }\n    ]\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//despatch-target-rules/save-conditions","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>conditions</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","despatch-target-rules","save-conditions"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"b0214617-1b3a-48e3-8551-eda98e325242"},{"name":"Despatch target rules saved conditions","id":"86e9a5ce-bb9d-4f01-bd06-f3cfb2880a15","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//despatch-target-rules/saved-conditions?company_id=","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","despatch-target-rules","saved-conditions"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""}],"variable":[]}},"response":[],"_postman_id":"86e9a5ce-bb9d-4f01-bd06-f3cfb2880a15"},{"name":"Despatch target rules delete saved conditions","id":"7f1b7f68-af4c-410e-ab5a-361f8367fe07","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//despatch-target-rules/delete-saved-conditions/:savedConditionID?company_id=&saved_condition_id=","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>savedConditionID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>saved_condition_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","despatch-target-rules","delete-saved-conditions",":savedConditionID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"saved_condition_id","value":""}],"variable":[{"id":"11933c96-eb25-45c8-a076-267a1d408850","type":"any","value":"","key":"savedConditionID"}]}},"response":[],"_postman_id":"7f1b7f68-af4c-410e-ab5a-361f8367fe07"},{"name":"Despatch target rules restore conditions","id":"6ad50cc6-1f4e-4dfa-b4c4-aa3e283c945b","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"saved_condition_id\": \"{{saved_condition_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//despatch-target-rules/restore-conditions/:savedConditionID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>savedConditionID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>saved_condition_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","despatch-target-rules","restore-conditions",":savedConditionID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"70513cab-26ca-4575-b254-9ebeaf1dbc46","type":"any","value":"","key":"savedConditionID"}]}},"response":[],"_postman_id":"6ad50cc6-1f4e-4dfa-b4c4-aa3e283c945b"}],"id":"3b81373e-7f74-4355-b4f8-29637ae3aaf5","description":"<p><strong>Despatch Target Rules</strong> — 12 endpoints.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"3b81373e-7f74-4355-b4f8-29637ae3aaf5","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Document Rules","item":[{"name":"Document rules list","id":"ec11217a-59c4-4499-a84c-5e266ee0a053","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//document-rules","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>query</code></td>\n<td>Filter by Query.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>conditionGroups</code></li>\n<li><code>printTemplate</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","document-rules"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Query.</p>\n","type":"text/plain"},"key":"query","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>conditionGroups</code> - <code>printTemplate</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[]}},"response":[],"_postman_id":"ec11217a-59c4-4499-a84c-5e266ee0a053"},{"name":"Document rules create","id":"35a968e3-97d0-4415-812a-376a772e8822","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//document-rules","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","document-rules"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"35a968e3-97d0-4415-812a-376a772e8822"},{"name":"Document rules show","id":"47555517-0b8b-4796-b7da-a040050faf08","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//document-rules/:documentRuleID","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>documentRuleID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>conditionGroups</code></li>\n<li><code>printTemplate</code></li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","document-rules",":documentRuleID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>conditionGroups</code> - <code>printTemplate</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"256c28d7-81fb-48bb-9962-4ebfa6641493","type":"any","value":"","key":"documentRuleID"}]}},"response":[],"_postman_id":"47555517-0b8b-4796-b7da-a040050faf08"},{"name":"Document rules update","id":"9eb13365-0570-4fce-98be-2402e41d295d","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//document-rules/:documentRuleID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>documentRuleID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","document-rules",":documentRuleID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"0b7b4869-2a0e-4f89-8dcb-0f070ad78494","type":"any","value":"","key":"documentRuleID"}]}},"response":[],"_postman_id":"9eb13365-0570-4fce-98be-2402e41d295d"},{"name":"Document rules change status","id":"fc0d2b5b-815f-463d-b982-90b8524b5011","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"document_rule_id\": \"{{document_rule_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//document-rules/:documentRuleID/change-status","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>documentRuleID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>document_rule_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","document-rules",":documentRuleID","change-status"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"14f63dc6-ccb3-4309-8fbb-2d85b4271026","type":"any","value":"","key":"documentRuleID"}]}},"response":[],"_postman_id":"fc0d2b5b-815f-463d-b982-90b8524b5011"},{"name":"Document rules duplicate","id":"4f915822-07e5-4ece-a4fe-21c2c4a9c012","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"document_rule_id\": \"{{document_rule_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//document-rules/:documentRuleID/duplicate","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>documentRuleID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>document_rule_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","document-rules",":documentRuleID","duplicate"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"c75b9a59-c0a8-47e8-ae03-af90b379ca38","type":"any","value":"","key":"documentRuleID"}]}},"response":[],"_postman_id":"4f915822-07e5-4ece-a4fe-21c2c4a9c012"},{"name":"Document rules saved conditions","id":"e1467e61-164e-4cb3-b96f-9e2f1520d2c2","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//document-rules/saved-conditions?company_id=","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","document-rules","saved-conditions"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""}],"variable":[]}},"response":[],"_postman_id":"e1467e61-164e-4cb3-b96f-9e2f1520d2c2"},{"name":"Document rules save conditions","id":"a518181f-e203-44c3-955d-6dee7fc91bb9","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"name\": \"name\",\n  \"conditions\": [\n    [\n      {\n        \"field\": 6,\n        \"operator\": 0,\n        \"value\": [\n          \"\"\n        ]\n      }\n    ]\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//document-rules/save-conditions","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>conditions</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","document-rules","save-conditions"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"a518181f-e203-44c3-955d-6dee7fc91bb9"},{"name":"PATCH /sorting — reorder the company's document rules","id":"66362649-03b4-43d2-9efa-70721bf8765f","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"sorting\": [\n    {\n      \"id\": \"{{id}}\",\n      \"order\": 0\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//document-rules/sorting","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sorting</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sorting.*.id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sorting.*.order</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","document-rules","sorting"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"66362649-03b4-43d2-9efa-70721bf8765f"},{"name":"Document rules delete saved conditions","id":"f2b73563-b641-42ed-9f99-844082c7d070","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//document-rules/delete-saved-conditions/:savedConditionID?company_id=&saved_condition_id=","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>savedConditionID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>saved_condition_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","document-rules","delete-saved-conditions",":savedConditionID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"saved_condition_id","value":""}],"variable":[{"id":"0211ba42-a272-4af9-b10f-73e1c347b774","type":"any","value":"","key":"savedConditionID"}]}},"response":[],"_postman_id":"f2b73563-b641-42ed-9f99-844082c7d070"},{"name":"Document rules restore conditions","id":"8a59f08e-62a1-4bba-8dec-bb483a7c7d52","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"saved_condition_id\": \"{{saved_condition_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//document-rules/restore-conditions/:savedConditionID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>savedConditionID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>saved_condition_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","document-rules","restore-conditions",":savedConditionID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"a3adc461-3ec5-432d-aabb-dd17b4c7eaea","type":"any","value":"","key":"savedConditionID"}]}},"response":[],"_postman_id":"8a59f08e-62a1-4bba-8dec-bb483a7c7d52"}],"id":"442b5800-e699-4f92-bb0f-d80522954fcf","description":"<p><strong>Document Rules</strong> — 11 endpoints.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"442b5800-e699-4f92-bb0f-d80522954fcf","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Email Templates","item":[{"name":"Email templates list","id":"0333ae11-40ae-4141-921c-a81e5d8567e2","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//email-templates","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>query</code></td>\n<td>Filter by Query.</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>Filter by Name.</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>Filter by Type.</td>\n</tr>\n<tr>\n<td><code>format</code></td>\n<td>Filter by Format.</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>Filter by Status.</td>\n</tr>\n<tr>\n<td><code>tags</code></td>\n<td>Filter by Tags.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","email-templates"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Query.</p>\n","type":"text/plain"},"key":"query","value":""},{"disabled":true,"description":{"content":"<p>Filter by Name.</p>\n","type":"text/plain"},"key":"name","value":""},{"disabled":true,"description":{"content":"<p>Filter by Type.</p>\n","type":"text/plain"},"key":"type","value":""},{"disabled":true,"description":{"content":"<p>Filter by Format.</p>\n","type":"text/plain"},"key":"format","value":""},{"disabled":true,"description":{"content":"<p>Filter by Status.</p>\n","type":"text/plain"},"key":"status","value":""},{"disabled":true,"description":{"content":"<p>Filter by Tags.</p>\n","type":"text/plain"},"key":"tags","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""}],"variable":[]}},"response":[],"_postman_id":"0333ae11-40ae-4141-921c-a81e5d8567e2"},{"name":"Email templates create","id":"835421ca-3a75-4860-8bb8-5cb258c7367a","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"name\": \"name\",\n  \"format\": \"1\",\n  \"type\": \"1\",\n  \"html\": \"\",\n  \"json\": \"\",\n  \"file_manager_id\": \"{{file_manager_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//email-templates","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>format</code></td>\n<td>string</td>\n<td>yes</td>\n<td><strong>EMailTemplateFormats</strong> values: - <code>1</code> = HTML - <code>2</code> = EDITOR Allowed: <code>1</code>, <code>2</code></td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code></td>\n</tr>\n<tr>\n<td><code>html</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>json</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>file_manager_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","email-templates"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"835421ca-3a75-4860-8bb8-5cb258c7367a"},{"name":"Email templates show","id":"b3a27dd0-58e8-405f-b7b5-34d3bb94e960","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//email-templates/:emailTemplateID","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>emailTemplateID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","email-templates",":emailTemplateID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""}],"variable":[{"id":"101f98ab-fcd7-47bf-9edf-8ad086d2d5ae","type":"any","value":"","key":"emailTemplateID"}]}},"response":[],"_postman_id":"b3a27dd0-58e8-405f-b7b5-34d3bb94e960"},{"name":"Email templates update","id":"3214d87c-7902-4f31-9ad9-14053fb65c19","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"email_template_id\": \"{{email_template_id}}\",\n  \"name\": \"name\",\n  \"format\": \"1\",\n  \"html\": \"\",\n  \"json\": \"\",\n  \"file_manager_id\": \"{{file_manager_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//email-templates/:emailTemplateID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>emailTemplateID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>email_template_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>format</code></td>\n<td>string</td>\n<td>yes</td>\n<td><strong>EMailTemplateFormats</strong> values: - <code>1</code> = HTML - <code>2</code> = EDITOR Allowed: <code>1</code>, <code>2</code></td>\n</tr>\n<tr>\n<td><code>html</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>json</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>file_manager_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","email-templates",":emailTemplateID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"530a72f7-4cca-4e8b-ba66-383490aac334","type":"any","value":"","key":"emailTemplateID"}]}},"response":[],"_postman_id":"3214d87c-7902-4f31-9ad9-14053fb65c19"},{"name":"Email templates update patch","id":"2952bc38-8442-4cde-b7d0-2bf5ce956a85","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"email_template_id\": \"{{email_template_id}}\",\n  \"name\": \"name\",\n  \"format\": \"1\",\n  \"html\": \"\",\n  \"json\": \"\",\n  \"file_manager_id\": \"{{file_manager_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//email-templates/:emailTemplateID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>emailTemplateID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>email_template_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>format</code></td>\n<td>string</td>\n<td>yes</td>\n<td><strong>EMailTemplateFormats</strong> values: - <code>1</code> = HTML - <code>2</code> = EDITOR Allowed: <code>1</code>, <code>2</code></td>\n</tr>\n<tr>\n<td><code>html</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>json</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>file_manager_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","email-templates",":emailTemplateID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"aa9242ad-b4c4-4f4f-8843-308e2a9e53d9","type":"any","value":"","key":"emailTemplateID"}]}},"response":[],"_postman_id":"2952bc38-8442-4cde-b7d0-2bf5ce956a85"},{"name":"Email templates delete","id":"8c8b1777-f4db-41c2-99f6-e20c057461b3","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//email-templates/:emailTemplateID?company_id=&email_template_id=","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>emailTemplateID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>email_template_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","email-templates",":emailTemplateID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"email_template_id","value":""}],"variable":[{"id":"8f3d04b6-5519-4ded-95e9-f44c6fa8ed6d","type":"any","value":"","key":"emailTemplateID"}]}},"response":[],"_postman_id":"8c8b1777-f4db-41c2-99f6-e20c057461b3"},{"name":"Email templates default","id":"23ac08c3-9154-4bea-b605-9d48dc4383e6","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//email-templates/default?types[]=","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>types[]</code></td>\n<td>Options: <code>1</code>, <code>2</code></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","email-templates","default"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"types[]","value":""}],"variable":[]}},"response":[],"_postman_id":"23ac08c3-9154-4bea-b605-9d48dc4383e6"},{"name":"Email templates test email","id":"83697e85-8745-4568-971e-bed8faf45afe","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"html\": \"\",\n  \"emails\": [\n    \"user@example.com\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//email-templates/test-email","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>html</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>emails</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","email-templates","test-email"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"83697e85-8745-4568-971e-bed8faf45afe"},{"name":"Email templates duplicate","id":"e4889d82-c98a-4f90-8f17-d8f0a8e17751","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//email-templates/:emailTemplateID/duplicate?company_id=&email_template_id=","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>emailTemplateID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>email_template_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","email-templates",":emailTemplateID","duplicate"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"email_template_id","value":""}],"variable":[{"id":"3c67fa6f-de2a-4a33-aecd-eacc8e9ee460","type":"any","value":"","key":"emailTemplateID"}]}},"response":[],"_postman_id":"e4889d82-c98a-4f90-8f17-d8f0a8e17751"},{"name":"Email templates toggle","id":"315d832d-ebb8-487a-9dc6-46e932205b2e","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"email_template_id\": \"{{email_template_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//email-templates/:emailTemplateID/toggle","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>emailTemplateID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>email_template_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","email-templates",":emailTemplateID","toggle"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"88a338ac-7105-4960-be34-035f0ea347be","type":"any","value":"","key":"emailTemplateID"}]}},"response":[],"_postman_id":"315d832d-ebb8-487a-9dc6-46e932205b2e"},{"name":"Email templates tags list","id":"0de4ae92-4f1c-4c18-83f4-81563fc24eea","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//email-templates/tags","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","email-templates","tags"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"description":{"content":"<p>NOTE: filters are FLAT query params named after the filter method (e.g. ?ids=1,2&amp;store_id=5), resolved by App\\Filters\\QueryFilters against top-level request keys — there is NO nested filter[...] contract at runtime, so none is declared/documented here.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"key":"sort_direction","value":""},{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"key":"page","value":""},{"disabled":true,"key":"per_page","value":""}],"variable":[]}},"response":[],"_postman_id":"0de4ae92-4f1c-4c18-83f4-81563fc24eea"},{"name":"Email templates tags add","id":"33e71c71-3f39-459f-8b2d-f8cf07264400","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"name\",\n  \"company_id\": \"\",\n  \"email_template_id\": \"{{email_template_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//email-templates/:emailTemplateID/tags","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>emailTemplateID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>email_template_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","email-templates",":emailTemplateID","tags"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"529e2920-92e7-4f8c-bcb3-0a5c43a6ba33","type":"any","value":"","key":"emailTemplateID"}]}},"response":[],"_postman_id":"33e71c71-3f39-459f-8b2d-f8cf07264400"},{"name":"Email templates tags attach","id":"2a4b5e65-8c38-4fb4-8c0e-1aaebfa085bd","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"email_template_id\": \"{{email_template_id}}\",\n  \"tag_id\": \"{{tag_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//email-templates/:emailTemplateID/tags/attach/:tagID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>emailTemplateID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>tagID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>email_template_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tag_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","email-templates",":emailTemplateID","tags","attach",":tagID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"be5ac6f6-8eca-4b4a-9b33-b112c5de3f13","type":"any","value":"","key":"emailTemplateID"},{"id":"f57e7218-73d5-43e7-a155-3b59501850a6","type":"any","value":"","key":"tagID"}]}},"response":[],"_postman_id":"2a4b5e65-8c38-4fb4-8c0e-1aaebfa085bd"},{"name":"Email templates tags detach","id":"15f1d34a-8fa0-4438-8667-df571fde5974","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"email_template_id\": \"{{email_template_id}}\",\n  \"tag_id\": \"{{tag_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//email-templates/:emailTemplateID/tags/detach/:tagID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>emailTemplateID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>tagID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>email_template_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tag_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","email-templates",":emailTemplateID","tags","detach",":tagID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"b5a69928-7bd1-4492-9fff-a307dcf12cbe","type":"any","value":"","key":"emailTemplateID"},{"id":"2a046662-e492-45c1-95a5-79ebd10407b0","type":"any","value":"","key":"tagID"}]}},"response":[],"_postman_id":"15f1d34a-8fa0-4438-8667-df571fde5974"}],"id":"02d3c2de-1ab9-4e1e-a645-dd6665e32aac","description":"<p><strong>Email Templates</strong> — 14 endpoints.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"02d3c2de-1ab9-4e1e-a645-dd6665e32aac","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Virtual Stock","item":[{"name":"Virtual stock list","id":"8bc975bc-37ff-4a3a-91d7-0fe25346990b","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/{{inventory_id}}/external-stocks","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory","{{inventory_id}}","external-stocks"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"8bc975bc-37ff-4a3a-91d7-0fe25346990b"},{"name":"Virtual stock create","id":"29295d1c-5f51-4255-b68c-cacec9bcc79e","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"inventory_id\": \"{{inventory_id}}\",\n  \"source_id\": 1,\n  \"quantity\": 1\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/{{inventory_id}}/external-stocks","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventory_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>source_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>quantity</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory","{{inventory_id}}","external-stocks"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"29295d1c-5f51-4255-b68c-cacec9bcc79e"},{"name":"Virtual stock set by source","id":"5a2b6979-c3f7-4f75-81ff-7fa5425f69cb","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"inventory_id\": \"{{inventory_id}}\",\n  \"external_stock_source_id\": \"{{external_stock_source_id}}\",\n  \"quantity\": 1\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/{{inventory_id}}/external-stocks/by-source/{{external_stock_source_id}}","description":"<p>Creates the entry if it does not exist yet and overwrites the quantity if it does, so the\nsame call can be replayed safely - you do not need to store the entry id. A product holds at\nmost one entry per source. The source must be active.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>externalStockSourceID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventory_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>external_stock_source_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>quantity</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory","{{inventory_id}}","external-stocks","by-source","{{external_stock_source_id}}"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"5a2b6979-c3f7-4f75-81ff-7fa5425f69cb"},{"name":"Virtual stock update","id":"911cd236-483b-407f-b616-e862a8b22d5f","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"inventory_id\": \"{{inventory_id}}\",\n  \"external_stock_id\": \"{{external_stock_id}}\",\n  \"quantity\": 1\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/{{inventory_id}}/external-stocks/{{external_stock_id}}","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>externalStockID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventory_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>external_stock_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>quantity</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory","{{inventory_id}}","external-stocks","{{external_stock_id}}"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"911cd236-483b-407f-b616-e862a8b22d5f"},{"name":"Virtual stock update (patch)","id":"e3d037ee-364f-4693-9753-3713c57038d7","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"inventory_id\": \"{{inventory_id}}\",\n  \"external_stock_id\": \"{{external_stock_id}}\",\n  \"quantity\": 1\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/{{inventory_id}}/external-stocks/{{external_stock_id}}","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>externalStockID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventory_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>external_stock_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>quantity</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory","{{inventory_id}}","external-stocks","{{external_stock_id}}"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"e3d037ee-364f-4693-9753-3713c57038d7"},{"name":"Virtual stock delete","id":"e0a6dd35-3e1f-421b-816e-99631b22a16d","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/{{inventory_id}}/external-stocks/{{external_stock_id}}","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>externalStockID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory","{{inventory_id}}","external-stocks","{{external_stock_id}}"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"e0a6dd35-3e1f-421b-816e-99631b22a16d"},{"name":"Virtual stock history","id":"8094d758-2e7e-4ddd-88a8-ddd9a02b860e","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/{{inventory_id}}/external-stocks/{{external_stock_id}}/logs","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>externalStockID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory","{{inventory_id}}","external-stocks","{{external_stock_id}}","logs"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"8094d758-2e7e-4ddd-88a8-ddd9a02b860e"}],"id":"2af2bf37-4bf0-4760-8b48-11d9feadc623","_postman_id":"2af2bf37-4bf0-4760-8b48-11d9feadc623","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Virtual Stock Sources","item":[{"name":"Virtual stock source list","id":"f2915f9c-efc7-44bc-b760-d082dbf940f4","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//external-stock-sources","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","external-stock-sources"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"f2915f9c-efc7-44bc-b760-d082dbf940f4"},{"name":"Virtual stock source create","id":"bb0042f6-de5e-4af7-a6ea-c008caee37b6","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"name\": \"string\",\n  \"is_active\": true\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//external-stock-sources","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>is_active</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","external-stock-sources"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"bb0042f6-de5e-4af7-a6ea-c008caee37b6"},{"name":"Virtual stock source show","id":"0ec6d6d0-1f93-47d9-8630-1927c2a6b38f","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//external-stock-sources/{{external_stock_source_id}}","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>externalStockSourceID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","external-stock-sources","{{external_stock_source_id}}"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"0ec6d6d0-1f93-47d9-8630-1927c2a6b38f"},{"name":"Virtual stock source update","id":"6b97670e-e3e5-4622-85ac-53bc8460900f","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"external_stock_source_id\": \"{{external_stock_source_id}}\",\n  \"name\": \"string\",\n  \"is_active\": true\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//external-stock-sources/{{external_stock_source_id}}","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>externalStockSourceID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>external_stock_source_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>integer</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>is_active</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","external-stock-sources","{{external_stock_source_id}}"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"6b97670e-e3e5-4622-85ac-53bc8460900f"},{"name":"Virtual stock source update (patch)","id":"ce7a3437-53a7-4164-ac01-8a1409697e55","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"external_stock_source_id\": \"{{external_stock_source_id}}\",\n  \"name\": \"string\",\n  \"is_active\": true\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//external-stock-sources/{{external_stock_source_id}}","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>externalStockSourceID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>external_stock_source_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>integer</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>is_active</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","external-stock-sources","{{external_stock_source_id}}"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"ce7a3437-53a7-4164-ac01-8a1409697e55"},{"name":"Virtual stock source delete","id":"3fd30b7a-9195-40a8-9c83-dbef75fd595f","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//external-stock-sources/{{external_stock_source_id}}","description":"<p>A source can be deleted while products are using it; doing so also removes it from every one\nof those products, lowering their Available quantity accordingly.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>externalStockSourceID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","external-stock-sources","{{external_stock_source_id}}"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"3fd30b7a-9195-40a8-9c83-dbef75fd595f"}],"id":"3e2b0a1f-e3f4-4f1f-a8d9-a12861cb4621","_postman_id":"3e2b0a1f-e3f4-4f1f-a8d9-a12861cb4621","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"File Manager","item":[{"name":"File manager upload","id":"083134ae-5986-4ad6-9ffd-e657040df61a","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"}],"body":{"mode":"formdata","formdata":[{"key":"type","value":"6","type":"text","description":"<p>6 = INVENTORY (product image), 7 = ORDER (order attachment)</p>\n"},{"key":"file","type":"file","description":"<p>max 10 MB; image: png/jpg/jpeg, order attachment: pdf/doc/docx/csv/png/jpg/jpeg</p>\n","src":[]}]},"url":"https://app-api.helmwms.app/api/v2/companies//file-manager/upload","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<p>Uploads a file as <code>multipart/form-data</code> and returns its id, ready to be attached to a record.</p>\n<p>Two kinds of file can be created through the API:</p>\n<ul>\n<li><code>type</code> = <code>6</code> (INVENTORY) — a product image (<code>png</code>, <code>jpg</code>, <code>jpeg</code>). Attach the returned id with\n<code>POST /companies/{companyID}/inventory/{inventoryID}/image</code>, or as <code>file_manager_id</code> on inventory\ncreate/update. If your images are already on a public URL you do not need this endpoint — send\n<code>image_url</code> instead.</li>\n<li><code>type</code> = <code>7</code> (ORDER) — an order attachment (<code>pdf</code>, <code>doc</code>, <code>docx</code>, <code>csv</code>, <code>png</code>, <code>jpg</code>, <code>jpeg</code>).\nAttach the returned id with <code>POST /companies/{companyID}/orders/{orderID}/attachments</code>.</li>\n</ul>\n<p>A file uploaded here is stored permanently: unlike an upload started in the app it is not treated as\na pending temporary file that gets cleaned up when left unattached, so the id stays usable later.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters-multipartform-data\">Body parameters (multipart/form-data)</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>type</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>File kind. <code>6</code> = INVENTORY (product image), <code>7</code> = ORDER (order attachment).</td>\n</tr>\n<tr>\n<td><code>file</code></td>\n<td>file</td>\n<td>yes</td>\n<td>The file, max 10 MB. Product image: <code>png</code>, <code>jpg</code>, <code>jpeg</code>. Order attachment: <code>pdf</code>, <code>doc</code>, <code>docx</code>, <code>csv</code>, <code>png</code>, <code>jpg</code>, <code>jpeg</code>.</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","file-manager","upload"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"083134ae-5986-4ad6-9ffd-e657040df61a"},{"name":"File manager show","id":"a55ef049-73a7-4731-85f6-721fb6446e4e","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//file-manager/:fileManagerID","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<p>Returns a stored file: its kind, name, mime type, URL and generated renditions.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>fileManagerID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response\">Response</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>integer</td>\n<td>File id, the value to pass as <code>file_manager_id</code>.</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>integer</td>\n<td>File kind. <code>6</code> = INVENTORY (product image), <code>7</code> = ORDER (order attachment).</td>\n</tr>\n<tr>\n<td><code>type_name</code></td>\n<td>string</td>\n<td>The kind resolved to its name, e.g. <code>INVENTORY</code>.</td>\n</tr>\n<tr>\n<td><code>path</code></td>\n<td>string</td>\n<td>URL of the file.</td>\n</tr>\n<tr>\n<td><code>file_name</code></td>\n<td>string</td>\n<td>Original file name as uploaded.</td>\n</tr>\n<tr>\n<td><code>mime_type</code></td>\n<td>string</td>\n<td>Stored mime type.</td>\n</tr>\n<tr>\n<td><code>sizes</code></td>\n<td>object|null</td>\n<td>Generated renditions, keyed by pixel width.</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>integer</td>\n<td><code>0</code> pending, <code>1</code> awaiting upload, <code>2</code> uploaded.</td>\n</tr>\n<tr>\n<td><code>status_name</code></td>\n<td>string</td>\n<td>The status resolved to its name, e.g. <code>UPLOADED</code>.</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","file-manager",":fileManagerID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"8a2a03aa-b683-48dd-8cbd-1dc049bc0d74","description":{"content":"<p>Id returned by the upload endpoint.</p>\n","type":"text/plain"},"type":"any","value":"","key":"fileManagerID"}]}},"response":[],"_postman_id":"a55ef049-73a7-4731-85f6-721fb6446e4e"}],"id":"bcdd1f9f-f9b1-4eed-a4d3-2057576b4d53","_postman_id":"bcdd1f9f-f9b1-4eed-a4d3-2057576b4d53","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Fixed Banners","item":[{"name":"Fixed banners list","id":"96983b8a-cd1b-40b6-9c63-73cfcd268065","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//fixed-banners","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","fixed-banners"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""}],"variable":[]}},"response":[],"_postman_id":"96983b8a-cd1b-40b6-9c63-73cfcd268065"},{"name":"Fixed banners show","id":"98f5a40f-3419-4564-8256-324d6c91e6f1","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//fixed-banners/:fixedBannerID?company_id=&fixed_banner_id=","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>fixedBannerID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>fixed_banner_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","fixed-banners",":fixedBannerID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"fixed_banner_id","value":""},{"disabled":true,"key":"includes_count","value":""}],"variable":[{"id":"1d12b498-704b-4d85-b932-4c0643695e89","type":"any","value":"","key":"fixedBannerID"}]}},"response":[],"_postman_id":"98f5a40f-3419-4564-8256-324d6c91e6f1"},{"name":"Fixed banners dismiss","id":"ecd0ef23-f9ea-4a2f-9423-2977e80f8680","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"fixed_banner_id\": \"{{fixed_banner_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//fixed-banners/:fixedBannerID/dismiss","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>fixedBannerID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>fixed_banner_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","fixed-banners",":fixedBannerID","dismiss"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"fe3feb13-2f3c-48e5-aa99-9e2d770e2941","type":"any","value":"","key":"fixedBannerID"}]}},"response":[],"_postman_id":"ecd0ef23-f9ea-4a2f-9423-2977e80f8680"}],"id":"d71564b3-cd2f-40dc-a36d-41e62c45b27f","description":"<p><strong>Fixed Banners</strong> — 3 endpoints.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"d71564b3-cd2f-40dc-a36d-41e62c45b27f","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Global System Notifications","item":[{"name":"Global system notifications list","id":"4eed0d4f-33fb-4ac1-8e51-bdbd763a63ed","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//global-system-notifications","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","global-system-notifications"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""}],"variable":[]}},"response":[],"_postman_id":"4eed0d4f-33fb-4ac1-8e51-bdbd763a63ed"},{"name":"Global system notifications snooze","id":"27f760f6-b42d-4644-b148-f63260c9c8e3","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"notification_id\": \"{{notification_id}}\",\n  \"snooze_delay\": \"1\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//global-system-notifications/:notificationID/snooze","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>notificationID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>notification_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>snooze_delay</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","global-system-notifications",":notificationID","snooze"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"8bb238b8-3c8c-443d-a8a9-4de8af49a591","type":"any","value":"","key":"notificationID"}]}},"response":[],"_postman_id":"27f760f6-b42d-4644-b148-f63260c9c8e3"}],"id":"90a26035-b12c-4c09-a943-1895aabba503","description":"<p><strong>Global System Notifications</strong> — 2 endpoints.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"90a26035-b12c-4c09-a943-1895aabba503","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Import Export","item":[{"name":"Import export exports types","id":"804e9c8d-1f5c-4561-b08e-a43e449c53aa","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//import-export/exports/types","description":"<p><strong>Rate limit:</strong> 10 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","import-export","exports","types"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"804e9c8d-1f5c-4561-b08e-a43e449c53aa"},{"name":"Import export exports mime types","id":"1ad389e3-077d-414d-a923-7a0b79f06cba","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//import-export/exports/mime-types","description":"<p><strong>Rate limit:</strong> 10 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","import-export","exports","mime-types"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"1ad389e3-077d-414d-a923-7a0b79f06cba"},{"name":"Import export exports export","id":"3b56f871-7fde-4208-a5d3-6c0b171c80a5","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"export_name\": \"export_name\",\n  \"export_type\": \"1\",\n  \"mime_type\": \"0\",\n  \"card_file\": \"\",\n  \"elastic_filters\": \"\",\n  \"is_archived\": false,\n  \"recipients\": [\n    \"user@example.com\"\n  ],\n  \"elastic_ignore_ids\": [\n    \"{{elastic_ignore_id}}\"\n  ],\n  \"elastic_sortable\": [\n    {\n      \"field\": \"field\",\n      \"direction\": \"asc\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//import-export/exports/export","description":"<p><strong>Rate limit:</strong> 10 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>export_name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>export_type</code></td>\n<td>string</td>\n<td>yes</td>\n<td><strong>ExportTypes</strong> values: - <code>1</code> = INVENTORY - <code>2</code> = INVENTORY_CATEGORY - <code>3</code> = ORDER - <code>4</code> = CUSTOMER - <code>5</code> = INVENTORY_BARCODE - <code>6</code> = INVENTORY_CONTAINER - <code>7</code> = INVENTORY_TAG - <code>8</code> = ORDER_TAG - <code>9</code> = CUSTOMER_TAG - <code>10</code> = WAREHOUSE_LOCATION - <code>11</code> = LOCATION_STOCK - <code>12</code> = DELIVERY - <code>13</code> = SUPPLIER - <code>14</code> = PURCHASE_ORDER - <code>15</code> = TEAM_MANAGER_WORK_ENTRIES Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code>, <code>9</code>, <code>10</code>, <code>11</code>, <code>12</code>, <code>13</code>, <code>14</code>, <code>15</code></td>\n</tr>\n<tr>\n<td><code>mime_type</code></td>\n<td>string</td>\n<td>yes</td>\n<td><strong>ExportMimeTypes</strong> values: - <code>0</code> = CSV - <code>1</code> = XLSX Allowed: <code>0</code>, <code>1</code></td>\n</tr>\n<tr>\n<td><code>card_file</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>elastic_filters</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>is_archived</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>recipients</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>elastic_ignore_ids</code></td>\n<td>array</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>elastic_sortable</code></td>\n<td>array</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","import-export","exports","export"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"3b56f871-7fde-4208-a5d3-6c0b171c80a5"},{"name":"Import export exports list","id":"0967c58f-a21c-41c5-aa7d-968be42be60b","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//import-export/exports","description":"<p><strong>Rate limit:</strong> 10 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>Filter by Type.</td>\n</tr>\n<tr>\n<td><code>mime_type</code></td>\n<td>Filter by Mime Type.</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>Filter by Status.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>company</code></li>\n<li><code>user</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","import-export","exports"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Type.</p>\n","type":"text/plain"},"key":"type","value":""},{"disabled":true,"description":{"content":"<p>Filter by Mime Type.</p>\n","type":"text/plain"},"key":"mime_type","value":""},{"disabled":true,"description":{"content":"<p>Filter by Status.</p>\n","type":"text/plain"},"key":"status","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>company</code> - <code>user</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[]}},"response":[],"_postman_id":"0967c58f-a21c-41c5-aa7d-968be42be60b"},{"name":"External/file endpoint: streams the generated export file","id":"a5a3e677-4a61-421d-b5f9-73d65e4c4c42","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//import-export/exports/:exportID/download?company_id=&export_id=","description":"<p><strong>Rate limit:</strong> 10 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>exportID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>export_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","import-export","exports",":exportID","download"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"export_id","value":""}],"variable":[{"id":"e3a0d908-7dd0-4662-a80a-31ca456cfece","type":"any","value":"","key":"exportID"}]}},"response":[],"_postman_id":"a5a3e677-4a61-421d-b5f9-73d65e4c4c42"},{"name":"Import export imports types","id":"27532722-92bd-4ebd-b29c-5f90d05a0e28","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//import-export/imports/types","description":"<p><strong>Rate limit:</strong> 10 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","import-export","imports","types"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"27532722-92bd-4ebd-b29c-5f90d05a0e28"},{"name":"Import export imports load","id":"ce75ec9a-032c-4b13-ba1f-7d963a5ec1ef","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"type\": \"type\",\n  \"import\": \"import\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//import-export/imports/load","description":"<p><strong>Rate limit:</strong> 10 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>import</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","import-export","imports","load"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"ce75ec9a-032c-4b13-ba1f-7d963a5ec1ef"},{"name":"Import export imports start","id":"dda821f8-26d3-4f7f-a31d-3a2a343a6b9b","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"type\": \"0\",\n  \"import_name\": \"import_name\",\n  \"key\": \"key\",\n  \"post_action\": false,\n  \"set_status\": \"1\",\n  \"format\": \"csv\",\n  \"mapping_id\": \"{{mapping_id}}\",\n  \"mappings\": [\n    {\n      \"key\": \"code\",\n      \"value\": \"value\",\n      \"is_fixed_value\": false\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//import-export/imports/start","description":"<p><strong>Rate limit:</strong> 10 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>0</code>, <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code>, <code>9</code>, <code>10</code>, <code>11</code>, <code>12</code>, <code>13</code>, <code>14</code>, <code>15</code>, <code>16</code>, <code>17</code></td>\n</tr>\n<tr>\n<td><code>import_name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>key</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>post_action</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>set_status</code></td>\n<td>string</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>8</code></td>\n</tr>\n<tr>\n<td><code>format</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>csv</code>, <code>xls</code>, <code>xlsx</code></td>\n</tr>\n<tr>\n<td><code>mapping_id</code></td>\n<td>integer</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>mappings</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>mappings.*.key</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>code</code>, <code>parent_code</code>, <code>name</code>, <code>type</code>, <code>batching_type</code>, <code>sync_stock</code>, <code>quantity</code>, <code>group_quantity</code>, <code>inventory_weight</code>, <code>inventory_length</code>, <code>inventory_width</code>, <code>inventory_height</code>, <code>inventory_nest_height</code>, <code>hs_code</code>, <code>country</code>, <code>description</code>, <code>customs_description</code>, <code>customs_value</code>, <code>manufacturer_sku</code>, <code>manufacturer</code>, <code>cpsc_mode</code>, <code>cpsc_certifier_id</code>, <code>cpsc_product_version</code>, <code>cpsc_registry_product_id</code>, <code>cpsc_disclaim_code</code>, <code>cpsc_intended_use_code</code>, <code>cpsc_disclaim_reason</code>, <code>cpsc_intended_use_description</code>, <code>price</code>, <code>cost_price</code>, <code>image</code>, <code>archived</code></td>\n</tr>\n<tr>\n<td><code>mappings.*.value</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>mappings.*.is_fixed_value</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","import-export","imports","start"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"dda821f8-26d3-4f7f-a31d-3a2a343a6b9b"},{"name":"Import export imports list","id":"9c53f6f8-4042-46df-b8d4-bc7f9032dcd8","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//import-export/imports","description":"<p><strong>Rate limit:</strong> 10 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>Filter by Name.</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>Filter by Type.</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>Filter by Status.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>company</code></li>\n<li><code>user</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","import-export","imports"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Name.</p>\n","type":"text/plain"},"key":"name","value":""},{"disabled":true,"description":{"content":"<p>Filter by Type.</p>\n","type":"text/plain"},"key":"type","value":""},{"disabled":true,"description":{"content":"<p>Filter by Status.</p>\n","type":"text/plain"},"key":"status","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>company</code> - <code>user</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[]}},"response":[],"_postman_id":"9c53f6f8-4042-46df-b8d4-bc7f9032dcd8"},{"name":"Import export imports logs","id":"02f096e3-4d3c-4e3b-aa24-f157e9bb45ba","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//import-export/imports/:importID/logs?company_id=&import_id=","description":"<p><strong>Rate limit:</strong> 10 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>importID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>import_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","import-export","imports",":importID","logs"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"description":{"content":"<p>NOTE: filters are FLAT query params named after the filter method (e.g. ?ids=1,2&amp;store_id=5), resolved by App\\Filters\\QueryFilters against top-level request keys — there is NO nested filter[...] contract at runtime, so none is declared/documented here.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"key":"sort_direction","value":""},{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"key":"page","value":""},{"disabled":true,"key":"per_page","value":""},{"key":"company_id","value":""},{"key":"import_id","value":""}],"variable":[{"id":"722d5dac-57e5-484c-88c2-8ea5c9ac6576","type":"any","value":"","key":"importID"}]}},"response":[],"_postman_id":"02f096e3-4d3c-4e3b-aa24-f157e9bb45ba"},{"name":"Import export imports show","id":"09b95650-e36d-4ac6-8da5-85288b1f9b74","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//import-export/imports/:importID","description":"<p><strong>Rate limit:</strong> 10 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>importID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","import-export","imports",":importID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""}],"variable":[{"id":"e5110d0e-2257-460e-973f-2b8c6e120449","type":"any","value":"","key":"importID"}]}},"response":[],"_postman_id":"09b95650-e36d-4ac6-8da5-85288b1f9b74"},{"name":"Import export mappings types","id":"2204cdb5-79f4-45c0-82bf-a8bb8a4f6012","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//import-export/mappings/types","description":"<p><strong>Rate limit:</strong> 10 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","import-export","mappings","types"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"2204cdb5-79f4-45c0-82bf-a8bb8a4f6012"},{"name":"Import export mappings type","id":"864fda95-08d8-487d-af0d-f0e700f3c2d4","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//import-export/mappings/type/:type?type=","description":"<p><strong>Rate limit:</strong> 10 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>type</code></td>\n<td>Options: <code>0</code>, <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code>, <code>9</code>, <code>10</code>, <code>11</code>, <code>12</code>, <code>13</code>, <code>14</code>, <code>15</code>, <code>16</code>, <code>17</code></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","import-export","mappings","type",":type"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"type","value":""}],"variable":[{"id":"68636ded-0245-400d-a8cb-b231de00e10f","type":"any","value":"","key":"type"}]}},"response":[],"_postman_id":"864fda95-08d8-487d-af0d-f0e700f3c2d4"},{"name":"Import export mappings bulk update","id":"aab05857-142f-4552-aa85-5676ccc3239b","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"mappings\": [\n    {\n      \"mapping_id\": \"{{mapping_id}}\",\n      \"name\": \"name\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//import-export/mappings/bulk-update","description":"<p><strong>Rate limit:</strong> 10 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>mappings</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>mappings.*.mapping_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>mappings.*.name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","import-export","mappings","bulk-update"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"aab05857-142f-4552-aa85-5676ccc3239b"},{"name":"Import export mappings list","id":"fe30152b-d5ba-442f-b5bf-bd3e5e87bdbf","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//import-export/mappings","description":"<p><strong>Rate limit:</strong> 10 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>type</code></td>\n<td>Options: <code>0</code>, <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code>, <code>9</code>, <code>10</code>, <code>11</code>, <code>12</code>, <code>13</code>, <code>14</code>, <code>15</code>, <code>16</code>, <code>17</code></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","import-export","mappings"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"type","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""}],"variable":[]}},"response":[],"_postman_id":"fe30152b-d5ba-442f-b5bf-bd3e5e87bdbf"},{"name":"Import export mappings create","id":"1962608b-fae7-4d7a-8e02-dbed1e98e925","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"name\": \"name\",\n  \"type\": \"0\",\n  \"mappings\": [\n    {\n      \"key\": \"code\",\n      \"value\": \"value\",\n      \"is_fixed_value\": false\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//import-export/mappings","description":"<p><strong>Rate limit:</strong> 10 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>0</code>, <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code>, <code>9</code>, <code>10</code>, <code>11</code>, <code>12</code>, <code>13</code>, <code>14</code>, <code>15</code>, <code>16</code>, <code>17</code></td>\n</tr>\n<tr>\n<td><code>mappings</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>mappings.*.key</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>code</code>, <code>parent_code</code>, <code>name</code>, <code>type</code>, <code>batching_type</code>, <code>sync_stock</code>, <code>quantity</code>, <code>group_quantity</code>, <code>inventory_weight</code>, <code>inventory_length</code>, <code>inventory_width</code>, <code>inventory_height</code>, <code>inventory_nest_height</code>, <code>hs_code</code>, <code>country</code>, <code>description</code>, <code>customs_description</code>, <code>customs_value</code>, <code>manufacturer_sku</code>, <code>manufacturer</code>, <code>cpsc_mode</code>, <code>cpsc_certifier_id</code>, <code>cpsc_product_version</code>, <code>cpsc_registry_product_id</code>, <code>cpsc_disclaim_code</code>, <code>cpsc_intended_use_code</code>, <code>cpsc_disclaim_reason</code>, <code>cpsc_intended_use_description</code>, <code>price</code>, <code>cost_price</code>, <code>image</code>, <code>archived</code></td>\n</tr>\n<tr>\n<td><code>mappings.*.value</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>mappings.*.is_fixed_value</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","import-export","mappings"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"1962608b-fae7-4d7a-8e02-dbed1e98e925"},{"name":"Import export mappings show","id":"4f8e209e-2616-4fbb-ad4f-eb44c7e90a3f","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//import-export/mappings/:mappingID","description":"<p><strong>Rate limit:</strong> 10 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>mappingID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","import-export","mappings",":mappingID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""}],"variable":[{"id":"ffde16c1-7bd0-4fef-85d1-f1d3ffdaf797","type":"any","value":"","key":"mappingID"}]}},"response":[],"_postman_id":"4f8e209e-2616-4fbb-ad4f-eb44c7e90a3f"},{"name":"Import export mappings update","id":"df775620-8695-4401-b89f-f7b1f4e6bb88","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"type\": \"0\",\n  \"mapping_id\": \"{{mapping_id}}\",\n  \"name\": \"\",\n  \"mappings\": [\n    {\n      \"key\": \"code\",\n      \"value\": \"value\",\n      \"is_fixed_value\": false\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//import-export/mappings/:mappingID","description":"<p><strong>Rate limit:</strong> 10 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>mappingID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>0</code>, <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code>, <code>9</code>, <code>10</code>, <code>11</code>, <code>12</code>, <code>13</code>, <code>14</code>, <code>15</code>, <code>16</code>, <code>17</code></td>\n</tr>\n<tr>\n<td><code>mapping_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>mappings</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>mappings.*.key</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>code</code>, <code>parent_code</code>, <code>name</code>, <code>type</code>, <code>batching_type</code>, <code>sync_stock</code>, <code>quantity</code>, <code>group_quantity</code>, <code>inventory_weight</code>, <code>inventory_length</code>, <code>inventory_width</code>, <code>inventory_height</code>, <code>inventory_nest_height</code>, <code>hs_code</code>, <code>country</code>, <code>description</code>, <code>customs_description</code>, <code>customs_value</code>, <code>manufacturer_sku</code>, <code>manufacturer</code>, <code>cpsc_mode</code>, <code>cpsc_certifier_id</code>, <code>cpsc_product_version</code>, <code>cpsc_registry_product_id</code>, <code>cpsc_disclaim_code</code>, <code>cpsc_intended_use_code</code>, <code>cpsc_disclaim_reason</code>, <code>cpsc_intended_use_description</code>, <code>price</code>, <code>cost_price</code>, <code>image</code>, <code>archived</code></td>\n</tr>\n<tr>\n<td><code>mappings.*.value</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>mappings.*.is_fixed_value</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","import-export","mappings",":mappingID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"f648ef79-1981-46f1-a309-82ba0d318926","type":"any","value":"","key":"mappingID"}]}},"response":[],"_postman_id":"df775620-8695-4401-b89f-f7b1f4e6bb88"},{"name":"Import export mappings update put","id":"f371f8d1-ea82-4d43-b16c-d10f37cbf297","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"type\": \"0\",\n  \"mapping_id\": \"{{mapping_id}}\",\n  \"name\": \"\",\n  \"mappings\": [\n    {\n      \"key\": \"code\",\n      \"value\": \"value\",\n      \"is_fixed_value\": false\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//import-export/mappings/:mappingID","description":"<p><strong>Rate limit:</strong> 10 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>mappingID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>0</code>, <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code>, <code>9</code>, <code>10</code>, <code>11</code>, <code>12</code>, <code>13</code>, <code>14</code>, <code>15</code>, <code>16</code>, <code>17</code></td>\n</tr>\n<tr>\n<td><code>mapping_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>mappings</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>mappings.*.key</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>code</code>, <code>parent_code</code>, <code>name</code>, <code>type</code>, <code>batching_type</code>, <code>sync_stock</code>, <code>quantity</code>, <code>group_quantity</code>, <code>inventory_weight</code>, <code>inventory_length</code>, <code>inventory_width</code>, <code>inventory_height</code>, <code>inventory_nest_height</code>, <code>hs_code</code>, <code>country</code>, <code>description</code>, <code>customs_description</code>, <code>customs_value</code>, <code>manufacturer_sku</code>, <code>manufacturer</code>, <code>cpsc_mode</code>, <code>cpsc_certifier_id</code>, <code>cpsc_product_version</code>, <code>cpsc_registry_product_id</code>, <code>cpsc_disclaim_code</code>, <code>cpsc_intended_use_code</code>, <code>cpsc_disclaim_reason</code>, <code>cpsc_intended_use_description</code>, <code>price</code>, <code>cost_price</code>, <code>image</code>, <code>archived</code></td>\n</tr>\n<tr>\n<td><code>mappings.*.value</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>mappings.*.is_fixed_value</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","import-export","mappings",":mappingID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"6daf5fc2-e35a-4415-8ba3-cf09605001c2","type":"any","value":"","key":"mappingID"}]}},"response":[],"_postman_id":"f371f8d1-ea82-4d43-b16c-d10f37cbf297"},{"name":"Import export mappings delete","id":"f74eb0a6-681d-4906-ae61-fbe74e8e42c3","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//import-export/mappings/:mappingID?company_id=&mapping_id=","description":"<p><strong>Rate limit:</strong> 10 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>mappingID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>mapping_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","import-export","mappings",":mappingID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"mapping_id","value":""}],"variable":[{"id":"1109ace2-2752-4857-9c95-d13c9ce9b067","type":"any","value":"","key":"mappingID"}]}},"response":[],"_postman_id":"f74eb0a6-681d-4906-ae61-fbe74e8e42c3"}],"id":"321c6b4e-6e24-4143-83d2-6ffdf59104cd","description":"<p><strong>Import Export</strong> — 20 endpoints.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"321c6b4e-6e24-4143-83d2-6ffdf59104cd","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Inventory","item":[{"name":"Inventory barcodes list","id":"3e66f1f9-95ed-42d6-830d-3d4032050994","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/barcodes","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","barcodes"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""}],"variable":[{"id":"67d04bca-fcf0-483a-8c39-ba9ad4b28573","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"3e66f1f9-95ed-42d6-830d-3d4032050994"},{"name":"Inventory barcodes create","id":"a6a86144-f7e2-470c-9a66-6add12ab283f","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"inventory_barcode_type_id\": \"1\",\n  \"value\": \"value\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/barcodes","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>inventory_barcode_type_id</code></td>\n<td>string | null</td>\n<td>no</td>\n<td><strong>BarcodeTypes</strong> values: - <code>1</code> = PACK - <code>2</code> = BOX - <code>3</code> = CARTON - <code>4</code> = INNER - <code>5</code> = OUTER - <code>6</code> = PALLET - <code>7</code> = TOTE - <code>8</code> = CONTAINER - <code>9</code> = CAGE - <code>10</code> = PIECE Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code>, <code>9</code>, <code>10</code></td>\n</tr>\n<tr>\n<td><code>value</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","barcodes"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"93f90d83-7fc9-499e-bf1b-f73c6f36e885","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"a6a86144-f7e2-470c-9a66-6add12ab283f"},{"name":"Inventory category bulk create","id":"d941e76d-fdc7-44cb-b400-57cd194e45d3","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"categories\": [\n    {\n      \"name\": \"name\",\n      \"parent_id\": \"{{parent_id}}\",\n      \"description\": \"\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/category/bulk-create","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>categories</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>categories.*.name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>categories.*.parent_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>categories.*.description</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory","category","bulk-create"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"d941e76d-fdc7-44cb-b400-57cd194e45d3"},{"name":"Inventory category bulk update","id":"0fe63fea-2d69-42d4-afda-acc89431d41c","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"categories\": [\n    {\n      \"id\": \"{{id}}\",\n      \"name\": \"name\",\n      \"description\": \"\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/category/bulk-update","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>categories</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>categories.*.id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>categories.*.name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>categories.*.description</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory","category","bulk-update"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"0fe63fea-2d69-42d4-afda-acc89431d41c"},{"name":"Inventory category bulk attach","id":"623aa0b9-b53a-4b74-a9a2-b3cecd749a66","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"inventories\": [\n    {\n      \"category_id\": \"{{category_id}}\",\n      \"inventory_id\": \"{{inventory_id}}\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/category/bulk-attach","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>inventories</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.category_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.inventory_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory","category","bulk-attach"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"623aa0b9-b53a-4b74-a9a2-b3cecd749a66"},{"name":"Inventory category bulk detach","id":"0de5d6d9-59be-41df-83ff-d7bd57024363","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"inventories\": [\n    {\n      \"category_id\": \"{{category_id}}\",\n      \"inventory_id\": \"{{inventory_id}}\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/category/bulk-detach","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>inventories</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.category_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.inventory_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory","category","bulk-detach"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"0de5d6d9-59be-41df-83ff-d7bd57024363"},{"name":"Inventory category list","id":"b6d1858e-257d-46ce-a14f-e992919ddc03","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/category","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>filter[]</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sort</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>parent_id</code></td>\n<td>Filter by Parent Id.</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>Filter by Name.</td>\n</tr>\n<tr>\n<td><code>category_name</code></td>\n<td>Filter by Category Name.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>parent</code></li>\n<li><code>children</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory","category"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"filter[]","value":""},{"disabled":true,"key":"sort","value":""},{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Parent Id.</p>\n","type":"text/plain"},"key":"parent_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Name.</p>\n","type":"text/plain"},"key":"name","value":""},{"disabled":true,"description":{"content":"<p>Filter by Category Name.</p>\n","type":"text/plain"},"key":"category_name","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>parent</code> - <code>children</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[]}},"response":[],"_postman_id":"b6d1858e-257d-46ce-a14f-e992919ddc03"},{"name":"Inventory category create","id":"3e2504f2-09d8-480e-9154-7e95eac36ce7","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"name\",\n  \"parent_id\": \"{{parent_id}}\",\n  \"description\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/category","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>parent_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>description</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory","category"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"3e2504f2-09d8-480e-9154-7e95eac36ce7"},{"name":"Inventory category update","id":"f22f8afd-6773-45a2-93c1-03ce81bb76d8","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"name\",\n  \"description\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/category/:categoryID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>categoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>description</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory","category",":categoryID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"d926f2bf-669f-464b-89ee-b348f9ce20c9","type":"any","value":"","key":"categoryID"}]}},"response":[],"_postman_id":"f22f8afd-6773-45a2-93c1-03ce81bb76d8"},{"name":"Inventory category delete","id":"35891196-9d68-4a1d-9946-cf94320e3fc8","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/category/:categoryID?company_id=","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>categoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>new_category_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory","category",":categoryID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"disabled":true,"key":"new_category_id","value":""}],"variable":[{"id":"a8702c77-6f33-4eef-9b7b-b63884478ab4","type":"any","value":"","key":"categoryID"}]}},"response":[],"_postman_id":"35891196-9d68-4a1d-9946-cf94320e3fc8"},{"name":"Inventory category attach","id":"cc7b6b82-79fa-4211-a41f-1c1c49003260","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/category/:categoryID/attach","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>categoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","category",":categoryID","attach"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"9109f211-7b2a-4e52-a23b-3c0b0016a534","type":"any","value":"","key":"inventoryID"},{"id":"4ba57483-563d-4508-98d0-d5910ec61226","type":"any","value":"","key":"categoryID"}]}},"response":[],"_postman_id":"cc7b6b82-79fa-4211-a41f-1c1c49003260"},{"name":"Inventory category detach","id":"66999a73-af91-484c-a86c-10b022efba28","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/category/:categoryID/detach","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>categoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","category",":categoryID","detach"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"82e30a25-02d3-409c-849a-fe8b72b76f34","type":"any","value":"","key":"inventoryID"},{"id":"d14ea50c-a0bd-4fb4-83e2-e21c114dc982","type":"any","value":"","key":"categoryID"}]}},"response":[],"_postman_id":"66999a73-af91-484c-a86c-10b022efba28"},{"name":"Inventory ext categories check inventories","id":"ec8e968e-6024-45c9-8ab5-074a2f8ebe7a","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/categories/check-inventories","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>term</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>ignore_ids[]</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>is_archived</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory","categories","check-inventories"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"term","value":""},{"disabled":true,"key":"ignore_ids[]","value":""},{"disabled":true,"key":"is_archived","value":""}],"variable":[]}},"response":[],"_postman_id":"ec8e968e-6024-45c9-8ab5-074a2f8ebe7a"},{"name":"Inventory ext categories list","id":"2aa0b9cd-ba1a-4e46-8066-e3b77361304b","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/categories","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","categories"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"1124d075-49d9-44c8-a9b6-660bbe40b479","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"2aa0b9cd-ba1a-4e46-8066-e3b77361304b"},{"name":"Inventory ext containers list","id":"2cc2133b-d989-49cf-8f92-274569d6f55a","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/containers","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","containers"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""}],"variable":[{"id":"0a135b28-dbe1-4aa9-aec0-50af69bb137d","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"2cc2133b-d989-49cf-8f92-274569d6f55a"},{"name":"Inventory ext containers create","id":"231ebaff-9c3c-4922-9eb7-1c2ade949b23","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"containers\": [\n    {\n      \"id\": null,\n      \"inventory_container_type_id\": \"1\",\n      \"height\": 0,\n      \"weight\": 0,\n      \"width\": 0,\n      \"length\": 0,\n      \"quantity\": 0\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/containers","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>containers</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>containers.*.id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>containers.*.inventory_container_type_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td><strong>ContainerTypes</strong> values: - <code>1</code> = PACK - <code>2</code> = BOX - <code>3</code> = CARTON - <code>4</code> = INNER - <code>5</code> = OUTER - <code>6</code> = PALLET - <code>7</code> = TOTE - <code>8</code> = CONTAINER - <code>9</code> = CAGE - <code>10</code> = PCS Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code>, <code>9</code>, <code>10</code></td>\n</tr>\n<tr>\n<td><code>containers.*.height</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>containers.*.weight</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>containers.*.width</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>containers.*.length</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>containers.*.quantity</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","containers"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"c2051b57-5128-4f8d-8c21-1d87b4afbcc3","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"231ebaff-9c3c-4922-9eb7-1c2ade949b23"},{"name":"Inventory ext containers delete","id":"c670568f-837c-4f6b-a6ef-ba8a000a4c77","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/containers/:containerID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>containerID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","containers",":containerID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"2e22c6bc-01c1-46fe-bccd-2cece8dffcb5","type":"any","value":"","key":"inventoryID"},{"id":"57304178-7ec4-4e12-b712-881970f53bde","type":"any","value":"","key":"containerID"}]}},"response":[],"_postman_id":"c670568f-837c-4f6b-a6ef-ba8a000a4c77"},{"name":"Inventory ext families check inventories","id":"7cd448d5-c15d-4d06-b572-8d0dd77dab7e","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/families/check-inventories","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>term</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>ignore_ids[]</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>is_archived</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory","families","check-inventories"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"term","value":""},{"disabled":true,"key":"ignore_ids[]","value":""},{"disabled":true,"key":"is_archived","value":""}],"variable":[]}},"response":[],"_postman_id":"7cd448d5-c15d-4d06-b572-8d0dd77dab7e"},{"name":"Inventory ext item families list","id":"51b45eb5-0b11-4022-b1d4-66a324912e92","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/families","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>parent_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>filter[]</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sort</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","families"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"parent_id","value":""},{"disabled":true,"key":"name","value":""},{"disabled":true,"key":"filter[]","value":""},{"disabled":true,"key":"sort","value":""},{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"key":"page","value":""},{"disabled":true,"key":"per_page","value":""}],"variable":[{"id":"7d013032-ac3d-48cd-a369-8e472b76d7cd","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"51b45eb5-0b11-4022-b1d4-66a324912e92"},{"name":"Inventory ext item families attach","id":"cb42ed32-ce76-40be-ab06-4a107ea8408d","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/families/:familyID/attach","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>familyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","families",":familyID","attach"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"fdb049dc-b58f-46d2-8301-36b05b6b0108","type":"any","value":"","key":"inventoryID"},{"id":"2c1a6436-43d1-4f3f-abcf-bae08283bc16","type":"any","value":"","key":"familyID"}]}},"response":[],"_postman_id":"cb42ed32-ce76-40be-ab06-4a107ea8408d"},{"name":"Inventory ext item families detach","id":"669947cb-0f9c-4e8f-9457-9338fdc78395","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/families/:familyID/detach","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>familyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","families",":familyID","detach"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"1e255bce-446b-4c30-8eb3-449b3c526552","type":"any","value":"","key":"inventoryID"},{"id":"41db9be0-68ad-4265-a7a5-f2315b588310","type":"any","value":"","key":"familyID"}]}},"response":[],"_postman_id":"669947cb-0f9c-4e8f-9457-9338fdc78395"},{"name":"Inventory types","id":"ed2551ee-e6d2-4f2d-b0fe-71706c16834b","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/types","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory","types"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"ed2551ee-e6d2-4f2d-b0fe-71706c16834b"},{"name":"Inventory bulk create","id":"583d0a63-0d77-4ecf-b2b3-e2ccdbaa7845","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"inventories\": [\n    {\n      \"code\": \"code\",\n      \"name\": \"name\",\n      \"inventory_type_id\": \"1\",\n      \"quantity\": 0\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/bulk-create","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>inventories</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.code</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.inventory_type_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td><strong>Types</strong> values: - <code>1</code> = INVENTORY - <code>2</code> = GROUP - <code>3</code> = SERVICE_CHARGE Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>inventories.*.batching_type</code></td>\n<td>string | null</td>\n<td>no</td>\n<td> <strong>Conditional:</strong> - Must not be sent unless <code>inventories.*.inventory_type_id</code> is <code>1</code>. Allowed: <code>1</code>, <code>2</code>, ``</td>\n</tr>\n<tr>\n<td><code>inventories.*.courier_service_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.tax_group_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.is_packaging_item</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.not_for_resale</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.single_parcel_per_item</code></td>\n<td>boolean</td>\n<td>no</td>\n<td> <strong>Conditional:</strong> - Must not be sent when <code>inventories.*.inventory_type_id</code> is <code>2</code>.</td>\n</tr>\n<tr>\n<td><code>inventories.*.auto_sync_stock</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.height</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.weight</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.width</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.length</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.nest_height</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.shelf</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.tags</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.quantity</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.country_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.hs_code</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.manufacturer_sku</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Manufacturer part number, up to 100 characters. Sent to the courier as <code>manufacturer_sku</code>.</td>\n</tr>\n<tr>\n<td><code>inventories.*.manufacturer_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>ID of a manufacturer of the same company (see the Manufacturers endpoints). Its MID and address are sent to the courier with the item.</td>\n</tr>\n<tr>\n<td><code>inventories.*.cpsc_mode</code></td>\n<td>string</td>\n<td>no</td>\n<td>US CPSC declaration: <code>not_applicable</code>, <code>certified</code> or <code>disclaimed</code>. Required whenever any <code>cpsc_*</code> field is sent. <code>certified</code> uses <code>cpsc_certifier_id</code> (optional when the company has a default certifier ID in System Defaults), <code>cpsc_product_version</code> and <code>cpsc_registry_product_id</code>; <code>disclaimed</code> uses <code>cpsc_intended_use_code</code>, <code>cpsc_disclaim_code</code>, <code>cpsc_disclaim_reason</code> and, for code <code>980.000</code>, <code>cpsc_intended_use_description</code>. Fields of the other declaration are ignored and cleared on the product; <code>not_applicable</code> clears all of them. The declaration itself is stored in Helm and is not sent to the courier.</td>\n</tr>\n<tr>\n<td><code>inventories.*.cpsc_certifier_id</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Certifier ID of a certified declaration, up to 100 characters. Can be left out when the company has a default certifier ID in System Defaults; the default is then sent to the courier.  <strong>Conditional:</strong> - Ignored (dropped from the validated payload) unless <code>inventories.*.cpsc_mode</code> is <code>certified</code>.</td>\n</tr>\n<tr>\n<td><code>inventories.*.cpsc_product_version</code></td>\n<td>string</td>\n<td>no</td>\n<td>Certificate version of a certified declaration: letters and digits only, up to 50 characters (e.g. <code>V1</code>).  <strong>Conditional:</strong> - Ignored (dropped from the validated payload) unless <code>inventories.*.cpsc_mode</code> is <code>certified</code>. - Required when <code>inventories.*.cpsc_mode</code> is <code>certified</code>.</td>\n</tr>\n<tr>\n<td><code>inventories.*.cpsc_registry_product_id</code></td>\n<td>string</td>\n<td>no</td>\n<td>CPSC Product Registry ID of a certified declaration, up to 100 characters.  <strong>Conditional:</strong> - Ignored (dropped from the validated payload) unless <code>inventories.*.cpsc_mode</code> is <code>certified</code>. - Required when <code>inventories.*.cpsc_mode</code> is <code>certified</code>.</td>\n</tr>\n<tr>\n<td><code>inventories.*.cpsc_intended_use_code</code></td>\n<td>string</td>\n<td>no</td>\n<td>Intended use code (CBP Appendix R) of a disclaimed declaration, in the form <code>###.###</code> (e.g. <code>980.000</code>).  <strong>Conditional:</strong> - Ignored (dropped from the validated payload) unless <code>inventories.*.cpsc_mode</code> is <code>disclaimed</code>. - Required when <code>inventories.*.cpsc_mode</code> is <code>disclaimed</code>.</td>\n</tr>\n<tr>\n<td><code>inventories.*.cpsc_intended_use_description</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Intended use as free text, up to 255 characters. Required when <code>cpsc_intended_use_code</code> is <code>980.000</code> (Other) and not stored for any other code.  <strong>Conditional:</strong> - Ignored (dropped from the validated payload) unless <code>inventories.*.cpsc_mode</code> is <code>disclaimed</code>. - Required when <code>inventories.*.cpsc_intended_use_code</code> is <code>980.000</code>.</td>\n</tr>\n<tr>\n<td><code>inventories.*.cpsc_disclaim_code</code></td>\n<td>string</td>\n<td>no</td>\n<td>Basis for disclaiming: <code>A</code> = not regulated by CPSC, <code>B</code> = data not required under CPSC guidance. Disclaimed declaration only. Lower case is accepted and stored in upper case.  <strong>Conditional:</strong> - Ignored (dropped from the validated payload) unless <code>inventories.*.cpsc_mode</code> is <code>disclaimed</code>. - Required when <code>inventories.*.cpsc_mode</code> is <code>disclaimed</code>.</td>\n</tr>\n<tr>\n<td><code>inventories.*.cpsc_disclaim_reason</code></td>\n<td>string</td>\n<td>no</td>\n<td>Basis for disclaiming as free text, up to 255 characters. Required for a disclaimed declaration.  <strong>Conditional:</strong> - Ignored (dropped from the validated payload) unless <code>inventories.*.cpsc_mode</code> is <code>disclaimed</code>. - Required when <code>inventories.*.cpsc_mode</code> is <code>disclaimed</code>.</td>\n</tr>\n<tr>\n<td><code>inventories.*.customs_description</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.customs_value</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.description</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.cost_price</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.price</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.barcodes</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.barcodes.*.inventory_barcode_type_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td><strong>BarcodeTypes</strong> values: - <code>1</code> = PACK - <code>2</code> = BOX - <code>3</code> = CARTON - <code>4</code> = INNER - <code>5</code> = OUTER - <code>6</code> = PALLET - <code>7</code> = TOTE - <code>8</code> = CONTAINER - <code>9</code> = CAGE - <code>10</code> = PIECE Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code>, <code>9</code>, <code>10</code></td>\n</tr>\n<tr>\n<td><code>inventories.*.barcodes.*.value</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.image_url</code></td>\n<td>string</td>\n<td>no</td>\n<td> <strong>Conditional:</strong> - When this field is sent, <code>inventories.*.file_manager_id</code> must be missing or empty.</td>\n</tr>\n<tr>\n<td><code>inventories.*.file_manager_id</code></td>\n<td>integer</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory","bulk-create"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"583d0a63-0d77-4ecf-b2b3-e2ccdbaa7845"},{"name":"Inventory bulk update","id":"b91929af-b476-4401-a0ee-ab2643344db0","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"inventories\": [\n    {\n      \"inventory_id\": \"{{inventory_id}}\",\n      \"name\": \"name\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/bulk-update","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>inventories</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.inventory_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.courier_service_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.tax_group_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.is_packaging_item</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.not_for_resale</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.single_parcel_per_item</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.auto_sync_stock</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.height</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.weight</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.width</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.length</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.nest_height</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.shelf</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.tags</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.quantity</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.country_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.hs_code</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.manufacturer_sku</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Manufacturer part number, up to 100 characters. Sent to the courier as <code>manufacturer_sku</code>.</td>\n</tr>\n<tr>\n<td><code>inventories.*.manufacturer_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>ID of a manufacturer of the same company (see the Manufacturers endpoints). Its MID and address are sent to the courier with the item.</td>\n</tr>\n<tr>\n<td><code>inventories.*.cpsc_mode</code></td>\n<td>string</td>\n<td>no</td>\n<td>US CPSC declaration: <code>not_applicable</code>, <code>certified</code> or <code>disclaimed</code>. Required whenever any <code>cpsc_*</code> field is sent. <code>certified</code> uses <code>cpsc_certifier_id</code> (optional when the company has a default certifier ID in System Defaults), <code>cpsc_product_version</code> and <code>cpsc_registry_product_id</code>; <code>disclaimed</code> uses <code>cpsc_intended_use_code</code>, <code>cpsc_disclaim_code</code>, <code>cpsc_disclaim_reason</code> and, for code <code>980.000</code>, <code>cpsc_intended_use_description</code>. Fields of the other declaration are ignored and cleared on the product; <code>not_applicable</code> clears all of them. The declaration itself is stored in Helm and is not sent to the courier.</td>\n</tr>\n<tr>\n<td><code>inventories.*.cpsc_certifier_id</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Certifier ID of a certified declaration, up to 100 characters. Can be left out when the company has a default certifier ID in System Defaults; the default is then sent to the courier.  <strong>Conditional:</strong> - Ignored (dropped from the validated payload) unless <code>inventories.*.cpsc_mode</code> is <code>certified</code>.</td>\n</tr>\n<tr>\n<td><code>inventories.*.cpsc_product_version</code></td>\n<td>string</td>\n<td>no</td>\n<td>Certificate version of a certified declaration: letters and digits only, up to 50 characters (e.g. <code>V1</code>).  <strong>Conditional:</strong> - Ignored (dropped from the validated payload) unless <code>inventories.*.cpsc_mode</code> is <code>certified</code>. - Required when <code>inventories.*.cpsc_mode</code> is <code>certified</code>.</td>\n</tr>\n<tr>\n<td><code>inventories.*.cpsc_registry_product_id</code></td>\n<td>string</td>\n<td>no</td>\n<td>CPSC Product Registry ID of a certified declaration, up to 100 characters.  <strong>Conditional:</strong> - Ignored (dropped from the validated payload) unless <code>inventories.*.cpsc_mode</code> is <code>certified</code>. - Required when <code>inventories.*.cpsc_mode</code> is <code>certified</code>.</td>\n</tr>\n<tr>\n<td><code>inventories.*.cpsc_intended_use_code</code></td>\n<td>string</td>\n<td>no</td>\n<td>Intended use code (CBP Appendix R) of a disclaimed declaration, in the form <code>###.###</code> (e.g. <code>980.000</code>).  <strong>Conditional:</strong> - Ignored (dropped from the validated payload) unless <code>inventories.*.cpsc_mode</code> is <code>disclaimed</code>. - Required when <code>inventories.*.cpsc_mode</code> is <code>disclaimed</code>.</td>\n</tr>\n<tr>\n<td><code>inventories.*.cpsc_intended_use_description</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Intended use as free text, up to 255 characters. Required when <code>cpsc_intended_use_code</code> is <code>980.000</code> (Other) and not stored for any other code.  <strong>Conditional:</strong> - Ignored (dropped from the validated payload) unless <code>inventories.*.cpsc_mode</code> is <code>disclaimed</code>. - Required when <code>inventories.*.cpsc_intended_use_code</code> is <code>980.000</code>.</td>\n</tr>\n<tr>\n<td><code>inventories.*.cpsc_disclaim_code</code></td>\n<td>string</td>\n<td>no</td>\n<td>Basis for disclaiming: <code>A</code> = not regulated by CPSC, <code>B</code> = data not required under CPSC guidance. Disclaimed declaration only. Lower case is accepted and stored in upper case.  <strong>Conditional:</strong> - Ignored (dropped from the validated payload) unless <code>inventories.*.cpsc_mode</code> is <code>disclaimed</code>. - Required when <code>inventories.*.cpsc_mode</code> is <code>disclaimed</code>.</td>\n</tr>\n<tr>\n<td><code>inventories.*.cpsc_disclaim_reason</code></td>\n<td>string</td>\n<td>no</td>\n<td>Basis for disclaiming as free text, up to 255 characters. Required for a disclaimed declaration.  <strong>Conditional:</strong> - Ignored (dropped from the validated payload) unless <code>inventories.*.cpsc_mode</code> is <code>disclaimed</code>. - Required when <code>inventories.*.cpsc_mode</code> is <code>disclaimed</code>.</td>\n</tr>\n<tr>\n<td><code>inventories.*.customs_description</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.customs_value</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.description</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.cost_price</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.price</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.barcodes</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.barcodes.*.inventory_barcode_type_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td><strong>BarcodeTypes</strong> values: - <code>1</code> = PACK - <code>2</code> = BOX - <code>3</code> = CARTON - <code>4</code> = INNER - <code>5</code> = OUTER - <code>6</code> = PALLET - <code>7</code> = TOTE - <code>8</code> = CONTAINER - <code>9</code> = CAGE - <code>10</code> = PIECE Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code>, <code>9</code>, <code>10</code></td>\n</tr>\n<tr>\n<td><code>inventories.*.barcodes.*.value</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.containers</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.containers.*.id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>ContainerService::bulkUpdateOrCreate deletes existing containers whose id is absent from the payload, so id must survive validation.</td>\n</tr>\n<tr>\n<td><code>inventories.*.containers.*.inventory_container_type_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td><strong>ContainerTypes</strong> values: - <code>1</code> = PACK - <code>2</code> = BOX - <code>3</code> = CARTON - <code>4</code> = INNER - <code>5</code> = OUTER - <code>6</code> = PALLET - <code>7</code> = TOTE - <code>8</code> = CONTAINER - <code>9</code> = CAGE - <code>10</code> = PCS Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code>, <code>9</code>, <code>10</code></td>\n</tr>\n<tr>\n<td><code>inventories.*.containers.*.height</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.containers.*.weight</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.containers.*.width</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.containers.*.length</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.containers.*.quantity</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventories.*.image_url</code></td>\n<td>string</td>\n<td>no</td>\n<td> <strong>Conditional:</strong> - When this field is sent, <code>inventories.*.file_manager_id</code> must be missing or empty.</td>\n</tr>\n<tr>\n<td><code>inventories.*.file_manager_id</code></td>\n<td>integer</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory","bulk-update"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"b91929af-b476-4401-a0ee-ab2643344db0"},{"name":"Inventory bulk archive","id":"6d6af4ea-fe5b-4219-bd7c-eb45e21adf6d","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"inventory_ids\": [\n    \"{{inventory_id}}\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/bulk-archive","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>inventory_ids</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory","bulk-archive"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"6d6af4ea-fe5b-4219-bd7c-eb45e21adf6d"},{"name":"Inventory bulk restore","id":"d21b27f7-7074-4c04-a02c-a07adb6ef2b6","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"inventory_ids\": [\n    \"{{inventory_id}}\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/bulk-restore","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>inventory_ids</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory","bulk-restore"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"d21b27f7-7074-4c04-a02c-a07adb6ef2b6"},{"name":"Inventory bulk delete","id":"59796e50-3b62-4080-afc0-ac50a9889e17","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"inventory_ids\": [\n    \"{{inventory_id}}\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/bulk-delete","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>inventory_ids</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory","bulk-delete"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"59796e50-3b62-4080-afc0-ac50a9889e17"},{"name":"Inventory list","id":"45cbcef7-c5b3-4240-a0a7-0ab0022ff933","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory","description":"<p>Every row carries a <code>levels</code> object. It is not a relation: it is always\npresent and cannot be eager-loaded. Naming it in <code>includes</code> is accepted\nand ignored, so a request that lists it alongside real relations still\nsucceeds.</p>\n<p><strong>Rate limit:</strong> 600 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>filter[]</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sort</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>search</code></td>\n<td>Filter by Search.</td>\n</tr>\n<tr>\n<td><code>code</code></td>\n<td>Filter by Code.</td>\n</tr>\n<tr>\n<td><code>inventory_type_id</code></td>\n<td>Filter by Inventory Type Id.</td>\n</tr>\n<tr>\n<td><code>channels_id</code></td>\n<td>Filter by Channels Id.</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>Filter by Name.</td>\n</tr>\n<tr>\n<td><code>hs_code</code></td>\n<td>Filter by Hs Code.</td>\n</tr>\n<tr>\n<td><code>barcode</code></td>\n<td>Filter by Barcode.</td>\n</tr>\n<tr>\n<td><code>country_id</code></td>\n<td>Filter by Country Id.</td>\n</tr>\n<tr>\n<td><code>price_from</code></td>\n<td>Filter by Price From.</td>\n</tr>\n<tr>\n<td><code>price_to</code></td>\n<td>Filter by Price To.</td>\n</tr>\n<tr>\n<td><code>quantity_from</code></td>\n<td>Filter by Quantity From.</td>\n</tr>\n<tr>\n<td><code>quantity_to</code></td>\n<td>Filter by Quantity To.</td>\n</tr>\n<tr>\n<td><code>weight_from</code></td>\n<td>Filter by Weight From.</td>\n</tr>\n<tr>\n<td><code>weight_to</code></td>\n<td>Filter by Weight To.</td>\n</tr>\n<tr>\n<td><code>height_from</code></td>\n<td>Filter by Height From.</td>\n</tr>\n<tr>\n<td><code>height_to</code></td>\n<td>Filter by Height To.</td>\n</tr>\n<tr>\n<td><code>width_from</code></td>\n<td>Filter by Width From.</td>\n</tr>\n<tr>\n<td><code>width_to</code></td>\n<td>Filter by Width To.</td>\n</tr>\n<tr>\n<td><code>length_from</code></td>\n<td>Filter by Length From.</td>\n</tr>\n<tr>\n<td><code>length_to</code></td>\n<td>Filter by Length To.</td>\n</tr>\n<tr>\n<td><code>tag_id</code></td>\n<td>Filter by Tag Id.</td>\n</tr>\n<tr>\n<td><code>location_id</code></td>\n<td>Filter by Location Id.</td>\n</tr>\n<tr>\n<td><code>category_id</code></td>\n<td>Filter by Category Id.</td>\n</tr>\n<tr>\n<td><code>packaging_code</code></td>\n<td>Filter by Packaging Code.</td>\n</tr>\n<tr>\n<td><code>archived</code></td>\n<td>Filter by Archived.</td>\n</tr>\n<tr>\n<td><code>is_batch_expired</code></td>\n<td>Filter by Is Batch Expired.</td>\n</tr>\n<tr>\n<td><code>import_ids</code></td>\n<td>Filter by Import Ids.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>meta</code></li>\n<li><code>meta.description</code></li>\n<li><code>meta.customsDescription</code></li>\n<li><code>meta.country</code></li>\n<li><code>meta.packageTemplate</code></li>\n<li><code>meta.taxGroup</code></li>\n<li><code>dimension</code></li>\n<li><code>groupItems</code></li>\n<li><code>groupItems.inventory</code></li>\n<li><code>groupItems.inventory.meta</code></li>\n<li><code>groupItems.inventoryItem</code></li>\n<li><code>groupItems.inventoryItem.meta</code></li>\n<li><code>category</code></li>\n<li><code>category.category</code></li>\n<li><code>category.category.parent</code></li>\n<li><code>courierService</code></li>\n<li><code>courierService.courierService</code></li>\n<li><code>courierService.courierService.courier</code></li>\n<li><code>tags</code></li>\n<li><code>tags.tag</code></li>\n<li><code>customFields</code></li>\n<li><code>customFields.customFieldOption</code></li>\n<li><code>settings</code></li>\n<li><code>shelf</code></li>\n<li><code>shelf.shelf</code></li>\n<li><code>stocks</code></li>\n<li><code>stocks.location</code></li>\n<li><code>stocks.location.settings</code></li>\n<li><code>linkedChannelProduct</code></li>\n<li><code>linkedChannelProduct.channel</code></li>\n<li><code>linkedChannelProduct.channel.settings</code></li>\n<li><code>barcodes</code></li>\n<li><code>inventorySuppliers</code></li>\n<li><code>inventorySuppliers.inventoryContainer</code></li>\n<li><code>inventorySuppliers.supplier</code></li>\n<li><code>inventorySuppliers.supplier.contact</code></li>\n<li><code>associatedGroup</code></li>\n<li><code>associatedGroup.inventory.meta</code></li>\n<li><code>associatedGroup.inventory.country</code></li>\n<li><code>purchaseOrderControl</code></li>\n<li><code>primarySupplier</code></li>\n<li><code>primarySupplier.supplier</code></li>\n<li><code>primarySupplier.supplier.contact</code></li>\n<li><code>primarySupplier.supplier.fileManager</code></li>\n<li><code>family</code></li>\n<li><code>family.family</code></li>\n<li><code>openInventoryChekItems</code></li>\n<li><code>exportValues</code></li>\n<li><code>exportValues.countries</code></li>\n<li><code>exportValues.countries.country</code></li>\n<li><code>groupItems.inventoryItem.exportValues</code></li>\n<li><code>groupItems.inventoryItem.exportValues.countries</code></li>\n<li><code>groupItems.inventoryItem.exportValues.countries.country</code></li>\n<li><code>containers</code></li>\n<li><code>exportValues</code></li>\n<li><code>exportValues.countries</code></li>\n<li><code>exportValues.countries.country</code></li>\n<li><code>groupItems.inventoryItem.exportValues</code></li>\n<li><code>groupItems.inventoryItem.exportValues.countries</code></li>\n<li><code>groupItems.inventoryItem.exportValues.countries.country</code></li>\n<li><code>groupItems.inventoryItem.dimension</code></li>\n<li><code>groupItems.inventoryItem.serials</code></li>\n<li><code>batches</code></li>\n<li><code>batches.location</code></li>\n<li><code>serials</code></li>\n<li><code>groupItems.inventoryItem.dimension</code></li>\n<li><code>groupItems.inventoryItem.settings</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"filter[]","value":""},{"disabled":true,"key":"sort","value":""},{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Search.</p>\n","type":"text/plain"},"key":"search","value":""},{"disabled":true,"description":{"content":"<p>Filter by Code.</p>\n","type":"text/plain"},"key":"code","value":""},{"disabled":true,"description":{"content":"<p>Filter by Inventory Type Id.</p>\n","type":"text/plain"},"key":"inventory_type_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Channels Id.</p>\n","type":"text/plain"},"key":"channels_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Name.</p>\n","type":"text/plain"},"key":"name","value":""},{"disabled":true,"description":{"content":"<p>Filter by Hs Code.</p>\n","type":"text/plain"},"key":"hs_code","value":""},{"disabled":true,"description":{"content":"<p>Filter by Barcode.</p>\n","type":"text/plain"},"key":"barcode","value":""},{"disabled":true,"description":{"content":"<p>Filter by Country Id.</p>\n","type":"text/plain"},"key":"country_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Price From.</p>\n","type":"text/plain"},"key":"price_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Price To.</p>\n","type":"text/plain"},"key":"price_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Quantity From.</p>\n","type":"text/plain"},"key":"quantity_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Quantity To.</p>\n","type":"text/plain"},"key":"quantity_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Weight From.</p>\n","type":"text/plain"},"key":"weight_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Weight To.</p>\n","type":"text/plain"},"key":"weight_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Height From.</p>\n","type":"text/plain"},"key":"height_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Height To.</p>\n","type":"text/plain"},"key":"height_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Width From.</p>\n","type":"text/plain"},"key":"width_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Width To.</p>\n","type":"text/plain"},"key":"width_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Length From.</p>\n","type":"text/plain"},"key":"length_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Length To.</p>\n","type":"text/plain"},"key":"length_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Tag Id.</p>\n","type":"text/plain"},"key":"tag_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Location Id.</p>\n","type":"text/plain"},"key":"location_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Category Id.</p>\n","type":"text/plain"},"key":"category_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Packaging Code.</p>\n","type":"text/plain"},"key":"packaging_code","value":""},{"disabled":true,"description":{"content":"<p>Filter by Archived.</p>\n","type":"text/plain"},"key":"archived","value":""},{"disabled":true,"description":{"content":"<p>Filter by Is Batch Expired.</p>\n","type":"text/plain"},"key":"is_batch_expired","value":""},{"disabled":true,"description":{"content":"<p>Filter by Import Ids.</p>\n","type":"text/plain"},"key":"import_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>meta</code> - <code>meta.description</code> - <code>meta.customsDescription</code> - <code>meta.country</code> - <code>meta.packageTemplate</code> - <code>meta.taxGroup</code> - <code>dimension</code> - <code>groupItems</code> - <code>groupItems.inventory</code> - <code>groupItems.inventory.meta</code> - <code>groupItems.inventoryItem</code> - <code>groupItems.inventoryItem.meta</code> - <code>category</code> - <code>category.category</code> - <code>category.category.parent</code> - <code>courierService</code> - <code>courierService.courierService</code> - <code>courierService.courierService.courier</code> - <code>tags</code> - <code>tags.tag</code> - <code>customFields</code> - <code>customFields.customFieldOption</code> - <code>settings</code> - <code>shelf</code> - <code>shelf.shelf</code> - <code>stocks</code> - <code>stocks.location</code> - <code>stocks.location.settings</code> - <code>linkedChannelProduct</code> - <code>linkedChannelProduct.channel</code> - <code>linkedChannelProduct.channel.settings</code> - <code>barcodes</code> - <code>inventorySuppliers</code> - <code>inventorySuppliers.inventoryContainer</code> - <code>inventorySuppliers.supplier</code> - <code>inventorySuppliers.supplier.contact</code> - <code>associatedGroup</code> - <code>associatedGroup.inventory.meta</code> - <code>associatedGroup.inventory.country</code> - <code>purchaseOrderControl</code> - <code>primarySupplier</code> - <code>primarySupplier.supplier</code> - <code>primarySupplier.supplier.contact</code> - <code>primarySupplier.supplier.fileManager</code> - <code>family</code> - <code>family.family</code> - <code>openInventoryChekItems</code> - <code>exportValues</code> - <code>exportValues.countries</code> - <code>exportValues.countries.country</code> - <code>groupItems.inventoryItem.exportValues</code> - <code>groupItems.inventoryItem.exportValues.countries</code> - <code>groupItems.inventoryItem.exportValues.countries.country</code> - <code>containers</code> - <code>exportValues</code> - <code>exportValues.countries</code> - <code>exportValues.countries.country</code> - <code>groupItems.inventoryItem.exportValues</code> - <code>groupItems.inventoryItem.exportValues.countries</code> - <code>groupItems.inventoryItem.exportValues.countries.country</code> - <code>groupItems.inventoryItem.dimension</code> - <code>groupItems.inventoryItem.serials</code> - <code>batches</code> - <code>batches.location</code> - <code>serials</code> - <code>groupItems.inventoryItem.dimension</code> - <code>groupItems.inventoryItem.settings</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[]}},"response":[],"_postman_id":"45cbcef7-c5b3-4240-a0a7-0ab0022ff933"},{"name":"Inventory create","id":"320b320b-0d47-41f5-99eb-3ad4d4c78d4d","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"code\": \"code\",\n  \"name\": \"name\",\n  \"inventory_type_id\": \"1\",\n  \"batching_type\": \"1\",\n  \"courier_service_id\": \"{{courier_service_id}}\",\n  \"tax_group_id\": \"{{tax_group_id}}\",\n  \"is_packaging_item\": false,\n  \"not_for_resale\": false,\n  \"single_parcel_per_item\": false,\n  \"auto_sync_stock\": false,\n  \"height\": 0,\n  \"weight\": 0,\n  \"width\": 0,\n  \"length\": 0,\n  \"nest_height\": 0,\n  \"shelf\": \"\",\n  \"quantity\": 0,\n  \"country_id\": \"{{country_id}}\",\n  \"hs_code\": 0,\n  \"customs_description\": \"\",\n  \"customs_value\": 0,\n  \"description\": \"\",\n  \"cost_price\": 0,\n  \"price\": 0,\n  \"tags\": [\n    \"\"\n  ],\n  \"barcodes\": [\n    {\n      \"inventory_barcode_type_id\": \"1\",\n      \"value\": \"value\"\n    }\n  ],\n  \"image_url\": \"https://example.com/\",\n  \"file_manager_id\": \"{{file_manager_id}}\",\n  \"manufacturer_sku\": \"\",\n  \"manufacturer_id\": \"{{manufacturer_id}}\",\n  \"cpsc_mode\": \"\",\n  \"cpsc_certifier_id\": \"{{cpsc_certifier_id}}\",\n  \"cpsc_product_version\": \"\",\n  \"cpsc_registry_product_id\": \"{{cpsc_registry_product_id}}\",\n  \"cpsc_intended_use_code\": \"\",\n  \"cpsc_intended_use_description\": \"\",\n  \"cpsc_disclaim_code\": \"\",\n  \"cpsc_disclaim_reason\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>code</code></td>\n<td>string</td>\n<td>yes</td>\n<td><code>bail</code> + ScalarValue so an array value cannot reach <code>distinct</code> or the unique SELECT (both of which fatal on a non-string): <code>min:</code>/<code>max:</code> measure count() for an array, so the length rules let it through.</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventory_type_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td><strong>Types</strong> values: - <code>1</code> = INVENTORY - <code>2</code> = GROUP - <code>3</code> = SERVICE_CHARGE Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>batching_type</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code>, ``</td>\n</tr>\n<tr>\n<td><code>courier_service_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tax_group_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>is_packaging_item</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>not_for_resale</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>single_parcel_per_item</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>The asterisk in a dependent rule's parameter is resolved to the row being validated, so on bulk-create the prefixed reference compares against the sibling type, not a top-level one.  <strong>Conditional:</strong> - Must not be sent when <code>inventory_type_id</code> is <code>2</code>.</td>\n</tr>\n<tr>\n<td><code>auto_sync_stock</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>height</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>weight</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>width</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>length</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>nest_height</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shelf</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tags</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>quantity</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>Not <code>required</code>: create() never reads quantity (a non-advanced-mode row is always seeded at 0), so demanding it only blocked payloads that would have created fine.</td>\n</tr>\n<tr>\n<td><code>country_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>hs_code</code></td>\n<td>number | null</td>\n<td>no</td>\n<td><code>bail</code> on the numeric fields whose chain ends in a regex rule: <code>numeric</code> rejects an array but does not stop the chain, and both <code>digits_between</code> and ValidateDecimal preg_match the raw value, which is a TypeError (500) on an array rather than a 422.</td>\n</tr>\n<tr>\n<td><code>manufacturer_sku</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Manufacturer part number, up to 100 characters. Sent to the courier as <code>manufacturer_sku</code>.</td>\n</tr>\n<tr>\n<td><code>manufacturer_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>ID of a manufacturer of the same company (see the Manufacturers endpoints). Its MID and address are sent to the courier with the item.</td>\n</tr>\n<tr>\n<td><code>cpsc_mode</code></td>\n<td>string</td>\n<td>no</td>\n<td>US CPSC declaration: <code>not_applicable</code>, <code>certified</code> or <code>disclaimed</code>. Required whenever any <code>cpsc_*</code> field is sent. <code>certified</code> uses <code>cpsc_certifier_id</code> (optional when the company has a default certifier ID in System Defaults), <code>cpsc_product_version</code> and <code>cpsc_registry_product_id</code>; <code>disclaimed</code> uses <code>cpsc_intended_use_code</code>, <code>cpsc_disclaim_code</code>, <code>cpsc_disclaim_reason</code> and, for code <code>980.000</code>, <code>cpsc_intended_use_description</code>. Fields of the other declaration are ignored and cleared on the product; <code>not_applicable</code> clears all of them. The declaration itself is stored in Helm and is not sent to the courier.</td>\n</tr>\n<tr>\n<td><code>cpsc_certifier_id</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Certifier ID of a certified declaration, up to 100 characters. Can be left out when the company has a default certifier ID in System Defaults; the default is then sent to the courier.  <strong>Conditional:</strong> - Ignored (dropped from the validated payload) unless <code>cpsc_mode</code> is <code>certified</code>.</td>\n</tr>\n<tr>\n<td><code>cpsc_product_version</code></td>\n<td>string</td>\n<td>no</td>\n<td>Certificate version of a certified declaration: letters and digits only, up to 50 characters (e.g. <code>V1</code>).  <strong>Conditional:</strong> - Ignored (dropped from the validated payload) unless <code>cpsc_mode</code> is <code>certified</code>. - Required when <code>cpsc_mode</code> is <code>certified</code>.</td>\n</tr>\n<tr>\n<td><code>cpsc_registry_product_id</code></td>\n<td>string</td>\n<td>no</td>\n<td>CPSC Product Registry ID of a certified declaration, up to 100 characters.  <strong>Conditional:</strong> - Ignored (dropped from the validated payload) unless <code>cpsc_mode</code> is <code>certified</code>. - Required when <code>cpsc_mode</code> is <code>certified</code>.</td>\n</tr>\n<tr>\n<td><code>cpsc_intended_use_code</code></td>\n<td>string</td>\n<td>no</td>\n<td>Intended use code (CBP Appendix R) of a disclaimed declaration, in the form <code>###.###</code> (e.g. <code>980.000</code>).  <strong>Conditional:</strong> - Ignored (dropped from the validated payload) unless <code>cpsc_mode</code> is <code>disclaimed</code>. - Required when <code>cpsc_mode</code> is <code>disclaimed</code>.</td>\n</tr>\n<tr>\n<td><code>cpsc_intended_use_description</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Intended use as free text, up to 255 characters. Required when <code>cpsc_intended_use_code</code> is <code>980.000</code> (Other) and not stored for any other code.  <strong>Conditional:</strong> - Ignored (dropped from the validated payload) unless <code>cpsc_mode</code> is <code>disclaimed</code>. - Required when <code>cpsc_intended_use_code</code> is <code>980.000</code>.</td>\n</tr>\n<tr>\n<td><code>cpsc_disclaim_code</code></td>\n<td>string</td>\n<td>no</td>\n<td>Basis for disclaiming: <code>A</code> = not regulated by CPSC, <code>B</code> = data not required under CPSC guidance. Disclaimed declaration only. Lower case is accepted and stored in upper case.  <strong>Conditional:</strong> - Ignored (dropped from the validated payload) unless <code>cpsc_mode</code> is <code>disclaimed</code>. - Required when <code>cpsc_mode</code> is <code>disclaimed</code>.</td>\n</tr>\n<tr>\n<td><code>cpsc_disclaim_reason</code></td>\n<td>string</td>\n<td>no</td>\n<td>Basis for disclaiming as free text, up to 255 characters. Required for a disclaimed declaration.  <strong>Conditional:</strong> - Ignored (dropped from the validated payload) unless <code>cpsc_mode</code> is <code>disclaimed</code>. - Required when <code>cpsc_mode</code> is <code>disclaimed</code>.</td>\n</tr>\n<tr>\n<td><code>customs_description</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customs_value</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>description</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>cost_price</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>price</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>barcodes</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>barcodes.*.inventory_barcode_type_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td><strong>BarcodeTypes</strong> values: - <code>1</code> = PACK - <code>2</code> = BOX - <code>3</code> = CARTON - <code>4</code> = INNER - <code>5</code> = OUTER - <code>6</code> = PALLET - <code>7</code> = TOTE - <code>8</code> = CONTAINER - <code>9</code> = CAGE - <code>10</code> = PIECE Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code>, <code>9</code>, <code>10</code></td>\n</tr>\n<tr>\n<td><code>barcodes.*.value</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>image_url</code></td>\n<td>string</td>\n<td>no</td>\n<td>A publicly reachable <code>http</code>/<code>https</code> URL of the product image. The server fetches and stores it in the background, so it is not part of this response yet — read it back from <code>meta.image</code> once processed. Cannot be combined with <code>file_manager_id</code>.  <strong>Conditional:</strong> - When this field is sent, <code>file_manager_id</code> must be missing or empty.</td>\n</tr>\n<tr>\n<td><code>file_manager_id</code></td>\n<td>integer</td>\n<td>no</td>\n<td>The id of a file already uploaded through POST /file-manager/upload with <code>type</code> = 6 (INVENTORY). Nothing is downloaded, so the image is attached immediately. Cannot be combined with <code>image_url</code>.</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"320b320b-0d47-41f5-99eb-3ad4d4c78d4d"},{"name":"Inventory archive","id":"4173295f-375a-4e76-b584-8f9bcef2eac5","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/archive","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","archive"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"ca8f4704-6d6e-4ad7-8599-d8847b4fa490","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"4173295f-375a-4e76-b584-8f9bcef2eac5"},{"name":"Inventory restore","id":"48fee427-08c6-4826-9e06-4b2d661c0835","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/restore","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","restore"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"fbbb7c17-d6c3-4e76-a7a0-6606a2d990c5","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"48fee427-08c6-4826-9e06-4b2d661c0835"},{"name":"Inventory image show","id":"4bb738f3-1ce4-4ac8-85b6-3d0b7973e65c","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/image","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<p>Returns the image currently attached to the product.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response\">Response</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>file_manager_id</code></td>\n<td>integer|null</td>\n<td>Id of the stored file, <code>null</code> when the product has no image.</td>\n</tr>\n<tr>\n<td><code>image</code></td>\n<td>string|null</td>\n<td>URL of the full-size image.</td>\n</tr>\n<tr>\n<td><code>sizes</code></td>\n<td>object|null</td>\n<td>URLs of the generated renditions, keyed by pixel width (600, 426, 150, 30).</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","image"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"7415b5ac-a358-4277-97cd-02fc0b2df326","description":{"content":"<p>The product id.</p>\n","type":"text/plain"},"type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"4bb738f3-1ce4-4ac8-85b6-3d0b7973e65c"},{"name":"Inventory image store","id":"1936feb2-bc41-452f-8e1f-b9280508ff2f","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"image_url\": \"https://example.com/images/sku-1.jpg\",\n  \"file_manager_id\": \"{{file_manager_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/image","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<p>Sets the product's image. Send <strong>exactly one</strong> of the two sources — sending both is a <code>422</code>.</p>\n<ul>\n<li><code>image_url</code> — a publicly reachable <code>http</code>/<code>https</code> URL. The server downloads and stores it in the\nbackground, so the response is <code>202 Accepted</code> with no body; read the result back with\n<code>GET .../image</code> (or the product with <code>?includes=meta</code>).</li>\n<li><code>file_manager_id</code> — the id returned by <code>POST /companies/{companyID}/file-manager/upload</code> with\n<code>type</code> = <code>6</code> (INVENTORY). Nothing has to be downloaded, so the image is attached immediately and\nthe response is <code>200</code> with the stored image.</li>\n</ul>\n<p>The same two fields are also accepted, optionally, on inventory create, update, bulk-create and\nbulk-update.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>image_url</code></td>\n<td>string</td>\n<td>no</td>\n<td>A publicly reachable <code>http</code>/<code>https</code> URL of the product image. The server fetches and stores it in the background, so it is not part of this response yet — read it back from <code>meta.image</code> once processed. Cannot be combined with <code>file_manager_id</code>.</td>\n</tr>\n<tr>\n<td><code>file_manager_id</code></td>\n<td>integer</td>\n<td>no</td>\n<td>The id of a file already uploaded through POST /file-manager/upload with <code>type</code> = 6 (INVENTORY). Nothing is downloaded, so the image is attached immediately. Cannot be combined with <code>image_url</code>.</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","image"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"4e37f38e-de70-4c69-9c7e-548e5a3331e0","description":{"content":"<p>The product id.</p>\n","type":"text/plain"},"type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"1936feb2-bc41-452f-8e1f-b9280508ff2f"},{"name":"Inventory image destroy","id":"02e7978a-430b-44ea-a781-952ea919bd4a","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/image","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<p>Removes the product's image and queues deletion of the stored file. Responds <code>204 No Content</code>.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","image"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"afec6ee7-be4a-4731-9645-045aa234a733","description":{"content":"<p>The product id.</p>\n","type":"text/plain"},"type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"02e7978a-430b-44ea-a781-952ea919bd4a"},{"name":"Inventory show","id":"9ef5c6f5-cf0c-4e18-a6a7-85838d4abaec","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID","description":"<p>Unlike the list endpoint, this one does not return <code>levels</code>. Naming it in\n<code>includes</code> is accepted and ignored rather than rejected, so one include\nlist works against both endpoints.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>meta</code></li>\n<li><code>meta.description</code></li>\n<li><code>meta.customsDescription</code></li>\n<li><code>meta.country</code></li>\n<li><code>meta.packageTemplate</code></li>\n<li><code>meta.taxGroup</code></li>\n<li><code>dimension</code></li>\n<li><code>groupItems</code></li>\n<li><code>groupItems.inventory</code></li>\n<li><code>groupItems.inventory.meta</code></li>\n<li><code>groupItems.inventoryItem</code></li>\n<li><code>groupItems.inventoryItem.meta</code></li>\n<li><code>category</code></li>\n<li><code>category.category</code></li>\n<li><code>category.category.parent</code></li>\n<li><code>courierService</code></li>\n<li><code>courierService.courierService</code></li>\n<li><code>courierService.courierService.courier</code></li>\n<li><code>tags</code></li>\n<li><code>tags.tag</code></li>\n<li><code>customFields</code></li>\n<li><code>customFields.customFieldOption</code></li>\n<li><code>settings</code></li>\n<li><code>shelf</code></li>\n<li><code>shelf.shelf</code></li>\n<li><code>stocks</code></li>\n<li><code>stocks.location</code></li>\n<li><code>stocks.location.settings</code></li>\n<li><code>linkedChannelProduct</code></li>\n<li><code>linkedChannelProduct.channel</code></li>\n<li><code>linkedChannelProduct.channel.settings</code></li>\n<li><code>barcodes</code></li>\n<li><code>inventorySuppliers</code></li>\n<li><code>inventorySuppliers.inventoryContainer</code></li>\n<li><code>inventorySuppliers.supplier</code></li>\n<li><code>inventorySuppliers.supplier.contact</code></li>\n<li><code>associatedGroup</code></li>\n<li><code>associatedGroup.inventory.meta</code></li>\n<li><code>associatedGroup.inventory.country</code></li>\n<li><code>purchaseOrderControl</code></li>\n<li><code>primarySupplier</code></li>\n<li><code>primarySupplier.supplier</code></li>\n<li><code>primarySupplier.supplier.contact</code></li>\n<li><code>primarySupplier.supplier.fileManager</code></li>\n<li><code>family</code></li>\n<li><code>family.family</code></li>\n<li><code>openInventoryChekItems</code></li>\n<li><code>exportValues</code></li>\n<li><code>exportValues.countries</code></li>\n<li><code>exportValues.countries.country</code></li>\n<li><code>groupItems.inventoryItem.exportValues</code></li>\n<li><code>groupItems.inventoryItem.exportValues.countries</code></li>\n<li><code>groupItems.inventoryItem.exportValues.countries.country</code></li>\n<li><code>containers</code></li>\n<li><code>exportValues</code></li>\n<li><code>exportValues.countries</code></li>\n<li><code>exportValues.countries.country</code></li>\n<li><code>groupItems.inventoryItem.exportValues</code></li>\n<li><code>groupItems.inventoryItem.exportValues.countries</code></li>\n<li><code>groupItems.inventoryItem.exportValues.countries.country</code></li>\n<li><code>groupItems.inventoryItem.dimension</code></li>\n<li><code>groupItems.inventoryItem.serials</code></li>\n<li><code>batches</code></li>\n<li><code>batches.location</code></li>\n<li><code>serials</code></li>\n<li><code>groupItems.inventoryItem.dimension</code></li>\n<li><code>groupItems.inventoryItem.settings</code></li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>meta</code> - <code>meta.description</code> - <code>meta.customsDescription</code> - <code>meta.country</code> - <code>meta.packageTemplate</code> - <code>meta.taxGroup</code> - <code>dimension</code> - <code>groupItems</code> - <code>groupItems.inventory</code> - <code>groupItems.inventory.meta</code> - <code>groupItems.inventoryItem</code> - <code>groupItems.inventoryItem.meta</code> - <code>category</code> - <code>category.category</code> - <code>category.category.parent</code> - <code>courierService</code> - <code>courierService.courierService</code> - <code>courierService.courierService.courier</code> - <code>tags</code> - <code>tags.tag</code> - <code>customFields</code> - <code>customFields.customFieldOption</code> - <code>settings</code> - <code>shelf</code> - <code>shelf.shelf</code> - <code>stocks</code> - <code>stocks.location</code> - <code>stocks.location.settings</code> - <code>linkedChannelProduct</code> - <code>linkedChannelProduct.channel</code> - <code>linkedChannelProduct.channel.settings</code> - <code>barcodes</code> - <code>inventorySuppliers</code> - <code>inventorySuppliers.inventoryContainer</code> - <code>inventorySuppliers.supplier</code> - <code>inventorySuppliers.supplier.contact</code> - <code>associatedGroup</code> - <code>associatedGroup.inventory.meta</code> - <code>associatedGroup.inventory.country</code> - <code>purchaseOrderControl</code> - <code>primarySupplier</code> - <code>primarySupplier.supplier</code> - <code>primarySupplier.supplier.contact</code> - <code>primarySupplier.supplier.fileManager</code> - <code>family</code> - <code>family.family</code> - <code>openInventoryChekItems</code> - <code>exportValues</code> - <code>exportValues.countries</code> - <code>exportValues.countries.country</code> - <code>groupItems.inventoryItem.exportValues</code> - <code>groupItems.inventoryItem.exportValues.countries</code> - <code>groupItems.inventoryItem.exportValues.countries.country</code> - <code>containers</code> - <code>exportValues</code> - <code>exportValues.countries</code> - <code>exportValues.countries.country</code> - <code>groupItems.inventoryItem.exportValues</code> - <code>groupItems.inventoryItem.exportValues.countries</code> - <code>groupItems.inventoryItem.exportValues.countries.country</code> - <code>groupItems.inventoryItem.dimension</code> - <code>groupItems.inventoryItem.serials</code> - <code>batches</code> - <code>batches.location</code> - <code>serials</code> - <code>groupItems.inventoryItem.dimension</code> - <code>groupItems.inventoryItem.settings</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"5a84ef6e-fe69-4979-96ed-86e505ebb4dd","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"9ef5c6f5-cf0c-4e18-a6a7-85838d4abaec"},{"name":"Inventory update","id":"22470e7b-6411-413c-8fa3-c23f5c57a319","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"name\": \"name\",\n  \"courier_service_id\": \"{{courier_service_id}}\",\n  \"tax_group_id\": \"{{tax_group_id}}\",\n  \"is_packaging_item\": false,\n  \"not_for_resale\": false,\n  \"single_parcel_per_item\": false,\n  \"auto_sync_stock\": false,\n  \"height\": 0,\n  \"weight\": 0,\n  \"width\": 0,\n  \"length\": 0,\n  \"nest_height\": 0,\n  \"shelf\": \"\",\n  \"quantity\": 0,\n  \"country_id\": \"{{country_id}}\",\n  \"hs_code\": 0,\n  \"customs_description\": \"\",\n  \"customs_value\": 0,\n  \"description\": \"\",\n  \"cost_price\": 0,\n  \"price\": 0,\n  \"image_url\": \"https://example.com/\",\n  \"file_manager_id\": \"{{file_manager_id}}\",\n  \"tags\": [\n    \"\"\n  ],\n  \"barcodes\": [\n    {\n      \"inventory_barcode_type_id\": \"1\",\n      \"value\": \"value\"\n    }\n  ],\n  \"containers\": [\n    {\n      \"id\": \"{{id}}\",\n      \"inventory_container_type_id\": \"1\",\n      \"height\": 0,\n      \"weight\": 0,\n      \"width\": 0,\n      \"length\": 0,\n      \"quantity\": 0\n    }\n  ],\n  \"manufacturer_sku\": \"\",\n  \"manufacturer_id\": \"{{manufacturer_id}}\",\n  \"cpsc_mode\": \"\",\n  \"cpsc_certifier_id\": \"{{cpsc_certifier_id}}\",\n  \"cpsc_product_version\": \"\",\n  \"cpsc_registry_product_id\": \"{{cpsc_registry_product_id}}\",\n  \"cpsc_intended_use_code\": \"\",\n  \"cpsc_intended_use_description\": \"\",\n  \"cpsc_disclaim_code\": \"\",\n  \"cpsc_disclaim_reason\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>courier_service_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tax_group_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>is_packaging_item</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>not_for_resale</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>single_parcel_per_item</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>auto_sync_stock</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>height</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>weight</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>width</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>length</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>nest_height</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shelf</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tags</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>quantity</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>country_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>hs_code</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>manufacturer_sku</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Manufacturer part number, up to 100 characters. Sent to the courier as <code>manufacturer_sku</code>.</td>\n</tr>\n<tr>\n<td><code>manufacturer_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>ID of a manufacturer of the same company (see the Manufacturers endpoints). Its MID and address are sent to the courier with the item.</td>\n</tr>\n<tr>\n<td><code>cpsc_mode</code></td>\n<td>string</td>\n<td>no</td>\n<td>US CPSC declaration: <code>not_applicable</code>, <code>certified</code> or <code>disclaimed</code>. Required whenever any <code>cpsc_*</code> field is sent. <code>certified</code> uses <code>cpsc_certifier_id</code> (optional when the company has a default certifier ID in System Defaults), <code>cpsc_product_version</code> and <code>cpsc_registry_product_id</code>; <code>disclaimed</code> uses <code>cpsc_intended_use_code</code>, <code>cpsc_disclaim_code</code>, <code>cpsc_disclaim_reason</code> and, for code <code>980.000</code>, <code>cpsc_intended_use_description</code>. Fields of the other declaration are ignored and cleared on the product; <code>not_applicable</code> clears all of them. The declaration itself is stored in Helm and is not sent to the courier.</td>\n</tr>\n<tr>\n<td><code>cpsc_certifier_id</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Certifier ID of a certified declaration, up to 100 characters. Can be left out when the company has a default certifier ID in System Defaults; the default is then sent to the courier.  <strong>Conditional:</strong> - Ignored (dropped from the validated payload) unless <code>cpsc_mode</code> is <code>certified</code>.</td>\n</tr>\n<tr>\n<td><code>cpsc_product_version</code></td>\n<td>string</td>\n<td>no</td>\n<td>Certificate version of a certified declaration: letters and digits only, up to 50 characters (e.g. <code>V1</code>).  <strong>Conditional:</strong> - Ignored (dropped from the validated payload) unless <code>cpsc_mode</code> is <code>certified</code>. - Required when <code>cpsc_mode</code> is <code>certified</code>.</td>\n</tr>\n<tr>\n<td><code>cpsc_registry_product_id</code></td>\n<td>string</td>\n<td>no</td>\n<td>CPSC Product Registry ID of a certified declaration, up to 100 characters.  <strong>Conditional:</strong> - Ignored (dropped from the validated payload) unless <code>cpsc_mode</code> is <code>certified</code>. - Required when <code>cpsc_mode</code> is <code>certified</code>.</td>\n</tr>\n<tr>\n<td><code>cpsc_intended_use_code</code></td>\n<td>string</td>\n<td>no</td>\n<td>Intended use code (CBP Appendix R) of a disclaimed declaration, in the form <code>###.###</code> (e.g. <code>980.000</code>).  <strong>Conditional:</strong> - Ignored (dropped from the validated payload) unless <code>cpsc_mode</code> is <code>disclaimed</code>. - Required when <code>cpsc_mode</code> is <code>disclaimed</code>.</td>\n</tr>\n<tr>\n<td><code>cpsc_intended_use_description</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Intended use as free text, up to 255 characters. Required when <code>cpsc_intended_use_code</code> is <code>980.000</code> (Other) and not stored for any other code.  <strong>Conditional:</strong> - Ignored (dropped from the validated payload) unless <code>cpsc_mode</code> is <code>disclaimed</code>. - Required when <code>cpsc_intended_use_code</code> is <code>980.000</code>.</td>\n</tr>\n<tr>\n<td><code>cpsc_disclaim_code</code></td>\n<td>string</td>\n<td>no</td>\n<td>Basis for disclaiming: <code>A</code> = not regulated by CPSC, <code>B</code> = data not required under CPSC guidance. Disclaimed declaration only. Lower case is accepted and stored in upper case.  <strong>Conditional:</strong> - Ignored (dropped from the validated payload) unless <code>cpsc_mode</code> is <code>disclaimed</code>. - Required when <code>cpsc_mode</code> is <code>disclaimed</code>.</td>\n</tr>\n<tr>\n<td><code>cpsc_disclaim_reason</code></td>\n<td>string</td>\n<td>no</td>\n<td>Basis for disclaiming as free text, up to 255 characters. Required for a disclaimed declaration.  <strong>Conditional:</strong> - Ignored (dropped from the validated payload) unless <code>cpsc_mode</code> is <code>disclaimed</code>. - Required when <code>cpsc_mode</code> is <code>disclaimed</code>.</td>\n</tr>\n<tr>\n<td><code>customs_description</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customs_value</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>description</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>cost_price</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>price</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>barcodes</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>barcodes.*.inventory_barcode_type_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td><strong>BarcodeTypes</strong> values: - <code>1</code> = PACK - <code>2</code> = BOX - <code>3</code> = CARTON - <code>4</code> = INNER - <code>5</code> = OUTER - <code>6</code> = PALLET - <code>7</code> = TOTE - <code>8</code> = CONTAINER - <code>9</code> = CAGE - <code>10</code> = PIECE Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code>, <code>9</code>, <code>10</code></td>\n</tr>\n<tr>\n<td><code>barcodes.*.value</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>containers</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>containers.*.id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>ContainerService::bulkUpdateOrCreate deletes existing containers whose id is absent from the payload, so id must survive validation.</td>\n</tr>\n<tr>\n<td><code>containers.*.inventory_container_type_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td><strong>ContainerTypes</strong> values: - <code>1</code> = PACK - <code>2</code> = BOX - <code>3</code> = CARTON - <code>4</code> = INNER - <code>5</code> = OUTER - <code>6</code> = PALLET - <code>7</code> = TOTE - <code>8</code> = CONTAINER - <code>9</code> = CAGE - <code>10</code> = PCS Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code>, <code>9</code>, <code>10</code></td>\n</tr>\n<tr>\n<td><code>containers.*.height</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>containers.*.weight</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>containers.*.width</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>containers.*.length</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>containers.*.quantity</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>image_url</code></td>\n<td>string</td>\n<td>no</td>\n<td>A publicly reachable <code>http</code>/<code>https</code> URL of the product image. The server fetches and stores it in the background, so it is not part of this response yet — read it back from <code>meta.image</code> once processed. Cannot be combined with <code>file_manager_id</code>.  <strong>Conditional:</strong> - When this field is sent, <code>file_manager_id</code> must be missing or empty.</td>\n</tr>\n<tr>\n<td><code>file_manager_id</code></td>\n<td>integer</td>\n<td>no</td>\n<td>The id of a file already uploaded through POST /file-manager/upload with <code>type</code> = 6 (INVENTORY). Nothing is downloaded, so the image is attached immediately. Cannot be combined with <code>image_url</code>.</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"73864293-6f87-45ee-8883-d2d1687e7ebc","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"22470e7b-6411-413c-8fa3-c23f5c57a319"},{"name":"Inventory delete","id":"1e8a1128-ff38-40e1-ac8f-6550d1029396","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"8233f3ba-1ba5-4bb6-a5c8-3ad775f514eb","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"1e8a1128-ff38-40e1-ac8f-6550d1029396"},{"name":"Inventory ext generate code","id":"1a0add85-117e-4d26-8444-ba19965c31cc","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/generate-code","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory","generate-code"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"1a0add85-117e-4d26-8444-ba19965c31cc"},{"name":"Inventory ext barcode types","id":"d4a1ac57-9964-48a5-a551-2bcaac9798a1","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/barcode-types","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory","barcode-types"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"d4a1ac57-9964-48a5-a551-2bcaac9798a1"},{"name":"Inventory ext container types","id":"e0c45b9d-1861-4f56-8720-2f1d4716bae2","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/container-types","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory","container-types"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"e0c45b9d-1861-4f56-8720-2f1d4716bae2"},{"name":"Inventory ext group items sync","id":"1275bf5d-6025-4e10-a61a-1d37ebad3c55","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"removed_inventory_ids\": [\n    \"{{removed_inventory_id}}\"\n  ],\n  \"items\": [\n    {\n      \"quantity\": 1,\n      \"group_item_id\": \"{{group_item_id}}\",\n      \"inventory_item_id\": \"{{inventory_item_id}}\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/group-items/sync","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>removed_inventory_ids</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.quantity</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.group_item_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.inventory_item_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","group-items","sync"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"cc62c35a-5a69-4caf-82cc-b77b23b1db3b","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"1275bf5d-6025-4e10-a61a-1d37ebad3c55"},{"name":"Inventory ext group items update quantity","id":"7153edfa-9e86-440a-9a56-4700b23d7212","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"quantity\": 1,\n  \"inventory_item_id\": \"{{inventory_item_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/group-items/:inventoryItemID/update-quantity","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryItemID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>quantity</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventory_item_id</code></td>\n<td>integer</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","group-items",":inventoryItemID","update-quantity"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"15c4e60c-d9a6-4583-ab51-5748131ccac6","type":"any","value":"","key":"inventoryID"},{"id":"71312067-ba66-45ee-8308-b5387b10074b","type":"any","value":"","key":"inventoryItemID"}]}},"response":[],"_postman_id":"7153edfa-9e86-440a-9a56-4700b23d7212"},{"name":"Inventory ext update meta","id":"88171a07-092b-4109-85da-ea0c5be0cc52","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"package_template_id\": \"{{package_template_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/update/meta","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>package_template_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","update","meta"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"dd276d56-3eef-463b-bdf4-36d63dc5a789","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"88171a07-092b-4109-85da-ea0c5be0cc52"},{"name":"Inventory ext update auto sync stock","id":"a1302d8c-c380-425c-b8a6-6abe4e93bfcb","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"auto_sync_stock\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/update-auto-sync-stock","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>auto_sync_stock</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","update-auto-sync-stock"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"56efae84-d93d-45f1-ac48-de5d0c697720","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"a1302d8c-c380-425c-b8a6-6abe4e93bfcb"},{"name":"Inventory ext product information list","id":"864bc8e5-02e5-4bef-9a1d-ac6a9c914a27","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/product-information","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","product-information"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""}],"variable":[{"id":"d7c722ec-1838-46a2-bb30-790771261480","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"864bc8e5-02e5-4bef-9a1d-ac6a9c914a27"},{"name":"Inventory ext product information update","id":"e345ec1d-8535-4e3c-aeca-7d261c063858","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"location\": \"\",\n  \"cost_price\": 0,\n  \"price\": 0,\n  \"name\": \"name\",\n  \"description\": \"\",\n  \"shelf\": \"shelf\",\n  \"tax_group_id\": \"{{tax_group_id}}\",\n  \"count_period\": 1,\n  \"batching_type\": \"1\",\n  \"expiry_lead_time_days\": 0\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/product-information","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>location</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>cost_price</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>price</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>description</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shelf</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tax_group_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>count_period</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code></td>\n</tr>\n<tr>\n<td><code>batching_type</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code></td>\n</tr>\n<tr>\n<td><code>expiry_lead_time_days</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","product-information"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"9529aaa2-b371-4936-b328-d2fa387361e7","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"e345ec1d-8535-4e3c-aeca-7d261c063858"},{"name":"Inventory ext product dimension list","id":"d273a3e6-6e3d-4a15-b058-aaa5fada1e43","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/product-dimension","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","product-dimension"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""}],"variable":[{"id":"81c7e151-8286-4887-a366-1f2cf8b2d5a8","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"d273a3e6-6e3d-4a15-b058-aaa5fada1e43"},{"name":"Inventory ext product dimension update","id":"ab21f557-e64a-448f-b06b-867e737a9dbe","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"height\": 0,\n  \"weight\": 0,\n  \"width\": 0,\n  \"length\": 0,\n  \"nest_height\": 0\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/product-dimension","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>height</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>weight</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>width</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>length</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>nest_height</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","product-dimension"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"e96b8c67-6132-4797-8f71-fc4003c3c2e3","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"ab21f557-e64a-448f-b06b-867e737a9dbe"},{"name":"Inventory ext customs information list","id":"88d247cb-9310-431c-859b-97045103af8a","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/customs-information","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","customs-information"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""}],"variable":[{"id":"12e7f1c9-6387-4c57-bf04-9c0c5eca080d","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"88d247cb-9310-431c-859b-97045103af8a"},{"name":"Inventory ext customs information update","id":"9d39a606-2e5e-4573-8daa-a4eac2a15126","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"country_id\": \"{{country_id}}\",\n  \"hs_code\": 0,\n  \"description\": \"\",\n  \"customs_value\": 0,\n  \"export_values\": [\n    {\n      \"country_ids\": [\n        \"{{country_id}}\"\n      ],\n      \"value\": 0\n    }\n  ],\n  \"manufacturer_sku\": \"\",\n  \"manufacturer_id\": \"{{manufacturer_id}}\",\n  \"cpsc_mode\": \"\",\n  \"cpsc_certifier_id\": \"{{cpsc_certifier_id}}\",\n  \"cpsc_product_version\": \"\",\n  \"cpsc_registry_product_id\": \"{{cpsc_registry_product_id}}\",\n  \"cpsc_intended_use_code\": \"\",\n  \"cpsc_intended_use_description\": \"\",\n  \"cpsc_disclaim_code\": \"\",\n  \"cpsc_disclaim_reason\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/customs-information","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>country_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>hs_code</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>manufacturer_sku</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Manufacturer part number, up to 100 characters. Sent to the courier as <code>manufacturer_sku</code>.</td>\n</tr>\n<tr>\n<td><code>manufacturer_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>ID of a manufacturer of the same company (see the Manufacturers endpoints). Its MID and address are sent to the courier with the item.</td>\n</tr>\n<tr>\n<td><code>cpsc_mode</code></td>\n<td>string</td>\n<td>no</td>\n<td>US CPSC declaration: <code>not_applicable</code>, <code>certified</code> or <code>disclaimed</code>. Required whenever any <code>cpsc_*</code> field is sent. <code>certified</code> uses <code>cpsc_certifier_id</code> (optional when the company has a default certifier ID in System Defaults), <code>cpsc_product_version</code> and <code>cpsc_registry_product_id</code>; <code>disclaimed</code> uses <code>cpsc_intended_use_code</code>, <code>cpsc_disclaim_code</code>, <code>cpsc_disclaim_reason</code> and, for code <code>980.000</code>, <code>cpsc_intended_use_description</code>. Fields of the other declaration are ignored and cleared on the product; <code>not_applicable</code> clears all of them. The declaration itself is stored in Helm and is not sent to the courier.</td>\n</tr>\n<tr>\n<td><code>cpsc_certifier_id</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Certifier ID of a certified declaration, up to 100 characters. Can be left out when the company has a default certifier ID in System Defaults; the default is then sent to the courier.  <strong>Conditional:</strong> - Ignored (dropped from the validated payload) unless <code>cpsc_mode</code> is <code>certified</code>.</td>\n</tr>\n<tr>\n<td><code>cpsc_product_version</code></td>\n<td>string</td>\n<td>no</td>\n<td>Certificate version of a certified declaration: letters and digits only, up to 50 characters (e.g. <code>V1</code>).  <strong>Conditional:</strong> - Ignored (dropped from the validated payload) unless <code>cpsc_mode</code> is <code>certified</code>. - Required when <code>cpsc_mode</code> is <code>certified</code>.</td>\n</tr>\n<tr>\n<td><code>cpsc_registry_product_id</code></td>\n<td>string</td>\n<td>no</td>\n<td>CPSC Product Registry ID of a certified declaration, up to 100 characters.  <strong>Conditional:</strong> - Ignored (dropped from the validated payload) unless <code>cpsc_mode</code> is <code>certified</code>. - Required when <code>cpsc_mode</code> is <code>certified</code>.</td>\n</tr>\n<tr>\n<td><code>cpsc_intended_use_code</code></td>\n<td>string</td>\n<td>no</td>\n<td>Intended use code (CBP Appendix R) of a disclaimed declaration, in the form <code>###.###</code> (e.g. <code>980.000</code>).  <strong>Conditional:</strong> - Ignored (dropped from the validated payload) unless <code>cpsc_mode</code> is <code>disclaimed</code>. - Required when <code>cpsc_mode</code> is <code>disclaimed</code>.</td>\n</tr>\n<tr>\n<td><code>cpsc_intended_use_description</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Intended use as free text, up to 255 characters. Required when <code>cpsc_intended_use_code</code> is <code>980.000</code> (Other) and not stored for any other code.  <strong>Conditional:</strong> - Ignored (dropped from the validated payload) unless <code>cpsc_mode</code> is <code>disclaimed</code>. - Required when <code>cpsc_intended_use_code</code> is <code>980.000</code>.</td>\n</tr>\n<tr>\n<td><code>cpsc_disclaim_code</code></td>\n<td>string</td>\n<td>no</td>\n<td>Basis for disclaiming: <code>A</code> = not regulated by CPSC, <code>B</code> = data not required under CPSC guidance. Disclaimed declaration only. Lower case is accepted and stored in upper case.  <strong>Conditional:</strong> - Ignored (dropped from the validated payload) unless <code>cpsc_mode</code> is <code>disclaimed</code>. - Required when <code>cpsc_mode</code> is <code>disclaimed</code>.</td>\n</tr>\n<tr>\n<td><code>cpsc_disclaim_reason</code></td>\n<td>string</td>\n<td>no</td>\n<td>Basis for disclaiming as free text, up to 255 characters. Required for a disclaimed declaration.  <strong>Conditional:</strong> - Ignored (dropped from the validated payload) unless <code>cpsc_mode</code> is <code>disclaimed</code>. - Required when <code>cpsc_mode</code> is <code>disclaimed</code>.</td>\n</tr>\n<tr>\n<td><code>description</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customs_value</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>export_values</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>export_values.*.country_ids</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>export_values.*.value</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","customs-information"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"85fdb2e5-e587-4041-be77-c9377797dd59","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"9d39a606-2e5e-4573-8daa-a4eac2a15126"},{"name":"Inventory ext barcodes update","id":"6179c2d8-f886-4272-a6f6-4845469dcc14","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"inventory_barcode_type_id\": \"1\",\n  \"value\": \"value\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/barcodes/:barcodeID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>barcodeID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>inventory_barcode_type_id</code></td>\n<td>string | null</td>\n<td>no</td>\n<td><strong>BarcodeTypes</strong> values: - <code>1</code> = PACK - <code>2</code> = BOX - <code>3</code> = CARTON - <code>4</code> = INNER - <code>5</code> = OUTER - <code>6</code> = PALLET - <code>7</code> = TOTE - <code>8</code> = CONTAINER - <code>9</code> = CAGE - <code>10</code> = PIECE Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code>, <code>9</code>, <code>10</code></td>\n</tr>\n<tr>\n<td><code>value</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","barcodes",":barcodeID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"6e5b5f0f-0d3f-4fed-ba86-c788f247ddfc","type":"any","value":"","key":"inventoryID"},{"id":"8006478e-3b51-4f4f-98cf-db7526201ee3","type":"any","value":"","key":"barcodeID"}]}},"response":[],"_postman_id":"6179c2d8-f886-4272-a6f6-4845469dcc14"},{"name":"Inventory ext associated group items list","id":"52f08776-134b-43fb-9488-ce2681f6e71e","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/associated-group-items","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>filter[]</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sort</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>inventory</code></li>\n<li><code>inventory.meta</code></li>\n<li><code>inventoryItem</code></li>\n<li><code>inventoryItem.meta</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","associated-group-items"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"key":"filter[]","value":""},{"disabled":true,"key":"sort","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>inventory</code> - <code>inventory.meta</code> - <code>inventoryItem</code> - <code>inventoryItem.meta</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"2fc019cd-9eee-421c-86ac-1fe3c48ae592","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"52f08776-134b-43fb-9488-ce2681f6e71e"},{"name":"Inventory batches bulk store","id":"3a06f4c2-653d-4e34-a2f3-0834aa967e98","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"batches\": [\n    {\n      \"location_id\": \"{{location_id}}\",\n      \"quantity\": 0,\n      \"batch_number\": \"batch_number\",\n      \"expiry_date\": \"\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/batches/bulk","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>batches</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>batches.*.location_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>batches.*.quantity</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>batches.*.batch_number</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>batches.*.expiry_date</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","batches","bulk"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"8f0963cd-17d7-418e-8532-33d9c5a13973","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"3a06f4c2-653d-4e34-a2f3-0834aa967e98"},{"name":"Inventory batches bulk upsert","id":"62278eda-2696-4666-b489-12c0c75d5ec8","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"deleted_ids\": [\n    \"{{deleted_id}}\"\n  ],\n  \"batches\": [\n    {\n      \"id\": null,\n      \"location_id\": \"{{location_id}}\",\n      \"quantity\": 0,\n      \"batch_number\": \"batch_number\",\n      \"expiry_date\": \"\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/batches/bulk","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>deleted_ids</code></td>\n<td>array</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>batches</code></td>\n<td>array</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>batches.*.id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>batches.*.location_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>batches.*.quantity</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>batches.*.batch_number</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>batches.*.expiry_date</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","batches","bulk"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"fe9c08ca-a23f-45af-b49c-9a8a50ad8b0c","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"62278eda-2696-4666-b489-12c0c75d5ec8"},{"name":"Inventory batches list","id":"f61f1c7d-030d-4df3-990e-bf199afda5f7","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/batches","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","batches"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""}],"variable":[{"id":"95331709-8c5a-48c1-94ce-778f99b86637","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"f61f1c7d-030d-4df3-990e-bf199afda5f7"},{"name":"Inventory batches create","id":"bac0cb0f-b92c-408d-b14f-a34454f0fba9","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"location_id\": \"{{location_id}}\",\n  \"quantity\": 0,\n  \"batch_number\": \"batch_number\",\n  \"expiry_date\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/batches","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>location_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>quantity</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>batch_number</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>expiry_date</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","batches"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"15251d84-8842-4d07-81f1-5b9bbe7e59fc","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"bac0cb0f-b92c-408d-b14f-a34454f0fba9"},{"name":"Inventory batches update","id":"178d444c-b8af-461b-9fc8-ea974ed97ba9","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"location_id\": \"{{location_id}}\",\n  \"quantity\": 0,\n  \"batch_number\": \"\",\n  \"expiry_date\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/batches/:batchID","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>batchID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>location_id</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>quantity</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>batch_number</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>expiry_date</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","batches",":batchID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"6a8c3cf3-9f3b-4dc5-9ae2-c8e2664c76ba","type":"any","value":"","key":"inventoryID"},{"id":"0bbd566f-b7eb-4349-9a9e-509017748931","type":"any","value":"","key":"batchID"}]}},"response":[],"_postman_id":"178d444c-b8af-461b-9fc8-ea974ed97ba9"},{"name":"Inventory batches delete","id":"57bdc027-3525-4bed-86da-2ece8012c7f7","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/batches/:batchID","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>batchID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","batches",":batchID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"c95aa3b4-e65f-41fc-a157-e47abd332349","type":"any","value":"","key":"inventoryID"},{"id":"6e90676a-9ee2-4e14-bfa9-f6b30c2b02b5","type":"any","value":"","key":"batchID"}]}},"response":[],"_postman_id":"57bdc027-3525-4bed-86da-2ece8012c7f7"},{"name":"Inventory ext courier service create","id":"abaaf1c6-667a-43ea-8f76-a45821066827","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"courier_service_id\": \"{{courier_service_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/courier-service","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>courier_service_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","courier-service"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"1e52fc70-4068-49a1-8683-c7af3f948d28","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"abaaf1c6-667a-43ea-8f76-a45821066827"},{"name":"Inventory ext courier service delete","id":"3ef2fdb1-d2f7-40c3-b206-e82b33d46d0f","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/courier-service","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","courier-service"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"a1c46f03-c63c-4b9d-bc6b-0c15c8da6771","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"3ef2fdb1-d2f7-40c3-b206-e82b33d46d0f"},{"name":"Inventory ext export values sync","id":"5507bd82-0128-440c-b772-6bfea22e4af0","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"items\": [\n    {\n      \"country_ids\": [\n        \"{{country_id}}\"\n      ],\n      \"value\": 0\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/export-values/sync","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>items</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.country_ids</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.value</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","export-values","sync"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"66b5fce0-0c8b-4ebb-86f4-38c12329a97e","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"5507bd82-0128-440c-b772-6bfea22e4af0"},{"name":"Inventory ext export values list","id":"d732669f-8ff9-4f85-ae65-3d66e48a5450","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/export-values","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","export-values"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""}],"variable":[{"id":"89a508d4-68e2-4596-b401-6deb72bf2ea2","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"d732669f-8ff9-4f85-ae65-3d66e48a5450"},{"name":"Inventory items list","id":"eb5396a6-09ab-4627-9edd-83f9c2415c8a","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/items","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","items"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""}],"variable":[{"id":"cb1bbc35-3381-4fee-af8e-901d616aef3e","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"eb5396a6-09ab-4627-9edd-83f9c2415c8a"},{"name":"Inventory items bulk attach","id":"fa2d7e9a-154e-4d2e-bd78-15e3e33aa82a","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"items\": [\n    {\n      \"quantity\": 1,\n      \"inventory_item_id\": \"{{inventory_item_id}}\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/items/bulk-attach","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>items</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.quantity</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.inventory_item_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","items","bulk-attach"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"1a4c37f3-7242-4a75-abb8-1f85b2be433e","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"fa2d7e9a-154e-4d2e-bd78-15e3e33aa82a"},{"name":"Inventory items bulk detach","id":"248ada81-d748-42e1-ac4c-3f3b30c33d30","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"items\": [\n    0\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/items/bulk-detach","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>items</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","items","bulk-detach"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"1274fe7b-4ee4-4327-9b0d-342c953994e1","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"248ada81-d748-42e1-ac4c-3f3b30c33d30"},{"name":"Inventory items bulk update","id":"a67667db-843e-4528-8240-9bb9c19918db","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"items\": [\n    {\n      \"quantity\": 1,\n      \"inventory_item_id\": \"{{inventory_item_id}}\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/items/bulk-update","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>items</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.quantity</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.inventory_item_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","items","bulk-update"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"ff2ac858-9dbf-41fe-9612-253cb3fc859c","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"a67667db-843e-4528-8240-9bb9c19918db"},{"name":"Inventory items attach","id":"ce99944d-52d2-4d4a-a09a-fdcaf1aea7a9","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"quantity\": 1\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/items/:inventoryItemID/attach","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryItemID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>quantity</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","items",":inventoryItemID","attach"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"5268e169-ff91-49c7-acbc-0553222e6262","type":"any","value":"","key":"inventoryID"},{"id":"45a99296-7428-4408-b024-83633a6d3608","type":"any","value":"","key":"inventoryItemID"}]}},"response":[],"_postman_id":"ce99944d-52d2-4d4a-a09a-fdcaf1aea7a9"},{"name":"Inventory items detach","id":"60519f43-5738-4241-b6ac-950bf22898fc","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/items/:inventoryItemID/detach","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryItemID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","items",":inventoryItemID","detach"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"8a1ed0d0-9799-486f-9e85-cbaf90735399","type":"any","value":"","key":"inventoryID"},{"id":"78cfe3fe-e99e-4b3f-adeb-d496ee7d6277","type":"any","value":"","key":"inventoryItemID"}]}},"response":[],"_postman_id":"60519f43-5738-4241-b6ac-950bf22898fc"},{"name":"Inventory items update","id":"0d01f799-80d5-4949-a365-a919cce67688","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"quantity\": 1\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/items/:inventoryItemID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryItemID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>quantity</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","items",":inventoryItemID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"4656e6d5-121d-460f-acd5-15af32cfe043","type":"any","value":"","key":"inventoryID"},{"id":"a2894b6d-c305-476b-a7a0-3a3a85f6f726","type":"any","value":"","key":"inventoryItemID"}]}},"response":[],"_postman_id":"0d01f799-80d5-4949-a365-a919cce67688"},{"name":"Inventory ext purchase order controls detail","id":"ad9a7709-45b3-4150-83c5-e23efe3020bc","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/purchase-order-controls/detail","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","purchase-order-controls","detail"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""}],"variable":[{"id":"bc47e45b-3f35-406a-90ce-8fbb282f0c02","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"ad9a7709-45b3-4150-83c5-e23efe3020bc"},{"name":"Inventory ext purchase order controls update","id":"fda61f63-cf6d-4fa6-b988-dcdb1344e0e9","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"ordering_method\": \"1\",\n  \"is_warning_open\": false,\n  \"warning_level\": 1,\n  \"days_of_stock_required\": 1,\n  \"maximum_level\": 1,\n  \"exclude_zero_sale_days\": false,\n  \"calculation_method\": \"1\",\n  \"calculation_timeframe\": \"1\",\n  \"trigger_level\": \"trigger_level\",\n  \"target_level\": \"target_level\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/purchase-order-controls/update","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>ordering_method</code></td>\n<td>string | null</td>\n<td>no</td>\n<td><strong>ReturnsMethod</strong> values: - <code>1</code> = DIRECT_TO_LOCATION - <code>2</code> = ADD_SINGLE_MOVEMENT - <code>3</code> = ADD_MULTIPLE_MOVEMENT Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>is_warning_open</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>warning_level</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>days_of_stock_required</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>maximum_level</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>exclude_zero_sale_days</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>calculation_method</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code></td>\n</tr>\n<tr>\n<td><code>calculation_timeframe</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code></td>\n</tr>\n<tr>\n<td><code>trigger_level</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>target_level</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","purchase-order-controls","update"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"8bbbec66-7d15-4484-98be-e1f1f3e8855e","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"fda61f63-cf6d-4fa6-b988-dcdb1344e0e9"},{"name":"Inventory ext purchase order controls find inventory suppliers","id":"60339870-c4e2-4857-91b4-c552f20025c0","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/purchase-order-controls/find-inventory-suppliers?type=","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>type</code></td>\n<td>Options: <code>1</code>, <code>3</code></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","purchase-order-controls","find-inventory-suppliers"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"type","value":""}],"variable":[{"id":"afe3722d-4a0f-4d92-9708-5ce383a1c35e","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"60339870-c4e2-4857-91b4-c552f20025c0"},{"name":"Inventory ext reporting channel","id":"4be11cde-3aa6-460b-9fae-45ccb79478be","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/reporting/channel","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","reporting","channel"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""}],"variable":[{"id":"8f708c69-7ada-41ff-903b-3bce605470a2","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"4be11cde-3aa6-460b-9fae-45ccb79478be"},{"name":"Inventory ext reporting stock","id":"821bc59a-647e-420a-89cf-92929d506593","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/reporting/stock","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","reporting","stock"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""}],"variable":[{"id":"9c4f0dfb-27cb-4e4e-a197-912bc3e76488","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"821bc59a-647e-420a-89cf-92929d506593"},{"name":"Inventory ext reporting sales","id":"92372e3d-ae03-4fe5-a68d-f3e302bd92e0","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/reporting/sales","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","reporting","sales"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""}],"variable":[{"id":"d6f9b2df-cae9-437d-b0a7-0db55edd274f","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"92372e3d-ae03-4fe5-a68d-f3e302bd92e0"},{"name":"Inventory ext settings update","id":"d67136d5-9d96-48bf-8020-73ca9a0ca508","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"is_packaging_item\": false,\n  \"not_for_resale\": false,\n  \"single_parcel_per_item\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/settings","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>is_packaging_item</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>not_for_resale</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>single_parcel_per_item</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","settings"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"301da61d-2245-43ee-80ce-289b752b32d2","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"d67136d5-9d96-48bf-8020-73ca9a0ca508"},{"name":"Inventory stocks bulk create","id":"4cce208c-3b63-45a1-a627-eaf5edbb6038","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"stocks\": [\n    {\n      \"location_id\": \"{{location_id}}\",\n      \"quantity\": 0,\n      \"max_level\": 1\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventory_id/stocks/bulk-create","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventory_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>stocks</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>stocks.*.location_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>stocks.*.quantity</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>stocks.*.max_level</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventory_id","stocks","bulk-create"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"6e4b0428-d29e-4479-aabb-cff04cfb9fe0","type":"any","value":"","key":"inventory_id"}]}},"response":[],"_postman_id":"4cce208c-3b63-45a1-a627-eaf5edbb6038"},{"name":"Inventory stocks bulk update","id":"0bb8f3dd-7a33-418b-a948-4090cc283f9e","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"stocks\": [\n    {\n      \"stock_id\": \"{{stock_id}}\",\n      \"quantity\": 0,\n      \"stock_change_reason\": \"stock_change_reason\",\n      \"max_level\": 1\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventory_id/stocks/bulk-update","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventory_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>stocks</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>stocks.*.stock_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>stocks.*.quantity</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>stocks.*.stock_change_reason</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>stocks.*.max_level</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventory_id","stocks","bulk-update"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"f53e906c-9ce3-4ce6-a349-626b46542c38","type":"any","value":"","key":"inventory_id"}]}},"response":[],"_postman_id":"0bb8f3dd-7a33-418b-a948-4090cc283f9e"},{"name":"Inventory stocks bulk delete","id":"feb822ee-492c-451d-af8d-43f200519388","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"stock_ids\": [\n    \"{{stock_id}}\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventory_id/stocks/bulk-delete","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventory_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>stock_ids</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventory_id","stocks","bulk-delete"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"1eb39bc1-c9f2-44e2-92c2-e256bf6d77c7","type":"any","value":"","key":"inventory_id"}]}},"response":[],"_postman_id":"feb822ee-492c-451d-af8d-43f200519388"},{"name":"Inventory stocks change priorities","id":"b0f62554-4a4c-461b-8ceb-1aee814c518d","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"priorities\": [\n    {\n      \"stock_id\": \"{{stock_id}}\",\n      \"priority\": 0\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/stocks/change-priorities","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>priorities</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>priorities.*.stock_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>priorities.*.priority</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","stocks","change-priorities"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"ce4760ad-2d13-4fb9-850c-8300f4254387","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"b0f62554-4a4c-461b-8ceb-1aee814c518d"},{"name":"Inventory stocks basic","id":"b4b89dec-4105-46dc-a218-75dc33a36625","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"quantity\": 0,\n  \"trigger_level\": 0,\n  \"stock_change_reason\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/stocks/basic","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<p><code>409 Conflict</code> - the stock record is being updated by another operation (a despatch, a pick or a concurrent stock write on the same product). Retry after the number of seconds in the <code>Retry-After</code> header.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>quantity</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>trigger_level</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>stock_change_reason</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","stocks","basic"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"dbe45bb6-22ac-4631-90a3-cb6bcb132d0f","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"b4b89dec-4105-46dc-a218-75dc33a36625"},{"name":"Inventory stocks levels","id":"b1a571b5-4372-4f37-a383-7fdd11a09d1a","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/stocks/levels","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","stocks","levels"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"700c8479-80da-4e73-a461-78921abc14c8","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"b1a571b5-4372-4f37-a383-7fdd11a09d1a"},{"name":"Inventory stocks list","id":"f5c78938-104e-47e0-ad05-fead96d9d107","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/stocks","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","stocks"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""}],"variable":[{"id":"456bbcdd-a7c8-4b07-8b8e-98d481dfa209","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"f5c78938-104e-47e0-ad05-fead96d9d107"},{"name":"Inventory stocks create","id":"94f00f61-c5b3-46d0-940e-a02ec241b161","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"location_id\": \"{{location_id}}\",\n  \"quantity\": 0,\n  \"job_reason_id\": \"{{job_reason_id}}\",\n  \"max_level\": 1\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/stocks","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>location_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>quantity</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>job_reason_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>max_level</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","stocks"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"7f4f5cb9-722f-4503-9bd7-dab9df7d64f6","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"94f00f61-c5b3-46d0-940e-a02ec241b161"},{"name":"Inventory stocks update","id":"6bd7b2d6-3dac-436f-a4bf-feb039a7046d","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"quantity\": 0,\n  \"stock_change_reason\": \"stock_change_reason\",\n  \"max_level\": 1\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/stocks/:stockID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<p><code>409 Conflict</code> - the stock record is being updated by another operation (a despatch, a pick or a concurrent stock write on the same product). Retry after the number of seconds in the <code>Retry-After</code> header.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>stockID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>quantity</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>stock_change_reason</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>max_level</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","stocks",":stockID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"bdc78021-e05e-4abe-a879-ec7972a33197","type":"any","value":"","key":"inventoryID"},{"id":"14f4fcd9-24e0-45ec-97d3-b5356fee43f7","type":"any","value":"","key":"stockID"}]}},"response":[],"_postman_id":"6bd7b2d6-3dac-436f-a4bf-feb039a7046d"},{"name":"Inventory stocks delete","id":"9b7b6387-8aca-483b-a637-e55bc9438b71","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/stocks/:stockID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<p><code>409 Conflict</code> - the stock record is being updated by another operation (a despatch, a pick or a concurrent stock write on the same product). Retry after the number of seconds in the <code>Retry-After</code> header.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>stockID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","stocks",":stockID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"87cfbd58-84ad-430f-9a73-8aa20a696068","type":"any","value":"","key":"inventoryID"},{"id":"b7368e5c-c4c7-4a4b-826e-b8f00f3dbfff","type":"any","value":"","key":"stockID"}]}},"response":[],"_postman_id":"9b7b6387-8aca-483b-a637-e55bc9438b71"},{"name":"Inventory ext stocks logs list","id":"b7abb5ac-b1f9-49b6-aaa6-bd6df3cce753","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/stocks/logs","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>filter[]</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sort</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventory_id</code></td>\n<td>Filter by Inventory Id.</td>\n</tr>\n<tr>\n<td><code>inventory_batch_id</code></td>\n<td>Filter by Inventory Batch Id.</td>\n</tr>\n<tr>\n<td><code>item_serial_id</code></td>\n<td>Filter by Item Serial Id.</td>\n</tr>\n<tr>\n<td><code>query</code></td>\n<td>Filter by Query.</td>\n</tr>\n<tr>\n<td><code>created_at_from</code></td>\n<td>Filter by Created At From.</td>\n</tr>\n<tr>\n<td><code>created_at_to</code></td>\n<td>Filter by Created At To.</td>\n</tr>\n<tr>\n<td><code>user_id</code></td>\n<td>Filter by User Id.</td>\n</tr>\n<tr>\n<td><code>currency_code</code></td>\n<td>Filter by Currency Code.</td>\n</tr>\n<tr>\n<td><code>currency_id</code></td>\n<td>Filter by Currency Id.</td>\n</tr>\n<tr>\n<td><code>code</code></td>\n<td>Filter by Code.</td>\n</tr>\n<tr>\n<td><code>shelf</code></td>\n<td>Filter by Shelf.</td>\n</tr>\n<tr>\n<td><code>location_code</code></td>\n<td>Filter by Location Code.</td>\n</tr>\n<tr>\n<td><code>location_id</code></td>\n<td>Filter by Location Id.</td>\n</tr>\n<tr>\n<td><code>loggable_type</code></td>\n<td>Filter by Loggable Type.</td>\n</tr>\n<tr>\n<td><code>activity_type</code></td>\n<td>Filter by Activity Type.</td>\n</tr>\n<tr>\n<td><code>entry_type</code></td>\n<td>Filter by Entry Type.</td>\n</tr>\n<tr>\n<td><code>quantity_from</code></td>\n<td>Filter by Quantity From.</td>\n</tr>\n<tr>\n<td><code>quantity_to</code></td>\n<td>Filter by Quantity To.</td>\n</tr>\n<tr>\n<td><code>unit_value_from</code></td>\n<td>Filter by Unit Value From.</td>\n</tr>\n<tr>\n<td><code>unit_value_to</code></td>\n<td>Filter by Unit Value To.</td>\n</tr>\n<tr>\n<td><code>entry_value_from</code></td>\n<td>Filter by Entry Value From.</td>\n</tr>\n<tr>\n<td><code>entry_value_to</code></td>\n<td>Filter by Entry Value To.</td>\n</tr>\n<tr>\n<td><code>unit_cost_from</code></td>\n<td>Filter by Unit Cost From.</td>\n</tr>\n<tr>\n<td><code>unit_cost_to</code></td>\n<td>Filter by Unit Cost To.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n<tr>\n<td><code>listForPreloadFilters</code></td>\n<td>Filter by List For Preload Filters.</td>\n</tr>\n<tr>\n<td><code>listForFilters</code></td>\n<td>Filter by List For Filters.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>inventory</code></li>\n<li><code>batch</code></li>\n<li><code>serials</code></li>\n<li><code>serials.serial</code></li>\n<li><code>user</code></li>\n<li><code>beforeLocation</code></li>\n<li><code>location</code></li>\n<li><code>loggable</code></li>\n<li><code>currency</code></li>\n<li><code>meta</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","stocks","logs"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"key":"filter[]","value":""},{"disabled":true,"key":"sort","value":""},{"disabled":true,"description":{"content":"<p>Filter by Inventory Id.</p>\n","type":"text/plain"},"key":"inventory_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Inventory Batch Id.</p>\n","type":"text/plain"},"key":"inventory_batch_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Item Serial Id.</p>\n","type":"text/plain"},"key":"item_serial_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Query.</p>\n","type":"text/plain"},"key":"query","value":""},{"disabled":true,"description":{"content":"<p>Filter by Created At From.</p>\n","type":"text/plain"},"key":"created_at_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Created At To.</p>\n","type":"text/plain"},"key":"created_at_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by User Id.</p>\n","type":"text/plain"},"key":"user_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Currency Code.</p>\n","type":"text/plain"},"key":"currency_code","value":""},{"disabled":true,"description":{"content":"<p>Filter by Currency Id.</p>\n","type":"text/plain"},"key":"currency_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Code.</p>\n","type":"text/plain"},"key":"code","value":""},{"disabled":true,"description":{"content":"<p>Filter by Shelf.</p>\n","type":"text/plain"},"key":"shelf","value":""},{"disabled":true,"description":{"content":"<p>Filter by Location Code.</p>\n","type":"text/plain"},"key":"location_code","value":""},{"disabled":true,"description":{"content":"<p>Filter by Location Id.</p>\n","type":"text/plain"},"key":"location_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Loggable Type.</p>\n","type":"text/plain"},"key":"loggable_type","value":""},{"disabled":true,"description":{"content":"<p>Filter by Activity Type.</p>\n","type":"text/plain"},"key":"activity_type","value":""},{"disabled":true,"description":{"content":"<p>Filter by Entry Type.</p>\n","type":"text/plain"},"key":"entry_type","value":""},{"disabled":true,"description":{"content":"<p>Filter by Quantity From.</p>\n","type":"text/plain"},"key":"quantity_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Quantity To.</p>\n","type":"text/plain"},"key":"quantity_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Unit Value From.</p>\n","type":"text/plain"},"key":"unit_value_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Unit Value To.</p>\n","type":"text/plain"},"key":"unit_value_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Entry Value From.</p>\n","type":"text/plain"},"key":"entry_value_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Entry Value To.</p>\n","type":"text/plain"},"key":"entry_value_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Unit Cost From.</p>\n","type":"text/plain"},"key":"unit_cost_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Unit Cost To.</p>\n","type":"text/plain"},"key":"unit_cost_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by List For Preload Filters.</p>\n","type":"text/plain"},"key":"listForPreloadFilters","value":""},{"disabled":true,"description":{"content":"<p>Filter by List For Filters.</p>\n","type":"text/plain"},"key":"listForFilters","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>inventory</code> - <code>batch</code> - <code>serials</code> - <code>serials.serial</code> - <code>user</code> - <code>beforeLocation</code> - <code>location</code> - <code>loggable</code> - <code>currency</code> - <code>meta</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"f7c26be3-e63f-4a4b-8419-157cb0c32e0b","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"b7abb5ac-b1f9-49b6-aaa6-bd6df3cce753"},{"name":"Inventory suppliers sorting","id":"f3630b1e-4a5c-4658-9ee7-a2b70a9d9fd3","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"sorting\": [\n    {\n      \"id\": \"{{id}}\",\n      \"priority\": 0\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/suppliers/sorting","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>sorting</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sorting.*.id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sorting.*.priority</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","suppliers","sorting"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"721eb5b1-47a7-4e05-8933-7642f8e51769","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"f3630b1e-4a5c-4658-9ee7-a2b70a9d9fd3"},{"name":"Inventory suppliers bulk delete","id":"56415efa-7627-47e2-b5b6-1635dae8a640","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"inventory_suppliers\": [\n    0\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/suppliers/bulk-delete","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>inventory_suppliers</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","suppliers","bulk-delete"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"941f2040-e2d9-48b9-92d7-3ad89ddd9183","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"56415efa-7627-47e2-b5b6-1635dae8a640"},{"name":"Inventory suppliers list","id":"35d18ddf-376c-4456-a7cc-ffa72c2d3314","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/suppliers","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>filter[]</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sort</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventory_id</code></td>\n<td>Filter by Inventory Id.</td>\n</tr>\n<tr>\n<td><code>supplier_id</code></td>\n<td>Filter by Supplier Id.</td>\n</tr>\n<tr>\n<td><code>currency_id</code></td>\n<td>Filter by Currency Id.</td>\n</tr>\n<tr>\n<td><code>supplier_code</code></td>\n<td>Filter by Supplier Code.</td>\n</tr>\n<tr>\n<td><code>item_cost_from</code></td>\n<td>Filter by Item Cost From.</td>\n</tr>\n<tr>\n<td><code>item_cost_to</code></td>\n<td>Filter by Item Cost To.</td>\n</tr>\n<tr>\n<td><code>lead_time_from</code></td>\n<td>Filter by Lead Time From.</td>\n</tr>\n<tr>\n<td><code>lead_time_to</code></td>\n<td>Filter by Lead Time To.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>inventory</code></li>\n<li><code>supplier</code></li>\n<li><code>supplier.contact</code></li>\n<li><code>supplier.purchasingSettings</code></li>\n<li><code>supplier.fileManager</code></li>\n<li><code>inventoryContainer</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","suppliers"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"filter[]","value":""},{"disabled":true,"key":"sort","value":""},{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Inventory Id.</p>\n","type":"text/plain"},"key":"inventory_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Supplier Id.</p>\n","type":"text/plain"},"key":"supplier_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Currency Id.</p>\n","type":"text/plain"},"key":"currency_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Supplier Code.</p>\n","type":"text/plain"},"key":"supplier_code","value":""},{"disabled":true,"description":{"content":"<p>Filter by Item Cost From.</p>\n","type":"text/plain"},"key":"item_cost_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Item Cost To.</p>\n","type":"text/plain"},"key":"item_cost_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Lead Time From.</p>\n","type":"text/plain"},"key":"lead_time_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Lead Time To.</p>\n","type":"text/plain"},"key":"lead_time_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>inventory</code> - <code>supplier</code> - <code>supplier.contact</code> - <code>supplier.purchasingSettings</code> - <code>supplier.fileManager</code> - <code>inventoryContainer</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"4f2b7f99-f783-4138-8d56-c4b5f8b02cd5","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"35d18ddf-376c-4456-a7cc-ffa72c2d3314"},{"name":"Inventory suppliers create","id":"e2db9ab1-8ef2-4c9b-ae00-194214f3c8dc","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"suppliers\": [\n    {\n      \"id\": null,\n      \"supplier_id\": \"{{supplier_id}}\",\n      \"currency_id\": \"{{currency_id}}\",\n      \"supplier_code\": \"\",\n      \"item_cost\": 0,\n      \"lead_time\": 1,\n      \"lead_time_type\": 1,\n      \"minimum_order_quantity\": 0,\n      \"inventory_container_id\": \"{{inventory_container_id}}\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/suppliers","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>suppliers</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>suppliers.*.id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>suppliers.*.supplier_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>suppliers.*.currency_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>suppliers.*.supplier_code</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>suppliers.*.item_cost</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>suppliers.*.lead_time</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>suppliers.*.lead_time_type</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>Allowed: <code>1</code></td>\n</tr>\n<tr>\n<td><code>suppliers.*.minimum_order_quantity</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>suppliers.*.inventory_container_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","suppliers"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"dc0f9d8d-b2ad-42eb-b7f2-f581bef203af","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"e2db9ab1-8ef2-4c9b-ae00-194214f3c8dc"},{"name":"Inventory suppliers delete","id":"93c79f5b-edd9-4ff9-b037-c30bd04c9c3a","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/suppliers/:inventorySupplierID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventorySupplierID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","suppliers",":inventorySupplierID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"abbfcc45-a46b-4244-8beb-eba964bcd766","type":"any","value":"","key":"inventoryID"},{"id":"18787228-d7f8-4583-83c9-cde82b14f84c","type":"any","value":"","key":"inventorySupplierID"}]}},"response":[],"_postman_id":"93c79f5b-edd9-4ff9-b037-c30bd04c9c3a"},{"name":"Inventory ext tags list","id":"dbb36d54-677a-4c47-869d-f6d4d9adb89b","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/tags","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>filter[]</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>search</code></td>\n<td>Filter by Search.</td>\n</tr>\n<tr>\n<td><code>inventory_id</code></td>\n<td>Filter by Inventory Id.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory","tags"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"filter[]","value":""},{"disabled":true,"description":{"content":"<p>Filter by Search.</p>\n","type":"text/plain"},"key":"search","value":""},{"disabled":true,"description":{"content":"<p>Filter by Inventory Id.</p>\n","type":"text/plain"},"key":"inventory_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""}],"variable":[]}},"response":[],"_postman_id":"dbb36d54-677a-4c47-869d-f6d4d9adb89b"},{"name":"Inventory ext tags attached","id":"46d80526-461e-463d-98cf-6c588af51a8d","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/attached-tags?ignore_ids[]=","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>filters</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>ignore_ids[]</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory","attached-tags"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"filters","value":""},{"key":"ignore_ids[]","value":""}],"variable":[]}},"response":[],"_postman_id":"46d80526-461e-463d-98cf-6c588af51a8d"},{"name":"Inventory ext item tags list","id":"d6390bfb-28ed-4cee-88e2-42dfcb13ce34","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/tags","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","tags"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""}],"variable":[{"id":"9aaad714-7834-421d-8d06-537754fa0666","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"d6390bfb-28ed-4cee-88e2-42dfcb13ce34"},{"name":"Inventory ext item tags create","id":"b7b1b1fe-68fd-4d50-9886-3e639521b1b7","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"name\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/tags","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","tags"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"f7a3be2b-b448-480e-8d0f-a357a1ac9a52","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"b7b1b1fe-68fd-4d50-9886-3e639521b1b7"},{"name":"Inventory ext item tags attach","id":"ccb1b1a8-8ff1-4266-be42-d7a7c7b51503","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/tags/:tagID/attach","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>tagID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","tags",":tagID","attach"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"9ec04c04-b56b-4915-bd37-59812e7abb61","type":"any","value":"","key":"inventoryID"},{"id":"bef48358-7273-4883-8ae3-54ae8ef210a3","type":"any","value":"","key":"tagID"}]}},"response":[],"_postman_id":"ccb1b1a8-8ff1-4266-be42-d7a7c7b51503"},{"name":"Inventory ext item tags detach","id":"6f33562e-c6c2-473c-998b-a2754ba3a3fc","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/tags/:tagID/detach","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>tagID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","tags",":tagID","detach"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"9a4f7686-0057-4ce4-8bb9-8cd4f203c940","type":"any","value":"","key":"inventoryID"},{"id":"37ac88ff-8fe3-457a-aa9a-d18d1711e1d0","type":"any","value":"","key":"tagID"}]}},"response":[],"_postman_id":"6f33562e-c6c2-473c-998b-a2754ba3a3fc"},{"name":"Inventory serials bulk store","id":"31f6c4f1-238d-48df-b391-9b5584e03ff2","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"serials\": [\n    {\n      \"serial_number\": \"serial_number\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/serials/bulk","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>serials</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>serials.*.serial_number</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","serials","bulk"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"34a94994-bad6-4f84-9be4-8fe96847e383","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"31f6c4f1-238d-48df-b391-9b5584e03ff2"},{"name":"Inventory serials bulk upsert","id":"89d69d3e-ac2f-43ed-892d-9721a5b1b19a","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"deleted_ids\": [\n    \"{{deleted_id}}\"\n  ],\n  \"serials\": [\n    {\n      \"id\": null,\n      \"serial_number\": \"serial_number\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/serials/bulk","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>deleted_ids</code></td>\n<td>array</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>serials</code></td>\n<td>array</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>serials.*.id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>serials.*.serial_number</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","serials","bulk"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"06e816ef-121b-48c9-afa0-383f31e0958f","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"89d69d3e-ac2f-43ed-892d-9721a5b1b19a"},{"name":"Inventory serials list","id":"c34c912a-3faa-4475-af46-c411187ef925","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/serials","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>inventory_id</code></td>\n<td>Filter by Inventory Id.</td>\n</tr>\n<tr>\n<td><code>in_used</code></td>\n<td>Filter by In Used.</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>Filter by Status.</td>\n</tr>\n<tr>\n<td><code>serial_number</code></td>\n<td>Filter by Serial Number.</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>Filter by Order Id.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n<tr>\n<td><code>listForPreloadFilters</code></td>\n<td>Filter by List For Preload Filters.</td>\n</tr>\n<tr>\n<td><code>listForFilters</code></td>\n<td>Filter by List For Filters.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>inventory</code></li>\n<li><code>inventory.meta</code></li>\n<li><code>order</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","serials"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"description":{"content":"<p>Filter by Inventory Id.</p>\n","type":"text/plain"},"key":"inventory_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by In Used.</p>\n","type":"text/plain"},"key":"in_used","value":""},{"disabled":true,"description":{"content":"<p>Filter by Status.</p>\n","type":"text/plain"},"key":"status","value":""},{"disabled":true,"description":{"content":"<p>Filter by Serial Number.</p>\n","type":"text/plain"},"key":"serial_number","value":""},{"disabled":true,"description":{"content":"<p>Filter by Order Id.</p>\n","type":"text/plain"},"key":"order_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by List For Preload Filters.</p>\n","type":"text/plain"},"key":"listForPreloadFilters","value":""},{"disabled":true,"description":{"content":"<p>Filter by List For Filters.</p>\n","type":"text/plain"},"key":"listForFilters","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>inventory</code> - <code>inventory.meta</code> - <code>order</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"9ce96cff-5b7c-4b77-b559-0bf5881250f5","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"c34c912a-3faa-4475-af46-c411187ef925"},{"name":"Inventory serials create","id":"92337361-ba46-4138-b686-b5d0c03c7abf","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"serial_number\": \"serial_number\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/serials","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>serial_number</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","serials"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"8256aa5a-9dc2-4b16-8ca3-8f981ca11e0c","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"92337361-ba46-4138-b686-b5d0c03c7abf"},{"name":"Inventory serials update","id":"efde57c0-66fe-4a82-9119-44a69b909fb5","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"serial_number\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/serials/:serialID","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>serialID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>serial_number</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","serials",":serialID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"55b6f5db-d6d5-4a83-9e28-4c9561ee6116","type":"any","value":"","key":"inventoryID"},{"id":"5951590c-52c6-4ecb-9c2f-a717bbc777dc","type":"any","value":"","key":"serialID"}]}},"response":[],"_postman_id":"efde57c0-66fe-4a82-9119-44a69b909fb5"},{"name":"Inventory serials delete","id":"26c697a1-6956-40f4-a27b-1f1b251b8483","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/serials/:serialID","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>serialID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","serials",":serialID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"d970cb31-fa0e-486c-b581-ec22df41959c","type":"any","value":"","key":"inventoryID"},{"id":"574ec841-0f2c-4eb3-b008-1e3ee4ba0893","type":"any","value":"","key":"serialID"}]}},"response":[],"_postman_id":"26c697a1-6956-40f4-a27b-1f1b251b8483"},{"name":"Inventory ext stocks replenishment update","id":"d5b51628-6242-4c19-b2d4-fee95395eea2","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"replenishment_type\": \"1\",\n  \"replenishment_level\": 0,\n  \"replenishment_container_id\": \"{{replenishment_container_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/stocks/:stockID/replenishment","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>stockID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>replenishment_type</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>replenishment_level</code></td>\n<td>integer</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>replenishment_container_id</code></td>\n<td>integer</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","stocks",":stockID","replenishment"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"309c59a2-fa40-4114-81c0-529f3c2d9fe4","type":"any","value":"","key":"inventoryID"},{"id":"1c81e026-543b-4cbe-bce5-ef0f74ff02b6","type":"any","value":"","key":"stockID"}]}},"response":[],"_postman_id":"d5b51628-6242-4c19-b2d4-fee95395eea2"},{"name":"Inventory ext shelves list","id":"3b8e4c94-dcb1-4f33-9240-3c23df0c4e02","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/shelves","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>filter[]</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>search</code></td>\n<td>Filter by Search.</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>Filter by Name.</td>\n</tr>\n<tr>\n<td><code>inventory_id</code></td>\n<td>Filter by Inventory Id.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory","shelves"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"filter[]","value":""},{"disabled":true,"description":{"content":"<p>Filter by Search.</p>\n","type":"text/plain"},"key":"search","value":""},{"disabled":true,"description":{"content":"<p>Filter by Name.</p>\n","type":"text/plain"},"key":"name","value":""},{"disabled":true,"description":{"content":"<p>Filter by Inventory Id.</p>\n","type":"text/plain"},"key":"inventory_id","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""}],"variable":[]}},"response":[],"_postman_id":"3b8e4c94-dcb1-4f33-9240-3c23df0c4e02"},{"name":"Inventory ext shelves create","id":"0dcefdeb-285e-4550-a2a2-3ba2b0509f67","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"name\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/shelves","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","shelves"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"8e7885d9-226d-404c-baec-dec5deeef8c7","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"0dcefdeb-285e-4550-a2a2-3ba2b0509f67"},{"name":"Inventory ext shelves attach","id":"47f30aaf-aef4-4098-b254-5a082ec4767a","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/shelves/:shelfID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>shelfID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","shelves",":shelfID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"1c9e7adc-d6ca-4e0c-a07f-08a523bc583b","type":"any","value":"","key":"inventoryID"},{"id":"7e136492-4aed-4fb1-a34f-7996b002de29","type":"any","value":"","key":"shelfID"}]}},"response":[],"_postman_id":"47f30aaf-aef4-4098-b254-5a082ec4767a"},{"name":"Inventory ext shelves detach","id":"72d9a6cb-bb0e-4cbe-9e3e-ec0e4ab4c669","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/:inventoryID/shelves/:shelfID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>shelfID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory",":inventoryID","shelves",":shelfID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"19159503-46f9-4797-9b06-067d21fff41f","type":"any","value":"","key":"inventoryID"},{"id":"96239392-7a0f-46a2-bdc6-72aee3a1cb03","type":"any","value":"","key":"shelfID"}]}},"response":[],"_postman_id":"72d9a6cb-bb0e-4cbe-9e3e-ec0e4ab4c669"},{"name":"Inventory storage locations","id":"9480da85-9b40-474c-902f-ab0e75187805","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory/storage-locations?per_page=10&page=1","description":"<p>Each row is an inventory item, not a location. The storage locations\nholding it are nested under <code>locations</code>, and that is where <code>location_id</code>\nand <code>quantity</code> live, so the top level of a row says nothing about stock.</p>\n<p>A row appears only if the item has at least one location that is in the\ncompany's default warehouse and whose settings record marks it Storage.\nAn item with no such location is left out of the response entirely rather\nthan returned with an empty <code>locations</code> array, so a short list is not\nevidence that the company holds no stock. Stock in another warehouse,\nstock in a Goods In, Goods Out, Returns, Assembly or Sort Wall location,\nand stock in a location that has no settings record at all, are all\nomitted this way.</p>\n<p><code>location_code</code>, <code>zone_id</code> and <code>min_quantity</code> are applied to that same\ntest, so they do more than trim <code>locations</code>: an item whose only matching\nlocation fails one of them drops out of the response too. <code>inventory_id</code>,\n<code>inventory_ids</code> and <code>sku</code> filter the items themselves.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory","storage-locations"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"sku","value":"test"},{"disabled":true,"description":{"content":"<p>supports array for multiple inventories</p>\n","type":"text/plain"},"key":"inventory_id","value":"1"},{"disabled":true,"key":"location_code","value":"0"},{"disabled":true,"key":"zone_id","value":"1"},{"disabled":true,"key":"min_quantity","value":"0"},{"disabled":true,"description":{"content":"<p>Available values: id, created_at, meta.name, code, inventory_type_id, meta.price, meta.hs_code, dimension.weight, batching_type</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Available values: asc,desc</p>\n","type":"text/plain"},"key":"sort_direction","value":"asc"},{"description":{"content":"<p>max value is 250</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"description":{"content":"<p>current page</p>\n","type":"text/plain"},"key":"page","value":"1"}],"variable":[]}},"response":[],"_postman_id":"9480da85-9b40-474c-902f-ab0e75187805"}],"id":"c041be86-6d82-42b6-970a-2a10f4da58c5","description":"<p><strong>Inventory</strong> — 106 endpoints.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"c041be86-6d82-42b6-970a-2a10f4da58c5","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Inventory Categories","item":[{"name":"Inventory ext categories inventory count","id":"c966471f-fca0-4fee-902f-bc635b821a4b","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory-categories/:categoryID/inventory-count","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>categoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory-categories",":categoryID","inventory-count"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"1f72e720-9a72-4f6b-b4b5-18f4664f595b","type":"any","value":"","key":"categoryID"}]}},"response":[],"_postman_id":"c966471f-fca0-4fee-902f-bc635b821a4b"}],"id":"4ee2e8e5-a96a-45c8-8d51-6cbb6be93cdb","description":"<p><strong>Inventory Categories</strong> — 1 endpoint.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"4ee2e8e5-a96a-45c8-8d51-6cbb6be93cdb","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Inventory Check Transaction","item":[{"name":"Inventory check transaction logs","id":"3b56c59b-bf09-48c9-9641-dc182f9ff8a8","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory-check-transaction/:transactionID/logs","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>transactionID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory-check-transaction",":transactionID","logs"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"description":{"content":"<p>NOTE: filters are FLAT query params named after the filter method (e.g. ?ids=1,2&amp;store_id=5), resolved by App\\Filters\\QueryFilters against top-level request keys — there is NO nested filter[...] contract at runtime, so none is declared/documented here.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"key":"sort_direction","value":""},{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"key":"page","value":""},{"disabled":true,"key":"per_page","value":""},{"disabled":true,"key":"status","value":""}],"variable":[{"id":"6096b50b-b9d2-40fb-9cdf-0f0c79305631","type":"any","value":"","key":"transactionID"}]}},"response":[],"_postman_id":"3b56c59b-bf09-48c9-9641-dc182f9ff8a8"},{"name":"Inventory check transaction grouped logs","id":"d2f56920-e18b-4a07-9f04-6f8d3e165207","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory-check-transaction/:transactionID/grouped-logs","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>transactionID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory-check-transaction",":transactionID","grouped-logs"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"2316e1b1-a2a4-496d-be93-86c74e129ee5","type":"any","value":"","key":"transactionID"}]}},"response":[],"_postman_id":"d2f56920-e18b-4a07-9f04-6f8d3e165207"},{"name":"Inventory check transaction show","id":"59884c38-31bb-49a9-b7b5-f83c96ccc9e1","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory-check-transaction/:transactionID","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>transactionID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory-check-transaction",":transactionID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"54a3c339-e896-4bbf-945b-abd0e8fae061","type":"any","value":"","key":"transactionID"}]}},"response":[],"_postman_id":"59884c38-31bb-49a9-b7b5-f83c96ccc9e1"}],"id":"77b11321-07c2-400b-8eb7-4f6fe4397e63","description":"<p><strong>Inventory Check Transaction</strong> — 3 endpoints.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"77b11321-07c2-400b-8eb7-4f6fe4397e63","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Inventory Checks","item":[{"name":"Inventory checks list","id":"7a4fcd28-e610-46c6-aca5-bde31d1823cd","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory-checks","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>query</code></td>\n<td>Filter by Query.</td>\n</tr>\n<tr>\n<td><code>archived</code></td>\n<td>Filter by Archived.</td>\n</tr>\n<tr>\n<td><code>inventory_check_number</code></td>\n<td>Filter by Inventory Check Number.</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>Filter by Status.</td>\n</tr>\n<tr>\n<td><code>item_count_from</code></td>\n<td>Filter by Item Count From.</td>\n</tr>\n<tr>\n<td><code>item_count_to</code></td>\n<td>Filter by Item Count To.</td>\n</tr>\n<tr>\n<td><code>assigned_user_id</code></td>\n<td>Filter by Assigned User Id.</td>\n</tr>\n<tr>\n<td><code>created_at_from</code></td>\n<td>Filter by Created At From.</td>\n</tr>\n<tr>\n<td><code>created_at_to</code></td>\n<td>Filter by Created At To.</td>\n</tr>\n<tr>\n<td><code>assigned_user_date_from</code></td>\n<td>Filter by Assigned User Date From.</td>\n</tr>\n<tr>\n<td><code>assigned_user_date_to</code></td>\n<td>Filter by Assigned User Date To.</td>\n</tr>\n<tr>\n<td><code>completed_at_from</code></td>\n<td>Filter by Completed At From.</td>\n</tr>\n<tr>\n<td><code>completed_at_to</code></td>\n<td>Filter by Completed At To.</td>\n</tr>\n<tr>\n<td><code>is_mobile</code></td>\n<td>Filter by Is Mobile.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>items</code></li>\n<li><code>items.inventory</code></li>\n<li><code>items.inventory.meta</code></li>\n<li><code>items.inventory.barcodes</code></li>\n<li><code>items.inventory.stocks</code></li>\n<li><code>items.inventory.stocks.location</code></li>\n<li><code>items.location</code></li>\n<li><code>assignedUser</code></li>\n<li><code>assignedUser.user</code></li>\n<li><code>assignedUser.user.fileManager</code></li>\n<li><code>assignedUser.timeTracking</code></li>\n<li><code>assignedUsers</code></li>\n<li><code>assignedUsers.user</code></li>\n<li><code>assignedUsers.user.fileManager</code></li>\n<li><code>assignedUsers.timeTracking</code></li>\n<li><code>tags</code></li>\n<li><code>tags.tag</code></li>\n<li><code>archivedBy.user</code></li>\n<li><code>archivedBy.user.fileManager</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory-checks"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Query.</p>\n","type":"text/plain"},"key":"query","value":""},{"disabled":true,"description":{"content":"<p>Filter by Archived.</p>\n","type":"text/plain"},"key":"archived","value":""},{"disabled":true,"description":{"content":"<p>Filter by Inventory Check Number.</p>\n","type":"text/plain"},"key":"inventory_check_number","value":""},{"disabled":true,"description":{"content":"<p>Filter by Status.</p>\n","type":"text/plain"},"key":"status","value":""},{"disabled":true,"description":{"content":"<p>Filter by Item Count From.</p>\n","type":"text/plain"},"key":"item_count_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Item Count To.</p>\n","type":"text/plain"},"key":"item_count_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Assigned User Id.</p>\n","type":"text/plain"},"key":"assigned_user_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Created At From.</p>\n","type":"text/plain"},"key":"created_at_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Created At To.</p>\n","type":"text/plain"},"key":"created_at_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Assigned User Date From.</p>\n","type":"text/plain"},"key":"assigned_user_date_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Assigned User Date To.</p>\n","type":"text/plain"},"key":"assigned_user_date_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Completed At From.</p>\n","type":"text/plain"},"key":"completed_at_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Completed At To.</p>\n","type":"text/plain"},"key":"completed_at_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Is Mobile.</p>\n","type":"text/plain"},"key":"is_mobile","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>items</code> - <code>items.inventory</code> - <code>items.inventory.meta</code> - <code>items.inventory.barcodes</code> - <code>items.inventory.stocks</code> - <code>items.inventory.stocks.location</code> - <code>items.location</code> - <code>assignedUser</code> - <code>assignedUser.user</code> - <code>assignedUser.user.fileManager</code> - <code>assignedUser.timeTracking</code> - <code>assignedUsers</code> - <code>assignedUsers.user</code> - <code>assignedUsers.user.fileManager</code> - <code>assignedUsers.timeTracking</code> - <code>tags</code> - <code>tags.tag</code> - <code>archivedBy.user</code> - <code>archivedBy.user.fileManager</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[]}},"response":[],"_postman_id":"7a4fcd28-e610-46c6-aca5-bde31d1823cd"},{"name":"Inventory checks create","id":"a2029706-98d2-42de-b8fe-944474aea334","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"is_bulk\": false,\n  \"clear_zero_stock_locations\": false,\n  \"inventory_list\": [\n    {\n      \"inventory_id\": \"{{inventory_id}}\"\n    }\n  ],\n  \"split\": {\n    \"per_zone\": false,\n    \"set_maximum_lines\": false,\n    \"maximum_lines\": 0,\n    \"assigned_users\": [\n      0\n    ]\n  },\n  \"filters\": [\n    [\n      {\n        \"field\": \"80\",\n        \"operator\": 0,\n        \"value\": [\n          \"\"\n        ]\n      }\n    ]\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory-checks","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>is_bulk</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>clear_zero_stock_locations</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventory_list</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventory_list.*.inventory_id</code></td>\n<td>integer</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>split</code></td>\n<td>object</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>split.per_zone</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>split.set_maximum_lines</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>split.maximum_lines</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>split.assigned_users</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>filters</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory-checks"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"a2029706-98d2-42de-b8fe-944474aea334"},{"name":"Inventory checks show","id":"bea8aacc-e353-4bcc-9483-6b854993d443","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory-checks/:inventoryCheckID","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryCheckID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>items</code></li>\n<li><code>items.inventory</code></li>\n<li><code>items.inventory.meta</code></li>\n<li><code>items.inventory.barcodes</code></li>\n<li><code>items.inventory.stocks</code></li>\n<li><code>items.inventory.stocks.location</code></li>\n<li><code>items.location</code></li>\n<li><code>assignedUser</code></li>\n<li><code>assignedUser.user</code></li>\n<li><code>assignedUser.user.fileManager</code></li>\n<li><code>assignedUser.timeTracking</code></li>\n<li><code>assignedUsers</code></li>\n<li><code>assignedUsers.user</code></li>\n<li><code>assignedUsers.user.fileManager</code></li>\n<li><code>assignedUsers.timeTracking</code></li>\n<li><code>tags</code></li>\n<li><code>tags.tag</code></li>\n<li><code>archivedBy.user</code></li>\n<li><code>archivedBy.user.fileManager</code></li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory-checks",":inventoryCheckID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>items</code> - <code>items.inventory</code> - <code>items.inventory.meta</code> - <code>items.inventory.barcodes</code> - <code>items.inventory.stocks</code> - <code>items.inventory.stocks.location</code> - <code>items.location</code> - <code>assignedUser</code> - <code>assignedUser.user</code> - <code>assignedUser.user.fileManager</code> - <code>assignedUser.timeTracking</code> - <code>assignedUsers</code> - <code>assignedUsers.user</code> - <code>assignedUsers.user.fileManager</code> - <code>assignedUsers.timeTracking</code> - <code>tags</code> - <code>tags.tag</code> - <code>archivedBy.user</code> - <code>archivedBy.user.fileManager</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"03664527-f5a9-4a24-9dad-bc456a160fb9","type":"any","value":"","key":"inventoryCheckID"}]}},"response":[],"_postman_id":"bea8aacc-e353-4bcc-9483-6b854993d443"},{"name":"Inventory checks update","id":"0ed93bd3-a9c0-43a2-b09e-65d5262726ef","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"is_hold\": false,\n  \"clear_zero_stock_locations\": false,\n  \"assigned_device_name\": \"\",\n  \"assigned_device_id\": \"{{assigned_device_id}}\",\n  \"notes\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory-checks/:inventoryCheckID","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryCheckID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>items</code></li>\n<li><code>items.inventory</code></li>\n<li><code>items.inventory.meta</code></li>\n<li><code>items.inventory.barcodes</code></li>\n<li><code>items.inventory.stocks</code></li>\n<li><code>items.inventory.stocks.location</code></li>\n<li><code>items.location</code></li>\n<li><code>assignedUser</code></li>\n<li><code>assignedUser.user</code></li>\n<li><code>assignedUser.user.fileManager</code></li>\n<li><code>assignedUser.timeTracking</code></li>\n<li><code>assignedUsers</code></li>\n<li><code>assignedUsers.user</code></li>\n<li><code>assignedUsers.user.fileManager</code></li>\n<li><code>assignedUsers.timeTracking</code></li>\n<li><code>tags</code></li>\n<li><code>tags.tag</code></li>\n<li><code>archivedBy.user</code></li>\n<li><code>archivedBy.user.fileManager</code></li>\n</ul>\n<h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>is_hold</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>clear_zero_stock_locations</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>assigned_device_name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>assigned_device_id</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>notes</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory-checks",":inventoryCheckID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>items</code> - <code>items.inventory</code> - <code>items.inventory.meta</code> - <code>items.inventory.barcodes</code> - <code>items.inventory.stocks</code> - <code>items.inventory.stocks.location</code> - <code>items.location</code> - <code>assignedUser</code> - <code>assignedUser.user</code> - <code>assignedUser.user.fileManager</code> - <code>assignedUser.timeTracking</code> - <code>assignedUsers</code> - <code>assignedUsers.user</code> - <code>assignedUsers.user.fileManager</code> - <code>assignedUsers.timeTracking</code> - <code>tags</code> - <code>tags.tag</code> - <code>archivedBy.user</code> - <code>archivedBy.user.fileManager</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"22f6baf1-8167-4396-8bb5-f624fb22634a","type":"any","value":"","key":"inventoryCheckID"}]}},"response":[],"_postman_id":"0ed93bd3-a9c0-43a2-b09e-65d5262726ef"},{"name":"Inventory checks delete","id":"1b586100-1223-4ffd-87d8-ba2bcd61f95d","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory-checks/:inventoryCheckID","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryCheckID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory-checks",":inventoryCheckID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"f265d868-8c2a-407d-9b91-625d6c103182","type":"any","value":"","key":"inventoryCheckID"}]}},"response":[],"_postman_id":"1b586100-1223-4ffd-87d8-ba2bcd61f95d"},{"name":"Inventory checks tags list","id":"fe5aac52-00da-45b2-a733-b6f376e3a9a8","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory-checks/:inventoryCheckID/tags","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryCheckID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>company</code></li>\n<li><code>inventoryCheck</code></li>\n<li><code>tag</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory-checks",":inventoryCheckID","tags"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"description":{"content":"<p>NOTE: filters are FLAT query params named after the filter method (e.g. ?ids=1,2&amp;store_id=5), resolved by App\\Filters\\QueryFilters against top-level request keys — there is NO nested filter[...] contract at runtime, so none is declared/documented here.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"key":"sort_direction","value":""},{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"key":"page","value":""},{"disabled":true,"key":"per_page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>company</code> - <code>inventoryCheck</code> - <code>tag</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"09d79eac-82cc-401d-8730-faf02f4fa07e","type":"any","value":"","key":"inventoryCheckID"}]}},"response":[],"_postman_id":"fe5aac52-00da-45b2-a733-b6f376e3a9a8"},{"name":"Inventory checks tags create","id":"a9237e0e-a9cd-4e3a-b616-b9b965b99a0f","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"inventory_check_id\": \"{{inventory_check_id}}\",\n  \"name\": \"name\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory-checks/:inventoryCheckID/tags","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryCheckID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventory_check_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory-checks",":inventoryCheckID","tags"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"3d08ae0a-7c17-4721-944b-65a40e152b47","type":"any","value":"","key":"inventoryCheckID"}]}},"response":[],"_postman_id":"a9237e0e-a9cd-4e3a-b616-b9b965b99a0f"},{"name":"Inventory checks publish","id":"999e4aed-3263-4dfe-a843-e75f6d10ae1b","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"inventory_check_id\": \"{{inventory_check_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory-checks/:inventoryCheckID/publish","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryCheckID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventory_check_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory-checks",":inventoryCheckID","publish"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"12b2f4d9-7b51-43b8-a75a-00eca49ff1f3","type":"any","value":"","key":"inventoryCheckID"}]}},"response":[],"_postman_id":"999e4aed-3263-4dfe-a843-e75f6d10ae1b"},{"name":"Inventory checks archive","id":"b81d75ee-db6b-468e-937a-88b21d0c80ee","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"inventory_check_id\": \"{{inventory_check_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory-checks/:inventoryCheckID/archive","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryCheckID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventory_check_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory-checks",":inventoryCheckID","archive"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"a56eea7b-4521-4c27-97dc-d5f9ecda15ea","type":"any","value":"","key":"inventoryCheckID"}]}},"response":[],"_postman_id":"b81d75ee-db6b-468e-937a-88b21d0c80ee"},{"name":"Inventory checks restore archive","id":"f4424377-f869-44c4-9e5d-3b1905f5c8d6","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"inventory_check_id\": \"{{inventory_check_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory-checks/:inventoryCheckID/restore-archive","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryCheckID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventory_check_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory-checks",":inventoryCheckID","restore-archive"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"5a9cd167-59ba-4e2e-b858-5071f5fffe16","type":"any","value":"","key":"inventoryCheckID"}]}},"response":[],"_postman_id":"f4424377-f869-44c4-9e5d-3b1905f5c8d6"},{"name":"Inventory checks assigned users list","id":"c91d6093-7997-4e9d-aea5-7b4f6c1a075a","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory-checks/:inventoryCheckID/assigned-users","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryCheckID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventory_check_id</code></td>\n<td>Filter by Inventory Check Id.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>timeTracking</code></li>\n<li><code>user</code></li>\n<li><code>user.fileManager</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory-checks",":inventoryCheckID","assigned-users"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Inventory Check Id.</p>\n","type":"text/plain"},"key":"inventory_check_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>timeTracking</code> - <code>user</code> - <code>user.fileManager</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"30291452-f028-423c-9772-13ba540ade3c","type":"any","value":"","key":"inventoryCheckID"}]}},"response":[],"_postman_id":"c91d6093-7997-4e9d-aea5-7b4f6c1a075a"},{"name":"Inventory checks assigned users update","id":"abc6690c-925e-411e-a380-8071f230a431","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"inventory_check_id\": \"{{inventory_check_id}}\",\n  \"user_id\": \"{{user_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory-checks/:inventoryCheckID/assigned-users","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryCheckID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventory_check_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>user_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory-checks",":inventoryCheckID","assigned-users"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"ea94727a-aa65-412f-8ebc-64f28c70fcd6","type":"any","value":"","key":"inventoryCheckID"}]}},"response":[],"_postman_id":"abc6690c-925e-411e-a380-8071f230a431"},{"name":"Inventory checks assigned users show","id":"f5cfe5e5-6e92-4641-8a79-6c9925892ea5","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory-checks/:inventoryCheckID/assigned-users/:userID","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryCheckID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>userID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>timeTracking</code></li>\n<li><code>user</code></li>\n<li><code>user.fileManager</code></li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory-checks",":inventoryCheckID","assigned-users",":userID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>timeTracking</code> - <code>user</code> - <code>user.fileManager</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"19c5f7b2-9bc1-4175-87b4-58dedda40241","type":"any","value":"","key":"inventoryCheckID"},{"id":"07242f41-216c-41ae-a366-d971b8eea138","type":"any","value":"","key":"userID"}]}},"response":[],"_postman_id":"f5cfe5e5-6e92-4641-8a79-6c9925892ea5"},{"name":"Inventory checks time tracking start","id":"3b2f3744-bd50-4206-b404-00ded998ea7f","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"inventory_check_id\": \"{{inventory_check_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory-checks/:inventoryCheckID/time-tracking/start","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryCheckID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventory_check_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory-checks",":inventoryCheckID","time-tracking","start"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"8d629033-0d2a-4014-aa90-5f63ec420204","type":"any","value":"","key":"inventoryCheckID"}]}},"response":[],"_postman_id":"3b2f3744-bd50-4206-b404-00ded998ea7f"},{"name":"Inventory checks time tracking stop","id":"0bbeb256-4ee2-403a-b8b4-bc2ae54536f3","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"inventory_check_id\": \"{{inventory_check_id}}\",\n  \"stopped_at\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory-checks/:inventoryCheckID/time-tracking/stop","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryCheckID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventory_check_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>stopped_at</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory-checks",":inventoryCheckID","time-tracking","stop"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"bb58ed8b-6bea-4fc7-9a2b-00851bc9403b","type":"any","value":"","key":"inventoryCheckID"}]}},"response":[],"_postman_id":"0bbeb256-4ee2-403a-b8b4-bc2ae54536f3"},{"name":"Inventory checks items deletable","id":"7922f252-80bb-466b-a4a1-560451fde3ec","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory-checks/:inventoryCheckID/items/deletable?company_id=&inventory_check_id=&ids[]=","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryCheckID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventory_check_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>ids[]</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory-checks",":inventoryCheckID","items","deletable"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"inventory_check_id","value":""},{"key":"ids[]","value":""}],"variable":[{"id":"9682010a-911e-4d48-a663-085be075f458","type":"any","value":"","key":"inventoryCheckID"}]}},"response":[],"_postman_id":"7922f252-80bb-466b-a4a1-560451fde3ec"},{"name":"Inventory checks items resettable","id":"66827ce5-0365-4932-a98f-15a2880dfce0","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory-checks/:inventoryCheckID/items/resettable?company_id=&inventory_check_id=&ids[]=","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryCheckID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventory_check_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>ids[]</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory-checks",":inventoryCheckID","items","resettable"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"inventory_check_id","value":""},{"key":"ids[]","value":""}],"variable":[{"id":"d378d00b-ff20-49c5-a0c9-a52c66782ff6","type":"any","value":"","key":"inventoryCheckID"}]}},"response":[],"_postman_id":"66827ce5-0365-4932-a98f-15a2880dfce0"},{"name":"Inventory checks items list","id":"62b6e1b2-bb38-4c60-8422-e1095bd0deb4","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory-checks/:inventoryCheckID/items","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryCheckID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>is_mobile</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventory_check_id</code></td>\n<td>Filter by Inventory Check Id.</td>\n</tr>\n<tr>\n<td><code>product_name</code></td>\n<td>Filter by Product Name.</td>\n</tr>\n<tr>\n<td><code>product_code</code></td>\n<td>Filter by Product Code.</td>\n</tr>\n<tr>\n<td><code>from_zone_id</code></td>\n<td>Filter by From Zone Id.</td>\n</tr>\n<tr>\n<td><code>from_location_id</code></td>\n<td>Filter by From Location Id.</td>\n</tr>\n<tr>\n<td><code>to_zone_id</code></td>\n<td>Filter by To Zone Id.</td>\n</tr>\n<tr>\n<td><code>to_location_id</code></td>\n<td>Filter by To Location Id.</td>\n</tr>\n<tr>\n<td><code>moved_qty_from</code></td>\n<td>Filter by Moved Qty From.</td>\n</tr>\n<tr>\n<td><code>moved_qty_to</code></td>\n<td>Filter by Moved Qty To.</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>Filter by Status.</td>\n</tr>\n<tr>\n<td><code>query</code></td>\n<td>Filter by Query.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>inventory</code></li>\n<li><code>inventory.meta</code></li>\n<li><code>inventory.barcodes</code></li>\n<li><code>inventory.stocks</code></li>\n<li><code>inventory.stocks.location</code></li>\n<li><code>location</code></li>\n<li><code>inventoryCheck</code></li>\n<li><code>batch</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory-checks",":inventoryCheckID","items"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"key":"company_id","value":""},{"disabled":true,"key":"is_mobile","value":""},{"disabled":true,"description":{"content":"<p>Filter by Inventory Check Id.</p>\n","type":"text/plain"},"key":"inventory_check_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Product Name.</p>\n","type":"text/plain"},"key":"product_name","value":""},{"disabled":true,"description":{"content":"<p>Filter by Product Code.</p>\n","type":"text/plain"},"key":"product_code","value":""},{"disabled":true,"description":{"content":"<p>Filter by From Zone Id.</p>\n","type":"text/plain"},"key":"from_zone_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by From Location Id.</p>\n","type":"text/plain"},"key":"from_location_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by To Zone Id.</p>\n","type":"text/plain"},"key":"to_zone_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by To Location Id.</p>\n","type":"text/plain"},"key":"to_location_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Moved Qty From.</p>\n","type":"text/plain"},"key":"moved_qty_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Moved Qty To.</p>\n","type":"text/plain"},"key":"moved_qty_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Status.</p>\n","type":"text/plain"},"key":"status","value":""},{"disabled":true,"description":{"content":"<p>Filter by Query.</p>\n","type":"text/plain"},"key":"query","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>inventory</code> - <code>inventory.meta</code> - <code>inventory.barcodes</code> - <code>inventory.stocks</code> - <code>inventory.stocks.location</code> - <code>location</code> - <code>inventoryCheck</code> - <code>batch</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"7c5df47f-1594-43d4-b374-5cc8c4fb12ce","type":"any","value":"","key":"inventoryCheckID"}]}},"response":[],"_postman_id":"62b6e1b2-bb38-4c60-8422-e1095bd0deb4"},{"name":"Inventory checks items create","id":"bdbf7da8-9398-400f-b501-8764e71daa5f","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"inventory_check_id\": \"{{inventory_check_id}}\",\n  \"items\": [\n    \"\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory-checks/:inventoryCheckID/items","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryCheckID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventory_check_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory-checks",":inventoryCheckID","items"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"40cce21d-7d92-4ab9-8da3-11a987d2eb84","type":"any","value":"","key":"inventoryCheckID"}]}},"response":[],"_postman_id":"bdbf7da8-9398-400f-b501-8764e71daa5f"},{"name":"Inventory checks items delete","id":"c22e3662-dfd2-42f9-8c31-12c8922fdc75","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory-checks/:inventoryCheckID/items/:itemID","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryCheckID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>itemID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory-checks",":inventoryCheckID","items",":itemID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"6a8f3706-d30e-4651-beef-5a8a51efb0f2","type":"any","value":"","key":"inventoryCheckID"},{"id":"e070c683-9402-4a60-b10b-46877a493504","type":"any","value":"","key":"itemID"}]}},"response":[],"_postman_id":"c22e3662-dfd2-42f9-8c31-12c8922fdc75"},{"name":"Inventory checks items update action qty","id":"992a30cd-bb7b-41ab-b428-310e0a0617eb","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"action_quantity\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory-checks/:inventoryCheckID/items/:itemID/update-action-qty","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryCheckID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>itemID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>action_quantity</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory-checks",":inventoryCheckID","items",":itemID","update-action-qty"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"142ac17d-9217-4bea-a521-ccf48b672535","type":"any","value":"","key":"inventoryCheckID"},{"id":"c95969f1-26a4-43b9-9fc9-bcbe2e02364a","type":"any","value":"","key":"itemID"}]}},"response":[],"_postman_id":"992a30cd-bb7b-41ab-b428-310e0a0617eb"},{"name":"Inventory checks tags search","id":"54c92006-4d42-4527-adbe-82b24956956d","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory-checks/tags?company_id=","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>search</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory-checks","tags"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"description":{"content":"<p>NOTE: filters are FLAT query params named after the filter method (e.g. ?ids=1,2&amp;store_id=5), resolved by App\\Filters\\QueryFilters against top-level request keys — there is NO nested filter[...] contract at runtime, so none is declared/documented here.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"key":"sort_direction","value":""},{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"key":"page","value":""},{"disabled":true,"key":"per_page","value":""},{"key":"company_id","value":""},{"disabled":true,"key":"search","value":""},{"disabled":true,"key":"name","value":""}],"variable":[]}},"response":[],"_postman_id":"54c92006-4d42-4527-adbe-82b24956956d"},{"name":"Inventory checks tags attach","id":"46279bc5-ed2a-4fca-a0e4-525b2b1bbd2f","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"inventory_check_id\": \"{{inventory_check_id}}\",\n  \"tag_id\": \"{{tag_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory-checks/:inventoryCheckID/tags/:tagID/attach","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryCheckID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>tagID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventory_check_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tag_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory-checks",":inventoryCheckID","tags",":tagID","attach"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"1f66c309-f7ac-45d3-a796-6cb3844da295","type":"any","value":"","key":"inventoryCheckID"},{"id":"bfd57346-1bd7-4783-b774-08d9358c843a","type":"any","value":"","key":"tagID"}]}},"response":[],"_postman_id":"46279bc5-ed2a-4fca-a0e4-525b2b1bbd2f"},{"name":"Inventory checks tags detach","id":"147e0a1f-7ce1-4543-a814-76386634146a","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"inventory_check_id\": \"{{inventory_check_id}}\",\n  \"tag_id\": \"{{tag_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory-checks/:inventoryCheckID/tags/:tagID/detach","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryCheckID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>tagID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventory_check_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tag_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory-checks",":inventoryCheckID","tags",":tagID","detach"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"81609745-db92-4cd9-b069-5ae7f040d71a","type":"any","value":"","key":"inventoryCheckID"},{"id":"81f1665e-8fd0-4f21-aed2-dcce585bfc9b","type":"any","value":"","key":"tagID"}]}},"response":[],"_postman_id":"147e0a1f-7ce1-4543-a814-76386634146a"},{"name":"Inventory Checks attachment create","id":"27840d98-44f1-4990-9f95-ffc2566fc472","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"file_manager_id\": {{file_manager_id}}\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory-checks/{{inventory_check_id}}/items/{{item_id}}/attachments","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p>Attach an uploaded image (<code>file_manager_id</code>, an <code>INVENTORY_CHECK</code>/type-27 file owned by the company) to the given inventory-check item, and set it as the owning Location's Last Image.</p>\n<p><strong>Body</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Notes</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>file_manager_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>An owned, uploaded <code>type=27</code> file, not already linked to another attachment.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Path params</strong>: <code>company_id</code>, <code>inventory_check_id</code> (not COMPLETED / not archived), <code>item_id</code> (belongs to the check).</p>\n<p><strong>Permission</strong>: <code>inventory_checks.items.attachments.store</code> · <strong>Ability</strong>: <code>inventory_checks:write</code>.</p>\n<p><strong>Responses</strong>: <code>201</code> created (see example) · <code>422</code> validation (bad/foreign/duplicate <code>file_manager_id</code>, completed/archived check) · <code>403</code> missing ability/permission.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory-checks","{{inventory_check_id}}","items","{{item_id}}","attachments"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[{"id":"a4bdaf5f-206f-49fb-b46b-2fd0f3d6969c","name":"201 Created","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"file_manager_id\": 512\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory-checks/{{inventory_check_id}}/items/{{item_id}}/attachments"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"id\": 88,\n        \"inventory_check_id\": 1,\n        \"inventory_check_item_id\": 1,\n        \"location_id\": 42,\n        \"file_manager_id\": 512,\n        \"image\": \"https://private-bucket.example/inventory-check/abc123.jpg?signature=...\",\n        \"created_at\": \"2026-07-03T10:15:00.000000Z\"\n    }\n}"}],"_postman_id":"27840d98-44f1-4990-9f95-ffc2566fc472"},{"name":"Inventory Checks attachment update","id":"5a971df5-ab3b-4922-94f5-56735a3ed747","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"file_manager_id\": {{file_manager_id}}\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory-checks/{{inventory_check_id}}/items/{{item_id}}/attachments/{{attachment_id}}","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p>Replace the image on an existing attachment. Supply the <strong>new</strong> <code>file_manager_id</code>. If this attachment currently backs the Location's Last Image, the Location pointer is repointed to the new file and the old file is removed.</p>\n<p><strong>Body</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Notes</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>file_manager_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>New owned <code>type=27</code> file; not linked to a <em>different</em> attachment (the current attachment is ignored, so re-sending the same file is fine).</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Permission</strong>: <code>inventory_checks.items.attachments.update</code> · <strong>Ability</strong>: <code>inventory_checks:write</code>.</p>\n<p><strong>Responses</strong>: <code>200</code> OK (updated resource) · <code>422</code> validation · <code>403</code> auth.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory-checks","{{inventory_check_id}}","items","{{item_id}}","attachments","{{attachment_id}}"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[{"id":"373ec002-426c-41b3-a661-a83533244dbf","name":"200 OK","originalRequest":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"file_manager_id\": 777\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory-checks/{{inventory_check_id}}/items/{{item_id}}/attachments/{{attachment_id}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"id\": 88,\n        \"inventory_check_id\": 1,\n        \"inventory_check_item_id\": 1,\n        \"location_id\": 42,\n        \"file_manager_id\": 777,\n        \"image\": \"https://private-bucket.example/inventory-check/def456.jpg?signature=...\",\n        \"created_at\": \"2026-07-03T10:15:00.000000Z\"\n    }\n}"}],"_postman_id":"5a971df5-ab3b-4922-94f5-56735a3ed747"},{"name":"Inventory Checks attachment deletes","id":"6253da1d-b77d-4c36-9a29-8e0de1784c70","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory-checks/{{inventory_check_id}}/items/{{item_id}}/attachments/{{attachment_id}}","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p>Delete an attachment and remove its physical file. If the deleted file was the Location's Last Image, the Location falls back to its <strong>previous</strong> remaining attachment for that location (or <code>null</code> if none remain).</p>\n<p><strong>Permission</strong>: <code>inventory_checks.items.attachments.update</code> (delete reuses the update key) · <strong>Ability</strong>: <code>inventory_checks:write</code>.</p>\n<p><strong>Responses</strong>: <code>204</code> No Content · <code>422</code> validation (foreign/cross-tenant ids) · <code>403</code> auth.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory-checks","{{inventory_check_id}}","items","{{item_id}}","attachments","{{attachment_id}}"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[{"id":"07e15af1-61f2-44ec-8b09-7149232a5676","name":"204 No Content","originalRequest":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory-checks/{{inventory_check_id}}/items/{{item_id}}/attachments/{{attachment_id}}"},"status":"No Content","code":204,"_postman_previewlanguage":"text","header":[],"cookie":[],"responseTime":null,"body":""}],"_postman_id":"6253da1d-b77d-4c36-9a29-8e0de1784c70"}],"id":"23a103c8-25be-4f20-ae5f-38b71c45b110","description":"<p><strong>Inventory Checks</strong> — 24 endpoints.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"23a103c8-25be-4f20-ae5f-38b71c45b110","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Inventory Families","item":[{"name":"Inventory ext families bulk create","id":"40e55963-7e34-4f8d-a4b0-6d13d67f1f5b","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"families\": [\n    {\n      \"name\": \"name\",\n      \"parent_id\": \"{{parent_id}}\",\n      \"description\": \"\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory-families/bulk-create","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>families</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>families.*.name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>families.*.parent_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>families.*.description</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory-families","bulk-create"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"40e55963-7e34-4f8d-a4b0-6d13d67f1f5b"},{"name":"Inventory ext families bulk sync","id":"06485781-3840-4207-a66c-585961135b42","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"families\": [\n    {\n      \"id\": null,\n      \"name\": \"name\",\n      \"parent_id\": \"{{parent_id}}\",\n      \"description\": \"\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory-families/bulk-sync","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>families</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>families.*.id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>families.*.name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>families.*.parent_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>families.*.description</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory-families","bulk-sync"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"06485781-3840-4207-a66c-585961135b42"},{"name":"Inventory ext families bulk update","id":"85fb6b8b-261d-4d79-bcdf-b2063f58c79e","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"families\": [\n    {\n      \"id\": \"{{id}}\",\n      \"name\": \"name\",\n      \"description\": \"\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory-families/bulk-update","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>families</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>families.*.id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>families.*.name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>families.*.description</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory-families","bulk-update"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"85fb6b8b-261d-4d79-bcdf-b2063f58c79e"},{"name":"Inventory ext families list","id":"b65f075c-4b8a-491c-a496-825f9551a81c","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory-families","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>parent_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>filter[]</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sort</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>Filter by Name.</td>\n</tr>\n<tr>\n<td><code>family_name</code></td>\n<td>Filter by Family Name.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>inventoryFamily</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory-families"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"parent_id","value":""},{"disabled":true,"key":"filter[]","value":""},{"disabled":true,"key":"sort","value":""},{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Name.</p>\n","type":"text/plain"},"key":"name","value":""},{"disabled":true,"description":{"content":"<p>Filter by Family Name.</p>\n","type":"text/plain"},"key":"family_name","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>inventoryFamily</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[]}},"response":[],"_postman_id":"b65f075c-4b8a-491c-a496-825f9551a81c"},{"name":"Inventory ext families create","id":"fa575aed-3840-48c7-8fc4-bda2d6c534c5","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"name\",\n  \"parent_id\": \"{{parent_id}}\",\n  \"description\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory-families","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>parent_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>description</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory-families"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"fa575aed-3840-48c7-8fc4-bda2d6c534c5"},{"name":"Inventory ext families update","id":"d9334475-ffdc-41fa-8542-4603edd609b9","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"name\",\n  \"parent_id\": \"{{parent_id}}\",\n  \"description\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//inventory-families/:familyID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>familyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>parent_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>description</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory-families",":familyID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"b70f4091-47d8-41c6-a790-4419f0eadf9a","type":"any","value":"","key":"familyID"}]}},"response":[],"_postman_id":"d9334475-ffdc-41fa-8542-4603edd609b9"},{"name":"Inventory ext families delete","id":"16c83a36-2999-47af-8b06-68e9912bd62d","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory-families/:familyID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>familyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory-families",":familyID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""}],"variable":[{"id":"56efecd0-bbbf-42a9-82e5-19db846d4eda","type":"any","value":"","key":"familyID"}]}},"response":[],"_postman_id":"16c83a36-2999-47af-8b06-68e9912bd62d"},{"name":"Inventory ext families inventory count","id":"75f0aac1-630e-4417-aeff-a7aa9e38bc52","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//inventory-families/:familyID/inventory-count","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>familyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","inventory-families",":familyID","inventory-count"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""}],"variable":[{"id":"d8c17505-7f75-4213-889e-3240a85ae835","type":"any","value":"","key":"familyID"}]}},"response":[],"_postman_id":"75f0aac1-630e-4417-aeff-a7aa9e38bc52"}],"id":"06a48c0d-39e6-41ee-a45b-667abed5a8a0","description":"<p><strong>Inventory Families</strong> — 8 endpoints.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"06a48c0d-39e6-41ee-a45b-667abed5a8a0","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Job Reasons","item":[{"name":"Job reasons bulk create","id":"78edb5e3-106e-4a9f-bcb6-6802e9a48522","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"job_reasons\": [\n    {\n      \"reason_types\": [\n        \"1\"\n      ],\n      \"reason\": \"reason\",\n      \"channels\": [\n        0\n      ],\n      \"order_number\": 1,\n      \"is_active\": false,\n      \"image_status\": \"1\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//job-reasons/bulk-create","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>job_reasons</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>job_reasons.*.reason_types</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>job_reasons.*.reason</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>job_reasons.*.channels</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>job_reasons.*.order_number</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>job_reasons.*.is_active</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>job_reasons.*.image_status</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","job-reasons","bulk-create"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"78edb5e3-106e-4a9f-bcb6-6802e9a48522"},{"name":"Job reasons bulk update","id":"18587083-f983-4ac8-a120-0a3c5352b805","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"job_reasons\": [\n    {\n      \"id\": \"{{id}}\",\n      \"reason_types\": [\n        \"1\"\n      ],\n      \"reason\": \"reason\",\n      \"channels\": [\n        0\n      ],\n      \"order_number\": 1,\n      \"is_active\": false,\n      \"image_status\": \"1\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//job-reasons/bulk-update","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>job_reasons</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>job_reasons.*.id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>job_reasons.*.reason_types</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>job_reasons.*.reason</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>job_reasons.*.channels</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>job_reasons.*.order_number</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>job_reasons.*.is_active</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>job_reasons.*.image_status</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","job-reasons","bulk-update"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"18587083-f983-4ac8-a120-0a3c5352b805"},{"name":"Job reasons bulk delete","id":"2e52a0e3-d98f-45c0-b034-811ff32c7d6c","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"job_reason_ids\": [\n    \"{{job_reason_id}}\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//job-reasons/bulk-delete","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>job_reason_ids</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","job-reasons","bulk-delete"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"2e52a0e3-d98f-45c0-b034-811ff32c7d6c"},{"name":"Job reasons list","id":"439f7add-d37c-4069-9c0a-e6a42b4f042d","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//job-reasons","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>filter[ids][]</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>archived</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sort</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>search</code></td>\n<td>Filter by Search.</td>\n</tr>\n<tr>\n<td><code>reason</code></td>\n<td>Filter by Reason.</td>\n</tr>\n<tr>\n<td><code>channel_id</code></td>\n<td>Filter by Channel Id.</td>\n</tr>\n<tr>\n<td><code>is_active</code></td>\n<td>Filter by Is Active.</td>\n</tr>\n<tr>\n<td><code>reason_type</code></td>\n<td>Filter by Reason Type.</td>\n</tr>\n<tr>\n<td><code>image_status</code></td>\n<td>Filter by Image Status.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>channels</code></li>\n<li><code>channels.channel</code></li>\n<li><code>channels.channel.settings</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","job-reasons"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"filter[ids][]","value":""},{"disabled":true,"key":"archived","value":""},{"disabled":true,"key":"sort","value":""},{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Search.</p>\n","type":"text/plain"},"key":"search","value":""},{"disabled":true,"description":{"content":"<p>Filter by Reason.</p>\n","type":"text/plain"},"key":"reason","value":""},{"disabled":true,"description":{"content":"<p>Filter by Channel Id.</p>\n","type":"text/plain"},"key":"channel_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Is Active.</p>\n","type":"text/plain"},"key":"is_active","value":""},{"disabled":true,"description":{"content":"<p>Filter by Reason Type.</p>\n","type":"text/plain"},"key":"reason_type","value":""},{"disabled":true,"description":{"content":"<p>Filter by Image Status.</p>\n","type":"text/plain"},"key":"image_status","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>channels</code> - <code>channels.channel</code> - <code>channels.channel.settings</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[]}},"response":[],"_postman_id":"439f7add-d37c-4069-9c0a-e6a42b4f042d"},{"name":"Job reasons create","id":"28058d5d-9681-4fa6-9be7-ac1c2e40dee7","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"reason\": \"reason\",\n  \"order_number\": 1,\n  \"is_active\": false,\n  \"image_status\": \"1\",\n  \"reason_types\": [\n    \"1\"\n  ],\n  \"channels\": [\n    0\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//job-reasons","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>reason</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_number</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>is_active</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>image_status</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>reason_types</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>channels</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","job-reasons"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"28058d5d-9681-4fa6-9be7-ac1c2e40dee7"},{"name":"Job reasons show","id":"0cbe8af5-a3a6-4bd8-a9f4-76c9e60d84ba","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//job-reasons/:jobReasonID","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>jobReasonID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>channels</code></li>\n<li><code>channels.channel</code></li>\n<li><code>channels.channel.settings</code></li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","job-reasons",":jobReasonID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>channels</code> - <code>channels.channel</code> - <code>channels.channel.settings</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"c334e7bc-89fe-45c9-bc46-fdd519a7e2a1","type":"any","value":"","key":"jobReasonID"}]}},"response":[],"_postman_id":"0cbe8af5-a3a6-4bd8-a9f4-76c9e60d84ba"},{"name":"Job reasons update","id":"9942aef7-0d2d-4d26-ab79-92696d175aa6","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"reason\": \"reason\",\n  \"order_number\": 1,\n  \"is_active\": false,\n  \"image_status\": \"1\",\n  \"reason_types\": [\n    \"1\"\n  ],\n  \"channels\": [\n    0\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//job-reasons/:jobReasonID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>jobReasonID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>reason</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_number</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>is_active</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>image_status</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>reason_types</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>channels</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","job-reasons",":jobReasonID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"8c6960bc-0913-4999-9917-90454a8f444f","type":"any","value":"","key":"jobReasonID"}]}},"response":[],"_postman_id":"9942aef7-0d2d-4d26-ab79-92696d175aa6"},{"name":"Job reasons delete","id":"3f10251f-7f9e-4b1b-986e-baf22f899747","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//job-reasons/:jobReasonID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>jobReasonID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","job-reasons",":jobReasonID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"3355a6de-c622-4c80-bc0e-ef096ba4500a","type":"any","value":"","key":"jobReasonID"}]}},"response":[],"_postman_id":"3f10251f-7f9e-4b1b-986e-baf22f899747"},{"name":"Job reasons status update","id":"7d8e6bf0-95c4-4483-ab8a-757c7aa83ab8","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"job_reason_id\": \"{{job_reason_id}}\",\n  \"is_active\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//job-reasons/:jobReasonID/status","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>jobReasonID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>job_reason_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>is_active</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","job-reasons",":jobReasonID","status"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"f069b42a-2781-4313-9a4d-22b6795fe008","type":"any","value":"","key":"jobReasonID"}]}},"response":[],"_postman_id":"7d8e6bf0-95c4-4483-ab8a-757c7aa83ab8"}],"id":"e0f53e95-49eb-41f1-9b9a-3df2e108de31","description":"<p><strong>Job Reasons</strong> — 9 endpoints.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"e0f53e95-49eb-41f1-9b9a-3df2e108de31","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Languages","item":[{"name":"Display a listing of every language","id":"ca40bb9f-6330-4117-be8f-52c20f07380a","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//languages","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","languages"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""}],"variable":[]}},"response":[],"_postman_id":"ca40bb9f-6330-4117-be8f-52c20f07380a"},{"name":"Display the specified language","id":"d0b441cf-25ee-414f-8c9a-23fe68735386","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//languages/:languageID","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>languageID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","languages",":languageID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""}],"variable":[{"id":"928d37e5-af47-4ac5-9983-f981e2964496","type":"any","value":"","key":"languageID"}]}},"response":[],"_postman_id":"d0b441cf-25ee-414f-8c9a-23fe68735386"}],"id":"cb85e8f1-2c6d-4384-b611-485684dc40c2","description":"<p><strong>Languages</strong> — 2 endpoints.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"cb85e8f1-2c6d-4384-b611-485684dc40c2","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Mail Account Settings","item":[{"name":"Mail account settings test","id":"b82c030e-0048-4c09-a224-e0da3f435026","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"mail_provider\": \"helm\",\n  \"name\": \"name\",\n  \"test_sender\": \"user@example.com\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//mail-account-settings/test","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>mail_provider</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>helm</code>, <code>mailgun</code>, <code>amazon_ses</code>, <code>brevo</code></td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>test_sender</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","mail-account-settings","test"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"b82c030e-0048-4c09-a224-e0da3f435026"},{"name":"Mail account settings list","id":"32d17ef6-0f2b-4a74-8d28-aff4871e27a2","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//mail-account-settings","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>query</code></td>\n<td>Filter by Query.</td>\n</tr>\n<tr>\n<td><code>statuses</code></td>\n<td>Filter by Statuses.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>mailAccountSettings</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","mail-account-settings"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Query.</p>\n","type":"text/plain"},"key":"query","value":""},{"disabled":true,"description":{"content":"<p>Filter by Statuses.</p>\n","type":"text/plain"},"key":"statuses","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>mailAccountSettings</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[]}},"response":[],"_postman_id":"32d17ef6-0f2b-4a74-8d28-aff4871e27a2"},{"name":"Mail account settings create","id":"01ef1b96-8dc8-4349-923c-7fda3723d8bc","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"mail_provider\": \"helm\",\n  \"name\": \"name\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//mail-account-settings","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>mail_provider</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>helm</code>, <code>mailgun</code>, <code>amazon_ses</code>, <code>brevo</code></td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","mail-account-settings"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"01ef1b96-8dc8-4349-923c-7fda3723d8bc"},{"name":"Mail account settings show","id":"8f2edeb6-bef1-4ac1-9eae-05a03ca043bd","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//mail-account-settings/:mailAccountSettingID","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>mailAccountSettingID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","mail-account-settings",":mailAccountSettingID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""}],"variable":[{"id":"ee974c04-a22d-4bc9-9caa-57ebdfe6b427","type":"any","value":"","key":"mailAccountSettingID"}]}},"response":[],"_postman_id":"8f2edeb6-bef1-4ac1-9eae-05a03ca043bd"},{"name":"Mail account settings update","id":"a56fbd43-d46b-455b-a3f1-8a8b2d5a17c3","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"mail_provider\": \"helm\",\n  \"name\": \"name\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//mail-account-settings/:mailAccountSettingID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>mailAccountSettingID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>mail_provider</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>helm</code>, <code>mailgun</code>, <code>amazon_ses</code>, <code>brevo</code></td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","mail-account-settings",":mailAccountSettingID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"c4872fd6-601b-4102-a58c-af11550bcc2e","type":"any","value":"","key":"mailAccountSettingID"}]}},"response":[],"_postman_id":"a56fbd43-d46b-455b-a3f1-8a8b2d5a17c3"},{"name":"Mail account settings delete","id":"c8596420-f0d2-431b-afea-3029b7497c50","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//mail-account-settings/:mailAccountSettingID?company_id=&mail_account_setting_id=","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>mailAccountSettingID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>mail_account_setting_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","mail-account-settings",":mailAccountSettingID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"mail_account_setting_id","value":""}],"variable":[{"id":"c4cad7be-a156-4e5d-811a-e931ea8ad7e3","type":"any","value":"","key":"mailAccountSettingID"}]}},"response":[],"_postman_id":"c8596420-f0d2-431b-afea-3029b7497c50"},{"name":"Mail account settings change status","id":"a28fbf54-a0df-4829-a7dd-ae95a86cc27c","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"mail_account_setting_id\": \"{{mail_account_setting_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//mail-account-settings/:mailAccountSettingID/change-status","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>mailAccountSettingID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>mail_account_setting_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","mail-account-settings",":mailAccountSettingID","change-status"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"10ff1bb9-e569-4bb2-8e75-d6215c95c523","type":"any","value":"","key":"mailAccountSettingID"}]}},"response":[],"_postman_id":"a28fbf54-a0df-4829-a7dd-ae95a86cc27c"}],"id":"c8a1bf4d-efec-4d06-b6c4-61113ea9f4bf","description":"<p><strong>Mail Account Settings</strong> — 7 endpoints.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"c8a1bf4d-efec-4d06-b6c4-61113ea9f4bf","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Manufacturers","item":[{"name":"Manufacturers list","id":"d536a920-b793-4a3d-a8d6-54a1e59dc377","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//manufacturers","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<p>Lists the company's manufacturers: the factories products are made by, with their US Customs MID and registered address.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>query</code></td>\n<td>Search manufacturer name and MID.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n<tr>\n<td><code>includes_count</code></td>\n<td><code>inventory</code> adds <code>inventory_count</code>, the number of linked products.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>address</code> (with its country)</li>\n<li><code>inventory</code> (linked products)</li>\n<li><code>inventory.meta</code> (adds product names)</li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>. Sortable fields: <code>id</code>, <code>name</code>, <code>mid_id</code>, <code>created_at</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","manufacturers"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"description":{"content":"<p>Search manufacturer name and MID.</p>\n","type":"text/plain"},"key":"query","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated relation counts. Allowed: <code>inventory</code> (number of linked products, returned as <code>inventory_count</code>).</p>\n","type":"text/plain"},"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by: id, name, mid_id, created_at.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load. Allowed relations: - <code>address</code> - <code>inventory</code> - <code>inventory.meta</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[]}},"response":[],"_postman_id":"d536a920-b793-4a3d-a8d6-54a1e59dc377"},{"name":"Manufacturers create","id":"1cf7a81b-abe0-49cf-86a5-f06760622e8c","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"Acme Manufacturing Ltd\",\n  \"mid_id\": \"GBACMMAN4LEE\",\n  \"address\": {\n    \"address_line_1\": \"Unit 4\",\n    \"address_line_2\": \"Mill Lane\",\n    \"address_line_3\": null,\n    \"city\": \"Leeds\",\n    \"county\": \"West Yorkshire\",\n    \"postcode\": \"LS1 1AA\",\n    \"country_id\": 232\n  },\n  \"company_id\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//manufacturers","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<p>Creates a manufacturer. <code>name</code> is required and unique within the company. <code>mid_id</code> is the US Customs Manufacturer Identification code (up to 15 letters and digits); spaces are removed and it is stored in upper case. Link it to a product with <code>manufacturer_id</code> on the product's customs information; the MID and address are then sent to the carrier with every item of that product.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address.address_line_1</code></td>\n<td>string</td>\n<td>yes</td>\n<td> <strong>Conditional:</strong> - Required when <code>address</code> is present.</td>\n</tr>\n<tr>\n<td><code>address.address_line_2</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address.address_line_3</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address.city</code></td>\n<td>string</td>\n<td>yes</td>\n<td> <strong>Conditional:</strong> - Required when <code>address</code> is present.</td>\n</tr>\n<tr>\n<td><code>address.county</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address.postcode</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address.country_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>Helm country ID (from the countries list), not the ISO code.  <strong>Conditional:</strong> - Required when <code>address</code> is present.</td>\n</tr>\n<tr>\n<td><code>mid_id</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>US Customs Manufacturer Identification code. Spaces are removed and letters are stored in upper case; the result must be 1 to 15 letters and digits.</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","manufacturers"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"1cf7a81b-abe0-49cf-86a5-f06760622e8c"},{"name":"Manufacturers show","id":"1532b8d5-f0c2-4ec0-9130-85f22b4fd28f","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//manufacturers/:manufacturerID","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<p>Shows one manufacturer with its country. Another company's id returns 404.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>manufacturerID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","manufacturers",":manufacturerID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"7479381c-59cb-4875-98f2-08b2ac14282d","type":"any","value":"","key":"manufacturerID"}]}},"response":[],"_postman_id":"1532b8d5-f0c2-4ec0-9130-85f22b4fd28f"},{"name":"Manufacturers update","id":"d00dc50e-9170-43fc-a326-e5c320c47360","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"Acme Manufacturing Ltd\",\n  \"mid_id\": \"GBACMMAN4LEE\",\n  \"address\": {\n    \"address_line_1\": \"Unit 4\",\n    \"address_line_2\": \"Mill Lane\",\n    \"address_line_3\": null,\n    \"city\": \"Leeds\",\n    \"county\": \"West Yorkshire\",\n    \"postcode\": \"LS1 1AA\",\n    \"country_id\": 232\n  },\n  \"company_id\": \"\",\n  \"manufacturer_id\": \"{{manufacturer_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//manufacturers/:manufacturerID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<p>Replaces a manufacturer (<code>name</code> required). The change shows on the next label of every linked product. Responds 204 No Content.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>manufacturerID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>manufacturer_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address.address_line_1</code></td>\n<td>string</td>\n<td>yes</td>\n<td> <strong>Conditional:</strong> - Required when <code>address</code> is present.</td>\n</tr>\n<tr>\n<td><code>address.address_line_2</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address.address_line_3</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address.city</code></td>\n<td>string</td>\n<td>yes</td>\n<td> <strong>Conditional:</strong> - Required when <code>address</code> is present.</td>\n</tr>\n<tr>\n<td><code>address.county</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address.postcode</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address.country_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>Helm country ID (from the countries list), not the ISO code.  <strong>Conditional:</strong> - Required when <code>address</code> is present.</td>\n</tr>\n<tr>\n<td><code>mid_id</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>US Customs Manufacturer Identification code. Spaces are removed and letters are stored in upper case; the result must be 1 to 15 letters and digits.</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","manufacturers",":manufacturerID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"2a203fe8-bcc3-4699-bd90-206d8ef3b02e","type":"any","value":"","key":"manufacturerID"}]}},"response":[],"_postman_id":"d00dc50e-9170-43fc-a326-e5c320c47360"},{"name":"Manufacturers update patch","id":"b55b97f3-d20a-4780-8400-11548f4ef211","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"address\": {\n    \"address_line_1\": \"Unit 9\",\n    \"city\": \"Bradford\",\n    \"country_id\": 232\n  },\n  \"company_id\": \"\",\n  \"manufacturer_id\": \"{{manufacturer_id}}\",\n  \"name\": \"Acme Manufacturing Ltd\",\n  \"mid_id\": \"GBACMMAN4LEE\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//manufacturers/:manufacturerID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<p>Updates only the fields sent: absent fields are left as they are and a null clears the field. Responds 204 No Content.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>manufacturerID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>manufacturer_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address.address_line_1</code></td>\n<td>string</td>\n<td>yes</td>\n<td> <strong>Conditional:</strong> - Required when <code>address</code> is present.</td>\n</tr>\n<tr>\n<td><code>address.address_line_2</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address.address_line_3</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address.city</code></td>\n<td>string</td>\n<td>yes</td>\n<td> <strong>Conditional:</strong> - Required when <code>address</code> is present.</td>\n</tr>\n<tr>\n<td><code>address.county</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address.postcode</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address.country_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>Helm country ID (from the countries list), not the ISO code.  <strong>Conditional:</strong> - Required when <code>address</code> is present.</td>\n</tr>\n<tr>\n<td><code>mid_id</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>US Customs Manufacturer Identification code. Spaces are removed and letters are stored in upper case; the result must be 1 to 15 letters and digits.</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","manufacturers",":manufacturerID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"9ffd895b-a17e-4b01-ad0a-93cc79454d38","type":"any","value":"","key":"manufacturerID"}]}},"response":[],"_postman_id":"b55b97f3-d20a-4780-8400-11548f4ef211"},{"name":"Manufacturers delete","id":"69b8549e-affc-4b48-ae54-e85c4c74a840","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//manufacturers/:manufacturerID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<p>Deletes a manufacturer. A manufacturer still linked to a product cannot be deleted (422); remove it from the products first. Responds 204 No Content.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>manufacturerID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","manufacturers",":manufacturerID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"3947dcea-5280-48ea-8c14-db18b28df517","type":"any","value":"","key":"manufacturerID"}]}},"response":[],"_postman_id":"69b8549e-affc-4b48-ae54-e85c4c74a840"}],"id":"0ae053b4-c7b1-424b-94c2-f5cf8eeda17b","description":"<p><strong>Manufacturers</strong> — 6 endpoints.</p>\n<p>The factory a product is made by: its US Customs MID (<code>mid_id</code>) and registered address. A product is linked through <code>manufacturer_id</code> on its customs information (<code>PATCH /inventory/{inventoryID}/customs-information</code>, inventory create and update). When a label is requested, every item of a linked product carries <code>mid_id</code> and <code>manufacturer_address</code>.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"0ae053b4-c7b1-424b-94c2-f5cf8eeda17b","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Movements","item":[{"name":"Movements types","id":"7945bf73-e903-4f7c-b4ed-d8c5f4d43f0b","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//movements/types","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","movements","types"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"7945bf73-e903-4f7c-b4ed-d8c5f4d43f0b"},{"name":"Movements bulk archive","id":"421a6fe8-7d2c-4bba-adc3-b12a2dfab035","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"movement_ids\": [\n    \"{{movement_id}}\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//movements/bulk-archive","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>movement_ids</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","movements","bulk-archive"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"421a6fe8-7d2c-4bba-adc3-b12a2dfab035"},{"name":"Movements bulk restore","id":"b29b1db8-2d73-4035-91d8-308ccb1ebd80","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"movement_ids\": [\n    \"{{movement_id}}\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//movements/bulk-restore","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>movement_ids</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","movements","bulk-restore"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"b29b1db8-2d73-4035-91d8-308ccb1ebd80"},{"name":"Movements bulk delete","id":"4d29a273-88ef-4711-a4a7-98738a34e5d1","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"movement_ids\": [\n    \"{{movement_id}}\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//movements/bulk-delete","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>movement_ids</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","movements","bulk-delete"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"4d29a273-88ef-4711-a4a7-98738a34e5d1"},{"name":"Movements bulk mark as ready","id":"fb66f5cc-c277-4907-9674-10c9117db3c7","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"movement_ids\": [\n    \"{{movement_id}}\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//movements/bulk-mark-as-ready","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>movement_ids</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","movements","bulk-mark-as-ready"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"fb66f5cc-c277-4907-9674-10c9117db3c7"},{"name":"Movements list","id":"01207d2a-a3b3-4134-8d3e-af848509d445","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//movements","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>query</code></td>\n<td>Filter by Query.</td>\n</tr>\n<tr>\n<td><code>archived</code></td>\n<td>Filter by Archived.</td>\n</tr>\n<tr>\n<td><code>movement_number</code></td>\n<td>Filter by Movement Number.</td>\n</tr>\n<tr>\n<td><code>movement_type</code></td>\n<td>Filter by Movement Type.</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>Filter by Status.</td>\n</tr>\n<tr>\n<td><code>item_count_from</code></td>\n<td>Filter by Item Count From.</td>\n</tr>\n<tr>\n<td><code>item_count_to</code></td>\n<td>Filter by Item Count To.</td>\n</tr>\n<tr>\n<td><code>assigned_user_id</code></td>\n<td>Filter by Assigned User Id.</td>\n</tr>\n<tr>\n<td><code>created_at_from</code></td>\n<td>Filter by Created At From.</td>\n</tr>\n<tr>\n<td><code>created_at_to</code></td>\n<td>Filter by Created At To.</td>\n</tr>\n<tr>\n<td><code>assigned_user_date_from</code></td>\n<td>Filter by Assigned User Date From.</td>\n</tr>\n<tr>\n<td><code>assigned_user_date_to</code></td>\n<td>Filter by Assigned User Date To.</td>\n</tr>\n<tr>\n<td><code>completed_at_from</code></td>\n<td>Filter by Completed At From.</td>\n</tr>\n<tr>\n<td><code>completed_at_to</code></td>\n<td>Filter by Completed At To.</td>\n</tr>\n<tr>\n<td><code>is_mobile</code></td>\n<td>Filter by Is Mobile.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>items</code></li>\n<li><code>items.inventory</code></li>\n<li><code>items.inventory.meta</code></li>\n<li><code>items.inventory.stocks</code></li>\n<li><code>items.inventory.stocks.location</code></li>\n<li><code>items.fromLocation</code></li>\n<li><code>delivery</code></li>\n<li><code>delivery.supplier</code></li>\n<li><code>delivery.supplier.contact</code></li>\n<li><code>assignedUser</code></li>\n<li><code>assignedUser.user</code></li>\n<li><code>assignedUser.user.fileManager</code></li>\n<li><code>assignedUser.timeTracking</code></li>\n<li><code>assignedUsers</code></li>\n<li><code>assignedUsers.user</code></li>\n<li><code>assignedUsers.user.fileManager</code></li>\n<li><code>assignedUsers.timeTracking</code></li>\n<li><code>tags</code></li>\n<li><code>tags.tag</code></li>\n<li><code>archivedBy.user</code></li>\n<li><code>archivedBy.user.fileManager</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","movements"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Query.</p>\n","type":"text/plain"},"key":"query","value":""},{"disabled":true,"description":{"content":"<p>Filter by Archived.</p>\n","type":"text/plain"},"key":"archived","value":""},{"disabled":true,"description":{"content":"<p>Filter by Movement Number.</p>\n","type":"text/plain"},"key":"movement_number","value":""},{"disabled":true,"description":{"content":"<p>Filter by Movement Type.</p>\n","type":"text/plain"},"key":"movement_type","value":""},{"disabled":true,"description":{"content":"<p>Filter by Status.</p>\n","type":"text/plain"},"key":"status","value":""},{"disabled":true,"description":{"content":"<p>Filter by Item Count From.</p>\n","type":"text/plain"},"key":"item_count_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Item Count To.</p>\n","type":"text/plain"},"key":"item_count_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Assigned User Id.</p>\n","type":"text/plain"},"key":"assigned_user_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Created At From.</p>\n","type":"text/plain"},"key":"created_at_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Created At To.</p>\n","type":"text/plain"},"key":"created_at_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Assigned User Date From.</p>\n","type":"text/plain"},"key":"assigned_user_date_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Assigned User Date To.</p>\n","type":"text/plain"},"key":"assigned_user_date_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Completed At From.</p>\n","type":"text/plain"},"key":"completed_at_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Completed At To.</p>\n","type":"text/plain"},"key":"completed_at_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Is Mobile.</p>\n","type":"text/plain"},"key":"is_mobile","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>items</code> - <code>items.inventory</code> - <code>items.inventory.meta</code> - <code>items.inventory.stocks</code> - <code>items.inventory.stocks.location</code> - <code>items.fromLocation</code> - <code>delivery</code> - <code>delivery.supplier</code> - <code>delivery.supplier.contact</code> - <code>assignedUser</code> - <code>assignedUser.user</code> - <code>assignedUser.user.fileManager</code> - <code>assignedUser.timeTracking</code> - <code>assignedUsers</code> - <code>assignedUsers.user</code> - <code>assignedUsers.user.fileManager</code> - <code>assignedUsers.timeTracking</code> - <code>tags</code> - <code>tags.tag</code> - <code>archivedBy.user</code> - <code>archivedBy.user.fileManager</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[]}},"response":[],"_postman_id":"01207d2a-a3b3-4134-8d3e-af848509d445"},{"name":"Movements create","id":"bca5df95-6b0f-4e88-8381-bac31f4e1d8a","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"type\": 1,\n  \"is_bulk\": false,\n  \"replenish_type\": 1,\n  \"deliveries\": [],\n  \"inventory_list\": [\n    {\n      \"inventory_id\": \"{{inventory_id}}\",\n      \"from_location_id\": \"{{from_location_id}}\",\n      \"to_location_id\": \"{{to_location_id}}\",\n      \"quantity\": 1,\n      \"inventory_batch_id\": null\n    }\n  ],\n  \"split\": {\n    \"per_zone\": false,\n    \"set_maximum_lines\": false,\n    \"maximum_lines\": 1,\n    \"assigned_users\": null\n  },\n  \"filters\": null\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//movements","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>type</code></td>\n<td>integer</td>\n<td>yes</td>\n</tr>\n<tr>\n<td><code>is_bulk</code></td>\n<td>boolean</td>\n<td>when <code>type</code> is <code>1</code></td>\n</tr>\n<tr>\n<td><code>replenish_type</code></td>\n<td>integer</td>\n<td>when <code>type</code> is <code>2</code></td>\n</tr>\n<tr>\n<td><code>deliveries</code></td>\n<td>array of integer</td>\n<td>when <code>type</code> is <code>4</code></td>\n</tr>\n<tr>\n<td><code>inventory_list</code></td>\n<td>array of object</td>\n<td>when <code>type</code> is <code>1</code> and <code>is_bulk</code> is <code>false</code></td>\n</tr>\n<tr>\n<td><code>split</code></td>\n<td>object</td>\n<td>every <code>type</code> except <code>4</code></td>\n</tr>\n<tr>\n<td><code>filters</code></td>\n<td>array of array</td>\n<td>when <code>type</code> is <code>2</code> and <code>replenish_type</code> is <code>2</code></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"field-notes\">Field notes</h4>\n<ul>\n<li><code>type</code> — <code>1</code> Instant, <code>2</code> Replenish, <code>3</code> Consolidate, <code>4</code> Delivery.</li>\n<li><code>is_bulk</code> — Instant only. <code>false</code>: the lines are listed in <code>inventory_list</code>. <code>true</code>: the lines are derived from <code>filters</code>.</li>\n<li><code>replenish_type</code> — Replenish only. <code>1</code> Full replenish, <code>2</code> Filter location and inventory (then <code>filters</code> is required).</li>\n<li><code>deliveries</code> — Flat array of delivery ids. A delivery must not be DUE_IN or archived, must have at least one item with a location, and must not already have an open movement.</li>\n<li><code>inventory_list</code> — One object per movement line: <code>inventory_id</code>, <code>from_location_id</code>, <code>to_location_id</code>, <code>quantity</code>, plus <code>inventory_batch_id</code> when the inventory is batch tracked.</li>\n<li><code>inventory_list</code> — <code>from_location_id</code> and <code>to_location_id</code> must differ, and the same inventory + from + to combination cannot repeat.</li>\n<li><code>split</code> — <code>per_zone</code> and <code>set_maximum_lines</code> are mandatory keys. <code>maximum_lines</code> is required when <code>set_maximum_lines</code> is <code>true</code>. <code>assigned_users</code> is optional.</li>\n<li><code>filters</code> — Rule engine groups of <code>{field, operator, value}</code>, e.g. <code>[[{\"field\": 73, \"operator\": 1, \"value\": [12]}]]</code> where field <code>73</code> is warehouse zone.</li>\n<li>Creating a movement is asynchronous: the response is <code>201</code> with a movement TRANSACTION. Poll the movement-transactions endpoints to follow progress.</li>\n<li>Fields that do not apply to the chosen <code>type</code> are ignored, so the example body runs as-is for an Instant non-bulk movement.</li>\n<li>Every nested id is scoped to the <code></code> path segment.</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","movements"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"bca5df95-6b0f-4e88-8381-bac31f4e1d8a"},{"name":"Movements archive","id":"9d474097-2555-47a5-bf25-73b4dded41bb","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//movements/:movementID/archive","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>movementID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","movements",":movementID","archive"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"0274f670-8b3c-41a4-9288-82ec94ad7524","type":"any","value":"","key":"movementID"}]}},"response":[],"_postman_id":"9d474097-2555-47a5-bf25-73b4dded41bb"},{"name":"Movements restore archive","id":"61a820dd-0232-461c-9395-4a1c7665d8d5","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//movements/:movementID/restore-archive","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>movementID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","movements",":movementID","restore-archive"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"f0166a49-117c-43da-8737-98f5db89112b","type":"any","value":"","key":"movementID"}]}},"response":[],"_postman_id":"61a820dd-0232-461c-9395-4a1c7665d8d5"},{"name":"Movements mark as completed","id":"0a79ccd4-bee4-440e-a070-62164b15db1b","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//movements/:movementID/mark-as-completed","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>movementID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","movements",":movementID","mark-as-completed"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"47883f87-4483-470d-8aec-a96847594217","type":"any","value":"","key":"movementID"}]}},"response":[],"_postman_id":"0a79ccd4-bee4-440e-a070-62164b15db1b"},{"name":"Movements mark as ready","id":"eb528904-20b4-4671-a427-703e68ac9cd5","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//movements/:movementID/mark-as-ready","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>movementID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","movements",":movementID","mark-as-ready"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"c2b98b3d-eee3-4d02-a310-7ff73a5aad93","type":"any","value":"","key":"movementID"}]}},"response":[],"_postman_id":"eb528904-20b4-4671-a427-703e68ac9cd5"},{"name":"Movements publish","id":"74920d09-4560-4a67-8f7a-1dcecae6ebcc","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//movements/:movementID/publish","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>movementID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","movements",":movementID","publish"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"3d6a5a43-f30b-4d2f-ae11-a3592d74a995","type":"any","value":"","key":"movementID"}]}},"response":[],"_postman_id":"74920d09-4560-4a67-8f7a-1dcecae6ebcc"},{"name":"Movements show","id":"b0568bb0-6dcd-4a47-8706-eac2ba3251aa","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//movements/:movementID","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>movementID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>items</code></li>\n<li><code>items.inventory</code></li>\n<li><code>items.inventory.meta</code></li>\n<li><code>items.inventory.stocks</code></li>\n<li><code>items.inventory.stocks.location</code></li>\n<li><code>items.fromLocation</code></li>\n<li><code>delivery</code></li>\n<li><code>delivery.supplier</code></li>\n<li><code>delivery.supplier.contact</code></li>\n<li><code>assignedUser</code></li>\n<li><code>assignedUser.user</code></li>\n<li><code>assignedUser.user.fileManager</code></li>\n<li><code>assignedUser.timeTracking</code></li>\n<li><code>assignedUsers</code></li>\n<li><code>assignedUsers.user</code></li>\n<li><code>assignedUsers.user.fileManager</code></li>\n<li><code>assignedUsers.timeTracking</code></li>\n<li><code>tags</code></li>\n<li><code>tags.tag</code></li>\n<li><code>archivedBy.user</code></li>\n<li><code>archivedBy.user.fileManager</code></li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","movements",":movementID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>items</code> - <code>items.inventory</code> - <code>items.inventory.meta</code> - <code>items.inventory.stocks</code> - <code>items.inventory.stocks.location</code> - <code>items.fromLocation</code> - <code>delivery</code> - <code>delivery.supplier</code> - <code>delivery.supplier.contact</code> - <code>assignedUser</code> - <code>assignedUser.user</code> - <code>assignedUser.user.fileManager</code> - <code>assignedUser.timeTracking</code> - <code>assignedUsers</code> - <code>assignedUsers.user</code> - <code>assignedUsers.user.fileManager</code> - <code>assignedUsers.timeTracking</code> - <code>tags</code> - <code>tags.tag</code> - <code>archivedBy.user</code> - <code>archivedBy.user.fileManager</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"f1db13d6-696b-4a1f-8d03-c2b051e442ab","type":"any","value":"","key":"movementID"}]}},"response":[],"_postman_id":"b0568bb0-6dcd-4a47-8706-eac2ba3251aa"},{"name":"Movements delete","id":"b950265c-bfdc-4b90-a907-54478eee49d4","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//movements/:movementID","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>movementID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","movements",":movementID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"f37212f2-125b-4f31-b489-82d7cfc23fca","type":"any","value":"","key":"movementID"}]}},"response":[],"_postman_id":"b950265c-bfdc-4b90-a907-54478eee49d4"},{"name":"Movements update","id":"2eb10136-2464-4306-8754-a30256267acc","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"movement_id\": \"{{movement_id}}\",\n  \"is_hold\": false,\n  \"assigned_device_name\": \"\",\n  \"assigned_device_id\": \"{{assigned_device_id}}\",\n  \"notes\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//movements/:movementID","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>movementID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>movement_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>is_hold</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>assigned_device_name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>assigned_device_id</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>notes</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","movements",":movementID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"4a44a34b-4ad7-46e5-9348-b3501973c4b5","type":"any","value":"","key":"movementID"}]}},"response":[],"_postman_id":"2eb10136-2464-4306-8754-a30256267acc"},{"name":"Movements generate movement number","id":"49200272-bfeb-47ad-ae03-dacb965ad050","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//movements/generate-movement-number","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","movements","generate-movement-number"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"49200272-bfeb-47ad-ae03-dacb965ad050"},{"name":"Movements split movement","id":"b66dda08-ab25-4d78-8bbe-b026decdcb66","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"movement_id\": \"{{movement_id}}\",\n  \"assigned_user\": 0,\n  \"filter\": [\n    \"\"\n  ],\n  \"ids\": [\n    \"{{id}}\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//movements/:movementID/split-movement","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>movementID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>movement_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>assigned_user</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>filter</code></td>\n<td>array</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","movements",":movementID","split-movement"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"98fdd302-51e5-4414-8736-7bcdd38d3546","type":"any","value":"","key":"movementID"}]}},"response":[],"_postman_id":"b66dda08-ab25-4d78-8bbe-b026decdcb66"},{"name":"Movements unmoved items","id":"2e3a93f4-460c-421b-94c4-93adb64fcff5","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//movements/:movementID/unmoved-items","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>movementID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","movements",":movementID","unmoved-items"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""}],"variable":[{"id":"4cbbac1a-b1a9-4c5f-a289-c7f0c39c6a57","type":"any","value":"","key":"movementID"}]}},"response":[],"_postman_id":"2e3a93f4-460c-421b-94c4-93adb64fcff5"},{"name":"Movements assigned users list","id":"58c4fc70-070f-4e9a-8e2f-368edfa1098d","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//movements/:movementID/assigned-users","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>movementID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>filter[]</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sort</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>movement_id</code></td>\n<td>Filter by Movement Id.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>timeTracking</code></li>\n<li><code>user</code></li>\n<li><code>user.fileManager</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","movements",":movementID","assigned-users"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"filter[]","value":""},{"disabled":true,"key":"sort","value":""},{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Movement Id.</p>\n","type":"text/plain"},"key":"movement_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>timeTracking</code> - <code>user</code> - <code>user.fileManager</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"0f2258c1-7c27-4662-ad93-eccf23366dfe","type":"any","value":"","key":"movementID"}]}},"response":[],"_postman_id":"58c4fc70-070f-4e9a-8e2f-368edfa1098d"},{"name":"Movements assigned users update","id":"92c477de-7f9b-4577-8401-3dc3a528e25c","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"movement_id\": \"{{movement_id}}\",\n  \"user_id\": \"{{user_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//movements/:movementID/assigned-users","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>movementID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>movement_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>user_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","movements",":movementID","assigned-users"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"98475413-3bda-4d1f-83c6-1c2c06cb4fd0","type":"any","value":"","key":"movementID"}]}},"response":[],"_postman_id":"92c477de-7f9b-4577-8401-3dc3a528e25c"},{"name":"Movements assigned users show","id":"34f26446-09ea-486f-b2bf-21aee473d1e8","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//movements/:movementID/assigned-users/:userID","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>movementID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>userID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>timeTracking</code></li>\n<li><code>user</code></li>\n<li><code>user.fileManager</code></li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","movements",":movementID","assigned-users",":userID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>timeTracking</code> - <code>user</code> - <code>user.fileManager</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"1b002114-be70-47f5-bfb1-f4b6b8127308","type":"any","value":"","key":"movementID"},{"id":"8e0e68af-fe13-4dd8-bd50-b4f6fe361394","type":"any","value":"","key":"userID"}]}},"response":[],"_postman_id":"34f26446-09ea-486f-b2bf-21aee473d1e8"},{"name":"Movements time tracking start","id":"20b0d7ba-5068-4c80-8c7f-f6acf5a8dd1d","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"movement_id\": \"{{movement_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//movements/:movementID/time-tracking/start","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>movementID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>movement_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","movements",":movementID","time-tracking","start"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"4ea35471-89a2-4207-8c2d-ccfd1811c183","type":"any","value":"","key":"movementID"}]}},"response":[],"_postman_id":"20b0d7ba-5068-4c80-8c7f-f6acf5a8dd1d"},{"name":"Movements time tracking stop","id":"c90d4d01-f1a9-4f7c-a909-a2bf98c29a8f","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"movement_id\": \"{{movement_id}}\",\n  \"stopped_at\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//movements/:movementID/time-tracking/stop","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>movementID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>movement_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>stopped_at</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","movements",":movementID","time-tracking","stop"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"6bd19a2a-5f7f-429c-b315-49d6911150ca","type":"any","value":"","key":"movementID"}]}},"response":[],"_postman_id":"c90d4d01-f1a9-4f7c-a909-a2bf98c29a8f"},{"name":"Movements items bulk delete","id":"19e97582-9a0f-40c3-ab71-c6e02f373f07","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//movements/:movementID/items/bulk-delete?movement_item_ids[]=","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>movementID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>movement_item_ids[]</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","movements",":movementID","items","bulk-delete"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"movement_item_ids[]","value":""}],"variable":[{"id":"d634b408-7e42-4ff9-8a41-4431b10b8ced","type":"any","value":"","key":"movementID"}]}},"response":[],"_postman_id":"19e97582-9a0f-40c3-ab71-c6e02f373f07"},{"name":"Movements items list","id":"53014774-a468-4841-a1d2-b143801e2c8f","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//movements/:movement_id/items","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>movement_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>filter[]</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sort</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>movement_id</code></td>\n<td>Filter by Movement Id.</td>\n</tr>\n<tr>\n<td><code>product_name</code></td>\n<td>Filter by Product Name.</td>\n</tr>\n<tr>\n<td><code>product_code</code></td>\n<td>Filter by Product Code.</td>\n</tr>\n<tr>\n<td><code>from_zone_id</code></td>\n<td>Filter by From Zone Id.</td>\n</tr>\n<tr>\n<td><code>from_location_id</code></td>\n<td>Filter by From Location Id.</td>\n</tr>\n<tr>\n<td><code>to_zone_id</code></td>\n<td>Filter by To Zone Id.</td>\n</tr>\n<tr>\n<td><code>to_location_id</code></td>\n<td>Filter by To Location Id.</td>\n</tr>\n<tr>\n<td><code>moved_qty_from</code></td>\n<td>Filter by Moved Qty From.</td>\n</tr>\n<tr>\n<td><code>moved_qty_to</code></td>\n<td>Filter by Moved Qty To.</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>Filter by Status.</td>\n</tr>\n<tr>\n<td><code>query</code></td>\n<td>Filter by Query.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>inventory</code></li>\n<li><code>inventory.meta</code></li>\n<li><code>inventory.barcodes</code></li>\n<li><code>inventory.stocks</code></li>\n<li><code>inventory.stocks.location</code></li>\n<li><code>fromLocation</code></li>\n<li><code>fromZone</code></li>\n<li><code>toLocation</code></li>\n<li><code>toZone</code></li>\n<li><code>movement</code></li>\n<li><code>deliveryItem</code></li>\n<li><code>batch</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","movements",":movement_id","items"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"filter[]","value":""},{"disabled":true,"key":"sort","value":""},{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Movement Id.</p>\n","type":"text/plain"},"key":"movement_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Product Name.</p>\n","type":"text/plain"},"key":"product_name","value":""},{"disabled":true,"description":{"content":"<p>Filter by Product Code.</p>\n","type":"text/plain"},"key":"product_code","value":""},{"disabled":true,"description":{"content":"<p>Filter by From Zone Id.</p>\n","type":"text/plain"},"key":"from_zone_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by From Location Id.</p>\n","type":"text/plain"},"key":"from_location_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by To Zone Id.</p>\n","type":"text/plain"},"key":"to_zone_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by To Location Id.</p>\n","type":"text/plain"},"key":"to_location_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Moved Qty From.</p>\n","type":"text/plain"},"key":"moved_qty_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Moved Qty To.</p>\n","type":"text/plain"},"key":"moved_qty_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Status.</p>\n","type":"text/plain"},"key":"status","value":""},{"disabled":true,"description":{"content":"<p>Filter by Query.</p>\n","type":"text/plain"},"key":"query","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>inventory</code> - <code>inventory.meta</code> - <code>inventory.barcodes</code> - <code>inventory.stocks</code> - <code>inventory.stocks.location</code> - <code>fromLocation</code> - <code>fromZone</code> - <code>toLocation</code> - <code>toZone</code> - <code>movement</code> - <code>deliveryItem</code> - <code>batch</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"75bed209-0065-4642-9314-dbfefe4baa38","type":"any","value":"","key":"movement_id"}]}},"response":[],"_postman_id":"53014774-a468-4841-a1d2-b143801e2c8f"},{"name":"Movements items create","id":"ef487b40-5590-4bf4-88f0-3be3eaba531e","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"movement_type\": 1,\n  \"movement_id\": \"{{movement_id}}\",\n  \"delivery_id\": \"{{delivery_id}}\",\n  \"items\": [\n    \"\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//movements/:movementID/items","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>movementID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>movement_type</code></td>\n<td>integer</td>\n<td>yes</td>\n<td><strong>MovementTypes</strong> values: - <code>1</code> = INSTANT - <code>2</code> = REPLENISH - <code>3</code> = CONSOLIDATE - <code>4</code> = DELIVERY Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code></td>\n</tr>\n<tr>\n<td><code>movement_id</code></td>\n<td>integer</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>delivery_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","movements",":movementID","items"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"90c35339-4667-4257-9702-ad49fb52871e","type":"any","value":"","key":"movementID"}]}},"response":[],"_postman_id":"ef487b40-5590-4bf4-88f0-3be3eaba531e"},{"name":"Movements items delete","id":"a219969b-e385-4342-89b0-5baa1cad887e","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//movements/:movementID/items/:itemID","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>movementID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>itemID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","movements",":movementID","items",":itemID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"2ce1604e-e11f-4ae0-a38f-662b2ba20406","type":"any","value":"","key":"movementID"},{"id":"e28b7407-b9c6-4c6e-941c-d59bbf49ddad","type":"any","value":"","key":"itemID"}]}},"response":[],"_postman_id":"a219969b-e385-4342-89b0-5baa1cad887e"},{"name":"Movements items update to location","id":"f7f56278-9d82-4568-8e41-0ff9b1dc4398","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"to_location_id\": \"{{to_location_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//movements/:movementID/items/:itemID/update-to-location","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>movementID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>itemID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>to_location_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","movements",":movementID","items",":itemID","update-to-location"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"fc136eea-495e-4740-8da8-2061c6185344","type":"any","value":"","key":"movementID"},{"id":"7c473758-3076-4cc1-8dff-d6743f0ec873","type":"any","value":"","key":"itemID"}]}},"response":[],"_postman_id":"f7f56278-9d82-4568-8e41-0ff9b1dc4398"},{"name":"Movements items update action qty","id":"c7be4965-952f-46cc-aefa-232d3501b0c2","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"action_quantity\": 0\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//movements/:movementID/items/:itemID/update-action-qty","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>movementID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>itemID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>action_quantity</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","movements",":movementID","items",":itemID","update-action-qty"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"daac96f9-daed-47ad-9d17-cb41fd80844a","type":"any","value":"","key":"movementID"},{"id":"c53911f6-1315-4147-8611-8431621da9d6","type":"any","value":"","key":"itemID"}]}},"response":[],"_postman_id":"c7be4965-952f-46cc-aefa-232d3501b0c2"},{"name":"Movements items update qty","id":"ea3d4689-39dd-4a07-92c8-fbe3af6273da","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"quantity\": 0\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//movements/:movementID/items/:itemID/update-qty","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>movementID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>itemID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>quantity</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","movements",":movementID","items",":itemID","update-qty"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"bf73c853-4dba-40c6-8dcd-60caa89123e8","type":"any","value":"","key":"movementID"},{"id":"427416df-4b59-44a3-8bab-4e3a69ce3dec","type":"any","value":"","key":"itemID"}]}},"response":[],"_postman_id":"ea3d4689-39dd-4a07-92c8-fbe3af6273da"},{"name":"Movements items deletable","id":"83b8fa9b-c8bc-4b54-a367-ef6ff683e6ee","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//movements/:movementID/items/deletable?ids[]=","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>movementID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>filter[]</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>ids[]</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","movements",":movementID","items","deletable"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"filter[]","value":""},{"key":"ids[]","value":""}],"variable":[{"id":"24d3a1c6-3864-4f8c-a787-63e3c605e612","type":"any","value":"","key":"movementID"}]}},"response":[],"_postman_id":"83b8fa9b-c8bc-4b54-a367-ef6ff683e6ee"},{"name":"Movements items delivery item qty and location","id":"9bec126a-ec4c-4346-9a6c-fc39d6cd4de8","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//movements/:movementID/items/:deliveryItemID/delivery-item-qty-and-location","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>movementID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>deliveryItemID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","movements",":movementID","items",":deliveryItemID","delivery-item-qty-and-location"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""}],"variable":[{"id":"802123ec-f2f6-47c4-bcfd-d9a123ae1c51","type":"any","value":"","key":"movementID"},{"id":"c7ccdb4f-95c7-49a2-96aa-a815c9bd2f03","type":"any","value":"","key":"deliveryItemID"}]}},"response":[],"_postman_id":"9bec126a-ec4c-4346-9a6c-fc39d6cd4de8"},{"name":"Movements items update from location","id":"ffbd182a-8502-40a5-a3cc-2895b454f3df","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"movement_id\": \"{{movement_id}}\",\n  \"item_id\": \"{{item_id}}\",\n  \"to_location_id\": \"{{to_location_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//movements/:movementID/items/:itemID/update-from-location","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>movementID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>itemID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>movement_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>item_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>to_location_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","movements",":movementID","items",":itemID","update-from-location"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"2c06d6cf-1d99-4a41-a6af-36c1c5826cfb","type":"any","value":"","key":"movementID"},{"id":"366c18d2-9796-48a5-a435-35dc44fe991a","type":"any","value":"","key":"itemID"}]}},"response":[],"_postman_id":"ffbd182a-8502-40a5-a3cc-2895b454f3df"},{"name":"Movements items split lines","id":"944c0460-8cf2-4f21-886a-832c084d698e","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"movement_id\": \"{{movement_id}}\",\n  \"item_id\": \"{{item_id}}\",\n  \"quantity\": 1,\n  \"location_id\": \"{{location_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//movements/:movementID/items/:itemID/split-lines","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>movementID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>itemID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>movement_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>item_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>quantity</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>location_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","movements",":movementID","items",":itemID","split-lines"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"496a5d97-b66e-4e7c-b1db-d430ad9ccba2","type":"any","value":"","key":"movementID"},{"id":"3f743f4e-c395-47f4-a7d0-ec233ac7b8a6","type":"any","value":"","key":"itemID"}]}},"response":[],"_postman_id":"944c0460-8cf2-4f21-886a-832c084d698e"},{"name":"Movements items split line","id":"cfc698fc-de81-4e00-8ed6-3f4aa461ea04","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"movement_id\": \"{{movement_id}}\",\n  \"item_id\": \"{{item_id}}\",\n  \"quantity\": 1,\n  \"location_id\": \"{{location_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//movements/:movementID/items/:itemID/split-line","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>movementID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>itemID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>movement_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>item_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>quantity</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>location_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","movements",":movementID","items",":itemID","split-line"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"aab88df3-f70f-432a-b0ad-c034d82b3572","type":"any","value":"","key":"movementID"},{"id":"6c967b12-2bc6-42a6-a367-1979ca69075f","type":"any","value":"","key":"itemID"}]}},"response":[],"_postman_id":"cfc698fc-de81-4e00-8ed6-3f4aa461ea04"},{"name":"Movements mobile create","id":"a035e2f2-582b-4228-bfc1-bd0fc37f9396","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"id\": null,\n  \"inventory_id\": \"{{inventory_id}}\",\n  \"from_location_id\": \"{{from_location_id}}\",\n  \"inventory_batch_id\": \"{{inventory_batch_id}}\",\n  \"quantity\": 0,\n  \"assigned_device_name\": \"\",\n  \"assigned_device_id\": \"{{assigned_device_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//movements/mobile","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventory_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>from_location_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventory_batch_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>quantity</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>assigned_device_name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>assigned_device_id</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","movements","mobile"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"a035e2f2-582b-4228-bfc1-bd0fc37f9396"},{"name":"Movements mobile publish","id":"d4ceb499-1a34-459b-a18e-737d28d04106","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"movement_item_id\": \"{{movement_item_id}}\",\n  \"inventory_id\": \"{{inventory_id}}\",\n  \"from_location_id\": \"{{from_location_id}}\",\n  \"to_location_id\": \"{{to_location_id}}\",\n  \"inventory_batch_id\": \"{{inventory_batch_id}}\",\n  \"quantity\": 0,\n  \"assigned_device_name\": \"\",\n  \"assigned_device_id\": \"{{assigned_device_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//movements/mobile/:movementID/publish","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>movementID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>movement_item_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventory_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>from_location_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>to_location_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventory_batch_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>quantity</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>assigned_device_name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>assigned_device_id</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","movements","mobile",":movementID","publish"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"d27bea6c-5106-458d-9058-068d4df6ef20","type":"any","value":"","key":"movementID"}]}},"response":[],"_postman_id":"d4ceb499-1a34-459b-a18e-737d28d04106"},{"name":"Movements tags search","id":"6d3161d2-7527-4d65-ba10-8977f57214a9","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//movements/tags","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>filter[]</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>search</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","movements","tags"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"filter[]","value":""},{"disabled":true,"key":"search","value":""},{"disabled":true,"key":"per_page","value":""}],"variable":[]}},"response":[],"_postman_id":"6d3161d2-7527-4d65-ba10-8977f57214a9"},{"name":"Movements tags attached tags","id":"79f31c2f-560d-483b-9a9e-87ec2a61edc8","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//movements/attached-tags","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>movement_ids[]</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","movements","attached-tags"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"movement_ids[]","value":""}],"variable":[]}},"response":[],"_postman_id":"79f31c2f-560d-483b-9a9e-87ec2a61edc8"},{"name":"Movements tags list","id":"029e8fec-1a0e-4def-beb6-0af123f5bd3b","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//movements/:movementID/tags","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>movementID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>filter[]</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sort</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>movement_id</code></td>\n<td>Filter by Movement Id.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>company</code></li>\n<li><code>movement</code></li>\n<li><code>tag</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","movements",":movementID","tags"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"filter[]","value":""},{"disabled":true,"key":"sort","value":""},{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Movement Id.</p>\n","type":"text/plain"},"key":"movement_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>company</code> - <code>movement</code> - <code>tag</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"c044d103-6e50-4b4f-8d83-b211202d0115","type":"any","value":"","key":"movementID"}]}},"response":[],"_postman_id":"029e8fec-1a0e-4def-beb6-0af123f5bd3b"},{"name":"Movements tags create","id":"d11ed16d-e25b-451c-af04-176e9adeb07a","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"movement_id\": \"{{movement_id}}\",\n  \"name\": \"name\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//movements/:movementID/tags","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>movementID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>movement_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","movements",":movementID","tags"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"988076c3-ef36-4f41-99f4-1d68dab40f6e","type":"any","value":"","key":"movementID"}]}},"response":[],"_postman_id":"d11ed16d-e25b-451c-af04-176e9adeb07a"},{"name":"Movements tags attach","id":"072242da-963b-43f0-9000-bc649922b7ea","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"movement_id\": \"{{movement_id}}\",\n  \"tag_id\": \"{{tag_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//movements/:movementID/tags/:tagID/attach","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>movementID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>tagID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>movement_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tag_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","movements",":movementID","tags",":tagID","attach"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"3f78ff1a-980f-4551-9852-810354f71c38","type":"any","value":"","key":"movementID"},{"id":"3505472f-250b-4dd0-a073-a9d082ff8168","type":"any","value":"","key":"tagID"}]}},"response":[],"_postman_id":"072242da-963b-43f0-9000-bc649922b7ea"},{"name":"Movements tags detach","id":"034dae17-ef0e-4067-b34c-1049c0fc9e27","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"movement_id\": \"{{movement_id}}\",\n  \"tag_id\": \"{{tag_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//movements/:movementID/tags/:tagID/detach","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>movementID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>tagID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>movement_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tag_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","movements",":movementID","tags",":tagID","detach"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"732a0510-356b-486e-9b08-540901758126","type":"any","value":"","key":"movementID"},{"id":"eaeed27a-0d58-4bfa-82b0-6d836fce9144","type":"any","value":"","key":"tagID"}]}},"response":[],"_postman_id":"034dae17-ef0e-4067-b34c-1049c0fc9e27"},{"name":"Movements transaction show","id":"dee61547-a08e-4f69-9b5a-d6d4cc71771c","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//movements/transaction/:movementTransactionID","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>movementTransactionID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","movements","transaction",":movementTransactionID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"d124594c-28d3-4a60-8518-1cb63044513a","type":"any","value":"","key":"movementTransactionID"}]}},"response":[],"_postman_id":"dee61547-a08e-4f69-9b5a-d6d4cc71771c"},{"name":"Movements transaction logs","id":"f27e339c-ef59-489c-ad41-2a0b1157916a","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//movements/transaction/:movementTransactionID/logs","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>movementTransactionID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>filter[]</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","movements","transaction",":movementTransactionID","logs"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"filter[]","value":""},{"disabled":true,"key":"page","value":""},{"disabled":true,"key":"per_page","value":""}],"variable":[{"id":"afb87853-ab92-4e12-9b62-816c31e07d22","type":"any","value":"","key":"movementTransactionID"}]}},"response":[],"_postman_id":"f27e339c-ef59-489c-ad41-2a0b1157916a"},{"name":"Movements transaction grouped logs","id":"b2196281-9c74-4a21-93b7-dbab3e32868f","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//movements/transaction/:movementTransactionID/grouped-logs","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>movementTransactionID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","movements","transaction",":movementTransactionID","grouped-logs"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"8e8a8d3e-0827-4228-b83f-268b28fb6fcc","type":"any","value":"","key":"movementTransactionID"}]}},"response":[],"_postman_id":"b2196281-9c74-4a21-93b7-dbab3e32868f"}],"id":"203e92d9-02cf-484b-aae3-4f450fcec89e","description":"<p><strong>Movements</strong> — 46 endpoints.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"203e92d9-02cf-484b-aae3-4f450fcec89e","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Notifications","item":[{"name":"Notifications list","id":"2ccced49-faaf-4819-bbed-c2f1af99df69","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//notifications","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>query</code></td>\n<td>Filter by Query.</td>\n</tr>\n<tr>\n<td><code>statuses</code></td>\n<td>Filter by Statuses.</td>\n</tr>\n<tr>\n<td><code>triggers</code></td>\n<td>Filter by Triggers.</td>\n</tr>\n<tr>\n<td><code>stores</code></td>\n<td>Filter by Stores.</td>\n</tr>\n<tr>\n<td><code>channels</code></td>\n<td>Filter by Channels.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>emailTemplate</code></li>\n<li><code>meta</code></li>\n<li><code>meta.mailAccount</code></li>\n<li><code>conditionGroups</code></li>\n<li><code>otherRecipients</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","notifications"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Query.</p>\n","type":"text/plain"},"key":"query","value":""},{"disabled":true,"description":{"content":"<p>Filter by Statuses.</p>\n","type":"text/plain"},"key":"statuses","value":""},{"disabled":true,"description":{"content":"<p>Filter by Triggers.</p>\n","type":"text/plain"},"key":"triggers","value":""},{"disabled":true,"description":{"content":"<p>Filter by Stores.</p>\n","type":"text/plain"},"key":"stores","value":""},{"disabled":true,"description":{"content":"<p>Filter by Channels.</p>\n","type":"text/plain"},"key":"channels","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>emailTemplate</code> - <code>meta</code> - <code>meta.mailAccount</code> - <code>conditionGroups</code> - <code>otherRecipients</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[]}},"response":[],"_postman_id":"2ccced49-faaf-4819-bbed-c2f1af99df69"},{"name":"Notifications create","id":"99a12704-6d61-4976-b95b-ea44aefc14f2","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"email_template_id\": \"{{email_template_id}}\",\n  \"name\": \"name\",\n  \"delay_time\": 0,\n  \"subject\": \"subject\",\n  \"mail_account_id\": \"{{mail_account_id}}\",\n  \"sender_name\": \"\",\n  \"sender_email\": \"user@example.com\",\n  \"recipient_type\": \"1\",\n  \"other_recipient_email\": [\n    \"user@example.com\"\n  ],\n  \"store_and_channels\": [\n    0\n  ],\n  \"shipping_countries\": [\n    0\n  ],\n  \"order_statuses\": [\n    1\n  ],\n  \"tracking_statuses\": [\n    1\n  ],\n  \"conditions\": [\n    [\n      {\n        \"field\": 6,\n        \"operator\": 0,\n        \"value\": [\n          \"\"\n        ]\n      }\n    ]\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//notifications","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>email_template_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>delay_time</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>subject</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>mail_account_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sender_name</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sender_email</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>recipient_type</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>other_recipient_email</code></td>\n<td>array</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>store_and_channels</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_countries</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_statuses</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tracking_statuses</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>conditions</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","notifications"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"99a12704-6d61-4976-b95b-ea44aefc14f2"},{"name":"Notifications histories list","id":"eee26aba-0fcb-40ad-b943-0c20e86d80e1","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//notifications/histories","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>notification</code></li>\n<li><code>notification.meta</code></li>\n<li><code>order</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","notifications","histories"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"description":{"content":"<p>NOTE: filters are FLAT query params named after the filter method (e.g. ?ids=1,2&amp;store_id=5), resolved by App\\Filters\\QueryFilters against top-level request keys — there is NO nested filter[...] contract at runtime, so none is declared/documented here.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"key":"sort_direction","value":""},{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"key":"page","value":""},{"disabled":true,"key":"per_page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>notification</code> - <code>notification.meta</code> - <code>order</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[]}},"response":[],"_postman_id":"eee26aba-0fcb-40ad-b943-0c20e86d80e1"},{"name":"Notifications histories preview","id":"42f1f14f-1ac1-4fbe-9743-df40798c8c1b","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//notifications/histories/:notificationHistoryID/preview","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>notificationHistoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","notifications","histories",":notificationHistoryID","preview"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"8f702c11-8d67-47ba-952e-13a3776d6493","type":"any","value":"","key":"notificationHistoryID"}]}},"response":[],"_postman_id":"42f1f14f-1ac1-4fbe-9743-df40798c8c1b"},{"name":"Notifications show","id":"f2acd31a-a7a2-4539-85fd-b43aefe11fe0","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//notifications/:notificationID","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>notificationID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>emailTemplate</code></li>\n<li><code>meta</code></li>\n<li><code>meta.mailAccount</code></li>\n<li><code>conditionGroups</code></li>\n<li><code>otherRecipients</code></li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","notifications",":notificationID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>emailTemplate</code> - <code>meta</code> - <code>meta.mailAccount</code> - <code>conditionGroups</code> - <code>otherRecipients</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"93011840-66d6-4e1c-9548-68c54b1660bf","type":"any","value":"","key":"notificationID"}]}},"response":[],"_postman_id":"f2acd31a-a7a2-4539-85fd-b43aefe11fe0"},{"name":"Notifications update","id":"193a8a5a-b610-41a9-9f8a-cb8f75d88f7e","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"notification_id\": \"{{notification_id}}\",\n  \"email_template_id\": \"{{email_template_id}}\",\n  \"name\": \"name\",\n  \"delay_time\": 0,\n  \"subject\": \"subject\",\n  \"mail_account_id\": \"{{mail_account_id}}\",\n  \"sender_name\": \"\",\n  \"sender_email\": \"user@example.com\",\n  \"recipient_type\": \"1\",\n  \"other_recipient_email\": [\n    \"\"\n  ],\n  \"store_and_channels\": [\n    0\n  ],\n  \"shipping_countries\": [\n    0\n  ],\n  \"order_statuses\": [\n    1\n  ],\n  \"tracking_statuses\": [\n    1\n  ],\n  \"conditions\": [\n    [\n      {\n        \"field\": 6,\n        \"operator\": 0,\n        \"value\": [\n          \"\"\n        ]\n      }\n    ]\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//notifications/:notificationID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>notificationID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>notification_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>email_template_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>delay_time</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>subject</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>mail_account_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sender_name</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sender_email</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>recipient_type</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>other_recipient_email</code></td>\n<td>array</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>store_and_channels</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_countries</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_statuses</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tracking_statuses</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>conditions</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","notifications",":notificationID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"829ea809-d0e7-4f32-a746-df38862422cc","type":"any","value":"","key":"notificationID"}]}},"response":[],"_postman_id":"193a8a5a-b610-41a9-9f8a-cb8f75d88f7e"},{"name":"Notifications delete","id":"6edfec02-cc8d-4204-b2d3-1830cc8bd856","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//notifications/:notificationID?company_id=&notification_id=","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>notificationID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>notification_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","notifications",":notificationID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"notification_id","value":""}],"variable":[{"id":"dcaff7ec-110a-468a-a0be-3c6dd368fff5","type":"any","value":"","key":"notificationID"}]}},"response":[],"_postman_id":"6edfec02-cc8d-4204-b2d3-1830cc8bd856"},{"name":"Notifications change status","id":"a7c6fb57-7dd0-4ef9-84db-acc895c66c25","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"notification_id\": \"{{notification_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//notifications/:notificationID/change-status","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>notificationID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>notification_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","notifications",":notificationID","change-status"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"cbe995a2-e8e8-46ee-9526-54062eff329c","type":"any","value":"","key":"notificationID"}]}},"response":[],"_postman_id":"a7c6fb57-7dd0-4ef9-84db-acc895c66c25"},{"name":"Notifications send test","id":"8f03ab36-16cd-4a3a-a99a-f6757ff3329d","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"notification_id\": \"{{notification_id}}\",\n  \"emails\": [\n    \"user@example.com\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//notifications/:notificationID/send-test","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>notificationID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>notification_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>emails</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","notifications",":notificationID","send-test"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"04fa792b-1051-45d5-8da7-47d83f4d3eeb","type":"any","value":"","key":"notificationID"}]}},"response":[],"_postman_id":"8f03ab36-16cd-4a3a-a99a-f6757ff3329d"},{"name":"Notifications histories list","id":"bb473a67-c403-4e3a-b746-2c707e780141","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//notifications/histories/list","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>query</code></td>\n<td>Filter by Query.</td>\n</tr>\n<tr>\n<td><code>archive</code></td>\n<td>Filter by Archive.</td>\n</tr>\n<tr>\n<td><code>statuses</code></td>\n<td>Filter by Statuses.</td>\n</tr>\n<tr>\n<td><code>mail_accounts</code></td>\n<td>Filter by Mail Accounts.</td>\n</tr>\n<tr>\n<td><code>date_from</code></td>\n<td>Filter by Date From.</td>\n</tr>\n<tr>\n<td><code>date_to</code></td>\n<td>Filter by Date To.</td>\n</tr>\n<tr>\n<td><code>time_to_archive_from</code></td>\n<td>Filter by Time To Archive From.</td>\n</tr>\n<tr>\n<td><code>time_to_archive_to</code></td>\n<td>Filter by Time To Archive To.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>notification</code></li>\n<li><code>notification.meta</code></li>\n<li><code>order</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","notifications","histories","list"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Query.</p>\n","type":"text/plain"},"key":"query","value":""},{"disabled":true,"description":{"content":"<p>Filter by Archive.</p>\n","type":"text/plain"},"key":"archive","value":""},{"disabled":true,"description":{"content":"<p>Filter by Statuses.</p>\n","type":"text/plain"},"key":"statuses","value":""},{"disabled":true,"description":{"content":"<p>Filter by Mail Accounts.</p>\n","type":"text/plain"},"key":"mail_accounts","value":""},{"disabled":true,"description":{"content":"<p>Filter by Date From.</p>\n","type":"text/plain"},"key":"date_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Date To.</p>\n","type":"text/plain"},"key":"date_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Time To Archive From.</p>\n","type":"text/plain"},"key":"time_to_archive_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Time To Archive To.</p>\n","type":"text/plain"},"key":"time_to_archive_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>notification</code> - <code>notification.meta</code> - <code>order</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[]}},"response":[],"_postman_id":"bb473a67-c403-4e3a-b746-2c707e780141"},{"name":"Notifications histories resend notification","id":"2657a50c-2e54-405d-a67e-220006105f93","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//notifications/histories/:notificationHistoryID/resend-notification?company_id=&notification_history_id=","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>notificationHistoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>notification_history_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","notifications","histories",":notificationHistoryID","resend-notification"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"notification_history_id","value":""}],"variable":[{"id":"da083966-5655-4c8b-ac35-5f8261325233","type":"any","value":"","key":"notificationHistoryID"}]}},"response":[],"_postman_id":"2657a50c-2e54-405d-a67e-220006105f93"},{"name":"Notifications save conditions","id":"c5a35064-faf8-46bf-8db2-34c68a2de1f7","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"name\": \"name\",\n  \"conditions\": [\n    [\n      {\n        \"field\": 6,\n        \"operator\": 0,\n        \"value\": [\n          \"\"\n        ]\n      }\n    ]\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//notifications/save-conditions","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>conditions</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","notifications","save-conditions"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"c5a35064-faf8-46bf-8db2-34c68a2de1f7"},{"name":"Notifications saved conditions","id":"80645c71-bda4-475f-a08f-417f48e1fb37","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//notifications/saved-conditions?company_id=","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","notifications","saved-conditions"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""}],"variable":[]}},"response":[],"_postman_id":"80645c71-bda4-475f-a08f-417f48e1fb37"},{"name":"Notifications delete saved conditions","id":"aa467e71-57eb-496f-bacc-0f42692c1b06","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//notifications/delete-saved-conditions/:savedConditionID?company_id=&saved_condition_id=","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>savedConditionID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>saved_condition_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","notifications","delete-saved-conditions",":savedConditionID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"saved_condition_id","value":""}],"variable":[{"id":"ebef5c5a-a317-48e6-904c-0509eb07875d","type":"any","value":"","key":"savedConditionID"}]}},"response":[],"_postman_id":"aa467e71-57eb-496f-bacc-0f42692c1b06"},{"name":"Notifications restore conditions","id":"4dab1bb1-2f9f-4188-9cb3-684d5beb26ce","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"saved_condition_id\": \"{{saved_condition_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//notifications/restore-conditions/:savedConditionID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>savedConditionID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>saved_condition_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","notifications","restore-conditions",":savedConditionID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"52d44df7-ca0a-4566-ba2d-9f3031a879cb","type":"any","value":"","key":"savedConditionID"}]}},"response":[],"_postman_id":"4dab1bb1-2f9f-4188-9cb3-684d5beb26ce"}],"id":"2fd3c013-002b-441a-8ed8-6ec57d0f5437","description":"<p><strong>Notifications</strong> — 15 endpoints.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"2fd3c013-002b-441a-8ed8-6ec57d0f5437","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Order Rules","item":[{"name":"Order rules list","id":"ca4ce402-8e1a-48ae-a842-8a1b0c426f7f","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//order-rules","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>query</code></td>\n<td>Filter by Query.</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>Filter by Status.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>conditionGroups</code></li>\n<li><code>actions</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","order-rules"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Query.</p>\n","type":"text/plain"},"key":"query","value":""},{"disabled":true,"description":{"content":"<p>Filter by Status.</p>\n","type":"text/plain"},"key":"status","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>conditionGroups</code> - <code>actions</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[]}},"response":[],"_postman_id":"ca4ce402-8e1a-48ae-a842-8a1b0c426f7f"},{"name":"Order rules create","id":"051e1993-99eb-4405-8a79-6320f42df3bc","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"name\": \"name\",\n  \"limit_run_count\": 0,\n  \"trigger_events\": [\n    \"1\"\n  ],\n  \"conditions\": [\n    [\n      {\n        \"field\": 1,\n        \"operator\": 0,\n        \"value\": [\n          \"\"\n        ]\n      }\n    ]\n  ],\n  \"actions\": [\n    {\n      \"action\": 1,\n      \"value\": [\n        \"\"\n      ]\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//order-rules","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>limit_run_count</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>trigger_events</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>conditions</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>actions</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>actions.*.action</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code>, <code>9</code>, <code>10</code>, <code>11</code>, <code>12</code>, <code>13</code>, <code>14</code></td>\n</tr>\n<tr>\n<td><code>actions.*.value</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","order-rules"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"051e1993-99eb-4405-8a79-6320f42df3bc"},{"name":"Order rules saved conditions","id":"a3e00d5e-88a7-4169-a877-769710c1cc99","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//order-rules/saved-conditions","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","order-rules","saved-conditions"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"a3e00d5e-88a7-4169-a877-769710c1cc99"},{"name":"Order rules show","id":"91ccff3d-94a9-455b-b470-051e73d7d767","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//order-rules/:orderRuleID","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderRuleID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>conditionGroups</code></li>\n<li><code>actions</code></li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","order-rules",":orderRuleID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>conditionGroups</code> - <code>actions</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"1b2b71f0-cc1c-4a8a-9219-7917fbd2606c","type":"any","value":"","key":"orderRuleID"}]}},"response":[],"_postman_id":"91ccff3d-94a9-455b-b470-051e73d7d767"},{"name":"Order rules update","id":"c4389cd8-ef43-4d0a-b6c9-fab9ec38eef2","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"name\": \"name\",\n  \"limit_run_count\": 0,\n  \"trigger_events\": [\n    \"1\"\n  ],\n  \"conditions\": [\n    [\n      {\n        \"field\": 1,\n        \"operator\": 0,\n        \"value\": [\n          \"\"\n        ]\n      }\n    ]\n  ],\n  \"actions\": [\n    {\n      \"action\": 1,\n      \"value\": [\n        \"\"\n      ]\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//order-rules/:orderRuleID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderRuleID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>limit_run_count</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>trigger_events</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>conditions</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>actions</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>actions.*.action</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code>, <code>9</code>, <code>10</code>, <code>11</code>, <code>12</code>, <code>13</code>, <code>14</code></td>\n</tr>\n<tr>\n<td><code>actions.*.value</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","order-rules",":orderRuleID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"f891f987-ea1f-4393-8856-fa0f2544f81b","type":"any","value":"","key":"orderRuleID"}]}},"response":[],"_postman_id":"c4389cd8-ef43-4d0a-b6c9-fab9ec38eef2"},{"name":"Order rules delete","id":"18783df0-313c-457f-b445-cf3673afbfe6","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//order-rules/:orderRuleID?company_id=","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderRuleID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","order-rules",":orderRuleID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""}],"variable":[{"id":"34c8d939-706e-46a6-bab1-d419402a189c","type":"any","value":"","key":"orderRuleID"}]}},"response":[],"_postman_id":"18783df0-313c-457f-b445-cf3673afbfe6"},{"name":"Order rules change status","id":"0f9b1792-2eb5-499b-8a25-cbe431806477","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//order-rules/:orderRuleID/change-status","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderRuleID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","order-rules",":orderRuleID","change-status"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"c0a2ef4d-208b-48ee-abe2-8a31951da6ff","type":"any","value":"","key":"orderRuleID"}]}},"response":[],"_postman_id":"0f9b1792-2eb5-499b-8a25-cbe431806477"},{"name":"Order rules sorting","id":"389c276c-f6e2-40f9-af5d-b4c382f97d17","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"sorting\": [\n    {\n      \"id\": \"{{id}}\",\n      \"order\": 0\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//order-rules/sorting","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sorting</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sorting.*.id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sorting.*.order</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","order-rules","sorting"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"389c276c-f6e2-40f9-af5d-b4c382f97d17"},{"name":"Order rules test","id":"eb9439b5-7289-4fae-85a4-28bb17b4b222","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"order_id\": \"{{order_id}}\",\n  \"limit_run_count\": 0,\n  \"trigger_events\": [\n    \"1\"\n  ],\n  \"conditions\": [\n    [\n      {\n        \"field\": 1,\n        \"operator\": 0,\n        \"value\": [\n          \"\"\n        ]\n      }\n    ]\n  ],\n  \"actions\": [\n    {\n      \"action\": 1,\n      \"value\": [\n        \"\"\n      ]\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//order-rules/test","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>integer</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>limit_run_count</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>trigger_events</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>conditions</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>actions</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>actions.*.action</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code>, <code>9</code>, <code>10</code>, <code>11</code>, <code>12</code>, <code>13</code>, <code>14</code></td>\n</tr>\n<tr>\n<td><code>actions.*.value</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","order-rules","test"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"eb9439b5-7289-4fae-85a4-28bb17b4b222"},{"name":"Order rules duplicate","id":"3766142c-760c-4e71-83b7-976a2aa18f14","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//order-rules/:orderRuleID/duplicate?company_id=","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderRuleID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","order-rules",":orderRuleID","duplicate"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""}],"variable":[{"id":"c19d5e57-8759-4b98-a9ba-17784eda98a8","type":"any","value":"","key":"orderRuleID"}]}},"response":[],"_postman_id":"3766142c-760c-4e71-83b7-976a2aa18f14"},{"name":"Order rules save conditions","id":"4cb52ef5-8c30-4c13-9a2e-7539f2a162b8","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"name\": \"name\",\n  \"conditions\": [\n    [\n      {\n        \"field\": 1,\n        \"operator\": 0,\n        \"value\": [\n          \"\"\n        ]\n      }\n    ]\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//order-rules/save-conditions","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>conditions</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","order-rules","save-conditions"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"4cb52ef5-8c30-4c13-9a2e-7539f2a162b8"},{"name":"Order rules saved conditions delete","id":"58cea390-155f-4119-8a25-209a1436c6ac","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//order-rules/delete-saved-conditions/:savedConditionID?company_id=&saved_condition_id=","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>savedConditionID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>saved_condition_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","order-rules","delete-saved-conditions",":savedConditionID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"saved_condition_id","value":""}],"variable":[{"id":"d9d3450a-4965-4278-a080-1a21e05cbfe0","type":"any","value":"","key":"savedConditionID"}]}},"response":[],"_postman_id":"58cea390-155f-4119-8a25-209a1436c6ac"},{"name":"Order rules saved conditions restore","id":"ad615a88-dbc9-4ee1-8d53-c080f311759b","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"saved_condition_id\": \"{{saved_condition_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//order-rules/restore-conditions/:savedConditionID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>savedConditionID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>saved_condition_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","order-rules","restore-conditions",":savedConditionID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"413d811f-079f-4fd2-9047-9d5446b072d8","type":"any","value":"","key":"savedConditionID"}]}},"response":[],"_postman_id":"ad615a88-dbc9-4ee1-8d53-c080f311759b"}],"id":"41618737-25b4-46dc-be24-eb7857494717","description":"<p><strong>Order Rules</strong> — 13 endpoints.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"41618737-25b4-46dc-be24-eb7857494717","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Orders","item":[{"name":"Orders statuses","id":"0812c63e-8bfd-4f9d-bc3d-ace77e0aded3","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//orders/statuses","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders","statuses"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"0812c63e-8bfd-4f9d-bc3d-ace77e0aded3"},{"name":"Orders count","id":"f611c7db-acba-46ed-b7ed-74e29ff84ce8","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//orders/count","description":"<p>Honors the same <code>filter[ids]</code> whitelist as index(): when present, the count\nis scoped to those order ids (OrderService::ordersCount reads $attributes['ids']).\nWithout it, the count is the full company total.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>filter[ids][]</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders","count"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"description":{"content":"<p>NOTE: filters are FLAT query params named after the filter method (e.g. ?ids=1,2&amp;store_id=5), resolved by App\\Filters\\QueryFilters against top-level request keys — there is NO nested filter[...] contract at runtime, so none is declared/documented here.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"key":"sort_direction","value":""},{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"key":"page","value":""},{"disabled":true,"key":"per_page","value":""},{"disabled":true,"key":"filter[ids][]","value":""}],"variable":[]}},"response":[],"_postman_id":"f611c7db-acba-46ed-b7ed-74e29ff84ce8"},{"name":"Orders bulk create","id":"5f422126-9b26-4d70-a5bf-503b4dd58992","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"orders\": [\n    {\n      \"status\": \"1\",\n      \"channel_id\": \"{{channel_id}}\",\n      \"is_hold\": false,\n      \"reference\": \"reference\",\n      \"reference_alt\": \"reference_alt\",\n      \"payment_method\": \"\",\n      \"payment_reference\": \"\",\n      \"shipping_method\": \"\",\n      \"currency_id\": \"{{currency_id}}\",\n      \"totals\": {\n        \"total_shipping\": 0\n      },\n      \"courier\": {\n        \"courier_service_id\": \"{{courier_service_id}}\",\n        \"is_locked\": false,\n        \"label_reference\": \"1\",\n        \"label_secondary_reference\": \"1\"\n      },\n      \"items\": [\n        {\n          \"name\": \"\",\n          \"inventory_id\": \"{{inventory_id}}\",\n          \"meta\": {\n            \"hs_code\": 0,\n            \"country_id\": \"{{country_id}}\"\n          },\n          \"quantity\": 1,\n          \"options\": \"\",\n          \"unit_price\": 0,\n          \"unit_discount\": 0\n        }\n      ],\n      \"customer\": {\n        \"id\": null,\n        \"name\": \"name\",\n        \"surname\": \"surname\",\n        \"email\": \"user@example.com\",\n        \"phone\": \"\",\n        \"is_company\": false,\n        \"company_name\": \"\"\n      },\n      \"shipping_address\": {\n        \"id\": null,\n        \"name\": \"\",\n        \"surname\": \"\",\n        \"company_name\": \"\",\n        \"phone\": \"\",\n        \"email\": \"\",\n        \"address_line_1\": \"\",\n        \"address_line_2\": \"\",\n        \"city\": \"\",\n        \"county\": \"\",\n        \"country_id\": \"{{country_id}}\",\n        \"postcode\": \"\",\n        \"vat_number\": \"\",\n        \"eori\": \"\"\n      },\n      \"is_invoice_same_as_shipping\": false,\n      \"notes\": {\n        \"delivery_note\": \"\",\n        \"gift_note\": \"\",\n        \"customer_note\": \"\"\n      },\n      \"folder_id\": \"{{folder_id}}\",\n      \"tags\": [\n        \"tag\"\n      ],\n      \"invoice_address\": {\n        \"id\": null,\n        \"name\": \"\",\n        \"surname\": \"\",\n        \"company_name\": \"\",\n        \"phone\": \"\",\n        \"email\": \"\",\n        \"address_line_1\": \"\",\n        \"address_line_2\": \"\",\n        \"address_line_3\": \"\",\n        \"city\": \"\",\n        \"county\": \"\",\n        \"country_id\": \"{{country_id}}\",\n        \"postcode\": \"\"\n      }\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/bulk-create","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<p><strong>Batch size:</strong> a maximum of 10 orders per request. A request carrying more is rejected with <code>422 Unprocessable Entity</code> and a validation error on <code>orders</code>; no orders are created. Split larger batches across several requests, or send them to <code>POST /companies/{companyID}/orders/bulk-create-async</code>, which takes the same payload, answers immediately and reports the result of every order.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.status</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code></td>\n</tr>\n<tr>\n<td><code>orders.*.channel_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.is_hold</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.reference</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.reference_alt</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.payment_method</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.payment_reference</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.shipping_method</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.currency_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.totals</code></td>\n<td>object</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.totals.total_shipping</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.courier</code></td>\n<td>object | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.courier.courier_service_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.courier.is_locked</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.courier.label_reference</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code></td>\n</tr>\n<tr>\n<td><code>orders.*.courier.label_secondary_reference</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code></td>\n</tr>\n<tr>\n<td><code>orders.*.items</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.items.*.name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.items.*.inventory_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.items.*.meta</code></td>\n<td>object | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.items.*.meta.hs_code</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.items.*.meta.country_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.items.*.quantity</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.items.*.options</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.items.*.unit_price</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.items.*.unit_discount</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.customer</code></td>\n<td>object | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.customer.id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.customer.name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.customer.surname</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.customer.email</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.customer.phone</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.customer.is_company</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.customer.company_name</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.shipping_address</code></td>\n<td>object | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.shipping_address.id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.shipping_address.name</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.shipping_address.surname</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.shipping_address.company_name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.shipping_address.phone</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.shipping_address.email</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.shipping_address.address_line_1</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.shipping_address.address_line_2</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.shipping_address.city</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.shipping_address.county</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.shipping_address.country_id</code></td>\n<td>integer</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.shipping_address.country_iso_code</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.shipping_address.postcode</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.shipping_address.vat_number</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.shipping_address.eori</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.is_invoice_same_as_shipping</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.notes</code></td>\n<td>object | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.notes.delivery_note</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.notes.gift_note</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.notes.customer_note</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.folder_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.tags</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.invoice_address</code></td>\n<td>object | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.invoice_address.id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.invoice_address.name</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.invoice_address.surname</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.invoice_address.company_name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.invoice_address.phone</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.invoice_address.email</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.invoice_address.address_line_1</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.invoice_address.address_line_2</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.invoice_address.address_line_3</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.invoice_address.city</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.invoice_address.county</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.invoice_address.country_id</code></td>\n<td>integer</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.invoice_address.country_iso_code</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.invoice_address.postcode</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders","bulk-create"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"5f422126-9b26-4d70-a5bf-503b4dd58992"},{"name":"Orders Split Picked","id":"9089f14d-d683-4841-8d20-0472b205f9f6","request":{"method":"POST","header":[{"key":"X-App-Token","value":"{{app_token}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"items\": [\n    {\n      \"id\": 1001,\n      \"quantity\": 2\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/{{order_id}}/split-picked","description":"<p>Move selected picked quantities of a PARTIALLY_PICKED order into a new PICKED order.</p>\n<p>For a normal line: <code>quantity</code> = picked units to move (&lt;= line's picked qty).\nFor a group/bundle line: pass the group parent line <code>id</code> and set <code>quantity</code> = number of complete picked sets to move.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders","{{order_id}}","split-picked"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[{"id":"dc7e46ba-247a-4c62-8d4b-d9e0654efd27","name":"200 — Split order created","originalRequest":{"method":"POST","header":[{"key":"X-App-Token","value":"{{app_token}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"items\": [\n    { \"id\": 1001, \"quantity\": 2 }\n  ]\n}"},"url":"https://app-api.helmwms.app/api/v2/companies//orders/{{order_id}}/split-picked"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": {\n    \"id\": 5678,\n    \"order_number\": \"OR-XXXXXXXX\",\n    \"status\": 6,\n    \"is_splitted\": true,\n    \"split_order_id\": 1234\n  }\n}"},{"id":"f76a5112-5fd9-4782-b9b5-64910d9d0551","name":"422 — Quantity exceeds picked","originalRequest":{"method":"POST","header":[{"key":"X-App-Token","value":"{{app_token}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"items\": [\n    { \"id\": 1001, \"quantity\": 999 }\n  ]\n}"},"url":"https://app-api.helmwms.app/api/v2/companies//orders/{{order_id}}/split-picked"},"status":"Unprocessable Entity","code":422,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"message\": \"The item quantity must be less than or equal to 3.\",\n  \"errors\": {\n    \"items.0.quantity\": [\n      \"The item quantity must be less than or equal to 3.\"\n    ]\n  }\n}"}],"_postman_id":"9089f14d-d683-4841-8d20-0472b205f9f6"},{"name":"Orders bulk update","id":"38ccb432-3b9c-4c17-a62e-a1a234725033","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"orders\": [\n    {\n      \"order_id\": \"{{order_id}}\",\n      \"status\": \"2\",\n      \"channel_id\": \"{{channel_id}}\",\n      \"is_hold\": false,\n      \"reference\": \"reference\",\n      \"reference_alt\": \"reference_alt\",\n      \"payment_method\": \"\",\n      \"payment_reference\": \"\",\n      \"shipping_method\": \"\",\n      \"currency_id\": \"{{currency_id}}\",\n      \"customer\": {\n        \"id\": null,\n        \"name\": \"\",\n        \"surname\": \"\",\n        \"email\": \"user@example.com\",\n        \"phone\": \"\",\n        \"is_company\": false,\n        \"company_name\": \"\"\n      },\n      \"shipping_address\": {\n        \"id\": null,\n        \"name\": \"\",\n        \"surname\": \"\",\n        \"company_name\": \"\",\n        \"phone\": \"\",\n        \"email\": \"\",\n        \"address_line_1\": \"\",\n        \"address_line_2\": \"\",\n        \"city\": \"\",\n        \"county\": \"\",\n        \"country_id\": \"{{country_id}}\",\n        \"postcode\": \"\",\n        \"vat_number\": \"\",\n        \"eori\": \"\"\n      },\n      \"is_invoice_same_as_shipping\": false,\n      \"totals\": {\n        \"total_shipping\": 0,\n        \"discount\": 0\n      },\n      \"courier\": {\n        \"courier_service_id\": \"{{courier_service_id}}\",\n        \"is_locked\": false,\n        \"label_reference\": \"1\",\n        \"label_secondary_reference\": \"1\"\n      },\n      \"items\": [\n        {\n          \"id\": \"{{id}}\",\n          \"name\": \"\",\n          \"meta\": {\n            \"hs_code\": \"\",\n            \"country_id\": \"{{country_id}}\"\n          },\n          \"quantity\": 1,\n          \"options\": \"\",\n          \"unit_price\": 0,\n          \"unit_discount\": 0\n        }\n      ],\n      \"notes\": {\n        \"delivery_note\": \"\",\n        \"gift_note\": \"\",\n        \"customer_note\": \"\"\n      },\n      \"folder_id\": \"{{folder_id}}\",\n      \"tags\": [\n        \"tag\"\n      ]\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/bulk-update","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.status</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Allowed: <code>2</code></td>\n</tr>\n<tr>\n<td><code>orders.*.channel_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.is_hold</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.reference</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.reference_alt</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.payment_method</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.payment_reference</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.shipping_method</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.currency_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.customer</code></td>\n<td>object | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.customer.id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.customer.name</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.customer.surname</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.customer.email</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.customer.phone</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.customer.is_company</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.customer.company_name</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.shipping_address</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.shipping_address.id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.shipping_address.name</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.shipping_address.surname</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.shipping_address.company_name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.shipping_address.phone</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.shipping_address.email</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.shipping_address.address_line_1</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.shipping_address.address_line_2</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.shipping_address.city</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.shipping_address.county</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.shipping_address.country_id</code></td>\n<td>integer</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.shipping_address.postcode</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.shipping_address.vat_number</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.shipping_address.eori</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.is_invoice_same_as_shipping</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.totals</code></td>\n<td>object | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.totals.total_shipping</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.totals.discount</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.courier</code></td>\n<td>object | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.courier.courier_service_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.courier.is_locked</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.courier.label_reference</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code></td>\n</tr>\n<tr>\n<td><code>orders.*.courier.label_secondary_reference</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code></td>\n</tr>\n<tr>\n<td><code>orders.*.items</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.items.*.id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.items.*.name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.items.*.meta</code></td>\n<td>object | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.items.*.meta.hs_code</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.items.*.meta.country_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.items.*.quantity</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.items.*.options</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.items.*.unit_price</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.items.*.unit_discount</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.notes</code></td>\n<td>object | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.notes.delivery_note</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.notes.gift_note</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.notes.customer_note</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.folder_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.tags</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders","bulk-update"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"38ccb432-3b9c-4c17-a62e-a1a234725033"},{"name":"Orders bulk archive","id":"48a01372-64ad-4fd5-b78d-b7065775fe9a","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"orders\": [\n    0\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/bulk-archive","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders","bulk-archive"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"48a01372-64ad-4fd5-b78d-b7065775fe9a"},{"name":"Orders bulk restore","id":"465c3213-ab2c-4108-b3ee-52fdf032e9cd","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"orders\": [\n    0\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/bulk-restore","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders","bulk-restore"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"465c3213-ab2c-4108-b3ee-52fdf032e9cd"},{"name":"Orders list","id":"cfe3d0ce-a33c-4cc2-9734-98cf8b71fc87","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//orders","description":"<p>Every filter is a flat query-string parameter - there is no <code>filter[...]</code>\nwrapper. They combine with AND, so narrowing on several is the supported\nway to keep a response small instead of paging the whole company.</p>\n<p>Id-style filters (<code>id</code>, <code>ids</code>, <code>excepted_ids</code>, <code>store_id</code>, <code>channel_id</code>,\n<code>status</code>, <code>folder_id</code>, <code>tag_id</code>, <code>customer_id</code>, <code>order_type</code>,\n<code>inventory_id</code>, <code>courier_service_id</code>, <code>tracking_status</code>) take one value\n(<code>?folder_id=3</code>), a repeated array (<code>?folder_id[]=3&amp;folder_id[]=7</code>) or a\ncomma-separated list (<code>?folder_id=3,7</code>).</p>\n<p>The channel identifiers (<code>remote_id</code> = Channel Order ID, <code>remote_alt_id</code> =\nChannel Alt ID, <code>channel_order_id</code>) and the other free-text parameters\n(<code>order_number</code>, <code>code</code>, <code>external_order_id</code>, <code>primary_reference_id</code>) are\nmatched verbatim and are NOT comma-split, since a comma can be part of the\nvalue; use the repeated-array form to match several. <code>customer</code> and\n<code>postcode</code> match as \"starts with\".</p>\n<p>Date ranges are <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code> over <code>created_at</code>,\n<code>updated_at</code>, <code>order_date</code>, <code>despatched_at</code>, <code>cancelled_at</code>, <code>archived_at</code>\nand <code>despatch_target_date</code>. Each takes <code>YYYY-MM-DD</code> or a full timestamp\n(UTC unless an offset is given) and both ends are inclusive, so a bare\ndate as the upper bound covers the whole day. A date that cannot be parsed\nis rejected with 422 rather than silently ignored. To mirror orders\nincrementally, poll <code>updated_at_from</code> with <code>sort_by=updated_at</code> and take\nthe next watermark from the <code>updated_at</code> of the last row returned.</p>\n<p><code>date_received_*</code>, <code>date_placed_*</code>, <code>date_despatched_*</code> and\n<code>date_cancelled_*</code> select on the same columns as the <code>created_at_*</code>,\n<code>order_date_*</code>, <code>despatched_at_*</code> and <code>cancelled_at_*</code> ranges. They differ\nonly at the upper bound: for backwards compatibility a bare date on a\n<code>date_*_to</code> parameter is still compared literally (00:00:00), so use the\nfield-named spelling when you want the whole day. Those four are also the\nonly date parameters not validated, again for backwards compatibility: a\nvalue that cannot be parsed matches nothing instead of returning 422.</p>\n<p>For a large order book, narrow with <code>created_at_from</code>/<code>created_at_to</code>\nrather than paging from page 1 - <code>created_at</code> is indexed per company.</p>\n<p><strong>Rate limit:</strong> 300 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>filter[ids][]</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>One order id, or several as <code>?id[]=1&amp;id[]=2</code> or <code>?id=1,2</code>. Synonym of <code>ids</code>.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>One order id, or several as <code>?ids[]=1&amp;ids[]=2</code> or <code>?ids=1,2</code>.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Every order EXCEPT these ids: <code>?excepted_ids[]=1&amp;excepted_ids[]=2</code> or <code>?excepted_ids=1,2</code>.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Synonym of <code>excepted_ids</code>: every order EXCEPT these ids.</td>\n</tr>\n<tr>\n<td><code>order_number</code></td>\n<td>Orders whose order number CONTAINS this term, or exactly one of <code>?order_number[]=A&amp;order_number[]=B</code>.</td>\n</tr>\n<tr>\n<td><code>store_id</code></td>\n<td>Orders belonging to one store, or several as <code>?store_id[]=1&amp;store_id[]=2</code> or <code>?store_id=1,2</code>.</td>\n</tr>\n<tr>\n<td><code>channel_id</code></td>\n<td>Orders belonging to one channel, or several as <code>?channel_id[]=1&amp;channel_id[]=2</code> or <code>?channel_id=1,2</code>.</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>Orders in one status code, or several as <code>?status[]=1&amp;status[]=5</code> or <code>?status=1,5</code>. The codes are listed by GET orders/statuses.</td>\n</tr>\n<tr>\n<td><code>folder_id</code></td>\n<td>Orders filed in one folder, or several as <code>?folder_id[]=1&amp;folder_id[]=2</code> or <code>?folder_id=1,2</code>.</td>\n</tr>\n<tr>\n<td><code>tag_id</code></td>\n<td>Orders carrying one tag, or any of several as <code>?tag_id[]=1&amp;tag_id[]=2</code> or <code>?tag_id=1,2</code>.</td>\n</tr>\n<tr>\n<td><code>customer_id</code></td>\n<td>Orders belonging to one customer, or several as <code>?customer_id[]=1&amp;customer_id[]=2</code> or <code>?customer_id=1,2</code>.</td>\n</tr>\n<tr>\n<td><code>customer</code></td>\n<td>Orders whose customer's name or surname STARTS WITH the given term.</td>\n</tr>\n<tr>\n<td><code>order_type</code></td>\n<td>Orders of one type code, or several as <code>?order_type[]=1&amp;order_type[]=2</code> or <code>?order_type=1,2</code>.</td>\n</tr>\n<tr>\n<td><code>is_hold</code></td>\n<td>Orders currently on hold (<code>?is_hold=1</code>) or not on hold (<code>?is_hold=0</code>).</td>\n</tr>\n<tr>\n<td><code>is_manual</code></td>\n<td>Orders keyed in by hand rather than pulled from a channel, returned as <code>is_manual</code>.</td>\n</tr>\n<tr>\n<td><code>is_fulfillable</code></td>\n<td>Orders whose items can all be allocated from stock, returned as <code>is_fulfillable</code>.</td>\n</tr>\n<tr>\n<td><code>archived</code></td>\n<td><code>?archived=1</code> returns only archived orders, <code>?archived=0</code> only live ones. Omit the parameter to get both.</td>\n</tr>\n<tr>\n<td><code>remote_id</code></td>\n<td>Channel Order ID - the order identifier the sales channel itself issued, returned as <code>remote_id</code>. Opaque channel-supplied string, so it is matched verbatim (no comma split); use the array form (<code>?remote_id[]=A&amp;remote_id[]=B</code>) for several.</td>\n</tr>\n<tr>\n<td><code>remote_alt_id</code></td>\n<td>Channel Alt ID - the channel's secondary order identifier, returned as <code>remote_alt_id</code>. Opaque channel-supplied string, so it is matched verbatim (no comma split); use the array form for several.</td>\n</tr>\n<tr>\n<td><code>channel_order_id</code></td>\n<td>Filter by the per-channel order id HELM assigns, returned as <code>channel_order_id</code>. Opaque string, matched verbatim (no comma split).</td>\n</tr>\n<tr>\n<td><code>external_order_id</code></td>\n<td>Filter by the caller-supplied <code>external_order_id</code> (set on create/update), matched verbatim.</td>\n</tr>\n<tr>\n<td><code>primary_reference_id</code></td>\n<td>Filter by the caller-supplied <code>primary_reference_id</code> (set on create/update), matched verbatim.</td>\n</tr>\n<tr>\n<td><code>postcode</code></td>\n<td>Orders whose shipping postcode starts with the given term, so <code>?postcode=SW1</code> matches every SW1x.</td>\n</tr>\n<tr>\n<td><code>code</code></td>\n<td>Orders containing an item with this inventory code (SKU), matched exactly. A SKU is free text and may contain a comma, so the value is matched verbatim; use <code>?code[]=A&amp;code[]=B</code> for several.</td>\n</tr>\n<tr>\n<td><code>inventory_id</code></td>\n<td>Orders containing an item for this inventory id, or any of several as <code>?inventory_id[]=1&amp;inventory_id[]=2</code> or <code>?inventory_id=1,2</code>.</td>\n</tr>\n<tr>\n<td><code>courier_service_id</code></td>\n<td>Orders whose preferred courier service is this one, or any of several as <code>?courier_service_id=1,2</code>.</td>\n</tr>\n<tr>\n<td><code>tracking_status</code></td>\n<td>Orders with a shipment parcel in this tracking status, or any of several as <code>?tracking_status=1,2</code>.</td>\n</tr>\n<tr>\n<td><code>date_received_from</code></td>\n<td>Orders created in HELM (imported or keyed in) on or after this date/time - same as <code>created_at_from</code>.</td>\n</tr>\n<tr>\n<td><code>date_received_to</code></td>\n<td>Orders created in HELM on or before this date/time. A date with no time is compared literally (00:00:00) - use <code>created_at_to</code> to cover the whole day.</td>\n</tr>\n<tr>\n<td><code>date_placed_from</code></td>\n<td>Orders placed by the customer on or after this date/time - same as <code>order_date_from</code>.</td>\n</tr>\n<tr>\n<td><code>date_placed_to</code></td>\n<td>Orders placed by the customer on or before this date/time. A date with no time is compared literally (00:00:00) - use <code>order_date_to</code> to cover the whole day.</td>\n</tr>\n<tr>\n<td><code>date_despatched_from</code></td>\n<td>Orders despatched on or after this date/time - same as <code>despatched_at_from</code>.</td>\n</tr>\n<tr>\n<td><code>date_despatched_to</code></td>\n<td>Orders despatched on or before this date/time. A date with no time is compared literally (00:00:00) - use <code>despatched_at_to</code> to cover the whole day.</td>\n</tr>\n<tr>\n<td><code>date_cancelled_from</code></td>\n<td>Orders cancelled on or after this date/time - same as <code>cancelled_at_from</code>.</td>\n</tr>\n<tr>\n<td><code>date_cancelled_to</code></td>\n<td>Orders cancelled on or before this date/time. A date with no time is compared literally (00:00:00) - use <code>cancelled_at_to</code> to cover the whole day.</td>\n</tr>\n<tr>\n<td><code>created_at_from</code></td>\n<td>Orders whose <code>created_at</code> (the moment the order reached HELM) is on or after this date/time. Accepts <code>YYYY-MM-DD</code> or a full <code>YYYY-MM-DD HH:MM:SS</code> / ISO 8601 timestamp; UTC unless an offset is given.</td>\n</tr>\n<tr>\n<td><code>created_at_to</code></td>\n<td>Orders whose <code>created_at</code> is on or before this date/time. A date with no time covers the whole day, so <code>created_at_to=2026-08-28</code> includes orders received at 23:59 that day.</td>\n</tr>\n<tr>\n<td><code>updated_at_from</code></td>\n<td>Orders last changed on or after this date/time - the filter to poll with when mirroring HELM into another system, paired with <code>sort_by=updated_at</code>.</td>\n</tr>\n<tr>\n<td><code>updated_at_to</code></td>\n<td>Orders last changed on or before this date/time.</td>\n</tr>\n<tr>\n<td><code>order_date_from</code></td>\n<td>Orders whose <code>order_date</code> (when the customer placed the order on the channel) is on or after this date/time.</td>\n</tr>\n<tr>\n<td><code>order_date_to</code></td>\n<td>Orders whose <code>order_date</code> is on or before this date/time.</td>\n</tr>\n<tr>\n<td><code>despatched_at_from</code></td>\n<td>Orders whose <code>despatched_at</code> is on or after this date/time. Never matches an order that has not been despatched.</td>\n</tr>\n<tr>\n<td><code>despatched_at_to</code></td>\n<td>Orders whose <code>despatched_at</code> is on or before this date/time.</td>\n</tr>\n<tr>\n<td><code>cancelled_at_from</code></td>\n<td>Orders whose <code>cancelled_at</code> is on or after this date/time. Never matches an order that has not been cancelled.</td>\n</tr>\n<tr>\n<td><code>cancelled_at_to</code></td>\n<td>Orders whose <code>cancelled_at</code> is on or before this date/time.</td>\n</tr>\n<tr>\n<td><code>archived_at_from</code></td>\n<td>Orders whose <code>archived_at</code> is on or after this date/time. Only archived orders carry one, so this narrows to the archived set on its own.</td>\n</tr>\n<tr>\n<td><code>archived_at_to</code></td>\n<td>Orders whose <code>archived_at</code> is on or before this date/time.</td>\n</tr>\n<tr>\n<td><code>despatch_target_date_from</code></td>\n<td>Orders whose <code>despatch_target_date</code> (the despatch SLA deadline) is on or after this date/time.</td>\n</tr>\n<tr>\n<td><code>despatch_target_date_to</code></td>\n<td>Orders whose <code>despatch_target_date</code> is on or before this date/time - the SLA-breach sweep, combined with <code>status</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"key":"filter[ids][]","value":""},{"disabled":true,"description":{"content":"<p>One order id, or several as <code>?id[]=1&amp;id[]=2</code> or <code>?id=1,2</code>. Synonym of <code>ids</code>.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>One order id, or several as <code>?ids[]=1&amp;ids[]=2</code> or <code>?ids=1,2</code>.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Every order EXCEPT these ids: <code>?excepted_ids[]=1&amp;excepted_ids[]=2</code> or <code>?excepted_ids=1,2</code>.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Synonym of <code>excepted_ids</code>: every order EXCEPT these ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Orders whose order number CONTAINS this term, or exactly one of <code>?order_number[]=A&amp;order_number[]=B</code>.</p>\n","type":"text/plain"},"key":"order_number","value":""},{"disabled":true,"description":{"content":"<p>Orders belonging to one store, or several as <code>?store_id[]=1&amp;store_id[]=2</code> or <code>?store_id=1,2</code>.</p>\n","type":"text/plain"},"key":"store_id","value":""},{"disabled":true,"description":{"content":"<p>Orders belonging to one channel, or several as <code>?channel_id[]=1&amp;channel_id[]=2</code> or <code>?channel_id=1,2</code>.</p>\n","type":"text/plain"},"key":"channel_id","value":""},{"disabled":true,"description":{"content":"<p>Orders in one status code, or several as <code>?status[]=1&amp;status[]=5</code> or <code>?status=1,5</code>. The codes are listed by GET orders/statuses.</p>\n","type":"text/plain"},"key":"status","value":""},{"disabled":true,"description":{"content":"<p>Orders filed in one folder, or several as <code>?folder_id[]=1&amp;folder_id[]=2</code> or <code>?folder_id=1,2</code>.</p>\n","type":"text/plain"},"key":"folder_id","value":""},{"disabled":true,"description":{"content":"<p>Orders carrying one tag, or any of several as <code>?tag_id[]=1&amp;tag_id[]=2</code> or <code>?tag_id=1,2</code>.</p>\n","type":"text/plain"},"key":"tag_id","value":""},{"disabled":true,"description":{"content":"<p>Orders belonging to one customer, or several as <code>?customer_id[]=1&amp;customer_id[]=2</code> or <code>?customer_id=1,2</code>.</p>\n","type":"text/plain"},"key":"customer_id","value":""},{"disabled":true,"description":{"content":"<p>Orders whose customer's name or surname STARTS WITH the given term.</p>\n","type":"text/plain"},"key":"customer","value":""},{"disabled":true,"description":{"content":"<p>Orders of one type code, or several as <code>?order_type[]=1&amp;order_type[]=2</code> or <code>?order_type=1,2</code>.</p>\n","type":"text/plain"},"key":"order_type","value":""},{"disabled":true,"description":{"content":"<p>Orders currently on hold (<code>?is_hold=1</code>) or not on hold (<code>?is_hold=0</code>).</p>\n","type":"text/plain"},"key":"is_hold","value":""},{"disabled":true,"description":{"content":"<p>Orders keyed in by hand rather than pulled from a channel, returned as <code>is_manual</code>.</p>\n","type":"text/plain"},"key":"is_manual","value":""},{"disabled":true,"description":{"content":"<p>Orders whose items can all be allocated from stock, returned as <code>is_fulfillable</code>.</p>\n","type":"text/plain"},"key":"is_fulfillable","value":""},{"disabled":true,"description":{"content":"<p><code>?archived=1</code> returns only archived orders, <code>?archived=0</code> only live ones. Omit the parameter to get both.</p>\n","type":"text/plain"},"key":"archived","value":""},{"disabled":true,"description":{"content":"<p>Channel Order ID - the order identifier the sales channel itself issued, returned as <code>remote_id</code>. Opaque channel-supplied string, so it is matched verbatim (no comma split); use the array form (<code>?remote_id[]=A&amp;remote_id[]=B</code>) for several.</p>\n","type":"text/plain"},"key":"remote_id","value":""},{"disabled":true,"description":{"content":"<p>Channel Alt ID - the channel's secondary order identifier, returned as <code>remote_alt_id</code>. Opaque channel-supplied string, so it is matched verbatim (no comma split); use the array form for several.</p>\n","type":"text/plain"},"key":"remote_alt_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by the per-channel order id HELM assigns, returned as <code>channel_order_id</code>. Opaque string, matched verbatim (no comma split).</p>\n","type":"text/plain"},"key":"channel_order_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by the caller-supplied <code>external_order_id</code> (set on create/update), matched verbatim.</p>\n","type":"text/plain"},"key":"external_order_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by the caller-supplied <code>primary_reference_id</code> (set on create/update), matched verbatim.</p>\n","type":"text/plain"},"key":"primary_reference_id","value":""},{"disabled":true,"description":{"content":"<p>Orders whose shipping postcode starts with the given term, so <code>?postcode=SW1</code> matches every SW1x.</p>\n","type":"text/plain"},"key":"postcode","value":""},{"disabled":true,"description":{"content":"<p>Orders containing an item with this inventory code (SKU), matched exactly. A SKU is free text and may contain a comma, so the value is matched verbatim; use <code>?code[]=A&amp;code[]=B</code> for several.</p>\n","type":"text/plain"},"key":"code","value":""},{"disabled":true,"description":{"content":"<p>Orders containing an item for this inventory id, or any of several as <code>?inventory_id[]=1&amp;inventory_id[]=2</code> or <code>?inventory_id=1,2</code>.</p>\n","type":"text/plain"},"key":"inventory_id","value":""},{"disabled":true,"description":{"content":"<p>Orders whose preferred courier service is this one, or any of several as <code>?courier_service_id=1,2</code>.</p>\n","type":"text/plain"},"key":"courier_service_id","value":""},{"disabled":true,"description":{"content":"<p>Orders with a shipment parcel in this tracking status, or any of several as <code>?tracking_status=1,2</code>.</p>\n","type":"text/plain"},"key":"tracking_status","value":""},{"disabled":true,"description":{"content":"<p>Orders created in HELM (imported or keyed in) on or after this date/time - same as <code>created_at_from</code>.</p>\n","type":"text/plain"},"key":"date_received_from","value":""},{"disabled":true,"description":{"content":"<p>Orders created in HELM on or before this date/time. A date with no time is compared literally (00:00:00) - use <code>created_at_to</code> to cover the whole day.</p>\n","type":"text/plain"},"key":"date_received_to","value":""},{"disabled":true,"description":{"content":"<p>Orders placed by the customer on or after this date/time - same as <code>order_date_from</code>.</p>\n","type":"text/plain"},"key":"date_placed_from","value":""},{"disabled":true,"description":{"content":"<p>Orders placed by the customer on or before this date/time. A date with no time is compared literally (00:00:00) - use <code>order_date_to</code> to cover the whole day.</p>\n","type":"text/plain"},"key":"date_placed_to","value":""},{"disabled":true,"description":{"content":"<p>Orders despatched on or after this date/time - same as <code>despatched_at_from</code>.</p>\n","type":"text/plain"},"key":"date_despatched_from","value":""},{"disabled":true,"description":{"content":"<p>Orders despatched on or before this date/time. A date with no time is compared literally (00:00:00) - use <code>despatched_at_to</code> to cover the whole day.</p>\n","type":"text/plain"},"key":"date_despatched_to","value":""},{"disabled":true,"description":{"content":"<p>Orders cancelled on or after this date/time - same as <code>cancelled_at_from</code>.</p>\n","type":"text/plain"},"key":"date_cancelled_from","value":""},{"disabled":true,"description":{"content":"<p>Orders cancelled on or before this date/time. A date with no time is compared literally (00:00:00) - use <code>cancelled_at_to</code> to cover the whole day.</p>\n","type":"text/plain"},"key":"date_cancelled_to","value":""},{"disabled":true,"description":{"content":"<p>Orders whose <code>created_at</code> (the moment the order reached HELM) is on or after this date/time. Accepts <code>YYYY-MM-DD</code> or a full <code>YYYY-MM-DD HH:MM:SS</code> / ISO 8601 timestamp; UTC unless an offset is given.</p>\n","type":"text/plain"},"key":"created_at_from","value":""},{"disabled":true,"description":{"content":"<p>Orders whose <code>created_at</code> is on or before this date/time. A date with no time covers the whole day, so <code>created_at_to=2026-08-28</code> includes orders received at 23:59 that day.</p>\n","type":"text/plain"},"key":"created_at_to","value":""},{"disabled":true,"description":{"content":"<p>Orders last changed on or after this date/time - the filter to poll with when mirroring HELM into another system, paired with <code>sort_by=updated_at</code>.</p>\n","type":"text/plain"},"key":"updated_at_from","value":""},{"disabled":true,"description":{"content":"<p>Orders last changed on or before this date/time.</p>\n","type":"text/plain"},"key":"updated_at_to","value":""},{"disabled":true,"description":{"content":"<p>Orders whose <code>order_date</code> (when the customer placed the order on the channel) is on or after this date/time.</p>\n","type":"text/plain"},"key":"order_date_from","value":""},{"disabled":true,"description":{"content":"<p>Orders whose <code>order_date</code> is on or before this date/time.</p>\n","type":"text/plain"},"key":"order_date_to","value":""},{"disabled":true,"description":{"content":"<p>Orders whose <code>despatched_at</code> is on or after this date/time. Never matches an order that has not been despatched.</p>\n","type":"text/plain"},"key":"despatched_at_from","value":""},{"disabled":true,"description":{"content":"<p>Orders whose <code>despatched_at</code> is on or before this date/time.</p>\n","type":"text/plain"},"key":"despatched_at_to","value":""},{"disabled":true,"description":{"content":"<p>Orders whose <code>cancelled_at</code> is on or after this date/time. Never matches an order that has not been cancelled.</p>\n","type":"text/plain"},"key":"cancelled_at_from","value":""},{"disabled":true,"description":{"content":"<p>Orders whose <code>cancelled_at</code> is on or before this date/time.</p>\n","type":"text/plain"},"key":"cancelled_at_to","value":""},{"disabled":true,"description":{"content":"<p>Orders whose <code>archived_at</code> is on or after this date/time. Only archived orders carry one, so this narrows to the archived set on its own.</p>\n","type":"text/plain"},"key":"archived_at_from","value":""},{"disabled":true,"description":{"content":"<p>Orders whose <code>archived_at</code> is on or before this date/time.</p>\n","type":"text/plain"},"key":"archived_at_to","value":""},{"disabled":true,"description":{"content":"<p>Orders whose <code>despatch_target_date</code> (the despatch SLA deadline) is on or after this date/time.</p>\n","type":"text/plain"},"key":"despatch_target_date_from","value":""},{"disabled":true,"description":{"content":"<p>Orders whose <code>despatch_target_date</code> is on or before this date/time - the SLA-breach sweep, combined with <code>status</code>.</p>\n","type":"text/plain"},"key":"despatch_target_date_to","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\").</p>\n<p>Allowed relations:</p>\n<ul>\n<li><code>store</code></li>\n<li><code>channel</code></li>\n<li><code>totals</code></li>\n<li><code>totals.currency</code></li>\n<li><code>meta</code></li>\n<li><code>notes</code></li>\n<li><code>channel.settings</code></li>\n<li><code>allocation</code></li>\n<li><code>items</code></li>\n<li><code>items.allocate</code></li>\n<li><code>items.inventory</code></li>\n<li><code>items.inventory.meta</code></li>\n<li><code>items.inventory.barcodes</code></li>\n<li><code>items.total</code></li>\n<li><code>items.meta</code></li>\n<li><code>items.options</code></li>\n<li><code>mainItem</code></li>\n<li><code>mainItem.allocate</code></li>\n<li><code>mainItem.inventory</code></li>\n<li><code>mainItem.inventory.meta</code></li>\n<li><code>mainItem.inventory.barcodes</code></li>\n<li><code>mainItem.total</code></li>\n<li><code>mainItem.meta</code></li>\n<li><code>mainItem.options</code></li>\n<li><code>customer</code></li>\n<li><code>customer.fileManager</code></li>\n<li><code>customer.contact</code></li>\n<li><code>customerContact</code></li>\n<li><code>customerContact.contact</code></li>\n<li><code>customerContact.fileManager</code></li>\n<li><code>shippingAddress</code></li>\n<li><code>shippingAddress.address</code></li>\n<li><code>shippingAddress.address.country</code></li>\n<li><code>shippingAddress.contact</code></li>\n<li><code>invoiceAddress</code></li>\n<li><code>invoiceAddress.address</code></li>\n<li><code>invoiceAddress.address.country</code></li>\n<li><code>invoiceAddress.contact</code></li>\n<li><code>preferredCourierService</code></li>\n<li><code>preferredCourierService.courierService</code></li>\n<li><code>preferredCourierService.courierService.courier</code></li>\n<li><code>preferredPackageTemplate</code></li>\n<li><code>preferredPackageTemplate.packageTemplate</code></li>\n<li><code>statusTimeline</code></li>\n<li><code>shipment</code></li>\n<li><code>shipment.meta</code></li>\n<li><code>shipment.shipmentFile</code></li>\n<li><code>shipment.courierService.courier</code></li>\n<li><code>shipment.parcels.tracking</code></li>\n<li><code>shipment.parcels.tracking.timeline</code></li>\n<li><code>shipment.parcels.tracking.timeline.images</code></li>\n<li><code>mergedOrderTotals</code></li>\n<li><code>mergedOrderTotals.mergedOrder</code></li>\n<li><code>tags.tag</code></li>\n<li><code>folder.folder</code></li>\n<li><code>events</code></li>\n<li><code>user</code></li>\n<li><code>payment</code></li>\n<li><code>payment.latestLine</code></li>\n<li><code>refund</code></li>\n<li><code>refund.latestLine</code></li>\n<li><code>resendOrder</code></li>\n<li><code>resendOrderFrom</code></li>\n<li><code>resendOrder.order</code></li>\n<li><code>resendOrderFrom.order</code></li>\n<li><code>subStatuses</code></li>\n<li><code>items.inventory.stocks</code></li>\n<li><code>items.inventory.stocks.location</code></li>\n<li><code>items.inventory.stocks.location.zone</code></li>\n<li><code>items.inventory.stocks.location.settings</code></li>\n<li><code>items.inventory.stocks.location.storageTypes</code></li>\n<li><code>customFields</code></li>\n<li><code>customFields.customFieldOption</code></li>\n</ul>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[]}},"response":[],"_postman_id":"cfe3d0ce-a33c-4cc2-9734-98cf8b71fc87"},{"name":"Orders create","id":"9a88d55b-7e9e-4485-8227-602775bf1a8e","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"status\": \"1\",\n  \"channel_id\": \"{{channel_id}}\",\n  \"is_hold\": false,\n  \"reference\": \"reference\",\n  \"reference_alt\": \"reference_alt\",\n  \"payment_method\": \"\",\n  \"payment_reference\": \"\",\n  \"shipping_method\": \"\",\n  \"currency_id\": \"{{currency_id}}\",\n  \"is_invoice_same_as_shipping\": false,\n  \"folder_id\": \"{{folder_id}}\",\n  \"totals\": {\n    \"total_shipping\": 0,\n    \"discount\": 0\n  },\n  \"courier\": {\n    \"courier_service_id\": \"{{courier_service_id}}\",\n    \"is_locked\": false,\n    \"label_reference\": \"1\",\n    \"label_secondary_reference\": \"1\"\n  },\n  \"customer\": {\n    \"id\": null,\n    \"name\": \"name\",\n    \"surname\": \"surname\",\n    \"email\": \"user@example.com\",\n    \"phone\": \"\",\n    \"is_company\": false,\n    \"company_name\": \"\"\n  },\n  \"shipping_address\": {\n    \"id\": null,\n    \"name\": \"\",\n    \"surname\": \"\",\n    \"company_name\": \"\",\n    \"phone\": \"\",\n    \"email\": \"\",\n    \"address_line_1\": \"\",\n    \"address_line_2\": \"\",\n    \"city\": \"\",\n    \"county\": \"\",\n    \"country_id\": \"{{country_id}}\",\n    \"postcode\": \"\",\n    \"vat_number\": \"\",\n    \"eori\": \"\"\n  },\n  \"notes\": {\n    \"delivery_note\": \"\",\n    \"gift_note\": \"\",\n    \"customer_note\": \"\"\n  },\n  \"tags\": [\n    \"tag\"\n  ],\n  \"invoice_address\": {\n    \"id\": null,\n    \"name\": \"\",\n    \"surname\": \"\",\n    \"company_name\": \"\",\n    \"phone\": \"\",\n    \"email\": \"\",\n    \"address_line_1\": \"\",\n    \"address_line_2\": \"\",\n    \"address_line_3\": \"\",\n    \"city\": \"\",\n    \"county\": \"\",\n    \"country_id\": \"{{country_id}}\",\n    \"postcode\": \"\"\n  },\n  \"items\": [\n    {\n      \"name\": \"\",\n      \"inventory_id\": \"{{inventory_id}}\",\n      \"meta\": {\n        \"hs_code\": 0,\n        \"country_id\": \"{{country_id}}\"\n      },\n      \"quantity\": 1,\n      \"options\": \"\",\n      \"unit_price\": 0,\n      \"unit_discount\": 0\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code></td>\n</tr>\n<tr>\n<td><code>channel_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>is_hold</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>reference</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>reference_alt</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>payment_method</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>payment_reference</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_method</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>currency_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>is_invoice_same_as_shipping</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>folder_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>totals</code></td>\n<td>object</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>totals.total_shipping</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>totals.discount</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>courier</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>courier.courier_service_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>courier.is_locked</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>courier.label_reference</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code></td>\n</tr>\n<tr>\n<td><code>courier.label_secondary_reference</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code></td>\n</tr>\n<tr>\n<td><code>customer</code></td>\n<td>object</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer.id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer.name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer.surname</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer.email</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer.phone</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer.is_company</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer.company_name</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.name</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.surname</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.company_name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.phone</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.email</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.address_line_1</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.address_line_2</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.city</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.county</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.country_id</code></td>\n<td>integer</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.country_iso_code</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.postcode</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.vat_number</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.eori</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>notes</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>notes.delivery_note</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>notes.gift_note</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>notes.customer_note</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tags</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>invoice_address</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>invoice_address.id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>invoice_address.name</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>invoice_address.surname</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>invoice_address.company_name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>invoice_address.phone</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>invoice_address.email</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>invoice_address.address_line_1</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>invoice_address.address_line_2</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>invoice_address.address_line_3</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>invoice_address.city</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>invoice_address.county</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>invoice_address.country_id</code></td>\n<td>integer</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>invoice_address.country_iso_code</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>invoice_address.postcode</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.inventory_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.meta</code></td>\n<td>object | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.meta.hs_code</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.meta.country_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.quantity</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.options</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.unit_price</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.unit_discount</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"9a88d55b-7e9e-4485-8227-602775bf1a8e"},{"name":"Orders show","id":"cf564c1a-6449-4c9f-b5e4-a4c0a64b72ad","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>store</code></li>\n<li><code>channel</code></li>\n<li><code>totals</code></li>\n<li><code>totals.currency</code></li>\n<li><code>meta</code></li>\n<li><code>notes</code></li>\n<li><code>channel.settings</code></li>\n<li><code>allocation</code></li>\n<li><code>items</code></li>\n<li><code>items.allocate</code></li>\n<li><code>items.inventory</code></li>\n<li><code>items.inventory.meta</code></li>\n<li><code>items.inventory.barcodes</code></li>\n<li><code>items.total</code></li>\n<li><code>items.meta</code></li>\n<li><code>items.options</code></li>\n<li><code>mainItem</code></li>\n<li><code>mainItem.allocate</code></li>\n<li><code>mainItem.inventory</code></li>\n<li><code>mainItem.inventory.meta</code></li>\n<li><code>mainItem.inventory.barcodes</code></li>\n<li><code>mainItem.total</code></li>\n<li><code>mainItem.meta</code></li>\n<li><code>mainItem.options</code></li>\n<li><code>customer</code></li>\n<li><code>customer.fileManager</code></li>\n<li><code>customer.contact</code></li>\n<li><code>customerContact</code></li>\n<li><code>customerContact.contact</code></li>\n<li><code>customerContact.fileManager</code></li>\n<li><code>shippingAddress</code></li>\n<li><code>shippingAddress.address</code></li>\n<li><code>shippingAddress.address.country</code></li>\n<li><code>shippingAddress.contact</code></li>\n<li><code>invoiceAddress</code></li>\n<li><code>invoiceAddress.address</code></li>\n<li><code>invoiceAddress.address.country</code></li>\n<li><code>invoiceAddress.contact</code></li>\n<li><code>preferredCourierService</code></li>\n<li><code>preferredCourierService.courierService</code></li>\n<li><code>preferredCourierService.courierService.courier</code></li>\n<li><code>preferredPackageTemplate</code></li>\n<li><code>preferredPackageTemplate.packageTemplate</code></li>\n<li><code>statusTimeline</code></li>\n<li><code>shipment</code></li>\n<li><code>shipment.meta</code></li>\n<li><code>shipment.shipmentFile</code></li>\n<li><code>shipment.courierService.courier</code></li>\n<li><code>shipment.parcels.tracking</code></li>\n<li><code>shipment.parcels.tracking.timeline</code></li>\n<li><code>shipment.parcels.tracking.timeline.images</code></li>\n<li><code>mergedOrderTotals</code></li>\n<li><code>mergedOrderTotals.mergedOrder</code></li>\n<li><code>tags.tag</code></li>\n<li><code>folder.folder</code></li>\n<li><code>events</code></li>\n<li><code>user</code></li>\n<li><code>payment</code></li>\n<li><code>payment.latestLine</code></li>\n<li><code>refund</code></li>\n<li><code>refund.latestLine</code></li>\n<li><code>resendOrder</code></li>\n<li><code>resendOrderFrom</code></li>\n<li><code>resendOrder.order</code></li>\n<li><code>resendOrderFrom.order</code></li>\n<li><code>subStatuses</code></li>\n<li><code>items.inventory.stocks</code></li>\n<li><code>items.inventory.stocks.location</code></li>\n<li><code>items.inventory.stocks.location.zone</code></li>\n<li><code>items.inventory.stocks.location.settings</code></li>\n<li><code>items.inventory.stocks.location.storageTypes</code></li>\n<li><code>customFields</code></li>\n<li><code>customFields.customFieldOption</code></li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>store</code> - <code>channel</code> - <code>totals</code> - <code>totals.currency</code> - <code>meta</code> - <code>notes</code> - <code>channel.settings</code> - <code>allocation</code> - <code>items</code> - <code>items.allocate</code> - <code>items.inventory</code> - <code>items.inventory.meta</code> - <code>items.inventory.barcodes</code> - <code>items.total</code> - <code>items.meta</code> - <code>items.options</code> - <code>mainItem</code> - <code>mainItem.allocate</code> - <code>mainItem.inventory</code> - <code>mainItem.inventory.meta</code> - <code>mainItem.inventory.barcodes</code> - <code>mainItem.total</code> - <code>mainItem.meta</code> - <code>mainItem.options</code> - <code>customer</code> - <code>customer.fileManager</code> - <code>customer.contact</code> - <code>customerContact</code> - <code>customerContact.contact</code> - <code>customerContact.fileManager</code> - <code>shippingAddress</code> - <code>shippingAddress.address</code> - <code>shippingAddress.address.country</code> - <code>shippingAddress.contact</code> - <code>invoiceAddress</code> - <code>invoiceAddress.address</code> - <code>invoiceAddress.address.country</code> - <code>invoiceAddress.contact</code> - <code>preferredCourierService</code> - <code>preferredCourierService.courierService</code> - <code>preferredCourierService.courierService.courier</code> - <code>preferredPackageTemplate</code> - <code>preferredPackageTemplate.packageTemplate</code> - <code>statusTimeline</code> - <code>shipment</code> - <code>shipment.meta</code> - <code>shipment.shipmentFile</code> - <code>shipment.courierService.courier</code> - <code>shipment.parcels.tracking</code> - <code>shipment.parcels.tracking.timeline</code> - <code>shipment.parcels.tracking.timeline.images</code> - <code>mergedOrderTotals</code> - <code>mergedOrderTotals.mergedOrder</code> - <code>tags.tag</code> - <code>folder.folder</code> - <code>events</code> - <code>user</code> - <code>payment</code> - <code>payment.latestLine</code> - <code>refund</code> - <code>refund.latestLine</code> - <code>resendOrder</code> - <code>resendOrderFrom</code> - <code>resendOrder.order</code> - <code>resendOrderFrom.order</code> - <code>subStatuses</code> - <code>items.inventory.stocks</code> - <code>items.inventory.stocks.location</code> - <code>items.inventory.stocks.location.zone</code> - <code>items.inventory.stocks.location.settings</code> - <code>items.inventory.stocks.location.storageTypes</code> - <code>customFields</code> - <code>customFields.customFieldOption</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"f9daf2bf-6e00-4927-bb3e-5fbba8755d7c","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"cf564c1a-6449-4c9f-b5e4-a4c0a64b72ad"},{"name":"Orders update","id":"4ba9dc46-38ef-4fcc-a5fb-7747705e13de","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"order_id\": \"{{order_id}}\",\n  \"status\": \"2\",\n  \"channel_id\": \"{{channel_id}}\",\n  \"is_hold\": false,\n  \"reference\": \"reference\",\n  \"reference_alt\": \"reference_alt\",\n  \"payment_method\": \"\",\n  \"payment_reference\": \"\",\n  \"shipping_method\": \"\",\n  \"currency_id\": \"{{currency_id}}\",\n  \"is_invoice_same_as_shipping\": false,\n  \"folder_id\": \"{{folder_id}}\",\n  \"customer\": {\n    \"id\": null,\n    \"name\": \"\",\n    \"surname\": \"\",\n    \"email\": \"user@example.com\",\n    \"phone\": \"\",\n    \"is_company\": false,\n    \"company_name\": \"\"\n  },\n  \"shipping_address\": {\n    \"id\": null,\n    \"name\": \"\",\n    \"surname\": \"\",\n    \"company_name\": \"\",\n    \"phone\": \"\",\n    \"email\": \"\",\n    \"address_line_1\": \"\",\n    \"address_line_2\": \"\",\n    \"city\": \"\",\n    \"county\": \"\",\n    \"country_id\": \"{{country_id}}\",\n    \"postcode\": \"\",\n    \"vat_number\": \"\",\n    \"eori\": \"\"\n  },\n  \"totals\": {\n    \"total_shipping\": 0,\n    \"discount\": 0\n  },\n  \"courier\": {\n    \"courier_service_id\": \"{{courier_service_id}}\",\n    \"is_locked\": false,\n    \"label_reference\": \"1\",\n    \"label_secondary_reference\": \"1\"\n  },\n  \"notes\": {\n    \"delivery_note\": \"\",\n    \"gift_note\": \"\",\n    \"customer_note\": \"\"\n  },\n  \"tags\": [\n    \"tag\"\n  ],\n  \"items\": [\n    {\n      \"id\": \"{{id}}\",\n      \"name\": \"\",\n      \"meta\": {\n        \"hs_code\": 0,\n        \"country_id\": \"{{country_id}}\"\n      },\n      \"quantity\": 1,\n      \"options\": \"\",\n      \"unit_price\": 0,\n      \"unit_discount\": 0\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Allowed: <code>2</code></td>\n</tr>\n<tr>\n<td><code>channel_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>is_hold</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>reference</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>reference_alt</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>payment_method</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>payment_reference</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_method</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>currency_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>is_invoice_same_as_shipping</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>folder_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer.id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer.name</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer.surname</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer.email</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer.phone</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer.is_company</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer.company_name</code></td>\n<td>string</td>\n<td>no</td>\n<td>required_if (not required_with): required_with fires on presence, and a boolean false counts as present, so it would force company_name for individuals (is_company=false). Only require it when is_company is true.</td>\n</tr>\n<tr>\n<td><code>shipping_address</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.name</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.surname</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.company_name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.phone</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.email</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.address_line_1</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.address_line_2</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.city</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.county</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.country_id</code></td>\n<td>integer</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.postcode</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.vat_number</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.eori</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>totals</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>totals.total_shipping</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>totals.discount</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>courier</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>courier.courier_service_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>courier.is_locked</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>courier.label_reference</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code></td>\n</tr>\n<tr>\n<td><code>courier.label_secondary_reference</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code></td>\n</tr>\n<tr>\n<td><code>notes</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>notes.delivery_note</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>notes.gift_note</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>notes.customer_note</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tags</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.meta</code></td>\n<td>object | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.meta.hs_code</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.meta.country_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.quantity</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.options</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.unit_price</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.unit_discount</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"bedc4af1-4683-420c-a267-42dabe9feb81","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"4ba9dc46-38ef-4fcc-a5fb-7747705e13de"},{"name":"Orders update patch","id":"24e348f8-7e6c-4479-a4d6-9597fd223d2e","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"order_id\": \"{{order_id}}\",\n  \"status\": \"2\",\n  \"channel_id\": \"{{channel_id}}\",\n  \"is_hold\": false,\n  \"reference\": \"reference\",\n  \"reference_alt\": \"reference_alt\",\n  \"payment_method\": \"\",\n  \"payment_reference\": \"\",\n  \"shipping_method\": \"\",\n  \"currency_id\": \"{{currency_id}}\",\n  \"is_invoice_same_as_shipping\": false,\n  \"folder_id\": \"{{folder_id}}\",\n  \"customer\": {\n    \"id\": null,\n    \"name\": \"\",\n    \"surname\": \"\",\n    \"email\": \"user@example.com\",\n    \"phone\": \"\",\n    \"is_company\": false,\n    \"company_name\": \"\"\n  },\n  \"shipping_address\": {\n    \"id\": null,\n    \"name\": \"\",\n    \"surname\": \"\",\n    \"company_name\": \"\",\n    \"phone\": \"\",\n    \"email\": \"\",\n    \"address_line_1\": \"\",\n    \"address_line_2\": \"\",\n    \"city\": \"\",\n    \"county\": \"\",\n    \"country_id\": \"{{country_id}}\",\n    \"postcode\": \"\",\n    \"vat_number\": \"\",\n    \"eori\": \"\"\n  },\n  \"totals\": {\n    \"total_shipping\": 0,\n    \"discount\": 0\n  },\n  \"courier\": {\n    \"courier_service_id\": \"{{courier_service_id}}\",\n    \"is_locked\": false,\n    \"label_reference\": \"1\",\n    \"label_secondary_reference\": \"1\"\n  },\n  \"notes\": {\n    \"delivery_note\": \"\",\n    \"gift_note\": \"\",\n    \"customer_note\": \"\"\n  },\n  \"tags\": [\n    \"tag\"\n  ],\n  \"items\": [\n    {\n      \"id\": \"{{id}}\",\n      \"name\": \"\",\n      \"meta\": {\n        \"hs_code\": 0,\n        \"country_id\": \"{{country_id}}\"\n      },\n      \"quantity\": 1,\n      \"options\": \"\",\n      \"unit_price\": 0,\n      \"unit_discount\": 0\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Allowed: <code>2</code></td>\n</tr>\n<tr>\n<td><code>channel_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>is_hold</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>reference</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>reference_alt</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>payment_method</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>payment_reference</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_method</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>currency_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>is_invoice_same_as_shipping</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>folder_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer.id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer.name</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer.surname</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer.email</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer.phone</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer.is_company</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer.company_name</code></td>\n<td>string</td>\n<td>no</td>\n<td>required_if (not required_with): required_with fires on presence, and a boolean false counts as present, so it would force company_name for individuals (is_company=false). Only require it when is_company is true.</td>\n</tr>\n<tr>\n<td><code>shipping_address</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.name</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.surname</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.company_name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.phone</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.email</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.address_line_1</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.address_line_2</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.city</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.county</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.country_id</code></td>\n<td>integer</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.postcode</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.vat_number</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.eori</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>totals</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>totals.total_shipping</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>totals.discount</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>courier</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>courier.courier_service_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>courier.is_locked</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>courier.label_reference</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code></td>\n</tr>\n<tr>\n<td><code>courier.label_secondary_reference</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code></td>\n</tr>\n<tr>\n<td><code>notes</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>notes.delivery_note</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>notes.gift_note</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>notes.customer_note</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tags</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.meta</code></td>\n<td>object | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.meta.hs_code</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.meta.country_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.quantity</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.options</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.unit_price</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.unit_discount</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"e69b9d8b-abf8-4804-b56a-8943f3f3ce45","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"24e348f8-7e6c-4479-a4d6-9597fd223d2e"},{"name":"Orders delete","id":"6878b241-f543-4c12-8518-037c590ecc75","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"36100c17-5940-42e6-bbad-d9cf22698f34","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"6878b241-f543-4c12-8518-037c590ecc75"},{"name":"Orders archive","id":"f4a9cbbc-a27c-4564-bb32-14ba3b39a38b","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/archive","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","archive"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"ef440603-357b-414e-9520-1c3684804e4a","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"f4a9cbbc-a27c-4564-bb32-14ba3b39a38b"},{"name":"Orders restore","id":"d32d6d92-8489-4cbe-b3d6-bc376eed42a3","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/restore","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","restore"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"00e1e02f-81f4-4f75-8ea0-7ec8264d8d9e","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"d32d6d92-8489-4cbe-b3d6-bc376eed42a3"},{"name":"Orders grouped statuses","id":"af6a2bf8-6e2b-4411-b21c-8bf7edd5fb71","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//orders/grouped-statuses","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders","grouped-statuses"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"af6a2bf8-6e2b-4411-b21c-8bf7edd5fb71"},{"name":"Orders courier statuses","id":"c71509b6-e264-4b2d-b901-299447627788","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//orders/courier-statuses?company_id=&ignore_ids[]=","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>filters</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>ignore_ids[]</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders","courier-statuses"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"disabled":true,"key":"filters","value":""},{"key":"ignore_ids[]","value":""}],"variable":[]}},"response":[],"_postman_id":"c71509b6-e264-4b2d-b901-299447627788"},{"name":"Orders create to customer","id":"5da8dc5f-2427-41a2-b4eb-13d28680048b","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"customer_id\": \"{{customer_id}}\",\n  \"contact_id\": \"{{contact_id}}\",\n  \"address_id\": \"{{address_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/create-to-customer","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>contact_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders","create-to-customer"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"5da8dc5f-2427-41a2-b4eb-13d28680048b"},{"name":"Orders transactions","id":"109a3885-362f-4425-8aba-8c31e32c4462","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/transactions?company_id=&order_id=","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","transactions"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"order_id","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations vary per endpoint.</p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"1ff7c501-eda2-4819-8c53-177161062f54","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"109a3885-362f-4425-8aba-8c31e32c4462"},{"name":"Orders merged orders","id":"ac78864f-4ac9-4736-b58d-7ed2cf7f0776","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/merged-orders?company_id=&order_id=","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","merged-orders"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"order_id","value":""}],"variable":[{"id":"476c7fc4-0476-4e62-b2c8-86b8b6c1c4d4","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"ac78864f-4ac9-4736-b58d-7ed2cf7f0776"},{"name":"Orders merged order totals","id":"9637a05f-5bd2-45c4-8cbf-34a4d9422264","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/merged-order-totals?company_id=&order_id=","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","merged-order-totals"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"order_id","value":""}],"variable":[{"id":"cb650984-528a-441a-bca8-e5a162429c78","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"9637a05f-5bd2-45c4-8cbf-34a4d9422264"},{"name":"Orders totals","id":"37c48ee8-8708-4522-8fad-3c738ed9de85","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/totals?company_id=&order_id=","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","totals"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"order_id","value":""}],"variable":[{"id":"a57e90e3-eeeb-4b65-b503-232dad451d33","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"37c48ee8-8708-4522-8fad-3c738ed9de85"},{"name":"Orders update totals","id":"cf0dcff5-98e5-4916-91c4-f16e9ce73eca","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"order_id\": \"{{order_id}}\",\n  \"total_shipping\": 0,\n  \"discount\": 0\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/totals","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>total_shipping</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>discount</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","totals"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"95393357-6c0b-49a5-bde9-f5f641155452","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"cf0dcff5-98e5-4916-91c4-f16e9ce73eca"},{"name":"Orders timeline","id":"b7e57530-6e7a-47a0-8570-9dfb6513fb5f","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/timeline?company_id=&order_id=","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","timeline"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"order_id","value":""}],"variable":[{"id":"5aab19a6-5ba0-4514-9c82-7f21aed04e8d","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"b7e57530-6e7a-47a0-8570-9dfb6513fb5f"},{"name":"Orders picks","id":"e8ab3b1d-d8e7-47dd-bdd9-0249e157e931","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/picks?company_id=&order_id=","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","picks"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"order_id","value":""}],"variable":[{"id":"049b7a60-030d-4393-903e-0562c9873920","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"e8ab3b1d-d8e7-47dd-bdd9-0249e157e931"},{"name":"Orders payment detail show","id":"9c41d444-56bc-4e1b-be7a-9024732657e9","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/payment-detail?company_id=&order_id=","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","payment-detail"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"order_id","value":""}],"variable":[{"id":"2e6d5f7f-b522-4d05-9275-5b772d0009f5","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"9c41d444-56bc-4e1b-be7a-9024732657e9"},{"name":"Orders payment detail update","id":"43cc3efe-bc6b-40b2-afda-afae68592f8f","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"order_id\": \"{{order_id}}\",\n  \"payment_method\": \"\",\n  \"payment_reference\": \"\",\n  \"currency_id\": \"{{currency_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/payment-detail","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>payment_method</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>payment_reference</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>currency_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","payment-detail"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"52659811-92f7-4f56-a33c-c2b52638463c","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"43cc3efe-bc6b-40b2-afda-afae68592f8f"},{"name":"Orders invoice url","id":"14be8f4e-6a3d-40e8-9a13-00bfcf5cd179","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/invoice-url?company_id=&order_id=","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","invoice-url"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"order_id","value":""}],"variable":[{"id":"1630896b-e18e-4e47-8c9f-2df9c631dbd4","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"14be8f4e-6a3d-40e8-9a13-00bfcf5cd179"},{"name":"Orders update status","id":"f0e498e5-9e3b-4267-91d4-0793ac936410","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"order_id\": \"{{order_id}}\",\n  \"status\": 1\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/update-status","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","update-status"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"a584c976-1571-41fb-929e-8946b557a643","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"f0e498e5-9e3b-4267-91d4-0793ac936410"},{"name":"Orders update reference","id":"77f895f7-bd6b-4d30-afe3-bc8e104938ab","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"order_id\": \"{{order_id}}\",\n  \"reference\": \"reference\",\n  \"reference_alt\": \"reference_alt\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/update-reference","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>reference</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>reference_alt</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","update-reference"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"70448a8b-b4ba-4081-b484-84a092482250","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"77f895f7-bd6b-4d30-afe3-bc8e104938ab"},{"name":"Orders update hold status","id":"9c3cb72a-8843-4cc7-ba42-5b12b9ca789c","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"order_id\": \"{{order_id}}\",\n  \"is_hold\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/update-hold-status","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>is_hold</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","update-hold-status"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"b3963338-4a84-4213-a404-964752fa360d","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"9c3cb72a-8843-4cc7-ba42-5b12b9ca789c"},{"name":"Orders update merged order totals","id":"1bf7cca4-2035-4548-8551-6f4a91ce4064","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"order_id\": \"{{order_id}}\",\n  \"merged_total_id\": \"{{merged_total_id}}\",\n  \"total_shipping\": 0,\n  \"discount\": 0\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/merged-order-totals/:mergedTotalID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>mergedTotalID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>merged_total_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>total_shipping</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>discount</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","merged-order-totals",":mergedTotalID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"441533af-2d8b-4307-8503-35665f3cd58a","type":"any","value":"","key":"orderID"},{"id":"a34152ce-a752-4d34-a387-5d3b79286932","type":"any","value":"","key":"mergedTotalID"}]}},"response":[],"_postman_id":"1bf7cca4-2035-4548-8551-6f4a91ce4064"},{"name":"Orders update preferred courier service","id":"b1003a3a-4ed0-4064-bb6f-b4d0261be507","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"order_id\": \"{{order_id}}\",\n  \"courier_service_id\": \"{{courier_service_id}}\",\n  \"warning_caused_by\": \"1\",\n  \"is_locked\": false,\n  \"label_reference\": \"1\",\n  \"label_secondary_reference\": \"1\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/preferred-courier-service","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>courier_service_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>warning_caused_by</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>is_locked</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>label_reference</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code></td>\n</tr>\n<tr>\n<td><code>label_secondary_reference</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","preferred-courier-service"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"d0674826-521b-47d2-8458-9fab5411f914","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"b1003a3a-4ed0-4064-bb6f-b4d0261be507"},{"name":"Orders update channel information","id":"2702a858-0af9-4f91-a155-f8eaca73b69a","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"order_id\": \"{{order_id}}\",\n  \"channel_id\": \"{{channel_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/channel-information","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>channel_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","channel-information"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"21398030-7826-4d8e-ac49-ebc99bfc4008","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"2702a858-0af9-4f91-a155-f8eaca73b69a"},{"name":"Orders update addresses","id":"755a8490-f50d-41b6-9bec-0b26f08802cf","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"order_id\": \"{{order_id}}\",\n  \"shipping_address\": [\n    \"\"\n  ],\n  \"invoice_address\": [\n    \"\"\n  ],\n  \"customer\": {\n    \"id\": null,\n    \"name\": \"name\",\n    \"surname\": \"surname\",\n    \"email\": \"user@example.com\",\n    \"phone\": \"\",\n    \"is_company\": false,\n    \"company_name\": \"\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/addresses","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>invoice_address</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer</code></td>\n<td>object</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer.id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer.name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer.surname</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer.email</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer.phone</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer.is_company</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer.company_name</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","addresses"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"3e1150f9-0879-44d3-a6ca-03a0e0827d5e","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"755a8490-f50d-41b6-9bec-0b26f08802cf"},{"name":"Orders archive order","id":"9104f2da-2d29-4815-9a76-1f12e9bb6e82","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"order_id\": \"{{order_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/archive-order","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","archive-order"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"dd5ab7c0-f5b0-4982-9189-70e47823bf45","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"9104f2da-2d29-4815-9a76-1f12e9bb6e82"},{"name":"Orders restore archive","id":"7ec55034-d977-4007-946f-b79b80f50ca9","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"order_id\": \"{{order_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/restore-archive","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","restore-archive"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"2b3ce5c4-03d4-4448-bb69-08a0aea2aa53","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"7ec55034-d977-4007-946f-b79b80f50ca9"},{"name":"Orders bulk remove items","id":"71bc4d09-3be2-4e04-b362-02631828dfb9","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/items?company_id=&order_id=&order_item_ids[]=&service_charge_ids[]=","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_item_ids[]</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>service_charge_ids[]</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","items"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"order_id","value":""},{"key":"order_item_ids[]","value":""},{"key":"service_charge_ids[]","value":""}],"variable":[{"id":"16a8c792-3761-41a1-8ac9-f5e6a29f5fe0","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"71bc4d09-3be2-4e04-b362-02631828dfb9"},{"name":"Orders items list","id":"0d5b9c38-dddc-430e-85b3-4490d9a2a2e6","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/items","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>filter[ids][]</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>Filter by Order Id.</td>\n</tr>\n<tr>\n<td><code>order_item_parent_id</code></td>\n<td>Filter by Order Item Parent Id.</td>\n</tr>\n<tr>\n<td><code>without_child_items</code></td>\n<td>Filter by Without Child Items.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>order</code></li>\n<li><code>previousOrder</code></li>\n<li><code>allocate</code></li>\n<li><code>children</code></li>\n<li><code>children.options</code></li>\n<li><code>children.total</code></li>\n<li><code>children.inventory</code></li>\n<li><code>children.inventory.meta</code></li>\n<li><code>children.pickOrderItem</code></li>\n<li><code>children.pickOrderItem.pickItem</code></li>\n<li><code>children.pickOrderItem.pickItem.location</code></li>\n<li><code>children.pickOrderItem.pickItem.pick</code></li>\n<li><code>children.pickOrderItem.pickItem.pick.settings</code></li>\n<li><code>total</code></li>\n<li><code>meta</code></li>\n<li><code>inventory</code></li>\n<li><code>inventory.stocks.location</code></li>\n<li><code>inventory.stocks.location.zone</code></li>\n<li><code>inventory.stocks.location.settings</code></li>\n<li><code>channelProduct</code></li>\n<li><code>inventory.meta</code></li>\n<li><code>pickOrderItem</code></li>\n<li><code>pickOrderItem.pickItem</code></li>\n<li><code>pickOrderItem.pickItem.location</code></li>\n<li><code>pickOrderItem.pickItem.pick</code></li>\n<li><code>pickOrderItem.pickItem.pick.settings</code></li>\n<li><code>options</code></li>\n<li><code>inventory.linkedChannelProduct.channelProduct</code></li>\n<li><code>children.inventory.linkedChannelProduct.channelProduct</code></li>\n<li><code>resendItems</code></li>\n<li><code>resendItems.orderItem</code></li>\n<li><code>resendItems.order</code></li>\n<li><code>resendItems.previousOrder</code></li>\n<li><code>resendItems.previousOrderItem</code></li>\n<li><code>inventory.shelf</code></li>\n<li><code>inventory.shelf.shelf</code></li>\n<li><code>splitOrigin.previousOrder</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","items"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"key":"filter[ids][]","value":""},{"disabled":true,"description":{"content":"<p>Filter by Order Id.</p>\n","type":"text/plain"},"key":"order_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Order Item Parent Id.</p>\n","type":"text/plain"},"key":"order_item_parent_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Without Child Items.</p>\n","type":"text/plain"},"key":"without_child_items","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>order</code> - <code>previousOrder</code> - <code>allocate</code> - <code>children</code> - <code>children.options</code> - <code>children.total</code> - <code>children.inventory</code> - <code>children.inventory.meta</code> - <code>children.pickOrderItem</code> - <code>children.pickOrderItem.pickItem</code> - <code>children.pickOrderItem.pickItem.location</code> - <code>children.pickOrderItem.pickItem.pick</code> - <code>children.pickOrderItem.pickItem.pick.settings</code> - <code>total</code> - <code>meta</code> - <code>inventory</code> - <code>inventory.stocks.location</code> - <code>inventory.stocks.location.zone</code> - <code>inventory.stocks.location.settings</code> - <code>channelProduct</code> - <code>inventory.meta</code> - <code>pickOrderItem</code> - <code>pickOrderItem.pickItem</code> - <code>pickOrderItem.pickItem.location</code> - <code>pickOrderItem.pickItem.pick</code> - <code>pickOrderItem.pickItem.pick.settings</code> - <code>options</code> - <code>inventory.linkedChannelProduct.channelProduct</code> - <code>children.inventory.linkedChannelProduct.channelProduct</code> - <code>resendItems</code> - <code>resendItems.orderItem</code> - <code>resendItems.order</code> - <code>resendItems.previousOrder</code> - <code>resendItems.previousOrderItem</code> - <code>inventory.shelf</code> - <code>inventory.shelf.shelf</code> - <code>splitOrigin.previousOrder</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"a9011c4c-b5d2-485b-ac09-5f2f436b2909","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"0d5b9c38-dddc-430e-85b3-4490d9a2a2e6"},{"name":"Orders items create","id":"e86c90f3-f0a4-4239-b786-898ff79595f7","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"order_id\": \"{{order_id}}\",\n  \"name\": \"\",\n  \"inventory_id\": \"{{inventory_id}}\",\n  \"quantity\": 1,\n  \"options\": \"\",\n  \"unit_price\": 0,\n  \"unit_discount\": 0,\n  \"meta\": {\n    \"hs_code\": 0,\n    \"country_id\": \"{{country_id}}\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/items","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventory_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>quantity</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>options</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>unit_price</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>unit_discount</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>meta</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>meta.hs_code</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>meta.country_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","items"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"3b85f64d-45d5-485a-a6cc-79a2596702db","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"e86c90f3-f0a4-4239-b786-898ff79595f7"},{"name":"Orders unmerge","id":"ee897fa0-ccdc-4dc4-919c-4a9e91ced453","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"order_id\": \"{{order_id}}\",\n  \"merged_order_id\": \"{{merged_order_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/unmerge/:mergedOrderID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>mergedOrderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>merged_order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","unmerge",":mergedOrderID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"b5360afb-dee5-41c2-bbfa-3e4215c10e43","type":"any","value":"","key":"orderID"},{"id":"8dd59318-a47e-41aa-83cf-2491cbf6a1a2","type":"any","value":"","key":"mergedOrderID"}]}},"response":[],"_postman_id":"ee897fa0-ccdc-4dc4-919c-4a9e91ced453"},{"name":"Orders mark as picked","id":"113634c9-5374-4b15-8950-0e8f3ed6453c","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"order_id\": \"{{order_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/mark-as-picked","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","mark-as-picked"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"afc3cde0-0f89-4e5a-b9fb-a3ef6a8fec98","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"113634c9-5374-4b15-8950-0e8f3ed6453c"},{"name":"Orders undo cancel","id":"e4459951-bfe2-4d8f-bf7d-154c342764f1","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"order_id\": \"{{order_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/undo-cancel","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","undo-cancel"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"5663cafc-bd59-4345-8134-b50fd411fa89","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"e4459951-bfe2-4d8f-bf7d-154c342764f1"},{"name":"Orders split","id":"9959be0c-5c69-4783-a03f-fdd307cab13c","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"order_id\": \"{{order_id}}\",\n  \"items\": [\n    \"\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/split","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","split"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"b8c4c7b5-962a-41cc-8074-a9f1ca280827","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"9959be0c-5c69-4783-a03f-fdd307cab13c"},{"name":"Orders resend","id":"41dbb580-fe79-4c12-bf03-cfb83440181d","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/resend","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","resend"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"011f7680-8f2c-4ad7-aa55-65c84fcb2780","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"41dbb580-fe79-4c12-bf03-cfb83440181d"},{"name":"Orders cancel","id":"551da57f-292f-42fc-be04-2be0e3710f1b","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"order_id\": \"{{order_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/cancel","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","cancel"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"ec581cef-74d4-4fa3-90cf-cf305bed02b7","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"551da57f-292f-42fc-be04-2be0e3710f1b"},{"name":"Orders force cancel","id":"29aa0c0f-bbc1-4062-bc24-f80fab43213d","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"order_id\": \"{{order_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/force-cancel","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","force-cancel"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"d0d98c1a-e266-42b3-a513-3467003ae0f8","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"29aa0c0f-bbc1-4062-bc24-f80fab43213d"},{"name":"Orders attachments list","id":"ea9f0e85-737f-4193-b332-ca34d89e2c11","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/attachments","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>Filter by Order Id.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","attachments"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Order Id.</p>\n","type":"text/plain"},"key":"order_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations vary per endpoint.</p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"58abcb81-296a-4b8b-9403-90b1e99276e7","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"ea9f0e85-737f-4193-b332-ca34d89e2c11"},{"name":"Orders attachments create","id":"c9952a83-ddcb-4e44-a6fb-d1888cf73121","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"file_manager_id\": 123,\n  \"company_id\": \"\",\n  \"order_id\": \"{{order_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/attachments","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><p>Attaches an already uploaded file to the order. Upload it first with\n<code>POST /companies/{companyID}/file-manager/upload</code> using <code>type</code> = <code>7</code> (ORDER) and pass the returned id here.\nResponds <code>204 No Content</code>; the attachment then appears in <code>GET .../attachments</code>, where <code>path</code> is a\ntime-limited download URL. One file can be attached to one order only.</p>\n<h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>file_manager_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>Id of a file uploaded through POST /file-manager/upload with <code>type</code> = 7 (ORDER). A file can be attached to one order only.</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","attachments"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"880dea63-fe13-4b83-ae0c-e2ced3beba75","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"c9952a83-ddcb-4e44-a6fb-d1888cf73121"},{"name":"Orders attachments delete","id":"d3e4d35a-f675-4c8a-892a-a27a6e3864da","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/attachments/:orderAttachmentID?company_id=&order_id=&order_attachment_id=","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderAttachmentID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_attachment_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","attachments",":orderAttachmentID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"order_id","value":""},{"key":"order_attachment_id","value":""}],"variable":[{"id":"5b342a03-4928-493f-949a-86bd1d0a8dbc","type":"any","value":"","key":"orderID"},{"id":"a1f711f8-3d17-40e1-b760-588023a51d09","type":"any","value":"","key":"orderAttachmentID"}]}},"response":[],"_postman_id":"d3e4d35a-f675-4c8a-892a-a27a6e3864da"},{"name":"Orders comments list","id":"94ed7d38-1c29-42b3-9a13-7a1bd2bf41e5","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/comments","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","comments"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""}],"variable":[{"id":"78781f4c-2fcb-4656-b332-15559322b7ac","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"94ed7d38-1c29-42b3-9a13-7a1bd2bf41e5"},{"name":"Orders comments create","id":"4ea544ae-a465-4b5b-b29e-0372aec9f3f7","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"order_id\": \"{{order_id}}\",\n  \"content\": \"content\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/comments","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>content</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","comments"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"bfb3c2d6-1f2b-4536-8b50-ceec41c29fd9","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"4ea544ae-a465-4b5b-b29e-0372aec9f3f7"},{"name":"Orders comments update","id":"8812d2c7-dcd1-4361-bf81-7f707fd5fe4f","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"order_id\": \"{{order_id}}\",\n  \"order_comment_id\": \"{{order_comment_id}}\",\n  \"content\": \"content\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/comments/:orderCommentID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderCommentID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_comment_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>content</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","comments",":orderCommentID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"45f6a8f8-dcca-4dab-b609-0d5cea290268","type":"any","value":"","key":"orderID"},{"id":"9fdd75e5-1fc6-4666-bdca-69567f4bb9b0","type":"any","value":"","key":"orderCommentID"}]}},"response":[],"_postman_id":"8812d2c7-dcd1-4361-bf81-7f707fd5fe4f"},{"name":"Orders comments update patch","id":"5a5a591e-00e1-4c98-9d51-c8d7ce1f4747","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"order_id\": \"{{order_id}}\",\n  \"order_comment_id\": \"{{order_comment_id}}\",\n  \"content\": \"content\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/comments/:orderCommentID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderCommentID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_comment_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>content</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","comments",":orderCommentID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"46ed6a66-8fed-41cf-ae25-b9d6209984c8","type":"any","value":"","key":"orderID"},{"id":"86f2ea8c-1f2b-4ae1-aa11-6eb8e7f68ce0","type":"any","value":"","key":"orderCommentID"}]}},"response":[],"_postman_id":"5a5a591e-00e1-4c98-9d51-c8d7ce1f4747"},{"name":"Orders comments delete","id":"723e8614-d406-4172-9597-14d9fc1d098b","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/comments/:orderCommentID?company_id=&order_id=&order_comment_id=","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderCommentID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_comment_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","comments",":orderCommentID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"order_id","value":""},{"key":"order_comment_id","value":""}],"variable":[{"id":"40937d4d-6e6d-44e7-9aa2-5ff12b0e533f","type":"any","value":"","key":"orderID"},{"id":"17e194fc-b4e5-4751-bbdc-75e0ba257291","type":"any","value":"","key":"orderCommentID"}]}},"response":[],"_postman_id":"723e8614-d406-4172-9597-14d9fc1d098b"},{"name":"Orders folders list","id":"546f58ca-bbe9-41ed-80ac-0c88c2c02d6e","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//orders/folders","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>query</code></td>\n<td>Filter by Query.</td>\n</tr>\n<tr>\n<td><code>search</code></td>\n<td>Filter by Search.</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>Filter by Order Id.</td>\n</tr>\n<tr>\n<td><code>is_active</code></td>\n<td>Filter by Is Active.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>orders</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders","folders"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Query.</p>\n","type":"text/plain"},"key":"query","value":""},{"disabled":true,"description":{"content":"<p>Filter by Search.</p>\n","type":"text/plain"},"key":"search","value":""},{"disabled":true,"description":{"content":"<p>Filter by Order Id.</p>\n","type":"text/plain"},"key":"order_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Is Active.</p>\n","type":"text/plain"},"key":"is_active","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>orders</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[]}},"response":[],"_postman_id":"546f58ca-bbe9-41ed-80ac-0c88c2c02d6e"},{"name":"Orders folders create","id":"30b3ac56-6622-43d3-b876-d79bbbc0afb2","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"name\": \"name\",\n  \"colour\": \"1\",\n  \"icon_class\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/folders","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>colour</code></td>\n<td>string</td>\n<td>yes</td>\n<td><strong>JobTypeColour</strong> values: - <code>1</code> = BLACK - <code>2</code> = BLUE - <code>3</code> = RED - <code>4</code> = GREEN - <code>5</code> = YELLOW - <code>6</code> = NAVY - <code>7</code> = ORANGE - <code>8</code> = PURPLE - <code>9</code> = PINK - <code>10</code> = BROWN - <code>11</code> = MINT - <code>12</code> = BEIGE - <code>13</code> = CYAN - <code>14</code> = MAROON - <code>15</code> = GRAY Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code>, <code>9</code>, <code>10</code>, <code>11</code>, <code>12</code>, <code>13</code>, <code>14</code>, <code>15</code></td>\n</tr>\n<tr>\n<td><code>icon_class</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders","folders"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"30b3ac56-6622-43d3-b876-d79bbbc0afb2"},{"name":"Orders folders check order usage","id":"e92d73c8-15c7-47cc-b50d-53e6eddb1842","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"all\": false,\n  \"folder_ids\": [\n    \"{{folder_id}}\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/folders/check-order-usage","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>all</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>folder_ids</code></td>\n<td>array</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders","folders","check-order-usage"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"e92d73c8-15c7-47cc-b50d-53e6eddb1842"},{"name":"Orders folders copy","id":"a26ae592-0d0f-4433-98a0-83afe4cb26e3","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"folder_id\": \"{{folder_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/folders/:folderID/copy","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>folderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>folder_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders","folders",":folderID","copy"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"85dfb9d8-dbc1-4ae8-9340-1447e1c9ce1f","type":"any","value":"","key":"folderID"}]}},"response":[],"_postman_id":"a26ae592-0d0f-4433-98a0-83afe4cb26e3"},{"name":"Orders folders update status","id":"692b2048-4c86-4be7-90eb-5a2c9a7cb7ea","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"folder_id\": \"{{folder_id}}\",\n  \"is_active\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/folders/:folderID/status","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>folderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>folder_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>is_active</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders","folders",":folderID","status"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"e3d04a48-ad81-44a3-84b4-a35023342991","type":"any","value":"","key":"folderID"}]}},"response":[],"_postman_id":"692b2048-4c86-4be7-90eb-5a2c9a7cb7ea"},{"name":"Orders folders update","id":"10f15a81-88b8-4587-be7e-91f09201b7aa","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"folder_id\": \"{{folder_id}}\",\n  \"name\": \"name\",\n  \"colour\": \"1\",\n  \"icon_class\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/folders/:folderID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>folderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>folder_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>colour</code></td>\n<td>string</td>\n<td>yes</td>\n<td><strong>JobTypeColour</strong> values: - <code>1</code> = BLACK - <code>2</code> = BLUE - <code>3</code> = RED - <code>4</code> = GREEN - <code>5</code> = YELLOW - <code>6</code> = NAVY - <code>7</code> = ORANGE - <code>8</code> = PURPLE - <code>9</code> = PINK - <code>10</code> = BROWN - <code>11</code> = MINT - <code>12</code> = BEIGE - <code>13</code> = CYAN - <code>14</code> = MAROON - <code>15</code> = GRAY Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code>, <code>9</code>, <code>10</code>, <code>11</code>, <code>12</code>, <code>13</code>, <code>14</code>, <code>15</code></td>\n</tr>\n<tr>\n<td><code>icon_class</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders","folders",":folderID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"2dd200ce-ee26-4b50-b006-fc123b66a279","type":"any","value":"","key":"folderID"}]}},"response":[],"_postman_id":"10f15a81-88b8-4587-be7e-91f09201b7aa"},{"name":"Orders folders update patch","id":"aa26e527-d1a1-4e67-a245-7b7a45b91e40","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"folder_id\": \"{{folder_id}}\",\n  \"name\": \"name\",\n  \"colour\": \"1\",\n  \"icon_class\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/folders/:folderID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>folderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>folder_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>colour</code></td>\n<td>string</td>\n<td>yes</td>\n<td><strong>JobTypeColour</strong> values: - <code>1</code> = BLACK - <code>2</code> = BLUE - <code>3</code> = RED - <code>4</code> = GREEN - <code>5</code> = YELLOW - <code>6</code> = NAVY - <code>7</code> = ORANGE - <code>8</code> = PURPLE - <code>9</code> = PINK - <code>10</code> = BROWN - <code>11</code> = MINT - <code>12</code> = BEIGE - <code>13</code> = CYAN - <code>14</code> = MAROON - <code>15</code> = GRAY Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code>, <code>9</code>, <code>10</code>, <code>11</code>, <code>12</code>, <code>13</code>, <code>14</code>, <code>15</code></td>\n</tr>\n<tr>\n<td><code>icon_class</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders","folders",":folderID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"77edecb6-a022-42e5-aef5-d7879e4badb9","type":"any","value":"","key":"folderID"}]}},"response":[],"_postman_id":"aa26e527-d1a1-4e67-a245-7b7a45b91e40"},{"name":"Orders folders delete","id":"5b41c410-6a83-4bd4-b242-94ffdaae19b8","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//orders/folders/:folderID?company_id=&folder_id=","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>folderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>folder_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders","folders",":folderID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"folder_id","value":""}],"variable":[{"id":"e9aabe2a-2408-4c5e-9c74-186f11e6c6ca","type":"any","value":"","key":"folderID"}]}},"response":[],"_postman_id":"5b41c410-6a83-4bd4-b242-94ffdaae19b8"},{"name":"Orders folders attach","id":"2a34dee1-5cc5-4f8f-9e89-6042af9f5266","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"order_id\": \"{{order_id}}\",\n  \"folder_id\": \"{{folder_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/folders/:folderID/attach","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>folderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>folder_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","folders",":folderID","attach"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"5813c6a5-94f7-463c-91f2-32cf1b5b73fd","type":"any","value":"","key":"orderID"},{"id":"01aad2c9-c5e4-4cd7-9905-d429f0ed5ac2","type":"any","value":"","key":"folderID"}]}},"response":[],"_postman_id":"2a34dee1-5cc5-4f8f-9e89-6042af9f5266"},{"name":"Orders folders detach","id":"00798ef0-c9b2-4d21-9976-843d7db872ba","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"order_id\": \"{{order_id}}\",\n  \"folder_id\": \"{{folder_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/folders/:folderID/detach","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>folderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>folder_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","folders",":folderID","detach"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"aef174d3-32df-4875-93da-4b7d640639f0","type":"any","value":"","key":"orderID"},{"id":"69cc5169-159f-4c87-9576-fdb634c60c70","type":"any","value":"","key":"folderID"}]}},"response":[],"_postman_id":"00798ef0-c9b2-4d21-9976-843d7db872ba"},{"name":"Orders items bulk create","id":"1a059155-dcd0-4400-93d5-4035057c216f","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"order_id\": \"{{order_id}}\",\n  \"items\": [\n    {\n      \"name\": \"\",\n      \"quantity\": 1,\n      \"options\": \"\",\n      \"meta\": {\n        \"hs_code\": 0,\n        \"country_id\": \"{{country_id}}\"\n      },\n      \"inventory_id\": \"{{inventory_id}}\",\n      \"unit_price\": 0,\n      \"unit_discount\": 0\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/items/bulk-create","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.quantity</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.options</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.meta</code></td>\n<td>object | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.meta.hs_code</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.meta.country_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.inventory_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.unit_price</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.unit_discount</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","items","bulk-create"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"8c897690-159d-4a7c-a9ca-78c62f96654b","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"1a059155-dcd0-4400-93d5-4035057c216f"},{"name":"Orders items bulk update","id":"79ac3a1d-f0d7-4102-bd60-d5b9dfeec50a","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"order_id\": \"{{order_id}}\",\n  \"items\": [\n    {\n      \"order_item_id\": \"{{order_item_id}}\",\n      \"name\": \"\",\n      \"quantity\": 1,\n      \"options\": \"\",\n      \"meta\": {\n        \"hs_code\": \"\",\n        \"country_id\": \"{{country_id}}\"\n      },\n      \"unit_price\": 0,\n      \"unit_discount\": 0\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/items/bulk-update","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.order_item_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.quantity</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.options</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.meta</code></td>\n<td>object | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.meta.hs_code</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.meta.country_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.unit_price</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.unit_discount</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","items","bulk-update"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"b59c4e77-1a40-4745-9534-7bed9347e425","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"79ac3a1d-f0d7-4102-bd60-d5b9dfeec50a"},{"name":"Orders items bulk delete","id":"eb354b07-1e50-49e5-b426-b7e62298bb31","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"order_id\": \"{{order_id}}\",\n  \"order_item_ids\": [\n    \"{{order_item_id}}\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/items/bulk-delete","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_item_ids</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","items","bulk-delete"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"c45280b6-0afc-422c-8782-7835e4b842ff","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"eb354b07-1e50-49e5-b426-b7e62298bb31"},{"name":"Orders items update","id":"0bcd5cb4-fe9f-4b7d-a69a-0fe75adbeece","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"order_id\": \"{{order_id}}\",\n  \"order_item_id\": \"{{order_item_id}}\",\n  \"name\": \"\",\n  \"quantity\": 1,\n  \"options\": \"\",\n  \"unit_price\": 0,\n  \"unit_discount\": 0,\n  \"meta\": {\n    \"hs_code\": \"\",\n    \"country_id\": \"{{country_id}}\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/items/:orderItemID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderItemID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_item_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>quantity</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>options</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>unit_price</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>unit_discount</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>meta</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>meta.hs_code</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>meta.country_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","items",":orderItemID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"1663328e-d86d-4a88-a092-d3b9e96a17c3","type":"any","value":"","key":"orderID"},{"id":"7dbaac7b-e479-422b-b595-d9fe6d10aaae","type":"any","value":"","key":"orderItemID"}]}},"response":[],"_postman_id":"0bcd5cb4-fe9f-4b7d-a69a-0fe75adbeece"},{"name":"Orders items update patch","id":"faf5c6c4-91c8-4090-8db5-457b48dd50a0","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"order_id\": \"{{order_id}}\",\n  \"order_item_id\": \"{{order_item_id}}\",\n  \"name\": \"\",\n  \"quantity\": 1,\n  \"options\": \"\",\n  \"unit_price\": 0,\n  \"unit_discount\": 0,\n  \"meta\": {\n    \"hs_code\": \"\",\n    \"country_id\": \"{{country_id}}\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/items/:orderItemID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderItemID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_item_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>quantity</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>options</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>unit_price</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>unit_discount</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>meta</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>meta.hs_code</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>meta.country_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","items",":orderItemID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"138171dc-4e83-4bbf-b330-f223c9ce878a","type":"any","value":"","key":"orderID"},{"id":"01ff42ce-e4d5-440a-8c83-94ca30900dcd","type":"any","value":"","key":"orderItemID"}]}},"response":[],"_postman_id":"faf5c6c4-91c8-4090-8db5-457b48dd50a0"},{"name":"Orders items delete","id":"bbc025e1-7339-4f0f-9233-f39618699de2","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/items/:orderItemID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderItemID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","items",":orderItemID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"cc9f1e3e-78b7-4ef2-9ba8-908a73b42857","type":"any","value":"","key":"orderID"},{"id":"82172c0e-8a3e-4a28-a384-26a789621cdf","type":"any","value":"","key":"orderItemID"}]}},"response":[],"_postman_id":"bbc025e1-7339-4f0f-9233-f39618699de2"},{"name":"Orders items sync","id":"44a457fd-8a1a-4341-8247-d1c0a5922c25","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"order_id\": \"{{order_id}}\",\n  \"removed_order_item_ids\": [\n    \"{{removed_order_item_id}}\"\n  ],\n  \"items\": [\n    {\n      \"name\": \"\",\n      \"quantity\": 1,\n      \"unit_price\": 0,\n      \"options\": \"\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/items/sync","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>removed_order_item_ids</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.quantity</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.unit_price</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.options</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","items","sync"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"6252ba5b-72e0-4e77-aab0-fca39e44190d","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"44a457fd-8a1a-4341-8247-d1c0a5922c25"},{"name":"Orders items mark as unpicked","id":"de92ed2c-f785-48da-93f0-40aa55205c21","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"order_id\": \"{{order_id}}\",\n  \"order_item_ids\": [\n    \"{{order_item_id}}\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/items/mark-as-unpicked","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_item_ids</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","items","mark-as-unpicked"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"91d48862-9691-4dc8-8632-67b0ab9cf4b6","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"de92ed2c-f785-48da-93f0-40aa55205c21"},{"name":"Orders items update child","id":"e67d23b3-b01f-40da-944d-a12e4448c4fd","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"order_id\": \"{{order_id}}\",\n  \"order_item_id\": \"{{order_item_id}}\",\n  \"order_child_item_id\": \"{{order_child_item_id}}\",\n  \"name\": \"name\",\n  \"quantity\": 1,\n  \"options\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/items/:orderItemID/child/:orderChildItemID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderItemID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderChildItemID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_item_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_child_item_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>quantity</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>options</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","items",":orderItemID","child",":orderChildItemID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"1edefae9-7c0d-490e-b618-6f3d966c591d","type":"any","value":"","key":"orderID"},{"id":"08ffb9f6-98e6-41ff-bf51-370166f0cc76","type":"any","value":"","key":"orderItemID"},{"id":"dbc0c0b8-5f77-416d-a7ba-c04215bd7296","type":"any","value":"","key":"orderChildItemID"}]}},"response":[],"_postman_id":"e67d23b3-b01f-40da-944d-a12e4448c4fd"},{"name":"Orders items destroy child","id":"5545c190-ec66-459e-8d3f-25512f768c45","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/items/:orderItemID/child/:orderChildItemID?company_id=&order_id=&order_item_id=&order_child_item_id=","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderItemID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderChildItemID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_item_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_child_item_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","items",":orderItemID","child",":orderChildItemID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"order_id","value":""},{"key":"order_item_id","value":""},{"key":"order_child_item_id","value":""}],"variable":[{"id":"b5683d41-6a81-433d-8c38-dc59a133c594","type":"any","value":"","key":"orderID"},{"id":"e7594738-e8c6-4fa3-a37a-30921485169b","type":"any","value":"","key":"orderItemID"},{"id":"910d5cac-d02e-4a61-8fde-81ac67f687df","type":"any","value":"","key":"orderChildItemID"}]}},"response":[],"_postman_id":"5545c190-ec66-459e-8d3f-25512f768c45"},{"name":"Orders notes list","id":"e5075277-a44f-4da7-97bd-9f4f24beb6b0","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/notes","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","notes"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""}],"variable":[{"id":"fdf3a539-7682-454a-9047-230f76be9054","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"e5075277-a44f-4da7-97bd-9f4f24beb6b0"},{"name":"Orders notes create","id":"4715bf7f-9ae8-43de-8330-d68f7bdb0a81","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"order_id\": \"{{order_id}}\",\n  \"type\": \"1\",\n  \"content\": \"content\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/notes","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>content</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","notes"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"49200b1f-669f-42e4-9e4f-2890b6120190","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"4715bf7f-9ae8-43de-8330-d68f7bdb0a81"},{"name":"Orders notes update","id":"19011839-18b6-4745-8202-53d107ae90d1","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"order_id\": \"{{order_id}}\",\n  \"order_note_id\": \"{{order_note_id}}\",\n  \"type\": \"1\",\n  \"content\": \"content\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/notes/:orderNoteID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderNoteID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_note_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>content</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","notes",":orderNoteID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"d5889be7-6806-4c10-a591-aea9306a945e","type":"any","value":"","key":"orderID"},{"id":"0e4e9a2c-3e35-40e5-856f-17869b7fb29b","type":"any","value":"","key":"orderNoteID"}]}},"response":[],"_postman_id":"19011839-18b6-4745-8202-53d107ae90d1"},{"name":"Orders notes update patch","id":"d0d2b5d1-5e14-4f70-ad96-cda4bd6288ce","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"order_id\": \"{{order_id}}\",\n  \"order_note_id\": \"{{order_note_id}}\",\n  \"type\": \"1\",\n  \"content\": \"content\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/notes/:orderNoteID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderNoteID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_note_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>content</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","notes",":orderNoteID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"c3abae2a-34ef-4070-b5e4-71afb4400bd0","type":"any","value":"","key":"orderID"},{"id":"32bf84af-d386-4075-93f9-1ea3bd455a75","type":"any","value":"","key":"orderNoteID"}]}},"response":[],"_postman_id":"d0d2b5d1-5e14-4f70-ad96-cda4bd6288ce"},{"name":"Orders notes delete","id":"cfa63da9-44db-47a7-af03-b40d939f6763","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/notes/:orderNoteID?company_id=&order_id=&order_note_id=","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderNoteID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_note_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","notes",":orderNoteID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"order_id","value":""},{"key":"order_note_id","value":""}],"variable":[{"id":"1b1bd46b-74f7-4d8b-8b6f-8101fc85cbda","type":"any","value":"","key":"orderID"},{"id":"b99f366c-8765-472a-a4a0-85a0e9800cb2","type":"any","value":"","key":"orderNoteID"}]}},"response":[],"_postman_id":"cfa63da9-44db-47a7-af03-b40d939f6763"},{"name":"Orders payments list","id":"23ee9780-e44a-47a9-b6f7-4e9cc0862a16","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/payments","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>Filter by Order Id.</td>\n</tr>\n<tr>\n<td><code>payment_id</code></td>\n<td>Filter by Payment Id.</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>Filter by Status.</td>\n</tr>\n<tr>\n<td><code>payment_method_type</code></td>\n<td>Filter by Payment Method Type.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","payments"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Order Id.</p>\n","type":"text/plain"},"key":"order_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Payment Id.</p>\n","type":"text/plain"},"key":"payment_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Status.</p>\n","type":"text/plain"},"key":"status","value":""},{"disabled":true,"description":{"content":"<p>Filter by Payment Method Type.</p>\n","type":"text/plain"},"key":"payment_method_type","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations vary per endpoint.</p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"545e348e-c388-4229-88eb-76e99166b7f9","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"23ee9780-e44a-47a9-b6f7-4e9cc0862a16"},{"name":"Orders payments pay","id":"695ae52b-6878-4ae6-b512-7d7da12304a6","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"order_id\": \"{{order_id}}\",\n  \"payment_id\": \"{{payment_id}}\",\n  \"payment_method\": \"1\",\n  \"payment_method_id\": \"{{payment_method_id}}\",\n  \"price\": 0,\n  \"payment_reference\": \"\",\n  \"recipient_emails\": [\n    \"user@example.com\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/payments/:paymentID/pay","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>paymentID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>payment_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>payment_method</code></td>\n<td>string</td>\n<td>yes</td>\n<td><strong>ReturnsMethod</strong> values: - <code>1</code> = DIRECT_TO_LOCATION - <code>2</code> = ADD_SINGLE_MOVEMENT - <code>3</code> = ADD_MULTIPLE_MOVEMENT Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>payment_method_id</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>price</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>payment_reference</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>recipient_emails</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","payments",":paymentID","pay"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"814361b3-f866-4609-99b3-96d7366deeba","type":"any","value":"","key":"orderID"},{"id":"cc06f7ca-bd15-4f23-adf9-8323778c66fb","type":"any","value":"","key":"paymentID"}]}},"response":[],"_postman_id":"695ae52b-6878-4ae6-b512-7d7da12304a6"},{"name":"Orders refunds refund","id":"7553d8ac-3318-4b4b-b4df-873ec2252c49","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"order_id\": \"{{order_id}}\",\n  \"refund_id\": \"{{refund_id}}\",\n  \"refund_method\": \"1\",\n  \"price\": 0,\n  \"refund_reference\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/refunds/:refundID/refund","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>refundID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>refund_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>refund_method</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code></td>\n</tr>\n<tr>\n<td><code>price</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>refund_reference</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","refunds",":refundID","refund"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"97c973b9-98d4-45d3-a0f3-922e7a80359d","type":"any","value":"","key":"orderID"},{"id":"c8597969-d509-4c92-927d-7b153f5793ff","type":"any","value":"","key":"refundID"}]}},"response":[],"_postman_id":"7553d8ac-3318-4b4b-b4df-873ec2252c49"},{"name":"Orders returns list","id":"879c2a86-1c8a-4696-a632-11c4a0360b97","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/returns","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>Filter by Order Id.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>order</code></li>\n<li><code>items</code></li>\n<li><code>items.location</code></li>\n<li><code>items.jobReason</code></li>\n<li><code>items.orderReturn</code></li>\n<li><code>items.orderItem</code></li>\n<li><code>items.previousOrderItem</code></li>\n<li><code>items.files</code></li>\n<li><code>items.files.fileManager</code></li>\n<li><code>user</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","returns"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Order Id.</p>\n","type":"text/plain"},"key":"order_id","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>order</code> - <code>items</code> - <code>items.location</code> - <code>items.jobReason</code> - <code>items.orderReturn</code> - <code>items.orderItem</code> - <code>items.previousOrderItem</code> - <code>items.files</code> - <code>items.files.fileManager</code> - <code>user</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"4d413146-3b3c-4c3c-9ae8-0c5178340935","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"879c2a86-1c8a-4696-a632-11c4a0360b97"},{"name":"Orders returns create","id":"bc1c483f-0ac4-40a9-a5c9-306c4e59f2ad","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"order_id\": \"{{order_id}}\",\n  \"returns_method\": \"1\",\n  \"movement_maximum_lines\": 0,\n  \"movement_jobs\": [\n    \"\"\n  ],\n  \"items\": [\n    {\n      \"order_item_id\": \"{{order_item_id}}\",\n      \"return_quantity\": 1,\n      \"job_reason_id\": \"{{job_reason_id}}\",\n      \"restockable\": false\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/returns","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>returns_method</code></td>\n<td>string | null</td>\n<td>no</td>\n<td><strong>ReturnsMethod</strong> values: - <code>1</code> = DIRECT_TO_LOCATION - <code>2</code> = ADD_SINGLE_MOVEMENT - <code>3</code> = ADD_MULTIPLE_MOVEMENT Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>movement_maximum_lines</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>movement_jobs</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.order_item_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.return_quantity</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.job_reason_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.restockable</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","returns"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"fa4c0974-7c17-413e-956e-6ee72d3a2d70","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"bc1c483f-0ac4-40a9-a5c9-306c4e59f2ad"},{"name":"Orders returns show","id":"0a098a09-958c-4722-bdb3-7853e66c9dce","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/returns/:orderReturnID","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderReturnID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>order</code></li>\n<li><code>items</code></li>\n<li><code>items.location</code></li>\n<li><code>items.jobReason</code></li>\n<li><code>items.orderReturn</code></li>\n<li><code>items.orderItem</code></li>\n<li><code>items.previousOrderItem</code></li>\n<li><code>items.files</code></li>\n<li><code>items.files.fileManager</code></li>\n<li><code>user</code></li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","returns",":orderReturnID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>order</code> - <code>items</code> - <code>items.location</code> - <code>items.jobReason</code> - <code>items.orderReturn</code> - <code>items.orderItem</code> - <code>items.previousOrderItem</code> - <code>items.files</code> - <code>items.files.fileManager</code> - <code>user</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"13f066cb-1b69-4857-85aa-c4dceaeebe6d","type":"any","value":"","key":"orderID"},{"id":"b0469691-dd9c-42da-9f92-f7511ce7070f","type":"any","value":"","key":"orderReturnID"}]}},"response":[],"_postman_id":"0a098a09-958c-4722-bdb3-7853e66c9dce"},{"name":"Orders tags suggestions","id":"00576ebf-3935-48a0-b605-c5cd53d34deb","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//orders/tags","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>search</code></td>\n<td>Filter by Search.</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>Filter by Order Id.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders","tags"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Search.</p>\n","type":"text/plain"},"key":"search","value":""},{"disabled":true,"description":{"content":"<p>Filter by Order Id.</p>\n","type":"text/plain"},"key":"order_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""}],"variable":[]}},"response":[],"_postman_id":"00576ebf-3935-48a0-b605-c5cd53d34deb"},{"name":"Orders tags attached tags","id":"0c3848dd-e104-488b-aa75-e7d03b76be62","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//orders/attached-tags","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders","attached-tags"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"0c3848dd-e104-488b-aa75-e7d03b76be62"},{"name":"Orders order tags list","id":"8a9ab79f-d382-41e8-ad9a-d6dfbeac7a29","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/order-tags","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","order-tags"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"per_page","value":""}],"variable":[{"id":"8f00b181-aea0-4c20-aee0-f631584eeda3","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"8a9ab79f-d382-41e8-ad9a-d6dfbeac7a29"},{"name":"Orders tags create","id":"96085983-ff74-4190-ba37-ba9bf27b1566","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"order_id\": \"{{order_id}}\",\n  \"name\": \"name\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/tags","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","tags"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"0baa6b98-5062-47ad-a7cd-46053ba9f43b","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"96085983-ff74-4190-ba37-ba9bf27b1566"},{"name":"Orders tags attach","id":"dd61a069-3b4c-4272-a0bd-8d15d0808c9e","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"order_id\": \"{{order_id}}\",\n  \"tag_id\": \"{{tag_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/tags/:tagID/attach","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>tagID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tag_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","tags",":tagID","attach"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"e7bc9812-e919-4fce-b356-2ac724f0dc7a","type":"any","value":"","key":"orderID"},{"id":"8ee97c19-b6eb-4a01-a3d9-1e12523924e0","type":"any","value":"","key":"tagID"}]}},"response":[],"_postman_id":"dd61a069-3b4c-4272-a0bd-8d15d0808c9e"},{"name":"Orders tags detach","id":"eda9ec16-34ed-41fe-91fe-6ebaaf58ed51","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"order_id\": \"{{order_id}}\",\n  \"tag_id\": \"{{tag_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/tags/:tagID/detach","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>tagID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tag_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","tags",":tagID","detach"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"d86b65d2-a603-4f1b-8c61-075c4a317013","type":"any","value":"","key":"orderID"},{"id":"6f54e4c5-7a77-4cb9-ad5e-d6442d70e63c","type":"any","value":"","key":"tagID"}]}},"response":[],"_postman_id":"eda9ec16-34ed-41fe-91fe-6ebaaf58ed51"},{"name":"Orders refund orders validation","id":"ab7f8f98-bdd7-4001-bd37-e7f70c7d7765","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"order_id\": \"{{order_id}}\",\n  \"order_return_id\": \"{{order_return_id}}\",\n  \"shipping_price\": 0,\n  \"refund_action_type\": \"1\",\n  \"items\": [\n    \"\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/refunds/validation","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_return_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_price</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>refund_action_type</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>items</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","refunds","validation"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"8dd0a80b-dfb4-4a7d-906c-98950902e825","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"ab7f8f98-bdd7-4001-bd37-e7f70c7d7765"},{"name":"Orders refund orders supports","id":"94e35343-f5bb-45b8-a25f-d36f8f992125","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/refunds/supports?company_id=&order_id=","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","refunds","supports"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"order_id","value":""}],"variable":[{"id":"8189d7e1-b398-455a-bd0b-cdf1e72e480f","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"94e35343-f5bb-45b8-a25f-d36f8f992125"},{"name":"Orders refund orders list","id":"b559ac50-eaff-4f53-a5eb-af572423c10a","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/refunds","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>Filter by Order Id.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>user</code></li>\n<li><code>user.fileManager</code></li>\n<li><code>items</code></li>\n<li><code>total</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","refunds"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Order Id.</p>\n","type":"text/plain"},"key":"order_id","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>user</code> - <code>user.fileManager</code> - <code>items</code> - <code>total</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"4c4c3533-7a0c-40e0-98e9-de9865362872","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"b559ac50-eaff-4f53-a5eb-af572423c10a"},{"name":"Orders refund orders create","id":"9e141fa1-ef69-4f0f-be81-0ffa03bef51b","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"order_id\": \"{{order_id}}\",\n  \"order_return_id\": \"{{order_return_id}}\",\n  \"shipping_price\": 0,\n  \"refund_action_type\": \"1\",\n  \"items\": [\n    \"\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/refunds","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_return_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_price</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>refund_action_type</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>items</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","refunds"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"5996b539-67ed-4b8b-ae99-7f62df9d1605","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"9e141fa1-ef69-4f0f-be81-0ffa03bef51b"},{"name":"Orders refund orders show","id":"b953bfd8-5e30-4711-9a87-d19fe3db94bf","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//orders/:orderID/refunds/:refundOrderID","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>refundOrderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>user</code></li>\n<li><code>user.fileManager</code></li>\n<li><code>items</code></li>\n<li><code>total</code></li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders",":orderID","refunds",":refundOrderID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>user</code> - <code>user.fileManager</code> - <code>items</code> - <code>total</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"ad08b466-7663-4e23-9dd2-16459ed335e8","type":"any","value":"","key":"orderID"},{"id":"f7430223-080f-441a-a1ba-6ae401179bc5","type":"any","value":"","key":"refundOrderID"}]}},"response":[],"_postman_id":"b953bfd8-5e30-4711-9a87-d19fe3db94bf"},{"name":"Orders List Splittable Picked Items","id":"63c75652-9852-4a29-979b-4ad583c45ccf","request":{"method":"GET","header":[{"key":"X-App-Token","value":"{{app_token}}","type":"text"},{"key":"Accept","value":"application/json","type":"text"}],"url":"https://app-api.helmwms.app/api/v2/companies//orders/{{order_id}}/split-picked-items","description":"<p>Returns the splittable lines of a PARTIALLY_PICKED order (no pagination): top-level lines (normal + group parent) with picked qty &gt; 0.</p>\n<p>Per line:</p>\n<ul>\n<li>id — order_item_id (the id to send to POST /split-picked)</li>\n<li>name, sku, image, sizes — for the dialog</li>\n<li>is_group</li>\n<li>picked_quantity — normal line: total picked units; group line: number of complete picked sets.</li>\n</ul>\n<p>Only PARTIALLY_PICKED orders are eligible (otherwise 422).</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders","{{order_id}}","split-picked-items"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[{"id":"7dc45423-bd83-4f93-a1ad-7ae22294dedc","name":"200 — Splittable items","originalRequest":{"method":"GET","header":[{"key":"X-App-Token","value":"{{app_token}}"},{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//orders/{{order_id}}/split-picked-items"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": [\n    {\n      \"id\": 1001,\n      \"name\": \"Wireless Bluetooth Earbuds - Dark Red\",\n      \"sku\": \"WBEB-CC-991-RED\",\n      \"image\": \"https://cdn.example.com/img/original.jpg\",\n      \"sizes\": {\n        \"30\": \"https://cdn.example.com/img/30.jpg\",\n        \"150\": \"https://cdn.example.com/img/150.jpg\"\n      },\n      \"is_group\": false,\n      \"picked_quantity\": 3\n    },\n    {\n      \"id\": 1005,\n      \"name\": \"Gift Set\",\n      \"sku\": \"GIFT-SET-01\",\n      \"image\": \"https://cdn.example.com/img/set.jpg\",\n      \"sizes\": {},\n      \"is_group\": true,\n      \"picked_quantity\": 2\n    }\n  ]\n}"}],"_postman_id":"63c75652-9852-4a29-979b-4ad583c45ccf"}],"id":"e793559d-9cbd-485a-9393-f11106a31dc1","description":"<p><strong>Orders</strong> — 96 endpoints.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"e793559d-9cbd-485a-9393-f11106a31dc1","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Package Template","item":[{"name":"Package template list","id":"b1e3f9e9-49ae-4400-b5a7-15401728a7ee","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//package-template","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>query</code></td>\n<td>Filter by Query.</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>Filter by Name.</td>\n</tr>\n<tr>\n<td><code>is_active</code></td>\n<td>Filter by Is Active.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>items</code></li>\n<li><code>items.inventory</code></li>\n<li><code>items.inventory.meta</code></li>\n<li><code>items.inventory.dimension</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","package-template"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Query.</p>\n","type":"text/plain"},"key":"query","value":""},{"disabled":true,"description":{"content":"<p>Filter by Name.</p>\n","type":"text/plain"},"key":"name","value":""},{"disabled":true,"description":{"content":"<p>Filter by Is Active.</p>\n","type":"text/plain"},"key":"is_active","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>items</code> - <code>items.inventory</code> - <code>items.inventory.meta</code> - <code>items.inventory.dimension</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[]}},"response":[],"_postman_id":"b1e3f9e9-49ae-4400-b5a7-15401728a7ee"},{"name":"Package template create","id":"e5c8dc5d-c2bf-46c3-8808-f78844e13828","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"name\": \"name\",\n  \"length\": 0,\n  \"width\": 0,\n  \"height\": 0,\n  \"weight_type\": \"1\",\n  \"weight\": 0,\n  \"is_active\": false,\n  \"items\": [\n    {\n      \"inventory_id\": \"{{inventory_id}}\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//package-template","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>length</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>width</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>height</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>weight_type</code></td>\n<td>string</td>\n<td>yes</td>\n<td><strong>ShipmentPackageTemplateWeightType</strong> values: - <code>1</code> = FIXED - <code>2</code> = VARIABLE Allowed: <code>1</code>, <code>2</code></td>\n</tr>\n<tr>\n<td><code>weight</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>is_active</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.inventory_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","package-template"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"e5c8dc5d-c2bf-46c3-8808-f78844e13828"},{"name":"Package template sort","id":"3563ebbc-6f00-4159-b46d-754da2b01de0","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"package_templates\": [\n    {\n      \"template_id\": \"{{template_id}}\"\n    }\n  ],\n  \"sort_number\": [\n    {\n      \"sort_number\": 0\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//package-template/sort","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>package_templates</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>package_templates.*.template_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sort_number</code></td>\n<td>array</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sort_number.*.sort_number</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","package-template","sort"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"3563ebbc-6f00-4159-b46d-754da2b01de0"},{"name":"Package template show","id":"f2bc9298-b14b-49f4-93e4-6d2b520795e4","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//package-template/:packageTemplateID","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>packageTemplateID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>items</code></li>\n<li><code>items.inventory</code></li>\n<li><code>items.inventory.meta</code></li>\n<li><code>items.inventory.dimension</code></li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","package-template",":packageTemplateID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>items</code> - <code>items.inventory</code> - <code>items.inventory.meta</code> - <code>items.inventory.dimension</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"e0e443da-36e4-4cea-985e-23ad3add1a2e","type":"any","value":"","key":"packageTemplateID"}]}},"response":[],"_postman_id":"f2bc9298-b14b-49f4-93e4-6d2b520795e4"},{"name":"Package template update","id":"8e49eed8-5e21-45c0-83e3-33dcf51de86e","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"package_template_id\": \"{{package_template_id}}\",\n  \"name\": \"name\",\n  \"length\": 0,\n  \"width\": 0,\n  \"height\": 0,\n  \"weight_type\": \"1\",\n  \"weight\": 0,\n  \"items\": [\n    {\n      \"inventory_id\": \"{{inventory_id}}\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//package-template/:packageTemplateID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>packageTemplateID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>package_template_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>length</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>width</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>height</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>weight_type</code></td>\n<td>string</td>\n<td>yes</td>\n<td><strong>ShipmentPackageTemplateWeightType</strong> values: - <code>1</code> = FIXED - <code>2</code> = VARIABLE Allowed: <code>1</code>, <code>2</code></td>\n</tr>\n<tr>\n<td><code>weight</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.inventory_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","package-template",":packageTemplateID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"5cead78f-d467-401e-84de-8963de6ade1f","type":"any","value":"","key":"packageTemplateID"}]}},"response":[],"_postman_id":"8e49eed8-5e21-45c0-83e3-33dcf51de86e"},{"name":"Package template delete","id":"8dca7d6e-3156-4b86-becc-eecc01753075","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//package-template/:packageTemplateID?company_id=&package_template_id=","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>packageTemplateID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>package_template_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","package-template",":packageTemplateID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"package_template_id","value":""}],"variable":[{"id":"f1c94645-c3ec-437a-8afb-4faca3869b4d","type":"any","value":"","key":"packageTemplateID"}]}},"response":[],"_postman_id":"8dca7d6e-3156-4b86-becc-eecc01753075"},{"name":"Package template status update","id":"f18e00dc-32a4-4fa5-809f-154b8a14e5ef","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"package_template_id\": \"{{package_template_id}}\",\n  \"is_active\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//package-template/:packageTemplateID/status","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>packageTemplateID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>package_template_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>is_active</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","package-template",":packageTemplateID","status"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"233317d7-02c7-4877-91e8-56d236bc51fe","type":"any","value":"","key":"packageTemplateID"}]}},"response":[],"_postman_id":"f18e00dc-32a4-4fa5-809f-154b8a14e5ef"},{"name":"Package template duplicate","id":"c94fd37b-69e8-4571-a800-cc458ec00a29","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//package-template/:packageTemplateID/duplicate?company_id=&package_template_id=","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>packageTemplateID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>package_template_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","package-template",":packageTemplateID","duplicate"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"package_template_id","value":""}],"variable":[{"id":"49b915cd-c4be-4adf-a400-3c899e4b47f7","type":"any","value":"","key":"packageTemplateID"}]}},"response":[],"_postman_id":"c94fd37b-69e8-4571-a800-cc458ec00a29"}],"id":"22a5afdf-dfc3-4f95-8f48-8b38293550fd","description":"<p><strong>Package Template</strong> — 8 endpoints.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"22a5afdf-dfc3-4f95-8f48-8b38293550fd","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Payment Methods","item":[{"name":"Payment methods available providers","id":"f625cfcb-50b2-4051-824e-7d16ae01a608","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//payment-methods/available-providers","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","payment-methods","available-providers"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"f625cfcb-50b2-4051-824e-7d16ae01a608"},{"name":"Payment methods multiple types","id":"57e6c177-7f63-4e95-9397-1f0a93692ef3","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//payment-methods/multiple-types","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","payment-methods","multiple-types"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"57e6c177-7f63-4e95-9397-1f0a93692ef3"},{"name":"Payment methods forms","id":"ad7b884b-e27c-488e-978d-ddfe99f17db3","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//payment-methods/forms/:paymentMethodType?payment_method_type=","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>paymentMethodType</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>payment_method_type</code></td>\n<td>Options: <code>3</code>, <code>2</code></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","payment-methods","forms",":paymentMethodType"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"payment_method_type","value":""}],"variable":[{"id":"f756ebb0-0717-43b3-913d-1969bc3c2fe7","type":"any","value":"","key":"paymentMethodType"}]}},"response":[],"_postman_id":"ad7b884b-e27c-488e-978d-ddfe99f17db3"},{"name":"Payment methods test connection","id":"5f388dfd-fa92-426d-be87-bf1b2bc1dc3b","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"name\": \"name\",\n  \"payment_method_type\": \"3\",\n  \"is_active\": false,\n  \"credentials\": [\n    \"\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//payment-methods/test-connection","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>payment_method_type</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>3</code>, <code>2</code></td>\n</tr>\n<tr>\n<td><code>is_active</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>credentials</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","payment-methods","test-connection"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"5f388dfd-fa92-426d-be87-bf1b2bc1dc3b"},{"name":"Payment methods list","id":"2496e405-5cab-4306-8670-e46e4167179b","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//payment-methods","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>search</code></td>\n<td>Filter by Search.</td>\n</tr>\n<tr>\n<td><code>query</code></td>\n<td>Filter by Query.</td>\n</tr>\n<tr>\n<td><code>is_active</code></td>\n<td>Filter by Is Active.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>credentials</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","payment-methods"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Search.</p>\n","type":"text/plain"},"key":"search","value":""},{"disabled":true,"description":{"content":"<p>Filter by Query.</p>\n","type":"text/plain"},"key":"query","value":""},{"disabled":true,"description":{"content":"<p>Filter by Is Active.</p>\n","type":"text/plain"},"key":"is_active","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>credentials</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[]}},"response":[],"_postman_id":"2496e405-5cab-4306-8670-e46e4167179b"},{"name":"Payment methods create","id":"33de68f5-9083-460a-afb8-21eb04e19b29","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"name\": \"name\",\n  \"payment_method_type\": \"3\",\n  \"is_active\": false,\n  \"credentials\": [\n    \"\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//payment-methods","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>payment_method_type</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>3</code>, <code>2</code></td>\n</tr>\n<tr>\n<td><code>is_active</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>credentials</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","payment-methods"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"33de68f5-9083-460a-afb8-21eb04e19b29"},{"name":"Payment methods show","id":"71015d83-5ffd-48ab-9e06-4871683e7d09","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//payment-methods/:paymentMethodID","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>paymentMethodID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>credentials</code></li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","payment-methods",":paymentMethodID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>credentials</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"0e80a1b4-921d-4558-9b34-89066eeb7265","type":"any","value":"","key":"paymentMethodID"}]}},"response":[],"_postman_id":"71015d83-5ffd-48ab-9e06-4871683e7d09"},{"name":"Payment methods update","id":"d2295860-2f20-47d7-b41a-bf29f2075014","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"payment_method_type\": \"3\",\n  \"payment_method_id\": \"{{payment_method_id}}\",\n  \"name\": \"name\",\n  \"is_active\": false,\n  \"credentials\": [\n    \"\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//payment-methods/:paymentMethodID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>paymentMethodID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>payment_method_type</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>3</code>, <code>2</code></td>\n</tr>\n<tr>\n<td><code>payment_method_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>is_active</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>credentials</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","payment-methods",":paymentMethodID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"63a89e01-6561-4635-ab7d-810b47f417de","type":"any","value":"","key":"paymentMethodID"}]}},"response":[],"_postman_id":"d2295860-2f20-47d7-b41a-bf29f2075014"},{"name":"Payment methods update patch","id":"6e97f993-132d-480c-8598-19660e501f0b","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"payment_method_type\": \"3\",\n  \"payment_method_id\": \"{{payment_method_id}}\",\n  \"name\": \"name\",\n  \"is_active\": false,\n  \"credentials\": [\n    \"\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//payment-methods/:paymentMethodID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>paymentMethodID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>payment_method_type</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>3</code>, <code>2</code></td>\n</tr>\n<tr>\n<td><code>payment_method_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>is_active</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>credentials</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","payment-methods",":paymentMethodID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"0ea55a17-a374-491d-8bd0-959a31926aa6","type":"any","value":"","key":"paymentMethodID"}]}},"response":[],"_postman_id":"6e97f993-132d-480c-8598-19660e501f0b"},{"name":"Payment methods delete","id":"cbdcea3a-f0e3-4cd9-8a5e-5352814ee4cc","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//payment-methods/:paymentMethodID?company_id=&payment_method_id=","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>paymentMethodID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>payment_method_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","payment-methods",":paymentMethodID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"payment_method_id","value":""}],"variable":[{"id":"dc9a5b2e-6655-4c61-987f-db47481c19c0","type":"any","value":"","key":"paymentMethodID"}]}},"response":[],"_postman_id":"cbdcea3a-f0e3-4cd9-8a5e-5352814ee4cc"},{"name":"Payment methods status update","id":"5c7b66d2-5695-4797-8a98-da1f871bd545","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"payment_method_id\": \"{{payment_method_id}}\",\n  \"is_active\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//payment-methods/:paymentMethodID/status","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>paymentMethodID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>payment_method_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>is_active</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","payment-methods",":paymentMethodID","status"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"4f022451-a80a-49eb-96bc-2b89d1f353ea","type":"any","value":"","key":"paymentMethodID"}]}},"response":[],"_postman_id":"5c7b66d2-5695-4797-8a98-da1f871bd545"},{"name":"Payment methods restore","id":"af35dc3b-c5b0-4f7b-b066-9235282d47aa","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"payment_method_id\": \"{{payment_method_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//payment-methods/:paymentMethodID/restore","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>paymentMethodID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>payment_method_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","payment-methods",":paymentMethodID","restore"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"d6745ed2-59ec-4955-a11b-e817baf431c4","type":"any","value":"","key":"paymentMethodID"}]}},"response":[],"_postman_id":"af35dc3b-c5b0-4f7b-b066-9235282d47aa"}],"id":"e4361be6-1247-4da5-8fdf-cafa763361ce","description":"<p><strong>Payment Methods</strong> — 12 endpoints.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"e4361be6-1247-4da5-8fdf-cafa763361ce","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Pick Routines","item":[{"name":"Pick routines list","id":"97d9a383-e95e-4016-afa3-755fc9bd3e9b","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//pick-routines","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>filter[]</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sort</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>query</code></td>\n<td>Filter by Query.</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>Filter by Name.</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>Filter by Status.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>settings</code></li>\n<li><code>templates</code></li>\n<li><code>templates.assignedUsers</code></li>\n<li><code>templates.assignedUsers.user</code></li>\n<li><code>templates.assignedUsers.user.fileManager</code></li>\n<li><code>templates.filterGroups</code></li>\n<li><code>templates.filterGroups.filters</code></li>\n<li><code>filterGroups</code></li>\n<li><code>filterGroups.filters</code></li>\n<li><code>tags.tag</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","pick-routines"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"filter[]","value":""},{"disabled":true,"key":"sort","value":""},{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Query.</p>\n","type":"text/plain"},"key":"query","value":""},{"disabled":true,"description":{"content":"<p>Filter by Name.</p>\n","type":"text/plain"},"key":"name","value":""},{"disabled":true,"description":{"content":"<p>Filter by Status.</p>\n","type":"text/plain"},"key":"status","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>settings</code> - <code>templates</code> - <code>templates.assignedUsers</code> - <code>templates.assignedUsers.user</code> - <code>templates.assignedUsers.user.fileManager</code> - <code>templates.filterGroups</code> - <code>templates.filterGroups.filters</code> - <code>filterGroups</code> - <code>filterGroups.filters</code> - <code>tags.tag</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[]}},"response":[],"_postman_id":"97d9a383-e95e-4016-afa3-755fc9bd3e9b"},{"name":"Pick routines create","id":"c834c80a-91a6-4b63-9f36-c573a72b893f","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"name\",\n  \"pick_type\": \"1\",\n  \"order_filters\": [\n    \"\"\n  ],\n  \"settings\": {\n    \"multi_location_pick_type\": \"1\",\n    \"order_status_filter\": [\n      \"\"\n    ]\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//pick-routines","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>pick_type</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>order_filters</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>settings</code></td>\n<td>object</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>settings.multi_location_pick_type</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>settings.order_status_filter</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","pick-routines"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"c834c80a-91a6-4b63-9f36-c573a72b893f"},{"name":"Pick routines toggle","id":"9b699c39-ae23-4d0c-98d2-64ba629a8d2b","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"status\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//pick-routines/:pickRoutineID/toggle","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickRoutineID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>status</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","pick-routines",":pickRoutineID","toggle"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"c6a8eb4e-4cc1-45a9-bcb8-7075b9256ba0","type":"any","value":"","key":"pickRoutineID"}]}},"response":[],"_postman_id":"9b699c39-ae23-4d0c-98d2-64ba629a8d2b"},{"name":"Pick routines count","id":"779e20f4-65e5-4aed-b40d-a182bb4260e7","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"order_filters\": [\n    \"\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//pick-routines/:pickRoutineID/count","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickRoutineID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>order_filters</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","pick-routines",":pickRoutineID","count"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"fe564747-1888-43e2-84f8-882e273f98e2","type":"any","value":"","key":"pickRoutineID"}]}},"response":[],"_postman_id":"779e20f4-65e5-4aed-b40d-a182bb4260e7"},{"name":"Pick routines run","id":"202e38b7-a0cc-4f84-862c-b816d3742c1e","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"order_filters\": [\n    \"\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//pick-routines/:pickRoutineID/run","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickRoutineID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>order_filters</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","pick-routines",":pickRoutineID","run"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"4bd57c68-444f-4d4b-a2a1-997eb0f79caa","type":"any","value":"","key":"pickRoutineID"}]}},"response":[],"_postman_id":"202e38b7-a0cc-4f84-862c-b816d3742c1e"},{"name":"Pick routines show","id":"ddc29c00-400d-4ee9-85ee-1aab6e58a80a","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//pick-routines/:pickRoutineID","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickRoutineID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>settings</code></li>\n<li><code>templates</code></li>\n<li><code>templates.assignedUsers</code></li>\n<li><code>templates.assignedUsers.user</code></li>\n<li><code>templates.assignedUsers.user.fileManager</code></li>\n<li><code>templates.filterGroups</code></li>\n<li><code>templates.filterGroups.filters</code></li>\n<li><code>filterGroups</code></li>\n<li><code>filterGroups.filters</code></li>\n<li><code>tags.tag</code></li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","pick-routines",":pickRoutineID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>settings</code> - <code>templates</code> - <code>templates.assignedUsers</code> - <code>templates.assignedUsers.user</code> - <code>templates.assignedUsers.user.fileManager</code> - <code>templates.filterGroups</code> - <code>templates.filterGroups.filters</code> - <code>filterGroups</code> - <code>filterGroups.filters</code> - <code>tags.tag</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"f2faf4bc-d124-4e2e-8013-b117c996266f","type":"any","value":"","key":"pickRoutineID"}]}},"response":[],"_postman_id":"ddc29c00-400d-4ee9-85ee-1aab6e58a80a"},{"name":"Pick routines update","id":"9c49913f-4cbb-451e-b8d9-2da2312138e8","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"\",\n  \"settings\": [\n    \"\"\n  ],\n  \"order_filters\": [\n    \"\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//pick-routines/:pickRoutineID","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickRoutineID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>settings</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_filters</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","pick-routines",":pickRoutineID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"cc03191f-ff69-4712-9b3c-644281251126","type":"any","value":"","key":"pickRoutineID"}]}},"response":[],"_postman_id":"9c49913f-4cbb-451e-b8d9-2da2312138e8"},{"name":"Pick routines delete","id":"5d92e51e-1146-4089-942d-45fa035287d5","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//pick-routines/:pickRoutineID","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickRoutineID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","pick-routines",":pickRoutineID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"993f6c60-9d56-49ee-8a8f-296bfe92a081","type":"any","value":"","key":"pickRoutineID"}]}},"response":[],"_postman_id":"5d92e51e-1146-4089-942d-45fa035287d5"},{"name":"Pick routines tags list","id":"bb59ea05-001b-4ab4-9731-9c47764c2ec0","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//pick-routines/tags","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>filter[]</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>search</code></td>\n<td>Filter by Search.</td>\n</tr>\n<tr>\n<td><code>pick_id</code></td>\n<td>Filter by Pick Id.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","pick-routines","tags"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"filter[]","value":""},{"disabled":true,"description":{"content":"<p>Filter by Search.</p>\n","type":"text/plain"},"key":"search","value":""},{"disabled":true,"description":{"content":"<p>Filter by Pick Id.</p>\n","type":"text/plain"},"key":"pick_id","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""}],"variable":[]}},"response":[],"_postman_id":"bb59ea05-001b-4ab4-9731-9c47764c2ec0"},{"name":"Pick routines tags attached index","id":"0bd84bea-6240-4966-81f6-df71fc7301de","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//pick-routines/attached-tags","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>pick_routine_ids[]</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","pick-routines","attached-tags"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"pick_routine_ids[]","value":""}],"variable":[]}},"response":[],"_postman_id":"0bd84bea-6240-4966-81f6-df71fc7301de"},{"name":"Pick routines tags listing","id":"e49d99d5-b250-4dfa-b371-a073d842cd0e","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//pick-routines/:pickRoutineID/tags","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickRoutineID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","pick-routines",":pickRoutineID","tags"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"per_page","value":""}],"variable":[{"id":"33c9db3b-d120-47c2-b89f-a0a657cbb008","type":"any","value":"","key":"pickRoutineID"}]}},"response":[],"_postman_id":"e49d99d5-b250-4dfa-b371-a073d842cd0e"},{"name":"Pick routines tags create","id":"aca4d82b-9ff8-4fbf-8bb3-bf98855f0ebb","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"name\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//pick-routines/:pickRoutineID/tags","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickRoutineID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","pick-routines",":pickRoutineID","tags"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"87940fce-1ba5-4168-9e34-577660fd2495","type":"any","value":"","key":"pickRoutineID"}]}},"response":[],"_postman_id":"aca4d82b-9ff8-4fbf-8bb3-bf98855f0ebb"},{"name":"Pick routines tags attach","id":"50e97dfa-a258-43ed-b6b3-51da7f4e59ce","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"tag_id\": \"{{tag_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//pick-routines/:pickRoutineID/tags/attach","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickRoutineID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>tag_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","pick-routines",":pickRoutineID","tags","attach"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"85261442-cc75-48b3-9979-5dfb785c00ec","type":"any","value":"","key":"pickRoutineID"}]}},"response":[],"_postman_id":"50e97dfa-a258-43ed-b6b3-51da7f4e59ce"},{"name":"Pick routines tags detach","id":"a3b94db2-4ce2-447d-897e-11eda3c75c3c","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"tag_id\": \"{{tag_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//pick-routines/:pickRoutineID/tags/detach","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickRoutineID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>tag_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","pick-routines",":pickRoutineID","tags","detach"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"d5360419-ce89-4d8c-8ced-6a7654534f1b","type":"any","value":"","key":"pickRoutineID"}]}},"response":[],"_postman_id":"a3b94db2-4ce2-447d-897e-11eda3c75c3c"},{"name":"Pick routines templates sort","id":"c2861e9a-607f-4371-a5ce-1c379d871e47","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"sort\": \"\",\n  \"templates\": [\n    \"\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//pick-routines/:pickRoutineID/templates/sort","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickRoutineID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>sort</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>templates</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","pick-routines",":pickRoutineID","templates","sort"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"b9c67238-38c8-4f11-bfbe-4a29e6b5aa57","type":"any","value":"","key":"pickRoutineID"}]}},"response":[],"_postman_id":"c2861e9a-607f-4371-a5ce-1c379d871e47"},{"name":"Pick routines templates sync","id":"e4e77c1a-f0ce-4d19-b147-43b633919e41","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"templates\": [\n    \"\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//pick-routines/:pickRoutineID/templates/sync","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickRoutineID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>templates</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","pick-routines",":pickRoutineID","templates","sync"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"0d967e45-4eee-4c98-a06d-87f81a41c438","type":"any","value":"","key":"pickRoutineID"}]}},"response":[],"_postman_id":"e4e77c1a-f0ce-4d19-b147-43b633919e41"},{"name":"Pick routines templates list","id":"82b5c0e4-1652-4395-97bd-c06b51a3e9d3","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//pick-routines/:pickRoutineID/templates","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickRoutineID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>filter[]</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sort</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>pick_routine_id</code></td>\n<td>Filter by Pick Routine Id.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>assignedUsers</code></li>\n<li><code>assignedUsers.user</code></li>\n<li><code>assignedUsers.user.fileManager</code></li>\n<li><code>filterGroups</code></li>\n<li><code>filterGroups.filters</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","pick-routines",":pickRoutineID","templates"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"filter[]","value":""},{"disabled":true,"key":"sort","value":""},{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Pick Routine Id.</p>\n","type":"text/plain"},"key":"pick_routine_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>assignedUsers</code> - <code>assignedUsers.user</code> - <code>assignedUsers.user.fileManager</code> - <code>filterGroups</code> - <code>filterGroups.filters</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"4b3269d7-e093-4ae3-b60d-a6826aca12b8","type":"any","value":"","key":"pickRoutineID"}]}},"response":[],"_postman_id":"82b5c0e4-1652-4395-97bd-c06b51a3e9d3"},{"name":"Pick routines templates create","id":"abc01752-5c6d-48e7-a0f7-294767ab5b7d","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"name\",\n  \"split_picks\": false,\n  \"split_per_zone\": false,\n  \"maximum_lines\": 1\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//pick-routines/:pickRoutineID/templates","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickRoutineID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>split_picks</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>split_per_zone</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>maximum_lines</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>Mutually exclusive with maximum_units and maximum_orders.</td>\n</tr>\n<tr>\n<td><code>maximum_units</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>Mutually exclusive with maximum_lines and maximum_orders.</td>\n</tr>\n<tr>\n<td><code>maximum_orders</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>Mutually exclusive with maximum_lines and maximum_units.</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","pick-routines",":pickRoutineID","templates"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"f29009bc-f9e2-4e79-874e-89b8a32b0bfa","type":"any","value":"","key":"pickRoutineID"}]}},"response":[],"_postman_id":"abc01752-5c6d-48e7-a0f7-294767ab5b7d"},{"name":"Pick routines templates show","id":"3bf9afff-fef3-4c66-b8a6-cc5fbfce24ed","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//pick-routines/:pickRoutineID/templates/:pickRoutineTemplateID","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickRoutineID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickRoutineTemplateID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>assignedUsers</code></li>\n<li><code>assignedUsers.user</code></li>\n<li><code>assignedUsers.user.fileManager</code></li>\n<li><code>filterGroups</code></li>\n<li><code>filterGroups.filters</code></li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","pick-routines",":pickRoutineID","templates",":pickRoutineTemplateID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>assignedUsers</code> - <code>assignedUsers.user</code> - <code>assignedUsers.user.fileManager</code> - <code>filterGroups</code> - <code>filterGroups.filters</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"c4a5c8cc-a62f-49df-a60d-d88eb3ab6c81","type":"any","value":"","key":"pickRoutineID"},{"id":"238a7dcd-d149-4bb6-9564-d3f6df67adde","type":"any","value":"","key":"pickRoutineTemplateID"}]}},"response":[],"_postman_id":"3bf9afff-fef3-4c66-b8a6-cc5fbfce24ed"},{"name":"Pick routines templates update","id":"48b2b90e-e2d4-4631-a6f9-fddbe6edc4a2","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"\",\n  \"split_picks\": false,\n  \"split_per_zone\": false,\n  \"maximum_lines\": 1\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//pick-routines/:pickRoutineID/templates/:pickRoutineTemplateID","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickRoutineID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickRoutineTemplateID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>split_picks</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>split_per_zone</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>maximum_lines</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>Mutually exclusive with maximum_units and maximum_orders.</td>\n</tr>\n<tr>\n<td><code>maximum_units</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>Mutually exclusive with maximum_lines and maximum_orders.</td>\n</tr>\n<tr>\n<td><code>maximum_orders</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>Mutually exclusive with maximum_lines and maximum_units.</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","pick-routines",":pickRoutineID","templates",":pickRoutineTemplateID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"964c9049-47fc-44b1-af47-b86935a8e028","type":"any","value":"","key":"pickRoutineID"},{"id":"8a79f7f7-7b7d-403a-abe4-05f202d209f6","type":"any","value":"","key":"pickRoutineTemplateID"}]}},"response":[],"_postman_id":"48b2b90e-e2d4-4631-a6f9-fddbe6edc4a2"},{"name":"Pick routines templates delete","id":"97b49c41-50fa-4a34-ad3f-aa797ba0a9a7","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//pick-routines/:pickRoutineID/templates/:pickRoutineTemplateID","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickRoutineID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickRoutineTemplateID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","pick-routines",":pickRoutineID","templates",":pickRoutineTemplateID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"78918418-4d22-410b-975d-93b32451a05c","type":"any","value":"","key":"pickRoutineID"},{"id":"23b43fb6-9f16-4853-96c2-383e05eaa56c","type":"any","value":"","key":"pickRoutineTemplateID"}]}},"response":[],"_postman_id":"97b49c41-50fa-4a34-ad3f-aa797ba0a9a7"}],"id":"d11d59a0-fa82-4618-b4da-30eab357e909","description":"<p><strong>Pick Routines</strong> — 21 endpoints.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"d11d59a0-fa82-4618-b4da-30eab357e909","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Pick Tags","item":[{"name":"Pick tags list","id":"0640e354-597a-4d78-a969-8afc5e9d535d","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//pick-tags","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>search</code></td>\n<td>Filter by Search.</td>\n</tr>\n<tr>\n<td><code>pick_id</code></td>\n<td>Filter by Pick Id.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","pick-tags"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"description":{"content":"<p>Filter by Search.</p>\n","type":"text/plain"},"key":"search","value":""},{"disabled":true,"description":{"content":"<p>Filter by Pick Id.</p>\n","type":"text/plain"},"key":"pick_id","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""}],"variable":[]}},"response":[],"_postman_id":"0640e354-597a-4d78-a969-8afc5e9d535d"},{"name":"Pick tags bulk attach","id":"aab4f082-e737-4b46-ade8-02e4a7fef455","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"items\": [\n    {\n      \"pick_id\": \"{{pick_id}}\",\n      \"tag_name\": \"tag_name\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//pick-tags/bulk-attach","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>items</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.pick_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.tag_name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","pick-tags","bulk-attach"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"aab4f082-e737-4b46-ade8-02e4a7fef455"},{"name":"Pick tags bulk detach","id":"c449121d-8a29-4b3c-9c92-5e8ffaa45782","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"items\": [\n    {\n      \"pick_id\": \"{{pick_id}}\",\n      \"tag_id\": \"{{tag_id}}\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//pick-tags/bulk-detach","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>items</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.pick_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.tag_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","pick-tags","bulk-detach"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"c449121d-8a29-4b3c-9c92-5e8ffaa45782"},{"name":"Pick tags attached tags","id":"7d3c5aa9-b13c-4e58-a2f9-cdbea39da74a","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//pick-tags/attached-tags","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>pick_ids[]</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","pick-tags","attached-tags"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"pick_ids[]","value":""}],"variable":[]}},"response":[],"_postman_id":"7d3c5aa9-b13c-4e58-a2f9-cdbea39da74a"}],"id":"35f4f892-266b-4b22-bbb9-148bfca3e7d4","description":"<p><strong>Pick Tags</strong> — 4 endpoints.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"35f4f892-266b-4b22-bbb9-148bfca3e7d4","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Pick Transactions","item":[{"name":"Pick transactions list","id":"fd0a278c-5f30-4fb5-bd08-331d69c1df79","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//pick-transactions","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>filter[]</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sort</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>Filter by Status.</td>\n</tr>\n<tr>\n<td><code>skipped</code></td>\n<td>Filter by Skipped.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>logs</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","pick-transactions"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"filter[]","value":""},{"disabled":true,"key":"sort","value":""},{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Status.</p>\n","type":"text/plain"},"key":"status","value":""},{"disabled":true,"description":{"content":"<p>Filter by Skipped.</p>\n","type":"text/plain"},"key":"skipped","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>logs</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[]}},"response":[],"_postman_id":"fd0a278c-5f30-4fb5-bd08-331d69c1df79"},{"name":"Pick transactions show","id":"35ff905c-616f-40a2-816b-c1f8c9a2cf6f","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//pick-transactions/:pickTransactionID","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickTransactionID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","pick-transactions",":pickTransactionID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""}],"variable":[{"id":"08d45c01-483f-4941-9639-c5d111aea3c1","type":"any","value":"","key":"pickTransactionID"}]}},"response":[],"_postman_id":"35ff905c-616f-40a2-816b-c1f8c9a2cf6f"},{"name":"Pick transactions logs","id":"764234f7-2022-4a91-abcc-a261833029fd","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//pick-transactions/:pickTransactionID/logs","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickTransactionID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>filter[]</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","pick-transactions",":pickTransactionID","logs"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"filter[]","value":""},{"disabled":true,"key":"page","value":""},{"disabled":true,"key":"per_page","value":""}],"variable":[{"id":"cc1775df-cbbb-42ab-94c5-76ec7823ea6e","type":"any","value":"","key":"pickTransactionID"}]}},"response":[],"_postman_id":"764234f7-2022-4a91-abcc-a261833029fd"},{"name":"Pick transactions grouped logs","id":"70b39c85-35c1-428c-94e1-6e356d23286f","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//pick-transactions/:pickTransactionID/grouped-logs","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickTransactionID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","pick-transactions",":pickTransactionID","grouped-logs"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""}],"variable":[{"id":"317afe47-0430-49b4-b154-13404d4edea3","type":"any","value":"","key":"pickTransactionID"}]}},"response":[],"_postman_id":"70b39c85-35c1-428c-94e1-6e356d23286f"},{"name":"Pick transactions create tag","id":"5a5e51e1-2e04-4293-ae72-7376199b8691","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//pick-transactions/:pickTransactionID/create-tag","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickTransactionID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","pick-transactions",":pickTransactionID","create-tag"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"a69fc5fc-4931-4f2f-beca-d5ca682c3ddc","type":"any","value":"","key":"pickTransactionID"}]}},"response":[],"_postman_id":"5a5e51e1-2e04-4293-ae72-7376199b8691"},{"name":"Pick transactions create folder","id":"33a07254-07b0-42ad-8d40-026f8bd72a00","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//pick-transactions/:pickTransactionID/create-folder","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickTransactionID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","pick-transactions",":pickTransactionID","create-folder"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"23e262d2-2534-4fef-b681-5a234757b1f2","type":"any","value":"","key":"pickTransactionID"}]}},"response":[],"_postman_id":"33a07254-07b0-42ad-8d40-026f8bd72a00"}],"id":"1ea9af7b-9127-42e7-aba0-6a2ab90f286d","description":"<p><strong>Pick Transactions</strong> — 6 endpoints.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"1ea9af7b-9127-42e7-aba0-6a2ab90f286d","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Picks","item":[{"name":"Picks bulk update","id":"c7ca769e-7f35-4333-978f-737f77cac3c9","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"picks\": [\n    {\n      \"id\": \"{{id}}\",\n      \"name\": \"\",\n      \"is_hold\": false\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//picks/bulk-update","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>picks</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>picks.*.id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>picks.*.name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>picks.*.is_hold</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","picks","bulk-update"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"c7ca769e-7f35-4333-978f-737f77cac3c9"},{"name":"Picks bulk archive","id":"42cedc08-b74b-4869-8927-7f0d021eecb8","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"pick_ids\": [\n    \"{{pick_id}}\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//picks/bulk-archive","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>pick_ids</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","picks","bulk-archive"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"42cedc08-b74b-4869-8927-7f0d021eecb8"},{"name":"Picks bulk delete","id":"d8b75f2d-0a41-467a-9bce-9d92fc95af89","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"pick_ids\": [\n    \"{{pick_id}}\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//picks/bulk-delete","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>pick_ids</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","picks","bulk-delete"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"d8b75f2d-0a41-467a-9bce-9d92fc95af89"},{"name":"Picks store for order","id":"05198aa0-3b05-4181-8c72-25a065685123","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"order_id\": \"{{order_id}}\",\n  \"name\": \"\",\n  \"tags\": [\n    \"\"\n  ],\n  \"settings\": {\n    \"multi_location_pick_type\": \"1\",\n    \"assigned_users\": [\n      0\n    ]\n  },\n  \"items\": [\n    {\n      \"order_item_id\": \"{{order_item_id}}\",\n      \"location_id\": \"{{location_id}}\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//picks/for-order","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p>Unlike POST /picks — which selects orders by filter and queues the work,\nreporting only a pick transaction — this creates the pick inline for a\nsingle order and returns it, so a terminal can go straight on to\ncompleting it. Every line you list is allocated from the location you name\n(422 if that location cannot cover it); any remaining line of the order is\nallocated by the normal stock-selection rules. The pick comes back in\nREADY_FOR_PICK with its items, whose ids drive completion — either\nPATCH /picks/{pick_id}/items/bulk-update-picked-quantity to send it to the\nwarehouse's configured Picked location in one call, or\nbulk-update-action-quantity followed by POST /picks/{pick_id}/publish to\nchoose a different goods-out location.</p>\n<p>Use GET /picks/for-order/available-locations first to discover which\nlocations each line can be picked from.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tags</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>settings</code></td>\n<td>object</td>\n<td>no</td>\n<td>Same shape as POST /picks (Pick\\StoreRequest), minus the members that only describe how to FIND orders. Both are optional here because the caller already named the order and its locations.</td>\n</tr>\n<tr>\n<td><code>settings.multi_location_pick_type</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>settings.assigned_users</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.order_item_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.location_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","picks","for-order"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"05198aa0-3b05-4181-8c72-25a065685123"},{"name":"Picks for order available locations","id":"65991c09-04a3-45a2-9d39-355ed5d3e583","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//picks/for-order/available-locations?order_id=","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p>The companion lookup for POST /picks/for-order, which requires a\nlocation_id per line: this applies the same eligibility rules the create\nenforces (pickable storage type, enough stock net of other picks'\nreservations, staging locations excluded), so a location listed here is\none the create accepts. Unlike the per-pick-item available-locations\naction it needs no existing pick.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>order_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>search</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","picks","for-order","available-locations"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"order_id","value":""},{"disabled":true,"key":"search","value":""}],"variable":[]}},"response":[],"_postman_id":"65991c09-04a3-45a2-9d39-355ed5d3e583"},{"name":"Picks list","id":"c7bc65f6-1ca7-4707-a3f3-f04455fdf49c","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//picks","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>filter[]</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sort</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>query</code></td>\n<td>Filter by Query.</td>\n</tr>\n<tr>\n<td><code>inventory_name</code></td>\n<td>Filter by Inventory Name.</td>\n</tr>\n<tr>\n<td><code>tag_id</code></td>\n<td>Filter by Tag Id.</td>\n</tr>\n<tr>\n<td><code>inventory_code</code></td>\n<td>Filter by Inventory Code.</td>\n</tr>\n<tr>\n<td><code>pick_type</code></td>\n<td>Filter by Pick Type.</td>\n</tr>\n<tr>\n<td><code>order_number</code></td>\n<td>Filter by Order Number.</td>\n</tr>\n<tr>\n<td><code>tote</code></td>\n<td>Filter by Tote.</td>\n</tr>\n<tr>\n<td><code>location_id</code></td>\n<td>Filter by Location Id.</td>\n</tr>\n<tr>\n<td><code>zone_id</code></td>\n<td>Filter by Zone Id.</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>Filter by Status.</td>\n</tr>\n<tr>\n<td><code>assigned_user_id</code></td>\n<td>Filter by Assigned User Id.</td>\n</tr>\n<tr>\n<td><code>assigned_user_date_from</code></td>\n<td>Filter by Assigned User Date From.</td>\n</tr>\n<tr>\n<td><code>assigned_user_date_to</code></td>\n<td>Filter by Assigned User Date To.</td>\n</tr>\n<tr>\n<td><code>created_at_from</code></td>\n<td>Filter by Created At From.</td>\n</tr>\n<tr>\n<td><code>created_at_to</code></td>\n<td>Filter by Created At To.</td>\n</tr>\n<tr>\n<td><code>archived</code></td>\n<td>Filter by Archived.</td>\n</tr>\n<tr>\n<td><code>items_count_from</code></td>\n<td>Filter by Items Count From.</td>\n</tr>\n<tr>\n<td><code>items_count_to</code></td>\n<td>Filter by Items Count To.</td>\n</tr>\n<tr>\n<td><code>lines_count_from</code></td>\n<td>Filter by Lines Count From.</td>\n</tr>\n<tr>\n<td><code>lines_count_to</code></td>\n<td>Filter by Lines Count To.</td>\n</tr>\n<tr>\n<td><code>completed_at_from</code></td>\n<td>Filter by Completed At From.</td>\n</tr>\n<tr>\n<td><code>completed_at_to</code></td>\n<td>Filter by Completed At To.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>user</code></li>\n<li><code>assignedUser</code></li>\n<li><code>assignedUser.timeTracking</code></li>\n<li><code>assignedUser.user</code></li>\n<li><code>assignedUser.user.fileManager</code></li>\n<li><code>assignedUsers</code></li>\n<li><code>assignedUsers.timeTracking</code></li>\n<li><code>assignedUsers.user</code></li>\n<li><code>assignedUsers.user.fileManager</code></li>\n<li><code>settings</code></li>\n<li><code>tags.tag</code></li>\n<li><code>items.order.channel.settings</code></li>\n<li><code>inventory.meta</code></li>\n<li><code>inventory.barcodes</code></li>\n<li><code>items.orderItem</code></li>\n<li><code>items.orderItem.options</code></li>\n<li><code>items.location.zone</code></li>\n<li><code>items.tote</code></li>\n<li><code>items.items.order.pregeneratedShipment</code></li>\n<li><code>items.items.order.pregeneratedShipment.shipmentFile</code></li>\n<li><code>items.items.order.pregeneratedShipment.parcels</code></li>\n<li><code>items.items.order.pregeneratedShipment.parcels.parcelFile</code></li>\n<li><code>items.items.order.pregeneratedShipment.parcels.items</code></li>\n<li><code>meta</code></li>\n<li><code>inventory.batches</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","picks"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"filter[]","value":""},{"disabled":true,"key":"sort","value":""},{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Query.</p>\n","type":"text/plain"},"key":"query","value":""},{"disabled":true,"description":{"content":"<p>Filter by Inventory Name.</p>\n","type":"text/plain"},"key":"inventory_name","value":""},{"disabled":true,"description":{"content":"<p>Filter by Tag Id.</p>\n","type":"text/plain"},"key":"tag_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Inventory Code.</p>\n","type":"text/plain"},"key":"inventory_code","value":""},{"disabled":true,"description":{"content":"<p>Filter by Pick Type.</p>\n","type":"text/plain"},"key":"pick_type","value":""},{"disabled":true,"description":{"content":"<p>Filter by Order Number.</p>\n","type":"text/plain"},"key":"order_number","value":""},{"disabled":true,"description":{"content":"<p>Filter by Tote.</p>\n","type":"text/plain"},"key":"tote","value":""},{"disabled":true,"description":{"content":"<p>Filter by Location Id.</p>\n","type":"text/plain"},"key":"location_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Zone Id.</p>\n","type":"text/plain"},"key":"zone_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Status.</p>\n","type":"text/plain"},"key":"status","value":""},{"disabled":true,"description":{"content":"<p>Filter by Assigned User Id.</p>\n","type":"text/plain"},"key":"assigned_user_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Assigned User Date From.</p>\n","type":"text/plain"},"key":"assigned_user_date_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Assigned User Date To.</p>\n","type":"text/plain"},"key":"assigned_user_date_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Created At From.</p>\n","type":"text/plain"},"key":"created_at_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Created At To.</p>\n","type":"text/plain"},"key":"created_at_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Archived.</p>\n","type":"text/plain"},"key":"archived","value":""},{"disabled":true,"description":{"content":"<p>Filter by Items Count From.</p>\n","type":"text/plain"},"key":"items_count_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Items Count To.</p>\n","type":"text/plain"},"key":"items_count_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Lines Count From.</p>\n","type":"text/plain"},"key":"lines_count_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Lines Count To.</p>\n","type":"text/plain"},"key":"lines_count_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Completed At From.</p>\n","type":"text/plain"},"key":"completed_at_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Completed At To.</p>\n","type":"text/plain"},"key":"completed_at_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>user</code> - <code>assignedUser</code> - <code>assignedUser.timeTracking</code> - <code>assignedUser.user</code> - <code>assignedUser.user.fileManager</code> - <code>assignedUsers</code> - <code>assignedUsers.timeTracking</code> - <code>assignedUsers.user</code> - <code>assignedUsers.user.fileManager</code> - <code>settings</code> - <code>tags.tag</code> - <code>items.order.channel.settings</code> - <code>inventory.meta</code> - <code>inventory.barcodes</code> - <code>items.orderItem</code> - <code>items.orderItem.options</code> - <code>items.location.zone</code> - <code>items.tote</code> - <code>items.items.order.pregeneratedShipment</code> - <code>items.items.order.pregeneratedShipment.shipmentFile</code> - <code>items.items.order.pregeneratedShipment.parcels</code> - <code>items.items.order.pregeneratedShipment.parcels.parcelFile</code> - <code>items.items.order.pregeneratedShipment.parcels.items</code> - <code>meta</code> - <code>inventory.batches</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[]}},"response":[],"_postman_id":"c7bc65f6-1ca7-4707-a3f3-f04455fdf49c"},{"name":"Picks create","id":"51509c59-7b18-44ba-9aa1-868742be394e","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"\",\n  \"pick_type\": \"1\",\n  \"wait_for_pick\": false,\n  \"filter_selection_type\": \"1\",\n  \"order_filters\": [\n    \"\"\n  ],\n  \"elastic_filters\": \"\",\n  \"settings\": {\n    \"multi_location_pick_type\": \"1\",\n    \"assigned_users\": [\n      0\n    ]\n  },\n  \"tags\": [\n    \"\"\n  ],\n  \"elastic_ignore_ids\": [\n    \"{{elastic_ignore_id}}\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//picks","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>pick_type</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>wait_for_pick</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>filter_selection_type</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code></td>\n</tr>\n<tr>\n<td><code>order_filters</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>elastic_filters</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>settings</code></td>\n<td>object</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>settings.multi_location_pick_type</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>settings.assigned_users</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tags</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>elastic_ignore_ids</code></td>\n<td>array</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","picks"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"51509c59-7b18-44ba-9aa1-868742be394e"},{"name":"Picks archive","id":"07decde5-e52e-4144-a3e7-a599aa71889d","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//picks/:pickID/archive","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","picks",":pickID","archive"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"26536c29-4d05-40a5-87a1-458381991ffc","type":"any","value":"","key":"pickID"}]}},"response":[],"_postman_id":"07decde5-e52e-4144-a3e7-a599aa71889d"},{"name":"Picks publish","id":"6052030c-236c-4278-907e-9b8daeec20d0","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"picked_location_id\": \"{{picked_location_id}}\",\n  \"completion_status\": \"1\",\n  \"pick_item_ids\": [\n    \"{{pick_item_id}}\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//picks/:pickID/publish","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>picked_location_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>completion_status</code></td>\n<td>string | null</td>\n<td>no</td>\n<td><strong>CompletionStatus</strong> values: - <code>1</code> = PICKED - <code>2</code> = SORTING Allowed: <code>1</code>, <code>2</code></td>\n</tr>\n<tr>\n<td><code>pick_item_ids</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","picks",":pickID","publish"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"058d22da-80fc-435a-adda-fb4e8549224a","type":"any","value":"","key":"pickID"}]}},"response":[],"_postman_id":"6052030c-236c-4278-907e-9b8daeec20d0"},{"name":"Picks pregenerated label","id":"c61e58ac-7b13-4a94-9930-abe0a0e4d8ef","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//picks/:pickID/orders/:orderID/pregenerated-label","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","picks",":pickID","orders",":orderID","pregenerated-label"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"810577af-ca41-4a84-9e49-b19413cf159e","type":"any","value":"","key":"pickID"},{"id":"74f271af-06cd-4c0c-a4d0-ee6171d79a1f","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"c61e58ac-7b13-4a94-9930-abe0a0e4d8ef"},{"name":"Picks show","id":"1d5b0dc5-fa13-48d2-b37c-60c00bf87ca8","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//picks/:pickID","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>user</code></li>\n<li><code>assignedUser</code></li>\n<li><code>assignedUser.timeTracking</code></li>\n<li><code>assignedUser.user</code></li>\n<li><code>assignedUser.user.fileManager</code></li>\n<li><code>assignedUsers</code></li>\n<li><code>assignedUsers.timeTracking</code></li>\n<li><code>assignedUsers.user</code></li>\n<li><code>assignedUsers.user.fileManager</code></li>\n<li><code>settings</code></li>\n<li><code>tags.tag</code></li>\n<li><code>items.order.channel.settings</code></li>\n<li><code>inventory.meta</code></li>\n<li><code>inventory.barcodes</code></li>\n<li><code>items.orderItem</code></li>\n<li><code>items.orderItem.options</code></li>\n<li><code>items.location.zone</code></li>\n<li><code>items.tote</code></li>\n<li><code>items.items.order.pregeneratedShipment</code></li>\n<li><code>items.items.order.pregeneratedShipment.shipmentFile</code></li>\n<li><code>items.items.order.pregeneratedShipment.parcels</code></li>\n<li><code>items.items.order.pregeneratedShipment.parcels.parcelFile</code></li>\n<li><code>items.items.order.pregeneratedShipment.parcels.items</code></li>\n<li><code>meta</code></li>\n<li><code>inventory.batches</code></li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","picks",":pickID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>user</code> - <code>assignedUser</code> - <code>assignedUser.timeTracking</code> - <code>assignedUser.user</code> - <code>assignedUser.user.fileManager</code> - <code>assignedUsers</code> - <code>assignedUsers.timeTracking</code> - <code>assignedUsers.user</code> - <code>assignedUsers.user.fileManager</code> - <code>settings</code> - <code>tags.tag</code> - <code>items.order.channel.settings</code> - <code>inventory.meta</code> - <code>inventory.barcodes</code> - <code>items.orderItem</code> - <code>items.orderItem.options</code> - <code>items.location.zone</code> - <code>items.tote</code> - <code>items.items.order.pregeneratedShipment</code> - <code>items.items.order.pregeneratedShipment.shipmentFile</code> - <code>items.items.order.pregeneratedShipment.parcels</code> - <code>items.items.order.pregeneratedShipment.parcels.parcelFile</code> - <code>items.items.order.pregeneratedShipment.parcels.items</code> - <code>meta</code> - <code>inventory.batches</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"a39a6fff-3e28-4dfb-ad0d-af8fa4efaeff","type":"any","value":"","key":"pickID"}]}},"response":[],"_postman_id":"1d5b0dc5-fa13-48d2-b37c-60c00bf87ca8"},{"name":"Picks update","id":"8be3d217-56d7-43b4-954b-38f9fec6874a","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"\",\n  \"is_hold\": false,\n  \"assigned_device_name\": \"\",\n  \"assigned_device_id\": \"{{assigned_device_id}}\",\n  \"items\": [\n    {\n      \"id\": \"{{id}}\",\n      \"location_id\": \"{{location_id}}\",\n      \"quantity\": 1\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//picks/:pickID","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>is_hold</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>assigned_device_name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>assigned_device_id</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.location_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.quantity</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","picks",":pickID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"5ef3928f-4544-43d4-945d-52f10ee039fa","type":"any","value":"","key":"pickID"}]}},"response":[],"_postman_id":"8be3d217-56d7-43b4-954b-38f9fec6874a"},{"name":"Picks delete","id":"1c0f9bb8-6384-435a-ae91-72253e3bd44d","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//picks/:pickID","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","picks",":pickID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"a89c76a6-f645-4a2e-a899-257a19eb5cec","type":"any","value":"","key":"pickID"}]}},"response":[],"_postman_id":"1c0f9bb8-6384-435a-ae91-72253e3bd44d"},{"name":"Picks archiveable","id":"2565c0b6-dc1a-42a9-9508-c3b644eee9f3","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//picks/archiveable","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>filter[]</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","picks","archiveable"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"filter[]","value":""}],"variable":[]}},"response":[],"_postman_id":"2565c0b6-dc1a-42a9-9508-c3b644eee9f3"},{"name":"Picks mark as complete","id":"ecc71bb9-8a91-481b-ae8c-cbbe6eef022d","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//picks/:pickID/mark-as-complete","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","picks",":pickID","mark-as-complete"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"32c9e4f8-c45b-45ef-b1e5-2f6b1f9eab0a","type":"any","value":"","key":"pickID"}]}},"response":[],"_postman_id":"ecc71bb9-8a91-481b-ae8c-cbbe6eef022d"},{"name":"Picks change picked location","id":"03c93675-d498-4f42-a7f7-6218cf28ebfc","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"picked_location_id\": \"{{picked_location_id}}\",\n  \"completion_status\": \"1\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//picks/:pickID/change-picked-location","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>picked_location_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>completion_status</code></td>\n<td>string | null</td>\n<td>no</td>\n<td><strong>CompletionStatus</strong> values: - <code>1</code> = PICKED - <code>2</code> = SORTING Allowed: <code>1</code>, <code>2</code></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","picks",":pickID","change-picked-location"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"c7458306-f07d-45b6-ab97-c2abc55948cb","type":"any","value":"","key":"pickID"}]}},"response":[],"_postman_id":"03c93675-d498-4f42-a7f7-6218cf28ebfc"},{"name":"Picks check action quantity","id":"166c6b86-c5de-45e6-bb2e-b3062ea654ac","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//picks/:pickID/check-action-quantity","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","picks",":pickID","check-action-quantity"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""}],"variable":[{"id":"e8e91dcf-1010-459c-835d-aa65f31c6a34","type":"any","value":"","key":"pickID"}]}},"response":[],"_postman_id":"166c6b86-c5de-45e6-bb2e-b3062ea654ac"},{"name":"Picks items bulk update","id":"ee7d528e-694e-4e9c-9c17-2c7d07c89acd","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"items\": [\n    {\n      \"id\": \"{{id}}\",\n      \"quantity\": 0,\n      \"location_id\": \"{{location_id}}\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//picks/:pickID/items/bulk-update","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>items</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.quantity</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.location_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","picks",":pickID","items","bulk-update"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"98cd46ae-e313-40a4-8a29-4a6a53c980ea","type":"any","value":"","key":"pickID"}]}},"response":[],"_postman_id":"ee7d528e-694e-4e9c-9c17-2c7d07c89acd"},{"name":"Picks items bulk update picked quantity","id":"73b609f3-b082-40b8-bb90-dc9f6352b5ac","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"picked_location_id\": \"{{picked_location_id}}\",\n  \"items\": [\n    {\n      \"pick_item_id\": \"{{pick_item_id}}\",\n      \"picked_quantity\": 0\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//picks/:pickID/items/bulk-update-picked-quantity","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>picked_location_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.pick_item_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.picked_quantity</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","picks",":pickID","items","bulk-update-picked-quantity"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"afa59a3f-9a2d-469e-a480-5fe9df866a5b","type":"any","value":"","key":"pickID"}]}},"response":[],"_postman_id":"73b609f3-b082-40b8-bb90-dc9f6352b5ac"},{"name":"Picks items bulk update action quantity","id":"756c567d-e3bb-430d-b25f-af8df28d8b84","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"items\": [\n    {\n      \"id\": \"{{id}}\",\n      \"action_quantity\": 0\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//picks/:pickID/items/bulk-update-action-quantity","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>items</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.action_quantity</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","picks",":pickID","items","bulk-update-action-quantity"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"9820ab4a-3839-49a9-a651-2f73ab48326f","type":"any","value":"","key":"pickID"}]}},"response":[],"_postman_id":"756c567d-e3bb-430d-b25f-af8df28d8b84"},{"name":"Picks items bulk update change location","id":"9af99d87-5e21-47c0-8cb6-da1d8bb34fc1","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"items\": [\n    {\n      \"id\": \"{{id}}\",\n      \"location_id\": \"{{location_id}}\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//picks/:pickID/items/bulk-update-change-location","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>items</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.location_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","picks",":pickID","items","bulk-update-change-location"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"50300c68-ee7e-45f5-a00e-7ff947ba5f76","type":"any","value":"","key":"pickID"}]}},"response":[],"_postman_id":"9af99d87-5e21-47c0-8cb6-da1d8bb34fc1"},{"name":"Picks items list","id":"f6473dc9-8ad0-4a5d-a12c-97da4fbf4aa3","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//picks/:pickID/items","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>filter[]</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sort</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>pick_id</code></td>\n<td>Filter by Pick Id.</td>\n</tr>\n<tr>\n<td><code>events</code></td>\n<td>Filter by Events.</td>\n</tr>\n<tr>\n<td><code>inventory_name</code></td>\n<td>Filter by Inventory Name.</td>\n</tr>\n<tr>\n<td><code>inventory_code</code></td>\n<td>Filter by Inventory Code.</td>\n</tr>\n<tr>\n<td><code>tote</code></td>\n<td>Filter by Tote.</td>\n</tr>\n<tr>\n<td><code>tote_barcode</code></td>\n<td>Filter by Tote Barcode.</td>\n</tr>\n<tr>\n<td><code>location_id</code></td>\n<td>Filter by Location Id.</td>\n</tr>\n<tr>\n<td><code>zone_id</code></td>\n<td>Filter by Zone Id.</td>\n</tr>\n<tr>\n<td><code>order_number</code></td>\n<td>Filter by Order Number.</td>\n</tr>\n<tr>\n<td><code>picked_quantity_to</code></td>\n<td>Filter by Picked Quantity To.</td>\n</tr>\n<tr>\n<td><code>pickable</code></td>\n<td>Filter by Pickable.</td>\n</tr>\n<tr>\n<td><code>assigned_user</code></td>\n<td>Filter by Assigned User.</td>\n</tr>\n<tr>\n<td><code>picked_quantity_from</code></td>\n<td>Filter by Picked Quantity From.</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>Filter by Status.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>location</code></li>\n<li><code>location.zone</code></li>\n<li><code>zone</code></li>\n<li><code>tote</code></li>\n<li><code>items</code></li>\n<li><code>items.order</code></li>\n<li><code>items.order.channel</code></li>\n<li><code>items.order.channel.settings</code></li>\n<li><code>items.orderItem</code></li>\n<li><code>inventory</code></li>\n<li><code>inventory.meta</code></li>\n<li><code>inventory.settings</code></li>\n<li><code>events</code></li>\n<li><code>events.user</code></li>\n<li><code>inventory.barcodes</code></li>\n<li><code>inventory.batches</code></li>\n<li><code>items.orderItem.options</code></li>\n<li><code>items.order.pregeneratedShipment</code></li>\n<li><code>items.order.pregeneratedShipment.shipmentFile</code></li>\n<li><code>items.order.pregeneratedShipment.parcels</code></li>\n<li><code>items.order.pregeneratedShipment.parcels.parcelFile</code></li>\n<li><code>items.order.pregeneratedShipment.parcels.items</code></li>\n<li><code>batch</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","picks",":pickID","items"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"filter[]","value":""},{"disabled":true,"key":"sort","value":""},{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Pick Id.</p>\n","type":"text/plain"},"key":"pick_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Events.</p>\n","type":"text/plain"},"key":"events","value":""},{"disabled":true,"description":{"content":"<p>Filter by Inventory Name.</p>\n","type":"text/plain"},"key":"inventory_name","value":""},{"disabled":true,"description":{"content":"<p>Filter by Inventory Code.</p>\n","type":"text/plain"},"key":"inventory_code","value":""},{"disabled":true,"description":{"content":"<p>Filter by Tote.</p>\n","type":"text/plain"},"key":"tote","value":""},{"disabled":true,"description":{"content":"<p>Filter by Tote Barcode.</p>\n","type":"text/plain"},"key":"tote_barcode","value":""},{"disabled":true,"description":{"content":"<p>Filter by Location Id.</p>\n","type":"text/plain"},"key":"location_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Zone Id.</p>\n","type":"text/plain"},"key":"zone_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Order Number.</p>\n","type":"text/plain"},"key":"order_number","value":""},{"disabled":true,"description":{"content":"<p>Filter by Picked Quantity To.</p>\n","type":"text/plain"},"key":"picked_quantity_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Pickable.</p>\n","type":"text/plain"},"key":"pickable","value":""},{"disabled":true,"description":{"content":"<p>Filter by Assigned User.</p>\n","type":"text/plain"},"key":"assigned_user","value":""},{"disabled":true,"description":{"content":"<p>Filter by Picked Quantity From.</p>\n","type":"text/plain"},"key":"picked_quantity_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Status.</p>\n","type":"text/plain"},"key":"status","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>location</code> - <code>location.zone</code> - <code>zone</code> - <code>tote</code> - <code>items</code> - <code>items.order</code> - <code>items.order.channel</code> - <code>items.order.channel.settings</code> - <code>items.orderItem</code> - <code>inventory</code> - <code>inventory.meta</code> - <code>inventory.settings</code> - <code>events</code> - <code>events.user</code> - <code>inventory.barcodes</code> - <code>inventory.batches</code> - <code>items.orderItem.options</code> - <code>items.order.pregeneratedShipment</code> - <code>items.order.pregeneratedShipment.shipmentFile</code> - <code>items.order.pregeneratedShipment.parcels</code> - <code>items.order.pregeneratedShipment.parcels.parcelFile</code> - <code>items.order.pregeneratedShipment.parcels.items</code> - <code>batch</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"15bc27d5-1654-481e-8d1b-a6ec408bcdfa","type":"any","value":"","key":"pickID"}]}},"response":[],"_postman_id":"f6473dc9-8ad0-4a5d-a12c-97da4fbf4aa3"},{"name":"Picks items update","id":"498dbc2c-7a1f-49c1-bc65-9c79c85d457c","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"quantity\": 0,\n  \"location_id\": \"{{location_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//picks/:pickID/items/:pickItemID","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickItemID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>quantity</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>location_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","picks",":pickID","items",":pickItemID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"552caebd-10f6-4caa-a93d-0a9c30fed164","type":"any","value":"","key":"pickID"},{"id":"f543c5bf-39a3-41db-8183-7168972d8a07","type":"any","value":"","key":"pickItemID"}]}},"response":[],"_postman_id":"498dbc2c-7a1f-49c1-bc65-9c79c85d457c"},{"name":"Picks items update picked quantity","id":"9b5bf72c-9062-4ee0-ba56-fc8bcc6dbcbe","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"quantity\": 0,\n  \"location_id\": \"{{location_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//picks/:pickID/items/:pickItemID/update-picked-quantity","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickItemID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>quantity</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>location_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","picks",":pickID","items",":pickItemID","update-picked-quantity"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"f655dc6d-2bc1-408c-a1a4-76382e6c048a","type":"any","value":"","key":"pickID"},{"id":"bfdb5a6f-72ff-4519-93f9-7f37fde8818d","type":"any","value":"","key":"pickItemID"}]}},"response":[],"_postman_id":"9b5bf72c-9062-4ee0-ba56-fc8bcc6dbcbe"},{"name":"Picks items set action quantity","id":"cc7301cf-bcf8-405e-8c11-e25268609187","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"action_quantity\": 0\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//picks/:pickID/items/:pickItemID/set-action-quantity","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickItemID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>action_quantity</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","picks",":pickID","items",":pickItemID","set-action-quantity"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"62f7407f-a586-4f7b-ae4c-0081160b0166","type":"any","value":"","key":"pickID"},{"id":"d815d025-506b-4b3e-be63-bfd3a0782826","type":"any","value":"","key":"pickItemID"}]}},"response":[],"_postman_id":"cc7301cf-bcf8-405e-8c11-e25268609187"},{"name":"Picks items change location","id":"715ee73f-bd37-4ebc-8a27-992493294919","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"location_id\": \"{{location_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//picks/:pickID/items/:pickItemID/change-location","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickItemID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>location_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","picks",":pickID","items",":pickItemID","change-location"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"da0000ce-e9fc-427b-b121-c7d6f75d950c","type":"any","value":"","key":"pickID"},{"id":"be71c45e-41cc-4c3f-9998-36d7d980b07a","type":"any","value":"","key":"pickItemID"}]}},"response":[],"_postman_id":"715ee73f-bd37-4ebc-8a27-992493294919"},{"name":"Picks items splitable","id":"62f6dfcc-dfab-466f-936c-3695cbb96ebd","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//picks/:pickID/items/splitable","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","picks",":pickID","items","splitable"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"6b8e8933-75cd-45f3-b471-5e25ff5c8342","type":"any","value":"","key":"pickID"}]}},"response":[],"_postman_id":"62f6dfcc-dfab-466f-936c-3695cbb96ebd"},{"name":"Picks items deletable","id":"6ffec163-41a6-489e-8830-c082ddb1af79","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//picks/:pickID/items/deletable?ids[]=","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>ids[]</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","picks",":pickID","items","deletable"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"ids[]","value":""}],"variable":[{"id":"784df348-719c-413f-94d5-3f798a623415","type":"any","value":"","key":"pickID"}]}},"response":[],"_postman_id":"6ffec163-41a6-489e-8830-c082ddb1af79"},{"name":"Picks items split items","id":"e4eb7314-8a0d-44be-ab8b-81b6d9653969","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"assigned_users\": [\n    0\n  ],\n  \"items\": [\n    {\n      \"pick_order_item_id\": \"{{pick_order_item_id}}\",\n      \"quantity\": 1\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//picks/:pickID/items/split-items","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>assigned_users</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.pick_order_item_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.quantity</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","picks",":pickID","items","split-items"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"3d516431-761c-472c-abcc-9ed9e97426a9","type":"any","value":"","key":"pickID"}]}},"response":[],"_postman_id":"e4eb7314-8a0d-44be-ab8b-81b6d9653969"},{"name":"Picks items available stocks","id":"48728049-f9d9-400b-be92-27e5a87fcd12","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//picks/:pickID/items/:pickItemID/available-stocks","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickItemID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","picks",":pickID","items",":pickItemID","available-stocks"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""}],"variable":[{"id":"c4b16140-f9bf-4f6f-aa09-c04d75c0e9f4","type":"any","value":"","key":"pickID"},{"id":"01351e1c-5e79-4eb5-9d45-a6f094cd570b","type":"any","value":"","key":"pickItemID"}]}},"response":[],"_postman_id":"48728049-f9d9-400b-be92-27e5a87fcd12"},{"name":"Picks items available locations","id":"f374a93c-dddd-4a78-87b1-b70810b58a00","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//picks/:pickID/items/:pickItemID/available-locations","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickItemID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>search</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","picks",":pickID","items",":pickItemID","available-locations"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"search","value":""}],"variable":[{"id":"18f28694-19a6-4b81-a872-bac30ad47b72","type":"any","value":"","key":"pickID"},{"id":"8c119995-fe18-49ad-8039-3f41aaa7de2f","type":"any","value":"","key":"pickItemID"}]}},"response":[],"_postman_id":"f374a93c-dddd-4a78-87b1-b70810b58a00"},{"name":"Picks items split line","id":"a868e238-8bd7-423d-8806-e6da3b7e7479","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"quantity\": 1,\n  \"location_id\": \"{{location_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//picks/:pickID/items/:pickItemID/split-line","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickItemID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>quantity</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>location_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","picks",":pickID","items",":pickItemID","split-line"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"982a288f-6de5-46d2-8a77-0e53d9c40fb4","type":"any","value":"","key":"pickID"},{"id":"e87ad398-0f9d-4622-a80f-74fb8143aa1d","type":"any","value":"","key":"pickItemID"}]}},"response":[],"_postman_id":"a868e238-8bd7-423d-8806-e6da3b7e7479"},{"name":"Picks items skip","id":"4c294592-de81-4de6-bb1e-f4a66063f5dd","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"skip_type\": \"1\",\n  \"set_zero_quantity\": false,\n  \"reason\": \"1\",\n  \"is_skipped_before\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//picks/:pickID/items/:pickItemID/skip","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickItemID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>skip_type</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code></td>\n</tr>\n<tr>\n<td><code>set_zero_quantity</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>reason</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code></td>\n</tr>\n<tr>\n<td><code>is_skipped_before</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","picks",":pickID","items",":pickItemID","skip"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"aebbcf4e-ce67-4fa7-a58f-460957592538","type":"any","value":"","key":"pickID"},{"id":"0d0137e2-e5b6-44d5-9526-f68d8b6b7489","type":"any","value":"","key":"pickItemID"}]}},"response":[],"_postman_id":"4c294592-de81-4de6-bb1e-f4a66063f5dd"},{"name":"Picks items reset and change location","id":"5152c437-9c28-4772-8751-c4178ba3d1b2","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"reason\": \"1\",\n  \"location_id\": \"{{location_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//picks/:pickID/items/:pickItemID/reset-and-change-location","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickItemID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>reason</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code></td>\n</tr>\n<tr>\n<td><code>location_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","picks",":pickID","items",":pickItemID","reset-and-change-location"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"b1ddcde0-b44c-41f0-942c-998b6c417c01","type":"any","value":"","key":"pickID"},{"id":"a53e2421-8cb3-4337-93d8-e71c40827987","type":"any","value":"","key":"pickItemID"}]}},"response":[],"_postman_id":"5152c437-9c28-4772-8751-c4178ba3d1b2"},{"name":"Picks tags list","id":"0818d9e9-0520-4e28-ab3c-58d3728a450b","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//picks/:pickID/tags","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","picks",":pickID","tags"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"per_page","value":""}],"variable":[{"id":"a7abc9b3-825f-4fbf-be3a-d69f826bf638","type":"any","value":"","key":"pickID"}]}},"response":[],"_postman_id":"0818d9e9-0520-4e28-ab3c-58d3728a450b"},{"name":"Picks tags create","id":"235a56f5-9f30-4238-82c4-b39fc45d8e89","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"name\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//picks/:pickID/tags","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","picks",":pickID","tags"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"8008e87b-9892-4835-a255-289847f54c60","type":"any","value":"","key":"pickID"}]}},"response":[],"_postman_id":"235a56f5-9f30-4238-82c4-b39fc45d8e89"},{"name":"Picks tags attach","id":"9a9ff718-032a-48bf-bf5b-9486ea1d15de","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"tag_id\": \"{{tag_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//picks/:pickID/tags/attach","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>tag_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","picks",":pickID","tags","attach"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"f8ce1eee-26f0-4e74-9758-b485ebec6430","type":"any","value":"","key":"pickID"}]}},"response":[],"_postman_id":"9a9ff718-032a-48bf-bf5b-9486ea1d15de"},{"name":"Picks tags detach","id":"cdf25376-07f4-42de-bf84-fcad07242e7e","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"tag_id\": \"{{tag_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//picks/:pickID/tags/detach","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>tag_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","picks",":pickID","tags","detach"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"1be85317-c4da-4a97-9206-76028c7cf181","type":"any","value":"","key":"pickID"}]}},"response":[],"_postman_id":"cdf25376-07f4-42de-bf84-fcad07242e7e"},{"name":"Picks users list","id":"1e75365f-b0d0-4fad-bd19-07a16ce85a18","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//picks/:pickID/users","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>filter[]</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sort</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>pick_id</code></td>\n<td>Filter by Pick Id.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>timeTracking</code></li>\n<li><code>user</code></li>\n<li><code>user.fileManager</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","picks",":pickID","users"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"filter[]","value":""},{"disabled":true,"key":"sort","value":""},{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Pick Id.</p>\n","type":"text/plain"},"key":"pick_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>timeTracking</code> - <code>user</code> - <code>user.fileManager</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"7e328d7c-65cc-495a-ad16-224123d55fac","type":"any","value":"","key":"pickID"}]}},"response":[],"_postman_id":"1e75365f-b0d0-4fad-bd19-07a16ce85a18"},{"name":"Picks users update","id":"376e63e5-5066-4d29-8f4e-af2c60fd41c4","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"user_id\": \"{{user_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//picks/:pickID/users","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>user_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","picks",":pickID","users"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"ec78cab5-569b-4ed1-b9fa-7c64937c52c4","type":"any","value":"","key":"pickID"}]}},"response":[],"_postman_id":"376e63e5-5066-4d29-8f4e-af2c60fd41c4"},{"name":"Picks users show","id":"dd2ac0de-107b-4435-b799-e8cb8e844260","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//picks/:pickID/users/:userID","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>userID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>timeTracking</code></li>\n<li><code>user</code></li>\n<li><code>user.fileManager</code></li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","picks",":pickID","users",":userID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>timeTracking</code> - <code>user</code> - <code>user.fileManager</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"2efd41f9-3ea5-49ef-bc64-5b11ba1510bd","type":"any","value":"","key":"pickID"},{"id":"70cbf26e-ab51-4c92-afc9-049681af4476","type":"any","value":"","key":"userID"}]}},"response":[],"_postman_id":"dd2ac0de-107b-4435-b799-e8cb8e844260"},{"name":"Picks time tracking start","id":"b9c955f7-a0a8-4239-b6ca-001c0afd10f4","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//picks/:pickID/time-tracking/start","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","picks",":pickID","time-tracking","start"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"955cf9ec-a79d-44a7-84dd-87570d621dd7","type":"any","value":"","key":"pickID"}]}},"response":[],"_postman_id":"b9c955f7-a0a8-4239-b6ca-001c0afd10f4"},{"name":"Picks time tracking stop","id":"258b6323-1005-4981-8483-afe346a403a1","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//picks/:pickID/time-tracking/stop","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","picks",":pickID","time-tracking","stop"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"b21f1c34-7717-4828-8268-65aa5f265736","type":"any","value":"","key":"pickID"}]}},"response":[],"_postman_id":"258b6323-1005-4981-8483-afe346a403a1"},{"name":"Picks time tracking refresh","id":"0799d7fa-31a1-4ddc-afec-dd8ae21871c7","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//picks/:pickID/time-tracking/refresh","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","picks",":pickID","time-tracking","refresh"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"5c6d610e-886a-422d-8d57-a683ca295cd0","type":"any","value":"","key":"pickID"}]}},"response":[],"_postman_id":"0799d7fa-31a1-4ddc-afec-dd8ae21871c7"},{"name":"Picks totes orders","id":"d0f6660e-d6c8-4a5f-a083-1c9ac9cc2724","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//picks/totes/orders?barcode=","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>barcode</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","picks","totes","orders"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"barcode","value":""},{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations vary per endpoint.</p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[]}},"response":[],"_postman_id":"d0f6660e-d6c8-4a5f-a083-1c9ac9cc2724"},{"name":"Picks totes list","id":"1cf1622d-9cc4-4572-8e82-cfa36ef7516e","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//picks/:pickID/totes","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>filter[]</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sort</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>pick_id</code></td>\n<td>Filter by Pick Id.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","picks",":pickID","totes"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"filter[]","value":""},{"disabled":true,"key":"sort","value":""},{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Pick Id.</p>\n","type":"text/plain"},"key":"pick_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations vary per endpoint.</p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"bdf55e73-e93c-4628-b336-863e7c7a13c6","type":"any","value":"","key":"pickID"}]}},"response":[],"_postman_id":"1cf1622d-9cc4-4572-8e82-cfa36ef7516e"},{"name":"Picks totes update","id":"fb7115bb-1646-492b-9b0a-d4d5a672cff5","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"barcode\": \"barcode\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//picks/:pickID/totes/:toteID","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>pickID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>toteID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>barcode</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","picks",":pickID","totes",":toteID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"8ed7761c-3ae9-4ddf-812f-9a2756046b99","type":"any","value":"","key":"pickID"},{"id":"a94f7888-583f-4f86-9f40-7113443b1765","type":"any","value":"","key":"toteID"}]}},"response":[],"_postman_id":"fb7115bb-1646-492b-9b0a-d4d5a672cff5"}],"id":"bfdb6dbf-6c91-4c00-8c0e-bc8b148b61d4","description":"<p><strong>Picks</strong> — 45 endpoints.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"bfdb6dbf-6c91-4c00-8c0e-bc8b148b61d4","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Ping","item":[{"name":"Ping","id":"b7dcbc71-4851-404f-aa93-9ccaa76cd65c","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/ping","description":"<p><strong>Rate limit:</strong> 600 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["ping"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"b7dcbc71-4851-404f-aa93-9ccaa76cd65c"},{"name":"Ping","id":"c2cb37a3-a8b3-40f8-8d89-324684176c29","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//ping","description":"<p><strong>Rate limit:</strong> 600 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","ping"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"c2cb37a3-a8b3-40f8-8d89-324684176c29"}],"id":"65747a95-b35e-4819-937a-ab0199b4e36f","description":"<p><strong>Ping</strong> — 2 endpoints.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"65747a95-b35e-4819-937a-ab0199b4e36f","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Print Templates","item":[{"name":"Print templates list","id":"9c7e91e5-c5cd-4ecd-a469-38b8bc564b61","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//print-templates","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>query</code></td>\n<td>Filter by Query.</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>Filter by Name.</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>Filter by Type.</td>\n</tr>\n<tr>\n<td><code>size</code></td>\n<td>Filter by Size.</td>\n</tr>\n<tr>\n<td><code>format</code></td>\n<td>Filter by Format.</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>Filter by Status.</td>\n</tr>\n<tr>\n<td><code>tags</code></td>\n<td>Filter by Tags.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","print-templates"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Query.</p>\n","type":"text/plain"},"key":"query","value":""},{"disabled":true,"description":{"content":"<p>Filter by Name.</p>\n","type":"text/plain"},"key":"name","value":""},{"disabled":true,"description":{"content":"<p>Filter by Type.</p>\n","type":"text/plain"},"key":"type","value":""},{"disabled":true,"description":{"content":"<p>Filter by Size.</p>\n","type":"text/plain"},"key":"size","value":""},{"disabled":true,"description":{"content":"<p>Filter by Format.</p>\n","type":"text/plain"},"key":"format","value":""},{"disabled":true,"description":{"content":"<p>Filter by Status.</p>\n","type":"text/plain"},"key":"status","value":""},{"disabled":true,"description":{"content":"<p>Filter by Tags.</p>\n","type":"text/plain"},"key":"tags","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""}],"variable":[]}},"response":[],"_postman_id":"9c7e91e5-c5cd-4ecd-a469-38b8bc564b61"},{"name":"Print templates create","id":"48041d36-1d4d-4a33-957f-9fe8e0bc8baf","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"name\": \"name\",\n  \"format\": \"1\",\n  \"type\": \"1\",\n  \"size\": \"1\",\n  \"url\": \"url\",\n  \"is_default\": false,\n  \"auto_print_gift_note\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//print-templates","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>format</code></td>\n<td>string</td>\n<td>yes</td>\n<td><strong>EMailTemplateFormats</strong> values: - <code>1</code> = HTML - <code>2</code> = EDITOR Allowed: <code>1</code>, <code>2</code></td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code>, <code>9</code>, <code>10</code>, <code>11</code>, <code>12</code>, <code>13</code>, <code>14</code>, <code>15</code>, <code>16</code></td>\n</tr>\n<tr>\n<td><code>size</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code></td>\n</tr>\n<tr>\n<td><code>url</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>is_default</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>auto_print_gift_note</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","print-templates"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"48041d36-1d4d-4a33-957f-9fe8e0bc8baf"},{"name":"Print templates show","id":"53affea0-dd13-4773-890a-2d3c744306a8","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//print-templates/:printTemplateID","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>printTemplateID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","print-templates",":printTemplateID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""}],"variable":[{"id":"8fdf2394-2ae3-4d44-a50e-e4176f3ec956","type":"any","value":"","key":"printTemplateID"}]}},"response":[],"_postman_id":"53affea0-dd13-4773-890a-2d3c744306a8"},{"name":"Print templates update","id":"be1d0a46-4762-4f11-ac32-549e8526503e","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"print_template_id\": \"{{print_template_id}}\",\n  \"name\": \"name\",\n  \"format\": \"1\",\n  \"type\": \"1\",\n  \"size\": \"1\",\n  \"file_manager_id\": \"{{file_manager_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//print-templates/:printTemplateID","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>printTemplateID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>print_template_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>format</code></td>\n<td>string</td>\n<td>yes</td>\n<td><strong>EMailTemplateFormats</strong> values: - <code>1</code> = HTML - <code>2</code> = EDITOR Allowed: <code>1</code>, <code>2</code></td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code>, <code>9</code>, <code>10</code>, <code>11</code>, <code>12</code>, <code>13</code>, <code>14</code>, <code>15</code>, <code>16</code></td>\n</tr>\n<tr>\n<td><code>size</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code></td>\n</tr>\n<tr>\n<td><code>file_manager_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","print-templates",":printTemplateID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"e3069e87-4cda-4369-92d3-a30a2f550a58","type":"any","value":"","key":"printTemplateID"}]}},"response":[],"_postman_id":"be1d0a46-4762-4f11-ac32-549e8526503e"},{"name":"Print templates update patch","id":"ced25763-b8cf-4dd9-9589-7fbf1cae998d","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"print_template_id\": \"{{print_template_id}}\",\n  \"name\": \"name\",\n  \"format\": \"1\",\n  \"type\": \"1\",\n  \"size\": \"1\",\n  \"file_manager_id\": \"{{file_manager_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//print-templates/:printTemplateID","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>printTemplateID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>print_template_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>format</code></td>\n<td>string</td>\n<td>yes</td>\n<td><strong>EMailTemplateFormats</strong> values: - <code>1</code> = HTML - <code>2</code> = EDITOR Allowed: <code>1</code>, <code>2</code></td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code>, <code>9</code>, <code>10</code>, <code>11</code>, <code>12</code>, <code>13</code>, <code>14</code>, <code>15</code>, <code>16</code></td>\n</tr>\n<tr>\n<td><code>size</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code></td>\n</tr>\n<tr>\n<td><code>file_manager_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","print-templates",":printTemplateID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"15430826-3555-4509-a036-4f45f2aba24a","type":"any","value":"","key":"printTemplateID"}]}},"response":[],"_postman_id":"ced25763-b8cf-4dd9-9589-7fbf1cae998d"},{"name":"Print templates delete","id":"c22233f1-ba1d-4b41-843f-69ab227b0a24","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//print-templates/:printTemplateID?company_id=&print_template_id=","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>printTemplateID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>print_template_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","print-templates",":printTemplateID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"print_template_id","value":""}],"variable":[{"id":"7eff6bb8-6b50-4a5b-ba43-dbd25200d4ad","type":"any","value":"","key":"printTemplateID"}]}},"response":[],"_postman_id":"c22233f1-ba1d-4b41-843f-69ab227b0a24"},{"name":"Print templates defaults","id":"80ca2ca3-e55c-43a1-aa25-6be8985b1727","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//print-templates/defaults","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","print-templates","defaults"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"description":{"content":"<p>NOTE: filters are FLAT query params named after the filter method (e.g. ?ids=1,2&amp;store_id=5), resolved by App\\Filters\\QueryFilters against top-level request keys — there is NO nested filter[...] contract at runtime, so none is declared/documented here.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"key":"sort_direction","value":""},{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"key":"page","value":""},{"disabled":true,"key":"per_page","value":""}],"variable":[]}},"response":[],"_postman_id":"80ca2ca3-e55c-43a1-aa25-6be8985b1727"},{"name":"Print templates tags list","id":"fe81d778-58b3-4bcf-9706-9a392d110343","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//print-templates/tags","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","print-templates","tags"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"description":{"content":"<p>NOTE: filters are FLAT query params named after the filter method (e.g. ?ids=1,2&amp;store_id=5), resolved by App\\Filters\\QueryFilters against top-level request keys — there is NO nested filter[...] contract at runtime, so none is declared/documented here.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"key":"sort_direction","value":""},{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"key":"page","value":""},{"disabled":true,"key":"per_page","value":""}],"variable":[]}},"response":[],"_postman_id":"fe81d778-58b3-4bcf-9706-9a392d110343"},{"name":"Print templates create instance","id":"9218c8ac-2b09-4008-97de-fa5388ef0204","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//print-templates/create-instance","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","print-templates","create-instance"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"9218c8ac-2b09-4008-97de-fa5388ef0204"},{"name":"Print templates test print","id":"c81c3c78-5bd6-405f-8f06-8ad37ce4e289","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"print_template_id\": \"{{print_template_id}}\",\n  \"data_id\": \"{{data_id}}\",\n  \"data_type\": \"1\",\n  \"is_download\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//print-templates/test-print","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>print_template_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>data_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>data_type</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code>, <code>9</code>, <code>10</code>, <code>11</code>, <code>12</code>, <code>13</code>, <code>14</code>, <code>15</code>, <code>16</code></td>\n</tr>\n<tr>\n<td><code>is_download</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","print-templates","test-print"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"c81c3c78-5bd6-405f-8f06-8ad37ce4e289"},{"name":"Print templates documents urls","id":"2e369834-d5ec-4b00-9627-48eefe218d71","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"order_id\": \"{{order_id}}\",\n  \"is_download\": false,\n  \"document_types\": [\n    \"\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//print-templates/documents-urls/:orderID","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>is_download</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>document_types</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","print-templates","documents-urls",":orderID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"83db9990-d114-4c8f-83a5-94ce76bb8231","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"2e369834-d5ec-4b00-9627-48eefe218d71"},{"name":"Print templates update file","id":"42b3721a-8060-4812-96b8-386c90582859","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"print_template_id\": \"{{print_template_id}}\",\n  \"saveUrl\": \"saveUrl\",\n  \"templateUrl\": \"\",\n  \"width\": 1,\n  \"height\": 1,\n  \"previewUrl\": \"\",\n  \"isDraft\": false,\n  \"dontSave\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//print-templates/:printTemplateID/update-file","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>printTemplateID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>print_template_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>saveUrl</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>templateUrl</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>width</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>height</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>previewUrl</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>isDraft</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>dontSave</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","print-templates",":printTemplateID","update-file"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"1ddc1305-f9a3-4b2f-9b68-8a57f6341358","type":"any","value":"","key":"printTemplateID"}]}},"response":[],"_postman_id":"42b3721a-8060-4812-96b8-386c90582859"},{"name":"Print templates toggle","id":"9730000a-50f1-4ee2-98fa-1ddaed66d975","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"print_template_id\": \"{{print_template_id}}\",\n  \"company_id\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//print-templates/:printTemplateID/toggle","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>printTemplateID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>print_template_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","print-templates",":printTemplateID","toggle"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"9db9f026-0bf6-4162-a62a-4817303b5efb","type":"any","value":"","key":"printTemplateID"}]}},"response":[],"_postman_id":"9730000a-50f1-4ee2-98fa-1ddaed66d975"},{"name":"Print templates duplicate","id":"f866a8c0-0e0f-4aec-ba4e-326d9e439913","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//print-templates/:printTemplateID/duplicate?print_template_id=&company_id=","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>printTemplateID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>print_template_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","print-templates",":printTemplateID","duplicate"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"print_template_id","value":""},{"key":"company_id","value":""}],"variable":[{"id":"f1b6541f-7908-4759-a190-956107cc8691","type":"any","value":"","key":"printTemplateID"}]}},"response":[],"_postman_id":"f866a8c0-0e0f-4aec-ba4e-326d9e439913"},{"name":"Print templates add tag","id":"7603b34c-7a54-45e4-bce7-e1e95547f8ce","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"print_template_id\": \"{{print_template_id}}\",\n  \"name\": \"name\",\n  \"company_id\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//print-templates/:printTemplateID/tags","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>printTemplateID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>print_template_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","print-templates",":printTemplateID","tags"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"cb649bd9-1a36-4390-a106-cf90ced64410","type":"any","value":"","key":"printTemplateID"}]}},"response":[],"_postman_id":"7603b34c-7a54-45e4-bce7-e1e95547f8ce"},{"name":"Print templates attach tag","id":"7bd6de2d-c405-4998-87ed-604204cd7054","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"tag_id\": \"{{tag_id}}\",\n  \"company_id\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//print-templates/:printTemplateID/tags/attach/:tagID","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>printTemplateID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>tagID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>tag_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","print-templates",":printTemplateID","tags","attach",":tagID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"3a3e4a53-ca36-4373-918d-c54d0f9e7a76","type":"any","value":"","key":"printTemplateID"},{"id":"67ad863a-ea55-4800-b6b4-55a59662a6a5","type":"any","value":"","key":"tagID"}]}},"response":[],"_postman_id":"7bd6de2d-c405-4998-87ed-604204cd7054"},{"name":"Print templates detach tag","id":"65a44e71-2353-44d8-bd79-d25428e27eaa","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"tag_id\": \"{{tag_id}}\",\n  \"company_id\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//print-templates/:printTemplateID/tags/detach/:tagID","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>printTemplateID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>tagID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>tag_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","print-templates",":printTemplateID","tags","detach",":tagID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"52f473de-a18f-4336-a8ff-af861aac9a56","type":"any","value":"","key":"printTemplateID"},{"id":"16f0441b-2466-4a21-b9fc-50eb22f90ccd","type":"any","value":"","key":"tagID"}]}},"response":[],"_postman_id":"65a44e71-2353-44d8-bd79-d25428e27eaa"},{"name":"Print templates active rule count","id":"c5d4b161-3ed2-44bb-9853-16ebbe00681c","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//print-templates/:printTemplateID/active-rule-count?print_template_id=&company_id=","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>printTemplateID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>print_template_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","print-templates",":printTemplateID","active-rule-count"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"print_template_id","value":""},{"key":"company_id","value":""}],"variable":[{"id":"0e9d5722-d5d2-4317-ae11-945837b15c6a","type":"any","value":"","key":"printTemplateID"}]}},"response":[],"_postman_id":"c5d4b161-3ed2-44bb-9853-16ebbe00681c"},{"name":"Print templates template url","id":"01f46bcc-1b5d-4970-a060-781cde2d73b4","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//print-templates/:printTemplateID/template-url/:recordID?company_id=&print_template_id=","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>printTemplateID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>recordID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>print_template_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>is_pdf</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","print-templates",":printTemplateID","template-url",":recordID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"print_template_id","value":""},{"disabled":true,"key":"is_pdf","value":""}],"variable":[{"id":"34c5c16d-bc4a-445f-bb06-fac0552d7ba5","type":"any","value":"","key":"printTemplateID"},{"id":"2ab8e70a-c3e9-404e-960f-4bb72db4dc6a","type":"any","value":"","key":"recordID"}]}},"response":[],"_postman_id":"01f46bcc-1b5d-4970-a060-781cde2d73b4"},{"name":"Print templates rule count","id":"153ebcca-53dc-4269-820f-4f97d6ced6b0","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//print-templates/:printTemplateID/rule-count?print_template_id=&company_id=","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>printTemplateID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>print_template_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","print-templates",":printTemplateID","rule-count"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"print_template_id","value":""},{"key":"company_id","value":""}],"variable":[{"id":"2df066a0-67a8-46ef-9e08-697f74cba9fd","type":"any","value":"","key":"printTemplateID"}]}},"response":[],"_postman_id":"153ebcca-53dc-4269-820f-4f97d6ced6b0"},{"name":"Print templates set as default","id":"e6ba1900-a4e0-46b3-a5db-dd352141d5df","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"print_template_id\": \"{{print_template_id}}\",\n  \"type\": \"1\",\n  \"is_auto_print_gift_note\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//print-templates/:printTemplateID/set-as-default","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>printTemplateID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>print_template_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code>, <code>9</code>, <code>10</code>, <code>11</code>, <code>12</code>, <code>13</code>, <code>14</code>, <code>15</code>, <code>16</code></td>\n</tr>\n<tr>\n<td><code>is_auto_print_gift_note</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","print-templates",":printTemplateID","set-as-default"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"44278f78-4ace-4738-9b5f-d837a8e30ab1","type":"any","value":"","key":"printTemplateID"}]}},"response":[],"_postman_id":"e6ba1900-a4e0-46b3-a5db-dd352141d5df"},{"name":"Print templates set auto print gift note","id":"b6d31878-cb97-433d-8c83-c0c0694de253","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"print_template_id\": \"{{print_template_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//print-templates/:printTemplateID/set-auto-print-gift-note","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>printTemplateID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>print_template_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","print-templates",":printTemplateID","set-auto-print-gift-note"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"02854ae0-894b-4110-8006-85cd13143930","type":"any","value":"","key":"printTemplateID"}]}},"response":[],"_postman_id":"b6d31878-cb97-433d-8c83-c0c0694de253"}],"id":"88a5cdf6-cf42-4267-9666-a669737d511a","description":"<p><strong>Print Templates</strong> — 22 endpoints.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"88a5cdf6-cf42-4267-9666-a669737d511a","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Printing Queues","item":[{"name":"Printing queues printed order documents","id":"0b11bbfb-5dad-43ad-878e-d15337d2b221","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//printing-queues/printed-order-documents/:orderID?company_id=&order_id=","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>orderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","printing-queues","printed-order-documents",":orderID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"order_id","value":""}],"variable":[{"id":"fd4c38e0-f024-493a-8c6a-352dec0cb526","type":"any","value":"","key":"orderID"}]}},"response":[],"_postman_id":"0b11bbfb-5dad-43ad-878e-d15337d2b221"},{"name":"Printing queues list","id":"1865569d-9903-44b4-a9c7-3299c914fe9f","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//printing-queues","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>query</code></td>\n<td>Filter by Query.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>Filter by Name.</td>\n</tr>\n<tr>\n<td><code>user_id</code></td>\n<td>Filter by User Id.</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>Filter by Order Id.</td>\n</tr>\n<tr>\n<td><code>date_from</code></td>\n<td>Filter by Date From.</td>\n</tr>\n<tr>\n<td><code>date_to</code></td>\n<td>Filter by Date To.</td>\n</tr>\n<tr>\n<td><code>pages_from</code></td>\n<td>Filter by Pages From.</td>\n</tr>\n<tr>\n<td><code>pages_to</code></td>\n<td>Filter by Pages To.</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>Filter by Status.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>user</code></li>\n<li><code>printTemplate</code></li>\n<li><code>fileManager</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","printing-queues"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Query.</p>\n","type":"text/plain"},"key":"query","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Name.</p>\n","type":"text/plain"},"key":"name","value":""},{"disabled":true,"description":{"content":"<p>Filter by User Id.</p>\n","type":"text/plain"},"key":"user_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Order Id.</p>\n","type":"text/plain"},"key":"order_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Date From.</p>\n","type":"text/plain"},"key":"date_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Date To.</p>\n","type":"text/plain"},"key":"date_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Pages From.</p>\n","type":"text/plain"},"key":"pages_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Pages To.</p>\n","type":"text/plain"},"key":"pages_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Status.</p>\n","type":"text/plain"},"key":"status","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>user</code> - <code>printTemplate</code> - <code>fileManager</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[]}},"response":[],"_postman_id":"1865569d-9903-44b4-a9c7-3299c914fe9f"},{"name":"Printing queues create","id":"6e003edc-e855-4c37-8f73-a1d7dfe95558","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"name\": \"name\",\n  \"pages\": 1,\n  \"print_template_id\": \"{{print_template_id}}\",\n  \"print_reference\": \"\",\n  \"record_id\": \"{{record_id}}\",\n  \"bulk_action_id\": \"{{bulk_action_id}}\",\n  \"type\": \"1\",\n  \"file_manager_id\": \"{{file_manager_id}}\",\n  \"printed_pdf_url\": \"\",\n  \"document_type\": \"1\",\n  \"document_size\": \"1\",\n  \"attributes\": [\n    \"\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//printing-queues","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>pages</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>print_template_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>print_reference</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>record_id</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>bulk_action_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>file_manager_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>printed_pdf_url</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>document_type</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code>, <code>9</code>, <code>10</code>, <code>11</code>, <code>12</code>, <code>13</code>, <code>14</code>, <code>15</code>, <code>16</code></td>\n</tr>\n<tr>\n<td><code>document_size</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code></td>\n</tr>\n<tr>\n<td><code>attributes</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","printing-queues"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"6e003edc-e855-4c37-8f73-a1d7dfe95558"},{"name":"Printing queues change status","id":"b95de6bc-b10b-457d-a457-e2df3febd73c","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"printing_queue_id\": \"{{printing_queue_id}}\",\n  \"status\": \"0\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//printing-queues/:printingQueueID/change-status","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>printingQueueID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>printing_queue_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>0</code>, <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","printing-queues",":printingQueueID","change-status"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"ffa03ae4-32f4-4801-96ff-899299745400","type":"any","value":"","key":"printingQueueID"}]}},"response":[],"_postman_id":"b95de6bc-b10b-457d-a457-e2df3febd73c"},{"name":"Printing queues retry","id":"a3bac095-912e-4bcf-8c4d-e8c0a8e56ea0","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"printing_queue_id\": \"{{printing_queue_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//printing-queues/:printingQueueID/retry","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>printingQueueID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>printing_queue_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","printing-queues",":printingQueueID","retry"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"d5580dc8-e6dc-4a8b-9259-51b0d26192ee","type":"any","value":"","key":"printingQueueID"}]}},"response":[],"_postman_id":"a3bac095-912e-4bcf-8c4d-e8c0a8e56ea0"},{"name":"Printing queues download","id":"2f894d97-06e1-450d-9bc8-46d50417cff6","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//printing-queues/:printingQueueID/download?company_id=&printing_queue_id=","description":"<p><strong>Rate limit:</strong> 30 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>printingQueueID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>printing_queue_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","printing-queues",":printingQueueID","download"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"printing_queue_id","value":""}],"variable":[{"id":"e90ddb8c-6d8d-4f94-bc48-11b9ef1c4d0f","type":"any","value":"","key":"printingQueueID"}]}},"response":[],"_postman_id":"2f894d97-06e1-450d-9bc8-46d50417cff6"}],"id":"290cb39b-c57f-4c95-9061-74298cde9321","description":"<p><strong>Printing Queues</strong> — 6 endpoints.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"290cb39b-c57f-4c95-9061-74298cde9321","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Profile","item":[{"name":"Profile show","id":"f85c1c05-fb8f-4ed1-8a4a-a527b1d00257","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/profile/:user_id","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>user_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td><strong>Optional</strong></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["profile",":user_id"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"87334f03-de4c-4027-8f6e-4bdc5532bca2","type":"any","value":"","key":"user_id"}]}},"response":[],"_postman_id":"f85c1c05-fb8f-4ed1-8a4a-a527b1d00257"}],"id":"1852a027-159b-4ff8-a097-b2665dba93ee","description":"<p><strong>Profile</strong> — 1 endpoint.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"1852a027-159b-4ff8-a097-b2665dba93ee","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Purchase Orders","item":[{"name":"Purchase orders types","id":"1d36b011-f20a-45d0-b744-116f3cd7471a","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//purchase-orders/types","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","purchase-orders","types"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"1d36b011-f20a-45d0-b744-116f3cd7471a"},{"name":"Purchase orders send to supplier","id":"6048c247-f98c-4ecb-9212-981257bfdac5","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"purchase_order_id\": \"{{purchase_order_id}}\",\n  \"send_email\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//purchase-orders/:purchaseOrderID/send-to-supplier","description":"<p>Marks a Purchase Order as <strong>Sent</strong> (the v2 public equivalent of the UI \"Mark as Sent\" / v1 <code>send-to-supplier</code> action).</p>\n<p>Requires the <code>purchase-orders:write</code> ability and the <code>purchase_order.send_to_supplier</code> role permission. Auth is a bearer token; the <code>X-App-Token</code> header is also accepted (same handling as v1).</p>\n<p>With <code>send_email = false</code> the endpoint only flips the status (fulfillment case — the email was already sent externally). With <code>send_email = true</code> v7 also emails the supplier (template + PO PDF + optional CC). Success returns <code>204 No Content</code>; validation/tenant errors return <code>application/problem+json</code> (422).</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-\\*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>purchaseOrderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>Must belong to the company; must be a sendable status (DRAFT when <code>send_email=false</code>; DRAFT or SENT when <code>send_email=true</code>) and have at least one item</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>purchase_order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>send_email</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td><code>false</code> = mark as sent only; <code>true</code> = also email the supplier</td>\n</tr>\n<tr>\n<td><code>email_template_id</code></td>\n<td>integer</td>\n<td>required if <code>send_email=true</code></td>\n<td>Company email template id (ignored when <code>send_email=false</code>)</td>\n</tr>\n<tr>\n<td><code>import_excel</code></td>\n<td>boolean</td>\n<td>required if <code>send_email=true</code></td>\n<td>Attach the PO items Excel export (ignored when <code>send_email=false</code>)</td>\n</tr>\n<tr>\n<td><code>subject</code></td>\n<td>string</td>\n<td>required if <code>send_email=true</code></td>\n<td>Max 255 chars (ignored when <code>send_email=false</code>)</td>\n</tr>\n<tr>\n<td><code>emails</code></td>\n<td>string[]</td>\n<td>required if <code>send_email=true</code></td>\n<td>Recipient emails; min 1 (ignored when <code>send_email=false</code>)</td>\n</tr>\n<tr>\n<td><code>cc</code></td>\n<td>string[]</td>\n<td>no</td>\n<td>CC emails (ignored when <code>send_email=false</code>)</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","purchase-orders",":purchaseOrderID","send-to-supplier"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"e287a323-5c5b-4878-9e87-793776293677","type":"any","value":"","key":"purchaseOrderID"}]}},"response":[],"_postman_id":"6048c247-f98c-4ecb-9212-981257bfdac5"},{"name":"Purchase orders list","id":"5ebb559a-56fb-4cc0-bdb2-af4209b5348e","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//purchase-orders","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>archived</code></td>\n<td>Filter by Archived.</td>\n</tr>\n<tr>\n<td><code>import_ids</code></td>\n<td>Filter by Import Ids.</td>\n</tr>\n<tr>\n<td><code>query</code></td>\n<td>Filter by Query.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>purchase_order_number</code></td>\n<td>Filter by Purchase Order Number.</td>\n</tr>\n<tr>\n<td><code>supplier_id</code></td>\n<td>Filter by Supplier Id.</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>Filter by Status.</td>\n</tr>\n<tr>\n<td><code>delivery_status</code></td>\n<td>Filter by Delivery Status.</td>\n</tr>\n<tr>\n<td><code>delivery_reference</code></td>\n<td>Filter by Delivery Reference.</td>\n</tr>\n<tr>\n<td><code>expected_delivery_date_from</code></td>\n<td>Filter by Expected Delivery Date From.</td>\n</tr>\n<tr>\n<td><code>expected_delivery_date_to</code></td>\n<td>Filter by Expected Delivery Date To.</td>\n</tr>\n<tr>\n<td><code>tags</code></td>\n<td>Filter by Tags.</td>\n</tr>\n<tr>\n<td><code>product_code</code></td>\n<td>Filter by Product Code.</td>\n</tr>\n<tr>\n<td><code>inventory_id</code></td>\n<td>Filter by Inventory Id.</td>\n</tr>\n<tr>\n<td><code>order_value_from</code></td>\n<td>Filter by Order Value From.</td>\n</tr>\n<tr>\n<td><code>order_value_to</code></td>\n<td>Filter by Order Value To.</td>\n</tr>\n<tr>\n<td><code>item_qty_from</code></td>\n<td>Filter by Item Qty From.</td>\n</tr>\n<tr>\n<td><code>item_qty_to</code></td>\n<td>Filter by Item Qty To.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>owner</code></li>\n<li><code>items</code></li>\n<li><code>deliveries</code></li>\n<li><code>items.deliveryItems</code></li>\n<li><code>items.inventory</code></li>\n<li><code>items.inventory.meta</code></li>\n<li><code>items.inventory.containers</code></li>\n<li><code>items.inventory.barcodes</code></li>\n<li><code>shippingAddress</code></li>\n<li><code>shippingAddress.address</code></li>\n<li><code>invoiceAddress</code></li>\n<li><code>invoiceAddress.address</code></li>\n<li><code>supplier</code></li>\n<li><code>supplier.contact</code></li>\n<li><code>supplier.fileManager</code></li>\n<li><code>supplier.registrationDetails</code></li>\n<li><code>supplier.purchasingSettings</code></li>\n<li><code>supplier.purchasingSettings.currency</code></li>\n<li><code>tags.tag</code></li>\n<li><code>currency</code></li>\n<li><code>payment</code></li>\n<li><code>refund</code></li>\n<li><code>timeline</code></li>\n<li><code>customFields</code></li>\n<li><code>customFields.customFieldOption</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","purchase-orders"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Archived.</p>\n","type":"text/plain"},"key":"archived","value":""},{"disabled":true,"description":{"content":"<p>Filter by Import Ids.</p>\n","type":"text/plain"},"key":"import_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Query.</p>\n","type":"text/plain"},"key":"query","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Purchase Order Number.</p>\n","type":"text/plain"},"key":"purchase_order_number","value":""},{"disabled":true,"description":{"content":"<p>Filter by Supplier Id.</p>\n","type":"text/plain"},"key":"supplier_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Status.</p>\n","type":"text/plain"},"key":"status","value":""},{"disabled":true,"description":{"content":"<p>Filter by Delivery Status.</p>\n","type":"text/plain"},"key":"delivery_status","value":""},{"disabled":true,"description":{"content":"<p>Filter by Delivery Reference.</p>\n","type":"text/plain"},"key":"delivery_reference","value":""},{"disabled":true,"description":{"content":"<p>Filter by Expected Delivery Date From.</p>\n","type":"text/plain"},"key":"expected_delivery_date_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Expected Delivery Date To.</p>\n","type":"text/plain"},"key":"expected_delivery_date_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Tags.</p>\n","type":"text/plain"},"key":"tags","value":""},{"disabled":true,"description":{"content":"<p>Filter by Product Code.</p>\n","type":"text/plain"},"key":"product_code","value":""},{"disabled":true,"description":{"content":"<p>Filter by Inventory Id.</p>\n","type":"text/plain"},"key":"inventory_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Order Value From.</p>\n","type":"text/plain"},"key":"order_value_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Order Value To.</p>\n","type":"text/plain"},"key":"order_value_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Item Qty From.</p>\n","type":"text/plain"},"key":"item_qty_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Item Qty To.</p>\n","type":"text/plain"},"key":"item_qty_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>owner</code> - <code>items</code> - <code>deliveries</code> - <code>items.deliveryItems</code> - <code>items.inventory</code> - <code>items.inventory.meta</code> - <code>items.inventory.containers</code> - <code>items.inventory.barcodes</code> - <code>shippingAddress</code> - <code>shippingAddress.address</code> - <code>invoiceAddress</code> - <code>invoiceAddress.address</code> - <code>supplier</code> - <code>supplier.contact</code> - <code>supplier.fileManager</code> - <code>supplier.registrationDetails</code> - <code>supplier.purchasingSettings</code> - <code>supplier.purchasingSettings.currency</code> - <code>tags.tag</code> - <code>currency</code> - <code>payment</code> - <code>refund</code> - <code>timeline</code> - <code>customFields</code> - <code>customFields.customFieldOption</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[]}},"response":[],"_postman_id":"5ebb559a-56fb-4cc0-bdb2-af4209b5348e"},{"name":"Create a purchase order","id":"49fb9a19-0976-4e85-ab5e-afe78f1172f6","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"type\": \"1\",\n  \"priority_supplier_only\": false,\n  \"supplier_id\": \"{{supplier_id}}\",\n  \"delivery_note\": \"\",\n  \"expected_delivery_date\": \"expected_delivery_date\",\n  \"vendor_invoice_number\": \"\",\n  \"vendor_shipment_number\": \"\",\n  \"totals\": {\n    \"discount\": 0\n  },\n  \"shipping_address\": {\n    \"use_in_for_invoice\": false,\n    \"address_line_1\": \"\",\n    \"city\": \"\",\n    \"country_id\": \"{{country_id}}\"\n  },\n  \"invoice_address\": {\n    \"address_line_1\": \"\",\n    \"city\": \"\",\n    \"country_id\": \"{{country_id}}\"\n  },\n  \"items\": [\n    {\n      \"inventory_id\": \"{{inventory_id}}\",\n      \"discount\": 0,\n      \"unit_price\": 1,\n      \"item_qty\": 1,\n      \"tax_rate\": 0,\n      \"note\": \"\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//purchase-orders","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>type</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>priority_supplier_only</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>supplier_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>delivery_note</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>excepted_delivery_date</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>vendor_invoice_number</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>vendor_shipment_number</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>totals</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>totals.discount</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.use_in_for_invoice</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.address_line_1</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.city</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.country_id</code></td>\n<td>integer</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>invoice_address</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>invoice_address.address_line_1</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>invoice_address.city</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>invoice_address.country_id</code></td>\n<td>integer</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items</code></td>\n<td>array</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.inventory_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.discount</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.unit_price</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.item_qty</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.tax_rate</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.note</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><p>The delivery date may be sent as <code>expected_delivery_date</code>, which matches\nthe <code>purchase_orders</code> column it is stored in, or as the misspelt\n<code>excepted_delivery_date</code> this endpoint originally required. At least one is\nneeded. Existing integrations need no change: the misspelling is unchanged\nin every respect, and it is the one used if both are sent.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters-1\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters-1\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>type</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>priority_supplier_only</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>supplier_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>delivery_note</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>expected_delivery_date</code></td>\n<td>string</td>\n<td>no</td>\n<td>The date the order is expected to be delivered, matching the <code>purchase_orders</code> column it is stored in. Alias for the misspelt <code>excepted_delivery_date</code>; send at least one of the two. If both are sent, <code>excepted_delivery_date</code> is the one used.</td>\n</tr>\n<tr>\n<td><code>excepted_delivery_date</code></td>\n<td>string</td>\n<td>no</td>\n<td>The original, misspelt name for the delivery date, and still the canonical one: it is what validation reports against, and it wins if <code>expected_delivery_date</code> is also sent. Send at least one of the two.</td>\n</tr>\n<tr>\n<td><code>vendor_invoice_number</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>vendor_shipment_number</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>totals</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>invoice_address</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items</code></td>\n<td>array</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","purchase-orders"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"49fb9a19-0976-4e85-ab5e-afe78f1172f6"},{"name":"Purchase orders show","id":"629c898c-b80c-44f3-9799-81fc54a65497","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//purchase-orders/:purchaseOrderID","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>purchaseOrderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>owner</code></li>\n<li><code>items</code></li>\n<li><code>deliveries</code></li>\n<li><code>items.deliveryItems</code></li>\n<li><code>items.inventory</code></li>\n<li><code>items.inventory.meta</code></li>\n<li><code>items.inventory.containers</code></li>\n<li><code>items.inventory.barcodes</code></li>\n<li><code>shippingAddress</code></li>\n<li><code>shippingAddress.address</code></li>\n<li><code>invoiceAddress</code></li>\n<li><code>invoiceAddress.address</code></li>\n<li><code>supplier</code></li>\n<li><code>supplier.contact</code></li>\n<li><code>supplier.fileManager</code></li>\n<li><code>supplier.registrationDetails</code></li>\n<li><code>supplier.purchasingSettings</code></li>\n<li><code>supplier.purchasingSettings.currency</code></li>\n<li><code>tags.tag</code></li>\n<li><code>currency</code></li>\n<li><code>payment</code></li>\n<li><code>refund</code></li>\n<li><code>timeline</code></li>\n<li><code>customFields</code></li>\n<li><code>customFields.customFieldOption</code></li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","purchase-orders",":purchaseOrderID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>owner</code> - <code>items</code> - <code>deliveries</code> - <code>items.deliveryItems</code> - <code>items.inventory</code> - <code>items.inventory.meta</code> - <code>items.inventory.containers</code> - <code>items.inventory.barcodes</code> - <code>shippingAddress</code> - <code>shippingAddress.address</code> - <code>invoiceAddress</code> - <code>invoiceAddress.address</code> - <code>supplier</code> - <code>supplier.contact</code> - <code>supplier.fileManager</code> - <code>supplier.registrationDetails</code> - <code>supplier.purchasingSettings</code> - <code>supplier.purchasingSettings.currency</code> - <code>tags.tag</code> - <code>currency</code> - <code>payment</code> - <code>refund</code> - <code>timeline</code> - <code>customFields</code> - <code>customFields.customFieldOption</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"7f90bec2-3d46-4d14-8395-1425e92cf982","type":"any","value":"","key":"purchaseOrderID"}]}},"response":[],"_postman_id":"629c898c-b80c-44f3-9799-81fc54a65497"},{"name":"Purchase orders delete","id":"b7d7cc65-17e4-4fc2-9a98-8e568f06d903","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//purchase-orders/:purchaseOrderID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>purchaseOrderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","purchase-orders",":purchaseOrderID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"ed147f08-849f-4a1b-bd10-fbc70c4509f1","type":"any","value":"","key":"purchaseOrderID"}]}},"response":[],"_postman_id":"b7d7cc65-17e4-4fc2-9a98-8e568f06d903"},{"name":"Purchase orders cancel","id":"e38c41ab-7814-485b-b3b7-003d5f4dc538","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//purchase-orders/:purchaseOrderID/cancel","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>purchaseOrderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","purchase-orders",":purchaseOrderID","cancel"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"2257de6a-fdae-4450-9e67-4fe3578a61ce","type":"any","value":"","key":"purchaseOrderID"}]}},"response":[],"_postman_id":"e38c41ab-7814-485b-b3b7-003d5f4dc538"},{"name":"Purchase orders archive","id":"0e6ea23a-2a73-4dc3-9429-f04fe47e527c","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//purchase-orders/:purchaseOrderID/archive","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>purchaseOrderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","purchase-orders",":purchaseOrderID","archive"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"c82adc5a-2bd4-402d-aea5-6e20542d384b","type":"any","value":"","key":"purchaseOrderID"}]}},"response":[],"_postman_id":"0e6ea23a-2a73-4dc3-9429-f04fe47e527c"},{"name":"Purchase orders unarchive","id":"2a507065-6b7e-4a4b-91ab-714a15355351","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//purchase-orders/:purchaseOrderID/unarchive","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>purchaseOrderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","purchase-orders",":purchaseOrderID","unarchive"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"9c09181b-df9b-4b6a-9fa0-a94fc0589fa0","type":"any","value":"","key":"purchaseOrderID"}]}},"response":[],"_postman_id":"2a507065-6b7e-4a4b-91ab-714a15355351"},{"name":"Purchase orders available suppliers","id":"12da0256-84f4-457c-bdac-146dd33b7d93","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//purchase-orders/available-suppliers?company_id=&type=","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>Options: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>priority_supplier_only</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>supplier_name</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","purchase-orders","available-suppliers"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"type","value":""},{"disabled":true,"key":"priority_supplier_only","value":""},{"disabled":true,"key":"supplier_name","value":""}],"variable":[]}},"response":[],"_postman_id":"12da0256-84f4-457c-bdac-146dd33b7d93"},{"name":"Purchase orders supplier balance","id":"f4d49210-7cff-486d-868c-550f6da63082","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//purchase-orders/supplier-balance/:supplierID?company_id=&supplier_id=","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>supplierID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>supplier_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","purchase-orders","supplier-balance",":supplierID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"supplier_id","value":""}],"variable":[{"id":"4067d497-d6ee-43d9-b588-fa89c806a6bb","type":"any","value":"","key":"supplierID"}]}},"response":[],"_postman_id":"f4d49210-7cff-486d-868c-550f6da63082"},{"name":"Purchase orders timeline","id":"c11578ba-a8c2-4567-8cb4-9038196cfd35","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//purchase-orders/:purchaseOrderID/timeline?company_id=&purchase_order_id=","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>purchaseOrderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>purchase_order_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>types[]</code></td>\n<td>Options: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code></td>\n</tr>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>user</code></li>\n<li><code>purchase_order</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","purchase-orders",":purchaseOrderID","timeline"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"purchase_order_id","value":""},{"disabled":true,"key":"types[]","value":""},{"disabled":true,"key":"sort_by","value":""},{"disabled":true,"key":"sort_direction","value":""},{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"key":"page","value":""},{"disabled":true,"key":"per_page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>user</code> - <code>purchase_order</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"251254d0-7eae-43c2-881f-358c73399539","type":"any","value":"","key":"purchaseOrderID"}]}},"response":[],"_postman_id":"c11578ba-a8c2-4567-8cb4-9038196cfd35"},{"name":"Purchase orders un received delivery items","id":"d5d2f86c-3967-4ddc-893c-e4bef64d2b67","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//purchase-orders/:purchaseOrderID/un-received-delivery-items","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>purchaseOrderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","purchase-orders",":purchaseOrderID","un-received-delivery-items"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"b0da6c98-6060-4fb0-9708-ad769e901741","type":"any","value":"","key":"purchaseOrderID"}]}},"response":[],"_postman_id":"d5d2f86c-3967-4ddc-893c-e4bef64d2b67"},{"name":"Purchase orders has received delivery items","id":"74955304-df4a-4424-8b25-4d10977e377d","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//purchase-orders/:purchaseOrderID/has-received-delivery-items","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>purchaseOrderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","purchase-orders",":purchaseOrderID","has-received-delivery-items"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"b5901edd-22f5-401a-863f-5f76ffca0806","type":"any","value":"","key":"purchaseOrderID"}]}},"response":[],"_postman_id":"74955304-df4a-4424-8b25-4d10977e377d"},{"name":"Purchase orders mark as received","id":"b6c3a9f7-ade5-45a3-8590-46d493fe180f","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"purchase_order_id\": \"{{purchase_order_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//purchase-orders/:purchaseOrderID/mark-as-received","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>purchaseOrderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>purchase_order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","purchase-orders",":purchaseOrderID","mark-as-received"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"c2f24997-ddff-4590-92ba-0dd8ba2aa330","type":"any","value":"","key":"purchaseOrderID"}]}},"response":[],"_postman_id":"b6c3a9f7-ade5-45a3-8590-46d493fe180f"},{"name":"Purchase orders duplicate","id":"bd78d925-cda3-4d2b-aef1-86564c993521","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"includes\": \"\",\n  \"includes_count\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//purchase-orders/:purchaseOrderID/duplicate","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>purchaseOrderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>includes_count</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","purchase-orders",":purchaseOrderID","duplicate"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"432f0bc5-6be8-492d-887e-b372bfd5fd2d","type":"any","value":"","key":"purchaseOrderID"}]}},"response":[],"_postman_id":"bd78d925-cda3-4d2b-aef1-86564c993521"},{"name":"Purchase orders update address","id":"cc6f2fa1-1d04-413c-8371-f2bd87843ec2","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"purchase_order_id\": \"{{purchase_order_id}}\",\n  \"address_type\": 1,\n  \"use_in_for_invoice\": false,\n  \"address_id\": \"{{address_id}}\",\n  \"company_name\": \"\",\n  \"firstname\": \"\",\n  \"lastname\": \"\",\n  \"phone\": \"\",\n  \"email\": \"user@example.com\",\n  \"address_line_1\": \"address_line_1\",\n  \"address_line_2\": \"\",\n  \"address_line_3\": \"\",\n  \"city\": \"city\",\n  \"county\": \"\",\n  \"country_id\": \"{{country_id}}\",\n  \"postcode\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//purchase-orders/:purchaseOrderID/update-address","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>purchaseOrderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>purchase_order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address_type</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code></td>\n</tr>\n<tr>\n<td><code>use_in_for_invoice</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>company_name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>firstname</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>lastname</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>phone</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>email</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address_line_1</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address_line_2</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address_line_3</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>city</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>county</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>country_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>postcode</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","purchase-orders",":purchaseOrderID","update-address"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"4ec52e36-98e6-4700-81c7-22e4a8ceba44","type":"any","value":"","key":"purchaseOrderID"}]}},"response":[],"_postman_id":"cc6f2fa1-1d04-413c-8371-f2bd87843ec2"},{"name":"Purchase orders update discount","id":"80ad51f8-e9dc-4c12-b94c-d3a73374cc7d","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"purchase_order_id\": \"{{purchase_order_id}}\",\n  \"discount\": 0\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//purchase-orders/:purchaseOrderID/update-discount","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>purchaseOrderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>purchase_order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>discount</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","purchase-orders",":purchaseOrderID","update-discount"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"05692d0d-ccb2-4628-8741-77dd99ab9c3d","type":"any","value":"","key":"purchaseOrderID"}]}},"response":[],"_postman_id":"80ad51f8-e9dc-4c12-b94c-d3a73374cc7d"},{"name":"Purchase orders add delivery note","id":"f9dc9cc8-bbea-425b-a2e6-636551c83d68","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"purchase_order_id\": \"{{purchase_order_id}}\",\n  \"note\": \"note\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//purchase-orders/:purchaseOrderID/add-delivery-note","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>purchaseOrderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>purchase_order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>note</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","purchase-orders",":purchaseOrderID","add-delivery-note"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"bb737b6c-4acd-4adc-8b35-f5628ec141d7","type":"any","value":"","key":"purchaseOrderID"}]}},"response":[],"_postman_id":"f9dc9cc8-bbea-425b-a2e6-636551c83d68"},{"name":"Purchase orders remove delivery note","id":"ddf51fbc-9f1e-454a-a088-ab04266fa299","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"purchase_order_id\": \"{{purchase_order_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//purchase-orders/:purchaseOrderID/remove-delivery-note","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>purchaseOrderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>purchase_order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","purchase-orders",":purchaseOrderID","remove-delivery-note"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"1cdf4aae-52fe-4829-93f7-06eba3df78da","type":"any","value":"","key":"purchaseOrderID"}]}},"response":[],"_postman_id":"ddf51fbc-9f1e-454a-a088-ab04266fa299"},{"name":"Purchase orders change owner","id":"ff5be22e-4fa3-4f24-b33c-7c187c5575d3","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"purchase_order_id\": \"{{purchase_order_id}}\",\n  \"owner_id\": \"{{owner_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//purchase-orders/:purchaseOrderID/change-owner","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>purchaseOrderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>purchase_order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>owner_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","purchase-orders",":purchaseOrderID","change-owner"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"7b43c854-4608-4e63-84fd-d75eeafd5e78","type":"any","value":"","key":"purchaseOrderID"}]}},"response":[],"_postman_id":"ff5be22e-4fa3-4f24-b33c-7c187c5575d3"},{"name":"Purchase orders change expected delivery date","id":"54d296da-c854-406e-9439-6fce449202f8","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"purchase_order_id\": \"{{purchase_order_id}}\",\n  \"date\": \"date\",\n  \"update_all_lines\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//purchase-orders/:purchaseOrderID/change-expected-delivery-date","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>purchaseOrderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>purchase_order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>date</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>update_all_lines</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","purchase-orders",":purchaseOrderID","change-expected-delivery-date"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"e3d9dd18-0628-43a8-8b85-fa598241355c","type":"any","value":"","key":"purchaseOrderID"}]}},"response":[],"_postman_id":"54d296da-c854-406e-9439-6fce449202f8"},{"name":"Purchase orders change vendor details","id":"4079c514-c871-425c-be6c-501c14227581","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"purchase_order_id\": \"{{purchase_order_id}}\",\n  \"vendor_invoice_number\": \"\",\n  \"vendor_shipment_number\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//purchase-orders/:purchaseOrderID/change-vendor-details","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>purchaseOrderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>purchase_order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>vendor_invoice_number</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>vendor_shipment_number</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","purchase-orders",":purchaseOrderID","change-vendor-details"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"d83a6b75-4a49-4bdd-a451-3d9c256c5eee","type":"any","value":"","key":"purchaseOrderID"}]}},"response":[],"_postman_id":"4079c514-c871-425c-be6c-501c14227581"},{"name":"Purchase orders change supplier","id":"3566da83-f6c7-4510-9b46-3390bccb5d5c","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"purchase_order_id\": \"{{purchase_order_id}}\",\n  \"supplier_id\": \"{{supplier_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//purchase-orders/:purchaseOrderID/change-supplier","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>purchaseOrderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>purchase_order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>supplier_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","purchase-orders",":purchaseOrderID","change-supplier"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"af3da52a-babf-488b-b1c9-21bd86e117ce","type":"any","value":"","key":"purchaseOrderID"}]}},"response":[],"_postman_id":"3566da83-f6c7-4510-9b46-3390bccb5d5c"},{"name":"Purchase orders comments list","id":"6de748f7-527c-4f5c-b2f8-9b41204e5bf1","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//purchase-orders/:purchaseOrderID/comments","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>purchaseOrderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","purchase-orders",":purchaseOrderID","comments"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""}],"variable":[{"id":"0d4df0f1-2576-42d0-8f7f-8cff72bca3ff","type":"any","value":"","key":"purchaseOrderID"}]}},"response":[],"_postman_id":"6de748f7-527c-4f5c-b2f8-9b41204e5bf1"},{"name":"Purchase orders comments create","id":"9c07b509-9dd2-4c6c-bed4-56b28c3bcd73","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"purchase_order_id\": \"{{purchase_order_id}}\",\n  \"content\": \"content\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//purchase-orders/:purchaseOrderID/comments","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>purchaseOrderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>purchase_order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>content</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","purchase-orders",":purchaseOrderID","comments"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"5696265c-d854-47a5-88f3-466ddf740e9a","type":"any","value":"","key":"purchaseOrderID"}]}},"response":[],"_postman_id":"9c07b509-9dd2-4c6c-bed4-56b28c3bcd73"},{"name":"Purchase orders comments update","id":"d9c1860d-5802-4436-966c-8a4774203d5f","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"purchase_order_id\": \"{{purchase_order_id}}\",\n  \"purchase_order_comment_id\": \"{{purchase_order_comment_id}}\",\n  \"content\": \"content\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//purchase-orders/:purchaseOrderID/comments/:purchaseOrderCommentID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>purchaseOrderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>purchaseOrderCommentID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>purchase_order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>purchase_order_comment_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>content</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","purchase-orders",":purchaseOrderID","comments",":purchaseOrderCommentID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"9df202b2-b51d-46b5-9271-be8fe5c7961a","type":"any","value":"","key":"purchaseOrderID"},{"id":"0f868ece-0751-40fc-9211-30d7572c9e67","type":"any","value":"","key":"purchaseOrderCommentID"}]}},"response":[],"_postman_id":"d9c1860d-5802-4436-966c-8a4774203d5f"},{"name":"Purchase orders comments delete","id":"4cdf51a4-a1b4-489c-a649-bd3bef6d356a","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//purchase-orders/:purchaseOrderID/comments/:purchaseOrderCommentID?company_id=&purchase_order_id=&purchase_order_comment_id=","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>purchaseOrderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>purchaseOrderCommentID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>purchase_order_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>purchase_order_comment_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","purchase-orders",":purchaseOrderID","comments",":purchaseOrderCommentID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"purchase_order_id","value":""},{"key":"purchase_order_comment_id","value":""}],"variable":[{"id":"c12534d2-c0d3-4ca7-a66d-7c7cdcb730ab","type":"any","value":"","key":"purchaseOrderID"},{"id":"2cf087bc-cb78-4fac-a0bf-c15214af33de","type":"any","value":"","key":"purchaseOrderCommentID"}]}},"response":[],"_postman_id":"4cdf51a4-a1b4-489c-a649-bd3bef6d356a"},{"name":"Search items on this supplier's sent purchase orders","id":"cdae1bef-6478-4744-9cd0-fe8edefea90b","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//purchase-orders/supplier/:supplierID/items","description":"<p>NOT a supplier catalogue: it searches lines already committed to this\nsupplier's purchase orders, so it cannot say what is orderable from the\nsupplier in the first place. A line is returned only when its purchase\norder belongs to this company and supplier, has been sent (<code>status = 2</code>)\nand is not archived, and the line still expects stock (<code>expected_qty &gt; 0</code>).</p>\n<p>A <code>search</code> beginning <code>PO-</code> or <code>po-</code> is tried as an exact purchase-order\nnumber first; any other term, or one whose exact match found nothing, is\nmatched partially against the item code and item name. An empty <code>data</code>\narray therefore means no outstanding line matched, not that the supplier\nhas nothing to offer: a supplier with no sent purchase orders returns an\nempty list for every possible term.</p>\n<p>The response is a plain list; it is not paginated.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>supplierID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?search=SKU-123</code>).</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>search</code></td>\n<td>Optional. Filters by inventory code/name; a value starting with <code>PO-</code> matches the purchase-order number. Omit to list every open item for the supplier.</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","purchase-orders","supplier",":supplierID","items"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"description":{"content":"<p>Optional. Filters by inventory code/name; a value starting with <code>PO-</code> matches the purchase-order number. Omit to list every open item for the supplier.</p>\n","type":"text/plain"},"key":"search","value":""}],"variable":[{"id":"c9645d95-a522-4dd8-8704-2595e6056cd9","type":"any","value":"","key":"supplierID"}]}},"response":[],"_postman_id":"cdae1bef-6478-4744-9cd0-fe8edefea90b"},{"name":"Purchase orders items get un received items","id":"4a8edb0d-3188-4355-8cdc-c466c1601a8e","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//purchase-orders/:purchaseOrderID/items/get-un-received-items","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>purchaseOrderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","purchase-orders",":purchaseOrderID","items","get-un-received-items"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"343284e5-b295-4136-a492-e25a17032b83","type":"any","value":"","key":"purchaseOrderID"}]}},"response":[],"_postman_id":"4a8edb0d-3188-4355-8cdc-c466c1601a8e"},{"name":"Purchase orders items list","id":"a0a4fe3f-506e-43ef-a645-d288093b2c17","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//purchase-orders/:purchaseOrderID/items","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>purchaseOrderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>purchase_order_id</code></td>\n<td>Filter by Purchase Order Id.</td>\n</tr>\n<tr>\n<td><code>item_code</code></td>\n<td>Filter by Item Code.</td>\n</tr>\n<tr>\n<td><code>supplier_code</code></td>\n<td>Filter by Supplier Code.</td>\n</tr>\n<tr>\n<td><code>item_name</code></td>\n<td>Filter by Item Name.</td>\n</tr>\n<tr>\n<td><code>item_qty_from</code></td>\n<td>Filter by Item Qty From.</td>\n</tr>\n<tr>\n<td><code>item_qty_to</code></td>\n<td>Filter by Item Qty To.</td>\n</tr>\n<tr>\n<td><code>line_price_from</code></td>\n<td>Filter by Line Price From.</td>\n</tr>\n<tr>\n<td><code>line_price_to</code></td>\n<td>Filter by Line Price To.</td>\n</tr>\n<tr>\n<td><code>unit_price_from</code></td>\n<td>Filter by Unit Price From.</td>\n</tr>\n<tr>\n<td><code>unit_price_to</code></td>\n<td>Filter by Unit Price To.</td>\n</tr>\n<tr>\n<td><code>tax_group</code></td>\n<td>Filter by Tax Group.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","purchase-orders",":purchaseOrderID","items"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Purchase Order Id.</p>\n","type":"text/plain"},"key":"purchase_order_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Item Code.</p>\n","type":"text/plain"},"key":"item_code","value":""},{"disabled":true,"description":{"content":"<p>Filter by Supplier Code.</p>\n","type":"text/plain"},"key":"supplier_code","value":""},{"disabled":true,"description":{"content":"<p>Filter by Item Name.</p>\n","type":"text/plain"},"key":"item_name","value":""},{"disabled":true,"description":{"content":"<p>Filter by Item Qty From.</p>\n","type":"text/plain"},"key":"item_qty_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Item Qty To.</p>\n","type":"text/plain"},"key":"item_qty_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Line Price From.</p>\n","type":"text/plain"},"key":"line_price_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Line Price To.</p>\n","type":"text/plain"},"key":"line_price_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Unit Price From.</p>\n","type":"text/plain"},"key":"unit_price_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Unit Price To.</p>\n","type":"text/plain"},"key":"unit_price_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Tax Group.</p>\n","type":"text/plain"},"key":"tax_group","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations vary per endpoint.</p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"b6c6235b-d65e-4e10-88b4-f7577e7596c5","type":"any","value":"","key":"purchaseOrderID"}]}},"response":[],"_postman_id":"a0a4fe3f-506e-43ef-a645-d288093b2c17"},{"name":"Purchase orders items create","id":"f9c510f7-664c-4a50-9fc7-ce2e241b4a01","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"purchase_order_id\": \"{{purchase_order_id}}\",\n  \"supplier_id\": \"{{supplier_id}}\",\n  \"items\": [\n    {\n      \"inventory_id\": \"{{inventory_id}}\",\n      \"item_qty\": 1,\n      \"unit_price\": 0,\n      \"discount\": 0,\n      \"tax_rate\": 0,\n      \"note\": \"\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//purchase-orders/:purchaseOrderID/items","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>purchaseOrderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>purchase_order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>supplier_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.inventory_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.item_qty</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.unit_price</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.discount</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.tax_rate</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.note</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","purchase-orders",":purchaseOrderID","items"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"d863a328-9bab-4176-99d1-9a69f8ce9e88","type":"any","value":"","key":"purchaseOrderID"}]}},"response":[],"_postman_id":"f9c510f7-664c-4a50-9fc7-ce2e241b4a01"},{"name":"Purchase orders items update","id":"b7a14da1-f98c-455f-8ea4-0f51cc0bf606","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"purchase_order_id\": \"{{purchase_order_id}}\",\n  \"purchase_order_item_id\": \"{{purchase_order_item_id}}\",\n  \"item_qty\": 1,\n  \"tax_rate\": 0,\n  \"discount\": 0,\n  \"unit_price\": 0\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//purchase-orders/:purchaseOrderID/items/:purchaseOrderItemID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>purchaseOrderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>purchaseOrderItemID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>purchase_order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>purchase_order_item_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>item_qty</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tax_rate</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>discount</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>unit_price</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","purchase-orders",":purchaseOrderID","items",":purchaseOrderItemID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"7eec0aed-4abf-43e8-842a-10fb2fdf4ac2","type":"any","value":"","key":"purchaseOrderID"},{"id":"72d5583e-3a91-4ce4-8eb0-2fe1baa460b5","type":"any","value":"","key":"purchaseOrderItemID"}]}},"response":[],"_postman_id":"b7a14da1-f98c-455f-8ea4-0f51cc0bf606"},{"name":"Purchase orders items delete","id":"9717dcc3-3abd-4042-8ae3-9b2c5a4e610b","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//purchase-orders/:purchaseOrderID/items/:purchaseOrderItemID?company_id=&purchase_order_id=&purchase_order_item_id=","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>purchaseOrderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>purchaseOrderItemID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>purchase_order_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>purchase_order_item_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","purchase-orders",":purchaseOrderID","items",":purchaseOrderItemID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"purchase_order_id","value":""},{"key":"purchase_order_item_id","value":""}],"variable":[{"id":"5681d272-2908-49f6-ac58-1eabd0707c2b","type":"any","value":"","key":"purchaseOrderID"},{"id":"12e57f1d-8f22-4441-8ea3-230d0a10524f","type":"any","value":"","key":"purchaseOrderItemID"}]}},"response":[],"_postman_id":"9717dcc3-3abd-4042-8ae3-9b2c5a4e610b"},{"name":"Purchase orders items add note","id":"f449f3c2-6bb3-4a63-8b9d-31804c07ce56","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"purchase_order_id\": \"{{purchase_order_id}}\",\n  \"purchase_order_item_id\": \"{{purchase_order_item_id}}\",\n  \"note\": \"note\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//purchase-orders/:purchaseOrderID/items/:purchaseOrderItemID/add-note","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>purchaseOrderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>purchaseOrderItemID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>purchase_order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>purchase_order_item_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>note</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","purchase-orders",":purchaseOrderID","items",":purchaseOrderItemID","add-note"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"b3d7aa10-2494-439f-a798-9d86f0e3d7ad","type":"any","value":"","key":"purchaseOrderID"},{"id":"a04c39f8-5ebc-4065-96a9-30f0da23341d","type":"any","value":"","key":"purchaseOrderItemID"}]}},"response":[],"_postman_id":"f449f3c2-6bb3-4a63-8b9d-31804c07ce56"},{"name":"Purchase orders items remove note","id":"11018023-9eff-49f9-a04d-201092725474","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"purchase_order_id\": \"{{purchase_order_id}}\",\n  \"purchase_order_item_id\": \"{{purchase_order_item_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//purchase-orders/:purchaseOrderID/items/:purchaseOrderItemID/remove-note","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>purchaseOrderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>purchaseOrderItemID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>purchase_order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>purchase_order_item_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","purchase-orders",":purchaseOrderID","items",":purchaseOrderItemID","remove-note"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"45b36a4f-c023-45c3-981b-75f5e63207c7","type":"any","value":"","key":"purchaseOrderID"},{"id":"2453e0c9-d805-4d5f-b016-24db84985045","type":"any","value":"","key":"purchaseOrderItemID"}]}},"response":[],"_postman_id":"11018023-9eff-49f9-a04d-201092725474"},{"name":"Purchase orders items add qty cancelled","id":"415d34fe-a2e4-4b49-b9d2-f2291819cf5e","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"purchase_order_id\": \"{{purchase_order_id}}\",\n  \"purchase_order_item_id\": \"{{purchase_order_item_id}}\",\n  \"quantity\": 1\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//purchase-orders/:purchaseOrderID/items/:purchaseOrderItemID/add-qty-cancelled","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>purchaseOrderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>purchaseOrderItemID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>purchase_order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>purchase_order_item_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>quantity</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","purchase-orders",":purchaseOrderID","items",":purchaseOrderItemID","add-qty-cancelled"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"8699056b-832e-4b82-9294-776f0545566d","type":"any","value":"","key":"purchaseOrderID"},{"id":"34c645ed-5800-44c8-bbc1-add087c6dbbf","type":"any","value":"","key":"purchaseOrderItemID"}]}},"response":[],"_postman_id":"415d34fe-a2e4-4b49-b9d2-f2291819cf5e"},{"name":"Purchase orders payments history","id":"852499c7-9665-48b3-85fe-cde9128d5226","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//purchase-orders/:purchaseOrderID/payments/history?company_id=&purchase_order_id=","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>purchaseOrderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>purchase_order_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","purchase-orders",":purchaseOrderID","payments","history"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"purchase_order_id","value":""}],"variable":[{"id":"6d212dab-2cd4-429d-81fc-28b42bc7c140","type":"any","value":"","key":"purchaseOrderID"}]}},"response":[],"_postman_id":"852499c7-9665-48b3-85fe-cde9128d5226"},{"name":"Purchase orders payments pay","id":"43fac3f7-cf04-437b-aebf-b8ab218fff48","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"purchase_order_id\": \"{{purchase_order_id}}\",\n  \"payment_id\": \"{{payment_id}}\",\n  \"price\": 0,\n  \"invoice_number\": \"\",\n  \"payment_reference\": \"\",\n  \"additional_note\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//purchase-orders/:purchaseOrderID/payments/:paymentID/pay","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>purchaseOrderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>paymentID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>purchase_order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>payment_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>price</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>invoice_number</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>payment_reference</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>additional_note</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","purchase-orders",":purchaseOrderID","payments",":paymentID","pay"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"e622f870-4f9d-4bfb-bb66-d05f08068592","type":"any","value":"","key":"purchaseOrderID"},{"id":"b78db4d1-0f89-41b2-b650-3b9eaae66bc9","type":"any","value":"","key":"paymentID"}]}},"response":[],"_postman_id":"43fac3f7-cf04-437b-aebf-b8ab218fff48"},{"name":"Purchase orders refunds history","id":"0b050ee8-963e-4e29-b93f-0f9c7189fd08","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//purchase-orders/:purchaseOrderID/refunds/history?company_id=&purchase_order_id=","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>purchaseOrderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>purchase_order_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","purchase-orders",":purchaseOrderID","refunds","history"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"purchase_order_id","value":""}],"variable":[{"id":"9420a435-4fbb-44f1-857e-e5e8b3795acb","type":"any","value":"","key":"purchaseOrderID"}]}},"response":[],"_postman_id":"0b050ee8-963e-4e29-b93f-0f9c7189fd08"},{"name":"Purchase orders refunds refund","id":"92e00f2c-afee-4aa9-8616-56502b52290f","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"purchase_order_id\": \"{{purchase_order_id}}\",\n  \"refund_id\": \"{{refund_id}}\",\n  \"price\": 0\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//purchase-orders/:purchaseOrderID/refunds/:refundID/refund","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>purchaseOrderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>refundID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>purchase_order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>refund_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>price</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","purchase-orders",":purchaseOrderID","refunds",":refundID","refund"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"85b7c68b-6d6c-42b6-99ce-3d53df7c8dec","type":"any","value":"","key":"purchaseOrderID"},{"id":"46484462-51f5-414e-961e-ace9941e99ba","type":"any","value":"","key":"refundID"}]}},"response":[],"_postman_id":"92e00f2c-afee-4aa9-8616-56502b52290f"},{"name":"Purchase orders tags search","id":"5af0292b-8f0c-4f45-83b0-91416c1498ce","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//purchase-orders/tags","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","purchase-orders","tags"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"description":{"content":"<p>NOTE: filters are FLAT query params named after the filter method (e.g. ?ids=1,2&amp;store_id=5), resolved by App\\Filters\\QueryFilters against top-level request keys — there is NO nested filter[...] contract at runtime, so none is declared/documented here.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"key":"sort_direction","value":""},{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"key":"page","value":""},{"disabled":true,"key":"per_page","value":""}],"variable":[]}},"response":[],"_postman_id":"5af0292b-8f0c-4f45-83b0-91416c1498ce"},{"name":"Purchase orders tags attached tags","id":"f92c8568-3dd0-4b1a-b285-a32881c8f624","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//purchase-orders/attached-tags?company_id=","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>purchase_order_ids[]</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","purchase-orders","attached-tags"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"disabled":true,"key":"purchase_order_ids[]","value":""}],"variable":[]}},"response":[],"_postman_id":"f92c8568-3dd0-4b1a-b285-a32881c8f624"},{"name":"Purchase orders tags list","id":"689bed99-21af-4810-b6f5-ee2415e9fd3e","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//purchase-orders/:purchaseOrderID/tags","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>purchaseOrderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>purchase_order_id</code></td>\n<td>Filter by Purchase Order Id.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>company</code></li>\n<li><code>purchaseOrder</code></li>\n<li><code>tag</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","purchase-orders",":purchaseOrderID","tags"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Purchase Order Id.</p>\n","type":"text/plain"},"key":"purchase_order_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>company</code> - <code>purchaseOrder</code> - <code>tag</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"d95d2dbc-95ff-49df-843d-fcef45d39d26","type":"any","value":"","key":"purchaseOrderID"}]}},"response":[],"_postman_id":"689bed99-21af-4810-b6f5-ee2415e9fd3e"},{"name":"Purchase orders tags create","id":"a731d380-b4b7-44aa-9ba8-72af9fb52a4c","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"purchase_order_id\": \"{{purchase_order_id}}\",\n  \"name\": \"name\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//purchase-orders/:purchaseOrderID/tags","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>purchaseOrderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>purchase_order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","purchase-orders",":purchaseOrderID","tags"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"86ede9bb-9f9a-4416-85b2-61be45a7fc63","type":"any","value":"","key":"purchaseOrderID"}]}},"response":[],"_postman_id":"a731d380-b4b7-44aa-9ba8-72af9fb52a4c"},{"name":"Purchase orders tags attach","id":"fc19fdc5-99f5-47a4-b95b-4b63cbc965f8","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"purchase_order_id\": \"{{purchase_order_id}}\",\n  \"tag_id\": \"{{tag_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//purchase-orders/:purchaseOrderID/tags/:tagID/attach","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>purchaseOrderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>tagID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>purchase_order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tag_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","purchase-orders",":purchaseOrderID","tags",":tagID","attach"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"8b676d0f-8eb9-4c24-b3dd-b16ba9392b95","type":"any","value":"","key":"purchaseOrderID"},{"id":"aa76828c-eca3-4d74-a765-762384468ad9","type":"any","value":"","key":"tagID"}]}},"response":[],"_postman_id":"fc19fdc5-99f5-47a4-b95b-4b63cbc965f8"},{"name":"Purchase orders tags detach","id":"f9bcf132-b84e-498f-b9bd-bb24cddaad33","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"purchase_order_id\": \"{{purchase_order_id}}\",\n  \"tag_id\": \"{{tag_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//purchase-orders/:purchaseOrderID/tags/:tagID/detach","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>purchaseOrderID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>tagID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>purchase_order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tag_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","purchase-orders",":purchaseOrderID","tags",":tagID","detach"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"d88a407b-74da-40fc-bb6c-bd34f6c3b7c1","type":"any","value":"","key":"purchaseOrderID"},{"id":"edadedab-ef02-4301-8e89-3a56198063bd","type":"any","value":"","key":"tagID"}]}},"response":[],"_postman_id":"f9bcf132-b84e-498f-b9bd-bb24cddaad33"}],"id":"a00a664e-62bf-468b-bec6-943cc3c2be1c","description":"<p><strong>Purchase Orders</strong> — 46 endpoints.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"a00a664e-62bf-468b-bec6-943cc3c2be1c","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Reporting","item":[{"name":"Reporting types","id":"901a21b8-bfc7-42a1-bc0b-7dff747ad7a7","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//reporting/types","description":"<p><strong>Rate limit:</strong> 10 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","reporting","types"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"901a21b8-bfc7-42a1-bc0b-7dff747ad7a7"},{"name":"Reporting type configuration","id":"63e82eb9-46e9-4d97-a387-d3fba28599b2","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//reporting/types/:reportType/configuration?report_type=","description":"<p><strong>Rate limit:</strong> 10 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>reportType</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>report_type</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","reporting","types",":reportType","configuration"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"report_type","value":""}],"variable":[{"id":"6b51e73e-d607-418e-97f2-9e03aaf7b02b","type":"any","value":"","key":"reportType"}]}},"response":[],"_postman_id":"63e82eb9-46e9-4d97-a387-d3fba28599b2"},{"name":"Reporting defaults","id":"ef26f664-6dfe-4312-ad50-df2225df4951","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//reporting/defaults","description":"<p><strong>Rate limit:</strong> 10 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","reporting","defaults"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"ef26f664-6dfe-4312-ad50-df2225df4951"},{"name":"Reporting validate configuration","id":"283f0c73-9d25-4665-b417-133de40353e1","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"report_type\": 1,\n  \"grouping\": [\n    1\n  ],\n  \"columns\": [\n    {\n      \"field\": 1,\n      \"calculations\": [\n        \"sum\"\n      ],\n      \"label\": \"\"\n    }\n  ],\n  \"filters\": [\n    {\n      \"field\": \"field\",\n      \"operator\": 1,\n      \"value\": \"\"\n    }\n  ],\n  \"sorting\": {\n    \"field\": 1,\n    \"direction\": \"asc\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//reporting/validate-configuration","description":"<p><strong>Rate limit:</strong> 10 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>report_type</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code>, <code>9</code>, <code>10</code>, <code>11</code>, <code>12</code>, <code>13</code></td>\n</tr>\n<tr>\n<td><code>grouping</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>columns</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>columns.*.field</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code>, <code>9</code>, <code>10</code>, <code>11</code>, <code>12</code>, <code>13</code>, <code>14</code>, <code>15</code>, <code>16</code>, <code>17</code>, <code>18</code>, <code>19</code>, <code>20</code>, <code>21</code>, <code>22</code>, <code>23</code>, <code>24</code>, <code>25</code>, <code>26</code>, <code>27</code>, <code>28</code>, <code>29</code>, <code>30</code>, <code>31</code>, <code>32</code>, <code>33</code>, <code>34</code>, <code>35</code>, <code>36</code>, <code>37</code>, <code>38</code>, <code>39</code>, <code>40</code>, <code>41</code>, <code>42</code>, <code>43</code>, <code>44</code>, <code>45</code>, <code>46</code>, <code>47</code>, <code>48</code>, <code>49</code>, <code>50</code>, <code>51</code>, <code>53</code>, <code>54</code>, <code>55</code>, <code>56</code>, <code>57</code>, <code>58</code>, <code>65</code>, <code>66</code>, <code>68</code>, <code>69</code>, <code>70</code>, <code>71</code>, <code>72</code>, <code>73</code>, <code>74</code>, <code>75</code>, <code>76</code>, <code>77</code>, <code>78</code>, <code>79</code>, <code>80</code>, <code>81</code>, <code>82</code>, <code>83</code>, <code>84</code>, <code>85</code>, <code>86</code>, <code>87</code>, <code>88</code>, <code>93</code>, <code>94</code>, <code>95</code>, <code>96</code>, <code>97</code>, <code>98</code>, <code>99</code>, <code>100</code>, <code>101</code>, <code>102</code>, <code>103</code>, <code>104</code>, <code>105</code>, <code>106</code>, <code>107</code>, <code>108</code>, <code>109</code>, <code>110</code>, <code>111</code>, <code>112</code>, <code>113</code>, <code>114</code>, <code>115</code>, <code>116</code>, <code>117</code>, <code>118</code>, <code>119</code>, <code>120</code>, <code>121</code>, <code>122</code>, <code>123</code>, <code>124</code>, <code>125</code>, <code>126</code>, <code>127</code>, <code>128</code>, <code>129</code>, <code>130</code>, <code>131</code>, <code>132</code>, <code>133</code>, <code>134</code>, <code>135</code>, <code>136</code>, <code>137</code>, <code>138</code>, <code>139</code>, <code>140</code>, <code>141</code>, <code>142</code>, <code>143</code>, <code>144</code>, <code>145</code>, <code>146</code>, <code>147</code>, <code>148</code>, <code>149</code>, <code>150</code>, <code>151</code>, <code>152</code>, <code>153</code>, <code>154</code>, <code>155</code>, <code>156</code>, <code>157</code>, <code>158</code>, <code>159</code>, <code>160</code>, <code>161</code>, <code>162</code>, <code>163</code>, <code>164</code>, <code>165</code>, <code>242</code>, <code>166</code>, <code>167</code>, <code>168</code>, <code>169</code>, <code>170</code>, <code>171</code>, <code>172</code>, <code>173</code>, <code>174</code>, <code>175</code>, <code>176</code>, <code>177</code>, <code>178</code>, <code>179</code>, <code>180</code>, <code>181</code>, <code>182</code>, <code>183</code>, <code>184</code>, <code>185</code>, <code>186</code>, <code>187</code>, <code>188</code>, <code>189</code>, <code>190</code>, <code>191</code>, <code>192</code>, <code>193</code>, <code>194</code>, <code>195</code>, <code>196</code>, <code>197</code>, <code>198</code>, <code>199</code>, <code>200</code>, <code>201</code>, <code>202</code>, <code>203</code>, <code>205</code>, <code>206</code>, <code>207</code>, <code>208</code>, <code>209</code>, <code>210</code>, <code>211</code>, <code>212</code>, <code>213</code>, <code>214</code>, <code>215</code>, <code>216</code>, <code>217</code>, <code>218</code>, <code>219</code>, <code>220</code>, <code>221</code>, <code>222</code>, <code>223</code>, <code>224</code>, <code>225</code>, <code>226</code>, <code>227</code>, <code>228</code>, <code>229</code>, <code>230</code>, <code>231</code>, <code>232</code>, <code>233</code>, <code>234</code>, <code>235</code>, <code>236</code>, <code>237</code>, <code>238</code>, <code>239</code>, <code>240</code>, <code>241</code>, <code>243</code>, <code>244</code>, <code>245</code>, <code>246</code>, <code>247</code>, <code>248</code>, <code>249</code>, <code>250</code>, <code>251</code>, <code>252</code>, <code>253</code>, <code>254</code>, <code>255</code>, <code>256</code>, <code>257</code>, <code>258</code>, <code>259</code>, <code>260</code>, <code>261</code>, <code>262</code>, <code>263</code>, <code>264</code>, <code>265</code>, <code>266</code>, <code>267</code>, <code>268</code>, <code>269</code>, <code>270</code>, <code>271</code>, <code>272</code></td>\n</tr>\n<tr>\n<td><code>columns.*.calculations</code></td>\n<td>array</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>columns.*.label</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>filters</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>filters.*.field</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>filters.*.operator</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>A Mapper For OperatorTypes Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code>, <code>9</code></td>\n</tr>\n<tr>\n<td><code>filters.*.value</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sorting</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sorting.field</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code>, <code>9</code>, <code>10</code>, <code>11</code>, <code>12</code>, <code>13</code>, <code>14</code>, <code>15</code>, <code>16</code>, <code>17</code>, <code>18</code>, <code>19</code>, <code>20</code>, <code>21</code>, <code>22</code>, <code>23</code>, <code>24</code>, <code>25</code>, <code>26</code>, <code>27</code>, <code>28</code>, <code>29</code>, <code>30</code>, <code>31</code>, <code>32</code>, <code>33</code>, <code>34</code>, <code>35</code>, <code>36</code>, <code>37</code>, <code>38</code>, <code>39</code>, <code>40</code>, <code>41</code>, <code>42</code>, <code>43</code>, <code>44</code>, <code>45</code>, <code>46</code>, <code>47</code>, <code>48</code>, <code>49</code>, <code>50</code>, <code>51</code>, <code>53</code>, <code>54</code>, <code>55</code>, <code>56</code>, <code>57</code>, <code>58</code>, <code>65</code>, <code>66</code>, <code>68</code>, <code>69</code>, <code>70</code>, <code>71</code>, <code>72</code>, <code>73</code>, <code>74</code>, <code>75</code>, <code>76</code>, <code>77</code>, <code>78</code>, <code>79</code>, <code>80</code>, <code>81</code>, <code>82</code>, <code>83</code>, <code>84</code>, <code>85</code>, <code>86</code>, <code>87</code>, <code>88</code>, <code>93</code>, <code>94</code>, <code>95</code>, <code>96</code>, <code>97</code>, <code>98</code>, <code>99</code>, <code>100</code>, <code>101</code>, <code>102</code>, <code>103</code>, <code>104</code>, <code>105</code>, <code>106</code>, <code>107</code>, <code>108</code>, <code>109</code>, <code>110</code>, <code>111</code>, <code>112</code>, <code>113</code>, <code>114</code>, <code>115</code>, <code>116</code>, <code>117</code>, <code>118</code>, <code>119</code>, <code>120</code>, <code>121</code>, <code>122</code>, <code>123</code>, <code>124</code>, <code>125</code>, <code>126</code>, <code>127</code>, <code>128</code>, <code>129</code>, <code>130</code>, <code>131</code>, <code>132</code>, <code>133</code>, <code>134</code>, <code>135</code>, <code>136</code>, <code>137</code>, <code>138</code>, <code>139</code>, <code>140</code>, <code>141</code>, <code>142</code>, <code>143</code>, <code>144</code>, <code>145</code>, <code>146</code>, <code>147</code>, <code>148</code>, <code>149</code>, <code>150</code>, <code>151</code>, <code>152</code>, <code>153</code>, <code>154</code>, <code>155</code>, <code>156</code>, <code>157</code>, <code>158</code>, <code>159</code>, <code>160</code>, <code>161</code>, <code>162</code>, <code>163</code>, <code>164</code>, <code>165</code>, <code>242</code>, <code>166</code>, <code>167</code>, <code>168</code>, <code>169</code>, <code>170</code>, <code>171</code>, <code>172</code>, <code>173</code>, <code>174</code>, <code>175</code>, <code>176</code>, <code>177</code>, <code>178</code>, <code>179</code>, <code>180</code>, <code>181</code>, <code>182</code>, <code>183</code>, <code>184</code>, <code>185</code>, <code>186</code>, <code>187</code>, <code>188</code>, <code>189</code>, <code>190</code>, <code>191</code>, <code>192</code>, <code>193</code>, <code>194</code>, <code>195</code>, <code>196</code>, <code>197</code>, <code>198</code>, <code>199</code>, <code>200</code>, <code>201</code>, <code>202</code>, <code>203</code>, <code>205</code>, <code>206</code>, <code>207</code>, <code>208</code>, <code>209</code>, <code>210</code>, <code>211</code>, <code>212</code>, <code>213</code>, <code>214</code>, <code>215</code>, <code>216</code>, <code>217</code>, <code>218</code>, <code>219</code>, <code>220</code>, <code>221</code>, <code>222</code>, <code>223</code>, <code>224</code>, <code>225</code>, <code>226</code>, <code>227</code>, <code>228</code>, <code>229</code>, <code>230</code>, <code>231</code>, <code>232</code>, <code>233</code>, <code>234</code>, <code>235</code>, <code>236</code>, <code>237</code>, <code>238</code>, <code>239</code>, <code>240</code>, <code>241</code>, <code>243</code>, <code>244</code>, <code>245</code>, <code>246</code>, <code>247</code>, <code>248</code>, <code>249</code>, <code>250</code>, <code>251</code>, <code>252</code>, <code>253</code>, <code>254</code>, <code>255</code>, <code>256</code>, <code>257</code>, <code>258</code>, <code>259</code>, <code>260</code>, <code>261</code>, <code>262</code>, <code>263</code>, <code>264</code>, <code>265</code>, <code>266</code>, <code>267</code>, <code>268</code>, <code>269</code>, <code>270</code>, <code>271</code>, <code>272</code></td>\n</tr>\n<tr>\n<td><code>sorting.direction</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Allowed: <code>asc</code>, <code>desc</code></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","reporting","validate-configuration"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"283f0c73-9d25-4665-b417-133de40353e1"},{"name":"Reporting saved reports list","id":"4264c21b-b403-4f5a-a1d7-4d7b5c227828","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//reporting/saved-reports","description":"<p><strong>Rate limit:</strong> 10 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>user_scheduled</code></td>\n<td>Filter by User Scheduled.</td>\n</tr>\n<tr>\n<td><code>query</code></td>\n<td>Filter by Query.</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>Filter by Name.</td>\n</tr>\n<tr>\n<td><code>report_type</code></td>\n<td>Filter by Report Type.</td>\n</tr>\n<tr>\n<td><code>exclude_report_types</code></td>\n<td>Filter by Exclude Report Types.</td>\n</tr>\n<tr>\n<td><code>is_active</code></td>\n<td>Filter by Is Active.</td>\n</tr>\n<tr>\n<td><code>is_scheduled</code></td>\n<td>Filter by Is Scheduled.</td>\n</tr>\n<tr>\n<td><code>is_default</code></td>\n<td>Filter by Is Default.</td>\n</tr>\n<tr>\n<td><code>default_only</code></td>\n<td>Show only default reports (available to all companies)</td>\n</tr>\n<tr>\n<td><code>user_only</code></td>\n<td>Show only current user's own reports (exclude defaults)</td>\n</tr>\n<tr>\n<td><code>scheduled_only</code></td>\n<td>Show scheduled reports only</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>company</code></li>\n<li><code>user</code></li>\n<li><code>user.fileManager</code></li>\n<li><code>histories</code></li>\n<li><code>histories.count</code></li>\n<li><code>latest_history</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","reporting","saved-reports"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by User Scheduled.</p>\n","type":"text/plain"},"key":"user_scheduled","value":""},{"disabled":true,"description":{"content":"<p>Filter by Query.</p>\n","type":"text/plain"},"key":"query","value":""},{"disabled":true,"description":{"content":"<p>Filter by Name.</p>\n","type":"text/plain"},"key":"name","value":""},{"disabled":true,"description":{"content":"<p>Filter by Report Type.</p>\n","type":"text/plain"},"key":"report_type","value":""},{"disabled":true,"description":{"content":"<p>Filter by Exclude Report Types.</p>\n","type":"text/plain"},"key":"exclude_report_types","value":""},{"disabled":true,"description":{"content":"<p>Filter by Is Active.</p>\n","type":"text/plain"},"key":"is_active","value":""},{"disabled":true,"description":{"content":"<p>Filter by Is Scheduled.</p>\n","type":"text/plain"},"key":"is_scheduled","value":""},{"disabled":true,"description":{"content":"<p>Filter by Is Default.</p>\n","type":"text/plain"},"key":"is_default","value":""},{"disabled":true,"description":{"content":"<p>Show only default reports (available to all companies)</p>\n","type":"text/plain"},"key":"default_only","value":""},{"disabled":true,"description":{"content":"<p>Show only current user's own reports (exclude defaults)</p>\n","type":"text/plain"},"key":"user_only","value":""},{"disabled":true,"description":{"content":"<p>Show scheduled reports only</p>\n","type":"text/plain"},"key":"scheduled_only","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>company</code> - <code>user</code> - <code>user.fileManager</code> - <code>histories</code> - <code>histories.count</code> - <code>latest_history</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[]}},"response":[],"_postman_id":"4264c21b-b403-4f5a-a1d7-4d7b5c227828"},{"name":"Reporting saved reports create","id":"06c9592f-25fd-45d5-9d56-88c298e22628","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"name\": \"name\",\n  \"report_type\": 1,\n  \"subtype\": 1,\n  \"is_template\": false,\n  \"is_active\": false,\n  \"format\": \"csv\",\n  \"generate_csv\": false,\n  \"configuration\": {\n    \"date_range\": {\n      \"type\": \"today\",\n      \"from\": \"\",\n      \"to\": \"\"\n    },\n    \"filters\": [\n      {\n        \"field\": \"field\",\n        \"operator\": 1,\n        \"value\": \"value\"\n      }\n    ],\n    \"grouping\": [\n      0\n    ],\n    \"sorting\": [\n      {\n        \"field\": 0,\n        \"direction\": \"asc\"\n      }\n    ],\n    \"columns\": [\n      {\n        \"field\": 0,\n        \"calculations\": [\n          \"\"\n        ],\n        \"label\": \"\"\n      }\n    ],\n    \"limit\": 1,\n    \"compare_to\": {\n      \"type\": 1\n    },\n    \"generate_now\": false\n  },\n  \"schedule\": {\n    \"frequency\": \"daily\",\n    \"time\": \"\",\n    \"days\": [\n      1\n    ],\n    \"day_of_week\": 1,\n    \"day_of_month\": 1,\n    \"delay\": \"one_day\",\n    \"timezone\": \"\",\n    \"recipients\": [\n      \"user@example.com\"\n    ]\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//reporting/saved-reports","description":"<p><strong>Rate limit:</strong> 10 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>report_type</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code>, <code>9</code>, <code>10</code>, <code>11</code>, <code>12</code>, <code>13</code></td>\n</tr>\n<tr>\n<td><code>subtype</code></td>\n<td>integer</td>\n<td>no</td>\n<td><strong>Types</strong> values: - <code>1</code> = INVENTORY - <code>2</code> = GROUP - <code>3</code> = SERVICE_CHARGE Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>is_template</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>is_active</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>format</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>csv</code>, <code>xlsx</code></td>\n</tr>\n<tr>\n<td><code>generate_csv</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration</code></td>\n<td>object</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration.date_range</code></td>\n<td>object</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration.date_range.type</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>today</code>, <code>yesterday</code>, <code>last_7_days</code>, <code>last_30_days</code>, <code>last_90_days</code>, <code>this_week</code>, <code>last_week</code>, <code>this_month</code>, <code>last_month</code>, <code>last_3_months</code>, <code>last_6_months</code>, <code>this_year</code>, <code>last_year</code>, <code>custom</code></td>\n</tr>\n<tr>\n<td><code>configuration.date_range.from</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration.date_range.to</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration.filters</code></td>\n<td>array</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration.filters.*.field</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration.filters.*.operator</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>A Mapper For OperatorTypes Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code>, <code>9</code></td>\n</tr>\n<tr>\n<td><code>configuration.filters.*.value</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration.grouping</code></td>\n<td>array</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration.sorting</code></td>\n<td>array</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration.sorting.*.field</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration.sorting.*.direction</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>asc</code>, <code>desc</code></td>\n</tr>\n<tr>\n<td><code>configuration.columns</code></td>\n<td>array</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration.columns.*.field</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration.columns.*.calculations</code></td>\n<td>array</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration.columns.*.label</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration.limit</code></td>\n<td>integer</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration.compare_to</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration.compare_to.type</code></td>\n<td>integer</td>\n<td>no</td>\n<td>Types of period comparisons for reports Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>configuration.generate_now</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>schedule</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>schedule.frequency</code></td>\n<td>string</td>\n<td>no</td>\n<td>Schedule frequency for report automation Allowed: <code>daily</code>, <code>weekly</code>, <code>monthly</code>, <code>quarterly</code></td>\n</tr>\n<tr>\n<td><code>schedule.time</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>schedule.days</code></td>\n<td>array</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>schedule.day_of_week</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>schedule.day_of_month</code></td>\n<td>integer</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>schedule.delay</code></td>\n<td>string</td>\n<td>no</td>\n<td>Allowed: <code>one_day</code>, <code>one_week</code>, <code>two_weeks</code>, <code>one_month</code></td>\n</tr>\n<tr>\n<td><code>schedule.timezone</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>schedule.recipients</code></td>\n<td>array</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","reporting","saved-reports"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"06c9592f-25fd-45d5-9d56-88c298e22628"},{"name":"Reporting saved reports show","id":"9021f862-546b-43a7-8776-13d90e5ae5bc","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//reporting/saved-reports/:reportID","description":"<p><strong>Rate limit:</strong> 10 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>reportID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","reporting","saved-reports",":reportID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""}],"variable":[{"id":"3fbf3fbe-6fab-4b6c-a0b3-fbcb72d8778b","type":"any","value":"","key":"reportID"}]}},"response":[],"_postman_id":"9021f862-546b-43a7-8776-13d90e5ae5bc"},{"name":"Reporting saved reports update","id":"4b4c10d4-6087-48a5-a833-4e7819adbcec","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"name\": \"\",\n  \"is_active\": false,\n  \"format\": \"csv\",\n  \"generate_csv\": false,\n  \"configuration\": {\n    \"date_range\": {\n      \"type\": \"today\",\n      \"from\": \"\",\n      \"to\": \"\"\n    },\n    \"filters\": [\n      {\n        \"field\": \"field\",\n        \"operator\": 1,\n        \"value\": \"value\"\n      }\n    ],\n    \"grouping\": [\n      0\n    ],\n    \"sorting\": [\n      {\n        \"field\": 0,\n        \"direction\": \"asc\"\n      }\n    ],\n    \"columns\": [\n      {\n        \"field\": 0,\n        \"calculations\": [\n          \"\"\n        ],\n        \"label\": \"\"\n      }\n    ],\n    \"limit\": 1,\n    \"compare_to\": {\n      \"type\": 1\n    }\n  },\n  \"schedule\": {\n    \"frequency\": \"daily\",\n    \"time\": \"\",\n    \"days\": [\n      1\n    ],\n    \"day_of_week\": 1,\n    \"day_of_month\": 1,\n    \"delay\": \"one_day\",\n    \"timezone\": \"\",\n    \"recipients\": [\n      \"user@example.com\"\n    ]\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//reporting/saved-reports/:reportID","description":"<p><strong>Rate limit:</strong> 10 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>reportID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>is_active</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>format</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>csv</code>, <code>xlsx</code></td>\n</tr>\n<tr>\n<td><code>generate_csv</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration</code></td>\n<td>object</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration.date_range</code></td>\n<td>object</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration.date_range.type</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>today</code>, <code>yesterday</code>, <code>last_7_days</code>, <code>last_30_days</code>, <code>last_90_days</code>, <code>this_week</code>, <code>last_week</code>, <code>this_month</code>, <code>last_month</code>, <code>last_3_months</code>, <code>last_6_months</code>, <code>this_year</code>, <code>last_year</code>, <code>custom</code></td>\n</tr>\n<tr>\n<td><code>configuration.date_range.from</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration.date_range.to</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration.filters</code></td>\n<td>array</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration.filters.*.field</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration.filters.*.operator</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>A Mapper For OperatorTypes Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code>, <code>9</code></td>\n</tr>\n<tr>\n<td><code>configuration.filters.*.value</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration.grouping</code></td>\n<td>array</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration.sorting</code></td>\n<td>array</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration.sorting.*.field</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration.sorting.*.direction</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>asc</code>, <code>desc</code></td>\n</tr>\n<tr>\n<td><code>configuration.columns</code></td>\n<td>array</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration.columns.*.field</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration.columns.*.calculations</code></td>\n<td>array</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration.columns.*.label</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration.limit</code></td>\n<td>integer</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration.compare_to</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration.compare_to.type</code></td>\n<td>integer</td>\n<td>no</td>\n<td>Types of period comparisons for reports Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>schedule</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>schedule.frequency</code></td>\n<td>string</td>\n<td>no</td>\n<td>Schedule frequency for report automation Allowed: <code>daily</code>, <code>weekly</code>, <code>monthly</code>, <code>quarterly</code></td>\n</tr>\n<tr>\n<td><code>schedule.time</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>schedule.days</code></td>\n<td>array</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>schedule.day_of_week</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>schedule.day_of_month</code></td>\n<td>integer</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>schedule.delay</code></td>\n<td>string</td>\n<td>no</td>\n<td>Allowed: <code>one_day</code>, <code>one_week</code>, <code>two_weeks</code>, <code>one_month</code></td>\n</tr>\n<tr>\n<td><code>schedule.timezone</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>schedule.recipients</code></td>\n<td>array</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","reporting","saved-reports",":reportID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"c911c97b-9612-4378-b290-f84b5a0bd852","type":"any","value":"","key":"reportID"}]}},"response":[],"_postman_id":"4b4c10d4-6087-48a5-a833-4e7819adbcec"},{"name":"Reporting saved reports delete","id":"a6094fe3-9fdf-48ca-8331-de76ade89d80","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//reporting/saved-reports/:reportID","description":"<p><strong>Rate limit:</strong> 10 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>reportID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","reporting","saved-reports",":reportID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"46f82b35-4782-4eae-812d-279b7925a757","type":"any","value":"","key":"reportID"}]}},"response":[],"_postman_id":"a6094fe3-9fdf-48ca-8331-de76ade89d80"},{"name":"Reporting saved reports toggle schedule","id":"2f0b9a34-a32c-48d0-8c48-34e1a7d1ae64","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//reporting/saved-reports/:reportID/toggle-schedule","description":"<p><strong>Rate limit:</strong> 10 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>reportID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","reporting","saved-reports",":reportID","toggle-schedule"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"da9c93bb-dc23-4d0f-9a87-e9319f4ea7bf","type":"any","value":"","key":"reportID"}]}},"response":[],"_postman_id":"2f0b9a34-a32c-48d0-8c48-34e1a7d1ae64"},{"name":"Reporting saved reports generate","id":"7204d32f-d5ff-41a1-8cdc-da07de12d2b2","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//reporting/saved-reports/:reportID/generate","description":"<p><strong>Rate limit:</strong> 10 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>reportID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","reporting","saved-reports",":reportID","generate"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"172d6d80-11ac-497f-befe-0d66b3cff5bc","type":"any","value":"","key":"reportID"}]}},"response":[],"_postman_id":"7204d32f-d5ff-41a1-8cdc-da07de12d2b2"},{"name":"Reporting generate","id":"5889110a-a4ef-4612-908f-5890938079ab","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"saved_report_id\": \"{{saved_report_id}}\",\n  \"name\": \"name\",\n  \"report_type\": 1,\n  \"subtype\": 1,\n  \"is_template\": false,\n  \"is_active\": false,\n  \"format\": \"csv\",\n  \"generate_csv\": false,\n  \"configuration\": {\n    \"date_range\": {\n      \"type\": \"today\",\n      \"from\": \"\",\n      \"to\": \"\"\n    },\n    \"filters\": [\n      {\n        \"field\": \"field\",\n        \"operator\": 1,\n        \"value\": \"value\"\n      }\n    ],\n    \"grouping\": [\n      0\n    ],\n    \"sorting\": [\n      {\n        \"field\": 0,\n        \"direction\": \"asc\"\n      }\n    ],\n    \"columns\": [\n      {\n        \"field\": 0,\n        \"calculations\": [\n          \"\"\n        ],\n        \"label\": \"\"\n      }\n    ],\n    \"limit\": 1,\n    \"compare_to\": {\n      \"type\": 1\n    }\n  },\n  \"recipients\": [\n    \"user@example.com\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//reporting/generate","description":"<p><strong>Rate limit:</strong> 10 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>saved_report_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>report_type</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code>, <code>9</code>, <code>10</code>, <code>11</code>, <code>12</code>, <code>13</code></td>\n</tr>\n<tr>\n<td><code>subtype</code></td>\n<td>integer</td>\n<td>no</td>\n<td><strong>Types</strong> values: - <code>1</code> = INVENTORY - <code>2</code> = GROUP - <code>3</code> = SERVICE_CHARGE Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>is_template</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>is_active</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>format</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>csv</code>, <code>xlsx</code></td>\n</tr>\n<tr>\n<td><code>generate_csv</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration</code></td>\n<td>object</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration.date_range</code></td>\n<td>object</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration.date_range.type</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>today</code>, <code>yesterday</code>, <code>last_7_days</code>, <code>last_30_days</code>, <code>last_90_days</code>, <code>this_week</code>, <code>last_week</code>, <code>this_month</code>, <code>last_month</code>, <code>last_3_months</code>, <code>last_6_months</code>, <code>this_year</code>, <code>last_year</code>, <code>custom</code></td>\n</tr>\n<tr>\n<td><code>configuration.date_range.from</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration.date_range.to</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration.filters</code></td>\n<td>array</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration.filters.*.field</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration.filters.*.operator</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>A Mapper For OperatorTypes Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code>, <code>9</code></td>\n</tr>\n<tr>\n<td><code>configuration.filters.*.value</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration.grouping</code></td>\n<td>array</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration.sorting</code></td>\n<td>array</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration.sorting.*.field</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration.sorting.*.direction</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>asc</code>, <code>desc</code></td>\n</tr>\n<tr>\n<td><code>configuration.columns</code></td>\n<td>array</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration.columns.*.field</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration.columns.*.calculations</code></td>\n<td>array</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration.columns.*.label</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration.limit</code></td>\n<td>integer</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration.compare_to</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>configuration.compare_to.type</code></td>\n<td>integer</td>\n<td>no</td>\n<td>Types of period comparisons for reports Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>recipients</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","reporting","generate"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"5889110a-a4ef-4612-908f-5890938079ab"},{"name":"Reporting history list","id":"1eefc492-ee19-4c3e-ae66-0f5d8593c07f","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//reporting/history","description":"<p><strong>Rate limit:</strong> 10 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>query</code></td>\n<td>Filter by Query.</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>Filter by Name.</td>\n</tr>\n<tr>\n<td><code>saved_report_id</code></td>\n<td>Filter by Saved Report Id.</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>Filter by Status.</td>\n</tr>\n<tr>\n<td><code>exclude_report_types</code></td>\n<td>Filter by Exclude Report Types.</td>\n</tr>\n<tr>\n<td><code>report_type</code></td>\n<td>Filter by Report Type.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>company</code></li>\n<li><code>user</code></li>\n<li><code>user.fileManager</code></li>\n<li><code>savedReport</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","reporting","history"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Query.</p>\n","type":"text/plain"},"key":"query","value":""},{"disabled":true,"description":{"content":"<p>Filter by Name.</p>\n","type":"text/plain"},"key":"name","value":""},{"disabled":true,"description":{"content":"<p>Filter by Saved Report Id.</p>\n","type":"text/plain"},"key":"saved_report_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Status.</p>\n","type":"text/plain"},"key":"status","value":""},{"disabled":true,"description":{"content":"<p>Filter by Exclude Report Types.</p>\n","type":"text/plain"},"key":"exclude_report_types","value":""},{"disabled":true,"description":{"content":"<p>Filter by Report Type.</p>\n","type":"text/plain"},"key":"report_type","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>company</code> - <code>user</code> - <code>user.fileManager</code> - <code>savedReport</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[]}},"response":[],"_postman_id":"1eefc492-ee19-4c3e-ae66-0f5d8593c07f"},{"name":"Reporting history show","id":"3a973333-fa5f-42c7-acbe-adeb1f4face6","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//reporting/history/:historyID","description":"<p><strong>Rate limit:</strong> 10 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>historyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","reporting","history",":historyID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""}],"variable":[{"id":"2e2f829e-ce28-4279-8bb8-f86a2f45593d","type":"any","value":"","key":"historyID"}]}},"response":[],"_postman_id":"3a973333-fa5f-42c7-acbe-adeb1f4face6"},{"name":"DELETE /reporting/history/{history_id}","id":"d308b48e-06fe-4727-b0f2-b453ec9d8c9c","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//reporting/history/:historyID?company_id=&history_id=","description":"<p><strong>Rate limit:</strong> 10 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>historyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>history_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","reporting","history",":historyID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"history_id","value":""}],"variable":[{"id":"fc85928a-a386-452e-b95d-c0e6afbe899e","type":"any","value":"","key":"historyID"}]}},"response":[],"_postman_id":"d308b48e-06fe-4727-b0f2-b453ec9d8c9c"},{"name":"Reporting history progress","id":"9c0c9b89-e379-4f71-b2fb-0ca41dc9d174","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//reporting/history/:historyID/progress","description":"<p><strong>Rate limit:</strong> 10 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>historyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","reporting","history",":historyID","progress"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"390d4f9b-80cc-4c06-ab31-5069d4938b08","type":"any","value":"","key":"historyID"}]}},"response":[],"_postman_id":"9c0c9b89-e379-4f71-b2fb-0ca41dc9d174"},{"name":"Reporting history download","id":"febf9d5c-c282-42dc-b316-2c7d356baa28","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//reporting/history/:historyID/download","description":"<p><strong>Rate limit:</strong> 10 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>historyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","reporting","history",":historyID","download"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"7ade5024-4157-4552-898a-91b7b09b9137","type":"any","value":"","key":"historyID"}]}},"response":[],"_postman_id":"febf9d5c-c282-42dc-b316-2c7d356baa28"},{"name":"Reporting history regenerate","id":"fb5d3269-67a8-4a31-ba11-8873782b58f0","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//reporting/history/:historyID/regenerate","description":"<p><strong>Rate limit:</strong> 10 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>historyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","reporting","history",":historyID","regenerate"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"253fd8ac-d3c2-47ca-9ade-8655c4349935","type":"any","value":"","key":"historyID"}]}},"response":[],"_postman_id":"fb5d3269-67a8-4a31-ba11-8873782b58f0"},{"name":"POST /reporting/ai/share","id":"8f336d4e-d641-4fd3-816f-3ab9ca618f18","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"chatId\": \"chatId\",\n  \"name\": \"\",\n  \"recipients\": [\n    \"user@example.com\"\n  ],\n  \"insights\": [\n    0\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//reporting/ai/share","description":"<p><strong>Rate limit:</strong> 10 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>chatId</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>recipients</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>insights</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","reporting","ai","share"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"8f336d4e-d641-4fd3-816f-3ab9ca618f18"},{"name":"POST /reporting/ai/insight/export","id":"4d62922f-1c53-4ed3-aa1e-032e832fb51d","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"chatId\": \"chatId\",\n  \"insight\": 0,\n  \"report_id\": \"{{report_id}}\",\n  \"rowlimit\": 1,\n  \"format\": \"\",\n  \"bucket\": \"\",\n  \"name\": \"\",\n  \"recipients\": [\n    \"user@example.com\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//reporting/ai/insight/export","description":"<p><strong>Rate limit:</strong> 10 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>chatId</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>insight</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>report_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>rowlimit</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>format</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>bucket</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>recipients</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","reporting","ai","insight","export"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"4d62922f-1c53-4ed3-aa1e-032e832fb51d"},{"name":"POST /reporting/history/{history_id}/ai-report-url","id":"3b0825cc-af19-4141-ac72-eee810eb0472","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"history_id\": \"{{history_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//reporting/history/:historyID/ai-report-url","description":"<p><strong>Rate limit:</strong> 10 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>historyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>history_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","reporting","history",":historyID","ai-report-url"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"5302a8c2-7620-4b1a-8cd1-9bb3733474d5","type":"any","value":"","key":"historyID"}]}},"response":[],"_postman_id":"3b0825cc-af19-4141-ac72-eee810eb0472"}],"id":"657f2aaa-7d9a-436f-be4a-1eb135923af2","description":"<p><strong>Reporting</strong> — 21 endpoints.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"657f2aaa-7d9a-436f-be4a-1eb135923af2","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Shipments","item":[{"name":"Shipments batch files renew","id":"d05079e7-1ef3-4e16-9bfb-dbd3d8beec36","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//shipments/batch/:batchID/files/:batchFileID/renew","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>batchID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>batchFileID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipments","batch",":batchID","files",":batchFileID","renew"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"3185dc7c-de85-47fc-87ab-4751402ed748","type":"any","value":"","key":"batchID"},{"id":"305be209-1476-4537-ae7a-fdc5ea48cdd5","type":"any","value":"","key":"batchFileID"}]}},"response":[],"_postman_id":"d05079e7-1ef3-4e16-9bfb-dbd3d8beec36"},{"name":"Shipments files renew","id":"dfb97400-3751-4f47-8427-cfb909bc237f","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//shipments/:shipmentID/files/:shipmentFileID/renew","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>shipmentID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>shipmentFileID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipments",":shipmentID","files",":shipmentFileID","renew"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"173c6842-a36f-4b9d-a065-4d54a2de61ce","type":"any","value":"","key":"shipmentID"},{"id":"8fb6bca1-b699-41ef-93bc-3d58b5c7eb8a","type":"any","value":"","key":"shipmentFileID"}]}},"response":[],"_postman_id":"dfb97400-3751-4f47-8427-cfb909bc237f"},{"name":"Shipments create without order","id":"63b51ab3-38e0-41ef-9363-9ae448472158","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"store_id\": 0,\n    \"channel_id\": 0,\n    \"courier_id\": 0,\n    \"courier_service_id\": 0,\n    \"shipping_address\": {\n        \"name\": \"Jane\",\n        \"surname\": \"Doe\",\n        \"email\": \"jane.doe@example.com\",\n        \"phone\": \"+441234567890\",\n        \"address_line_1\": \"1 High Street\",\n        \"city\": \"London\",\n        \"county\": \"Greater London\",\n        \"country_id\": 235,\n        \"postcode\": \"SW1A 1AA\"\n    },\n    \"shipping_cost\": 4.5,\n    \"delivery_instructions\": \"Leave with neighbour\",\n    \"parcels\": [\n        {\n            \"weight\": 0.8,\n            \"dim_width\": 20,\n            \"dim_height\": 10,\n            \"dim_length\": 30,\n            \"items\": [\n                {\n                    \"inventory_id\": 0,\n                    \"code\": \"SKU-001\",\n                    \"quantity\": 2,\n                    \"value\": 12.5,\n                    \"weight\": 0.3\n                }\n            ]\n        }\n    ],\n    \"order_id\": \"{{order_id}}\",\n    \"customer_id\": \"{{customer_id}}\",\n    \"include_packaging_slip\": false,\n    \"include_collection_list\": false,\n    \"tags\": [\n        \"\"\n    ],\n    \"pregenerate_only\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//shipments","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-\\\\*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>store_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>channel_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>courier_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>courier_service_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>include_packaging_slip</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>include_collection_list</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>pregenerate_only</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>Generate the label ahead of picking without despatching. The shipment is stored as a pregenerated label: no stock is deducted, the order status is unchanged and no despatch webhook fires. Requires <code>order_id</code>; <code>order_status</code> is ignored. Calling this endpoint again for the same <code>order_id</code> without the flag finalises the label: the order is despatched and stock is deducted at that point (the pick rules of a normal despatch apply then). If an active pregenerated label already exists for the order it is returned instead of creating a second one.</td>\n</tr>\n<tr>\n<td><code>tags</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>parcels</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>parcels.*.weight</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>parcels.*.items</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.name</code></td>\n<td>string ≤100</td>\n<td>yes*</td>\n<td>*not needed when <code>full_name</code> is sent</td>\n</tr>\n<tr>\n<td><code>shipping_address.surname</code></td>\n<td>string ≤100</td>\n<td>yes*</td>\n<td>*not needed when <code>full_name</code> is sent</td>\n</tr>\n<tr>\n<td><code>shipping_address.full_name</code></td>\n<td>string ≤255</td>\n<td>no</td>\n<td>alternative to <code>name</code>+<code>surname</code>; must contain first+last name</td>\n</tr>\n<tr>\n<td><code>shipping_address.email</code></td>\n<td>email ≤255</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>shipping_address.address_line_1</code></td>\n<td>string</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>shipping_address.city</code></td>\n<td>string</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>shipping_address.country_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>global countries table id</td>\n</tr>\n<tr>\n<td><code>shipping_address.postcode</code></td>\n<td>string</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>shipping_address.company_name</code></td>\n<td>string</td>\n<td>no</td>\n<td></td>\n</tr>\n<tr>\n<td><code>shipping_address.phone</code></td>\n<td>string</td>\n<td>no</td>\n<td></td>\n</tr>\n<tr>\n<td><code>shipping_address.address_line_2</code></td>\n<td>string</td>\n<td>no</td>\n<td></td>\n</tr>\n<tr>\n<td><code>shipping_address.address_line_3</code></td>\n<td>string</td>\n<td>no</td>\n<td></td>\n</tr>\n<tr>\n<td><code>shipping_address.county</code></td>\n<td>string</td>\n<td>no</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipments"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"63b51ab3-38e0-41ef-9363-9ae448472158"},{"name":"Shipments files commercial invoice","id":"40cbf912-2981-449f-be56-feac9a0d47a8","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//shipments/:shipmentID/files/commercial-invoice?shipment_id=","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>shipmentID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>shipment_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipments",":shipmentID","files","commercial-invoice"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"shipment_id","value":""}],"variable":[{"id":"7d2c1a1d-9977-4057-a4c7-fa7c171e6317","type":"any","value":"","key":"shipmentID"}]}},"response":[],"_postman_id":"40cbf912-2981-449f-be56-feac9a0d47a8"},{"name":"Shipments files download","id":"f3eadda2-6a0e-4826-9a52-8fff64861cde","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//shipments/:shipmentID/files/download?shipment_id=&file_name=","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>shipmentID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>shipment_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>file_name</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipments",":shipmentID","files","download"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"shipment_id","value":""},{"key":"file_name","value":""}],"variable":[{"id":"1454da8e-8013-4e8e-aefb-a5987f496d4e","type":"any","value":"","key":"shipmentID"}]}},"response":[],"_postman_id":"f3eadda2-6a0e-4826-9a52-8fff64861cde"},{"name":"Shipments files renew parcel","id":"51b26a85-c587-4de6-bf2b-c529594e1873","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"shipment_id\": \"{{shipment_id}}\",\n  \"shipment_parcel_file_id\": \"{{shipment_parcel_file_id}}\",\n  \"is_download\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//shipments/:shipmentID/files/:shipmentParcelFileID/renew-parcel","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>shipmentID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>shipmentParcelFileID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>shipment_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipment_parcel_file_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>is_download</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipments",":shipmentID","files",":shipmentParcelFileID","renew-parcel"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"8873f4e7-4003-4a83-a38d-88c7064fe498","type":"any","value":"","key":"shipmentID"},{"id":"1bed439f-37c6-4a8b-81b1-767758af5978","type":"any","value":"","key":"shipmentParcelFileID"}]}},"response":[],"_postman_id":"51b26a85-c587-4de6-bf2b-c529594e1873"},{"name":"Shipments list","id":"70609aac-02ea-4472-9e79-d383ebd66a8e","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//shipments","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>filter[ids][]</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sort</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>query</code></td>\n<td>Filter by Query.</td>\n</tr>\n<tr>\n<td><code>full_name</code></td>\n<td>Filter by Full Name.</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>Filter by Order Id.</td>\n</tr>\n<tr>\n<td><code>user_id</code></td>\n<td>Filter by User Id.</td>\n</tr>\n<tr>\n<td><code>reference</code></td>\n<td>Filter by Reference.</td>\n</tr>\n<tr>\n<td><code>courier_service</code></td>\n<td>Filter by Courier Service.</td>\n</tr>\n<tr>\n<td><code>postcode</code></td>\n<td>Filter by Postcode.</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>Filter by Status.</td>\n</tr>\n<tr>\n<td><code>tracking_status</code></td>\n<td>Filter by Tracking Status.</td>\n</tr>\n<tr>\n<td><code>archived</code></td>\n<td>Filter by Archived.</td>\n</tr>\n<tr>\n<td><code>manifested</code></td>\n<td>Filter by Manifested.</td>\n</tr>\n<tr>\n<td><code>is_cancelled</code></td>\n<td>Filter by Is Cancelled.</td>\n</tr>\n<tr>\n<td><code>parcel_weight_from</code></td>\n<td>Filter by Parcel Weight From.</td>\n</tr>\n<tr>\n<td><code>batch_reference</code></td>\n<td>Filter by Batch Reference.</td>\n</tr>\n<tr>\n<td><code>parcel_weight_to</code></td>\n<td>Filter by Parcel Weight To.</td>\n</tr>\n<tr>\n<td><code>parcel_count_from</code></td>\n<td>Filter by Parcel Count From.</td>\n</tr>\n<tr>\n<td><code>parcel_count_to</code></td>\n<td>Filter by Parcel Count To.</td>\n</tr>\n<tr>\n<td><code>created_at_from</code></td>\n<td>Filter by Created At From.</td>\n</tr>\n<tr>\n<td><code>created_at_to</code></td>\n<td>Filter by Created At To.</td>\n</tr>\n<tr>\n<td><code>customer_id</code></td>\n<td>Filter by Customer Id.</td>\n</tr>\n<tr>\n<td><code>is_late</code></td>\n<td>Filter by Is Late.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>shipmentManifest</code></li>\n<li><code>courierService</code></li>\n<li><code>courierService.courier</code></li>\n<li><code>tranckingCodes</code></li>\n<li><code>reference</code></li>\n<li><code>order</code></li>\n<li><code>error</code></li>\n<li><code>store</code></li>\n<li><code>store.meta</code></li>\n<li><code>channel</code></li>\n<li><code>channel.settings</code></li>\n<li><code>shipmentFile</code></li>\n<li><code>shipmentFile.shipmentFileUrl</code></li>\n<li><code>parcels</code></li>\n<li><code>parcels.tracking</code></li>\n<li><code>parcels.tracking.timeline</code></li>\n<li><code>parcels.tracking.timeline.images</code></li>\n<li><code>parcels.items</code></li>\n<li><code>parcels.items.location</code></li>\n<li><code>parcels.items.location.settings</code></li>\n<li><code>parcels.items.location.zone</code></li>\n<li><code>parcels.items.inventory</code></li>\n<li><code>parcels.items.inventory.meta</code></li>\n<li><code>parcels.items.orderItem.inventory</code></li>\n<li><code>parcels.items.orderItem.inventory.meta</code></li>\n<li><code>parcels.items.orderItem.meta</code></li>\n<li><code>parcels.items.orderItem.children.inventory.meta</code></li>\n<li><code>parcels.items.inventory.groupItems.inventoryItem.meta</code></li>\n<li><code>shippingAddress</code></li>\n<li><code>shippingAddress.address</code></li>\n<li><code>shippingAddress.address.country</code></li>\n<li><code>shippingAddress.contact</code></li>\n<li><code>meta</code></li>\n<li><code>meta.senderAddress</code></li>\n<li><code>meta.currency</code></li>\n<li><code>user</code></li>\n<li><code>shippingAddress.customer.contact</code></li>\n<li><code>shippingAddress.customer.fileManager</code></li>\n<li><code>returnCourier</code></li>\n<li><code>returnCourierService</code></li>\n<li><code>returnCourierService.courier</code></li>\n<li><code>parcels.items.itemSerials</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipments"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"filter[ids][]","value":""},{"disabled":true,"key":"sort","value":""},{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Query.</p>\n","type":"text/plain"},"key":"query","value":""},{"disabled":true,"description":{"content":"<p>Filter by Full Name.</p>\n","type":"text/plain"},"key":"full_name","value":""},{"disabled":true,"description":{"content":"<p>Filter by Order Id.</p>\n","type":"text/plain"},"key":"order_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by User Id.</p>\n","type":"text/plain"},"key":"user_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Reference.</p>\n","type":"text/plain"},"key":"reference","value":""},{"disabled":true,"description":{"content":"<p>Filter by Courier Service.</p>\n","type":"text/plain"},"key":"courier_service","value":""},{"disabled":true,"description":{"content":"<p>Filter by Postcode.</p>\n","type":"text/plain"},"key":"postcode","value":""},{"disabled":true,"description":{"content":"<p>Filter by Status.</p>\n","type":"text/plain"},"key":"status","value":""},{"disabled":true,"description":{"content":"<p>Filter by Tracking Status.</p>\n","type":"text/plain"},"key":"tracking_status","value":""},{"disabled":true,"description":{"content":"<p>Filter by Archived.</p>\n","type":"text/plain"},"key":"archived","value":""},{"disabled":true,"description":{"content":"<p>Filter by Manifested.</p>\n","type":"text/plain"},"key":"manifested","value":""},{"disabled":true,"description":{"content":"<p>Filter by Is Cancelled.</p>\n","type":"text/plain"},"key":"is_cancelled","value":""},{"disabled":true,"description":{"content":"<p>Filter by Parcel Weight From.</p>\n","type":"text/plain"},"key":"parcel_weight_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Batch Reference.</p>\n","type":"text/plain"},"key":"batch_reference","value":""},{"disabled":true,"description":{"content":"<p>Filter by Parcel Weight To.</p>\n","type":"text/plain"},"key":"parcel_weight_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Parcel Count From.</p>\n","type":"text/plain"},"key":"parcel_count_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Parcel Count To.</p>\n","type":"text/plain"},"key":"parcel_count_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Created At From.</p>\n","type":"text/plain"},"key":"created_at_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Created At To.</p>\n","type":"text/plain"},"key":"created_at_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Customer Id.</p>\n","type":"text/plain"},"key":"customer_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Is Late.</p>\n","type":"text/plain"},"key":"is_late","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>shipmentManifest</code> - <code>courierService</code> - <code>courierService.courier</code> - <code>tranckingCodes</code> - <code>reference</code> - <code>order</code> - <code>error</code> - <code>store</code> - <code>store.meta</code> - <code>channel</code> - <code>channel.settings</code> - <code>shipmentFile</code> - <code>shipmentFile.shipmentFileUrl</code> - <code>parcels</code> - <code>parcels.tracking</code> - <code>parcels.tracking.timeline</code> - <code>parcels.tracking.timeline.images</code> - <code>parcels.items</code> - <code>parcels.items.location</code> - <code>parcels.items.location.settings</code> - <code>parcels.items.location.zone</code> - <code>parcels.items.inventory</code> - <code>parcels.items.inventory.meta</code> - <code>parcels.items.orderItem.inventory</code> - <code>parcels.items.orderItem.inventory.meta</code> - <code>parcels.items.orderItem.meta</code> - <code>parcels.items.orderItem.children.inventory.meta</code> - <code>parcels.items.inventory.groupItems.inventoryItem.meta</code> - <code>shippingAddress</code> - <code>shippingAddress.address</code> - <code>shippingAddress.address.country</code> - <code>shippingAddress.contact</code> - <code>meta</code> - <code>meta.senderAddress</code> - <code>meta.currency</code> - <code>user</code> - <code>shippingAddress.customer.contact</code> - <code>shippingAddress.customer.fileManager</code> - <code>returnCourier</code> - <code>returnCourierService</code> - <code>returnCourierService.courier</code> - <code>parcels.items.itemSerials</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[]}},"response":[],"_postman_id":"70609aac-02ea-4472-9e79-d383ebd66a8e"},{"name":"Shipments create","id":"1accc8f5-bf32-4ad1-9fe0-d7c93c7454d2","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"store_id\": \"{{store_id}}\",\n  \"channel_id\": \"{{channel_id}}\",\n  \"courier_id\": \"{{courier_id}}\",\n  \"courier_service_id\": \"{{courier_service_id}}\",\n  \"order_id\": \"{{order_id}}\",\n  \"order_status\": 3,\n  \"customer_id\": \"{{customer_id}}\",\n  \"include_packaging_slip\": false,\n  \"include_collection_list\": false,\n  \"tags\": [\n    \"\"\n  ],\n  \"parcels\": [\n    {\n      \"weight\": 0,\n      \"items\": [\n        \"\"\n      ]\n    }\n  ],\n  \"pregenerate_only\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//shipments","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>store_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>channel_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>courier_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>Required. Must be a courier belonging to this company and currently active. It also scopes courier_service_id, so send the two together.</td>\n</tr>\n<tr>\n<td><code>courier_service_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>Required. Must be an active service of the courier sent in courier_id; a service belonging to another courier is rejected.</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>customer_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>include_packaging_slip</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>include_collection_list</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tags</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>parcels</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipments"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"1accc8f5-bf32-4ad1-9fe0-d7c93c7454d2"},{"name":"Shipments batch create","id":"1bb0e9f6-42cf-4b20-bb4b-b3b2f82421ce","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"label_size\": \"2\",\n  \"apply_product_changes\": false,\n  \"include_packaging_slip\": false,\n  \"include_collection_list\": false,\n  \"auto_print\": false,\n  \"tags\": [\n    \"\"\n  ],\n  \"shipments\": [\n    {\n      \"store_id\": \"{{store_id}}\",\n      \"channel_id\": \"{{channel_id}}\",\n      \"courier_id\": \"{{courier_id}}\",\n      \"courier_service_id\": \"{{courier_service_id}}\",\n      \"parcels\": [\n        {\n          \"weight\": 0,\n          \"items\": [\n            {\n              \"quantity\": 1\n            }\n          ]\n        }\n      ]\n    }\n  ],\n  \"pregenerate_only\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//shipments/batch","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>label_size</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code></td>\n</tr>\n<tr>\n<td><code>apply_product_changes</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>include_packaging_slip</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>include_collection_list</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>pregenerate_only</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>Generate the labels ahead of picking without despatching. Every shipment row is stored as a pregenerated label: no stock is deducted, the order statuses are unchanged and no despatch webhooks fire. Each row requires <code>order_id</code>, one row per order; <code>order_status</code> is ignored. Labels are produced asynchronously by the courier, so poll the batch. A later single or batch create for the same orders without the flag finalises the labels: the orders are despatched and stock is deducted at that point. Orders that already have an active pregenerated label are rejected.</td>\n</tr>\n<tr>\n<td><code>auto_print</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tags</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipments</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipments.*.store_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipments.*.channel_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipments.*.courier_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipments.*.courier_service_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipments.*.parcels</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipments.*.parcels.*.weight</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipments.*.parcels.*.items</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipments.*.parcels.*.items.*.quantity</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipments","batch"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"1bb0e9f6-42cf-4b20-bb4b-b3b2f82421ce"},{"name":"Shipments show","id":"ce0c750a-f6eb-4a4c-aa87-ce585d980dec","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//shipments/:shipmentID","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>shipmentID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>shipmentManifest</code></li>\n<li><code>courierService</code></li>\n<li><code>courierService.courier</code></li>\n<li><code>tranckingCodes</code></li>\n<li><code>reference</code></li>\n<li><code>order</code></li>\n<li><code>error</code></li>\n<li><code>store</code></li>\n<li><code>store.meta</code></li>\n<li><code>channel</code></li>\n<li><code>channel.settings</code></li>\n<li><code>shipmentFile</code></li>\n<li><code>shipmentFile.shipmentFileUrl</code></li>\n<li><code>parcels</code></li>\n<li><code>parcels.tracking</code></li>\n<li><code>parcels.tracking.timeline</code></li>\n<li><code>parcels.tracking.timeline.images</code></li>\n<li><code>parcels.items</code></li>\n<li><code>parcels.items.location</code></li>\n<li><code>parcels.items.location.settings</code></li>\n<li><code>parcels.items.location.zone</code></li>\n<li><code>parcels.items.inventory</code></li>\n<li><code>parcels.items.inventory.meta</code></li>\n<li><code>parcels.items.orderItem.inventory</code></li>\n<li><code>parcels.items.orderItem.inventory.meta</code></li>\n<li><code>parcels.items.orderItem.meta</code></li>\n<li><code>parcels.items.orderItem.children.inventory.meta</code></li>\n<li><code>parcels.items.inventory.groupItems.inventoryItem.meta</code></li>\n<li><code>shippingAddress</code></li>\n<li><code>shippingAddress.address</code></li>\n<li><code>shippingAddress.address.country</code></li>\n<li><code>shippingAddress.contact</code></li>\n<li><code>meta</code></li>\n<li><code>meta.senderAddress</code></li>\n<li><code>meta.currency</code></li>\n<li><code>user</code></li>\n<li><code>shippingAddress.customer.contact</code></li>\n<li><code>shippingAddress.customer.fileManager</code></li>\n<li><code>returnCourier</code></li>\n<li><code>returnCourierService</code></li>\n<li><code>returnCourierService.courier</code></li>\n<li><code>parcels.items.itemSerials</code></li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipments",":shipmentID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>shipmentManifest</code> - <code>courierService</code> - <code>courierService.courier</code> - <code>tranckingCodes</code> - <code>reference</code> - <code>order</code> - <code>error</code> - <code>store</code> - <code>store.meta</code> - <code>channel</code> - <code>channel.settings</code> - <code>shipmentFile</code> - <code>shipmentFile.shipmentFileUrl</code> - <code>parcels</code> - <code>parcels.tracking</code> - <code>parcels.tracking.timeline</code> - <code>parcels.tracking.timeline.images</code> - <code>parcels.items</code> - <code>parcels.items.location</code> - <code>parcels.items.location.settings</code> - <code>parcels.items.location.zone</code> - <code>parcels.items.inventory</code> - <code>parcels.items.inventory.meta</code> - <code>parcels.items.orderItem.inventory</code> - <code>parcels.items.orderItem.inventory.meta</code> - <code>parcels.items.orderItem.meta</code> - <code>parcels.items.orderItem.children.inventory.meta</code> - <code>parcels.items.inventory.groupItems.inventoryItem.meta</code> - <code>shippingAddress</code> - <code>shippingAddress.address</code> - <code>shippingAddress.address.country</code> - <code>shippingAddress.contact</code> - <code>meta</code> - <code>meta.senderAddress</code> - <code>meta.currency</code> - <code>user</code> - <code>shippingAddress.customer.contact</code> - <code>shippingAddress.customer.fileManager</code> - <code>returnCourier</code> - <code>returnCourierService</code> - <code>returnCourierService.courier</code> - <code>parcels.items.itemSerials</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"3d191667-b003-414a-ad36-902db3427356","type":"any","value":"","key":"shipmentID"}]}},"response":[],"_postman_id":"ce0c750a-f6eb-4a4c-aa87-ce585d980dec"},{"name":"Shipments update","id":"0c2c97c1-3940-46a4-b406-4a53eca5f814","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"shipment_id\": \"{{shipment_id}}\",\n  \"order_id\": \"{{order_id}}\",\n  \"store_id\": \"{{store_id}}\",\n  \"channel_id\": \"{{channel_id}}\",\n  \"parcels\": [\n    {\n      \"weight\": 0\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//shipments/:shipmentID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>shipmentID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>shipment_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>Required. The order this shipment is for, which must belong to this company; it is copied onto the shipment along with the store and channel.</td>\n</tr>\n<tr>\n<td><code>store_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>channel_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>courier_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>Required. Must be a courier belonging to this company and currently active. It also scopes courier_service_id, so send the two together.</td>\n</tr>\n<tr>\n<td><code>courier_service_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>Required. Must be an active service of the courier sent in courier_id; a service belonging to another courier is rejected.</td>\n</tr>\n<tr>\n<td><code>parcels</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipments",":shipmentID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"56fb7458-09f5-4cbe-bf13-e32bdf7751b7","type":"any","value":"","key":"shipmentID"}]}},"response":[],"_postman_id":"0c2c97c1-3940-46a4-b406-4a53eca5f814"},{"name":"Shipments delete","id":"fe2c9c2d-0ae6-4647-a993-401460d9463d","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//shipments/:shipmentID?shipment_id=","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>shipmentID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>shipment_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipments",":shipmentID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"shipment_id","value":""}],"variable":[{"id":"574e5f3f-4e63-4cec-b6f2-b418db9f850c","type":"any","value":"","key":"shipmentID"}]}},"response":[],"_postman_id":"fe2c9c2d-0ae6-4647-a993-401460d9463d"},{"name":"Shipments cancel","id":"7422bb10-9356-4628-ba9e-e649bb2df985","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//shipments/:shipmentID/cancel","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>shipmentID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipments",":shipmentID","cancel"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"9c3f12a1-a0b3-4533-bf35-b173b27a0c21","type":"any","value":"","key":"shipmentID"}]}},"response":[],"_postman_id":"7422bb10-9356-4628-ba9e-e649bb2df985"},{"name":"Shipments tracking statuses","id":"b9f9c343-1281-46ce-9d95-e4c10b1591fd","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//shipments/tracking-statuses","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipments","tracking-statuses"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"b9f9c343-1281-46ce-9d95-e4c10b1591fd"},{"name":"Shipments check orders","id":"174db48c-1968-4b82-8fbb-6da162a3ab6a","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"all\": false,\n  \"selection_token\": \"\",\n  \"elastic_filters\": \"\",\n  \"elastic_sortable\": \"\",\n  \"batch_shipment_id\": \"{{batch_shipment_id}}\",\n  \"pick_id\": \"{{pick_id}}\",\n  \"elastic_ignore_ids\": [\n    \"{{elastic_ignore_id}}\"\n  ],\n  \"order_ids\": [\n    \"{{order_id}}\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//shipments/check-orders","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>all</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>selection_token</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>elastic_filters</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>elastic_sortable</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>batch_shipment_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>pick_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>elastic_ignore_ids</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_ids</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipments","check-orders"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"174db48c-1968-4b82-8fbb-6da162a3ab6a"},{"name":"Shipments list orders","id":"b129c712-d806-4d0c-a65a-9f3e2ea58fc7","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//shipments/list-orders","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipments","list-orders"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"b129c712-d806-4d0c-a65a-9f3e2ea58fc7"},{"name":"Shipments calculate item prices","id":"d0ee91ea-0360-4244-af4e-f0b849bfc46e","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"country_id\": \"{{country_id}}\",\n  \"discount\": 0,\n  \"items\": [\n    {\n      \"inventory_id\": \"{{inventory_id}}\",\n      \"price\": 0,\n      \"quantity\": 1,\n      \"discount\": 0,\n      \"is_group\": false,\n      \"children\": [\n        {\n          \"inventory_id\": \"{{inventory_id}}\",\n          \"quantity\": 1\n        }\n      ]\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//shipments/calculate-item-prices","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>country_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>discount</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.inventory_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.price</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.quantity</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.discount</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.is_group</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.children</code></td>\n<td>array</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.children.*.inventory_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items.*.children.*.quantity</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipments","calculate-item-prices"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"d0ee91ea-0360-4244-af4e-f0b849bfc46e"},{"name":"Shipments finalize pregen","id":"54df9e29-0068-40ab-b19e-eaab3185c3b4","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"order_id\": \"{{order_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//shipments/finalize-pregen","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipments","finalize-pregen"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"54df9e29-0068-40ab-b19e-eaab3185c3b4"},{"name":"Shipments update order couriers","id":"03b9424b-e3e6-4263-97e1-c69399e10251","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"order_id\": \"{{order_id}}\",\n  \"warning_caused_by\": \"1\",\n  \"is_locked\": false,\n  \"courier_service_id\": \"{{courier_service_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//shipments/update-order-couriers","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>order_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>warning_caused_by</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>is_locked</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>courier_service_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipments","update-order-couriers"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"03b9424b-e3e6-4263-97e1-c69399e10251"},{"name":"Shipments bulk update order couriers","id":"d9130ef4-8f6e-4be1-b85c-ec914e4a4e8e","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"orders\": [\n    {\n      \"order_id\": \"{{order_id}}\",\n      \"warning_caused_by\": \"1\",\n      \"is_locked\": false,\n      \"courier_service_id\": \"{{courier_service_id}}\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//shipments/bulk-update-order-couriers","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>orders</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.order_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.warning_caused_by</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>orders.*.is_locked</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>orders.*.courier_service_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipments","bulk-update-order-couriers"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"d9130ef4-8f6e-4be1-b85c-ec914e4a4e8e"},{"name":"Shipments bulk create","id":"2f59cb64-f989-4af2-b10c-5e50bddc9db6","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"label_size\": \"2\",\n  \"apply_product_changes\": false,\n  \"order_status\": \"8\",\n  \"shipments\": [\n    {\n      \"store_id\": \"{{store_id}}\",\n      \"channel_id\": \"{{channel_id}}\",\n      \"courier_id\": \"{{courier_id}}\",\n      \"courier_service_id\": \"{{courier_service_id}}\",\n      \"order_id\": \"{{order_id}}\",\n      \"parcels\": [\n        {\n          \"weight\": 0.8,\n          \"dim_width\": 20,\n          \"dim_height\": 10,\n          \"dim_length\": 30,\n          \"items\": [\n            {\n              \"order_item_id\": \"{{order_item_id}}\",\n              \"quantity\": 1,\n              \"value\": 12.5\n            }\n          ]\n        }\n      ]\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//shipments/bulk-create","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>selection_token</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>label_size</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code></td>\n</tr>\n<tr>\n<td><code>apply_product_changes</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_status</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Allowed: <code>3</code>, <code>8</code>. Status the despatched orders are set to; defaults to Despatched.</td>\n</tr>\n<tr>\n<td><code>include_packaging_slip</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>include_collection_list</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>auto_print</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>pregenerate_only</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>Not supported here: this endpoint always despatches, so sending <code>true</code> is rejected with 422. Use POST shipments/batch to pregenerate labels.</td>\n</tr>\n<tr>\n<td><code>tags</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipments</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipments.*.store_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipments.*.channel_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipments.*.courier_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipments.*.courier_service_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipments.*.order_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipments.*.parcels</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipments.*.parcels.*.weight</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipments.*.parcels.*.package_template_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipments.*.parcels.*.dim_width</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>Required unless <code>package_template_id</code> is sent.</td>\n</tr>\n<tr>\n<td><code>shipments.*.parcels.*.dim_height</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>Required unless <code>package_template_id</code> is sent.</td>\n</tr>\n<tr>\n<td><code>shipments.*.parcels.*.dim_length</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>Required unless <code>package_template_id</code> is sent.</td>\n</tr>\n<tr>\n<td><code>shipments.*.parcels.*.items</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipments.*.parcels.*.items.*.quantity</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipments.*.parcels.*.items.*.value</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipments.*.parcels.*.items.*.order_item_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>Required when the row has an <code>order_id</code>.</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipments","bulk-create"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"2f59cb64-f989-4af2-b10c-5e50bddc9db6"},{"name":"EXTERNAL courier endpoint — manual shipment creation","id":"026d1e1e-2ab5-4f85-b134-9b546455e355","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"courier_name\": \"courier_name\",\n  \"courier_service\": \"\",\n  \"tracking_code\": \"\",\n  \"send_channels\": false,\n  \"package_template_id\": \"{{package_template_id}}\",\n  \"order_id\": \"{{order_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//shipments/create-manual","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>courier_name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>courier_service</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tracking_code</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>send_channels</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>package_template_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipments","create-manual"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"026d1e1e-2ab5-4f85-b134-9b546455e355"},{"name":"Shipments archive","id":"f3d8adea-1f4b-4236-b10c-66802237fb0e","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"shipment_id\": \"{{shipment_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//shipments/:shipmentID/archive","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>shipmentID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>shipment_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipments",":shipmentID","archive"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"29532c46-ca62-40ec-a413-1df3b1dc001f","type":"any","value":"","key":"shipmentID"}]}},"response":[],"_postman_id":"f3d8adea-1f4b-4236-b10c-66802237fb0e"},{"name":"Shipments restore archived","id":"8f9d73ad-d107-4142-b925-77d1b06fdf9a","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"shipment_id\": \"{{shipment_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//shipments/:shipmentID/restore-archived","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>shipmentID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>shipment_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipments",":shipmentID","restore-archived"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"5d9499fb-8868-4ec2-9da6-40d2aa9d5255","type":"any","value":"","key":"shipmentID"}]}},"response":[],"_postman_id":"8f9d73ad-d107-4142-b925-77d1b06fdf9a"},{"name":"EXTERNAL courier endpoint — cancel a generated label","id":"878e68d2-7deb-496d-988a-4ebc19ca60b5","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"shipment_id\": \"{{shipment_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//shipments/:shipmentID/cancel-label","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>shipmentID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>shipment_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipments",":shipmentID","cancel-label"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"14617b7f-536a-4da9-adf1-b0d463e52030","type":"any","value":"","key":"shipmentID"}]}},"response":[],"_postman_id":"878e68d2-7deb-496d-988a-4ebc19ca60b5"},{"name":"EXTERNAL courier endpoint — force-cancel a label","id":"69df4ae3-90e9-4b9d-a286-ee5aa34be086","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"shipment_id\": \"{{shipment_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//shipments/:shipmentID/force-cancel-label","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>shipmentID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>shipment_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipments",":shipmentID","force-cancel-label"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"6ae85da5-d13a-491c-b61b-9d93d37f3911","type":"any","value":"","key":"shipmentID"}]}},"response":[],"_postman_id":"69df4ae3-90e9-4b9d-a286-ee5aa34be086"},{"name":"Shipments default printable document sizes","id":"a437f1fb-468f-4d19-ac7a-4bbc0219638c","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"shipment_id\": \"{{shipment_id}}\",\n  \"order_id\": \"{{order_id}}\",\n  \"is_manual\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//shipments/:shipmentID/default-printable-document-sizes","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>shipmentID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>shipment_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>is_manual</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipments",":shipmentID","default-printable-document-sizes"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"4b10ad03-c684-4639-80e0-38103a70db4d","type":"any","value":"","key":"shipmentID"}]}},"response":[],"_postman_id":"a437f1fb-468f-4d19-ac7a-4bbc0219638c"},{"name":"Shipments manifest history","id":"ce55bf41-ed91-4d53-b048-f929402f6616","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//shipments/manifest-history","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>courier_key</code></td>\n<td>Filter by Courier Key.</td>\n</tr>\n<tr>\n<td><code>shipments_from</code></td>\n<td>Filter by Shipments From.</td>\n</tr>\n<tr>\n<td><code>shipments_to</code></td>\n<td>Filter by Shipments To.</td>\n</tr>\n<tr>\n<td><code>consignments_from</code></td>\n<td>Filter by Consignments From.</td>\n</tr>\n<tr>\n<td><code>consignments_to</code></td>\n<td>Filter by Consignments To.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>courier</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipments","manifest-history"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Courier Key.</p>\n","type":"text/plain"},"key":"courier_key","value":""},{"disabled":true,"description":{"content":"<p>Filter by Shipments From.</p>\n","type":"text/plain"},"key":"shipments_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Shipments To.</p>\n","type":"text/plain"},"key":"shipments_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Consignments From.</p>\n","type":"text/plain"},"key":"consignments_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Consignments To.</p>\n","type":"text/plain"},"key":"consignments_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>courier</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[]}},"response":[],"_postman_id":"ce55bf41-ed91-4d53-b048-f929402f6616"},{"name":"Calculate shipments","id":"537437ae-df55-4248-841b-ca1e909ee01f","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"include_courier_service\": true,\n  \"data\": [\n    {\n      \"order_id\": 57,\n      \"store_id\": 1,\n      \"channel_id\": 1,\n      \"shipping_address\": { \"country_id\": 232, \"postcode\": \"EC1A 1BB\" },\n      \"parcels\": [\n        {\n          \"package_template_id\": 1,\n          \"items\": [\n            { \"order_item_id\": 64, \"inventory_id\": 43, \"quantity\": 2, \"value\": 60 }\n          ]\n        }\n      ]\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//shipments/calculate","description":"<p>Example request. <code>data[]</code> is a batch — add more elements to calculate multiple shipments in one call. <code>include_courier_service: false</code> skips courier resolution (parcel/price only). A parcel with <code>package_template_id: null</code> lets the backend auto-resolve the template. Omit <code>order_id</code> and send <code>shipping_address</code> + items for a manual (no-order) calculation. Set <code>respect_submitted_parcels: true</code> on a <code>data[]</code> element to have its parcels calculated exactly as sent: units of a Single Parcel Per Item product are not split into separate parcels, and the response returns the same parcels in the same order.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipments","calculate"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"537437ae-df55-4248-841b-ca1e909ee01f"},{"name":"Shipments mark as despatched","id":"0801f254-6695-4d46-b6dd-0fc9fbd06f69","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"order_id\": \"{{order_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//shipments/mark-as-despatched","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<p>Moves an order that ALREADY has a generated label to <strong>Despatched</strong>.</p>\n<p>This is the second step of the two-step despatch flow: create the shipment with <code>order_status: 3</code> (the label is generated and the order stays in Processing), then call this when the parcel actually goes out.</p>\n<p>Because the shipment already exists, only the order status changes: no second shipment is created, no stock is deducted again and no channel sync is triggered - all of that happened when the label was made.</p>\n<p>For recording a despatch that happened entirely outside the system (typing in a courier name and tracking number by hand) use <code>/shipments/create-manual</code> instead.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>Must belong to the company in the path and be in a despatchable status (Processing / New / Sorted / Packing), not on hold and not archived.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"responses\">Responses</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Code</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>204</code></td>\n<td>Despatched. No response body.</td>\n</tr>\n<tr>\n<td><code>422</code></td>\n<td>The order has no generated label to despatch, is already Despatched, or the <code>order_id</code> is invalid for this company.</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipments","mark-as-despatched"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"0801f254-6695-4d46-b6dd-0fc9fbd06f69"}],"id":"da862a26-9cc3-49b9-832f-3a91bc7dd2ca","description":"<p><strong>Shipments</strong> — 27 endpoints.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"da862a26-9cc3-49b9-832f-3a91bc7dd2ca","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Shipping Rules","item":[{"name":"Shipping rules shipment calculation","id":"4005050a-2d6c-4f36-a0df-4fe36ec76ff7","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"store_id\": \"{{store_id}}\",\n  \"channel_id\": \"{{channel_id}}\",\n  \"order_id\": \"{{order_id}}\",\n  \"shipping_cost\": 0,\n  \"total_price\": 0,\n  \"is_failed_before\": false,\n  \"shipping_address\": {\n    \"name\": \"\",\n    \"surname\": \"\",\n    \"company_name\": \"\",\n    \"email\": \"user@example.com\",\n    \"phone\": \"\",\n    \"address_line_1\": \"\",\n    \"address_line_2\": \"\",\n    \"address_line_3\": \"\",\n    \"city\": \"\",\n    \"county\": \"\",\n    \"country_id\": \"{{country_id}}\",\n    \"postcode\": \"\"\n  },\n  \"parcels\": [\n    {\n      \"items\": [\n        {\n          \"quantity\": \"quantity\",\n          \"value\": \"value\"\n        }\n      ]\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//shipping-rules/shipment-calculation","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>store_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>channel_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>integer</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_cost</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>total_price</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>is_failed_before</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.surname</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.company_name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.email</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.phone</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.address_line_1</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.address_line_2</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.address_line_3</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.city</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.county</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.country_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.postcode</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>parcels</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>parcels.*.items</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>parcels.*.items.*.quantity</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>parcels.*.items.*.value</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipping-rules","shipment-calculation"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"4005050a-2d6c-4f36-a0df-4fe36ec76ff7"},{"name":"Shipping rules bulk shipment calculation","id":"56bccf09-3a52-4373-a119-9c307004fc23","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"data\": [\n    {\n      \"store_id\": \"{{store_id}}\",\n      \"shipping_address\": {\n        \"name\": \"\",\n        \"surname\": \"\",\n        \"company_name\": \"\",\n        \"email\": \"user@example.com\",\n        \"phone\": \"\",\n        \"address_line_1\": \"\",\n        \"address_line_2\": \"\",\n        \"address_line_3\": \"\",\n        \"city\": \"\",\n        \"county\": \"\",\n        \"country_id\": \"{{country_id}}\",\n        \"postcode\": \"\"\n      },\n      \"shipping_cost\": 0,\n      \"total_price\": 0,\n      \"parcels\": [\n        {\n          \"items\": [\n            {\n              \"quantity\": \"quantity\",\n              \"value\": \"value\"\n            }\n          ]\n        }\n      ]\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//shipping-rules/bulk-shipment-calculation","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>data</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>data.*.store_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>data.*.shipping_address</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>data.*.shipping_address.name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>data.*.shipping_address.surname</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>data.*.shipping_address.company_name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>data.*.shipping_address.email</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>data.*.shipping_address.phone</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>data.*.shipping_address.address_line_1</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>data.*.shipping_address.address_line_2</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>data.*.shipping_address.address_line_3</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>data.*.shipping_address.city</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>data.*.shipping_address.county</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>data.*.shipping_address.country_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>data.*.shipping_address.postcode</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>data.*.shipping_cost</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>data.*.total_price</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>data.*.parcels</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>data.*.parcels.*.items</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>data.*.parcels.*.items.*.quantity</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>data.*.parcels.*.items.*.value</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipping-rules","bulk-shipment-calculation"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"56bccf09-3a52-4373-a119-9c307004fc23"},{"name":"Shipping rules groups list","id":"acad1877-efed-4fda-ba69-d5b760e65fad","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//shipping-rules/groups","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>restrictions</code></li>\n<li><code>rules</code></li>\n<li><code>rules.outputCourierService</code></li>\n<li><code>rules.outputCourierService.courier</code></li>\n<li><code>rules.outputFailOverService</code></li>\n<li><code>rules.outputFailOverService.courier</code></li>\n<li><code>rules.outputReturnService</code></li>\n<li><code>rules.outputReturnService.courier</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipping-rules","groups"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"description":{"content":"<p>NOTE: filters are FLAT query params named after the filter method (e.g. ?ids=1,2&amp;store_id=5), resolved by App\\Filters\\QueryFilters against top-level request keys — there is NO nested filter[...] contract at runtime, so none is declared/documented here.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"key":"sort_direction","value":""},{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"key":"page","value":""},{"disabled":true,"key":"per_page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>restrictions</code> - <code>rules</code> - <code>rules.outputCourierService</code> - <code>rules.outputCourierService.courier</code> - <code>rules.outputFailOverService</code> - <code>rules.outputFailOverService.courier</code> - <code>rules.outputReturnService</code> - <code>rules.outputReturnService.courier</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[]}},"response":[],"_postman_id":"acad1877-efed-4fda-ba69-d5b760e65fad"},{"name":"Shipping rules groups create","id":"3c181114-7057-40cd-9215-46438b4943f0","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"name\": \"name\",\n  \"restrictions\": {\n    \"store_and_channels\": [\n      0\n    ],\n    \"warehouses\": [\n      0\n    ],\n    \"selected_countries\": [\n      0\n    ]\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//shipping-rules/groups","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>restrictions</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>restrictions.store_and_channels</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>restrictions.warehouses</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>restrictions.selected_countries</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipping-rules","groups"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"3c181114-7057-40cd-9215-46438b4943f0"},{"name":"Shipping rules groups show","id":"88546498-e0e7-4f1a-89c9-ca91f1564711","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//shipping-rules/groups/:groupID","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>groupID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>restrictions</code></li>\n<li><code>rules</code></li>\n<li><code>rules.outputCourierService</code></li>\n<li><code>rules.outputCourierService.courier</code></li>\n<li><code>rules.outputFailOverService</code></li>\n<li><code>rules.outputFailOverService.courier</code></li>\n<li><code>rules.outputReturnService</code></li>\n<li><code>rules.outputReturnService.courier</code></li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipping-rules","groups",":groupID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>restrictions</code> - <code>rules</code> - <code>rules.outputCourierService</code> - <code>rules.outputCourierService.courier</code> - <code>rules.outputFailOverService</code> - <code>rules.outputFailOverService.courier</code> - <code>rules.outputReturnService</code> - <code>rules.outputReturnService.courier</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"7c239293-d181-449d-b3f1-c45207a16aa1","type":"any","value":"","key":"groupID"}]}},"response":[],"_postman_id":"88546498-e0e7-4f1a-89c9-ca91f1564711"},{"name":"Shipping rules groups update","id":"bd8f1533-d980-4b7b-99bb-ae77cf9f7fe9","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"name\": \"name\",\n  \"restrictions\": {\n    \"store_and_channels\": [\n      0\n    ],\n    \"warehouses\": [\n      0\n    ],\n    \"selected_countries\": [\n      0\n    ]\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//shipping-rules/groups/:groupID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>groupID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>restrictions</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>restrictions.store_and_channels</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>restrictions.warehouses</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>restrictions.selected_countries</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipping-rules","groups",":groupID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"edbb1d04-df5c-42e2-941c-0f34cb02977b","type":"any","value":"","key":"groupID"}]}},"response":[],"_postman_id":"bd8f1533-d980-4b7b-99bb-ae77cf9f7fe9"},{"name":"Shipping rules groups delete","id":"cdc2ba3c-5340-4162-8bdc-79a050a9ec93","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//shipping-rules/groups/:groupID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>groupID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipping-rules","groups",":groupID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"0bd71053-614f-4494-b66c-a5c7e6a60864","type":"any","value":"","key":"groupID"}]}},"response":[],"_postman_id":"cdc2ba3c-5340-4162-8bdc-79a050a9ec93"},{"name":"Shipping rules groups rules list","id":"9548cc88-b255-4fc1-b8f3-0b04fe0a1955","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//shipping-rules/groups/:groupID/rules","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>groupID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>shippingRuleGroup</code></li>\n<li><code>outputCourierService</code></li>\n<li><code>outputCourierService.courier</code></li>\n<li><code>outputFailOverService</code></li>\n<li><code>outputFailOverService.courier</code></li>\n<li><code>outputReturnService</code></li>\n<li><code>outputReturnService.courier</code></li>\n<li><code>conditionGroups</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipping-rules","groups",":groupID","rules"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"description":{"content":"<p>NOTE: filters are FLAT query params named after the filter method (e.g. ?ids=1,2&amp;store_id=5), resolved by App\\Filters\\QueryFilters against top-level request keys — there is NO nested filter[...] contract at runtime, so none is declared/documented here.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"key":"sort_direction","value":""},{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"key":"page","value":""},{"disabled":true,"key":"per_page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>shippingRuleGroup</code> - <code>outputCourierService</code> - <code>outputCourierService.courier</code> - <code>outputFailOverService</code> - <code>outputFailOverService.courier</code> - <code>outputReturnService</code> - <code>outputReturnService.courier</code> - <code>conditionGroups</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"f25da02b-6128-45e5-a5c9-00eef88fb92e","type":"any","value":"","key":"groupID"}]}},"response":[],"_postman_id":"9548cc88-b255-4fc1-b8f3-0b04fe0a1955"},{"name":"Shipping rules groups rules create","id":"86601e9a-36ec-4206-b13c-4000cb9e242f","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"rules\": [\n    {\n      \"name\": \"name\",\n      \"output_courier_service_id\": \"{{output_courier_service_id}}\",\n      \"output_failover_service_id\": \"{{output_failover_service_id}}\",\n      \"output_return_service_id\": \"{{output_return_service_id}}\",\n      \"output_return_label_creation\": \"1\",\n      \"conditions\": [\n        [\n          {\n            \"field\": 1,\n            \"operator\": 0,\n            \"value\": [\n              \"\"\n            ]\n          }\n        ]\n      ]\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//shipping-rules/groups/:groupID/rules","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>groupID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>shippingRuleGroup</code></li>\n<li><code>outputCourierService</code></li>\n<li><code>outputCourierService.courier</code></li>\n<li><code>outputFailOverService</code></li>\n<li><code>outputFailOverService.courier</code></li>\n<li><code>outputReturnService</code></li>\n<li><code>outputReturnService.courier</code></li>\n<li><code>conditionGroups</code></li>\n</ul>\n<h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>rules</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>rules.*.name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>rules.*.output_courier_service_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>rules.*.output_failover_service_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>rules.*.output_return_service_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>rules.*.output_return_label_creation</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code></td>\n</tr>\n<tr>\n<td><code>rules.*.conditions</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipping-rules","groups",":groupID","rules"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>shippingRuleGroup</code> - <code>outputCourierService</code> - <code>outputCourierService.courier</code> - <code>outputFailOverService</code> - <code>outputFailOverService.courier</code> - <code>outputReturnService</code> - <code>outputReturnService.courier</code> - <code>conditionGroups</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"4ba4bbc0-b18f-48ee-b83f-0f25870c1ca4","type":"any","value":"","key":"groupID"}]}},"response":[],"_postman_id":"86601e9a-36ec-4206-b13c-4000cb9e242f"},{"name":"Shipping rules groups rules show","id":"40e327de-8d79-45c1-ad5b-1d129739bfb4","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//shipping-rules/groups/:groupID/rules/:ruleID","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>groupID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>ruleID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>shippingRuleGroup</code></li>\n<li><code>outputCourierService</code></li>\n<li><code>outputCourierService.courier</code></li>\n<li><code>outputFailOverService</code></li>\n<li><code>outputFailOverService.courier</code></li>\n<li><code>outputReturnService</code></li>\n<li><code>outputReturnService.courier</code></li>\n<li><code>conditionGroups</code></li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipping-rules","groups",":groupID","rules",":ruleID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>shippingRuleGroup</code> - <code>outputCourierService</code> - <code>outputCourierService.courier</code> - <code>outputFailOverService</code> - <code>outputFailOverService.courier</code> - <code>outputReturnService</code> - <code>outputReturnService.courier</code> - <code>conditionGroups</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"576e1118-5790-46e7-9c50-608a5eb077fe","type":"any","value":"","key":"groupID"},{"id":"7d5085ed-238d-45c5-b194-b4e183c9580e","type":"any","value":"","key":"ruleID"}]}},"response":[],"_postman_id":"40e327de-8d79-45c1-ad5b-1d129739bfb4"},{"name":"Shipping rules shipment calculation all rules","id":"8e6c6dbf-e663-4e70-bba9-554bee7c7b25","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"store_id\": \"{{store_id}}\",\n  \"channel_id\": \"{{channel_id}}\",\n  \"order_id\": \"{{order_id}}\",\n  \"shipping_cost\": 0,\n  \"shipping_address\": {\n    \"first_name\": \"\",\n    \"last_name\": \"\",\n    \"company_name\": \"\",\n    \"email\": \"user@example.com\",\n    \"phone\": \"\",\n    \"address_line_1\": \"\",\n    \"address_line_2\": \"\",\n    \"address_line_3\": \"\",\n    \"city\": \"\",\n    \"county\": \"\",\n    \"country_id\": \"{{country_id}}\",\n    \"postcode\": \"\"\n  },\n  \"parcels\": [\n    {\n      \"items\": [\n        {\n          \"quantity\": \"quantity\",\n          \"value\": \"value\"\n        }\n      ]\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//shipping-rules/shipment-calculation-all-rules","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>store_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>channel_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>integer</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_cost</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.first_name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.last_name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.company_name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.email</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.phone</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.address_line_1</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.address_line_2</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.address_line_3</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.city</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.county</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.country_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>shipping_address.postcode</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>parcels</code></td>\n<td>array</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>parcels.*.items</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>parcels.*.items.*.quantity</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>parcels.*.items.*.value</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipping-rules","shipment-calculation-all-rules"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"8e6c6dbf-e663-4e70-bba9-554bee7c7b25"},{"name":"Shipping rules shipment calculation resend order","id":"a870f228-237f-4e54-8ec5-864707ed1014","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"order_id\": \"{{order_id}}\",\n  \"items\": [\n    \"\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//shipping-rules/shipment-calculation-resend-order","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>order_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>items</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipping-rules","shipment-calculation-resend-order"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"a870f228-237f-4e54-8ec5-864707ed1014"},{"name":"Shipping rules groups rules sorting","id":"a2d750e4-26d9-482a-87f2-5ce26097b9bf","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"group_id\": \"{{group_id}}\",\n  \"sorting\": [\n    {\n      \"id\": \"{{id}}\",\n      \"order\": 0\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//shipping-rules/groups/:groupID/rules/sorting","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>groupID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>group_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sorting</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sorting.*.id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sorting.*.order</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipping-rules","groups",":groupID","rules","sorting"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"325180c0-21b9-4f2d-8f81-f7c832aeac55","type":"any","value":"","key":"groupID"}]}},"response":[],"_postman_id":"a2d750e4-26d9-482a-87f2-5ce26097b9bf"},{"name":"Shipping rules groups rules change status","id":"9ebb8e35-693a-4793-86ad-038c0106c487","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"group_id\": \"{{group_id}}\",\n  \"rule_id\": \"{{rule_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//shipping-rules/groups/:groupID/rules/:ruleID/change-status","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>groupID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>ruleID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>group_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>rule_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipping-rules","groups",":groupID","rules",":ruleID","change-status"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"725f82c2-3d3d-4df8-bbfa-0f9602c442a6","type":"any","value":"","key":"groupID"},{"id":"114f918e-7a2c-4d44-97e6-199917536572","type":"any","value":"","key":"ruleID"}]}},"response":[],"_postman_id":"9ebb8e35-693a-4793-86ad-038c0106c487"},{"name":"Shipping rules save conditions","id":"68aaa278-0c62-4695-b069-4b3c4dde19de","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"name\": \"name\",\n  \"conditions\": [\n    [\n      {\n        \"field\": 1,\n        \"operator\": 0,\n        \"value\": [\n          \"\"\n        ]\n      }\n    ]\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//shipping-rules/save-conditions","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>conditions</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipping-rules","save-conditions"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"68aaa278-0c62-4695-b069-4b3c4dde19de"},{"name":"Shipping rules saved conditions","id":"f061f2fc-3714-408a-8267-4ddd039e02e4","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//shipping-rules/saved-conditions","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipping-rules","saved-conditions"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""}],"variable":[]}},"response":[],"_postman_id":"f061f2fc-3714-408a-8267-4ddd039e02e4"},{"name":"Shipping rules delete saved conditions","id":"a0873c63-e7c3-4e1b-ab8f-75a40e65ea3d","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//shipping-rules/delete-saved-conditions/:savedConditionID?company_id=&saved_condition_id=","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>savedConditionID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>saved_condition_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipping-rules","delete-saved-conditions",":savedConditionID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"saved_condition_id","value":""}],"variable":[{"id":"ddaa8bef-9743-49d5-b368-c7f069a01b2a","type":"any","value":"","key":"savedConditionID"}]}},"response":[],"_postman_id":"a0873c63-e7c3-4e1b-ab8f-75a40e65ea3d"},{"name":"Shipping rules restore conditions","id":"6f5a6525-b458-4748-b462-04893804126f","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"saved_condition_id\": \"{{saved_condition_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//shipping-rules/restore-conditions/:savedConditionID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>savedConditionID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>saved_condition_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipping-rules","restore-conditions",":savedConditionID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"83af5c78-af97-4ce4-8b88-edde47b9d70e","type":"any","value":"","key":"savedConditionID"}]}},"response":[],"_postman_id":"6f5a6525-b458-4748-b462-04893804126f"},{"name":"Shipping rules has company shipping rules","id":"f54687ae-f4d0-4a42-8f0d-e69d6ae22649","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//shipping-rules/has-company-shipping-rules","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipping-rules","has-company-shipping-rules"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""}],"variable":[]}},"response":[],"_postman_id":"f54687ae-f4d0-4a42-8f0d-e69d6ae22649"},{"name":"Shipping rules groups filtered groups","id":"d8bbf81c-7bcd-4b8b-a21e-8413f29163dc","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//shipping-rules/groups/filtered-groups","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipping-rules","groups","filtered-groups"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"description":{"content":"<p>NOTE: filters are FLAT query params named after the filter method (e.g. ?ids=1,2&amp;store_id=5), resolved by App\\Filters\\QueryFilters against top-level request keys — there is NO nested filter[...] contract at runtime, so none is declared/documented here.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"key":"sort_direction","value":""},{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"key":"page","value":""},{"disabled":true,"key":"per_page","value":""}],"variable":[]}},"response":[],"_postman_id":"d8bbf81c-7bcd-4b8b-a21e-8413f29163dc"},{"name":"Shipping rules groups sorting","id":"1bcca759-0457-484a-afc1-f899e7b19142","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"sorting\": [\n    {\n      \"id\": \"{{id}}\",\n      \"order\": 0\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//shipping-rules/groups/sorting","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sorting</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sorting.*.id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sorting.*.order</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipping-rules","groups","sorting"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"1bcca759-0457-484a-afc1-f899e7b19142"},{"name":"Shipping rules groups change status","id":"ffefbec4-f565-4ed4-b831-7ec31a2f651f","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"includes\": \"\",\n  \"includes_count\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//shipping-rules/groups/:groupID/change-status","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>groupID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>restrictions</code></li>\n<li><code>rules</code></li>\n<li><code>rules.outputCourierService</code></li>\n<li><code>rules.outputCourierService.courier</code></li>\n<li><code>rules.outputFailOverService</code></li>\n<li><code>rules.outputFailOverService.courier</code></li>\n<li><code>rules.outputReturnService</code></li>\n<li><code>rules.outputReturnService.courier</code></li>\n</ul>\n<h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>includes_count</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipping-rules","groups",":groupID","change-status"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>restrictions</code> - <code>rules</code> - <code>rules.outputCourierService</code> - <code>rules.outputCourierService.courier</code> - <code>rules.outputFailOverService</code> - <code>rules.outputFailOverService.courier</code> - <code>rules.outputReturnService</code> - <code>rules.outputReturnService.courier</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"3c3ecf4a-7b40-4cb6-9b17-c517f11608ca","type":"any","value":"","key":"groupID"}]}},"response":[],"_postman_id":"ffefbec4-f565-4ed4-b831-7ec31a2f651f"},{"name":"Shipping rules groups duplicate","id":"6b085f33-6cb6-4dc6-8de7-0a2e71633d14","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//shipping-rules/groups/:groupID/duplicate","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>groupID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>restrictions</code></li>\n<li><code>rules</code></li>\n<li><code>rules.outputCourierService</code></li>\n<li><code>rules.outputCourierService.courier</code></li>\n<li><code>rules.outputFailOverService</code></li>\n<li><code>rules.outputFailOverService.courier</code></li>\n<li><code>rules.outputReturnService</code></li>\n<li><code>rules.outputReturnService.courier</code></li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","shipping-rules","groups",":groupID","duplicate"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>restrictions</code> - <code>rules</code> - <code>rules.outputCourierService</code> - <code>rules.outputCourierService.courier</code> - <code>rules.outputFailOverService</code> - <code>rules.outputFailOverService.courier</code> - <code>rules.outputReturnService</code> - <code>rules.outputReturnService.courier</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"0bd7ba89-2eae-42c4-9a89-7bcbd924cdf2","type":"any","value":"","key":"groupID"}]}},"response":[],"_postman_id":"6b085f33-6cb6-4dc6-8de7-0a2e71633d14"}],"id":"2338b4e0-bfb1-47f7-b3a0-1a9d46515898","description":"<p><strong>Shipping Rules</strong> — 23 endpoints.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"2338b4e0-bfb1-47f7-b3a0-1a9d46515898","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Sorting","item":[{"name":"Sorting list","id":"2e5e35ba-eee8-4594-80a4-462e67efdf91","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//sorting","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>pick_reference_number</code></td>\n<td>Filter by Pick Reference Number.</td>\n</tr>\n<tr>\n<td><code>pick_id</code></td>\n<td>Filter by Pick Id.</td>\n</tr>\n<tr>\n<td><code>user_id</code></td>\n<td>Filter by User Id.</td>\n</tr>\n<tr>\n<td><code>pick_created_at_from</code></td>\n<td>Filter by Pick Created At From.</td>\n</tr>\n<tr>\n<td><code>pick_created_at_to</code></td>\n<td>Filter by Pick Created At To.</td>\n</tr>\n<tr>\n<td><code>tag_id</code></td>\n<td>Filter by Tag Id.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>order</code></li>\n<li><code>items</code></li>\n<li><code>items.inventory</code></li>\n<li><code>items.inventory.meta</code></li>\n<li><code>tote</code></li>\n<li><code>originLocation</code></li>\n<li><code>location</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","sorting"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Pick Reference Number.</p>\n","type":"text/plain"},"key":"pick_reference_number","value":""},{"disabled":true,"description":{"content":"<p>Filter by Pick Id.</p>\n","type":"text/plain"},"key":"pick_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by User Id.</p>\n","type":"text/plain"},"key":"user_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Pick Created At From.</p>\n","type":"text/plain"},"key":"pick_created_at_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Pick Created At To.</p>\n","type":"text/plain"},"key":"pick_created_at_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Tag Id.</p>\n","type":"text/plain"},"key":"tag_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>order</code> - <code>items</code> - <code>items.inventory</code> - <code>items.inventory.meta</code> - <code>tote</code> - <code>originLocation</code> - <code>location</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[]}},"response":[],"_postman_id":"2e5e35ba-eee8-4594-80a4-462e67efdf91"},{"name":"Sorting set as sorted","id":"43419e5f-2aa0-4cfb-a107-ae6df4aebcc9","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"sorting_ids\": [\n    \"{{sorting_id}}\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//sorting/set-as-sorted","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>sorting_ids</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","sorting","set-as-sorted"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"43419e5f-2aa0-4cfb-a107-ae6df4aebcc9"},{"name":"Sorting update","id":"b3c82799-d200-452f-8506-2dad530ed2b3","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"notes\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//sorting/:sortingID","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>sortingID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>notes</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","sorting",":sortingID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"3d15b9c8-97d2-4243-82ba-c09c9cf4524c","type":"any","value":"","key":"sortingID"}]}},"response":[],"_postman_id":"b3c82799-d200-452f-8506-2dad530ed2b3"},{"name":"Sorting items list","id":"152d761f-8c8f-4179-9666-3af5cac4d462","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//sorting/items","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventory</code></td>\n<td>Filter by Inventory.</td>\n</tr>\n<tr>\n<td><code>inventory_name</code></td>\n<td>Filter by Inventory Name.</td>\n</tr>\n<tr>\n<td><code>inventory_code</code></td>\n<td>Filter by Inventory Code.</td>\n</tr>\n<tr>\n<td><code>pick_reference_number</code></td>\n<td>Filter by Pick Reference Number.</td>\n</tr>\n<tr>\n<td><code>origin_location_id</code></td>\n<td>Filter by Origin Location Id.</td>\n</tr>\n<tr>\n<td><code>location_id</code></td>\n<td>Filter by Location Id.</td>\n</tr>\n<tr>\n<td><code>pick_id</code></td>\n<td>Filter by Pick Id.</td>\n</tr>\n<tr>\n<td><code>sorting_status</code></td>\n<td>Filter by Sorting Status.</td>\n</tr>\n<tr>\n<td><code>hide_completed_items</code></td>\n<td>Filter by Hide Completed Items.</td>\n</tr>\n<tr>\n<td><code>user_id</code></td>\n<td>Filter by User Id.</td>\n</tr>\n<tr>\n<td><code>pick_created_at_from</code></td>\n<td>Filter by Pick Created At From.</td>\n</tr>\n<tr>\n<td><code>pick_created_at_to</code></td>\n<td>Filter by Pick Created At To.</td>\n</tr>\n<tr>\n<td><code>tag_id</code></td>\n<td>Filter by Tag Id.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","sorting","items"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Inventory.</p>\n","type":"text/plain"},"key":"inventory","value":""},{"disabled":true,"description":{"content":"<p>Filter by Inventory Name.</p>\n","type":"text/plain"},"key":"inventory_name","value":""},{"disabled":true,"description":{"content":"<p>Filter by Inventory Code.</p>\n","type":"text/plain"},"key":"inventory_code","value":""},{"disabled":true,"description":{"content":"<p>Filter by Pick Reference Number.</p>\n","type":"text/plain"},"key":"pick_reference_number","value":""},{"disabled":true,"description":{"content":"<p>Filter by Origin Location Id.</p>\n","type":"text/plain"},"key":"origin_location_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Location Id.</p>\n","type":"text/plain"},"key":"location_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Pick Id.</p>\n","type":"text/plain"},"key":"pick_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Sorting Status.</p>\n","type":"text/plain"},"key":"sorting_status","value":""},{"disabled":true,"description":{"content":"<p>Filter by Hide Completed Items.</p>\n","type":"text/plain"},"key":"hide_completed_items","value":""},{"disabled":true,"description":{"content":"<p>Filter by User Id.</p>\n","type":"text/plain"},"key":"user_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Pick Created At From.</p>\n","type":"text/plain"},"key":"pick_created_at_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Pick Created At To.</p>\n","type":"text/plain"},"key":"pick_created_at_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Tag Id.</p>\n","type":"text/plain"},"key":"tag_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations vary per endpoint.</p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[]}},"response":[],"_postman_id":"152d761f-8c8f-4179-9666-3af5cac4d462"},{"name":"Sorting items sort","id":"3ce3bd64-c054-45e9-97ae-b628865b26d6","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"quantity\": 1,\n  \"location_id\": \"{{location_id}}\",\n  \"tote_id\": \"{{tote_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//sorting/:sortingID/items/:sortingItemID/sort","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>sortingID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>sortingItemID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>quantity</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>location_id</code></td>\n<td>integer</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tote_id</code></td>\n<td>integer</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","sorting",":sortingID","items",":sortingItemID","sort"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"f41d597d-5e95-470f-bacb-7c45c90f7af0","type":"any","value":"","key":"sortingID"},{"id":"69ed3298-dce6-443b-86f6-bb68ecbbabef","type":"any","value":"","key":"sortingItemID"}]}},"response":[],"_postman_id":"3ce3bd64-c054-45e9-97ae-b628865b26d6"},{"name":"Sorting items update quantity","id":"7f323676-136c-4833-b400-89a0340f3f05","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"quantity\": 1\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//sorting/:sortingID/items/:sortingItemID/update-quantity","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>sortingID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>sortingItemID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>quantity</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","sorting",":sortingID","items",":sortingItemID","update-quantity"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"24484b30-47ef-4252-b075-1dd482a2a459","type":"any","value":"","key":"sortingID"},{"id":"17a8b5a4-34c0-43dd-8869-2138e6a0cd07","type":"any","value":"","key":"sortingItemID"}]}},"response":[],"_postman_id":"7f323676-136c-4833-b400-89a0340f3f05"},{"name":"Sorting slots delete","id":"c97e42dc-b025-4408-bca1-f72a24256d1b","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//sorting/slots/:slotID","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>slotID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","sorting","slots",":slotID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"6fb7c2b9-1236-474a-b2a5-c928beb2055c","type":"any","value":"","key":"slotID"}]}},"response":[],"_postman_id":"c97e42dc-b025-4408-bca1-f72a24256d1b"},{"name":"Sorting locations create","id":"e2338478-6b77-4a8a-93b9-62396fc02c85","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"warehouse_id\": \"{{warehouse_id}}\",\n  \"zone_id\": \"{{zone_id}}\",\n  \"code\": \"code\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//sorting/locations","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>warehouse_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>zone_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>code</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","sorting","locations"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"e2338478-6b77-4a8a-93b9-62396fc02c85"},{"name":"Sorting locations list","id":"26cecb51-db92-4ac9-81ee-649f35fcf40c","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//sorting/locations","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","sorting","locations"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"description":{"content":"<p>NOTE: filters are FLAT query params named after the filter method (e.g. ?ids=1,2&amp;store_id=5), resolved by App\\Filters\\QueryFilters against top-level request keys — there is NO nested filter[...] contract at runtime, so none is declared/documented here.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"key":"sort_direction","value":""},{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"key":"page","value":""},{"disabled":true,"key":"per_page","value":""}],"variable":[]}},"response":[],"_postman_id":"26cecb51-db92-4ac9-81ee-649f35fcf40c"},{"name":"Sorting stats","id":"ccc21f50-32fd-4246-8c0a-5cf26f975ddc","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//sorting/stats","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","sorting","stats"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"description":{"content":"<p>NOTE: filters are FLAT query params named after the filter method (e.g. ?ids=1,2&amp;store_id=5), resolved by App\\Filters\\QueryFilters against top-level request keys — there is NO nested filter[...] contract at runtime, so none is declared/documented here.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"key":"sort_direction","value":""},{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"key":"page","value":""},{"disabled":true,"key":"per_page","value":""}],"variable":[]}},"response":[],"_postman_id":"ccc21f50-32fd-4246-8c0a-5cf26f975ddc"},{"name":"Sorting slots","id":"f380b8a0-6459-433c-8915-111b74defa41","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//sorting/slots","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>location</code></li>\n<li><code>location.settings</code></li>\n<li><code>location.zone</code></li>\n<li><code>tote</code></li>\n<li><code>assignedSortingByTote</code></li>\n<li><code>assignedSortingByTote.order</code></li>\n<li><code>assignedSortingByTote.items</code></li>\n<li><code>assignedSortingByTote.items.inventory</code></li>\n<li><code>assignedSortingByTote.items.inventory.meta</code></li>\n<li><code>assignedSortingByTote.pickedItem</code></li>\n<li><code>assignedSortingByTote.pickedItem.location</code></li>\n<li><code>assignedSortingByLocation</code></li>\n<li><code>assignedSortingByLocation.order</code></li>\n<li><code>assignedSortingByLocation.items</code></li>\n<li><code>assignedSortingByLocation.items.inventory</code></li>\n<li><code>assignedSortingByLocation.items.inventory.meta</code></li>\n<li><code>assignedSortingByLocation.pickedItem</code></li>\n<li><code>assignedSortingByLocation.pickedItem.location</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","sorting","slots"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"description":{"content":"<p>NOTE: filters are FLAT query params named after the filter method (e.g. ?ids=1,2&amp;store_id=5), resolved by App\\Filters\\QueryFilters against top-level request keys — there is NO nested filter[...] contract at runtime, so none is declared/documented here.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"key":"sort_direction","value":""},{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"key":"page","value":""},{"disabled":true,"key":"per_page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>location</code> - <code>location.settings</code> - <code>location.zone</code> - <code>tote</code> - <code>assignedSortingByTote</code> - <code>assignedSortingByTote.order</code> - <code>assignedSortingByTote.items</code> - <code>assignedSortingByTote.items.inventory</code> - <code>assignedSortingByTote.items.inventory.meta</code> - <code>assignedSortingByTote.pickedItem</code> - <code>assignedSortingByTote.pickedItem.location</code> - <code>assignedSortingByLocation</code> - <code>assignedSortingByLocation.order</code> - <code>assignedSortingByLocation.items</code> - <code>assignedSortingByLocation.items.inventory</code> - <code>assignedSortingByLocation.items.inventory.meta</code> - <code>assignedSortingByLocation.pickedItem</code> - <code>assignedSortingByLocation.pickedItem.location</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[]}},"response":[],"_postman_id":"f380b8a0-6459-433c-8915-111b74defa41"},{"name":"Sorting unassign order","id":"105bd2fc-1db2-4a58-8506-1892774c1718","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//sorting/slots/:slotID/unassign-order","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>slotID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","sorting","slots",":slotID","unassign-order"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"883f7e8b-aa50-45dd-84c9-78ba6da4627e","type":"any","value":"","key":"slotID"}]}},"response":[],"_postman_id":"105bd2fc-1db2-4a58-8506-1892774c1718"},{"name":"Sorting empty tote or locations","id":"a739037e-b982-45ef-b19f-02f3a76c85f4","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//sorting/locations/totes/empty","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","sorting","locations","totes","empty"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"description":{"content":"<p>NOTE: filters are FLAT query params named after the filter method (e.g. ?ids=1,2&amp;store_id=5), resolved by App\\Filters\\QueryFilters against top-level request keys — there is NO nested filter[...] contract at runtime, so none is declared/documented here.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"key":"sort_direction","value":""},{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"key":"page","value":""},{"disabled":true,"key":"per_page","value":""}],"variable":[]}},"response":[],"_postman_id":"a739037e-b982-45ef-b19f-02f3a76c85f4"},{"name":"Sorting totes list","id":"14a48823-f4b2-474d-b9e8-37a8fff69576","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//sorting/locations/totes","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","sorting","locations","totes"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations vary per endpoint.</p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[]}},"response":[],"_postman_id":"14a48823-f4b2-474d-b9e8-37a8fff69576"},{"name":"Sorting totes create","id":"bbcf5c50-525d-46ce-9602-83ec0df47cde","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"code\": \"code\",\n  \"location_id\": \"{{location_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//sorting/locations/totes","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>code</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>location_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","sorting","locations","totes"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"bbcf5c50-525d-46ce-9602-83ec0df47cde"},{"name":"Sorting totes update","id":"cd978835-3a83-497d-a27d-e4e719b1cec7","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"code\": \"code\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//sorting/locations/totes/:toteID","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>toteID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>code</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","sorting","locations","totes",":toteID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"2c84d5ce-beaa-4880-b6ea-4059ab7f52ee","type":"any","value":"","key":"toteID"}]}},"response":[],"_postman_id":"cd978835-3a83-497d-a27d-e4e719b1cec7"},{"name":"Sorting totes delete","id":"4ca323d8-42f6-40af-b23e-bf74a279d1b8","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//sorting/locations/totes/:toteID","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>toteID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","sorting","locations","totes",":toteID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"04003f8e-e783-4195-866a-53a918520fd8","type":"any","value":"","key":"toteID"}]}},"response":[],"_postman_id":"4ca323d8-42f6-40af-b23e-bf74a279d1b8"},{"name":"Sorting unassign location","id":"ac1ad3a6-b5f7-4bc1-861b-b3ea380d961f","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//sorting/locations/:locationID/unassign","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>locationID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","sorting","locations",":locationID","unassign"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"f18bd862-01d0-4309-a5d0-37b49a1e37e6","type":"any","value":"","key":"locationID"}]}},"response":[],"_postman_id":"ac1ad3a6-b5f7-4bc1-861b-b3ea380d961f"}],"id":"e08326f8-b2de-4b0a-a0b0-8d9b73a98ffe","description":"<p><strong>Sorting</strong> — 18 endpoints.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"e08326f8-b2de-4b0a-a0b0-8d9b73a98ffe","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Storage Cost Groups","item":[{"name":"Storage cost groups list","id":"61721cd4-bbea-4da0-9bc3-d6df05ffcf36","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//storage-cost-groups","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>query</code></td>\n<td>Filter by Query.</td>\n</tr>\n<tr>\n<td><code>is_active</code></td>\n<td>Filter by Is Active.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>locations</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","storage-cost-groups"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Query.</p>\n","type":"text/plain"},"key":"query","value":""},{"disabled":true,"description":{"content":"<p>Filter by Is Active.</p>\n","type":"text/plain"},"key":"is_active","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>locations</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[]}},"response":[],"_postman_id":"61721cd4-bbea-4da0-9bc3-d6df05ffcf36"},{"name":"Storage cost groups create","id":"0a87a9e7-e81e-4a67-a224-ef5832de769c","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"name\": \"name\",\n  \"fixed_cost_daily\": 0\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//storage-cost-groups","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>fixed_cost_daily</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","storage-cost-groups"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"0a87a9e7-e81e-4a67-a224-ef5832de769c"},{"name":"Storage cost groups show","id":"6f69a3e4-b521-4229-b44d-882fc718d185","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//storage-cost-groups/:storageCostGroupID","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>storageCostGroupID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>locations</code></li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","storage-cost-groups",":storageCostGroupID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>locations</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"2e0f09bc-4cbd-4406-8fd1-49294f838fc4","type":"any","value":"","key":"storageCostGroupID"}]}},"response":[],"_postman_id":"6f69a3e4-b521-4229-b44d-882fc718d185"},{"name":"Storage cost groups update","id":"0e3ee75e-9d79-4c5b-84b2-d5a5f4a265a1","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"storage_cost_group_id\": \"{{storage_cost_group_id}}\",\n  \"name\": \"name\",\n  \"fixed_cost_daily\": 0\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//storage-cost-groups/:storageCostGroupID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>storageCostGroupID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>storage_cost_group_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>fixed_cost_daily</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","storage-cost-groups",":storageCostGroupID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"6ec6a0da-fa57-4531-acd0-7a63197999a1","type":"any","value":"","key":"storageCostGroupID"}]}},"response":[],"_postman_id":"0e3ee75e-9d79-4c5b-84b2-d5a5f4a265a1"},{"name":"Storage cost groups update patch","id":"e8ee144f-11dc-468c-b468-d8510bf9560c","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"storage_cost_group_id\": \"{{storage_cost_group_id}}\",\n  \"name\": \"name\",\n  \"fixed_cost_daily\": 0\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//storage-cost-groups/:storageCostGroupID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>storageCostGroupID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>storage_cost_group_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>fixed_cost_daily</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","storage-cost-groups",":storageCostGroupID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"12f43e1e-28bf-42ec-b7cb-a1bd9f76ef23","type":"any","value":"","key":"storageCostGroupID"}]}},"response":[],"_postman_id":"e8ee144f-11dc-468c-b468-d8510bf9560c"},{"name":"Storage cost groups delete","id":"27189882-2e31-4bb2-b8a1-4e65a2363756","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//storage-cost-groups/:storageCostGroupID?company_id=&storage_cost_group_id=","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>storageCostGroupID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>storage_cost_group_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","storage-cost-groups",":storageCostGroupID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"storage_cost_group_id","value":""}],"variable":[{"id":"e1c3a3f5-b945-47b6-9cd4-0796159b1d4a","type":"any","value":"","key":"storageCostGroupID"}]}},"response":[],"_postman_id":"27189882-2e31-4bb2-b8a1-4e65a2363756"},{"name":"Storage cost groups status update","id":"636d7cb3-3bab-4086-aff8-ce563e9f1873","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"storage_cost_group_id\": \"{{storage_cost_group_id}}\",\n  \"is_active\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//storage-cost-groups/:storageCostGroupID/status","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>storageCostGroupID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>storage_cost_group_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>is_active</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","storage-cost-groups",":storageCostGroupID","status"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"7c2daa76-d4e3-46ab-acd9-2a3a47d3f855","type":"any","value":"","key":"storageCostGroupID"}]}},"response":[],"_postman_id":"636d7cb3-3bab-4086-aff8-ce563e9f1873"}],"id":"5e6bf8e2-ec55-430d-bb79-21f9da8f48f8","description":"<p><strong>Storage Cost Groups</strong> — 7 endpoints.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"5e6bf8e2-ec55-430d-bb79-21f9da8f48f8","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Stores","item":[{"name":"Stores channels available","id":"4dbb0e84-7479-4055-9f82-4457e68a0359","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//stores/:storeID/channels/available","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>storeID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","stores",":storeID","channels","available"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"92b91374-a2ed-4ef8-970f-cf0691d51cd0","type":"any","value":"","key":"storeID"}]}},"response":[],"_postman_id":"4dbb0e84-7479-4055-9f82-4457e68a0359"},{"name":"Stores channels available providers","id":"7703beac-d6a1-43c4-8692-340125b7e57d","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//stores/:storeID/channels/available-providers","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>storeID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","stores",":storeID","channels","available-providers"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"a7a631c9-64cb-40d8-a393-beaa7973cf39","type":"any","value":"","key":"storeID"}]}},"response":[],"_postman_id":"7703beac-d6a1-43c4-8692-340125b7e57d"},{"name":"Stores channels forms","id":"70deb379-c132-4c0a-ba51-7045b714080b","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//stores/:storeID/channels/forms/:providerType","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>storeID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>providerType</code></td>\n<td>string</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","stores",":storeID","channels","forms",":providerType"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"47307d3b-f4b3-456c-8634-076fd3791e83","type":"any","value":"","key":"storeID"},{"id":"3d5681c6-8c8e-472d-8542-70f57c0276c3","type":"any","value":"","key":"providerType"}]}},"response":[],"_postman_id":"70deb379-c132-4c0a-ba51-7045b714080b"},{"name":"Stores channels list","id":"369d4674-6c11-44d1-ab87-8f215ecb0dc1","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//stores/:storeID/channels","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>storeID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>store_id</code></td>\n<td>Filter by Store Id.</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>Filter by Name.</td>\n</tr>\n<tr>\n<td><code>without_provider</code></td>\n<td>Filter by Without Provider.</td>\n</tr>\n<tr>\n<td><code>stock_sync</code></td>\n<td>Filter by Stock Sync.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>company</code></li>\n<li><code>settings</code></li>\n<li><code>store</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","stores",":storeID","channels"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Store Id.</p>\n","type":"text/plain"},"key":"store_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Name.</p>\n","type":"text/plain"},"key":"name","value":""},{"disabled":true,"description":{"content":"<p>Filter by Without Provider.</p>\n","type":"text/plain"},"key":"without_provider","value":""},{"disabled":true,"description":{"content":"<p>Filter by Stock Sync.</p>\n","type":"text/plain"},"key":"stock_sync","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>company</code> - <code>settings</code> - <code>store</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"558836c1-2065-44b9-8ae7-13172de215d2","type":"any","value":"","key":"storeID"}]}},"response":[],"_postman_id":"369d4674-6c11-44d1-ab87-8f215ecb0dc1"},{"name":"Stores channels create","id":"7b898638-2a2f-4851-9913-995b420d6c4f","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"store_id\": \"{{store_id}}\",\n  \"name\": \"\",\n  \"provider\": \"provider\",\n  \"channel_settings\": [\n    \"\"\n  ],\n  \"interaction_settings\": [\n    \"\"\n  ],\n  \"import_products\": false,\n  \"auto_sync_stock\": false,\n  \"use_channel_names\": false,\n  \"auto_merge_orders\": false,\n  \"is_active\": false,\n  \"file_manager_id\": \"{{file_manager_id}}\",\n  \"primary_order_reference\": \"1\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//stores/:storeID/channels","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>storeID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>store_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>provider</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>channel_settings</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>interaction_settings</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>import_products</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>auto_sync_stock</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>use_channel_names</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>auto_merge_orders</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>is_active</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>file_manager_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>primary_order_reference</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","stores",":storeID","channels"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"cbd341d0-e14d-463a-9a1e-6f2bf728c5f7","type":"any","value":"","key":"storeID"}]}},"response":[],"_postman_id":"7b898638-2a2f-4851-9913-995b420d6c4f"},{"name":"Stores channels show","id":"bcbd59b6-1111-4265-8de4-9a2137adc0fc","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//stores/:storeID/channels/:channelID","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>storeID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>channelID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>company</code></li>\n<li><code>settings</code></li>\n<li><code>store</code></li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","stores",":storeID","channels",":channelID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>company</code> - <code>settings</code> - <code>store</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"99383dd4-32d0-4eb3-ad9c-089b68fb391b","type":"any","value":"","key":"storeID"},{"id":"349e09cb-e2f2-4413-9ecb-9a33caa79e14","type":"any","value":"","key":"channelID"}]}},"response":[],"_postman_id":"bcbd59b6-1111-4265-8de4-9a2137adc0fc"},{"name":"Stores channels update","id":"c59888f3-4bb7-426d-9781-9b5bd446a0c4","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"\",\n  \"channel_settings\": [\n    \"\"\n  ],\n  \"interaction_settings\": [\n    \"\"\n  ],\n  \"import_products\": false,\n  \"auto_sync_stock\": false,\n  \"use_channel_names\": false,\n  \"auto_merge_orders\": false,\n  \"is_active\": false,\n  \"file_manager_id\": \"{{file_manager_id}}\",\n  \"primary_order_reference\": \"1\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//stores/:storeID/channels/:channelID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>storeID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>channelID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>channel_settings</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>interaction_settings</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>import_products</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>auto_sync_stock</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>use_channel_names</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>auto_merge_orders</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>is_active</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>file_manager_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>primary_order_reference</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","stores",":storeID","channels",":channelID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"73d39615-c4e5-45f8-beef-a5e3a1c6b108","type":"any","value":"","key":"storeID"},{"id":"cb0791e2-aba9-4ad9-9b1e-4a2715a6e09a","type":"any","value":"","key":"channelID"}]}},"response":[],"_postman_id":"c59888f3-4bb7-426d-9781-9b5bd446a0c4"},{"name":"Stores channels delete","id":"9472a46a-115d-407e-86c5-6a7c65ae0eaa","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//stores/:storeID/channels/:channelID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>storeID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>channelID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","stores",":storeID","channels",":channelID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"fb0fad03-9ad7-4512-82b5-17e0eb04be22","type":"any","value":"","key":"storeID"},{"id":"b90f4922-bfe9-47f0-8aae-24b5aae14e33","type":"any","value":"","key":"channelID"}]}},"response":[],"_postman_id":"9472a46a-115d-407e-86c5-6a7c65ae0eaa"},{"name":"Stores channels supports","id":"be24f5d2-6edb-4441-89db-858fd51afd22","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//stores/:storeID/channels/supports","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>storeID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","stores",":storeID","channels","supports"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""}],"variable":[{"id":"71b795b5-d125-46ac-94b7-a21d0fd9b1b7","type":"any","value":"","key":"storeID"}]}},"response":[],"_postman_id":"be24f5d2-6edb-4441-89db-858fd51afd22"},{"name":"Stores channels update print template","id":"01af7e42-4e95-4775-8d59-ed5c3d16fe80","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"channels\": [\n    {\n      \"id\": \"{{id}}\",\n      \"invoice_print_template_id\": \"{{invoice_print_template_id}}\",\n      \"packing_slip_print_template_id\": \"{{packing_slip_print_template_id}}\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//stores/:storeID/channels/update-print-template","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>storeID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>channels</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>channels.*.id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>channels.*.invoice_print_template_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>channels.*.packing_slip_print_template_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","stores",":storeID","channels","update-print-template"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"43536a5d-b133-44e4-b9c4-7a5afec6943f","type":"any","value":"","key":"storeID"}]}},"response":[],"_postman_id":"01af7e42-4e95-4775-8d59-ed5c3d16fe80"},{"name":"Stores channels status","id":"30e88cd9-e54d-43cc-b6f1-1398ba2139a1","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"is_active\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//stores/:storeID/channels/:channelID/status","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>storeID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>channelID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>is_active</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","stores",":storeID","channels",":channelID","status"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"95296201-9c97-46e6-9695-23f438b633ea","type":"any","value":"","key":"storeID"},{"id":"fe16cf1d-bd64-46f3-b64c-6d2635b58e5e","type":"any","value":"","key":"channelID"}]}},"response":[],"_postman_id":"30e88cd9-e54d-43cc-b6f1-1398ba2139a1"},{"name":"Stores channels stock sync","id":"73f002e8-e904-4fbd-b005-42eeb4d4351a","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//stores/:storeID/channels/:channelID/stock-sync","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>storeID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>channelID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","stores",":storeID","channels",":channelID","stock-sync"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"df7fabba-b323-4190-bfe8-62150fdde182","type":"any","value":"","key":"storeID"},{"id":"3817e33d-b3b3-43b5-885c-cffcf8515b91","type":"any","value":"","key":"channelID"}]}},"response":[],"_postman_id":"73f002e8-e904-4fbd-b005-42eeb4d4351a"},{"name":"Stores channels inventory sync","id":"0b93cab8-3b74-469b-a945-2f3f5e5da7e7","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//stores/:storeID/channels/:channelID/inventory-sync","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>storeID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>channelID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","stores",":storeID","channels",":channelID","inventory-sync"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"4f06c9ac-22c4-4321-86de-b0666566e6d6","type":"any","value":"","key":"storeID"},{"id":"fcfc7033-7104-45f6-af97-a0e8cab38b1e","type":"any","value":"","key":"channelID"}]}},"response":[],"_postman_id":"0b93cab8-3b74-469b-a945-2f3f5e5da7e7"},{"name":"Stores channel linking list","id":"128ba386-a48b-44e9-b619-5123bca722d6","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//stores/:storeID/channel-linking","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>storeID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","stores",":storeID","channel-linking"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""}],"variable":[{"id":"cf73e91c-b1d7-4b4f-9aee-f1f45d2ce3d6","type":"any","value":"","key":"storeID"}]}},"response":[],"_postman_id":"128ba386-a48b-44e9-b619-5123bca722d6"},{"name":"Stores channel linking settings","id":"1b61bdca-f629-4653-96b3-79b751a46da7","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"auto_link\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//stores/:storeID/channel-linking/settings","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>storeID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>auto_link</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","stores",":storeID","channel-linking","settings"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"85ef26ae-1c85-43ef-ab16-b5f45bf6f282","type":"any","value":"","key":"storeID"}]}},"response":[],"_postman_id":"1b61bdca-f629-4653-96b3-79b751a46da7"},{"name":"Stores channel linking formulas list","id":"33bbaa82-7ac5-4af7-ad2d-2efa5c8db48a","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//stores/:storeID/channel-linking/formulas","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>storeID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>store_id</code></td>\n<td>Filter by Store Id.</td>\n</tr>\n<tr>\n<td><code>channel_id</code></td>\n<td>Filter by Channel Id.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","stores",":storeID","channel-linking","formulas"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Store Id.</p>\n","type":"text/plain"},"key":"store_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Channel Id.</p>\n","type":"text/plain"},"key":"channel_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations vary per endpoint.</p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"dfb730e6-c90b-4fb9-ac72-86ed94e1c764","type":"any","value":"","key":"storeID"}]}},"response":[],"_postman_id":"33bbaa82-7ac5-4af7-ad2d-2efa5c8db48a"},{"name":"Stores channel linking formulas create","id":"f8b1ff0c-6465-4453-a382-17e5e0752f55","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"formula_1\": \"1\",\n  \"formula_2\": \"1\",\n  \"formula_3\": \"1\",\n  \"text\": \"\",\n  \"channel_id\": \"{{channel_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//stores/:storeID/channel-linking/formulas","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>storeID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>formula_1</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>formula_2</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>formula_3</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>text</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>channel_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","stores",":storeID","channel-linking","formulas"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"d0188cb1-c5b3-41e2-ba53-c810fe383995","type":"any","value":"","key":"storeID"}]}},"response":[],"_postman_id":"f8b1ff0c-6465-4453-a382-17e5e0752f55"},{"name":"Stores channel linking formulas bulk store","id":"5f020eac-6cb4-4135-955a-bdd910ddc8ff","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"formulas\": [\n    \"\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//stores/:storeID/channel-linking/formulas/bulk-create","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>storeID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>formulas</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","stores",":storeID","channel-linking","formulas","bulk-create"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"9e2b39d9-fb0f-44b2-ad06-5c4bbda8aa52","type":"any","value":"","key":"storeID"}]}},"response":[],"_postman_id":"5f020eac-6cb4-4135-955a-bdd910ddc8ff"},{"name":"Stores channel linking formulas update","id":"297b1043-69cd-4b08-bd61-e2b7e505ec44","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"formula_id\": \"{{formula_id}}\",\n  \"formula_1\": \"1\",\n  \"formula_2\": \"1\",\n  \"formula_3\": \"1\",\n  \"text\": \"\",\n  \"channel_id\": \"{{channel_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//stores/:storeID/channel-linking/formulas/:formulaID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>storeID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>formulaID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>formula_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>formula_1</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>formula_2</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>formula_3</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>text</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>channel_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","stores",":storeID","channel-linking","formulas",":formulaID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"fffa1d18-a61e-4df5-b603-9e1d833be053","type":"any","value":"","key":"storeID"},{"id":"d1b9b60c-ef72-4fc7-a363-853701d0dc6e","type":"any","value":"","key":"formulaID"}]}},"response":[],"_postman_id":"297b1043-69cd-4b08-bd61-e2b7e505ec44"},{"name":"Stores channel linking formulas delete","id":"b69effb1-d691-4077-b351-37a8aec21e42","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//stores/:storeID/channel-linking/formulas/:formulaID?formula_id=","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>storeID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>formulaID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>formula_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","stores",":storeID","channel-linking","formulas",":formulaID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"formula_id","value":""}],"variable":[{"id":"63e3c413-57bf-4996-8e97-9c1924aa9220","type":"any","value":"","key":"storeID"},{"id":"a69ad333-96e3-4c77-b87d-db7640aa5887","type":"any","value":"","key":"formulaID"}]}},"response":[],"_postman_id":"b69effb1-d691-4077-b351-37a8aec21e42"},{"name":"Stores channel linking inventories list","id":"ae4635b6-7972-42b3-87e7-a040cc4bd11e","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//stores/:storeID/channel-linking/inventories","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>storeID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>query</code></td>\n<td>Filter by Query.</td>\n</tr>\n<tr>\n<td><code>store_id</code></td>\n<td>Filter by Store Id.</td>\n</tr>\n<tr>\n<td><code>channel_id</code></td>\n<td>Filter by Channel Id.</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>Filter by Type.</td>\n</tr>\n<tr>\n<td><code>inventory_id</code></td>\n<td>Filter by Inventory Id.</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>Filter by Name.</td>\n</tr>\n<tr>\n<td><code>code</code></td>\n<td>Filter by Code.</td>\n</tr>\n<tr>\n<td><code>quantity_min</code></td>\n<td>Filter by Quantity Min.</td>\n</tr>\n<tr>\n<td><code>quantity_max</code></td>\n<td>Filter by Quantity Max.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","stores",":storeID","channel-linking","inventories"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Query.</p>\n","type":"text/plain"},"key":"query","value":""},{"disabled":true,"description":{"content":"<p>Filter by Store Id.</p>\n","type":"text/plain"},"key":"store_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Channel Id.</p>\n","type":"text/plain"},"key":"channel_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Type.</p>\n","type":"text/plain"},"key":"type","value":""},{"disabled":true,"description":{"content":"<p>Filter by Inventory Id.</p>\n","type":"text/plain"},"key":"inventory_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Name.</p>\n","type":"text/plain"},"key":"name","value":""},{"disabled":true,"description":{"content":"<p>Filter by Code.</p>\n","type":"text/plain"},"key":"code","value":""},{"disabled":true,"description":{"content":"<p>Filter by Quantity Min.</p>\n","type":"text/plain"},"key":"quantity_min","value":""},{"disabled":true,"description":{"content":"<p>Filter by Quantity Max.</p>\n","type":"text/plain"},"key":"quantity_max","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations vary per endpoint.</p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"df1710a2-7950-493d-a7b0-6230334c945b","type":"any","value":"","key":"storeID"}]}},"response":[],"_postman_id":"ae4635b6-7972-42b3-87e7-a040cc4bd11e"},{"name":"Stores channel linking inventories bulk attach","id":"47dd09f4-4256-4e38-9fe8-ede1cb5f891c","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"products\": [\n    {\n      \"channel_product_id\": \"{{channel_product_id}}\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//stores/:storeID/channel-linking/inventories/bulk-attach","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>storeID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>products</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>products.*.channel_product_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","stores",":storeID","channel-linking","inventories","bulk-attach"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"2ce286b6-df0f-4de1-8424-7aadd5170b29","type":"any","value":"","key":"storeID"}]}},"response":[],"_postman_id":"47dd09f4-4256-4e38-9fe8-ede1cb5f891c"},{"name":"Stores channel linking inventories bulk detach","id":"30e55352-880e-4241-987e-1a00e2b3a8f6","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"products\": [\n    {\n      \"channel_product_id\": \"{{channel_product_id}}\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//stores/:storeID/channel-linking/inventories/bulk-detach","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>storeID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>products</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>products.*.channel_product_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","stores",":storeID","channel-linking","inventories","bulk-detach"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"aa3f71ca-d20b-4b24-9f31-fca0a0a2eeac","type":"any","value":"","key":"storeID"}]}},"response":[],"_postman_id":"30e55352-880e-4241-987e-1a00e2b3a8f6"},{"name":"Stores channel linking inventories attach","id":"ea621c6e-0985-4640-b5cd-ae6cf308bd79","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"channel_product_id\": \"{{channel_product_id}}\",\n  \"inventory_id\": \"{{inventory_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//stores/:storeID/channel-linking/inventories/attach","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>storeID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>channel_product_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventory_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","stores",":storeID","channel-linking","inventories","attach"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"b05c3897-f85c-4a21-9bad-b630487f62c0","type":"any","value":"","key":"storeID"}]}},"response":[],"_postman_id":"ea621c6e-0985-4640-b5cd-ae6cf308bd79"},{"name":"Stores channel linking inventories detach","id":"27db47ea-3780-459c-8fd2-9904fb9b9c48","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"channel_product_id\": \"{{channel_product_id}}\",\n  \"inventory_id\": \"{{inventory_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//stores/:storeID/channel-linking/inventories/detach","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>storeID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>channel_product_id</code></td>\n<td>integer</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventory_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","stores",":storeID","channel-linking","inventories","detach"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"d8966dde-01e3-4194-af88-dd55987a94c4","type":"any","value":"","key":"storeID"}]}},"response":[],"_postman_id":"27db47ea-3780-459c-8fd2-9904fb9b9c48"},{"name":"Stores channel linking inventories update sync stock","id":"6a7c7eba-98df-43aa-8a77-9a8f805f804b","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"channel_product_id\": \"{{channel_product_id}}\",\n  \"inventory_id\": \"{{inventory_id}}\",\n  \"auto_sync_stock\": false,\n  \"inbound_po_enabled\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//stores/:storeID/channel-linking/:channelProductID/inventories/:inventoryID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>storeID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>channelProductID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>inventoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>channel_product_id</code></td>\n<td>integer</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventory_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>auto_sync_stock</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inbound_po_enabled</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","stores",":storeID","channel-linking",":channelProductID","inventories",":inventoryID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"069e585f-4610-449a-bd57-bfe780587062","type":"any","value":"","key":"storeID"},{"id":"99efa2c2-d0d1-4e1f-bf4c-c73485d544e0","type":"any","value":"","key":"channelProductID"},{"id":"c3e8504f-9e9a-4c8a-998c-6c827a1c7043","type":"any","value":"","key":"inventoryID"}]}},"response":[],"_postman_id":"6a7c7eba-98df-43aa-8a77-9a8f805f804b"},{"name":"Stores list","id":"a90d5ca1-0159-47d2-a34f-53cad6b8d220","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//stores","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>Filter by Name.</td>\n</tr>\n<tr>\n<td><code>store_and_channel</code></td>\n<td>Filter by Store And Channel.</td>\n</tr>\n<tr>\n<td><code>channel_name</code></td>\n<td>Filter by Channel Name.</td>\n</tr>\n<tr>\n<td><code>channel_provider</code></td>\n<td>Filter by Channel Provider.</td>\n</tr>\n<tr>\n<td><code>without_provider</code></td>\n<td>Filter by Without Provider.</td>\n</tr>\n<tr>\n<td><code>channel_is_active</code></td>\n<td>Filter by Channel Is Active.</td>\n</tr>\n<tr>\n<td><code>stock_sync</code></td>\n<td>Filter by Stock Sync.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>company</code></li>\n<li><code>channels</code></li>\n<li><code>channels.settings</code></li>\n<li><code>meta</code></li>\n<li><code>financialDetail</code></li>\n<li><code>addresses.address</code></li>\n<li><code>addresses.address.country</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","stores"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Name.</p>\n","type":"text/plain"},"key":"name","value":""},{"disabled":true,"description":{"content":"<p>Filter by Store And Channel.</p>\n","type":"text/plain"},"key":"store_and_channel","value":""},{"disabled":true,"description":{"content":"<p>Filter by Channel Name.</p>\n","type":"text/plain"},"key":"channel_name","value":""},{"disabled":true,"description":{"content":"<p>Filter by Channel Provider.</p>\n","type":"text/plain"},"key":"channel_provider","value":""},{"disabled":true,"description":{"content":"<p>Filter by Without Provider.</p>\n","type":"text/plain"},"key":"without_provider","value":""},{"disabled":true,"description":{"content":"<p>Filter by Channel Is Active.</p>\n","type":"text/plain"},"key":"channel_is_active","value":""},{"disabled":true,"description":{"content":"<p>Filter by Stock Sync.</p>\n","type":"text/plain"},"key":"stock_sync","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>company</code> - <code>channels</code> - <code>channels.settings</code> - <code>meta</code> - <code>financialDetail</code> - <code>addresses.address</code> - <code>addresses.address.country</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[]}},"response":[],"_postman_id":"a90d5ca1-0159-47d2-a34f-53cad6b8d220"},{"name":"Stores create","id":"39669ea6-b8d4-48ad-bd87-74ca7d1de0a9","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"name\",\n  \"financial_details\": {\n    \"vat_number\": \"\",\n    \"eori\": \"\",\n    \"ioss\": \"\",\n    \"customs_code\": \"\",\n    \"vat_rate\": 0\n  },\n  \"address\": {\n    \"company_name\": \"\",\n    \"address_line_1\": \"\",\n    \"address_line_2\": \"\",\n    \"address_line_3\": \"\",\n    \"city\": \"\",\n    \"county\": \"\",\n    \"postcode\": \"\",\n    \"country_id\": \"{{country_id}}\",\n    \"phone\": \"\",\n    \"email\": \"user@example.com\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//stores","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>financial_details</code></td>\n<td>object</td>\n<td>no</td>\n<td>Financial Details (optional)</td>\n</tr>\n<tr>\n<td><code>financial_details.vat_number</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>financial_details.eori</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>financial_details.ioss</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>financial_details.customs_code</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>financial_details.vat_rate</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address</code></td>\n<td>object</td>\n<td>no</td>\n<td>Address (optional)</td>\n</tr>\n<tr>\n<td><code>address.company_name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address.address_line_1</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address.address_line_2</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address.address_line_3</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address.city</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address.county</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address.postcode</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address.country_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address.phone</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address.email</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","stores"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"39669ea6-b8d4-48ad-bd87-74ca7d1de0a9"},{"name":"Stores show","id":"554bce51-bef5-4cc5-a7c1-a2bdf7241090","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//stores/:storeID","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>storeID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>company</code></li>\n<li><code>channels</code></li>\n<li><code>channels.settings</code></li>\n<li><code>meta</code></li>\n<li><code>financialDetail</code></li>\n<li><code>addresses.address</code></li>\n<li><code>addresses.address.country</code></li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","stores",":storeID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>company</code> - <code>channels</code> - <code>channels.settings</code> - <code>meta</code> - <code>financialDetail</code> - <code>addresses.address</code> - <code>addresses.address.country</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"07515353-9724-45f6-9c02-1a1d3aba304a","type":"any","value":"","key":"storeID"}]}},"response":[],"_postman_id":"554bce51-bef5-4cc5-a7c1-a2bdf7241090"},{"name":"Stores update","id":"33d1cc55-2b0a-4c2b-b8d2-3cf68bbfb37e","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"\",\n  \"file_manager_id\": \"{{file_manager_id}}\",\n  \"brand_image_file_manager_id\": \"{{brand_image_file_manager_id}}\",\n  \"financial_details\": {\n    \"vat_number\": \"\",\n    \"eori\": \"\",\n    \"ioss\": \"\",\n    \"customs_code\": \"\",\n    \"vat_rate\": 0\n  },\n  \"address\": {\n    \"company_name\": \"\",\n    \"address_line_1\": \"\",\n    \"address_line_2\": \"\",\n    \"address_line_3\": \"\",\n    \"city\": \"\",\n    \"county\": \"\",\n    \"postcode\": \"\",\n    \"country_id\": \"{{country_id}}\",\n    \"phone\": \"\",\n    \"email\": \"user@example.com\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//stores/:storeID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>storeID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>file_manager_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>brand_image_file_manager_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>financial_details</code></td>\n<td>object</td>\n<td>no</td>\n<td>Financial Details (optional)</td>\n</tr>\n<tr>\n<td><code>financial_details.vat_number</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>financial_details.eori</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>financial_details.ioss</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>financial_details.customs_code</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>financial_details.vat_rate</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address</code></td>\n<td>object</td>\n<td>no</td>\n<td>Address (optional)</td>\n</tr>\n<tr>\n<td><code>address.company_name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address.address_line_1</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address.address_line_2</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address.address_line_3</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address.city</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address.county</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address.postcode</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address.country_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address.phone</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address.email</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","stores",":storeID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"503c49bc-2297-49f2-ad6e-469de5d04c6e","type":"any","value":"","key":"storeID"}]}},"response":[],"_postman_id":"33d1cc55-2b0a-4c2b-b8d2-3cf68bbfb37e"},{"name":"Stores delete","id":"d0c92d3d-ee54-4664-b959-3a16abdf49c6","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//stores/:storeID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>storeID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","stores",":storeID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"c6fd5873-dcf0-4493-8ab9-e6f71e390a36","type":"any","value":"","key":"storeID"}]}},"response":[],"_postman_id":"d0c92d3d-ee54-4664-b959-3a16abdf49c6"},{"name":"Stores addresses show","id":"71614df9-7c6d-4a9b-a661-04391446ace2","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//stores/:storeID/addresses","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>storeID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","stores",":storeID","addresses"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""}],"variable":[{"id":"56023914-d52b-48e1-b088-c3f8e5ba5b90","type":"any","value":"","key":"storeID"}]}},"response":[],"_postman_id":"71614df9-7c6d-4a9b-a661-04391446ace2"},{"name":"Stores addresses update","id":"04c6149d-8383-4164-9d27-d0e51b70cf64","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_name\": \"\",\n  \"address_line_1\": \"\",\n  \"address_line_2\": \"\",\n  \"city\": \"\",\n  \"country_id\": \"{{country_id}}\",\n  \"county\": \"\",\n  \"postcode\": \"\",\n  \"override_defaults\": false,\n  \"types\": [\n    \"0\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//stores/:storeID/addresses","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>storeID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address_line_1</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address_line_2</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>city</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>country_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>county</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>postcode</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>override_defaults</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>types</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","stores",":storeID","addresses"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"962b02bd-9f0d-44a0-a1fd-121ed92c42e4","type":"any","value":"","key":"storeID"}]}},"response":[],"_postman_id":"04c6149d-8383-4164-9d27-d0e51b70cf64"},{"name":"Stores addresses delete","id":"efc1ef37-f2be-4e3b-98c7-a326006f3af8","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//stores/:storeID/addresses/:type?type=","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>storeID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>type</code></td>\n<td>Options: <code>0</code>, <code>1</code>, <code>2</code></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","stores",":storeID","addresses",":type"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"type","value":""}],"variable":[{"id":"df3689b6-83e6-49cb-8367-e6b79f32af28","type":"any","value":"","key":"storeID"},{"id":"f30b7696-b200-41d7-886c-6b981ea3f09f","type":"any","value":"","key":"type"}]}},"response":[],"_postman_id":"efc1ef37-f2be-4e3b-98c7-a326006f3af8"},{"name":"Stores financial details show","id":"3072230d-a968-42bd-9ed2-381dc6a94118","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//stores/:storeID/financial-details","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>storeID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","stores",":storeID","financial-details"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""}],"variable":[{"id":"79c4f07a-b718-402a-8db0-026261674c46","type":"any","value":"","key":"storeID"}]}},"response":[],"_postman_id":"3072230d-a968-42bd-9ed2-381dc6a94118"},{"name":"Stores financial details update","id":"898d5254-37a1-4bf6-8268-ad5ac1ac35fb","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"\",\n  \"contact_firstname\": \"\",\n  \"contact_lastname\": \"\",\n  \"contact_email\": \"user@example.com\",\n  \"contact_phone\": \"\",\n  \"number\": \"\",\n  \"vat_number\": \"\",\n  \"ioss\": \"\",\n  \"eori\": \"\",\n  \"override_company_details\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//stores/:storeID/financial-details","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>storeID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>contact_firstname</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>contact_lastname</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>contact_email</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>contact_phone</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>number</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>vat_number</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>ioss</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>eori</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>override_company_details</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","stores",":storeID","financial-details"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"5fcb568f-27d8-45c0-938b-d305fb53871e","type":"any","value":"","key":"storeID"}]}},"response":[],"_postman_id":"898d5254-37a1-4bf6-8268-ad5ac1ac35fb"},{"name":"Stores image show","id":"c4088be8-8ca7-4675-a320-66aae06a2a6a","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//stores/:storeID/image","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>storeID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","stores",":storeID","image"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""}],"variable":[{"id":"7cbcb61e-8004-413a-826a-37a24c15d9fc","type":"any","value":"","key":"storeID"}]}},"response":[],"_postman_id":"c4088be8-8ca7-4675-a320-66aae06a2a6a"},{"name":"Stores image create","id":"8dfa51c1-f34f-488a-a872-6f1dd4b54308","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"file_manager_id\": \"{{file_manager_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//stores/:storeID/store-image","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>storeID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>file_manager_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","stores",":storeID","store-image"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"0d4948e5-f143-4096-b24a-8679da2b5afc","type":"any","value":"","key":"storeID"}]}},"response":[],"_postman_id":"8dfa51c1-f34f-488a-a872-6f1dd4b54308"},{"name":"Stores image delete","id":"7a505637-bacb-4f60-84eb-3f62aa8509e1","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//stores/:storeID/delete-image","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>storeID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","stores",":storeID","delete-image"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"368a2d0a-2b32-41c6-8466-00d424c07550","type":"any","value":"","key":"storeID"}]}},"response":[],"_postman_id":"7a505637-bacb-4f60-84eb-3f62aa8509e1"}],"id":"8b77a06f-3236-44fc-96da-4909b18fb210","description":"<p><strong>Stores</strong> — 39 endpoints.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"8b77a06f-3236-44fc-96da-4909b18fb210","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Suppliers","item":[{"name":"Suppliers bulk create","id":"65339b9b-08a5-4865-a7c4-6a229c57b2b4","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//suppliers/bulk-create","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","suppliers","bulk-create"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"65339b9b-08a5-4865-a7c4-6a229c57b2b4"},{"name":"Suppliers bulk update","id":"aefbbf98-c618-47d1-b38f-1c8d87c1fbcb","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"tags\": [\n    \"tag\"\n  ],\n  \"details\": {\n    \"registration_number\": \"\",\n    \"tax_id\": \"{{tax_id}}\",\n    \"eori\": \"\"\n  },\n  \"suppliers\": [\n    {\n      \"supplier_id\": \"{{supplier_id}}\",\n      \"email\": \"user@example.com\",\n      \"phone\": \"\",\n      \"url\": \"\",\n      \"registration_number\": \"\",\n      \"contacts\": [\n        \"\"\n      ]\n    }\n  ],\n  \"contacts\": [\n    {\n      \"name\": \"name\",\n      \"surname\": \"\",\n      \"email\": \"user@example.com\",\n      \"phone\": \"\",\n      \"title\": \"\"\n    }\n  ],\n  \"addresses\": [\n    {\n      \"company_name\": \"\",\n      \"address_line_1\": \"address_line_1\",\n      \"address_line_2\": \"\",\n      \"address_line_3\": \"\",\n      \"city\": \"city\",\n      \"county\": \"\",\n      \"country_id\": \"{{country_id}}\",\n      \"postcode\": \"\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//suppliers/bulk-update","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tags</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>details</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>details.registration_number</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>details.tax_id</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>details.eori</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>suppliers</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>suppliers.*.supplier_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>suppliers.*.email</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>suppliers.*.phone</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>suppliers.*.url</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>suppliers.*.registration_number</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>suppliers.*.contacts</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>contacts</code></td>\n<td>array</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>contacts.*.name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>contacts.*.surname</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>contacts.*.email</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>contacts.*.phone</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>contacts.*.title</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.company_name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.address_line_1</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.address_line_2</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.address_line_3</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.city</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.county</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.country_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.postcode</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","suppliers","bulk-update"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"aefbbf98-c618-47d1-b38f-1c8d87c1fbcb"},{"name":"Suppliers bulk archive","id":"d06f7a43-7ce7-4cf0-a766-24aa13b39cc6","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"suppliers\": [\n    0\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//suppliers/bulk-archive","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>suppliers</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","suppliers","bulk-archive"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"d06f7a43-7ce7-4cf0-a766-24aa13b39cc6"},{"name":"Suppliers bulk restore","id":"6c011ef3-1a12-4262-b553-71be5b133570","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"suppliers\": [\n    0\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//suppliers/bulk-restore","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>suppliers</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","suppliers","bulk-restore"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"6c011ef3-1a12-4262-b553-71be5b133570"},{"name":"Suppliers bulk delete","id":"65e1c00f-3224-4da2-9751-d248a40f7733","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"suppliers\": [\n    0\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//suppliers/bulk-delete","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>suppliers</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","suppliers","bulk-delete"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"65e1c00f-3224-4da2-9751-d248a40f7733"},{"name":"Suppliers list","id":"cbf866c6-cf92-4494-ba72-e69a12b979f5","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//suppliers","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>query</code></td>\n<td>Filter by Query.</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>Filter by Name.</td>\n</tr>\n<tr>\n<td><code>archived</code></td>\n<td>Filter by Archived.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>tags</code></td>\n<td>Filter by Tags.</td>\n</tr>\n<tr>\n<td><code>last_ordered_date_from</code></td>\n<td>Filter by Last Ordered Date From.</td>\n</tr>\n<tr>\n<td><code>last_ordered_date_to</code></td>\n<td>Filter by Last Ordered Date To.</td>\n</tr>\n<tr>\n<td><code>linked_products_from</code></td>\n<td>Filter by Linked Products From.</td>\n</tr>\n<tr>\n<td><code>linked_products</code></td>\n<td>Filter by Linked Products.</td>\n</tr>\n<tr>\n<td><code>open_deliveries_from</code></td>\n<td>Filter by Open Deliveries From.</td>\n</tr>\n<tr>\n<td><code>open_deliveries_to</code></td>\n<td>Filter by Open Deliveries To.</td>\n</tr>\n<tr>\n<td><code>open_purchase_order_from</code></td>\n<td>Filter by Open Purchase Order From.</td>\n</tr>\n<tr>\n<td><code>open_purchase_order_to</code></td>\n<td>Filter by Open Purchase Order To.</td>\n</tr>\n<tr>\n<td><code>custom_field_id</code></td>\n<td>Filter by Custom Field Id.</td>\n</tr>\n<tr>\n<td><code>custom_field_value</code></td>\n<td>Filter by Custom Field Value.</td>\n</tr>\n<tr>\n<td><code>nested_custom_field_excluded</code></td>\n<td>Filter by Nested Custom Field Excluded.</td>\n</tr>\n<tr>\n<td><code>custom_fields</code></td>\n<td>Filter by Custom Fields.</td>\n</tr>\n<tr>\n<td><code>postcode</code></td>\n<td>Filter by Postcode.</td>\n</tr>\n<tr>\n<td><code>import_ids</code></td>\n<td>Filter by Import Ids.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>supplierContacts</code></li>\n<li><code>supplierContacts.contact</code></li>\n<li><code>supplierAddresses</code></li>\n<li><code>supplierAddresses.address</code></li>\n<li><code>supplierAddresses.address.country</code></li>\n<li><code>contact</code></li>\n<li><code>contact.currency</code></li>\n<li><code>tags</code></li>\n<li><code>tags.tag</code></li>\n<li><code>notes</code></li>\n<li><code>statistic</code></li>\n<li><code>purchasingSettings</code></li>\n<li><code>fileManager</code></li>\n<li><code>archivedBy</code></li>\n<li><code>purchaseOrders</code></li>\n<li><code>purchaseOrders.items</code></li>\n<li><code>purchaseOrders.items.inventory</code></li>\n<li><code>purchaseOrders.items.inventory.meta</code></li>\n<li><code>registrationDetails</code></li>\n<li><code>deliveries</code></li>\n<li><code>deliveries.items</code></li>\n<li><code>deliveries.items.inventory</code></li>\n<li><code>deliveries.items.inventory.meta</code></li>\n<li><code>linkedInventories</code></li>\n<li><code>customFields</code></li>\n<li><code>customFields.customFieldOption</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","suppliers"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Query.</p>\n","type":"text/plain"},"key":"query","value":""},{"disabled":true,"description":{"content":"<p>Filter by Name.</p>\n","type":"text/plain"},"key":"name","value":""},{"disabled":true,"description":{"content":"<p>Filter by Archived.</p>\n","type":"text/plain"},"key":"archived","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Tags.</p>\n","type":"text/plain"},"key":"tags","value":""},{"disabled":true,"description":{"content":"<p>Filter by Last Ordered Date From.</p>\n","type":"text/plain"},"key":"last_ordered_date_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Last Ordered Date To.</p>\n","type":"text/plain"},"key":"last_ordered_date_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Linked Products From.</p>\n","type":"text/plain"},"key":"linked_products_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Linked Products.</p>\n","type":"text/plain"},"key":"linked_products","value":""},{"disabled":true,"description":{"content":"<p>Filter by Open Deliveries From.</p>\n","type":"text/plain"},"key":"open_deliveries_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Open Deliveries To.</p>\n","type":"text/plain"},"key":"open_deliveries_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Open Purchase Order From.</p>\n","type":"text/plain"},"key":"open_purchase_order_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Open Purchase Order To.</p>\n","type":"text/plain"},"key":"open_purchase_order_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Custom Field Id.</p>\n","type":"text/plain"},"key":"custom_field_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Custom Field Value.</p>\n","type":"text/plain"},"key":"custom_field_value","value":""},{"disabled":true,"description":{"content":"<p>Filter by Nested Custom Field Excluded.</p>\n","type":"text/plain"},"key":"nested_custom_field_excluded","value":""},{"disabled":true,"description":{"content":"<p>Filter by Custom Fields.</p>\n","type":"text/plain"},"key":"custom_fields","value":""},{"disabled":true,"description":{"content":"<p>Filter by Postcode.</p>\n","type":"text/plain"},"key":"postcode","value":""},{"disabled":true,"description":{"content":"<p>Filter by Import Ids.</p>\n","type":"text/plain"},"key":"import_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>supplierContacts</code> - <code>supplierContacts.contact</code> - <code>supplierAddresses</code> - <code>supplierAddresses.address</code> - <code>supplierAddresses.address.country</code> - <code>contact</code> - <code>contact.currency</code> - <code>tags</code> - <code>tags.tag</code> - <code>notes</code> - <code>statistic</code> - <code>purchasingSettings</code> - <code>fileManager</code> - <code>archivedBy</code> - <code>purchaseOrders</code> - <code>purchaseOrders.items</code> - <code>purchaseOrders.items.inventory</code> - <code>purchaseOrders.items.inventory.meta</code> - <code>registrationDetails</code> - <code>deliveries</code> - <code>deliveries.items</code> - <code>deliveries.items.inventory</code> - <code>deliveries.items.inventory.meta</code> - <code>linkedInventories</code> - <code>customFields</code> - <code>customFields.customFieldOption</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[]}},"response":[],"_postman_id":"cbf866c6-cf92-4494-ba72-e69a12b979f5"},{"name":"Suppliers create","id":"cb0c53dd-da91-4940-bf08-90524d5068ac","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"name\": \"name\",\n  \"email\": \"user@example.com\",\n  \"phone\": \"\",\n  \"url\": \"\",\n  \"file_manager_id\": \"{{file_manager_id}}\",\n  \"registration_number\": \"\",\n  \"tags\": [\n    \"tag\"\n  ],\n  \"settings\": {\n    \"currency_id\": \"{{currency_id}}\",\n    \"lead_time\": 1,\n    \"lead_time_type\": 1,\n    \"minimum_order_value\": 0,\n    \"default_delivery_cost\": 0,\n    \"payment_terms\": 0\n  },\n  \"details\": {\n    \"registration_number\": \"\",\n    \"tax_id\": \"{{tax_id}}\",\n    \"eori\": \"\"\n  },\n  \"contacts\": [\n    {\n      \"name\": \"name\",\n      \"surname\": \"\",\n      \"email\": \"user@example.com\",\n      \"phone\": \"\",\n      \"title\": \"\"\n    }\n  ],\n  \"addresses\": [\n    {\n      \"company_name\": \"\",\n      \"address_line_1\": \"address_line_1\",\n      \"address_line_2\": \"\",\n      \"address_line_3\": \"\",\n      \"city\": \"city\",\n      \"county\": \"\",\n      \"country_id\": \"{{country_id}}\",\n      \"postcode\": \"\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//suppliers","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>email</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>phone</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>url</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>file_manager_id</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>registration_number</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tags</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>settings</code></td>\n<td>object</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>settings.currency_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>settings.lead_time</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>settings.lead_time_type</code></td>\n<td>integer</td>\n<td>no</td>\n<td>Allowed: <code>1</code></td>\n</tr>\n<tr>\n<td><code>settings.minimum_order_value</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>settings.default_delivery_cost</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>settings.payment_terms</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>details</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>details.registration_number</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>details.tax_id</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>details.eori</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>contacts</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>contacts.*.name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>contacts.*.surname</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>contacts.*.email</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>contacts.*.phone</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>contacts.*.title</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.company_name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.address_line_1</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.address_line_2</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.address_line_3</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.city</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.county</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.country_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.postcode</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","suppliers"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"cb0c53dd-da91-4940-bf08-90524d5068ac"},{"name":"Suppliers show","id":"176bec29-2db6-4c18-a17f-40ff080d22e3","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//suppliers/:supplierID","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>supplierID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>supplierContacts</code></li>\n<li><code>supplierContacts.contact</code></li>\n<li><code>supplierAddresses</code></li>\n<li><code>supplierAddresses.address</code></li>\n<li><code>supplierAddresses.address.country</code></li>\n<li><code>contact</code></li>\n<li><code>contact.currency</code></li>\n<li><code>tags</code></li>\n<li><code>tags.tag</code></li>\n<li><code>notes</code></li>\n<li><code>statistic</code></li>\n<li><code>purchasingSettings</code></li>\n<li><code>fileManager</code></li>\n<li><code>archivedBy</code></li>\n<li><code>purchaseOrders</code></li>\n<li><code>purchaseOrders.items</code></li>\n<li><code>purchaseOrders.items.inventory</code></li>\n<li><code>purchaseOrders.items.inventory.meta</code></li>\n<li><code>registrationDetails</code></li>\n<li><code>deliveries</code></li>\n<li><code>deliveries.items</code></li>\n<li><code>deliveries.items.inventory</code></li>\n<li><code>deliveries.items.inventory.meta</code></li>\n<li><code>linkedInventories</code></li>\n<li><code>customFields</code></li>\n<li><code>customFields.customFieldOption</code></li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","suppliers",":supplierID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>supplierContacts</code> - <code>supplierContacts.contact</code> - <code>supplierAddresses</code> - <code>supplierAddresses.address</code> - <code>supplierAddresses.address.country</code> - <code>contact</code> - <code>contact.currency</code> - <code>tags</code> - <code>tags.tag</code> - <code>notes</code> - <code>statistic</code> - <code>purchasingSettings</code> - <code>fileManager</code> - <code>archivedBy</code> - <code>purchaseOrders</code> - <code>purchaseOrders.items</code> - <code>purchaseOrders.items.inventory</code> - <code>purchaseOrders.items.inventory.meta</code> - <code>registrationDetails</code> - <code>deliveries</code> - <code>deliveries.items</code> - <code>deliveries.items.inventory</code> - <code>deliveries.items.inventory.meta</code> - <code>linkedInventories</code> - <code>customFields</code> - <code>customFields.customFieldOption</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"e122d3b5-07c1-45db-9294-fb23e32e670d","type":"any","value":"","key":"supplierID"}]}},"response":[],"_postman_id":"176bec29-2db6-4c18-a17f-40ff080d22e3"},{"name":"Suppliers update","id":"c3b9f5dc-b25a-4fc0-aad2-774fd7e3fa44","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"supplier_id\": \"{{supplier_id}}\",\n  \"name\": \"name\",\n  \"email\": \"user@example.com\",\n  \"phone\": \"\",\n  \"url\": \"\",\n  \"registration_number\": \"\",\n  \"tags\": [\n    \"tag\"\n  ],\n  \"settings\": {\n    \"currency_id\": \"{{currency_id}}\",\n    \"lead_time\": 1,\n    \"lead_time_type\": 1,\n    \"minimum_order_value\": 0,\n    \"default_delivery_cost\": 0,\n    \"payment_terms\": 0\n  },\n  \"details\": {\n    \"registration_number\": \"\",\n    \"tax_id\": \"{{tax_id}}\",\n    \"eori\": \"\"\n  },\n  \"contacts\": [\n    {\n      \"id\": null,\n      \"name\": \"name\",\n      \"surname\": \"\",\n      \"email\": \"user@example.com\",\n      \"phone\": \"\",\n      \"title\": \"\"\n    }\n  ],\n  \"addresses\": [\n    {\n      \"id\": null,\n      \"company_name\": \"\",\n      \"address_line_1\": \"address_line_1\",\n      \"address_line_2\": \"\",\n      \"address_line_3\": \"\",\n      \"city\": \"city\",\n      \"county\": \"\",\n      \"country_id\": \"{{country_id}}\",\n      \"postcode\": \"\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//suppliers/:supplierID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>supplierID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>supplier_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>email</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>phone</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>url</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>registration_number</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tags</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>settings</code></td>\n<td>object</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>settings.currency_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>settings.lead_time</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>settings.lead_time_type</code></td>\n<td>integer</td>\n<td>no</td>\n<td>Allowed: <code>1</code></td>\n</tr>\n<tr>\n<td><code>settings.minimum_order_value</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>settings.default_delivery_cost</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>settings.payment_terms</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>details</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>details.registration_number</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>details.tax_id</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>details.eori</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>contacts</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>contacts.*.id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>contacts.*.name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>contacts.*.surname</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>contacts.*.email</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>contacts.*.phone</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>contacts.*.title</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.company_name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.address_line_1</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.address_line_2</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.address_line_3</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.city</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.county</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.country_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>addresses.*.postcode</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","suppliers",":supplierID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"933f5b30-c47f-45b3-9b68-a922e3985e21","type":"any","value":"","key":"supplierID"}]}},"response":[],"_postman_id":"c3b9f5dc-b25a-4fc0-aad2-774fd7e3fa44"},{"name":"Suppliers delete","id":"4c4a2e63-2093-4fbd-ae25-90b2b5a9af5c","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//suppliers/:supplierID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>supplierID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","suppliers",":supplierID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"484f1272-1a9d-483d-ab23-c8aa9b9603e0","type":"any","value":"","key":"supplierID"}]}},"response":[],"_postman_id":"4c4a2e63-2093-4fbd-ae25-90b2b5a9af5c"},{"name":"Suppliers archive","id":"025b9334-d609-4b8f-bb15-73a80ee58c3f","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//suppliers/:supplierID/archive","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>supplierID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","suppliers",":supplierID","archive"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"fefed667-1e2c-4995-a3f1-18749163c952","type":"any","value":"","key":"supplierID"}]}},"response":[],"_postman_id":"025b9334-d609-4b8f-bb15-73a80ee58c3f"},{"name":"Suppliers restore","id":"e3f22490-65ab-49ee-8cdb-26fbd5d5aaba","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//suppliers/:supplierID/restore","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>supplierID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","suppliers",":supplierID","restore"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"f7b63291-2d85-4bd9-ac60-7f15a93fb8ba","type":"any","value":"","key":"supplierID"}]}},"response":[],"_postman_id":"e3f22490-65ab-49ee-8cdb-26fbd5d5aaba"},{"name":"Suppliers suppliers for purchase order","id":"04c94f3a-5607-4e2b-bbcf-2d6bf2d3a108","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//suppliers/suppliers-for-purchase-order","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","suppliers","suppliers-for-purchase-order"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"description":{"content":"<p>NOTE: filters are FLAT query params named after the filter method (e.g. ?ids=1,2&amp;store_id=5), resolved by App\\Filters\\QueryFilters against top-level request keys — there is NO nested filter[...] contract at runtime, so none is declared/documented here.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"key":"sort_direction","value":""},{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"key":"page","value":""},{"disabled":true,"key":"per_page","value":""}],"variable":[]}},"response":[],"_postman_id":"04c94f3a-5607-4e2b-bbcf-2d6bf2d3a108"},{"name":"Suppliers unarchive","id":"57b70e5a-1a22-497e-8414-15d0d6eebec0","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"supplier_id\": \"{{supplier_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//suppliers/:supplierID/unarchive","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>supplierID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>supplier_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","suppliers",":supplierID","unarchive"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"08759783-d1da-4e11-90d1-dafab312df83","type":"any","value":"","key":"supplierID"}]}},"response":[],"_postman_id":"57b70e5a-1a22-497e-8414-15d0d6eebec0"},{"name":"Suppliers update purchasing setting","id":"fbf9efda-9591-46c9-bea0-81bf20f93339","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"currency_id\": \"{{currency_id}}\",\n  \"supplier_id\": \"{{supplier_id}}\",\n  \"lead_time\": 1,\n  \"lead_time_type\": 1,\n  \"minimum_order_value\": 0,\n  \"default_delivery_cost\": 0,\n  \"payment_terms\": 0\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//suppliers/:supplierID/update-purchasing-setting","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>supplierID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>currency_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>supplier_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>lead_time</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>lead_time_type</code></td>\n<td>integer</td>\n<td>no</td>\n<td>Unit of <code>lead_time</code>; required when <code>lead_time</code> has a value. Only <code>1</code> (day) is accepted. Allowed: <code>1</code></td>\n</tr>\n<tr>\n<td><code>minimum_order_value</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>default_delivery_cost</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>payment_terms</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","suppliers",":supplierID","update-purchasing-setting"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"2d0d97ba-4c6d-4cd1-a2bd-feb335a7231a","type":"any","value":"","key":"supplierID"}]}},"response":[],"_postman_id":"fbf9efda-9591-46c9-bea0-81bf20f93339"},{"name":"Suppliers update registration details","id":"672f4de3-7aed-4fb8-aa32-329d0c8f20f4","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"supplier_id\": \"{{supplier_id}}\",\n  \"registration_number\": \"\",\n  \"tax_id\": \"{{tax_id}}\",\n  \"eori\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//suppliers/:supplierID/update-registration-details","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>supplierID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>supplier_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>registration_number</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tax_id</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>eori</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","suppliers",":supplierID","update-registration-details"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"e6ba7e56-4f3d-4eb4-ad4c-661e5107239b","type":"any","value":"","key":"supplierID"}]}},"response":[],"_postman_id":"672f4de3-7aed-4fb8-aa32-329d0c8f20f4"},{"name":"Suppliers addresses list","id":"ccb07dd9-9daa-4dc1-9859-4b6c93245be8","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//suppliers/:supplierID/addresses","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>supplierID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>archive</code></td>\n<td>Filter by Archive.</td>\n</tr>\n<tr>\n<td><code>supplier_id</code></td>\n<td>Filter by Supplier Id.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>supplier</code></li>\n<li><code>supplier.contact</code></li>\n<li><code>supplier.contact.currency</code></li>\n<li><code>address</code></li>\n<li><code>address.country</code></li>\n<li><code>archivedBy</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","suppliers",":supplierID","addresses"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Archive.</p>\n","type":"text/plain"},"key":"archive","value":""},{"disabled":true,"description":{"content":"<p>Filter by Supplier Id.</p>\n","type":"text/plain"},"key":"supplier_id","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>supplier</code> - <code>supplier.contact</code> - <code>supplier.contact.currency</code> - <code>address</code> - <code>address.country</code> - <code>archivedBy</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"b8e5f6f3-0e91-4f2f-a209-20ae64deb776","type":"any","value":"","key":"supplierID"}]}},"response":[],"_postman_id":"ccb07dd9-9daa-4dc1-9859-4b6c93245be8"},{"name":"Suppliers addresses create","id":"33fc9cc9-56b5-4da3-9b97-4ca2589c6ab4","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"supplier_id\": \"{{supplier_id}}\",\n  \"company_name\": \"\",\n  \"address_line_1\": \"address_line_1\",\n  \"address_line_2\": \"\",\n  \"address_line_3\": \"\",\n  \"city\": \"city\",\n  \"county\": \"\",\n  \"country_id\": \"{{country_id}}\",\n  \"postcode\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//suppliers/:supplierID/addresses","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>supplierID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>supplier_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>company_name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address_line_1</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address_line_2</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address_line_3</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>city</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>county</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>country_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>postcode</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","suppliers",":supplierID","addresses"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"1a56379b-a959-4d7b-b33a-3f6bd508e44f","type":"any","value":"","key":"supplierID"}]}},"response":[],"_postman_id":"33fc9cc9-56b5-4da3-9b97-4ca2589c6ab4"},{"name":"Suppliers addresses show","id":"4b996f54-179e-4149-ac2e-f2bfb1dd23f7","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//suppliers/:supplierID/addresses/:addressID","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>supplierID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>addressID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>supplier</code></li>\n<li><code>supplier.contact</code></li>\n<li><code>supplier.contact.currency</code></li>\n<li><code>address</code></li>\n<li><code>address.country</code></li>\n<li><code>archivedBy</code></li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","suppliers",":supplierID","addresses",":addressID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>supplier</code> - <code>supplier.contact</code> - <code>supplier.contact.currency</code> - <code>address</code> - <code>address.country</code> - <code>archivedBy</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"1a20e7a4-c096-49f1-8eae-72ff67852996","type":"any","value":"","key":"supplierID"},{"id":"bba6e8e0-71bb-48f6-9af9-0b209e603aef","type":"any","value":"","key":"addressID"}]}},"response":[],"_postman_id":"4b996f54-179e-4149-ac2e-f2bfb1dd23f7"},{"name":"Suppliers addresses update","id":"8cee755c-0e6b-4ab7-b1c5-bdd8a1ce4b6b","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"supplier_id\": \"{{supplier_id}}\",\n  \"address_id\": \"{{address_id}}\",\n  \"company_name\": \"\",\n  \"address_line_1\": \"address_line_1\",\n  \"address_line_2\": \"\",\n  \"address_line_3\": \"\",\n  \"city\": \"city\",\n  \"county\": \"\",\n  \"country_id\": \"{{country_id}}\",\n  \"postcode\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//suppliers/:supplierID/addresses/:addressID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>supplierID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>addressID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>supplier_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>company_name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address_line_1</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address_line_2</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address_line_3</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>city</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>county</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>country_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>postcode</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","suppliers",":supplierID","addresses",":addressID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"2f3fcbfe-e05c-4453-8fb9-773a96240deb","type":"any","value":"","key":"supplierID"},{"id":"7cc7c4d8-974f-46d4-9676-5cf6e8fe6f98","type":"any","value":"","key":"addressID"}]}},"response":[],"_postman_id":"8cee755c-0e6b-4ab7-b1c5-bdd8a1ce4b6b"},{"name":"Suppliers addresses archive","id":"9cc9fc2a-3ba3-459b-a9b8-0f082bf64b0d","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"supplier_id\": \"{{supplier_id}}\",\n  \"address_id\": \"{{address_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//suppliers/:supplierID/addresses/:addressID/archive","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>supplierID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>addressID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>supplier_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","suppliers",":supplierID","addresses",":addressID","archive"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"96d36816-6838-42c5-bc2c-2d9ae5967cd2","type":"any","value":"","key":"supplierID"},{"id":"bd2a9327-efd3-4fe5-9d1e-c6b40541896d","type":"any","value":"","key":"addressID"}]}},"response":[],"_postman_id":"9cc9fc2a-3ba3-459b-a9b8-0f082bf64b0d"},{"name":"Suppliers contacts list","id":"f0784afc-5fd9-4a25-8432-9e69801c7135","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//suppliers/:supplierID/contacts","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>supplierID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>archive</code></td>\n<td>Filter by Archive.</td>\n</tr>\n<tr>\n<td><code>supplier_id</code></td>\n<td>Filter by Supplier Id.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>supplier</code></li>\n<li><code>supplier.contact</code></li>\n<li><code>supplier.contact.currency</code></li>\n<li><code>contact</code></li>\n<li><code>archivedBy</code></li>\n<li><code>fileManager</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","suppliers",":supplierID","contacts"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Archive.</p>\n","type":"text/plain"},"key":"archive","value":""},{"disabled":true,"description":{"content":"<p>Filter by Supplier Id.</p>\n","type":"text/plain"},"key":"supplier_id","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>supplier</code> - <code>supplier.contact</code> - <code>supplier.contact.currency</code> - <code>contact</code> - <code>archivedBy</code> - <code>fileManager</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"a25b27e1-335d-4452-b45f-028ae272d8cb","type":"any","value":"","key":"supplierID"}]}},"response":[],"_postman_id":"f0784afc-5fd9-4a25-8432-9e69801c7135"},{"name":"Suppliers contacts create","id":"1b967731-def9-47f7-9fb7-2ee6bc638e80","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"supplier_id\": \"{{supplier_id}}\",\n  \"name\": \"name\",\n  \"surname\": \"\",\n  \"email\": \"user@example.com\",\n  \"phone\": \"\",\n  \"title\": \"\",\n  \"file_manager_id\": \"{{file_manager_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//suppliers/:supplierID/contacts","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>supplierID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>supplier_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>surname</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>email</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>phone</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>title</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>file_manager_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","suppliers",":supplierID","contacts"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"2bed3971-fb12-49db-aa3f-af4d6049da96","type":"any","value":"","key":"supplierID"}]}},"response":[],"_postman_id":"1b967731-def9-47f7-9fb7-2ee6bc638e80"},{"name":"Suppliers contacts show","id":"3685b875-b416-42f5-a1e4-214f4948a55d","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//suppliers/:supplierID/contacts/:contactID","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>supplierID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>contactID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>supplier</code></li>\n<li><code>supplier.contact</code></li>\n<li><code>supplier.contact.currency</code></li>\n<li><code>contact</code></li>\n<li><code>archivedBy</code></li>\n<li><code>fileManager</code></li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","suppliers",":supplierID","contacts",":contactID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>supplier</code> - <code>supplier.contact</code> - <code>supplier.contact.currency</code> - <code>contact</code> - <code>archivedBy</code> - <code>fileManager</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"4ccd4b84-e202-48dd-bfae-c99bcbe19c3e","type":"any","value":"","key":"supplierID"},{"id":"d983ebc3-3c9f-4e3b-bd09-13d9743b3b19","type":"any","value":"","key":"contactID"}]}},"response":[],"_postman_id":"3685b875-b416-42f5-a1e4-214f4948a55d"},{"name":"Suppliers contacts update","id":"533f49e8-c4f9-4760-91e6-a93e061f667b","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"supplier_id\": \"{{supplier_id}}\",\n  \"contact_id\": \"{{contact_id}}\",\n  \"name\": \"name\",\n  \"surname\": \"\",\n  \"email\": \"user@example.com\",\n  \"phone\": \"\",\n  \"title\": \"\",\n  \"file_manager_id\": \"{{file_manager_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//suppliers/:supplierID/contacts/:contactID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>supplierID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>contactID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>supplier_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>contact_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>surname</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>email</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>phone</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>title</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>file_manager_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","suppliers",":supplierID","contacts",":contactID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"0387de78-9fb8-45a8-b4d8-6f6f216d9224","type":"any","value":"","key":"supplierID"},{"id":"c8763afa-38f0-4a87-bfd8-2d70287e8118","type":"any","value":"","key":"contactID"}]}},"response":[],"_postman_id":"533f49e8-c4f9-4760-91e6-a93e061f667b"},{"name":"Suppliers contacts delete","id":"f94fba28-1d7d-401a-a146-e98f252ee43c","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//suppliers/:supplierID/contacts/:contactID?company_id=&supplier_id=&contact_id=","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>supplierID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>contactID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>supplier_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>contact_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","suppliers",":supplierID","contacts",":contactID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"supplier_id","value":""},{"key":"contact_id","value":""}],"variable":[{"id":"09f58d62-7e74-423e-b34c-e8c4558ba8e3","type":"any","value":"","key":"supplierID"},{"id":"44b877ee-37d4-4a9f-b135-3296fc45c87f","type":"any","value":"","key":"contactID"}]}},"response":[],"_postman_id":"f94fba28-1d7d-401a-a146-e98f252ee43c"},{"name":"Suppliers contacts archive","id":"ce78a997-9e1a-4e84-adab-e832db64b001","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"supplier_id\": \"{{supplier_id}}\",\n  \"contact_id\": \"{{contact_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//suppliers/:supplierID/contacts/:contactID/archive","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>supplierID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>contactID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>supplier_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>contact_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","suppliers",":supplierID","contacts",":contactID","archive"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"a9c6d58e-c309-48e5-9a61-87eb989afbfe","type":"any","value":"","key":"supplierID"},{"id":"947d4625-868d-403c-a9a9-fe5fa3e84ee5","type":"any","value":"","key":"contactID"}]}},"response":[],"_postman_id":"ce78a997-9e1a-4e84-adab-e832db64b001"},{"name":"List the products orderable from this supplier","id":"61bca7f2-a6e1-45f5-b178-a191f0edc99a","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//suppliers/:supplierID/inventory","description":"<p>Every <code>inventory_id</code> listed here is one <code>POST /purchase-orders</code> accepts in\n<code>items[]</code> for this supplier: links to group and service-charge products,\nwhich purchase order create rejects, are filtered out rather than\nadvertised, and so are deleted products. Purchase order create does apply\none further condition this endpoint does not, on the supplier rather than\nthe product: it refuses an archived or deleted supplier outright. Such a\nsupplier still lists its links here, because the links are real; nothing\ncan be ordered against it until it is restored.\nAdding lines later through <code>POST /purchase-orders/{id}/items</code> is stricter\nstill: it also rejects a batch-expired product, which this list does not\nfilter out.</p>\n<p>Alongside <code>inventory_id</code> each row carries the agreed purchasing terms:\n<code>supplier_code</code>, <code>item_cost</code>, <code>currency_id</code>, <code>lead_time</code>,\n<code>lead_time_type</code>, <code>minimum_order_quantity</code> and <code>priority</code>. Pass\n<code>?includes=inventory</code> for the product itself and\n<code>?includes=inventoryContainer</code> for the packaging link.</p>\n<p>Filterable on <code>inventory_id</code>, <code>currency_id</code>, <code>supplier_code</code>,\n<code>item_cost_from</code> / <code>item_cost_to</code> and <code>lead_time_from</code> / <code>lead_time_to</code>,\nand paginated on the v2 default cursor contract. Sortable on <code>id</code> and\n<code>created_at</code>; default order: link id ascending.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>supplierID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventory_id</code></td>\n<td>Filter by Inventory Id.</td>\n</tr>\n<tr>\n<td><code>supplier_id</code></td>\n<td>Filter by Supplier Id.</td>\n</tr>\n<tr>\n<td><code>currency_id</code></td>\n<td>Filter by Currency Id.</td>\n</tr>\n<tr>\n<td><code>supplier_code</code></td>\n<td>Filter by Supplier Code.</td>\n</tr>\n<tr>\n<td><code>item_cost_from</code></td>\n<td>Filter by Item Cost From.</td>\n</tr>\n<tr>\n<td><code>item_cost_to</code></td>\n<td>Filter by Item Cost To.</td>\n</tr>\n<tr>\n<td><code>lead_time_from</code></td>\n<td>Filter by Lead Time From.</td>\n</tr>\n<tr>\n<td><code>lead_time_to</code></td>\n<td>Filter by Lead Time To.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>inventory</code></li>\n<li><code>supplier</code></li>\n<li><code>supplier.contact</code></li>\n<li><code>supplier.purchasingSettings</code></li>\n<li><code>supplier.fileManager</code></li>\n<li><code>inventoryContainer</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","suppliers",":supplierID","inventory"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Inventory Id.</p>\n","type":"text/plain"},"key":"inventory_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Supplier Id.</p>\n","type":"text/plain"},"key":"supplier_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Currency Id.</p>\n","type":"text/plain"},"key":"currency_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Supplier Code.</p>\n","type":"text/plain"},"key":"supplier_code","value":""},{"disabled":true,"description":{"content":"<p>Filter by Item Cost From.</p>\n","type":"text/plain"},"key":"item_cost_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Item Cost To.</p>\n","type":"text/plain"},"key":"item_cost_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Lead Time From.</p>\n","type":"text/plain"},"key":"lead_time_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Lead Time To.</p>\n","type":"text/plain"},"key":"lead_time_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>inventory</code> - <code>supplier</code> - <code>supplier.contact</code> - <code>supplier.purchasingSettings</code> - <code>supplier.fileManager</code> - <code>inventoryContainer</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"0ebd9b97-b442-4a0d-9893-4bda6147cb09","type":"any","value":"","key":"supplierID"}]}},"response":[],"_postman_id":"61bca7f2-a6e1-45f5-b178-a191f0edc99a"},{"name":"Suppliers notes list","id":"989c1c0c-f707-4eee-aecc-0148b634b51c","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//suppliers/:supplierID/notes","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>supplierID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>supplier_id</code></td>\n<td>Filter by Supplier Id.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>supplier</code></li>\n<li><code>user</code></li>\n<li><code>deletedBy</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","suppliers",":supplierID","notes"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Supplier Id.</p>\n","type":"text/plain"},"key":"supplier_id","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>supplier</code> - <code>user</code> - <code>deletedBy</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"e9069634-5417-45d7-b61b-663789e6d8ff","type":"any","value":"","key":"supplierID"}]}},"response":[],"_postman_id":"989c1c0c-f707-4eee-aecc-0148b634b51c"},{"name":"Suppliers notes create","id":"272f8884-c41d-4d95-9e39-2b695e9208c7","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"supplier_id\": \"{{supplier_id}}\",\n  \"note\": \"note\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//suppliers/:supplierID/notes","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>supplierID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>supplier_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>note</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","suppliers",":supplierID","notes"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"49b2c44a-b50a-4f06-b880-7d41677da0ce","type":"any","value":"","key":"supplierID"}]}},"response":[],"_postman_id":"272f8884-c41d-4d95-9e39-2b695e9208c7"},{"name":"Suppliers tags search","id":"d40d1cd1-9873-4dde-9eae-079fcd6a95fc","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//suppliers/tags","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","suppliers","tags"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"description":{"content":"<p>NOTE: filters are FLAT query params named after the filter method (e.g. ?ids=1,2&amp;store_id=5), resolved by App\\Filters\\QueryFilters against top-level request keys — there is NO nested filter[...] contract at runtime, so none is declared/documented here.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"key":"sort_direction","value":""},{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"key":"page","value":""},{"disabled":true,"key":"per_page","value":""}],"variable":[]}},"response":[],"_postman_id":"d40d1cd1-9873-4dde-9eae-079fcd6a95fc"},{"name":"Suppliers tags attached","id":"09e81f77-4efa-4c76-a728-b9e0fe0297e4","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//suppliers/attached-tags?company_id=","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>supplier_ids[]</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","suppliers","attached-tags"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"disabled":true,"key":"supplier_ids[]","value":""}],"variable":[]}},"response":[],"_postman_id":"09e81f77-4efa-4c76-a728-b9e0fe0297e4"},{"name":"Suppliers tags list","id":"a4c79391-a80e-4b2a-8f7d-a7fc512ac9f3","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//suppliers/:supplierID/tags","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>supplierID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>supplier_id</code></td>\n<td>Filter by Supplier Id.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>company</code></li>\n<li><code>supplier</code></li>\n<li><code>tag</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","suppliers",":supplierID","tags"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Supplier Id.</p>\n","type":"text/plain"},"key":"supplier_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>company</code> - <code>supplier</code> - <code>tag</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"740ae7c4-ac8d-4d69-9b7d-e65d365bde29","type":"any","value":"","key":"supplierID"}]}},"response":[],"_postman_id":"a4c79391-a80e-4b2a-8f7d-a7fc512ac9f3"},{"name":"Suppliers tags create","id":"bf7df08b-e9a9-40b8-8329-269b443c84f4","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"supplier_id\": \"{{supplier_id}}\",\n  \"name\": \"name\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//suppliers/:supplierID/tags","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>supplierID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>supplier_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","suppliers",":supplierID","tags"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"3f97300a-03b9-4ab9-9bb8-7296b0d0c930","type":"any","value":"","key":"supplierID"}]}},"response":[],"_postman_id":"bf7df08b-e9a9-40b8-8329-269b443c84f4"},{"name":"Suppliers tags attach","id":"46eb9147-431a-4b6a-9494-405a6ccfb978","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"supplier_id\": \"{{supplier_id}}\",\n  \"tag_id\": \"{{tag_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//suppliers/:supplierID/tags/:tagID/attach","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>supplierID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>tagID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>supplier_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tag_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","suppliers",":supplierID","tags",":tagID","attach"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"f4777f64-0e1e-4df0-bd2a-1dac383eb9e9","type":"any","value":"","key":"supplierID"},{"id":"fc660a8b-daf8-4d3d-ad88-cc99e0683194","type":"any","value":"","key":"tagID"}]}},"response":[],"_postman_id":"46eb9147-431a-4b6a-9494-405a6ccfb978"},{"name":"Suppliers tags detach","id":"5eea6d8f-fddb-42a7-aca9-4f790586135d","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//suppliers/:supplierID/tags/:tagID/detach?company_id=&supplier_id=&tag_id=","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>supplierID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>tagID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>supplier_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tag_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","suppliers",":supplierID","tags",":tagID","detach"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"supplier_id","value":""},{"key":"tag_id","value":""}],"variable":[{"id":"2d26f977-4c42-4961-b11c-ad56964ac67c","type":"any","value":"","key":"supplierID"},{"id":"baf18986-9cff-49e5-809d-5bed99c035ac","type":"any","value":"","key":"tagID"}]}},"response":[],"_postman_id":"5eea6d8f-fddb-42a7-aca9-4f790586135d"}],"id":"83da4d6e-f1c7-478e-9b3a-2358e1b4b6ac","description":"<p><strong>Suppliers</strong> — 35 endpoints.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"83da4d6e-f1c7-478e-9b3a-2358e1b4b6ac","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Tax Groups","item":[{"name":"Tax groups bulk create","id":"82b14525-5909-4c9a-8f55-13190280fd10","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"tax_groups\": [\n    {\n      \"name\": \"name\",\n      \"description\": \"\",\n      \"parameters\": [\n        {\n          \"country_id\": \"{{country_id}}\",\n          \"region\": [\n            0\n          ],\n          \"tax_rate\": \"tax_rate\"\n        }\n      ],\n      \"status\": false\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//tax-groups/bulk-create","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tax_groups</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tax_groups.*.name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tax_groups.*.description</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tax_groups.*.parameters</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tax_groups.*.parameters.*.country_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tax_groups.*.parameters.*.region</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tax_groups.*.parameters.*.tax_rate</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tax_groups.*.status</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","tax-groups","bulk-create"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"82b14525-5909-4c9a-8f55-13190280fd10"},{"name":"Tax groups bulk update","id":"37c1c268-fb93-4ad4-a3f3-308d74dd3444","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"tax_groups\": [\n    {\n      \"tax_group_id\": \"{{tax_group_id}}\",\n      \"name\": \"name\",\n      \"description\": \"\",\n      \"parameters\": [\n        {\n          \"country_id\": \"{{country_id}}\",\n          \"region\": [\n            0\n          ],\n          \"tax_rate\": \"tax_rate\"\n        }\n      ],\n      \"status\": false\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//tax-groups/bulk-update","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tax_groups</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tax_groups.*.tax_group_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tax_groups.*.parameters</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tax_groups.*.parameters.*.country_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tax_groups.*.parameters.*.region</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tax_groups.*.parameters.*.tax_rate</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tax_groups.*.status</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","tax-groups","bulk-update"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"37c1c268-fb93-4ad4-a3f3-308d74dd3444"},{"name":"Tax groups bulk delete","id":"e0aef84f-6a5b-4e7e-adfd-230475b39cd6","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"tax_group_ids\": [\n    \"{{tax_group_id}}\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//tax-groups/bulk-delete","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tax_group_ids</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","tax-groups","bulk-delete"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"e0aef84f-6a5b-4e7e-adfd-230475b39cd6"},{"name":"Tax groups list","id":"559514cf-92d4-4a99-a947-bab7a5e5b1c5","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//tax-groups","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>query</code></td>\n<td>Filter by Query.</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>Filter by Status.</td>\n</tr>\n<tr>\n<td><code>search</code></td>\n<td>Filter by Search.</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>Filter by Name.</td>\n</tr>\n<tr>\n<td><code>countries</code></td>\n<td>Filter by Countries.</td>\n</tr>\n<tr>\n<td><code>tax_rate</code></td>\n<td>Filter by Tax Rate.</td>\n</tr>\n<tr>\n<td><code>tax_rate_from</code></td>\n<td>Filter by Tax Rate From.</td>\n</tr>\n<tr>\n<td><code>tax_rate_to</code></td>\n<td>Filter by Tax Rate To.</td>\n</tr>\n<tr>\n<td><code>regions</code></td>\n<td>Filter by Regions.</td>\n</tr>\n<tr>\n<td><code>nested_regions_excluded</code></td>\n<td>Filter by Nested Regions Excluded.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>companies</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","tax-groups"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Query.</p>\n","type":"text/plain"},"key":"query","value":""},{"disabled":true,"description":{"content":"<p>Filter by Status.</p>\n","type":"text/plain"},"key":"status","value":""},{"disabled":true,"description":{"content":"<p>Filter by Search.</p>\n","type":"text/plain"},"key":"search","value":""},{"disabled":true,"description":{"content":"<p>Filter by Name.</p>\n","type":"text/plain"},"key":"name","value":""},{"disabled":true,"description":{"content":"<p>Filter by Countries.</p>\n","type":"text/plain"},"key":"countries","value":""},{"disabled":true,"description":{"content":"<p>Filter by Tax Rate.</p>\n","type":"text/plain"},"key":"tax_rate","value":""},{"disabled":true,"description":{"content":"<p>Filter by Tax Rate From.</p>\n","type":"text/plain"},"key":"tax_rate_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Tax Rate To.</p>\n","type":"text/plain"},"key":"tax_rate_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Regions.</p>\n","type":"text/plain"},"key":"regions","value":""},{"disabled":true,"description":{"content":"<p>Filter by Nested Regions Excluded.</p>\n","type":"text/plain"},"key":"nested_regions_excluded","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>companies</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[]}},"response":[],"_postman_id":"559514cf-92d4-4a99-a947-bab7a5e5b1c5"},{"name":"Tax groups create","id":"970d63f6-7894-4c27-a56c-e50c7ba0737e","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"name\": \"name\",\n  \"description\": \"\",\n  \"status\": false,\n  \"parameters\": [\n    {\n      \"country_id\": \"{{country_id}}\",\n      \"region\": [\n        0\n      ],\n      \"tax_rate\": \"tax_rate\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//tax-groups","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>description</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>parameters</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>parameters.*.country_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>parameters.*.region</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>parameters.*.tax_rate</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","tax-groups"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"970d63f6-7894-4c27-a56c-e50c7ba0737e"},{"name":"Tax groups show","id":"865cb679-f90c-455e-804f-6a8d827fd863","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//tax-groups/:taxGroupID","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>taxGroupID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","tax-groups",":taxGroupID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""}],"variable":[{"id":"8f9288de-6a20-4a68-baf0-a7a1a01f58fb","type":"any","value":"","key":"taxGroupID"}]}},"response":[],"_postman_id":"865cb679-f90c-455e-804f-6a8d827fd863"},{"name":"Tax groups update","id":"1cb5ea47-ae23-4c48-b917-4cda805bd654","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"tax_group_id\": \"{{tax_group_id}}\",\n  \"name\": \"name\",\n  \"description\": \"\",\n  \"status\": false,\n  \"parameters\": [\n    {\n      \"country_id\": \"{{country_id}}\",\n      \"region\": [\n        0\n      ],\n      \"tax_rate\": \"tax_rate\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//tax-groups/:taxGroupID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>taxGroupID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tax_group_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>description</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>parameters</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>parameters.*.country_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>parameters.*.region</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>parameters.*.tax_rate</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","tax-groups",":taxGroupID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"de35a960-a8dc-4277-862b-707e2e615790","type":"any","value":"","key":"taxGroupID"}]}},"response":[],"_postman_id":"1cb5ea47-ae23-4c48-b917-4cda805bd654"},{"name":"Tax groups update patch","id":"72f2eb5a-277f-4a4e-b8e2-7fdf1e37f0c4","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"tax_group_id\": \"{{tax_group_id}}\",\n  \"name\": \"name\",\n  \"description\": \"\",\n  \"status\": false,\n  \"parameters\": [\n    {\n      \"country_id\": \"{{country_id}}\",\n      \"region\": [\n        0\n      ],\n      \"tax_rate\": \"tax_rate\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//tax-groups/:taxGroupID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>taxGroupID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tax_group_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>description</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>parameters</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>parameters.*.country_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>parameters.*.region</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>parameters.*.tax_rate</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","tax-groups",":taxGroupID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"9e38c7b6-8e86-4027-8198-0a8c41dad96b","type":"any","value":"","key":"taxGroupID"}]}},"response":[],"_postman_id":"72f2eb5a-277f-4a4e-b8e2-7fdf1e37f0c4"},{"name":"Tax groups delete","id":"8be9e052-5b64-43e9-85df-f0b9d3292cdf","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//tax-groups/:taxGroupID?company_id=&tax_group_id=","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>taxGroupID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tax_group_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","tax-groups",":taxGroupID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"tax_group_id","value":""}],"variable":[{"id":"a0b32d18-447e-4d94-900b-4e45fc62f85a","type":"any","value":"","key":"taxGroupID"}]}},"response":[],"_postman_id":"8be9e052-5b64-43e9-85df-f0b9d3292cdf"},{"name":"Tax groups check inventories","id":"4d169a34-fb44-49da-b839-3a5b3bcdf811","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//tax-groups/check-inventories","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>term</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>ignore_ids[]</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>is_archived</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","tax-groups","check-inventories"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"term","value":""},{"disabled":true,"key":"ignore_ids[]","value":""},{"disabled":true,"key":"is_archived","value":""}],"variable":[]}},"response":[],"_postman_id":"4d169a34-fb44-49da-b839-3a5b3bcdf811"},{"name":"Tax groups change status","id":"fc800261-8b15-4371-a798-4c9f217c5606","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"tax_group_id\": \"{{tax_group_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//tax-groups/:taxGroupID/change-status","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>taxGroupID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>tax_group_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","tax-groups",":taxGroupID","change-status"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"2fe2ce23-984b-4877-827d-68ccd21243ba","type":"any","value":"","key":"taxGroupID"}]}},"response":[],"_postman_id":"fc800261-8b15-4371-a798-4c9f217c5606"}],"id":"a6370858-7cb7-4506-b2a8-9f005cf726dc","description":"<p><strong>Tax Groups</strong> — 11 endpoints.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"a6370858-7cb7-4506-b2a8-9f005cf726dc","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Timezones","item":[{"name":"Display a listing of every timezone","id":"0494d493-108b-489d-9d31-5648881208b0","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//timezones","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","timezones"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""}],"variable":[]}},"response":[],"_postman_id":"0494d493-108b-489d-9d31-5648881208b0"},{"name":"Display the specified timezone","id":"c75b2fa7-b5b1-4fad-a940-2b01c7fd2f5c","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//timezones/:timezoneID","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>timezoneID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","timezones",":timezoneID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""}],"variable":[{"id":"2f55aea7-8cda-45bb-9729-fd455fe366be","type":"any","value":"","key":"timezoneID"}]}},"response":[],"_postman_id":"c75b2fa7-b5b1-4fad-a940-2b01c7fd2f5c"}],"id":"ab43bf1b-5923-4ddb-88fd-237ccf892f8a","description":"<p><strong>Timezones</strong> — 2 endpoints.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"ab43bf1b-5923-4ddb-88fd-237ccf892f8a","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Users","item":[{"name":"Users invites list","id":"10c1e5ba-7aa0-48bb-8683-f1715669246a","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//users/invites","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>query</code></td>\n<td>Filter by Query.</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>Filter by Name.</td>\n</tr>\n<tr>\n<td><code>email</code></td>\n<td>Filter by Email.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","users","invites"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Query.</p>\n","type":"text/plain"},"key":"query","value":""},{"disabled":true,"description":{"content":"<p>Filter by Name.</p>\n","type":"text/plain"},"key":"name","value":""},{"disabled":true,"description":{"content":"<p>Filter by Email.</p>\n","type":"text/plain"},"key":"email","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""}],"variable":[]}},"response":[],"_postman_id":"10c1e5ba-7aa0-48bb-8683-f1715669246a"},{"name":"Users invites delete","id":"db256a6a-3ca7-4ea8-a9ea-8b2ca6f3f4a2","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//users/invites/:invitationID?company_id=&invitation_id=","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>invitationID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>invitation_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","users","invites",":invitationID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"invitation_id","value":""}],"variable":[{"id":"052e177d-832e-42ef-816a-cd44bed24652","type":"any","value":"","key":"invitationID"}]}},"response":[],"_postman_id":"db256a6a-3ca7-4ea8-a9ea-8b2ca6f3f4a2"},{"name":"Users invites resend","id":"9d61406d-4c9a-4022-8496-bac11f3c207e","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"invitation_id\": \"{{invitation_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//users/invites/:invitationID/resend","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>invitationID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>invitation_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","users","invites",":invitationID","resend"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"0bb8753b-78ec-4e1a-a2d6-bf4e9226b2b5","type":"any","value":"","key":"invitationID"}]}},"response":[],"_postman_id":"9d61406d-4c9a-4022-8496-bac11f3c207e"},{"name":"Users list","id":"2ae40cc7-f78c-4e81-bda5-ed4813161545","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//users","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>query</code></td>\n<td>Filter by Query.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>Filter by Name.</td>\n</tr>\n<tr>\n<td><code>email</code></td>\n<td>Filter by Email.</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>Filter by Status.</td>\n</tr>\n<tr>\n<td><code>role</code></td>\n<td>Filter by Role.</td>\n</tr>\n<tr>\n<td><code>last_login_from</code></td>\n<td>Filter by Last Login From.</td>\n</tr>\n<tr>\n<td><code>last_login_to</code></td>\n<td>Filter by Last Login To.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","users"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Query.</p>\n","type":"text/plain"},"key":"query","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Name.</p>\n","type":"text/plain"},"key":"name","value":""},{"disabled":true,"description":{"content":"<p>Filter by Email.</p>\n","type":"text/plain"},"key":"email","value":""},{"disabled":true,"description":{"content":"<p>Filter by Status.</p>\n","type":"text/plain"},"key":"status","value":""},{"disabled":true,"description":{"content":"<p>Filter by Role.</p>\n","type":"text/plain"},"key":"role","value":""},{"disabled":true,"description":{"content":"<p>Filter by Last Login From.</p>\n","type":"text/plain"},"key":"last_login_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Last Login To.</p>\n","type":"text/plain"},"key":"last_login_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""}],"variable":[]}},"response":[],"_postman_id":"2ae40cc7-f78c-4e81-bda5-ed4813161545"},{"name":"Users create","id":"a1e63397-e485-4ec3-be5e-bb2878c23b38","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"name\": \"name\",\n  \"file_manager_id\": \"{{file_manager_id}}\",\n  \"email\": \"user@example.com\",\n  \"password\": \"password\",\n  \"role_id\": 0,\n  \"timezone_id\": 0,\n  \"language_id\": 0,\n  \"time\": \"\",\n  \"hourly_wage\": 0,\n  \"enable_two_factor_auth\": false,\n  \"quick_access_code\": [\n    \"\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//users","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>file_manager_id</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>email</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>password</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>role_id</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>timezone_id</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>language_id</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>time</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>hourly_wage</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>enable_two_factor_auth</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>quick_access_code</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","users"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"a1e63397-e485-4ec3-be5e-bb2878c23b38"},{"name":"Users show","id":"cf3bb60b-40b5-4169-8ec2-71b856126f8d","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//users/:userID","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>userID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","users",":userID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""}],"variable":[{"id":"f8be8a3a-62d6-4e2c-9c8d-69b85f9fd84d","type":"any","value":"","key":"userID"}]}},"response":[],"_postman_id":"cf3bb60b-40b5-4169-8ec2-71b856126f8d"},{"name":"Users update","id":"d1a0d095-5dd7-4568-ac4e-98b7ea4089ae","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"user_id\": \"{{user_id}}\",\n  \"company_id\": \"\",\n  \"name\": \"name\",\n  \"email\": \"user@example.com\",\n  \"file_manager_id\": \"{{file_manager_id}}\",\n  \"password\": \"\",\n  \"role_id\": 0,\n  \"timezone_id\": 0,\n  \"language_id\": 0,\n  \"time\": \"\",\n  \"hourly_wage\": 0,\n  \"enable_two_factor_auth\": false,\n  \"quick_access_code\": [\n    \"\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//users/:userID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>userID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>user_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>email</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>file_manager_id</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>password</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>role_id</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>timezone_id</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>language_id</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>time</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>hourly_wage</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>enable_two_factor_auth</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>quick_access_code</code></td>\n<td>array</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","users",":userID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"05f0f910-841d-4b7b-82e5-76c4d0fa77fc","type":"any","value":"","key":"userID"}]}},"response":[],"_postman_id":"d1a0d095-5dd7-4568-ac4e-98b7ea4089ae"},{"name":"Users delete","id":"a3b74a46-56f5-4313-b5b7-6d15ffd0cc84","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//users/:userID?user_id=&company_id=","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>userID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>user_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","users",":userID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"user_id","value":""},{"key":"company_id","value":""}],"variable":[{"id":"4afdea53-da14-44d0-a5f8-f133b57d9ab6","type":"any","value":"","key":"userID"}]}},"response":[],"_postman_id":"a3b74a46-56f5-4313-b5b7-6d15ffd0cc84"},{"name":"Users check email","id":"36fbbc97-afc6-483d-9285-7ca2c27b168a","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"email\": \"user@example.com\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//users/check-email","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>email</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","users","check-email"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"36fbbc97-afc6-483d-9285-7ca2c27b168a"},{"name":"Users invite","id":"0a206d43-0b8e-43c9-887c-3e9676ed64a2","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"email\": \"user@example.com\",\n  \"role_id\": \"{{role_id}}\",\n  \"timezone_id\": 0,\n  \"language_id\": 0,\n  \"enable_two_factor_auth\": false,\n  \"hourly_wage\": 0\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//users/invite","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>email</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>role_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>timezone_id</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>language_id</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>enable_two_factor_auth</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>hourly_wage</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","users","invite"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"0a206d43-0b8e-43c9-887c-3e9676ed64a2"},{"name":"Users create","id":"95d16274-b003-47dc-9995-58b5a291f16b","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"name\",\n  \"company_id\": \"\",\n  \"role_id\": \"{{role_id}}\",\n  \"email\": \"user@example.com\",\n  \"timezone_id\": 0,\n  \"language_id\": 0,\n  \"enable_two_factor_auth\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//users/create","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>role_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>email</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>timezone_id</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>language_id</code></td>\n<td>number</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>enable_two_factor_auth</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","users","create"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"95d16274-b003-47dc-9995-58b5a291f16b"},{"name":"Users bulk invite","id":"5983fb2b-7792-472f-af89-715c5d43b2d0","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"users\": [\n    {\n      \"email\": \"user@example.com\",\n      \"role_id\": \"{{role_id}}\",\n      \"hourly_wage\": 0\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//users/bulk-invite","description":"<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>users</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>users.*.email</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>users.*.role_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>users.*.hourly_wage</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","users","bulk-invite"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"5983fb2b-7792-472f-af89-715c5d43b2d0"},{"name":"Users update password","id":"0125d18b-2cfb-49bf-8b18-1a9fb3ee6606","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"user_id\": \"{{user_id}}\",\n  \"company_id\": \"\",\n  \"password\": \"password\",\n  \"password_confirmation\": \"password_confirmation\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//users/:userID/update-password","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>userID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>user_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>password</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>password_confirmation</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","users",":userID","update-password"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"1803b420-667d-4cd5-8b32-71aeee935881","type":"any","value":"","key":"userID"}]}},"response":[],"_postman_id":"0125d18b-2cfb-49bf-8b18-1a9fb3ee6606"},{"name":"Users toggle","id":"31a8cfe6-fbd0-4fe4-bf8f-850e8573af0d","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"user_id\": \"{{user_id}}\",\n  \"company_id\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//users/:userID/toggle","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>userID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>user_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","users",":userID","toggle"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"e3ebbe93-64e1-4fc4-a8d2-8c4b74d8150f","type":"any","value":"","key":"userID"}]}},"response":[],"_postman_id":"31a8cfe6-fbd0-4fe4-bf8f-850e8573af0d"},{"name":"Users tokens create","id":"7f7955fe-cb5d-4bdf-bf45-d9d13c88ec26","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"user_id\": \"{{user_id}}\",\n  \"token_name\": \"token_name\",\n  \"is_active\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//users/:userID/tokens/create","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>userID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>user_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>BOLA: user_id must be a MEMBER of the route company, not just any user — otherwise a token could be minted for a foreign user.</td>\n</tr>\n<tr>\n<td><code>token_name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>is_active</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","users",":userID","tokens","create"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"720186fd-4fd3-4cb1-83a7-72f21d0b1a5b","type":"any","value":"","key":"userID"}]}},"response":[],"_postman_id":"7f7955fe-cb5d-4bdf-bf45-d9d13c88ec26"},{"name":"Users tokens regenerate","id":"2f1a29c5-cfec-421b-a1b8-76074a02dc14","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"user_id\": \"{{user_id}}\",\n  \"token_id\": \"{{token_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//users/:userID/tokens/:tokenID/regenerate","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>userID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>tokenID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>user_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>token_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","users",":userID","tokens",":tokenID","regenerate"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"cfe9d430-dbf1-4850-a322-a2685215658f","type":"any","value":"","key":"userID"},{"id":"d15a2734-9d04-4d9a-8ccc-3a0018792eb1","type":"any","value":"","key":"tokenID"}]}},"response":[],"_postman_id":"2f1a29c5-cfec-421b-a1b8-76074a02dc14"},{"name":"Users tokens update","id":"faa5a907-e0f8-43e8-be95-bef9b52e7db4","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"user_id\": \"{{user_id}}\",\n  \"token_id\": \"{{token_id}}\",\n  \"token_name\": \"token_name\",\n  \"is_active\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//users/:userID/tokens/:tokenID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>userID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>tokenID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>user_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>token_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>token_name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>is_active</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","users",":userID","tokens",":tokenID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"bd395801-5083-472f-8602-0fcbf0fc2fcf","type":"any","value":"","key":"userID"},{"id":"5b8ec67d-319a-4d55-86f4-5ce554ee3a73","type":"any","value":"","key":"tokenID"}]}},"response":[],"_postman_id":"faa5a907-e0f8-43e8-be95-bef9b52e7db4"},{"name":"Users tokens delete","id":"e51cd1e0-8b97-46e1-8876-812524e54efb","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//users/:userID/tokens/:tokenID/delete?company_id=&user_id=&token_id=","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>userID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>tokenID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>user_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>token_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","users",":userID","tokens",":tokenID","delete"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"user_id","value":""},{"key":"token_id","value":""}],"variable":[{"id":"4c9075f8-12f6-4fd0-82e0-9ff2f57a1f8d","type":"any","value":"","key":"userID"},{"id":"f9e2df4c-351f-4ce2-ab08-f05a03ee758f","type":"any","value":"","key":"tokenID"}]}},"response":[],"_postman_id":"e51cd1e0-8b97-46e1-8876-812524e54efb"}],"id":"9dd12207-74fc-4f4e-be79-3edf7d6b0c65","description":"<p><strong>Users</strong> — 18 endpoints.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"9dd12207-74fc-4f4e-be79-3edf7d6b0c65","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Warehouses","item":[{"name":"Warehouses locations location types","id":"13a67929-80f1-493e-8a85-584b06675b9e","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//warehouses/warehouse/:warehouse_id/locations/location-types","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>warehouse_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","warehouses","warehouse",":warehouse_id","locations","location-types"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"7511e8a5-6875-40f0-9351-ccff81cc7ade","type":"any","value":"","key":"warehouse_id"}]}},"response":[],"_postman_id":"13a67929-80f1-493e-8a85-584b06675b9e"},{"name":"Warehouses locations storage types","id":"d0487faf-25c0-4ebb-806a-348cad219400","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//warehouses/warehouse/:warehouse_id/locations/storage-types","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>warehouse_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","warehouses","warehouse",":warehouse_id","locations","storage-types"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"8d33b26a-c5b9-4000-9771-7b72ea518f2c","type":"any","value":"","key":"warehouse_id"}]}},"response":[],"_postman_id":"d0487faf-25c0-4ebb-806a-348cad219400"},{"name":"Warehouses locations colour types","id":"19d10048-858f-4f7b-bbeb-6d99987f1f95","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//warehouses/warehouse/:warehouse_id/locations/colour-types","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>warehouse_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","warehouses","warehouse",":warehouse_id","locations","colour-types"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"606549cc-5f05-4ab7-bd4e-ccb8ea884c55","type":"any","value":"","key":"warehouse_id"}]}},"response":[],"_postman_id":"19d10048-858f-4f7b-bbeb-6d99987f1f95"},{"name":"Warehouses locations bulk create","id":"bcbd2459-fa05-4632-81f2-fcf84040cd89","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"warehouse_id\": \"{{warehouse_id}}\",\n  \"locations\": [\n    {\n      \"zone_id\": \"{{zone_id}}\",\n      \"sequence_number\": 0,\n      \"code\": \"code\",\n      \"category_id\": \"{{category_id}}\",\n      \"dedicated_location_id\": \"{{dedicated_location_id}}\",\n      \"settings\": {\n        \"storage_type\": [\n          \"1\"\n        ],\n        \"location_type\": \"1\",\n        \"colour_type\": \"1\",\n        \"description\": \"\",\n        \"max_stock_quantity\": 0,\n        \"length\": 0,\n        \"width\": 0,\n        \"height\": 0,\n        \"exclude_qty_from_available\": false,\n        \"force_elp\": false\n      }\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//warehouses/warehouse/:warehouse_id/locations/bulk-create","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>warehouse_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>warehouse_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>locations</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>locations.*.zone_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>locations.*.sequence_number</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>locations.*.code</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>locations.*.category_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>locations.*.dedicated_location_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>locations.*.settings</code></td>\n<td>object</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>locations.*.settings.storage_type</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>locations.*.settings.location_type</code></td>\n<td>string</td>\n<td>yes</td>\n<td><strong>LocationTypes</strong> values: - <code>1</code> = STORAGE - <code>2</code> = SORT_WALL - <code>3</code> = GOODS_IN - <code>4</code> = RETURNS - <code>5</code> = ASSEMBLY - <code>6</code> = GOODS_OUT Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code></td>\n</tr>\n<tr>\n<td><code>locations.*.settings.colour_type</code></td>\n<td>string | null</td>\n<td>no</td>\n<td><strong>LocationColourTypes</strong> values: - <code>1</code> = RED - <code>2</code> = GREEN - <code>3</code> = YELLOW - <code>4</code> = BLUE - <code>5</code> = ORANGE - <code>6</code> = PURPLE - <code>7</code> = PINK - <code>8</code> = BROWN - <code>9</code> = MINT - <code>10</code> = BEIGE - <code>11</code> = CYAN - <code>12</code> = NAVY - <code>13</code> = MAROON - <code>14</code> = BLACK - <code>15</code> = GRAY - <code>16</code> = WHITE Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code>, <code>9</code>, <code>10</code>, <code>11</code>, <code>12</code>, <code>13</code>, <code>14</code>, <code>15</code>, <code>16</code></td>\n</tr>\n<tr>\n<td><code>locations.*.settings.description</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>locations.*.settings.max_stock_quantity</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>locations.*.settings.length</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>locations.*.settings.width</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>locations.*.settings.height</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>locations.*.settings.exclude_qty_from_available</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>locations.*.settings.force_elp</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","warehouses","warehouse",":warehouse_id","locations","bulk-create"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"3cfdb6e6-f34f-47fc-96c8-0ddbc0522050","type":"any","value":"","key":"warehouse_id"}]}},"response":[],"_postman_id":"bcbd2459-fa05-4632-81f2-fcf84040cd89"},{"name":"Warehouses locations bulk update","id":"08fce00d-e9de-458c-b5b4-39e3a8065253","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"warehouse_id\": \"{{warehouse_id}}\",\n  \"locations\": [\n    {\n      \"zone_id\": \"{{zone_id}}\",\n      \"location_id\": \"{{location_id}}\",\n      \"dedicated_location_id\": \"{{dedicated_location_id}}\",\n      \"sequence_number\": 0,\n      \"code\": \"code\",\n      \"category_id\": \"{{category_id}}\",\n      \"settings\": {\n        \"storage_type\": [\n          \"1\"\n        ],\n        \"location_type\": \"1\",\n        \"colour_type\": \"1\",\n        \"description\": \"\",\n        \"max_stock_quantity\": 0,\n        \"length\": 0,\n        \"width\": 0,\n        \"height\": 0,\n        \"exclude_qty_from_available\": false,\n        \"force_elp\": false\n      }\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//warehouses/warehouse/:warehouse_id/locations/bulk-update","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>warehouse_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>warehouse_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>locations</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>locations.*.zone_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>locations.*.location_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>locations.*.dedicated_location_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>locations.*.sequence_number</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>locations.*.code</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>locations.*.category_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>locations.*.settings</code></td>\n<td>object</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>locations.*.settings.storage_type</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>locations.*.settings.location_type</code></td>\n<td>string</td>\n<td>yes</td>\n<td><strong>LocationTypes</strong> values: - <code>1</code> = STORAGE - <code>2</code> = SORT_WALL - <code>3</code> = GOODS_IN - <code>4</code> = RETURNS - <code>5</code> = ASSEMBLY - <code>6</code> = GOODS_OUT Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code></td>\n</tr>\n<tr>\n<td><code>locations.*.settings.colour_type</code></td>\n<td>string | null</td>\n<td>no</td>\n<td><strong>LocationColourTypes</strong> values: - <code>1</code> = RED - <code>2</code> = GREEN - <code>3</code> = YELLOW - <code>4</code> = BLUE - <code>5</code> = ORANGE - <code>6</code> = PURPLE - <code>7</code> = PINK - <code>8</code> = BROWN - <code>9</code> = MINT - <code>10</code> = BEIGE - <code>11</code> = CYAN - <code>12</code> = NAVY - <code>13</code> = MAROON - <code>14</code> = BLACK - <code>15</code> = GRAY - <code>16</code> = WHITE Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code>, <code>9</code>, <code>10</code>, <code>11</code>, <code>12</code>, <code>13</code>, <code>14</code>, <code>15</code>, <code>16</code></td>\n</tr>\n<tr>\n<td><code>locations.*.settings.description</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>locations.*.settings.max_stock_quantity</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>locations.*.settings.length</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>locations.*.settings.width</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>locations.*.settings.height</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>locations.*.settings.exclude_qty_from_available</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>locations.*.settings.force_elp</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","warehouses","warehouse",":warehouse_id","locations","bulk-update"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"5800c007-dc0d-4d06-8d8a-bb071842ca27","type":"any","value":"","key":"warehouse_id"}]}},"response":[],"_postman_id":"08fce00d-e9de-458c-b5b4-39e3a8065253"},{"name":"Warehouses locations bulk delete","id":"88e77fb4-bc3e-4106-b4d4-59dd84eb7e48","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"warehouse_id\": \"{{warehouse_id}}\",\n  \"location_ids\": [\n    \"{{location_id}}\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//warehouses/warehouse/:warehouse_id/locations/bulk-delete","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>warehouse_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>warehouse_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>location_ids</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","warehouses","warehouse",":warehouse_id","locations","bulk-delete"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"4d4f70c1-daa2-49fe-bd02-8e75f58c1ebe","type":"any","value":"","key":"warehouse_id"}]}},"response":[],"_postman_id":"88e77fb4-bc3e-4106-b4d4-59dd84eb7e48"},{"name":"Warehouses locations list","id":"e0ba886b-dbcc-4e04-a36d-93d02f47854b","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//warehouses/warehouse/:warehouse_id/locations","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>warehouse_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>query</code></td>\n<td>Filter by Query.</td>\n</tr>\n<tr>\n<td><code>import_ids</code></td>\n<td>Filter by Import Ids.</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>Filter by Name.</td>\n</tr>\n<tr>\n<td><code>location</code></td>\n<td>Filter by Location.</td>\n</tr>\n<tr>\n<td><code>warehouse_id</code></td>\n<td>Filter by Warehouse Id.</td>\n</tr>\n<tr>\n<td><code>zone_id</code></td>\n<td>Filter by Zone Id.</td>\n</tr>\n<tr>\n<td><code>items_count</code></td>\n<td>Filter by Items Count.</td>\n</tr>\n<tr>\n<td><code>items_count_from</code></td>\n<td>Filter by Items Count From.</td>\n</tr>\n<tr>\n<td><code>items_count_to</code></td>\n<td>Filter by Items Count To.</td>\n</tr>\n<tr>\n<td><code>empty</code></td>\n<td>Filter by Empty.</td>\n</tr>\n<tr>\n<td><code>visit_order_from</code></td>\n<td>Filter by Visit Order From.</td>\n</tr>\n<tr>\n<td><code>visit_order_to</code></td>\n<td>Filter by Visit Order To.</td>\n</tr>\n<tr>\n<td><code>visit_order</code></td>\n<td>Filter by Visit Order.</td>\n</tr>\n<tr>\n<td><code>exclude_qty_from_available</code></td>\n<td>Filter by Exclude Qty From Available.</td>\n</tr>\n<tr>\n<td><code>force_elp</code></td>\n<td>Filter by Force Elp.</td>\n</tr>\n<tr>\n<td><code>location_type</code></td>\n<td>Filter by Location Type.</td>\n</tr>\n<tr>\n<td><code>storage_type</code></td>\n<td>Filter by Storage Type.</td>\n</tr>\n<tr>\n<td><code>colour</code></td>\n<td>Filter by Colour.</td>\n</tr>\n<tr>\n<td><code>category_id</code></td>\n<td>Filter by Category Id.</td>\n</tr>\n<tr>\n<td><code>storage_cost_group_id</code></td>\n<td>Filter by Storage Cost Group Id.</td>\n</tr>\n<tr>\n<td><code>dedicated_location_id</code></td>\n<td>Filter by Dedicated Location Id.</td>\n</tr>\n<tr>\n<td><code>code</code></td>\n<td>Filter by Code.</td>\n</tr>\n<tr>\n<td><code>location_code</code></td>\n<td>Filter by Location Code.</td>\n</tr>\n<tr>\n<td><code>search</code></td>\n<td>Filter by Search.</td>\n</tr>\n<tr>\n<td><code>inventory</code></td>\n<td>Filter by Inventory.</td>\n</tr>\n<tr>\n<td><code>inventory_id</code></td>\n<td>Filter by Inventory Id.</td>\n</tr>\n<tr>\n<td><code>replenishment_type</code></td>\n<td>Filter by Replenishment Type.</td>\n</tr>\n<tr>\n<td><code>items</code></td>\n<td>Filter by Items.</td>\n</tr>\n<tr>\n<td><code>nested_location_excluded</code></td>\n<td>Filter by Nested Location Excluded.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>settings</code></li>\n<li><code>category</code></li>\n<li><code>category.category</code></li>\n<li><code>category.category.parent</code></li>\n<li><code>zone</code></li>\n<li><code>stocks</code></li>\n<li><code>stocks.inventory.meta</code></li>\n<li><code>stocks.inventory.barcodes</code></li>\n<li><code>storageTypes</code></li>\n<li><code>storageCostGroup</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","warehouses","warehouse",":warehouse_id","locations"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Query.</p>\n","type":"text/plain"},"key":"query","value":""},{"disabled":true,"description":{"content":"<p>Filter by Import Ids.</p>\n","type":"text/plain"},"key":"import_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Name.</p>\n","type":"text/plain"},"key":"name","value":""},{"disabled":true,"description":{"content":"<p>Filter by Location.</p>\n","type":"text/plain"},"key":"location","value":""},{"disabled":true,"description":{"content":"<p>Filter by Warehouse Id.</p>\n","type":"text/plain"},"key":"warehouse_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Zone Id.</p>\n","type":"text/plain"},"key":"zone_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Items Count.</p>\n","type":"text/plain"},"key":"items_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Items Count From.</p>\n","type":"text/plain"},"key":"items_count_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Items Count To.</p>\n","type":"text/plain"},"key":"items_count_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Empty.</p>\n","type":"text/plain"},"key":"empty","value":""},{"disabled":true,"description":{"content":"<p>Filter by Visit Order From.</p>\n","type":"text/plain"},"key":"visit_order_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Visit Order To.</p>\n","type":"text/plain"},"key":"visit_order_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Visit Order.</p>\n","type":"text/plain"},"key":"visit_order","value":""},{"disabled":true,"description":{"content":"<p>Filter by Exclude Qty From Available.</p>\n","type":"text/plain"},"key":"exclude_qty_from_available","value":""},{"disabled":true,"description":{"content":"<p>Filter by Force Elp.</p>\n","type":"text/plain"},"key":"force_elp","value":""},{"disabled":true,"description":{"content":"<p>Filter by Location Type.</p>\n","type":"text/plain"},"key":"location_type","value":""},{"disabled":true,"description":{"content":"<p>Filter by Storage Type.</p>\n","type":"text/plain"},"key":"storage_type","value":""},{"disabled":true,"description":{"content":"<p>Filter by Colour.</p>\n","type":"text/plain"},"key":"colour","value":""},{"disabled":true,"description":{"content":"<p>Filter by Category Id.</p>\n","type":"text/plain"},"key":"category_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Storage Cost Group Id.</p>\n","type":"text/plain"},"key":"storage_cost_group_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Dedicated Location Id.</p>\n","type":"text/plain"},"key":"dedicated_location_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Code.</p>\n","type":"text/plain"},"key":"code","value":""},{"disabled":true,"description":{"content":"<p>Filter by Location Code.</p>\n","type":"text/plain"},"key":"location_code","value":""},{"disabled":true,"description":{"content":"<p>Filter by Search.</p>\n","type":"text/plain"},"key":"search","value":""},{"disabled":true,"description":{"content":"<p>Filter by Inventory.</p>\n","type":"text/plain"},"key":"inventory","value":""},{"disabled":true,"description":{"content":"<p>Filter by Inventory Id.</p>\n","type":"text/plain"},"key":"inventory_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Replenishment Type.</p>\n","type":"text/plain"},"key":"replenishment_type","value":""},{"disabled":true,"description":{"content":"<p>Filter by Items.</p>\n","type":"text/plain"},"key":"items","value":""},{"disabled":true,"description":{"content":"<p>Filter by Nested Location Excluded.</p>\n","type":"text/plain"},"key":"nested_location_excluded","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>settings</code> - <code>category</code> - <code>category.category</code> - <code>category.category.parent</code> - <code>zone</code> - <code>stocks</code> - <code>stocks.inventory.meta</code> - <code>stocks.inventory.barcodes</code> - <code>storageTypes</code> - <code>storageCostGroup</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"a9fbed9c-fae2-48fc-a9fd-f41575bb3638","type":"any","value":"","key":"warehouse_id"}]}},"response":[],"_postman_id":"e0ba886b-dbcc-4e04-a36d-93d02f47854b"},{"name":"Warehouses locations create","id":"c20b83d7-bc54-4f52-8d51-a4f6fdb87f75","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"warehouse_id\": \"{{warehouse_id}}\",\n  \"zone_id\": \"{{zone_id}}\",\n  \"copied_from\": 0,\n  \"sequence_number\": 0,\n  \"code\": \"code\",\n  \"category_id\": \"{{category_id}}\",\n  \"dedicated_location_id\": \"{{dedicated_location_id}}\",\n  \"settings\": {\n    \"storage_type\": [\n      \"1\"\n    ],\n    \"location_type\": \"1\",\n    \"colour_type\": \"1\",\n    \"description\": \"\",\n    \"max_stock_quantity\": 0,\n    \"length\": 0,\n    \"width\": 0,\n    \"height\": 0,\n    \"exclude_qty_from_available\": false,\n    \"force_elp\": false\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//warehouses/warehouse/:warehouseID/locations","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>warehouseID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>warehouse_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>zone_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>copied_from</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sequence_number</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>code</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>category_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>dedicated_location_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>settings</code></td>\n<td>object</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>settings.storage_type</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>settings.location_type</code></td>\n<td>string</td>\n<td>yes</td>\n<td><strong>LocationTypes</strong> values: - <code>1</code> = STORAGE - <code>2</code> = SORT_WALL - <code>3</code> = GOODS_IN - <code>4</code> = RETURNS - <code>5</code> = ASSEMBLY - <code>6</code> = GOODS_OUT Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code></td>\n</tr>\n<tr>\n<td><code>settings.colour_type</code></td>\n<td>string | null</td>\n<td>no</td>\n<td><strong>LocationColourTypes</strong> values: - <code>1</code> = RED - <code>2</code> = GREEN - <code>3</code> = YELLOW - <code>4</code> = BLUE - <code>5</code> = ORANGE - <code>6</code> = PURPLE - <code>7</code> = PINK - <code>8</code> = BROWN - <code>9</code> = MINT - <code>10</code> = BEIGE - <code>11</code> = CYAN - <code>12</code> = NAVY - <code>13</code> = MAROON - <code>14</code> = BLACK - <code>15</code> = GRAY - <code>16</code> = WHITE Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code>, <code>9</code>, <code>10</code>, <code>11</code>, <code>12</code>, <code>13</code>, <code>14</code>, <code>15</code>, <code>16</code></td>\n</tr>\n<tr>\n<td><code>settings.description</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>settings.max_stock_quantity</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>settings.length</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>settings.width</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>settings.height</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>settings.exclude_qty_from_available</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>settings.force_elp</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","warehouses","warehouse",":warehouseID","locations"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"3cd1df7f-a1d4-498c-a1cb-d3f50da96109","type":"any","value":"","key":"warehouseID"}]}},"response":[],"_postman_id":"c20b83d7-bc54-4f52-8d51-a4f6fdb87f75"},{"name":"Warehouses locations show","id":"508664d8-9455-4dea-874c-31ae86ce445a","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//warehouses/warehouse/:warehouseID/locations/:locationID","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>warehouseID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>locationID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>settings</code></li>\n<li><code>category</code></li>\n<li><code>category.category</code></li>\n<li><code>category.category.parent</code></li>\n<li><code>zone</code></li>\n<li><code>stocks</code></li>\n<li><code>stocks.inventory.meta</code></li>\n<li><code>stocks.inventory.barcodes</code></li>\n<li><code>storageTypes</code></li>\n<li><code>storageCostGroup</code></li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","warehouses","warehouse",":warehouseID","locations",":locationID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>settings</code> - <code>category</code> - <code>category.category</code> - <code>category.category.parent</code> - <code>zone</code> - <code>stocks</code> - <code>stocks.inventory.meta</code> - <code>stocks.inventory.barcodes</code> - <code>storageTypes</code> - <code>storageCostGroup</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"188eb895-a97e-4a08-ab51-c39fb1c4fd98","type":"any","value":"","key":"warehouseID"},{"id":"01d6552a-d4e2-46e8-918c-c8ee1308087f","type":"any","value":"","key":"locationID"}]}},"response":[],"_postman_id":"508664d8-9455-4dea-874c-31ae86ce445a"},{"name":"Warehouses locations update","id":"8d806c50-fd18-4c7a-8018-5394c0443384","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"warehouse_id\": \"{{warehouse_id}}\",\n  \"zone_id\": \"{{zone_id}}\",\n  \"location_id\": \"{{location_id}}\",\n  \"dedicated_location_id\": \"{{dedicated_location_id}}\",\n  \"sequence_number\": 0,\n  \"code\": \"code\",\n  \"category_id\": \"{{category_id}}\",\n  \"settings\": {\n    \"storage_type\": [\n      \"1\"\n    ],\n    \"location_type\": \"1\",\n    \"colour_type\": \"1\",\n    \"description\": \"\",\n    \"max_stock_quantity\": 0,\n    \"length\": 0,\n    \"width\": 0,\n    \"height\": 0,\n    \"exclude_qty_from_available\": false,\n    \"force_elp\": false\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//warehouses/warehouse/:warehouseID/locations/:locationID","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>warehouseID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>locationID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>warehouse_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>zone_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>location_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>dedicated_location_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>sequence_number</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>code</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>category_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>settings</code></td>\n<td>object</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>settings.storage_type</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>settings.location_type</code></td>\n<td>string</td>\n<td>yes</td>\n<td><strong>LocationTypes</strong> values: - <code>1</code> = STORAGE - <code>2</code> = SORT_WALL - <code>3</code> = GOODS_IN - <code>4</code> = RETURNS - <code>5</code> = ASSEMBLY - <code>6</code> = GOODS_OUT Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code></td>\n</tr>\n<tr>\n<td><code>settings.colour_type</code></td>\n<td>string | null</td>\n<td>no</td>\n<td><strong>LocationColourTypes</strong> values: - <code>1</code> = RED - <code>2</code> = GREEN - <code>3</code> = YELLOW - <code>4</code> = BLUE - <code>5</code> = ORANGE - <code>6</code> = PURPLE - <code>7</code> = PINK - <code>8</code> = BROWN - <code>9</code> = MINT - <code>10</code> = BEIGE - <code>11</code> = CYAN - <code>12</code> = NAVY - <code>13</code> = MAROON - <code>14</code> = BLACK - <code>15</code> = GRAY - <code>16</code> = WHITE Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code>, <code>9</code>, <code>10</code>, <code>11</code>, <code>12</code>, <code>13</code>, <code>14</code>, <code>15</code>, <code>16</code></td>\n</tr>\n<tr>\n<td><code>settings.description</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>settings.max_stock_quantity</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>settings.length</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>settings.width</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>settings.height</code></td>\n<td>number | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>settings.exclude_qty_from_available</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>settings.force_elp</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","warehouses","warehouse",":warehouseID","locations",":locationID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"a6ab4130-7ae2-4faf-b13c-1f59af2a6e1e","type":"any","value":"","key":"warehouseID"},{"id":"074c5d4d-f4cb-45ae-b45a-8188a5117742","type":"any","value":"","key":"locationID"}]}},"response":[],"_postman_id":"8d806c50-fd18-4c7a-8018-5394c0443384"},{"name":"Warehouses locations delete","id":"75434753-d4e0-4cec-bb63-5ac4137fb434","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//warehouses/warehouse/:warehouseID/locations/:locationID?company_id=&warehouse_id=&location_id=","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>warehouseID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>locationID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>warehouse_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>location_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","warehouses","warehouse",":warehouseID","locations",":locationID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"warehouse_id","value":""},{"key":"location_id","value":""}],"variable":[{"id":"9d25d0c6-5a6b-47eb-aaae-1020bb654ec4","type":"any","value":"","key":"warehouseID"},{"id":"15857d78-9023-45fb-8bbe-8e8e5e2b2c58","type":"any","value":"","key":"locationID"}]}},"response":[],"_postman_id":"75434753-d4e0-4cec-bb63-5ac4137fb434"},{"name":"Warehouses locations suggestions","id":"23c3eedd-5642-41d3-aa8c-5d73338a7f2e","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//warehouses/warehouse/:warehouseID/locations/suggestions?company_id=&warehouse_id=","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>warehouseID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>warehouse_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","warehouses","warehouse",":warehouseID","locations","suggestions"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"warehouse_id","value":""}],"variable":[{"id":"c73065c6-e398-4852-ba71-7f7798f30de6","type":"any","value":"","key":"warehouseID"}]}},"response":[],"_postman_id":"23c3eedd-5642-41d3-aa8c-5d73338a7f2e"},{"name":"Warehouses locations change visit order","id":"304a68f9-1e6c-4e20-a2cf-971820944bc5","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"warehouse_id\": \"{{warehouse_id}}\",\n  \"locations\": [\n    0\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//warehouses/warehouse/:warehouseID/locations/change-visit-order","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>warehouseID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>warehouse_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>locations</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","warehouses","warehouse",":warehouseID","locations","change-visit-order"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"8a3ecb20-d1ad-4b99-bf20-e04e1036343c","type":"any","value":"","key":"warehouseID"}]}},"response":[],"_postman_id":"304a68f9-1e6c-4e20-a2cf-971820944bc5"},{"name":"Warehouses locations update settings","id":"6a70b645-b3db-4902-97da-86ee51f20462","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"warehouse_id\": \"{{warehouse_id}}\",\n  \"zone_id\": \"{{zone_id}}\",\n  \"location_id\": \"{{location_id}}\",\n  \"exclude_qty_from_available\": false,\n  \"force_elp\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//warehouses/warehouse/:warehouseID/locations/:locationID/update-settings","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>warehouseID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>locationID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>warehouse_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>zone_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>location_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>exclude_qty_from_available</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>force_elp</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","warehouses","warehouse",":warehouseID","locations",":locationID","update-settings"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"2209d43f-b038-4783-ad13-c91ef8e9d8f1","type":"any","value":"","key":"warehouseID"},{"id":"34809673-8907-475d-8a7f-45d6d908734e","type":"any","value":"","key":"locationID"}]}},"response":[],"_postman_id":"6a70b645-b3db-4902-97da-86ee51f20462"},{"name":"Warehouses locations categories list","id":"5cf7540a-ccbd-4c55-b52c-39f33c4c3c79","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//warehouses/warehouse/:warehouseID/locations/:locationID/categories","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>warehouseID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>locationID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","warehouses","warehouse",":warehouseID","locations",":locationID","categories"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""}],"variable":[{"id":"d8503fac-ddcf-4ce5-8944-9d6b066bdebd","type":"any","value":"","key":"warehouseID"},{"id":"63f9e85f-e9ab-4b29-a345-b75a28d5d10e","type":"any","value":"","key":"locationID"}]}},"response":[],"_postman_id":"5cf7540a-ccbd-4c55-b52c-39f33c4c3c79"},{"name":"Warehouses locations categories attach","id":"8b89f546-eda1-4740-9444-27d5d5fef011","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"warehouse_id\": \"{{warehouse_id}}\",\n  \"category_id\": \"{{category_id}}\",\n  \"location_id\": \"{{location_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//warehouses/warehouse/:warehouseID/locations/:locationID/categories/:categoryID/attach","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>warehouseID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>locationID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>categoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>warehouse_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>category_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>location_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","warehouses","warehouse",":warehouseID","locations",":locationID","categories",":categoryID","attach"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"e1abf830-a846-4d0d-ad22-d0b8b5b30121","type":"any","value":"","key":"warehouseID"},{"id":"ea716a01-cdb8-4797-99ab-3518c60a323a","type":"any","value":"","key":"locationID"},{"id":"cff75edb-b7d3-49f0-94d8-ca7b6928c989","type":"any","value":"","key":"categoryID"}]}},"response":[],"_postman_id":"8b89f546-eda1-4740-9444-27d5d5fef011"},{"name":"Warehouses locations categories detach","id":"7f917237-f303-4a63-bf91-5ae3854e86cc","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"warehouse_id\": \"{{warehouse_id}}\",\n  \"category_id\": \"{{category_id}}\",\n  \"location_id\": \"{{location_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//warehouses/warehouse/:warehouseID/locations/:locationID/categories/:categoryID/detach","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>warehouseID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>locationID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>categoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>warehouse_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>category_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>location_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","warehouses","warehouse",":warehouseID","locations",":locationID","categories",":categoryID","detach"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"ca522b28-e9a8-457b-bfc0-71a190157641","type":"any","value":"","key":"warehouseID"},{"id":"27125966-b932-462e-bf30-a9c0896fc006","type":"any","value":"","key":"locationID"},{"id":"6ef3cb39-95d1-47d6-a420-87080e8749cf","type":"any","value":"","key":"categoryID"}]}},"response":[],"_postman_id":"7f917237-f303-4a63-bf91-5ae3854e86cc"},{"name":"Warehouses categories count","id":"acc60a92-604b-44e5-bb77-7c2cf32bbe07","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//warehouses/warehouse/:warehouseID/categories/:categoryID/count","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>warehouseID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>categoryID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","warehouses","warehouse",":warehouseID","categories",":categoryID","count"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""}],"variable":[{"id":"01359dcb-8f0c-43d9-a533-539d95b041b1","type":"any","value":"","key":"warehouseID"},{"id":"a72655dd-2db7-4450-bb9f-25a3ec7ad708","type":"any","value":"","key":"categoryID"}]}},"response":[],"_postman_id":"acc60a92-604b-44e5-bb77-7c2cf32bbe07"},{"name":"Warehouses categories bulk create","id":"515b7041-8cd2-4e4a-a528-1939d36fbf71","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"warehouse_id\": \"{{warehouse_id}}\",\n  \"categories\": [\n    {\n      \"name\": \"name\",\n      \"parent_id\": \"{{parent_id}}\",\n      \"description\": \"\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//warehouses/warehouse/:warehouseID/categories/bulk-create","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>warehouseID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>warehouse_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>categories</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>categories.*.name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>categories.*.parent_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>categories.*.description</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","warehouses","warehouse",":warehouseID","categories","bulk-create"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"d38511ac-3cf2-4e24-8e0d-034887fb31fe","type":"any","value":"","key":"warehouseID"}]}},"response":[],"_postman_id":"515b7041-8cd2-4e4a-a528-1939d36fbf71"},{"name":"Warehouses categories bulk sync","id":"c68d1fad-f832-49cc-9a87-879568b1b2fc","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"warehouse_id\": \"{{warehouse_id}}\",\n  \"categories\": [\n    {\n      \"description\": \"\",\n      \"name\": \"name\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//warehouses/warehouse/:warehouseID/categories/bulk-sync","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>warehouseID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>warehouse_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>categories</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>categories.*.description</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>categories.*.name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","warehouses","warehouse",":warehouseID","categories","bulk-sync"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"32bbd479-a3f9-4973-ab84-233635287913","type":"any","value":"","key":"warehouseID"}]}},"response":[],"_postman_id":"c68d1fad-f832-49cc-9a87-879568b1b2fc"},{"name":"Warehouses categories bulk update","id":"b23cbd7f-0152-4e33-b73b-a647cc30f629","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"warehouse_id\": \"{{warehouse_id}}\",\n  \"categories\": [\n    {\n      \"id\": \"{{id}}\",\n      \"description\": \"\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//warehouses/warehouse/:warehouseID/categories/bulk-update","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>warehouseID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>warehouse_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>categories</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>categories.*.id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>categories.*.description</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","warehouses","warehouse",":warehouseID","categories","bulk-update"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"6805236c-0ac5-4a93-9ab2-3a0ba742f3b5","type":"any","value":"","key":"warehouseID"}]}},"response":[],"_postman_id":"b23cbd7f-0152-4e33-b73b-a647cc30f629"},{"name":"Warehouses list","id":"b60bc84b-799b-402b-b13e-7046e3371a00","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//warehouses","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>settings</code></li>\n<li><code>settings.address</code></li>\n<li><code>settings.contact</code></li>\n<li><code>settings.address.country</code></li>\n<li><code>settings.pickedLocation</code></li>\n<li><code>settings.deliveryLocation</code></li>\n<li><code>settings.assemblyLocation</code></li>\n<li><code>settings.returnLocation</code></li>\n<li><code>contacts</code></li>\n<li><code>contacts.user</code></li>\n<li><code>locations</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","warehouses"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>settings</code> - <code>settings.address</code> - <code>settings.contact</code> - <code>settings.address.country</code> - <code>settings.pickedLocation</code> - <code>settings.deliveryLocation</code> - <code>settings.assemblyLocation</code> - <code>settings.returnLocation</code> - <code>contacts</code> - <code>contacts.user</code> - <code>locations</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[]}},"response":[],"_postman_id":"b60bc84b-799b-402b-b13e-7046e3371a00"},{"name":"Warehouses show","id":"273fd614-6d5a-48be-9b56-8a33f36de48b","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//warehouses/:warehouseID","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>warehouseID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>settings</code></li>\n<li><code>settings.address</code></li>\n<li><code>settings.contact</code></li>\n<li><code>settings.address.country</code></li>\n<li><code>settings.pickedLocation</code></li>\n<li><code>settings.deliveryLocation</code></li>\n<li><code>settings.assemblyLocation</code></li>\n<li><code>settings.returnLocation</code></li>\n<li><code>contacts</code></li>\n<li><code>contacts.user</code></li>\n<li><code>locations</code></li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","warehouses",":warehouseID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>settings</code> - <code>settings.address</code> - <code>settings.contact</code> - <code>settings.address.country</code> - <code>settings.pickedLocation</code> - <code>settings.deliveryLocation</code> - <code>settings.assemblyLocation</code> - <code>settings.returnLocation</code> - <code>contacts</code> - <code>contacts.user</code> - <code>locations</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"1af1e109-ada8-4691-a220-5739496262d0","type":"any","value":"","key":"warehouseID"}]}},"response":[],"_postman_id":"273fd614-6d5a-48be-9b56-8a33f36de48b"},{"name":"Warehouses update","id":"6543ff03-972b-4216-8ebb-3c39bcedb2ab","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"warehouse_id\": \"{{warehouse_id}}\",\n  \"name\": \"name\",\n  \"settings\": {\n    \"location_structure\": \"1\",\n    \"description\": \"\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//warehouses/:warehouseID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>warehouseID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>warehouse_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>settings</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>settings.location_structure</code></td>\n<td>string</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code></td>\n</tr>\n<tr>\n<td><code>settings.description</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","warehouses",":warehouseID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"4c2c39be-3df2-4e8f-981c-825d641675f8","type":"any","value":"","key":"warehouseID"}]}},"response":[],"_postman_id":"6543ff03-972b-4216-8ebb-3c39bcedb2ab"},{"name":"Warehouses location information","id":"f8233b1f-755f-4b3c-962d-9c8e01d8491c","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"warehouse_id\": \"{{warehouse_id}}\",\n  \"picked_location_id\": \"{{picked_location_id}}\",\n  \"delivery_location_id\": \"{{delivery_location_id}}\",\n  \"assembly_location_id\": \"{{assembly_location_id}}\",\n  \"return_location_id\": \"{{return_location_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//warehouses/warehouse/:warehouseID/location-information","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>warehouseID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>warehouse_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>picked_location_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>delivery_location_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>assembly_location_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>return_location_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","warehouses","warehouse",":warehouseID","location-information"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"dfb98707-a332-415b-992d-4a22376ff8ab","type":"any","value":"","key":"warehouseID"}]}},"response":[],"_postman_id":"f8233b1f-755f-4b3c-962d-9c8e01d8491c"},{"name":"Warehouses update settings","id":"6940f8c1-3621-40a5-9d59-86b6cf9dfed8","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"warehouse_id\": \"{{warehouse_id}}\",\n  \"stock_control_types\": \"2\",\n  \"item_confirmation_type\": \"1\",\n  \"stock_control_enabled\": false,\n  \"remove_empty_stock_locations\": false,\n  \"require_location_scan\": false,\n  \"require_tote_scan_in_sorting\": false,\n  \"require_item_scan\": false,\n  \"allow_product_not_found\": false,\n  \"hide_unassigned_jobs\": false,\n  \"allow_location_skip\": false,\n  \"require_change_reasons\": false,\n  \"hide_zones\": false,\n  \"opportunity_stock_count\": false,\n  \"archive_completed_picks\": false,\n  \"archive_completed_delivery\": false,\n  \"archive_completed_movement\": false,\n  \"enforce_single_batch_per_location\": false,\n  \"allow_barcode_reuse\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//warehouses/warehouse/:warehouseID/update-settings","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>warehouseID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>warehouse_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>stock_control_types</code></td>\n<td>string</td>\n<td>no</td>\n<td>Allowed: <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>item_confirmation_type</code></td>\n<td>string</td>\n<td>no</td>\n<td>Allowed: <code>1</code>, <code>2</code></td>\n</tr>\n<tr>\n<td><code>stock_control_enabled</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>remove_empty_stock_locations</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>require_location_scan</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>require_tote_scan_in_sorting</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>require_item_scan</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>allow_product_not_found</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>hide_unassigned_jobs</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>allow_location_skip</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>require_change_reasons</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>hide_zones</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>opportunity_stock_count</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>archive_completed_picks</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>archive_completed_delivery</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>archive_completed_movement</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>enforce_single_batch_per_location</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>allow_barcode_reuse</code></td>\n<td>boolean</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","warehouses","warehouse",":warehouseID","update-settings"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"2192dac9-88da-4abb-b148-57aa255fc256","type":"any","value":"","key":"warehouseID"}]}},"response":[],"_postman_id":"6940f8c1-3621-40a5-9d59-86b6cf9dfed8"},{"name":"Warehouses actions stats","id":"3325b36e-ac4c-45ca-ad1d-042df0cd4e97","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//warehouses/stats","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","warehouses","stats"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""}],"variable":[]}},"response":[],"_postman_id":"3325b36e-ac4c-45ca-ad1d-042df0cd4e97"},{"name":"Warehouses actions get default warehouse","id":"dddd10eb-b820-4180-be2b-fdad3fb34ff4","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//warehouses/get-default-warehouse","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","warehouses","get-default-warehouse"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""}],"variable":[]}},"response":[],"_postman_id":"dddd10eb-b820-4180-be2b-fdad3fb34ff4"},{"name":"Warehouses actions delete","id":"1d9b0566-c5ca-456d-bc30-93fdf4d9967c","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//warehouses/warehouse/:warehouseID?company_id=&warehouse_id=","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>warehouseID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>warehouse_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","warehouses","warehouse",":warehouseID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"warehouse_id","value":""}],"variable":[{"id":"357d337d-fdee-4037-82b5-f0f198d0a573","type":"any","value":"","key":"warehouseID"}]}},"response":[],"_postman_id":"1d9b0566-c5ca-456d-bc30-93fdf4d9967c"},{"name":"Warehouses addresses create","id":"662fe50b-66d2-436a-a13e-045a3cd87415","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"warehouse_id\": \"{{warehouse_id}}\",\n  \"contact_firstname\": \"\",\n  \"contact_lastname\": \"\",\n  \"contact_email\": \"user@example.com\",\n  \"contact_phone\": \"\",\n  \"company_name\": \"\",\n  \"address_line_1\": \"address_line_1\",\n  \"address_line_2\": \"\",\n  \"city\": \"city\",\n  \"county\": \"\",\n  \"country_id\": \"{{country_id}}\",\n  \"postcode\": \"postcode\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//warehouses/warehouse/:warehouseID/addresses","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>warehouseID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>warehouse_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>contact_firstname</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>contact_lastname</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>contact_email</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>contact_phone</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>company_name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address_line_1</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>address_line_2</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>city</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>county</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>country_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>postcode</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","warehouses","warehouse",":warehouseID","addresses"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"77fd0784-1db4-499e-8e25-ae44de006679","type":"any","value":"","key":"warehouseID"}]}},"response":[],"_postman_id":"662fe50b-66d2-436a-a13e-045a3cd87415"},{"name":"Warehouses addresses delete","id":"429b1670-2595-45f8-991a-be97350105ba","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//warehouses/warehouse/:warehouseID/addresses?company_id=&warehouse_id=","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>warehouseID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>warehouse_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","warehouses","warehouse",":warehouseID","addresses"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"warehouse_id","value":""}],"variable":[{"id":"596df2bb-39b2-42fe-b649-8b094685b62b","type":"any","value":"","key":"warehouseID"}]}},"response":[],"_postman_id":"429b1670-2595-45f8-991a-be97350105ba"},{"name":"Warehouses contacts sync","id":"b7bbcd8a-21a1-4c45-95f7-e7bccd4de13a","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"warehouse_id\": \"{{warehouse_id}}\",\n  \"contacts\": [\n    {\n      \"user_id\": \"{{user_id}}\",\n      \"role_type\": \"1\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//warehouses/warehouse/:warehouseID/contacts/sync","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>warehouseID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>warehouse_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>contacts</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>contacts.*.user_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>contacts.*.role_type</code></td>\n<td>string</td>\n<td>yes</td>\n<td><strong>WarehouseContactRoleTypes</strong> values: - <code>1</code> = MANAGER - <code>2</code> = PICKER - <code>3</code> = PACKER - <code>4</code> = FORKLIFT_OPERATOR Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","warehouses","warehouse",":warehouseID","contacts","sync"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"7110e7cd-8ee0-40be-aa54-c80eea52dd70","type":"any","value":"","key":"warehouseID"}]}},"response":[],"_postman_id":"b7bbcd8a-21a1-4c45-95f7-e7bccd4de13a"},{"name":"Warehouses contacts list","id":"b21e833f-5723-4bf5-ab97-e95b42324229","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//warehouses/warehouse/:warehouseID/contacts","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>warehouseID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>warehouse_id</code></td>\n<td>Filter by Warehouse Id.</td>\n</tr>\n<tr>\n<td><code>role_type</code></td>\n<td>Filter by Role Type.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>user</code></li>\n<li><code>user.fileManager</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","warehouses","warehouse",":warehouseID","contacts"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Warehouse Id.</p>\n","type":"text/plain"},"key":"warehouse_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Role Type.</p>\n","type":"text/plain"},"key":"role_type","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>user</code> - <code>user.fileManager</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"8c3b9eb2-65f5-41cb-b2ee-2da0742e8904","type":"any","value":"","key":"warehouseID"}]}},"response":[],"_postman_id":"b21e833f-5723-4bf5-ab97-e95b42324229"},{"name":"Warehouses contacts create","id":"c3b66e7e-11cb-4384-8579-926e585fbb8f","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"warehouse_id\": \"{{warehouse_id}}\",\n  \"user_id\": \"{{user_id}}\",\n  \"role_type\": \"1\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//warehouses/warehouse/:warehouseID/contacts","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>warehouseID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>warehouse_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>user_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>role_type</code></td>\n<td>string</td>\n<td>yes</td>\n<td><strong>WarehouseContactRoleTypes</strong> values: - <code>1</code> = MANAGER - <code>2</code> = PICKER - <code>3</code> = PACKER - <code>4</code> = FORKLIFT_OPERATOR Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","warehouses","warehouse",":warehouseID","contacts"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"0ec5f323-7b73-4e22-b152-01d8437121f7","type":"any","value":"","key":"warehouseID"}]}},"response":[],"_postman_id":"c3b66e7e-11cb-4384-8579-926e585fbb8f"},{"name":"Warehouses contacts show","id":"f4df0f2e-d36a-4d8b-84c3-0992cb082108","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//warehouses/warehouse/:warehouseID/contacts/:contactID","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>warehouseID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>contactID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>user</code></li>\n<li><code>user.fileManager</code></li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","warehouses","warehouse",":warehouseID","contacts",":contactID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>user</code> - <code>user.fileManager</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"d9d700f0-77e0-46a6-8bf2-e0f75bccac6c","type":"any","value":"","key":"warehouseID"},{"id":"b5b29cd3-d01c-41df-8a27-758b683d933e","type":"any","value":"","key":"contactID"}]}},"response":[],"_postman_id":"f4df0f2e-d36a-4d8b-84c3-0992cb082108"},{"name":"Warehouses contacts update","id":"84f5cb6d-8f81-4320-9df9-5545751bd7de","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"warehouse_id\": \"{{warehouse_id}}\",\n  \"contact_id\": \"{{contact_id}}\",\n  \"user_id\": \"{{user_id}}\",\n  \"role_type\": \"1\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//warehouses/warehouse/:warehouseID/contacts/:contactID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>warehouseID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>contactID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>warehouse_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>contact_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>user_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>role_type</code></td>\n<td>string</td>\n<td>yes</td>\n<td><strong>WarehouseContactRoleTypes</strong> values: - <code>1</code> = MANAGER - <code>2</code> = PICKER - <code>3</code> = PACKER - <code>4</code> = FORKLIFT_OPERATOR Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","warehouses","warehouse",":warehouseID","contacts",":contactID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"599bfd81-2cce-494c-87f6-ec57adc312b8","type":"any","value":"","key":"warehouseID"},{"id":"3d6ff272-0198-4bb8-9dba-663e81f5d6dc","type":"any","value":"","key":"contactID"}]}},"response":[],"_postman_id":"84f5cb6d-8f81-4320-9df9-5545751bd7de"},{"name":"Warehouses contacts delete","id":"4c08a95d-68b8-4ab9-979d-15a4608298fb","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//warehouses/warehouse/:warehouseID/contacts/:contactID?company_id=&warehouse_id=&contact_id=","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>warehouseID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>contactID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>warehouse_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>contact_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","warehouses","warehouse",":warehouseID","contacts",":contactID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"warehouse_id","value":""},{"key":"contact_id","value":""}],"variable":[{"id":"275839fd-bcef-4e09-bf06-4af9c179da30","type":"any","value":"","key":"warehouseID"},{"id":"6f444c20-4e12-4542-afe5-3616224b0597","type":"any","value":"","key":"contactID"}]}},"response":[],"_postman_id":"4c08a95d-68b8-4ab9-979d-15a4608298fb"},{"name":"Warehouses zone bulk create","id":"e2b43410-b43c-47e1-b3ab-31a152554a35","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"warehouse_id\": \"{{warehouse_id}}\",\n  \"zones\": [\n    {\n      \"name\": \"name\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//warehouses/warehouse/:warehouse_id/zone/bulk-create","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>warehouse_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>warehouse_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>zones</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>zones.*.name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","warehouses","warehouse",":warehouse_id","zone","bulk-create"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"44559b25-460a-4091-b9a8-d7895fe8e846","type":"any","value":"","key":"warehouse_id"}]}},"response":[],"_postman_id":"e2b43410-b43c-47e1-b3ab-31a152554a35"},{"name":"Warehouses zone bulk update","id":"77f23d86-2118-4ae9-ab27-d32eb2d02cc1","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"warehouse_id\": \"{{warehouse_id}}\",\n  \"zones\": [\n    {\n      \"zone_id\": \"{{zone_id}}\",\n      \"name\": \"name\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//warehouses/warehouse/:warehouse_id/zone/bulk-update","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>warehouse_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>warehouse_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>zones</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>zones.*.zone_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>zones.*.name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","warehouses","warehouse",":warehouse_id","zone","bulk-update"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"bad6c844-91f1-4dda-ae56-4e2bb126fc81","type":"any","value":"","key":"warehouse_id"}]}},"response":[],"_postman_id":"77f23d86-2118-4ae9-ab27-d32eb2d02cc1"},{"name":"Warehouses zone bulk delete","id":"0cc3d0c1-a9eb-4d61-ad65-7b2831b59537","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"warehouse_id\": \"{{warehouse_id}}\",\n  \"zone_ids\": [\n    \"{{zone_id}}\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//warehouses/warehouse/:warehouse_id/zone/bulk-delete","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 20 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>warehouse_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>warehouse_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>zone_ids</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","warehouses","warehouse",":warehouse_id","zone","bulk-delete"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"8850f9f4-0a43-41a8-9a38-55df67b38208","type":"any","value":"","key":"warehouse_id"}]}},"response":[],"_postman_id":"0cc3d0c1-a9eb-4d61-ad65-7b2831b59537"},{"name":"Warehouses zone list","id":"8c4ba094-6c07-488b-912e-454c09f69f81","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//warehouses/warehouse/:warehouse_id/zone","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>warehouse_id</code></td>\n<td>string</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>warehouse_id</code></td>\n<td>Filter by Warehouse Id.</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>Filter by Name.</td>\n</tr>\n<tr>\n<td><code>location_name</code></td>\n<td>Filter by Location Name.</td>\n</tr>\n<tr>\n<td><code>location_type</code></td>\n<td>Filter by Location Type.</td>\n</tr>\n<tr>\n<td><code>location_code</code></td>\n<td>Filter by Location Code.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>locations</code></li>\n<li><code>locations.settings</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","warehouses","warehouse",":warehouse_id","zone"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Filter by Warehouse Id.</p>\n","type":"text/plain"},"key":"warehouse_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Name.</p>\n","type":"text/plain"},"key":"name","value":""},{"disabled":true,"description":{"content":"<p>Filter by Location Name.</p>\n","type":"text/plain"},"key":"location_name","value":""},{"disabled":true,"description":{"content":"<p>Filter by Location Type.</p>\n","type":"text/plain"},"key":"location_type","value":""},{"disabled":true,"description":{"content":"<p>Filter by Location Code.</p>\n","type":"text/plain"},"key":"location_code","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>locations</code> - <code>locations.settings</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"9bd232a7-50bd-40d6-9844-da7cf30f8591","type":"any","value":"","key":"warehouse_id"}]}},"response":[],"_postman_id":"8c4ba094-6c07-488b-912e-454c09f69f81"},{"name":"Warehouses zone create","id":"f6a13ef6-0c11-4835-82ba-92653370d79f","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"warehouse_id\": \"{{warehouse_id}}\",\n  \"name\": \"name\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//warehouses/warehouse/:warehouseID/zone","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>warehouseID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>warehouse_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","warehouses","warehouse",":warehouseID","zone"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"f5efde8d-fcff-4fdb-abd7-9199ed645710","type":"any","value":"","key":"warehouseID"}]}},"response":[],"_postman_id":"f6a13ef6-0c11-4835-82ba-92653370d79f"},{"name":"Warehouses zone show","id":"fcb369b7-739c-4ede-b125-0fc242ef33b2","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//warehouses/warehouse/:warehouseID/zone/:zoneID","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>warehouseID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>zoneID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>locations</code></li>\n<li><code>locations.settings</code></li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","warehouses","warehouse",":warehouseID","zone",":zoneID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>locations</code> - <code>locations.settings</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"6a582bc7-2fc7-4aba-b7e0-6efcf65789ed","type":"any","value":"","key":"warehouseID"},{"id":"51b35118-2ae5-4bf6-af79-0d4bd28a2a3c","type":"any","value":"","key":"zoneID"}]}},"response":[],"_postman_id":"fcb369b7-739c-4ede-b125-0fc242ef33b2"},{"name":"Warehouses zone update","id":"4f15077a-8946-41b6-b117-4f103388f930","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"company_id\": \"\",\n  \"warehouse_id\": \"{{warehouse_id}}\",\n  \"zone_id\": \"{{zone_id}}\",\n  \"name\": \"name\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//warehouses/warehouse/:warehouseID/zone/:zoneID","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>warehouseID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>zoneID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>warehouse_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>zone_id</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","warehouses","warehouse",":warehouseID","zone",":zoneID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"822fe23b-7685-4c36-b0d9-9b15d0d592f7","type":"any","value":"","key":"warehouseID"},{"id":"245b6668-f945-4499-849a-1cc71aefec34","type":"any","value":"","key":"zoneID"}]}},"response":[],"_postman_id":"4f15077a-8946-41b6-b117-4f103388f930"},{"name":"Warehouses zone delete","id":"a8c77a21-54b0-4c64-82a9-1f2dc6c9aabf","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//warehouses/warehouse/:warehouseID/zone/:zoneID?company_id=&warehouse_id=&zone_id=","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>warehouseID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>zoneID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>warehouse_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>zone_id</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","warehouses","warehouse",":warehouseID","zone",":zoneID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"warehouse_id","value":""},{"key":"zone_id","value":""}],"variable":[{"id":"853a3103-11ee-4eaa-a02d-126298a57179","type":"any","value":"","key":"warehouseID"},{"id":"76d897ca-7ff8-4f86-859a-70011c4ec6f3","type":"any","value":"","key":"zoneID"}]}},"response":[],"_postman_id":"a8c77a21-54b0-4c64-82a9-1f2dc6c9aabf"},{"name":"Warehouses zone filterable list","id":"b6a17bd6-52ed-4818-9539-b152a848c63c","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//warehouses/warehouse/:warehouseID/zone/filterable-list?company_id=&warehouse_id=&ignore_ids[]=","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>warehouseID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>company_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>warehouse_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>inventory_id</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>search</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>location_type</code></td>\n<td>Options: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code></td>\n</tr>\n<tr>\n<td><code>ignore_ids[]</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","warehouses","warehouse",":warehouseID","zone","filterable-list"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"key":"company_id","value":""},{"key":"warehouse_id","value":""},{"disabled":true,"key":"inventory_id","value":""},{"disabled":true,"key":"search","value":""},{"disabled":true,"key":"location_type","value":""},{"key":"ignore_ids[]","value":""}],"variable":[{"id":"cbe7e833-04d3-49a6-8881-cb7920c3eb0d","type":"any","value":"","key":"warehouseID"}]}},"response":[],"_postman_id":"b6a17bd6-52ed-4818-9539-b152a848c63c"}],"id":"82440de8-1229-4c7a-b8c2-bde871fb92ed","description":"<p><strong>Warehouses</strong> — 46 endpoints.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"82440de8-1229-4c7a-b8c2-bde871fb92ed","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Webhooks","item":[{"name":"Webhooks list","id":"be85b142-c90c-404b-af36-796bba7bf9a5","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//webhooks","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>filter</code></td>\n<td>Lift nested filter[] payload to top-level so QueryFilters dispatches correctly.</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>Filter by Name.</td>\n</tr>\n<tr>\n<td><code>event_type</code></td>\n<td>Filter by Event Type.</td>\n</tr>\n<tr>\n<td><code>method</code></td>\n<td>Filter by Method.</td>\n</tr>\n<tr>\n<td><code>is_active</code></td>\n<td>Filter by Is Active.</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>Filter by Status.</td>\n</tr>\n<tr>\n<td><code>url</code></td>\n<td>Filter by Url.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>company</code></li>\n<li><code>events</code></li>\n<li><code>jobs</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","webhooks"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Lift nested filter[] payload to top-level so QueryFilters dispatches correctly.</p>\n","type":"text/plain"},"key":"filter","value":""},{"disabled":true,"description":{"content":"<p>Filter by Name.</p>\n","type":"text/plain"},"key":"name","value":""},{"disabled":true,"description":{"content":"<p>Filter by Event Type.</p>\n","type":"text/plain"},"key":"event_type","value":""},{"disabled":true,"description":{"content":"<p>Filter by Method.</p>\n","type":"text/plain"},"key":"method","value":""},{"disabled":true,"description":{"content":"<p>Filter by Is Active.</p>\n","type":"text/plain"},"key":"is_active","value":""},{"disabled":true,"description":{"content":"<p>Filter by Status.</p>\n","type":"text/plain"},"key":"status","value":""},{"disabled":true,"description":{"content":"<p>Filter by Url.</p>\n","type":"text/plain"},"key":"url","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>company</code> - <code>events</code> - <code>jobs</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[]}},"response":[],"_postman_id":"be85b142-c90c-404b-af36-796bba7bf9a5"},{"name":"Webhooks create","id":"e0e98fc4-0239-4513-a4b5-534fff3f41b0","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"name\",\n  \"event_type\": 1,\n  \"url\": \"url\",\n  \"method\": 1,\n  \"interval_minutes\": 1,\n  \"is_active\": false,\n  \"auto_mark_as_synced\": false,\n  \"notify_on_job_failure\": false,\n  \"notify_on_auto_disabled\": false,\n  \"auth_method\": 1,\n  \"notification_emails\": [\n    \"user@example.com\"\n  ],\n  \"auth_config\": {\n    \"username\": \"\",\n    \"password\": \"\",\n    \"token\": \"\",\n    \"signing_secret\": \"signing_secret\",\n    \"signature_header_name\": \"\",\n    \"algorithm\": \"sha1\",\n    \"include_timestamp\": false,\n    \"timestamp_header_name\": \"\"\n  },\n  \"headers\": [\n    {\n      \"key\": \"\",\n      \"value\": \"\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//webhooks","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>event_type</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code>, <code>9</code>, <code>10</code>, <code>11</code>, <code>12</code>, <code>13</code>, <code>14</code>, <code>15</code>, <code>16</code>, <code>17</code></td>\n</tr>\n<tr>\n<td><code>url</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>method</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code></td>\n</tr>\n<tr>\n<td><code>interval_minutes</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>10</code>, <code>30</code>, <code>60</code></td>\n</tr>\n<tr>\n<td><code>is_active</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>auto_mark_as_synced</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>notify_on_job_failure</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>notify_on_auto_disabled</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>auth_method</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td><strong>WebhookAuthMethods</strong> values: - <code>1</code> = BASIC - <code>2</code> = BEARER - <code>3</code> = HMAC Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>notification_emails</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>auth_config</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>auth_config.username</code></td>\n<td>string</td>\n<td>no</td>\n<td>Basic Auth</td>\n</tr>\n<tr>\n<td><code>auth_config.password</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>auth_config.token</code></td>\n<td>string</td>\n<td>no</td>\n<td>Bearer Token</td>\n</tr>\n<tr>\n<td><code>auth_config.signing_secret</code></td>\n<td>string</td>\n<td>no</td>\n<td>HMAC</td>\n</tr>\n<tr>\n<td><code>auth_config.signature_header_name</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>auth_config.algorithm</code></td>\n<td>string</td>\n<td>no</td>\n<td>Allowed: <code>sha1</code>, <code>sha256</code>, <code>sha512</code></td>\n</tr>\n<tr>\n<td><code>auth_config.include_timestamp</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>auth_config.timestamp_header_name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>headers</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>headers.*.key</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>headers.*.value</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","webhooks"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"e0e98fc4-0239-4513-a4b5-534fff3f41b0"},{"name":"Webhooks ping","id":"a15af27b-3e4a-4fbc-89bd-9e635260783b","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"webhook_id\": \"{{webhook_id}}\",\n  \"url\": \"url\",\n  \"method\": 1,\n  \"auth_method\": 1,\n  \"auth_config\": {\n    \"username\": \"\",\n    \"password\": \"\",\n    \"token\": \"\",\n    \"signing_secret\": \"signing_secret\",\n    \"signature_header_name\": \"\",\n    \"algorithm\": \"sha1\",\n    \"include_timestamp\": false,\n    \"timestamp_header_name\": \"\"\n  },\n  \"headers\": [\n    {\n      \"key\": \"\",\n      \"value\": \"\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//webhooks/ping","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>webhook_id</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>Optional: when pinging an existing webhook, the caller sends its id so the backend can restore masked secrets from the stored record.</td>\n</tr>\n<tr>\n<td><code>url</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>method</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code></td>\n</tr>\n<tr>\n<td><code>auth_method</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td><strong>WebhookAuthMethods</strong> values: - <code>1</code> = BASIC - <code>2</code> = BEARER - <code>3</code> = HMAC Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>auth_config</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>auth_config.username</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>auth_config.password</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>auth_config.token</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>auth_config.signing_secret</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>auth_config.signature_header_name</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>auth_config.algorithm</code></td>\n<td>string</td>\n<td>no</td>\n<td>Allowed: <code>sha1</code>, <code>sha256</code>, <code>sha512</code></td>\n</tr>\n<tr>\n<td><code>auth_config.include_timestamp</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>auth_config.timestamp_header_name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>headers</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>headers.*.key</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>headers.*.value</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","webhooks","ping"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"a15af27b-3e4a-4fbc-89bd-9e635260783b"},{"name":"Webhooks show","id":"6c07d993-2372-4a8c-bcdd-5e982bfe4d59","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//webhooks/:webhookID","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>webhookID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","webhooks",":webhookID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""}],"variable":[{"id":"46c4989e-5dd8-459b-8208-9b9aa3e41a2a","type":"any","value":"","key":"webhookID"}]}},"response":[],"_postman_id":"6c07d993-2372-4a8c-bcdd-5e982bfe4d59"},{"name":"Webhooks update","id":"76391ef7-34ee-4c17-96b4-a2c252c2e51f","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"name\",\n  \"event_type\": 1,\n  \"url\": \"url\",\n  \"method\": 1,\n  \"interval_minutes\": 1,\n  \"is_active\": false,\n  \"auto_mark_as_synced\": false,\n  \"notify_on_job_failure\": false,\n  \"notify_on_auto_disabled\": false,\n  \"auth_method\": 1,\n  \"notification_emails\": [\n    \"user@example.com\"\n  ],\n  \"auth_config\": {\n    \"username\": \"\",\n    \"password\": \"\",\n    \"token\": \"\",\n    \"signing_secret\": \"signing_secret\",\n    \"signature_header_name\": \"\",\n    \"algorithm\": \"sha1\",\n    \"include_timestamp\": false,\n    \"timestamp_header_name\": \"\"\n  },\n  \"headers\": [\n    {\n      \"key\": \"\",\n      \"value\": \"\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//webhooks/:webhookID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>webhookID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>event_type</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code>, <code>9</code>, <code>10</code>, <code>11</code>, <code>12</code>, <code>13</code>, <code>14</code>, <code>15</code>, <code>16</code>, <code>17</code></td>\n</tr>\n<tr>\n<td><code>url</code></td>\n<td>string</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>method</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>2</code></td>\n</tr>\n<tr>\n<td><code>interval_minutes</code></td>\n<td>integer</td>\n<td>yes</td>\n<td>Allowed: <code>1</code>, <code>10</code>, <code>30</code>, <code>60</code></td>\n</tr>\n<tr>\n<td><code>is_active</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>auto_mark_as_synced</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>notify_on_job_failure</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>notify_on_auto_disabled</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>auth_method</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td><strong>WebhookAuthMethods</strong> values: - <code>1</code> = BASIC - <code>2</code> = BEARER - <code>3</code> = HMAC Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>notification_emails</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>auth_config</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>auth_config.username</code></td>\n<td>string</td>\n<td>no</td>\n<td>Basic Auth</td>\n</tr>\n<tr>\n<td><code>auth_config.password</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>auth_config.token</code></td>\n<td>string</td>\n<td>no</td>\n<td>Bearer Token</td>\n</tr>\n<tr>\n<td><code>auth_config.signing_secret</code></td>\n<td>string</td>\n<td>no</td>\n<td>HMAC</td>\n</tr>\n<tr>\n<td><code>auth_config.signature_header_name</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>auth_config.algorithm</code></td>\n<td>string</td>\n<td>no</td>\n<td>Allowed: <code>sha1</code>, <code>sha256</code>, <code>sha512</code></td>\n</tr>\n<tr>\n<td><code>auth_config.include_timestamp</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>auth_config.timestamp_header_name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>headers</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>headers.*.key</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>headers.*.value</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","webhooks",":webhookID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"5e3d3f07-af58-4fdb-8e1f-1b1c3e791ba8","type":"any","value":"","key":"webhookID"}]}},"response":[],"_postman_id":"76391ef7-34ee-4c17-96b4-a2c252c2e51f"},{"name":"Webhooks delete","id":"74705f3d-10b5-4188-af27-5a3319b1ffaa","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//webhooks/:webhookID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>webhookID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","webhooks",":webhookID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"edf8bcf2-ee83-42df-badf-808f68c7d689","type":"any","value":"","key":"webhookID"}]}},"response":[],"_postman_id":"74705f3d-10b5-4188-af27-5a3319b1ffaa"},{"name":"Webhooks toggle active","id":"e4a73c13-5445-4838-9251-9d30dda1938f","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"is_active\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//webhooks/:webhookID/toggle-active","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>webhookID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>is_active</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","webhooks",":webhookID","toggle-active"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"222fd165-ef39-4eb3-a0a9-7d8382215d0d","type":"any","value":"","key":"webhookID"}]}},"response":[],"_postman_id":"e4a73c13-5445-4838-9251-9d30dda1938f"},{"name":"Webhooks dropdowns event types","id":"cf671b26-7a6a-4d1b-a4b4-914438ba2ae6","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//webhooks/dropdowns/event-types","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","webhooks","dropdowns","event-types"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"description":{"content":"<p>NOTE: filters are FLAT query params named after the filter method (e.g. ?ids=1,2&amp;store_id=5), resolved by App\\Filters\\QueryFilters against top-level request keys — there is NO nested filter[...] contract at runtime, so none is declared/documented here.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"key":"sort_direction","value":""},{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"key":"page","value":""},{"disabled":true,"key":"per_page","value":""}],"variable":[]}},"response":[],"_postman_id":"cf671b26-7a6a-4d1b-a4b4-914438ba2ae6"},{"name":"Webhooks dropdowns methods","id":"3df07a61-7deb-490f-a3d2-3e4a0481f363","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//webhooks/dropdowns/methods","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","webhooks","dropdowns","methods"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"description":{"content":"<p>NOTE: filters are FLAT query params named after the filter method (e.g. ?ids=1,2&amp;store_id=5), resolved by App\\Filters\\QueryFilters against top-level request keys — there is NO nested filter[...] contract at runtime, so none is declared/documented here.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"key":"sort_direction","value":""},{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"key":"page","value":""},{"disabled":true,"key":"per_page","value":""}],"variable":[]}},"response":[],"_postman_id":"3df07a61-7deb-490f-a3d2-3e4a0481f363"},{"name":"Webhooks dropdowns intervals","id":"c536c124-c402-4204-9a28-7edac5b9e631","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//webhooks/dropdowns/intervals","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","webhooks","dropdowns","intervals"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"description":{"content":"<p>NOTE: filters are FLAT query params named after the filter method (e.g. ?ids=1,2&amp;store_id=5), resolved by App\\Filters\\QueryFilters against top-level request keys — there is NO nested filter[...] contract at runtime, so none is declared/documented here.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"key":"sort_direction","value":""},{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"key":"page","value":""},{"disabled":true,"key":"per_page","value":""}],"variable":[]}},"response":[],"_postman_id":"c536c124-c402-4204-9a28-7edac5b9e631"},{"name":"Webhooks jobs list","id":"506d0843-2bb3-4397-b19c-9b53eeb70b04","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//webhooks/:webhookID/jobs","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>webhookID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>filter[status]</code></td>\n<td>Options: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>filter[try_count_min]</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>filter[try_count_max]</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>filter[last_response_code]</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>filter[date_from]</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>filter[date_to]</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>filter[resource_search]</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>webhook_id</code></td>\n<td>Filter by Webhook Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>Filter by Status.</td>\n</tr>\n<tr>\n<td><code>try_count_min</code></td>\n<td>Filter by Try Count Min.</td>\n</tr>\n<tr>\n<td><code>try_count_max</code></td>\n<td>Filter by Try Count Max.</td>\n</tr>\n<tr>\n<td><code>last_response_code</code></td>\n<td>Filter by Last Response Code.</td>\n</tr>\n<tr>\n<td><code>date_from</code></td>\n<td>Filter by Date From.</td>\n</tr>\n<tr>\n<td><code>date_to</code></td>\n<td>Filter by Date To.</td>\n</tr>\n<tr>\n<td><code>resource_ids</code></td>\n<td>Filter by Resource Ids.</td>\n</tr>\n<tr>\n<td><code>method</code></td>\n<td>Filter by Method.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>webhook</code></li>\n<li><code>events</code></li>\n<li><code>logs</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","webhooks",":webhookID","jobs"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"key":"filter[status]","value":""},{"disabled":true,"key":"filter[try_count_min]","value":""},{"disabled":true,"key":"filter[try_count_max]","value":""},{"disabled":true,"key":"filter[last_response_code]","value":""},{"disabled":true,"key":"filter[date_from]","value":""},{"disabled":true,"key":"filter[date_to]","value":""},{"disabled":true,"key":"filter[resource_search]","value":""},{"disabled":true,"description":{"content":"<p>Filter by Webhook Id.</p>\n","type":"text/plain"},"key":"webhook_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Status.</p>\n","type":"text/plain"},"key":"status","value":""},{"disabled":true,"description":{"content":"<p>Filter by Try Count Min.</p>\n","type":"text/plain"},"key":"try_count_min","value":""},{"disabled":true,"description":{"content":"<p>Filter by Try Count Max.</p>\n","type":"text/plain"},"key":"try_count_max","value":""},{"disabled":true,"description":{"content":"<p>Filter by Last Response Code.</p>\n","type":"text/plain"},"key":"last_response_code","value":""},{"disabled":true,"description":{"content":"<p>Filter by Date From.</p>\n","type":"text/plain"},"key":"date_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Date To.</p>\n","type":"text/plain"},"key":"date_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Resource Ids.</p>\n","type":"text/plain"},"key":"resource_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Method.</p>\n","type":"text/plain"},"key":"method","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>webhook</code> - <code>events</code> - <code>logs</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"e4bfeb2d-ec6d-4624-8611-1f52ab04bb6b","type":"any","value":"","key":"webhookID"}]}},"response":[],"_postman_id":"506d0843-2bb3-4397-b19c-9b53eeb70b04"},{"name":"Webhooks jobs show","id":"81e94b27-57cd-44e3-9322-83dc10ada982","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//webhooks/:webhookID/jobs/:jobID","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>webhookID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>jobID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","webhooks",":webhookID","jobs",":jobID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""}],"variable":[{"id":"cf43e8a8-876d-4933-8fd9-a54e4f250f6c","type":"any","value":"","key":"webhookID"},{"id":"9bd7e4ea-8e6d-4fc3-9e5f-0e44405c4a48","type":"any","value":"","key":"jobID"}]}},"response":[],"_postman_id":"81e94b27-57cd-44e3-9322-83dc10ada982"},{"name":"Webhooks jobs delete","id":"9aad0399-6f10-4e27-98ab-79cac39313b4","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//webhooks/:webhookID/jobs/:jobID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>webhookID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>jobID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","webhooks",":webhookID","jobs",":jobID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"b652fea1-80c5-4e9e-ab0e-0537c3f45210","type":"any","value":"","key":"webhookID"},{"id":"a939b433-49d3-4293-81d2-2ce7519767d9","type":"any","value":"","key":"jobID"}]}},"response":[],"_postman_id":"9aad0399-6f10-4e27-98ab-79cac39313b4"},{"name":"Webhooks jobs resend","id":"65a76963-bcea-4401-8a43-d897f3a71c58","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//webhooks/:webhookID/jobs/:jobID/resend","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>webhookID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>jobID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","webhooks",":webhookID","jobs",":jobID","resend"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"86195424-719c-453d-ba02-2862b5cc3136","type":"any","value":"","key":"webhookID"},{"id":"ba88c8c8-a366-4fcd-bb03-8f989566804d","type":"any","value":"","key":"jobID"}]}},"response":[],"_postman_id":"65a76963-bcea-4401-8a43-d897f3a71c58"},{"name":"Webhooks jobs logs list","id":"60bbdeae-133c-4de1-9c72-6f12b2de6958","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//webhooks/:webhookID/jobs/:jobID/logs","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>webhookID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>jobID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>filter</code></td>\n<td>Lift nested filter[] payload to top-level so QueryFilters dispatches correctly.</td>\n</tr>\n<tr>\n<td><code>webhook_job_id</code></td>\n<td>Filter by Webhook Job Id.</td>\n</tr>\n<tr>\n<td><code>job_id</code></td>\n<td>Route-param alias for {job_id} in /webhooks/{webhook_id}/jobs/{job_id}/logs.</td>\n</tr>\n<tr>\n<td><code>attempt_number</code></td>\n<td>Filter by Attempt Number.</td>\n</tr>\n<tr>\n<td><code>response_status_code</code></td>\n<td>Filter by Response Status Code.</td>\n</tr>\n<tr>\n<td><code>sent_at_from</code></td>\n<td>Filter by Sent At From.</td>\n</tr>\n<tr>\n<td><code>sent_at_to</code></td>\n<td>Filter by Sent At To.</td>\n</tr>\n<tr>\n<td><code>request_method</code></td>\n<td>Filter by Request Method.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"includes\">Includes</h4>\n<p>Eager-load related resources with a comma-separated <code>includes</code> parameter, e.g. <code>?includes=items,customer</code>.</p>\n<p><strong>Allowed relations:</strong></p>\n<ul>\n<li><code>job</code></li>\n</ul>\n<h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","webhooks",":webhookID","jobs",":jobID","logs"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"description":{"content":"<p>Lift nested filter[] payload to top-level so QueryFilters dispatches correctly.</p>\n","type":"text/plain"},"key":"filter","value":""},{"disabled":true,"description":{"content":"<p>Filter by Webhook Job Id.</p>\n","type":"text/plain"},"key":"webhook_job_id","value":""},{"disabled":true,"description":{"content":"<p>Route-param alias for {job_id} in /webhooks/{webhook_id}/jobs/{job_id}/logs.</p>\n","type":"text/plain"},"key":"job_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Attempt Number.</p>\n","type":"text/plain"},"key":"attempt_number","value":""},{"disabled":true,"description":{"content":"<p>Filter by Response Status Code.</p>\n","type":"text/plain"},"key":"response_status_code","value":""},{"disabled":true,"description":{"content":"<p>Filter by Sent At From.</p>\n","type":"text/plain"},"key":"sent_at_from","value":""},{"disabled":true,"description":{"content":"<p>Filter by Sent At To.</p>\n","type":"text/plain"},"key":"sent_at_to","value":""},{"disabled":true,"description":{"content":"<p>Filter by Request Method.</p>\n","type":"text/plain"},"key":"request_method","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\"). Allowed relations: - <code>job</code></p>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[{"id":"ddadd76b-83ff-4253-8b6d-6c01ca38031e","type":"any","value":"","key":"webhookID"},{"id":"da8f42dd-168d-4c26-aeaa-1828542f626e","type":"any","value":"","key":"jobID"}]}},"response":[],"_postman_id":"60bbdeae-133c-4de1-9c72-6f12b2de6958"},{"name":"Webhooks jobs logs show","id":"f9a009a4-ec8b-494a-a1f7-93c2fb567bc0","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//webhooks/:webhookID/jobs/:jobID/logs/:logID","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>webhookID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>jobID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>logID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?status=2&amp;created_at_from=2024-01-01</code>). Range filters expose <code>&lt;field&gt;_from</code> / <code>&lt;field&gt;_to</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","webhooks",":webhookID","jobs",":jobID","logs",":logID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""}],"variable":[{"id":"ef2f1b0f-de1c-413f-9849-47b1fecba228","type":"any","value":"","key":"webhookID"},{"id":"5c86a1e0-9301-466d-8160-97b8637f5a71","type":"any","value":"","key":"jobID"},{"id":"174694f3-a165-4022-8479-1ff986500cfc","type":"any","value":"","key":"logID"}]}},"response":[],"_postman_id":"f9a009a4-ec8b-494a-a1f7-93c2fb567bc0"},{"name":"Webhooks events mark synced","id":"c1223ef8-b2a4-41f3-b2b9-3da332a748e5","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"event_ids\": [\n    \"{{event_id}}\"\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//webhooks/:webhookID/events/mark-synced","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>webhookID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>event_ids</code></td>\n<td>array</td>\n<td>yes</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","webhooks",":webhookID","events","mark-synced"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"839bf112-114f-4ba2-8b6f-ec8f340d25c9","type":"any","value":"","key":"webhookID"}]}},"response":[],"_postman_id":"c1223ef8-b2a4-41f3-b2b9-3da332a748e5"}],"id":"b8de5cc9-10a9-441a-a0ea-309a749bf30e","description":"<p><strong>Webhooks</strong> — 17 endpoints.</p>\n<p>List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination. See each request for the parameters it accepts.</p>\n","_postman_id":"b8de5cc9-10a9-441a-a0ea-309a749bf30e","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Hooks","item":[{"name":"Hooks list","id":"f396f268-73d6-4887-af06-cf1ef76798a5","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//hooks","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"filters\">Filters</h4>\n<p>Pass these as flat query-string parameters (e.g. <code>?hook_point=label.request.before_send&amp;is_active=1</code>).</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>includes_count</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>filter</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>hook_point</code></td>\n<td>Filter by Hook Point.</td>\n</tr>\n<tr>\n<td><code>is_active</code></td>\n<td>Filter by Is Active.</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Filter by Id.</td>\n</tr>\n<tr>\n<td><code>ids</code></td>\n<td>Filter by Ids.</td>\n</tr>\n<tr>\n<td><code>excepted_ids</code></td>\n<td>Filter by Excepted Ids.</td>\n</tr>\n<tr>\n<td><code>ignore_ids</code></td>\n<td>Filter by Ignore Ids.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sorting--pagination\">Sorting &amp; pagination</h4>\n<ul>\n<li><strong>Sorting:</strong> <code>sort_by=&lt;field&gt;</code> with <code>sort_direction=asc|desc</code>.</li>\n<li><strong>Pagination:</strong> cursor-based by default — follow the opaque <code>cursor</code> from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code>. Pass <code>?page=N</code> for classic page pagination. <code>per_page</code> defaults to 10 (max 250).</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","hooks"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""},{"disabled":true,"key":"filter","value":""},{"disabled":true,"description":{"content":"<p>Filter by Hook Point.</p>\n","type":"text/plain"},"key":"hook_point","value":""},{"disabled":true,"description":{"content":"<p>Filter by Is Active.</p>\n","type":"text/plain"},"key":"is_active","value":""},{"disabled":true,"description":{"content":"<p>Filter by Id.</p>\n","type":"text/plain"},"key":"id","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ids.</p>\n","type":"text/plain"},"key":"ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Excepted Ids.</p>\n","type":"text/plain"},"key":"excepted_ids","value":""},{"disabled":true,"description":{"content":"<p>Filter by Ignore Ids.</p>\n","type":"text/plain"},"key":"ignore_ids","value":""},{"disabled":true,"description":{"content":"<p>Field to sort the collection by.</p>\n","type":"text/plain"},"key":"sort_by","value":""},{"disabled":true,"description":{"content":"<p>Sort direction: \"asc\" or \"desc\".</p>\n","type":"text/plain"},"key":"sort_direction","value":""},{"disabled":true,"description":{"content":"<p>Items per page. Default 10, maximum 250 (values above 250 are rejected with 422).</p>\n","type":"text/plain"},"key":"per_page","value":"10"},{"disabled":true,"description":{"content":"<p>Opaque cursor token from <code>meta.next_cursor</code> / <code>meta.prev_cursor</code> of a previous response. Cursor pagination is the default mode for list endpoints — pass <code>?page=</code> instead to use classic page pagination.</p>\n","type":"text/plain"},"key":"cursor","value":""},{"disabled":true,"description":{"content":"<p>Page number for classic page pagination. Sending this parameter opts out of the default cursor mode.</p>\n","type":"text/plain"},"key":"page","value":""},{"disabled":true,"description":{"content":"<p>Comma-separated list of related resources to eager-load (e.g. \"items,customer\").</p>\n<p>Allowed relations:</p>\n<ul>\n<li><code>company</code></li>\n</ul>\n","type":"text/plain"},"key":"includes","value":""}],"variable":[]}},"response":[],"_postman_id":"f396f268-73d6-4887-af06-cf1ef76798a5"},{"name":"Hooks create","id":"c4e808e8-7e09-4178-b30f-7750f438a248","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"hook_point\": \"label.request.before_send\",\n  \"url\": \"https://app.example.com/helm/pre-voila\",\n  \"description\": \"Adds Detrack delivery slot\",\n  \"timeout_ms\": 2500,\n  \"on_failure\": \"fail\",\n  \"priority\": 7,\n  \"is_active\": true,\n  \"headers\": [\n    {\n      \"key\": \"X-Tenant\",\n      \"value\": \"acme\"\n    }\n  ],\n  \"auth_method\": 3,\n  \"auth_config\": {\n    \"signing_secret\": \"change-me-secret\",\n    \"signature_header_name\": \"X-Helm-Signature\",\n    \"algorithm\": \"sha256\",\n    \"include_timestamp\": true,\n    \"timestamp_header_name\": \"X-Helm-Timestamp\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//hooks","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<p>Register a hook. A hook is an HTTPS URL Helm calls at the given hook point with prepared data; the JSON object you return under <code>payload</code> replaces that data before Helm continues.</p>\n<p>Hook point <code>label.request.before_send</code>: Helm POSTs <code>{hook_point, hook_id, sent_at, context, payload}</code> where <code>payload</code> is the shipment object of the create-label request and <code>context</code> holds the company, shipment, order, courier and request ids. Answer <code>2xx</code> with <code>{\"payload\": {...}}</code> within <code>timeout_ms</code>. Any other answer is handled per <code>on_failure</code>: <code>continue</code> sends the label with the unmodified payload, <code>fail</code> blocks the label and shows your <code>message</code> to the user.</p>\n<p>Registered with an App Store token, the hook belongs to that app: it is deleted when the app is uninstalled and paused while the app is deactivated.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>hook_point</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>label.request.before_send</code></td>\n</tr>\n<tr>\n<td><code>url</code></td>\n<td>string</td>\n<td>yes</td>\n<td>HTTPS URL Helm will POST to.</td>\n</tr>\n<tr>\n<td><code>description</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>timeout_ms</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>on_failure</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Allowed: <code>continue</code>, <code>fail</code></td>\n</tr>\n<tr>\n<td><code>priority</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>is_active</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>auth_method</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td><strong>WebhookAuthMethods</strong> values: - <code>1</code> = BASIC - <code>2</code> = BEARER - <code>3</code> = HMAC Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>auth_config</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>auth_config.username</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>auth_config.password</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>auth_config.token</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>auth_config.signing_secret</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>auth_config.signature_header_name</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>auth_config.algorithm</code></td>\n<td>string</td>\n<td>no</td>\n<td>Allowed: <code>sha1</code>, <code>sha256</code>, <code>sha512</code></td>\n</tr>\n<tr>\n<td><code>auth_config.include_timestamp</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>auth_config.timestamp_header_name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>headers</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>headers.*.key</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>headers.*.value</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","hooks"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"c4e808e8-7e09-4178-b30f-7750f438a248"},{"name":"Hooks show","id":"80fee884-4f2e-40d8-9c8c-10246234f607","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//hooks/:hookID","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>hookID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","hooks",":hookID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"disabled":true,"key":"includes_count","value":""}],"variable":[{"id":"2287eeb5-ef4f-4ae3-bbff-19774b0bfb9b","type":"any","value":"","key":"hookID"}]}},"response":[],"_postman_id":"80fee884-4f2e-40d8-9c8c-10246234f607"},{"name":"Hooks update","id":"649363cf-a3a6-422a-b096-c6aa292f4aad","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"hook_point\": \"label.request.before_send\",\n  \"url\": \"https://app.example.com/helm/pre-voila\",\n  \"description\": \"Adds Detrack delivery slot\",\n  \"timeout_ms\": 2500,\n  \"on_failure\": \"fail\",\n  \"priority\": 7,\n  \"is_active\": true,\n  \"headers\": [\n    {\n      \"key\": \"X-Tenant\",\n      \"value\": \"acme\"\n    }\n  ],\n  \"auth_method\": 3,\n  \"auth_config\": {\n    \"signing_secret\": \"change-me-secret\",\n    \"signature_header_name\": \"X-Helm-Signature\",\n    \"algorithm\": \"sha256\",\n    \"include_timestamp\": true,\n    \"timestamp_header_name\": \"X-Helm-Timestamp\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//hooks/:hookID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<p>Replace a hook. <code>hook_point</code> and <code>url</code> are required, with the same rules as when registering; every other field you omit is reset to its default. A missing id, or one that belongs to another company, answers <code>404</code>.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>hookID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>hook_point</code></td>\n<td>string</td>\n<td>yes</td>\n<td>Allowed: <code>label.request.before_send</code></td>\n</tr>\n<tr>\n<td><code>url</code></td>\n<td>string</td>\n<td>yes</td>\n<td>HTTPS URL Helm will POST to.</td>\n</tr>\n<tr>\n<td><code>description</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>timeout_ms</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>on_failure</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Allowed: <code>continue</code>, <code>fail</code></td>\n</tr>\n<tr>\n<td><code>priority</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>is_active</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>auth_method</code></td>\n<td>integer | null</td>\n<td>no</td>\n<td><strong>WebhookAuthMethods</strong> values: - <code>1</code> = BASIC - <code>2</code> = BEARER - <code>3</code> = HMAC Allowed: <code>1</code>, <code>2</code>, <code>3</code></td>\n</tr>\n<tr>\n<td><code>auth_config</code></td>\n<td>object</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>auth_config.username</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>auth_config.password</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>Secrets are optional on update: omit one (or send the masked value back) to keep the stored secret. Registration requires them.</td>\n</tr>\n<tr>\n<td><code>auth_config.token</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>auth_config.signing_secret</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>auth_config.signature_header_name</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>auth_config.algorithm</code></td>\n<td>string</td>\n<td>no</td>\n<td>Allowed: <code>sha1</code>, <code>sha256</code>, <code>sha512</code></td>\n</tr>\n<tr>\n<td><code>auth_config.include_timestamp</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>auth_config.timestamp_header_name</code></td>\n<td>string | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>headers</code></td>\n<td>array | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>headers.*.key</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n<tr>\n<td><code>headers.*.value</code></td>\n<td>string</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","hooks",":hookID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"b51c1304-3a2a-4e17-91c1-b2556fac94e7","type":"any","value":"","key":"hookID"}]}},"response":[],"_postman_id":"649363cf-a3a6-422a-b096-c6aa292f4aad"},{"name":"Hooks delete","id":"da17f564-f1f8-4128-b208-aaeca13cb0f6","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//hooks/:hookID","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<p>Delete a hook. Answers <code>204</code> with no body. A missing id, or one that belongs to another company, answers <code>404</code>.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>hookID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","hooks",":hookID"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"118c856f-936a-4a62-abe6-9f5fe8b77f50","type":"any","value":"","key":"hookID"}]}},"response":[],"_postman_id":"da17f564-f1f8-4128-b208-aaeca13cb0f6"},{"name":"Hooks toggle active","id":"bd3e292e-4cd4-4d0a-aec5-8a0e5e970d81","request":{"method":"PATCH","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"is_active\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//hooks/:hookID/toggle-active","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<p>Switch a hook on or off without resending its definition. Send <code>is_active</code> to set the state explicitly, or an empty body to flip the current state. An inactive hook is kept but not called. Answers <code>200</code> with the hook. A missing id, or one that belongs to another company (or another app), answers <code>404</code>.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>hookID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>is_active</code></td>\n<td>boolean | null</td>\n<td>no</td>\n<td>—</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","hooks",":hookID","toggle-active"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"48f564b3-8cc5-42db-b4cf-b922acc31c24","type":"any","value":"","key":"hookID"}]}},"response":[],"_postman_id":"bd3e292e-4cd4-4d0a-aec5-8a0e5e970d81"}],"id":"5b43690a-f438-4f9f-82cd-2d3b054dd92d","description":"<p><strong>Hooks</strong> — 5 endpoints.</p>\n<p>A hook is an HTTPS URL Helm calls at a defined point of its own processing (currently <code>label.request.before_send</code>, just before a shipment label request is sent to the courier) so your system can adjust the data before Helm continues. List endpoints support filtering (flat query params), <code>includes</code> (eager-loaded relations), <code>sort_by</code> / <code>sort_direction</code>, and cursor pagination.</p>\n","_postman_id":"5b43690a-f438-4f9f-82cd-2d3b054dd92d","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Fulfilment","item":[{"name":"Location Counts","id":"4d4077e6-703f-4078-9552-490b6c73d846","request":{"method":"POST","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"},{"key":"X-XSRF-TOKEN","value":"{{xsrf-token}}","type":"text"},{"key":"Referer","value":"{{referrer}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"type\": 1,\n    // \"inventory_ids\": [1,2], \n    \"inventory_code\": \"test-\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//fulfilment/location-counts","description":"<p><strong>Full Mode only.</strong> This endpoint needs Full Mode (advanced stock control) on the company's primary warehouse. A company in Basic Mode has no warehouse locations, so the request is rejected with <code>403 Forbidden</code> before it reaches the resource. Switch the warehouse to Full Mode in Settings to use it.</p>\n<p><strong>POST</strong> endpoint. Filters travel in the JSON request body (not the query string), so <code>inventory_ids</code> can carry a large id list without hitting <code>max_input_vars</code> or URL-length limits.</p>\n<p>Returns, for every warehouse location type, a <code>qty</code> computed from the inventory-location links (<code>inventory_location_stocks</code>). The <code>type</code> body field selects the calculation method.</p>\n<p><strong>Rate limit:</strong> 120 requests/minute (read tier), per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers. Errors are returned as RFC 9457 <code>application/problem+json</code>.</p>\n<h3 id=\"path-parameters\">Path parameters</h3>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>company_id</td>\n<td>integer</td>\n<td>yes</td>\n<td>Company id.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"request-body-applicationjson\">Request body (application/json)</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>type</td>\n<td>integer (1-4)</td>\n<td>yes</td>\n<td>Calculation method. <code>1</code> = all inventory-location links (no stock filter); <code>2</code> = distinct locations (no stock filter); <code>3</code> = links with physical stock (quantity &gt; 0); <code>4</code> = distinct locations with physical stock (quantity &gt; 0).</td>\n</tr>\n<tr>\n<td>warehouse_id</td>\n<td>integer</td>\n<td>no</td>\n<td>Restrict the count to a single warehouse. Omit for a company-wide count.</td>\n</tr>\n<tr>\n<td>inventory_ids</td>\n<td>integer[]</td>\n<td>no</td>\n<td>Filter by an explicit list of inventory ids (bulk). Mutually exclusive with inventory_code.</td>\n</tr>\n<tr>\n<td>inventory_code</td>\n<td>string</td>\n<td>no</td>\n<td>Filter by inventory code prefix (case-insensitive <code>LIKE 'value%'</code>), e.g. <code>abc-</code> matches all products whose code starts with <code>abc-</code>. Mutually exclusive with inventory_ids.</td>\n</tr>\n</tbody>\n</table>\n</div><p><code>inventory_ids</code> and <code>inventory_code</code> are mutually exclusive — sending both returns <strong>422</strong>.</p>\n<h3 id=\"response\">Response</h3>\n<p>An array with one entry per location type (all six are always present; <code>qty</code> is <code>0</code> when a type has no matching links).</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>type_id</td>\n<td>integer</td>\n<td>Location type id (1 storage, 2 sort_wall, 3 goods_in, 4 returns, 5 assembly, 6 goods_out).</td>\n</tr>\n<tr>\n<td>type_name</td>\n<td>string</td>\n<td>Location type slug.</td>\n</tr>\n<tr>\n<td>qty</td>\n<td>integer</td>\n<td>Count for the selected <code>type</code>.</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","fulfilment","location-counts"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[{"id":"e64c34b4-7c80-4496-a6aa-fd29221302ae","name":"Location Counts - 200 OK","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"},{"key":"X-XSRF-TOKEN","value":"{{xsrf-token}}","type":"text"},{"key":"Referer","value":"{{referrer}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"type\": 1\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//fulfilment/location-counts"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Cache-Control","value":"no-cache, private"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": [\n        {\n            \"type_id\": 1,\n            \"type_name\": \"storage\",\n            \"qty\": 19\n        },\n        {\n            \"type_id\": 2,\n            \"type_name\": \"sort_wall\",\n            \"qty\": 0\n        },\n        {\n            \"type_id\": 3,\n            \"type_name\": \"goods_in\",\n            \"qty\": 1\n        },\n        {\n            \"type_id\": 4,\n            \"type_name\": \"returns\",\n            \"qty\": 1\n        },\n        {\n            \"type_id\": 5,\n            \"type_name\": \"assembly\",\n            \"qty\": 0\n        },\n        {\n            \"type_id\": 6,\n            \"type_name\": \"goods_out\",\n            \"qty\": 4\n        }\n    ],\n    \"success\": true,\n    \"execution_time\": \"0.045\"\n}"},{"id":"296adf99-f0d4-46d9-807a-fd7553a6c3ef","name":"Location Counts - 403 Basic mode","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"},{"key":"X-XSRF-TOKEN","value":"{{xsrf-token}}","type":"text"},{"key":"Referer","value":"{{referrer}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"type\": 1\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//fulfilment/location-counts"},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/problem+json"},{"key":"Cache-Control","value":"no-cache, private"}],"cookie":[],"responseTime":null,"body":"{\n    \"type\": \"about:blank\",\n    \"title\": \"Forbidden\",\n    \"status\": 403,\n    \"detail\": \"You cannot do this because you do not use the full stock structure!\",\n    \"instance\": \"/api/v2/companies/1/fulfilment/location-counts\"\n}"},{"id":"55dc506c-5b76-492d-83fa-d2242cfdb503","name":"Location Counts - 422 Both inventory filters","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"},{"key":"X-XSRF-TOKEN","value":"{{xsrf-token}}","type":"text"},{"key":"Referer","value":"{{referrer}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"type\": 1\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//fulfilment/location-counts"},"status":"Unprocessable Entity","code":422,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/problem+json"},{"key":"Cache-Control","value":"no-cache, private"}],"cookie":[],"responseTime":null,"body":"{\n    \"type\": \"about:blank\",\n    \"title\": \"Unprocessable Entity\",\n    \"status\": 422,\n    \"detail\": \"The given data was invalid.\",\n    \"instance\": \"/api/v2/companies/1/fulfilment/location-counts\",\n    \"errors\": {\n        \"inventory_ids\": [\n            \"The Inventories field prohibits Inventory Code from being present.\"\n        ],\n        \"inventory_code\": [\n            \"The Inventory Code field prohibits Inventories from being present.\"\n        ]\n    }\n}"}],"_postman_id":"4d4077e6-703f-4078-9552-490b6c73d846"}],"id":"4c1aed3e-b136-4757-abda-97c90de969f0","_postman_id":"4c1aed3e-b136-4757-abda-97c90de969f0","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Apps","item":[{"name":"Installed Apps","event":[{"listen":"test","script":{"exec":["const EXPECTED_KEYS = [","    'slug', 'id', 'name', 'description', 'active', 'status', 'source',","    'installed_at', 'logo', 'developer', 'headline', 'rating', 'prices',","    'inapp_purchases', 'billing_type',","];","","pm.test('200 OK', () => pm.response.to.have.status(200));","","pm.test('body is wrapped in a data array', () => {","    const body = pm.response.json();","    pm.expect(body).to.have.property('data');","    pm.expect(body.data).to.be.an('array');","});","","pm.test('every row has the exact same 15 keys', () => {","    pm.response.json().data.forEach((row, i) => {","        pm.expect(Object.keys(row).sort(), `row ${i}`).to.eql([...EXPECTED_KEYS].sort());","    });","});","","pm.test('source is one of app_store / internal / ai_app', () => {","    pm.response.json().data.forEach((row, i) => {","        pm.expect(['app_store', 'internal', 'ai_app'], `row ${i} (${row.slug})`).to.include(row.source);","    });","});","","pm.test('active is a real boolean, never a string or number', () => {","    pm.response.json().data.forEach((row, i) => {","        pm.expect(row.active, `row ${i} (${row.slug})`).to.be.a('boolean');","    });","});","","pm.test('id is null for app_store and internal, numeric for ai_app', () => {","    pm.response.json().data.forEach((row) => {","        if (row.source === 'ai_app') {","            pm.expect(row.id, `${row.slug} (ai_app)`).to.be.a('number');","        } else {","            pm.expect(row.id, `${row.slug} (${row.source})`).to.equal(null);","        }","    });","});","","pm.test('status is only populated for ai_app rows', () => {","    pm.response.json().data.forEach((row) => {","        if (row.source !== 'ai_app') {","            pm.expect(row.status, `${row.slug} (${row.source})`).to.equal(null);","        }","    });","});","","pm.test('no credential ever leaks into the response', () => {","    const raw = pm.response.text();","    ['client_id', 'client_secret', 'access_token', 'access_token_hash'].forEach((needle) => {","        pm.expect(raw, `response must not contain ${needle}`).to.not.include(needle);","    });","});","","pm.test('rows are sorted ascending by slug', () => {","    const slugs = pm.response.json().data.map((r) => r.slug);","    pm.expect(slugs).to.eql([...slugs].sort());","});","","// Informational: which sources this company actually exercised, and whether any","// install is missing from the App Store catalog (the case this ticket exists for).","const rows = pm.response.json().data;","const bySource = rows.reduce((acc, r) => { acc[r.source] = (acc[r.source] || 0) + 1; return acc; }, {});","console.log('rows by source:', JSON.stringify(bySource));","const unenriched = rows.filter((r) => r.source === 'app_store' && r.name === null).map((r) => r.slug);","console.log('app_store installs missing from the catalog (expect null name):', JSON.stringify(unenriched));","console.log('inactive installs:', JSON.stringify(rows.filter((r) => !r.active).map((r) => r.slug)));"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"6a824afe-598c-47ee-84d6-5b3231bcf684","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//apps","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<p>The company's installed apps, one row per install, ordered by <code>slug</code>. Covers App Store apps, internal modules and AI micro-apps; every row has the same keys and the ones a source does not have are null. <code>active</code> is the switched-on state.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","apps"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"6a824afe-598c-47ee-84d6-5b3231bcf684"},{"name":"App detail","id":"d7998598-b7f8-46c4-aa9b-e7bf5b9e4931","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//apps/:appSlug","description":"<p><strong>Rate limit:</strong> 120 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<p>One App Store app or internal module by slug, installed or not: the list row plus <code>installed</code>. <code>404</code> when the slug is unknown.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>appSlug</code></td>\n<td>string</td>\n<td>yes</td>\n<td>The app slug, as returned by the installed-apps list.</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","apps",":appSlug"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"cc03e432-ca87-41f2-8831-9d72d538aca0","description":{"content":"<p>The app slug.</p>\n","type":"text/plain"},"type":"any","value":"","key":"appSlug"}]}},"response":[],"_postman_id":"d7998598-b7f8-46c4-aa9b-e7bf5b9e4931"},{"name":"App install","id":"006f6197-6d4b-4df0-97f0-625928ecd562","request":{"method":"POST","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//apps/:appSlug/install","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<p>Installs an internal module on the spot. For an App Store app nothing is installed here: the install is an OAuth consent at the partners store that a person must give in a browser, so the response carries the <code>redirect_url</code> to open. <code>404</code> unknown slug, <code>409</code> internal module already installed.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>appSlug</code></td>\n<td>string</td>\n<td>yes</td>\n<td>The app slug, as returned by the installed-apps list.</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","apps",":appSlug","install"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"305b2a31-2579-4bb4-adeb-60ba4a169327","description":{"content":"<p>The app slug.</p>\n","type":"text/plain"},"type":"any","value":"","key":"appSlug"}]}},"response":[],"_postman_id":"006f6197-6d4b-4df0-97f0-625928ecd562"},{"name":"App update","id":"7707abba-2db3-4ad5-8d84-3ca24c238ef2","request":{"method":"PUT","header":[{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"active\": true\n}","options":{"raw":{"language":"json"}}},"url":"https://app-api.helmwms.app/api/v2/companies//apps/:appSlug","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<p>Switches an installed app on or off. Responds <code>204 No Content</code>. <code>404</code> when the app is not installed.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>appSlug</code></td>\n<td>string</td>\n<td>yes</td>\n<td>The app slug, as returned by the installed-apps list.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"body-parameters\">Body parameters</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>active</code></td>\n<td>boolean</td>\n<td>yes</td>\n<td>Whether the install is switched on.</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","apps",":appSlug"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"0cf47d51-ea3c-42e3-b554-a685cc928e1a","description":{"content":"<p>The app slug.</p>\n","type":"text/plain"},"type":"any","value":"","key":"appSlug"}]}},"response":[],"_postman_id":"7707abba-2db3-4ad5-8d84-3ca24c238ef2"},{"name":"App uninstall","id":"09fc369b-a343-41b5-9280-2a8704259968","request":{"method":"DELETE","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//apps/:appSlug","description":"<p><strong>Rate limit:</strong> 60 requests/minute, per token, for this endpoint. Each endpoint has its own independent budget. Exceeding it returns <code>429 Too Many Requests</code> with <code>Retry-After</code> and <code>X-RateLimit-*</code> headers.</p>\n<p>Uninstalls an App Store app (its token is revoked at the store) or an internal module (its data is removed). Responds <code>204 No Content</code>. <code>404</code> when the app is not installed.</p>\n<h4 id=\"path-parameters\">Path parameters</h4>\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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>companyID</code></td>\n<td>integer</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td><code>appSlug</code></td>\n<td>string</td>\n<td>yes</td>\n<td>The app slug, as returned by the installed-apps list.</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","apps",":appSlug"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[{"id":"22b0277a-f086-4ecd-aff4-913aa51f6bd2","description":{"content":"<p>The app slug.</p>\n","type":"text/plain"},"type":"any","value":"","key":"appSlug"}]}},"response":[],"_postman_id":"09fc369b-a343-41b5-9280-2a8704259968"}],"id":"43e6b913-ecd7-4f50-ba63-27a7c8956311","description":"<p><strong>Apps</strong> — 5 endpoints.</p>\n<p>Which apps the company has installed and whether each one is switched on, plus per-app detail, install, on/off toggle and uninstall. Covers App Store apps and internal modules; the list also includes AI micro-apps.</p>\n","_postman_id":"43e6b913-ecd7-4f50-ba63-27a7c8956311","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Staff Performance Stats","item":[{"name":"All blocks","id":"7ecc2820-f059-4006-ac89-9775d1bd6343","request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//users/{{user_id}}/performance-stats?date_from=2026-07-01T00:00:00Z&date_to=2026-07-31T23:59:59Z","description":"<p>Omitting <code>type</code> returns all three blocks. Omitting <code>group_by</code> returns totals only, with no bucket breakdown.</p>\n<p>A block comes back as <code>null</code> when the person had no activity of that kind in the window — that is different from a block full of zeroes, which cannot occur.</p>\n<h3 id=\"response-fields\">Response fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Meaning</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>user_id</code></td>\n<td>Echo of the user the figures belong to.</td>\n</tr>\n<tr>\n<td><code>date_from</code> / <code>date_to</code></td>\n<td>The window actually used, normalised to UTC.</td>\n</tr>\n<tr>\n<td><code>picking.orders_picked</code></td>\n<td>Distinct orders this person picked from.</td>\n</tr>\n<tr>\n<td><code>picking.units_picked</code></td>\n<td>Units picked during tracked sessions.</td>\n</tr>\n<tr>\n<td><code>picking.lines_picked</code></td>\n<td>Distinct order lines picked.</td>\n</tr>\n<tr>\n<td><code>picking.picks_worked</code></td>\n<td>Distinct picks (pick jobs) worked on.</td>\n</tr>\n<tr>\n<td><code>picking.picks_per_hour</code></td>\n<td><code>units_picked</code> per tracked hour. <code>null</code> when no tracked time covers the work.</td>\n</tr>\n<tr>\n<td><code>picking.active_picking_time_seconds</code></td>\n<td>Measured hands-on picking time.</td>\n</tr>\n<tr>\n<td><code>packing.orders_packed</code></td>\n<td>Distinct orders packed at the packing terminal.</td>\n</tr>\n<tr>\n<td><code>packing.units_packed</code></td>\n<td>Units in those orders.</td>\n</tr>\n<tr>\n<td><code>packing.labels_created</code></td>\n<td>Labels produced — higher than <code>orders_packed</code> for multi-parcel orders.</td>\n</tr>\n<tr>\n<td><code>packing.packs_per_hour</code></td>\n<td><code>units_packed</code> per measured packing hour. <code>null</code> when no terminal session covers the work.</td>\n</tr>\n<tr>\n<td><code>packing.active_packing_time_seconds</code></td>\n<td>Measured packing-terminal time.</td>\n</tr>\n<tr>\n<td><code>despatch.orders_despatched</code></td>\n<td>Distinct orders despatched, by any route.</td>\n</tr>\n<tr>\n<td><code>despatch.units_despatched</code></td>\n<td>Units in those orders.</td>\n</tr>\n<tr>\n<td><code>despatch.labels_created</code></td>\n<td>Labels produced.</td>\n</tr>\n<tr>\n<td><code>group_by</code></td>\n<td>Echo of the requested granularity, or <code>null</code>.</td>\n</tr>\n<tr>\n<td><code>buckets</code></td>\n<td><code>null</code> unless <code>group_by</code> was sent.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["companies","","users","{{user_id}}","performance-stats"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"description":{"content":"<p>REQUIRED. Start of the window, ISO 8601. An offset such as 2026-07-01T00:00:00+03:00 is accepted and converted to UTC; the response echoes the UTC instant it actually used. Inclusive.</p>\n","type":"text/plain"},"key":"date_from","value":"2026-07-01T00:00:00Z"},{"description":{"content":"<p>REQUIRED. End of the window, ISO 8601. Must be greater than or equal to date_from. Inclusive.</p>\n","type":"text/plain"},"key":"date_to","value":"2026-07-31T23:59:59Z"}],"variable":[]}},"response":[],"_postman_id":"7ecc2820-f059-4006-ac89-9775d1bd6343"},{"name":"Today, broken down by hour","id":"f187fc32-1744-47ae-89ac-b98bbeb1bcc2","request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//users/{{user_id}}/performance-stats?date_from=2026-07-31T00:00:00Z&date_to=2026-07-31T23:59:59Z&group_by=hour","description":"<p>This is the call that answers \"how many did this person do in the last hour, and how many so far today\" in ONE request: the totals cover the whole day, and each <code>buckets</code> entry covers one hour of it. No need to poll a second endpoint or send one request per window.</p>\n<p>Each bucket carries the same three blocks, each <code>null</code> when that activity did not occur in that hour (or was excluded by <code>type</code>).</p>\n<p><code>period_start</code> is the UTC instant the bucket begins; the bucket covers one hour (or one day) from there.</p>\n","urlObject":{"path":["companies","","users","{{user_id}}","performance-stats"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"description":{"content":"<p>REQUIRED. Start of the window, ISO 8601, inclusive.</p>\n","type":"text/plain"},"key":"date_from","value":"2026-07-31T00:00:00Z"},{"description":{"content":"<p>REQUIRED. End of the window, ISO 8601, inclusive.</p>\n","type":"text/plain"},"key":"date_to","value":"2026-07-31T23:59:59Z"},{"description":{"content":"<p>OPTIONAL. <code>hour</code> or <code>day</code>. Adds a <code>buckets</code> array on top of the totals. Buckets with no activity are absent rather than zero-filled. Max window: 31 days with <code>hour</code>, 366 days otherwise.</p>\n","type":"text/plain"},"key":"group_by","value":"hour"}],"variable":[]}},"response":[],"_postman_id":"f187fc32-1744-47ae-89ac-b98bbeb1bcc2"},{"name":"Last hour only","id":"2708123b-26a6-4586-b499-b98da212d2db","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//users/{{user_id}}/performance-stats?date_from=2026-07-31T14:00:00Z&date_to=2026-07-31T15:00:00Z&type=despatch","description":"<p>A one-hour window with <code>type=despatch</code> — \"how many orders has this person despatched in the last hour\".</p>\n<p>Order and label counts are anchored on the exact label timestamp, so a one-hour window is precise. Note that picking and packing <strong>time</strong> in a one-hour window is not: a session that started before the window is not measured inside it, and a session that started inside it is measured whole even if it ran past the end. Use counts, not time, for short windows.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","users","{{user_id}}","performance-stats"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"description":{"content":"<p>REQUIRED. Start of the window, ISO 8601, inclusive.</p>\n","type":"text/plain"},"key":"date_from","value":"2026-07-31T14:00:00Z"},{"description":{"content":"<p>REQUIRED. End of the window, ISO 8601, inclusive.</p>\n","type":"text/plain"},"key":"date_to","value":"2026-07-31T15:00:00Z"},{"description":{"content":"<p>OPTIONAL. <code>picking</code>, <code>packing</code> or <code>despatch</code>. Narrows the response to one block; the others come back <code>null</code>. Omit for all three.</p>\n","type":"text/plain"},"key":"type","value":"despatch"}],"variable":[]}},"response":[],"_postman_id":"2708123b-26a6-4586-b499-b98da212d2db"},{"name":"Picking only, by day","id":"a02cf419-a1eb-4e72-acf4-4250a2193a12","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//users/{{user_id}}/performance-stats?date_from=2026-07-01T00:00:00Z&date_to=2026-07-31T23:59:59Z&type=picking&group_by=day","description":"<p>Daily pick rate per person over a month — the shape to feed a trend chart or a shift review.</p>\n<p><code>picks_per_hour</code> is recomputed inside each bucket from that bucket's own units and tracked time, so it is a genuine per-day rate rather than the month's average repeated.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","users","{{user_id}}","performance-stats"],"host":["https://app-api.helmwms.app/api/v2"],"query":[{"description":{"content":"<p>REQUIRED. Start of the window, ISO 8601, inclusive.</p>\n","type":"text/plain"},"key":"date_from","value":"2026-07-01T00:00:00Z"},{"description":{"content":"<p>REQUIRED. End of the window, ISO 8601, inclusive.</p>\n","type":"text/plain"},"key":"date_to","value":"2026-07-31T23:59:59Z"},{"description":{"content":"<p>OPTIONAL. Narrow to picking; packing and despatch return null.</p>\n","type":"text/plain"},"key":"type","value":"picking"},{"description":{"content":"<p>OPTIONAL. Daily buckets. <code>period_start</code> is midnight UTC of each day.</p>\n","type":"text/plain"},"key":"group_by","value":"day"}],"variable":[]}},"response":[],"_postman_id":"a02cf419-a1eb-4e72-acf4-4250a2193a12"}],"id":"25885dca-bd29-41e0-84be-a04b576c6137","_postman_id":"25885dca-bd29-41e0-84be-a04b576c6137","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}},{"name":"Pakeye Recordings","item":[{"name":"1. Order recordings (happy path)","id":"0c6415df-4649-4178-b890-9888a0b25183","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"key":"Authorization","value":"Bearer {{pat}}"}],"url":"https://app-api.helmwms.app/api/v2/companies//orders/{{order_id}}/packeye-recordings","description":"<p>Expected 200 with one entry per shipment that has a recording.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"data\": [\n        {\n            \"shipment_id\": 4521,\n            \"reference_number\": \"SHP-0004521\",\n            \"status\": \"available\",\n            \"url\": \"https://cdn.example/file/bucket/packeye-videos/c1/s4521/2026/08/17/20260817T101500_...mp4?Authorization=...\",\n            \"expires_at\": \"2026-08-17T10:30:00.000000Z\"\n        },\n        {\n            \"shipment_id\": 4522,\n            \"reference_number\": \"SHP-0004522\",\n            \"status\": \"uploading\",\n            \"url\": null,\n            \"expires_at\": null\n        }\n    ]\n}\n</code></pre>\n<p>Open an <code>available</code> url in a browser to confirm the video plays. Re-send this request after <code>expires_at</code> has passed to confirm you get a freshly signed url rather than a dead one.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders","{{order_id}}","packeye-recordings"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"0c6415df-4649-4178-b890-9888a0b25183"},{"name":"2. Order with no recording -> 200 empty list","id":"645674f4-ac7a-4600-9710-f534736f3a47","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"key":"Authorization","value":"Bearer {{pat}}"}],"url":"https://app-api.helmwms.app/api/v2/companies//orders/{{order_id_without_recording}}/packeye-recordings","description":"<p>Expected 200 with <code>{\"data\": []}</code>.</p>\n<p>An owned order with nothing to show is NOT a 404. This is the difference the hub must handle: an empty list means \"no video for this order\", a 404 means \"this order is not yours\".</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders","{{order_id_without_recording}}","packeye-recordings"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"645674f4-ac7a-4600-9710-f534736f3a47"},{"name":"3. Unknown order -> 404 problem+json","id":"8bb1e4ed-4816-406f-aaae-d8b768072072","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"key":"Authorization","value":"Bearer {{pat}}"}],"url":"https://app-api.helmwms.app/api/v2/companies//orders/999999999/packeye-recordings","description":"<p>Expected 404 as RFC 9457 problem+json. The order id is deliberately not validated in the request class, so a missing order surfaces as a 404 from the ownership guard rather than a 422 validation error.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders","999999999","packeye-recordings"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"8bb1e4ed-4816-406f-aaae-d8b768072072"},{"name":"4. Cross-tenant order -> 404, never another company's video","id":"c7095540-164b-4e94-8b48-0b9388c97ed9","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"key":"Authorization","value":"Bearer {{pat}}"}],"url":"https://app-api.helmwms.app/api/v2/companies/{{other_company_id}}/orders/{{order_id}}/packeye-recordings","description":"<p>Expected 404. The path company_id must match the token's company, and that check runs before any tenant database is selected. Set <code>other_company_id</code> to a real company that your token does not belong to for this to be a meaningful test.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","{{other_company_id}}","orders","{{order_id}}","packeye-recordings"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"c7095540-164b-4e94-8b48-0b9388c97ed9"},{"name":"5. No auth -> 401","id":"24dbacc6-1d05-4dae-b192-c5179dbdb3c6","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"}],"url":"https://app-api.helmwms.app/api/v2/companies//orders/{{order_id}}/packeye-recordings","description":"<p>Expected 401. No Authorization header at all.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders","{{order_id}}","packeye-recordings"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"24dbacc6-1d05-4dae-b192-c5179dbdb3c6"},{"name":"6. Token without the read ability -> 403","id":"7e8f7ed8-642e-47c2-88f9-931504297e22","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"key":"Authorization","value":"Bearer 999999|deadbeefdeadbeefdeadbeefdeadbeef"}],"url":"https://app-api.helmwms.app/api/v2/companies//orders/{{order_id}}/packeye-recordings","description":"<p>A bogus bearer token must produce 401, never a 500. To test the ability gate itself (403), replace the header value with a real token that lacks the <code>orders:read</code> ability.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders","{{order_id}}","packeye-recordings"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"7e8f7ed8-642e-47c2-88f9-931504297e22"},{"name":"7. Role without shipment.view_video_recording -> 403","id":"fdf75c54-c96f-41c4-94cf-b0be3d53acd0","request":{"method":"GET","header":[{"key":"Accept","value":"application/json"},{"key":"Authorization","value":"Bearer {{pat_without_permission}}"}],"url":"https://app-api.helmwms.app/api/v2/companies//orders/{{order_id}}/packeye-recordings","description":"<p>Expected 403 naming <code>shipment.view_video_recording</code>.</p>\n<p>This is the permission every existing custom role starts without, so it is worth running once before release. Owners, admins and support bypass role permissions, so the token must belong to a restricted role for this to prove anything.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}},"urlObject":{"path":["companies","","orders","{{order_id}}","packeye-recordings"],"host":["https://app-api.helmwms.app/api/v2"],"query":[],"variable":[]}},"response":[],"_postman_id":"fdf75c54-c96f-41c4-94cf-b0be3d53acd0"}],"id":"82ef76dc-786e-473b-976e-8b51c5ccc439","_postman_id":"82ef76dc-786e-473b-976e-8b51c5ccc439","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]},"isInherited":true,"source":{"_postman_id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","id":"188f74b7-3468-4f3c-b836-f924ecefe2b2","name":"HELM WMS API V2","type":"collection"}}}],"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":""}]}},"variable":[{"key":"baseUrl","value":"https://app-api.helmwms.app/api/v2","type":"string"},{"key":"company_id","value":"","type":"string"},{"key":"token","value":"","type":"string"}]}