{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","name":"Limble API V2","description":"<h1>Getting Started!</h1>\n\n<p>Welcome to Limble CMMS’s API documentation.<br><br>You can use this documentation to configure connections to the Limble CMMS API over https using RESTful standards.</p>\n\n<p><br>Using the API you can get information about the following portions of your system:</p>\n\n<ul><li><div>Assets</div></li><li><div>Locations</div></li><li><div>Parts (Current quantities and Usage)</div></li><li><div>Tasks (Work Orders, Preventive Maintenance, Work Requests, etc.)</div></li><li><div>Users</div></li><li><div>Vendors</div></li><li><div>Roles</div></li><li><div>Teams</div></li><li><div>Purchase Orders</div></li><li><div>General Ledgers</div></li><li><div>Budgets</div></li><li><div>Priorities</div></li><li><div>Tags</div></li><li><div>Statuses</div></li><li><div>Bills</div></li><li><div>Regions</div></li><li><div>Webhooks</div></li><li><div>Units of Measure(UOM)</div></li></ul>\n\nPlease use the correct Limble API URL to connect to our API based on the region or the type of your Limble Account.\n\n| **Limble Account (Region/Type)** | **Limble API URL** |\n| --- | --- |\n| Default | api.limblecmms.com |\n| Canada | ca-api.limblecmms.com |\n| Australia | au-api.limblecmms.com |\n| Europe | eu-api.limblecmms.com |\n| 21CFR | 21cfr-api.limblecmms.com |\n\n---\n\n# Authentication\n\n<p><br>To protect your information the Limble CMMS API uses BASIC authorization standards.<br><br>Every call to the API must include an authorization header with your base 64 encoded id and secret.<br><br><b>Client ID</b><br><br>Your Client ID is your unique customer identification.<br><br><b>Client Secret</b><br><br>Your Client Secret is used to authenticate the Client ID on each API call. This is something that <b>must be kept secret</b>.<br></p>\n\n> How do I get my Client ID and Client Secret? \n  \n\nTo obtain your Client ID and Client Secret login to your Limble account as a **Super Administrator** and go to **Settings** -> **Configuration**, on this page scroll down to the **API Settings** section and click **Generate API Keys**. Keep this information **secret**, you will only be able to see your Client Secret once upon initial generation. If you lose your secret you will need to regenerate it and update your integration accordingly.\n\n> Example Header  \nAuthorization: Basic \\[BASE64 ENCODED YOUR_CLIENT_ID:YOUR_CLIENT_SECRET \n  \n\nBelow is a code example for PHP:\n\n```\n$curl = curl_init();\n$id = 'your_client_id';\n$secret = 'your_client_id';\n$headers = array(\n    'Content-Type:application/json',\n    'Authorization: Basic '. base64_encode($id.':'.$secret)\n);\ncurl_setopt($ch, CURLOPT_HTTPHEADER, $headers);\ncurl_setopt_array($curl, array(\n  CURLOPT_URL => 'https://api.limblecmms.com:443/v2/tasks/',\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 0,\n  CURLOPT_FOLLOWLOCATION => false,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n));\n$response = curl_exec($curl);\n$err = curl_error($curl);\ncurl_close($curl);\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n} ?>\n\n ```\n\nBelow is a code example for NodeJS:\n\n```\nconst https = require('https');\nconst id = 'your_client_id';\nconst secret = 'your_client_secret';\nconst options = {\n  'method': 'GET',\n  'hostname': 'api.limblecmms.com',\n  'path': '/v2/tasks/?',\n  'headers': {\n    'Authorization': 'Basic ' + Buffer.from(`${credentials.id}:${credentials.secret}`).toString('base64')\n  }\n};\nconst req = https.request(options, function (res) {\n  const chunks = [];\n  res.on(\"data\", function (chunk) {\n    chunks.push(chunk);\n  });\n  res.on(\"end\", function (chunk) {\n    const body = Buffer.concat(chunks);\n    console.log(body.toString());\n  });\n  res.on(\"error\", function (error) {\n    console.error(error);\n  });\n});\nreq.end();\n\n ```\n\n---\n\n# Error Codes\n\n- HTTP 400 - Data Validation Error - Malformed JSON input or incorrect data type.\n    \n- HTTP 403 - Forbidden - The resource cannot be accessed.\n    \n- HTTP 404 - Resource not found - The resource you are targeting does not exist.\n    \n- HTTP 409 - Resource Conflict - A resource already exists with those parameters.\n    \n- HTTP 422 - Unprocessable Entity - The syntax of the request is correct but cannot be processed due to semantic errors.\n    \n- HTTP 429 - Too Many Requests - See the rate limiting section below.\n    \n- HTTP 500 - Internal Server Error - Contact Limble for assistance.\n    \n- HTTP 501 - Method Not Support - Limble's API only supports GET, POST, PATCH, PUT, and DELETE.\n    \n\n---\n\n# Success Codes\n\n- HTTP 200 - OK - Everything was successful. PUTs, PATCHs and DELETEs on success always return an empty 200 OK.\n    \n- HTTP 201 - CREATED - This is used on POST calls when new resouces are created. If a new resource was created Limble will always pass back a GET URL in the location header so a developer can easily GET the new resource.\n    \n\n---\n\n# Overriding HTTP methods\n\nSome systems may support only the `POST` and `GET` HTTP methods. This restriction prevents using other HTTP methods such as `PUT`, `PATCH` and `DELETE`. RESTful web API implementations can work around this restriction by letting the client override the HTTP method via the custom HTTP headers.\n\nThe Limble API supports **Method Overrides** by using a `POST` request and setting the `X-HTTP-Method-Override` header with a method string value. The header value can be `PATCH` or `PUT`. This will allow Limble API users to use `PATCH` and `PUT` endpoints by sending `POST` requests to these endpoints and overriding them with the respective HTTP method.\n\n# Webhooks\n\nReceive data on certain events such as Tasks being completed.\n\nLimble's webhooks allow you to receive data whenever specific events occur.\n\nFor example, you may need to run your own script whenever a Task is completed.\n\nLimble supports adding multiple webhooks that can be triggered when actions are carried out on:\n\n- Tasks\n    \n- Assets\n    \n- Asset Fields\n    \n- Purchase Orders\n    \n- Purchase Order Items\n    \n\nWhen an event occurs, Limble sends an HTTP POST request to a URL endpoint you configure.\n\nYou can configure this URL in the Limble Web App under:\n\n**Settings → Configuration → API Settings**\n\nAll data sent is JSON-encoded, and Limble includes the following fields in the request headers for validation:\n\n- `signature`\n    \n- `timestamp`\n    \n- `token`\n    \n\nYou may register multiple webhooks for the same event type.\n\n### Important: API Key Requirement for Webhooks\n\nTo receive webhooks, the customer must have at least one active **limbleAPI key** created in API Settings.\n\n- Webhooks **will not function** without at least one valid `limbleAPI` key.\n    \n- Limble uses the **first-created** **`limbleAPI`** **key** (by creation date) to generate the **signature** included in webhook headers.\n    \n- The receiving system must use this key to verify the authenticity of incoming webhook requests.\n    \n\nIf a customer has multiple `limbleAPI` keys, **only the oldest one** will be used for signing webhook requests.\n\n### Response Time and Retry Behavior\n\nYour server must respond to webhook POST requests within **10 seconds**.\n\nIf it does not, Limble will attempt to retry the webhook request.\n\nLimble handles server responses as follows:\n\n- If the server returns **200 OK**, Limble considers the webhook successful and will not retry.\n    \n- If the server returns **406 Not Acceptable**, Limble considers the webhook received but intentionally ignored — no retry will occur.\n    \n- For any other response (e.g., 500, timeout, etc.), Limble will retry the request.\n    \n\n**Retry schedule:**\n\n- After 10 minutes\n    \n- After 1 hour\n    \n- After 2 hours\n    \n- After 4 hours\n    \n\nAfter the final retry attempt, the webhook will be **automatically disabled**.\n\n### Re-enabling a Disabled Webhook\n\nTo re-enable a disabled webhook:\n\n1. Go to **Settings → Configuration → API Settings** in the Limble Web App.  \n    Find the webhook and use the option to **Re-enable** the API endpoint.\n    \n2. Alternatively, send a `PATCH` request using the **Update Webhook** endpoint and set `enabled = true`.\n    \n\n### Assets\n\nBelow is an example payload you might be sent when an event occurs on an asset:\n\n```\n{\n   \"assetID\": 10748, \n   \"status\": \"CREATED\",\n   \"category\": \"asset\", \n   \"user\": \"bob@limblecmms.com\" \n}\n\n ```\n\nOnce the Payload is received you can use the Get Assets API call to get the most recent Asset data. The following is a list of all the possible statuses that a webhook might be set to:\n\n<table><tbody><tr><th>Status</th><th>Description</th></tr><tr><td><div>CREATED</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>An Asset is created</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>DELETED</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>An Asset was deleted</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CHANGED ASSET NAME</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>An asset has been renamed</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>\n\n### Asset Field\n\nBelow is an example payload you might be sent when an event occurs on an asset field:\n\n```\n{\n  \"valueID\": 46490,\n  \"status\": \"DELETED\",\n  \"category\": \"assetField\",\n  \"user\": \"bob@limblecmms.com\"\n}\n\n ```\n\nOnce the Payload is received you can use the Get Asset Field API call to get the most recent Asset Field data. The following is a list of all the possible statuses that a webhook might be set to:\n\n<table><tbody><tr><th>Status</th><th>Description</th></tr><tr><td><div>ADDED</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>An Asset Field was added to an Asset</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>DELETED</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>An Asset Field was deleted from an Asset</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>UPDATED</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>An Asset Field was updated on an Asset</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>\n\n### Location\n\nBelow is an example payload you might be sent when an event occurs on an location field:\n\n```\n{\n  \"valueID\": 46490,\n  \"status\": \"DELETED\",\n  \"category\": \"location\",\n  \"user\": \"bob@limblecmms.com\"\n}\n\n ```\n\nOnce the Payload is received you can use the Get Location API call to get the most recent Location data. The following is a list of all the possible statuses that a webhook might be set to:\n\n<table><tbody><tr><th>Status</th><th>Description</th></tr><tr><td><div>CREATED</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>An Location was added</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>DELETED</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>An Location was deleted</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>UPDATED</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>An Location was updated</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>\n\n### Parts\n\nFor Parts, you may receive a webhook that looks like this:\n\n```\n{  \n   \"partID\": 3456,\n   \"status\": \"CREATED\",\n   \"category\": \"part\",\n   \"user\": \"bob@limblecmms.com\"\n}\n\n ```\n\nAll possible statuses for Parts webhooks are as follows:\n\n<table><tbody><tr><th>Status</th><th>Description</th></tr><tr><td><div>CREATED</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A Part was created.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>DELETED</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A Part was deleted.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>LOCATION UPDATED</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A Part had its location updated.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>SUPPLIER UPDATED</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A Part had its supplier updated.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>PRICE UPDATED</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A Part had its price updated.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>NAME UPDATED</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A Part had its name updated.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>QUANTITY INCREASED</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>The quantity of a part increased.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>QUANTITY DECREASED</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>The quantity of a part decreased.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>\n\n### Purchase Order\n\nIf you have enabled purchasing webhooks, you may receive a webhook for POs that looks like this:\n\n```\n{  \n   \"poID\": 8203,\n   \"status\": \"READY TO RECEIVE\",\n   \"category\": \"po\",\n   \"user\": \"bob@limblecmms.com\"\n}\n\n ```\n\nPossible statuses for PO webhooks are:\n\n<table><tbody><tr><th>Status</th><th>Description</th></tr><tr><td><div>CREATED</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A PO was created.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>SETUP</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A PO has been reset and now has the setup status.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CHANGE STATUS</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A PO has been approved and now has a custom status.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>READY TO RECEIVE</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A PO now has the Ready to Receive status.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>PARTIALLY RECEIVED</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A PO has received any number of items and now has the Partially Received status.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>FULLY RECEIVED</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A PO has received all of its items and now has the Fully Received status.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CLOSED</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A PO has had all items received and all bills paid and now has the Closed status.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>DELETED</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A PO was deleted.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CHANGE BUDGET</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A PO has been assigned a new budget.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CHANGE VENDOR</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A PO has been assigned a new vendor.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CHANGE NUMBER</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A PO's PO Number has been modified.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CHANGE BILL-TO</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A PO's bill-to field has been modified.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CHANGE SHIP-TO</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A PO's ship-to field has been modified.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CHANGE NOTES TO VENDOR</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A PO's \"Notes to Vendor\" field has been modified.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CHANGE CUSTOM FIELD</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>Any of a PO's custom fields has been modified.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CHANGE ASSIGNMENT</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A PO has had its assignment (user, team, multi-user) modified.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CHANGE DATE</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A PO's created date has been modified.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CHANGE DELIVERY DATE</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A PO's expected delivery date has been modified.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>DISAPPROVED PURCHASE REQUEST</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A Purchase Request PO has been disapproved.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>REOPENED PURCHASE REQUEST</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A disapproved Purchase Request PO has been reopened.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>DISAPPROVED STEP</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A PO has had its workflow step disapproved and been sent back a step.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>\n\n### Purchase Order Items\n\nFor PO Items, you may receive a webhook that looks like this:\n\n```\n{  \n   \"poItemID\": 8203,\n   \"status\": \"RECEIVED\",\n   \"category\": \"poItem\",\n   \"user\": \"bob@limblecmms.com\"\n}\n\n ```\n\nAll possible statuses for PO Item webhooks are as follows:\n\n<table><tbody><tr><th>Status</th><th>Description</th></tr><tr><td><div>CREATED</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A PO Item was created.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>DELETED</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A PO Item was deleted.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>RECEIVED</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>Some quantity of a PO Item was marked as received.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CHANGE GL</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A PO Item has been assigned a new GL or its GL has been removed.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CHANGE DESCRIPTION</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A PO Item has had its description modified.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CHANGE QUANTITY</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A PO Item has had its quantity modified.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CHANGE RATE</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A PO Item has had its rate (price) modified.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CHANGE TAX</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A PO Item has had its tax percentage modified.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CHANGE DISCOUNT</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A PO Item has had its discount percentage modified.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CHANGE SHIPPING</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A PO Item has had its shipping cost modified.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>\n\n### Tasks\n\nBelow is an example payload you might be sent when an event occurs on a Task:\n\n```\n{\n   \"taskID\": 8203, // The unique identifier for the item the webhook event describes\n   \"status\": \"COMPLETE\", // The status (e.g. task created, task complete, etc.) -- see below for a full list of possible statuses.\n   \"category\": \"task\", // The category of item that triggered the webhook to fire (e.g. task, po, poItem).\n   \"user\": \"bob@limblecmms.com\" // The user whose action caused the webhook to fire.\n}\n\n ```\n\nOnce the Payload is received you can use the Get Tasks API call to get the most recent Task data. The following is a list of all the possible statuses that a webhook might be set to:\n\n<table><tbody><tr><th>Status</th><th>Description</th></tr><tr><td><div>CREATED</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A Task was created</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>DELETED</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A Task was deleted</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CHANGED DUE DATE</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A Task changed due date</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CHANGED ASSIGNMENT</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A Task changed assignment</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>COMPLETE</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A Task was completed.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CHANGED COMPLETED TASK</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A Task that is completed was changed.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>COMPLETED TASK REOPENED</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A task that was completed was reopened and is now open.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CHANGED TASK NAME</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A task has been renamed.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CHANGED TASK DESCRIPTION</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>The description of a task has been changed.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>ADDED COMMENT TO TASK</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A comment was added to a task.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CUSTOM TAG ADDED TO TASK</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A custom tag was added to a task.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>CUSTOM TAG REMOVED FROM TASK</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A custom tag was removed from task.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>LOGGED TIME ON TASK</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A time entry was added to a task.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>\n\n### Task Instruction\n\nBelow is an example payload you might be sent when an event occurs on an location field:\n\n```\n{\n  \"instructionID\": 46490,\n  \"status\": \"Updated\",\n  \"category\": \"instruction\",\n  \"user\": \"bob@limblecmms.com\"\n}\n\n ```\n\nOnce the Payload is received you can use the Get Instruction API call to get the task instruction data. The following is a list of all the possible statuses that a webhook might be set to:\n\n<table><tbody><tr><th>Status</th><th>Description</th></tr><tr><td><div>CREATED</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A Task Instruction was added</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>DELETED</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A Task Instruction was deleted</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>UPDATED</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A Task Instruction was updated</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>LABEL UPDATED</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A Task Instruction's label was updated</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>DESCRIPTION UPDATED</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A Task Instruction's description was updated</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>PARENT RESPONSE UPDATED</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>The response of a Task Instruction's parent item was updated</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>SORT ORDER UPDATED</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>The sort order of a Task Instruction was updated.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>\n\n## Securing Webhooks\n\nTo ensure the authenticity and integrity of webhook events each webhook is  \nsigned with a signature as well as some other data described below:\n\n<table><tbody><tr><th>Parameter</th><th>Type</th><th>Description</th></tr><tr><td><div>timestamp</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>int</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A standard unix time stamp</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>token</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>string</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div><br>randomly generated string that is an integrity check of the<br>payload.<br></div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>signature</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>String</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>A string generated by the HMAC algorithm</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>\n\nTo verify the webhook is originating from LimbleCMMS you will need to:\n\n- Concatenate the timestamp and token\n    \n- Encode your private API key (oldest Limble API Key) with the SHA256 algorithm\n    \n- Encode the timestamp and token value with the HMAC algorithm using your hashed private key and the SHA256 method.\n    \n- Compare the resulting digest to the signature provided in your webhook  \n    header\n    \n\n## Validation Code Examples\n\nCode samples to verify webhook data.\n\n<h3>PHP</h3>\n\n```\nfunction verify($timestamp, $signature, $apiKey, $token)\n    //hash private key\n    $apiKey = hash('sha256', $apiKey);\n    $generated_signature = hash_hmac('sha256', $timestamp . $token, $apiKey);\n    if($generated_signature === $signature) {\n        return true;\n    } else {\n        return false;\n    }\n} \n\n ```\n\n<h3>NodeJS</h3>\n\n```\nvar crypto  = require('crypto');\nconst verify = (apiKey, token, timestamp, signature) => {\n    //hash private key\n    const apiKey = crypto.createHash('sha256').update(apiKey).digest('hex');\n    const value = timestamp+token;\n    const generated_signature = crypto.createHmac('sha256',apiKey).update(value).digest('hex');\n    if(signature === generated_signature){\n        return true;\n    } else {\n        return false;\n    }\n};\n\n ```\n\n---\n\n# Rate limit\n\nTo help protect against run-away scripts, clients who make an inordinate  \nnumber of calls over a period of time may be temporarily blocked from  \naccessing the service. The limits are defined in the table below. If you  \nreceive an error indicating that you have exceeded the call limit, please  \nwait and try again later. If you need higher limits please reach out to your dedicated account manager.\n\n## Per Hour\n\n<table><tbody><tr><th>Method/Type of Request</th><th>Limit Per Hour</th><th>Limit Per Minute</th></tr><tr><td><div>GET</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>4000 calls per hour.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>360 calls per minute.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>PATCH</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>2000 calls per hour.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>240 calls per minute.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>POST</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>1000 calls per hour.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>240 calls per minute.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>PUT</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>1000 calls per hour.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>240 calls per minute.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>DELETE</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>100 calls per hour.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>60 calls per minute.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>BATCH REQUEST</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>20 calls per hour</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>5 calls per minute</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>\n\nEvery API response is accompanied by the following set of headers to identify the status of your consumption. API calls are rate-limited on two windows of time: per-minute and per-hour. For example, if you made a request at 13:42:42, that request will expire from your per-minute window at 13:43:42 and from your per-hour window at 14:42:42.\n\n<table><tbody><tr><th>Header</th><th>Description</th></tr><tr><td><div>X-RateLimit-Limit</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>The maximum number of requests that the consumer is permitted to make per hour.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>X-RateLimit-Remaining</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>The number of requests remaining in the current per-hour window.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>X-RateLimit-First-Call</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>The time your first call was made in the current per-hour window.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>X-RateLimit-TTL</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>The time until more request resources become available (This only displays when you've hit your limit).</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>X-RateLimit-Minute-Limit</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>The maximum number of requests that the consumer is permitted to make per minute.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>X-RateLimit-Minute-Remaining</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>The number of requests remaining in the current per-minute window.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>X-RateLimit-Minute-First-Call</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>The time your first call was made in the current per-minute window.</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>X-RateLimit-Minute-TTL</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>The time until more request resources become available (This only displays when you've hit your limit).</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>\n\n# Pagination\n\nCurrently pagination using OrderBy and cursor is supported only by **GET Tasks** and **GET Assets**. Pagination using Limit and Page is supported by many other GET endpoints including **GET Tasks** and **GET Assets**.\n\nPagination can be implemented by using the orderBy, cursor, limit and page query parameters.  \n**Note: cursor and page cannot be used simultaneously for pagination.**\n\n## Pagination using Limit and Page\n\nThis uses limit and page query parameters. For a given limit and page results will be paginated. If orderBy query parameter is given the results will be ordered and paginated accordingly.\n\nThe page parameter is **required** and can be greater than or equal to 1 for this pagination method. The default limit is 100 but can be changed. The max limit is 1000.\n\nThe response headers contain information about the Previous, Next and Last Page of the result based on the limit.\n\nThe result will be empty when for a given limit, the given page does not exist. For example, if there are 100 Assets in total and limit is set at 10, only pages 1-10 are possible. An empty result will be given for page numbers greater than 10.\n\nThis pagination method is supported by various GET endpoints. Please refer to the examples for those GET endpoints for more information.\n\n## Pagination using OrderBy and Cursor\n\n**Note**: If you're implementing pagination for the first time for **GET Tasks** or **GET Assets** please follow **Pagination Using Limit and Page** as the use of **Cursor** will be deprecated in the next API version.\n\nThis uses orderBy and cursor query parameters. Generally, in all of our GET endpoints, the cursor parameter ensures that the ID will be greater than the value of cursor. This makes sense when we're ordering the results ascending by ID.\n\nIn GET Assets, when we're fetching a set of assets and ordering by lastEdited (ascending) or -lastEdited (descending), the cursor parameter will instead ensure that we're returning a set of results that begin at the next asset in the order, regardless of whether its **ID is greater or less than the value of cursor**.\n\nIf the value of cursor does not match an existing assetID, then the result set will be empty, because there is no lastEdited value to compare to. **When providing orderBy and cursor, the value of cursor must be a real assetID or the result set will be empty.**\n\nThe same applies for GET Tasks when using cursor and ordering by createdDate, dateCompleted and due.","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":true,"owner":"5190375","team":206430,"collectionId":"ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","publishedId":"SVfRsT5S","public":true,"publicUrl":"https://apidocs.limblecmms.com","privateUrl":"https://go.postman.co/documentation/5190375-ad21a7d0-42d7-4a14-991b-f2e9d2a709a8","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"documentationLayout":"classic-double-column","customisation":{"metaTags":[{"name":"description","value":""},{"name":"title","value":""}],"appearance":{"default":"light","themes":[{"name":"dark","logo":"https://content.pstmn.io/8fc60ae1-ff0f-4d11-aba0-9f41bd7d1a90/bG9nby1kYXJrLWJhY2tncm91bmQucG5n","colors":{"top-bar":"212121","right-sidebar":"303030","highlight":"FF6C37"}},{"name":"light","logo":"https://content.pstmn.io/876fbb87-93ff-4483-acd3-43c3283fa45d/bG9nby1saWdodC1iYWNrZ3JvdW5kLnBuZw==","colors":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"}}]}},"version":"8.10.1","publishDate":"2023-07-19T13:07:08.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"","description":""},"logos":{"logoLight":"https://content.pstmn.io/876fbb87-93ff-4483-acd3-43c3283fa45d/bG9nby1saWdodC1iYWNrZ3JvdW5kLnBuZw==","logoDark":"https://content.pstmn.io/8fc60ae1-ff0f-4d11-aba0-9f41bd7d1a90/bG9nby1kYXJrLWJhY2tncm91bmQucG5n"}},"statusCode":200},"environments":[{"name":"API (Production)","id":"41cef2c7-4a31-4972-8c79-c44673fee0f8","owner":"5035798","values":[{"key":"server","value":"api.limblecmms.com","enabled":true},{"key":"protocol","value":"https","enabled":true},{"key":"port","value":"443","enabled":true},{"key":"randomGivenName","value":"","enabled":true},{"key":"randomFamilyName","value":"","enabled":true},{"key":"randomEmail","value":"","enabled":true},{"key":"randomUsername","value":"","enabled":true},{"key":"externalId","value":"","enabled":true},{"key":"clientID","value":"L49VAHPDQSGOFL77GHJRGXV448EO438BUFQ5","enabled":true,"type":"default"},{"key":"clientSecret","value":"Z4IN1V4SE0YYH0DXXHE81NR2TGUGDJWNU548","enabled":true,"type":"default"}],"published":true}],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/44eac2cd7ef8c3c20e2623b3827f4288b1aecc3c2fe98a72e91b98546018ea4c","favicon":"https://res.cloudinary.com/postman/image/upload/v1712177623/team/qelpmcdu0w9ty89fuzpr.ico"},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"},{"label":"API (Production)","value":"5035798-41cef2c7-4a31-4972-8c79-c44673fee0f8"}],"canonicalUrl":"https://apidocs.limblecmms.com/view/metadata/SVfRsT5S"}