{
  "opencollection": "1.0.0",
  "info": {
    "name": "Limble API V2 Assets Routes API",
    "version": "1.0.0"
  },
  "request": {
    "auth": {
      "type": "basic",
      "username": "{{username}}",
      "password": "{{password}}"
    }
  },
  "items": [
    {
      "info": {
        "name": "Routes",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Me",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/me"
          },
          "docs": "Identifies the current customer. This route can be used to test that authentication to the Limble API was successful.\n\nReturn data description\n\ncustomerName | The name of the customer that your API keys are valid for.\ncustomerPlan | The Limble plan the customer is currently subscribed to. The customerPlan can have one of following values:, starter, professional, business, enterprise, legacy - The plan the customer is currently subscribed to has been deprecated., For more information about variou"
        },
        {
          "info": {
            "name": "Add Asset Main Image",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.limblecmms.com/v2/assets/:assetID/image",
            "params": [
              {
                "name": "assetID",
                "value": "{{assetID}}",
                "type": "path",
                "description": "assetID of the asset you are removing the main image from."
              }
            ]
          },
          "docs": "Each asset can have one main image associated with it.  This request allows you to set that image."
        },
        {
          "info": {
            "name": "Delete Asset Main Image",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/assets/:assetID/image",
            "params": [
              {
                "name": "assetID",
                "value": "{{assetID}}",
                "type": "path",
                "description": "assetID of the asset you are removing the main image from."
              }
            ]
          },
          "docs": "This request removes the main image from the asset."
        },
        {
          "info": {
            "name": "Asset Fields",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/assets/fields",
            "params": [
              {
                "name": "name",
                "value": "Model",
                "type": "query",
                "description": "This parameter is used to only get specific field by name. This parameter expects a string full name of a field or partial name with the wildcard %."
              },
              {
                "name": "fields",
                "value": "107",
                "type": "query",
                "description": "This parameter can be used to get a single Asset Fields or a list of Asset Fields in a comma-separated list."
              },
              {
                "name": "start",
                "value": "1555105636",
                "type": "query",
                "description": "This parameter is used to only get Asset Fields for Assets that were last edited after the unix timestamp passed into the start parameter. For example, all Assets that were last edited after April 18th, 2018."
              },
              {
                "name": "end",
                "value": "1555105636",
                "type": "query",
                "description": "This parameter is used to only get Asset Fields for Assets that were last edited *before* the unix timestamp passed into the end parameter."
              },
              {
                "name": "cursor",
                "value": "0",
                "type": "query",
                "description": "This parameter is a cursor that selects what id you want to start receiving results at. e.g. passing 137 here will only get you asset fields with an id greater than 137."
              },
              {
                "name": "limit",
                "value": "1",
                "type": "query",
                "description": "This parameter is a result limiter. The default is set to return no more than 100 results at one time."
              },
              {
                "name": "locations",
                "value": "163",
                "type": "query",
                "description": "This parameter can be used to get a group of asset fields in a location in a comma-separated list."
              },
              {
                "name": "value",
                "value": "F250",
                "type": "query",
                "description": "This parameter is used to only get specific field by value. This parameter expects a string full name of a field or partial name with the wildcard %."
              },
              {
                "name": "assetName",
                "value": "%fork%",
                "type": "query",
                "description": "This parameter is used to only get specific fields by asset name. This parameter expects a string full name of a field or partial name with the wildcard %."
              },
              {
                "name": "fieldType[0]",
                "value": "Text",
                "type": "query",
                "description": "This parameter is used to only get specific fields by type. This parameter expects an array of strings \"Text, Date, Pictures, Documents, Number, Currency, Dropdown\""
              },
              {
                "name": "fieldType[1]",
                "value": "Documents",
                "type": "query",
                "description": "This parameter is used to only get specific fields by type. This parameter expects an array of strings \"Text, Date, Pictures, Documents, Number, Currency, Dropdown\""
              },
              {
                "name": "page",
                "value": "1",
                "type": "query",
                "description": "This parameter is used to paginate results based on the limit. Refer to Pagination section for more information."
              },
              {
                "name": "values",
                "value": "",
                "type": "query",
                "description": "This parameter is used to get asset fields by their valueID. This parameter expects a comma delimited list of Value IDs."
              },
              {
                "name": "assets",
                "value": "171",
                "type": "query",
                "description": "This parameter can be used to get a group of asset fields for a specific set of asset ids in a comma-separated list."
              }
            ]
          },
          "docs": "This request gets detailed information about asset fields such as Make, Model and any other custom field.\n\nThis call also returns \"files\" which is an array of objects that have a file name and a link you can use to download that file. All links are only valid for 15 minutes, a new call will generate a new link.\n\n**Note:** this endpoint supports pagination. Please refer to the [**Pagination**](#pagination) section for more information."
        },
        {
          "info": {
            "name": "New Asset Suggested Field",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.limblecmms.com/v2/assets/fields"
          },
          "docs": "This request creates a new Suggested Field.\n\nSuggested Fields are the full list of possible Fields that can be added to Assets at that Location.\n\nParameter: locationID, Type: Int, Required?: Required, Description: The location ID of the Asset to add the new Field to.\nParameter: name, Type: String, Required?: Required, Description: The name of the new Field. Some custom field names such as \"Asset\" are not allowed and reserved for internal use. This will result in a 409 error.\nParameter: fieldType"
        },
        {
          "info": {
            "name": "Asset Suggested Fields",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/assets/fields/suggested",
            "params": [
              {
                "name": "fields",
                "value": "16",
                "type": "query",
                "description": "This parameter can be used to get a single Asset Fields or a list of Asset Fields in a comma-separated list."
              },
              {
                "name": "name",
                "value": "%S%",
                "type": "query",
                "description": "This parameter is used to only get specific field by name. This parameter expects a string full name of a field or partial name with the wildcard %."
              },
              {
                "name": "cursor",
                "value": "0",
                "type": "query",
                "description": "This parameter is a cursor that selects what id you want to start receiving results at. e.g. passing 137 here will only get you asset fields with an id greater than 137."
              },
              {
                "name": "limit",
                "value": "100",
                "type": "query",
                "description": "This parameter is a result limiter. The default is set to return no more than 100 results at one time."
              },
              {
                "name": "locations",
                "value": "163",
                "type": "query",
                "description": "This parameter is used to only get fields at a specific group of Locations. This parameter accepts a comma delimited list of Location IDs."
              }
            ]
          },
          "docs": "This request gets all possible fields an Asset can pick from when deciding which fields it should have.  \n\nTo understand this concept, let's pretend you have the following assets:  \n\nYour first Asset (a Truck) has the fields Make, Model, and VIN.  \n\nYour second Asset (a HVAC) has the fields Make, Model, and Serial Number.  \n\nThis would mean there are 4 suggested fields that exist:  Make, Model, VIN and Serial Number.  If I added a third new asset I could pick from any of the 4 suggested fields.\n"
        },
        {
          "info": {
            "name": "Asset Field History",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/assets/fields/history",
            "params": [
              {
                "name": "assets",
                "value": "4864, 4865",
                "type": "query",
                "description": "This parameter can be used to get a single Asset or a list of Assets in a comma-separated list."
              },
              {
                "name": "fields",
                "value": "321, 202",
                "type": "query",
                "description": "This parameter can be used to get a single Asset Fields or a list of Asset Fields in a comma-separated list."
              },
              {
                "name": "start",
                "value": "1555105636",
                "type": "query",
                "description": "This parameter is used to only get Asset Fields for Assets that were last edited after the unix timestamp passed into the start parameter. For example, all Assets that were last edited after April 18th, 2018."
              },
              {
                "name": "end",
                "value": "1555105636",
                "type": "query",
                "description": "This parameter is used to only get Asset Fields for Assets that were last edited *before* the unix timestamp passed into the end parameter."
              },
              {
                "name": "limit",
                "value": "100",
                "type": "query",
                "description": "This parameter is a cursor that selects what id you want to start receiving results at. e.g. passing 137 here will only get you asset fields with an id greater than 137."
              },
              {
                "name": "cursor",
                "value": "0",
                "type": "query",
                "description": "This parameter is a result limiter. The default is set to return no more than 100 results at one time."
              }
            ]
          },
          "docs": "Any time an Asset's field is changed an entry is inserted into a history.  \n\nThis request allows you to pull that information so you can see trends over time."
        },
        {
          "info": {
            "name": "Attach Field to Asset",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.limblecmms.com/v2/assets/:assetID/fields",
            "params": [
              {
                "name": "assetID",
                "value": "{{assetID}}",
                "type": "path"
              }
            ]
          },
          "docs": "This request attaches a Suggested Field to an Asset. The field and asset must belong to the same location.\n\nFor example, let's say I have an Asset called Truck - 001. This Truck doesn't have any Fields attached to it, but I want to track its Make so I can set that this Truck is a Dodge. This is the request I would use to attach the Make Field to the Truck and then I would use the Update Asset Field Value request to set it to Dodge.\n\nParameter: locationID, Type: Int, Required?: Required, Descript"
        },
        {
          "info": {
            "name": "Update Asset Field Value",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "https://api.limblecmms.com/v2/assets/fields/:valueID",
            "params": [
              {
                "name": "valueID",
                "value": "45612",
                "type": "path",
                "description": "valueID of the field you are removing."
              }
            ]
          },
          "docs": "This request updates the value of a Field that is attached to an Asset. \n\nParameter: value, Type: Varies depending on the Field's type, Required?: Required, Description: The value that will be written to the field, overwriting the previous value and creating an entry in the field history. \"value\" must correspond to the fieldType of the field. For example, if the field is a \"number\" fieldType, then \"value\" must be a number."
        },
        {
          "info": {
            "name": "Delete Asset Field",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/assets/fields/:valueID",
            "params": [
              {
                "name": "valueID",
                "value": "45612",
                "type": "path",
                "description": "valueID of the field you are removing."
              }
            ]
          },
          "docs": "This request deletes a field attached to an Asset."
        },
        {
          "info": {
            "name": "Delete Asset Log File",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/assets/logs/file/:fileID",
            "params": [
              {
                "name": "fileID",
                "value": "58",
                "type": "path",
                "description": "The ID of the file to be deleted."
              }
            ]
          },
          "docs": "This requests deletes a file attached to a log."
        },
        {
          "info": {
            "name": "Add Asset Log File",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.limblecmms.com/v2/assets/:assetID/logs/:logID/file",
            "params": [
              {
                "name": "assetID",
                "value": "1",
                "type": "path",
                "description": "The ID of the asset the log belongs to."
              },
              {
                "name": "logID",
                "value": "7257",
                "type": "path",
                "description": "The ID of the log to attach the file to."
              }
            ]
          },
          "docs": "This request adds files to a log.\n\nReturn data description\n\nfileID | The ID of the file attached to the log."
        },
        {
          "info": {
            "name": "Asset Logs",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/assets/:assetID/logs",
            "params": [
              {
                "name": "assetID",
                "value": "1",
                "type": "path",
                "description": "The ID of the asset the log will be created for."
              },
              {
                "name": "logs",
                "value": "16",
                "type": "query",
                "description": "This parameter is used to only get specific logs. This parameter accepts a comma delimited list of logIDs."
              },
              {
                "name": "users",
                "value": "341",
                "type": "query",
                "description": "This parameter is used to only get logs created by specific users. This parameter accepts a comma delimited list of userIDs."
              },
              {
                "name": "logEntry",
                "value": "%bro%",
                "type": "query",
                "description": "This is a parameter used to string search for manual log entry. This parameter expects a string with the wildcard %."
              },
              {
                "name": "start",
                "value": "1506274400",
                "type": "query",
                "description": "This parameter is used to only get logs that were last edited after the unix timestamp passed into the start parameter. "
              },
              {
                "name": "end",
                "value": "1506274900",
                "type": "query",
                "description": "This parameter is used to only get logs that were last edited before the unix timestamp passed into the end parameter."
              },
              {
                "name": "page",
                "value": "1",
                "type": "query",
                "description": "This parameter is used to paginate results based on the limit. Refer to Pagination section for more information."
              },
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "This parameter is a result limiter. The default is set to return no more than 100 results at one time."
              },
              {
                "name": "cursor",
                "value": "",
                "type": "query",
                "description": "This parameter is a cursor that selects what ID you want to start receiving results at. "
              }
            ]
          },
          "docs": "This request returns logs created manually by users and automatically created (where userID=0) by certain actions taken on the asset. Logs related to tasks completed on an Asset will not be returned.\n\n**Note:** this endpoint supports pagination. Please refer to the [**Pagination**](#pagination) section for more information.\n\nReturn data description\n\nlogID | The unique logID of the log.\ndateCreated | The date the log was created as a UNIX timestamp.\nassetD | The ID of the asset the log belongs to"
        },
        {
          "info": {
            "name": "New Asset Log",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.limblecmms.com/v2/assets/:assetID/logs",
            "params": [
              {
                "name": "assetID",
                "value": "1",
                "type": "path",
                "description": "The ID of the asset the log will be created for."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "This requests creates a manual log entry for an asset.\n\nuserID | Int | Optional | The ID of the user creating the log. If userID is not given a log entry with userID=0 will be created.\nlogEntry | String | Required | Details of the log."
        },
        {
          "info": {
            "name": "Update Asset Log",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "https://api.limblecmms.com/v2/assets/logs/:logID",
            "params": [
              {
                "name": "logID",
                "value": "7257",
                "type": "path",
                "description": "The ID of the log to be deleted."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "This requests updates a manual log entry for an asset."
        },
        {
          "info": {
            "name": "Delete Asset Log",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/assets/logs/:logID",
            "params": [
              {
                "name": "logID",
                "value": "7257",
                "type": "path",
                "description": "The ID of the log to be deleted."
              }
            ]
          },
          "docs": "This requests deletes a manual log entry for an asset."
        },
        {
          "info": {
            "name": "Batch Update Asset Fields",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.limblecmms.com/v2/assets/fields/batch/update",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "This request will update multiple asset fields values at a time. The request expects an array of asset fields values. The array needs to have atleast two asset field values and atmost 100 asset field values. The request expects an array made up of asset field values that need to be updated. Only asset fields values of type Text (1), Date (2), Number (5) and Currency (6) can be updated using this request.\n\nThe response returns `{ sucess:true }` if all field values are updated successfully. The re"
        },
        {
          "info": {
            "name": "Asset Parts",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/assets/parts",
            "params": [
              {
                "name": "assets",
                "value": "172,253",
                "type": "query",
                "description": "This parameter is used to only get specific Assets. This parameter expects a comma delimited list of Asset IDs."
              },
              {
                "name": "limit",
                "value": "3",
                "type": "query",
                "description": "This parameter is a result limiter. The default is set to return no more than 100 results at one time."
              },
              {
                "name": "page",
                "value": "3",
                "type": "query",
                "description": "This parameter is used to paginate results based on the limit. Refer to Pagination section for more information."
              },
              {
                "name": "cursor",
                "value": "49",
                "type": "query",
                "description": "This parameter is a cursor that selects what ID you want to start receiving results at. Without ordering, this will return results with an ID greater than the value of cursor. With ordering, this will return results starting at the next item in the order, regardless of whether its ID is greater than or lesser than the value of cursor."
              },
              {
                "name": "parts",
                "value": "46,172",
                "type": "query",
                "description": "This parameter is used to only get specific Parts. This parameter accepts a comma delimited list of part IDs."
              },
              {
                "name": "relations",
                "value": "1,10",
                "type": "query",
                "description": "This parameter is used to only get specific relations. This parameter expects a comma delimited list of relation IDs."
              },
              {
                "name": "start",
                "value": "1334570141",
                "type": "query",
                "description": "This parameter is used to only get relations that were last edited after the unix timestamp passed into the start parameter. For example, all relations that were last edited after April 18th, 2018."
              },
              {
                "name": "end",
                "value": "1784570141",
                "type": "query",
                "description": "This parameter is used to only get relations that were last edited *before* the unix timestamp passed into the end parameter."
              }
            ]
          },
          "docs": "This request returns a list of Part Asset Relations with top level information such as part, asset, qty, last edited, etc.\n\n**Note:** this endpoint supports pagination. Please refer to the [Pagination](#pagination) section for more information.\n\nReturn data description\n\nrelationID | The Relations ID. e.g. 1\npartID | The ID of the Part in this Relation\nassetID | The ID of the Asset in this Relation\nqty | The qty of the Part related to this Asset\ncreatedAt | The unix timestamp at which this Relati"
        },
        {
          "info": {
            "name": "Assets",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/assets",
            "params": [
              {
                "name": "assets",
                "value": "1",
                "type": "query",
                "description": "This parameter is used to only get specific Assets. This parameter expects a comma delimited list of Asset IDs."
              },
              {
                "name": "name",
                "value": "%test%",
                "type": "query",
                "description": "This is a parameter used to string search for a name or partial name of an asset this parameter expects a string with the wildcard %."
              },
              {
                "name": "locations",
                "value": "73",
                "type": "query",
                "description": "This parameter is used to only get Assets at a specific group of Locations. This parameter accepts a comma delimited list of Location IDs."
              },
              {
                "name": "start",
                "value": "1541796014",
                "type": "query",
                "description": "This parameter is used to only get Assets that were last edited after the unix timestamp passed into the start parameter. For example, all Assets that were last edited after April 18th, 2018."
              },
              {
                "name": "end",
                "value": "1541796014",
                "type": "query",
                "description": "This parameter is used to only get Assets that were last edited *before* the unix timestamp passed into the end parameter."
              },
              {
                "name": "cursor",
                "value": "0",
                "type": "query",
                "description": "This parameter is a cursor that selects what ID you want to start receiving results at. Without ordering, this will return results with an ID greater than the value of cursor. With ordering, this will return results starting at the next item in the order, regardless of whether its ID is greater than or lesser than the value of cursor."
              },
              {
                "name": "limit",
                "value": "1",
                "type": "query",
                "description": "This parameter is a result limiter. The default is set to return no more than 100 results at one time."
              },
              {
                "name": "parentAssetID",
                "value": "2317",
                "type": "query",
                "description": "This parameter can be used to get asset(s) children using the Parent's ID. This parameter accepts a comma delimited list of Asset IDs."
              },
              {
                "name": "orderBy",
                "value": "-lastEdited",
                "type": "query",
                "description": "This parameter is used to order results by their lastEdited property instead of the default ordering by ascending assetID. CANNOT be provided alongside the cursor parameter. to paginate in this ordering, use the start or end parameters."
              },
              {
                "name": "page",
                "value": "1",
                "type": "query",
                "description": "This parameter is used to paginate results based on the limit. Refer to Pagination section for more information."
              },
              {
                "name": "geoLocation",
                "value": "true",
                "type": "query",
                "description": "This parameter is used to filter results that contain a geoLocation property. By default it is false and will return **all** assets with and without geoLocation property. If true, it will only return assets with a geoLocation property."
              }
            ]
          },
          "docs": "This request returns a list of Assets with top level information such as name, last edited, etc.\n\n**Note:** this endpoint supports pagination. Please refer to the [Pagination](#pagination) section for more information.\n\nReturn data description\n\nmeta | Requests to gather more information on an Asset such as Fields for the Asset or what Tasks are assigned to the Asset\nstartedOn | The date when this Asset was started on. This property is used to help determine runtime which is used in MTBF.\nlastEdi"
        },
        {
          "info": {
            "name": "New Asset",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.limblecmms.com/v2/assets"
          },
          "docs": "This request creates a new blank Asset.\n\nParameter: name, Type: String, Required?: Required, Description: The new name of the Asset.\nParameter: hoursPerWeek, Type: Integer, Required?: Optional, Description: The new hours of operation per week for this Asset. Use -1 to disable this feature.\nParameter: parentAssetID, Type: Int, Required?: Optional, Description: The asset's parent. This makes it so assets can be nested in the web application.\nParameter: locationID, Type: Int, Required?: Required, D"
        },
        {
          "info": {
            "name": "Patch Asset",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "https://api.limblecmms.com/v2/assets/:assetID",
            "params": [
              {
                "name": "assetID",
                "value": "10728",
                "type": "path",
                "description": "The value of the asset that needs to be updated"
              }
            ]
          },
          "docs": "This request updates an Asset's top level information. See Update Asset Field Value to update an Asset Field's value.\n\nname | String | Optional | The new name of the Asset.\nhoursPerWeek | Integer | Optional | The new hours of operation per week for this Asset. Use -1 to disable this feature and have it default to the Locations hours of operation.\nparentAssetID | Int | Optional | The asset's parent. This must be another asset ID and is used to display an Asset hierarchy. You can not have assets b"
        },
        {
          "info": {
            "name": "Delete Asset",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/assets/:assetID",
            "params": [
              {
                "name": "assetID",
                "value": "10728",
                "type": "path",
                "description": "The value of the asset that needs to be updated"
              }
            ]
          },
          "docs": "This request removes an Asset from your Limble account."
        },
        {
          "info": {
            "name": "Move Asset to another Location",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "https://api.limblecmms.com/v2/assets/:assetID/move",
            "params": [
              {
                "name": "assetID",
                "value": "14113",
                "type": "path",
                "description": "The value of the asset that needs to be moved"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "This request moves an existing asset from it's current location to another location. An parent asset that has one or more children assets cannot be moved.\n\nA child asset can be moved and will be created as a top level asset in the other location.\n\nlocationID | Int | Required | The locationID of the location the asset needs to be moved to.\ntransferParts | boolean | Optional | A boolean representing whether parts associated with the asset should be moved to the location as well., Defaults to true."
        },
        {
          "info": {
            "name": "Locations",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/locations",
            "params": [
              {
                "name": "locations",
                "value": "73",
                "type": "query",
                "description": "This parameter is used to only get locations in the list provided. This parameter accepts a comma delimited list of Location IDs."
              },
              {
                "name": "name",
                "value": "%NY%",
                "type": "query",
                "description": "This parameter is used to only get specific locations by name. This parameter expects a string full name of a location or partial name with the wildcard %."
              },
              {
                "name": "cursor",
                "value": "0",
                "type": "query",
                "description": "This parameter is a cursor that selects what locationID you want to start receiving results at. e.g. passing 137 here will only get you locations with an id greater than 137."
              },
              {
                "name": "limit",
                "value": "1",
                "type": "query",
                "description": "This parameter is a result limiter. The default is set to return no more than 100 results at one time."
              },
              {
                "name": "regions",
                "value": "0",
                "type": "query",
                "description": "This parameter is used to get locations that belong to a region.\nThis parameter expects a regionID a location may belong to."
              },
              {
                "name": "geoLocation",
                "value": "true",
                "type": "query",
                "description": "This parameter is used to filter results that contain a geoLocation property. By default it is false and will return **all** locations with and without geoLocation property. If true, it will only return locations with a geoLocation property."
              },
              {
                "name": "page",
                "value": "1",
                "type": "query"
              }
            ]
          },
          "docs": "This request returns your Locations in Limble.\n\n**Note:** this endpoint supports pagination. Please refer to the [**Pagination**](https://desktop.postman.com/?desktopVersion=9.31.0&userId=16480856&teamId=206430) section for more information.\n\n**Note:** this endpoint supports pagination. Please refer to the [Pagination](https://desktop.postman.com/?desktopVersion=9.31.0&userId=16480856&teamId=206430) section for more information.\n\nEndFragment\n\n**Return data description**\n\nname | The name of the L"
        },
        {
          "info": {
            "name": "New Location",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.limblecmms.com/v2/locations"
          },
          "docs": "This request creates a new Location.\n\n**Body parameter descriptions**\n\nname | String | Required | The new name of the Location.\ntimezone | string | Required | The timezone this location resides in. This accepts a standard tz database name, see here.\nphone | string | Required | The phone number associated with this location.\nweeklyOperationHours | Int | Optional | The hours per week this location operates.\naddress | string | Optional | The physical address of this location.\naddress2 | string | Op"
        },
        {
          "info": {
            "name": "Update Location",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "https://api.limblecmms.com/v2/locations/:locationID",
            "params": [
              {
                "name": "locationID",
                "value": "{{locationID}}",
                "type": "path",
                "description": "locationID of the location you are removing."
              }
            ]
          },
          "docs": "This request updates a Location.\n\n**Body parameter descriptions**\n\nname | String | Optional | The new name of the Location.\ntimezone | string | Optional | The timezone this location resides in. This accepts a standard tz database name, see here.\nphone | string | Optional | The phone number associated with this location.\nweeklyOperationHours | Int | Optional | The number of hours your Assets run at this location per week. This is used to help calculate MTBF.\naddress | string | Optional | The phys"
        },
        {
          "info": {
            "name": "Delete Location",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/locations/:locationID",
            "params": [
              {
                "name": "locationID",
                "value": "{{locationID}}",
                "type": "path",
                "description": "locationID of the location you are removing."
              }
            ]
          },
          "docs": "This request removes a Location from your Limble account.  This will also remove everything else at this locaiton including Assets, Parts, Tasks, etc.  Be VERY careful using this call."
        },
        {
          "info": {
            "name": "Add Part Image",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.limblecmms.com/v2/parts/:partID/image",
            "params": [
              {
                "name": "partID",
                "value": "{{partID}}",
                "type": "path",
                "description": "partID of the part you are removing the image for."
              }
            ]
          },
          "docs": "This request adds the main image for a Part."
        },
        {
          "info": {
            "name": "Delete Part Image",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/parts/:partID/image",
            "params": [
              {
                "name": "partID",
                "value": "{{partID}}",
                "type": "path",
                "description": "partID of the part you are removing the image for."
              }
            ]
          },
          "docs": "This request removes the main image from a Part."
        },
        {
          "info": {
            "name": "Get Categories",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/parts/categories",
            "params": [
              {
                "name": "categories",
                "value": "1",
                "type": "query",
                "description": "This parameter is used to only get specific part categories. This parameter accepts a comma delimited list of categoryIDs."
              },
              {
                "name": "name",
                "value": "Electronics",
                "type": "query",
                "description": "This parameter is used to string search part categories names either partial or full name with the wildcard %."
              }
            ]
          },
          "docs": "Get Categories"
        },
        {
          "info": {
            "name": "Create Part Category",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.limblecmms.com/v2/parts/categories"
          },
          "docs": "Creates a part category to help you organize your parts.\n\nParameter: name, Type: string, Required?: Required, Description: The name of your new part category (i.e. \"Lawn Mower Parts\")"
        },
        {
          "info": {
            "name": "Update Part Category",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "https://api.limblecmms.com/v2/parts/categories/:categoryID",
            "params": [
              {
                "name": "categoryID",
                "value": "{{categoryID}}",
                "type": "path",
                "description": "categoryID of the category you wish to remove."
              }
            ]
          },
          "docs": "This request updates a Part Category's name.\n\nParameter: name, Type: string, Required?: Required, Description: The name of your new part category (i.e. \"Filters\")"
        },
        {
          "info": {
            "name": "Delete Part Category",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/parts/categories/:categoryID",
            "params": [
              {
                "name": "categoryID",
                "value": "{{categoryID}}",
                "type": "path",
                "description": "categoryID of the category you wish to remove."
              }
            ]
          },
          "docs": "This request will remove the Part Category from all Parts and from possible Categories."
        },
        {
          "info": {
            "name": "Part Fields",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/parts/fields",
            "params": [
              {
                "name": "fields",
                "value": "1,2",
                "type": "query",
                "description": "This parameter is used to only get specific fields by ID. This parameter expects a comma delimited list of fieldIDs."
              },
              {
                "name": "name",
                "value": "%text%",
                "type": "query",
                "description": "This parameter is used to only get specific field by name. This parameter expects a string full name of a field or partial name with the wildcard %."
              },
              {
                "name": "parts",
                "value": "2992",
                "type": "query",
                "description": "This parameter is used to only get part fields for a specific Part. This parameter expects a partID."
              },
              {
                "name": "start",
                "value": "1580016200",
                "type": "query",
                "description": "This parameter is used to only get part fields for parts that were last edited after the unix timestamp passed into the start parameter."
              },
              {
                "name": "end",
                "value": "1610602900",
                "type": "query",
                "description": "This parameter is used to only get parts fields for part fields that were last edited *before* the unix timestamp passed into the end parameter."
              },
              {
                "name": "cursor",
                "value": "0",
                "type": "query",
                "description": "This parameter is a cursor that selects what fieldID you want to start receiving results at. e.g. passing 137 here will only get you vendor fields with an id greater than 137."
              },
              {
                "name": "limit",
                "value": "5",
                "type": "query",
                "description": "This parameter is a result limiter. The default is set to return no more than 100 results at one time."
              },
              {
                "name": "value",
                "value": "%3%",
                "type": "query",
                "description": "This parameter is used to only get specific field by value. This parameter expects a string full name of a field or partial name with the wildcard %."
              },
              {
                "name": "locations",
                "value": "38469,38472",
                "type": "query",
                "description": "This parameter is used to paginate results based on the limit. Refer to Pagination section for more information."
              },
              {
                "name": "values",
                "value": "27",
                "type": "query",
                "description": "This parameter is used to get part fields by their valueID. This parameter expects a comma delimited list of Value IDs."
              },
              {
                "name": "page",
                "value": "1",
                "type": "query"
              }
            ]
          },
          "docs": "This request gets detailed information about custom set Part Fields.\n\nThis request will return an array of objects that have a file name and a link you can use to download that image. All links are only valid for 15 minutes, a new call will generate a new link.\n\n**Note:** this endpoint supports pagination. Please refer to the [**Pagination**](#pagination) section for more information."
        },
        {
          "info": {
            "name": "New Part Suggested Field",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.limblecmms.com/v2/parts/fields"
          },
          "docs": "This request adds a new Field to the list of Suggested Fields that can later be attached to Parts.\n\nParameter: locationID, Type: Int, Required?: Required, Description: The location ID of the Location to add the new Field to.\nParameter: name, Type: String, Required?: Required, Description: The name of the new Field. Some custom field names such as \"Part Name\" are not allowed and reserved for internal use. This will result in a 409 error.\nParameter: fieldType, Type: Int, Required?: Required, Descr"
        },
        {
          "info": {
            "name": "Part Suggested Fields",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/parts/fields/suggested",
            "params": [
              {
                "name": "fields",
                "value": "1,2",
                "type": "query",
                "description": "This parameter can be used to get a single Part Fields or a list of Part Fields in a comma-separated list."
              },
              {
                "name": "name",
                "value": "%text%",
                "type": "query",
                "description": "This parameter is used to only get specific field by name. This parameter expects a string full name of a field or partial name with the wildcard %."
              },
              {
                "name": "cursor",
                "value": "0",
                "type": "query",
                "description": "This parameter is a cursor that selects what fieldID you want to start receiving results at. e.g. passing 137 here will only get you vendor fields with an id greater than 137."
              },
              {
                "name": "limit",
                "value": "100",
                "type": "query",
                "description": "This parameter is a result limiter. The default is set to return no more than 100 results at one time."
              }
            ]
          },
          "docs": "This request gets all possible fields a Part can pick from when deciding which fields it should have."
        },
        {
          "info": {
            "name": "Update Part Field Value",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "https://api.limblecmms.com/v2/parts/fields/:valueID",
            "params": [
              {
                "name": "valueID",
                "value": "172",
                "type": "path",
                "description": "valueID of the field you are removing."
              }
            ]
          },
          "docs": "This request updates a Part's field value.\n\nParameter: value, Type: Depends on fieldType, Required?: Required, Description: The value that will be written to the field. \"value\" must correspond to the fieldType of the field. For example, if the field is a \"number\" fieldType, then \"value\" must be a number."
        },
        {
          "info": {
            "name": "Delete Part Field",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/parts/fields/:valueID",
            "params": [
              {
                "name": "valueID",
                "value": "172",
                "type": "path",
                "description": "valueID of the field you are removing."
              }
            ]
          },
          "docs": "This request deletes a custom field attached to a Part."
        },
        {
          "info": {
            "name": "Attach Field to Part",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.limblecmms.com/v2/parts/:partID/fields",
            "params": [
              {
                "name": "partID",
                "value": "1030",
                "type": "path"
              }
            ]
          },
          "docs": "This request attaches a Suggested Field to a Part."
        },
        {
          "info": {
            "name": "Part Logs",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/parts/:partID/logs",
            "params": [
              {
                "name": "partID",
                "value": "159",
                "type": "path"
              },
              {
                "name": "logs",
                "value": "21524",
                "type": "query",
                "description": "This parameter is used to only get specific logs. This parameter accepts a comma delimited list of logIDs."
              },
              {
                "name": "sources",
                "value": "4",
                "type": "query",
                "description": "This parameter is used to only get logs for a specific sourceID. This parameter accepts a comma delimited list of sourceIDs."
              },
              {
                "name": "users",
                "value": "340",
                "type": "query",
                "description": "This parameter is used to only get logs created by specific users. This parameter accepts a comma delimited list of userIDs."
              },
              {
                "name": "logEntry",
                "value": "%new%",
                "type": "query",
                "description": "This is a parameter used to string search for manual log entry (sourceID: 4). This parameter expects a string with the wildcard %."
              },
              {
                "name": "start",
                "value": "1663018000",
                "type": "query",
                "description": "This parameter is used to only get logs that were last edited after the unix timestamp passed into the start parameter. "
              },
              {
                "name": "end",
                "value": "1663018900",
                "type": "query",
                "description": "This parameter is used to only get logs that were last edited before the unix timestamp passed into the end parameter."
              },
              {
                "name": "page",
                "value": "1",
                "type": "query",
                "description": "This parameter is used to paginate results based on the limit. Refer to Pagination section for more information."
              },
              {
                "name": "limit",
                "value": "10",
                "type": "query",
                "description": "This parameter is a result limiter. The default is set to return no more than 100 results at one time."
              },
              {
                "name": "cursor",
                "value": "",
                "type": "query",
                "description": "This parameter is a cursor that selects what ID you want to start receiving results at. "
              }
            ]
          },
          "docs": "This request returns the log entries for a part.\n\n**Note:** this endpoint supports pagination. Please refer to the [Pagination](#pagination) section for more information.\n\nReturn data description\n\nlogID | The unique logID of the log.\ndateCreated | The date the log was created as a UNIX timestamp.\npartID | The partID the log belongs to.\nsourceID | The sourceID of the source of the log. The sourceID can be as follows:, 1: Part name was changed., 2: Part Number was changed., 3: Parts were added/rem"
        },
        {
          "info": {
            "name": "New Part Log",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.limblecmms.com/v2/parts/:partID/logs",
            "params": [
              {
                "name": "partID",
                "value": "159",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "This request creates a manual log entry for a part.\n\nThis request adds a new Field to the list of Suggested Fields that can later be attached to Parts.\n\nuserID | Int | Required | The ID of the user creating the log.\nlogEntry | String | Required | Details of the log."
        },
        {
          "info": {
            "name": "Update Part Log",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "https://api.limblecmms.com/v2/parts/logs/:logID",
            "params": [
              {
                "name": "logID",
                "value": "21524",
                "type": "path",
                "description": "The ID of the log to be deleted."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "This requests updates a manual log entry. Only logs with a sourceID=4 can be updated."
        },
        {
          "info": {
            "name": "Delete Part Log",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/parts/logs/:logID",
            "params": [
              {
                "name": "logID",
                "value": "21524",
                "type": "path",
                "description": "The ID of the log to be deleted."
              }
            ]
          },
          "docs": "This request deletes manual log entries (sourceID=4)."
        },
        {
          "info": {
            "name": "All Part Logs",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/parts/logs",
            "params": [
              {
                "name": "logs",
                "value": "1",
                "type": "query"
              },
              {
                "name": "sources",
                "value": "20",
                "type": "query"
              },
              {
                "name": "users",
                "value": "",
                "type": "query"
              },
              {
                "name": "logEntry",
                "value": "",
                "type": "query"
              },
              {
                "name": "start",
                "value": "",
                "type": "query"
              },
              {
                "name": "end",
                "value": "",
                "type": "query"
              },
              {
                "name": "page",
                "value": "1",
                "type": "query"
              },
              {
                "name": "parts",
                "value": "",
                "type": "query"
              },
              {
                "name": "limit",
                "value": "5",
                "type": "query"
              },
              {
                "name": "cursor",
                "value": "",
                "type": "query"
              }
            ]
          },
          "docs": "This request returns all part logs across your Limble account.\n\n**Note:** this endpoint supports pagination. Please refer to the [Pagination](#pagination) section for more information.\n\nReturn data description\n\nlogID | The unique logID of the log.\ndateCreated | The date the log was created as a UNIX timestamp.\npartID | The partID the log belongs to.\nsourceID | The sourceID of the source of the log. The sourceID can be as follows:, 1: Part name was changed., 2: Part Number was changed., 3: Parts "
        },
        {
          "info": {
            "name": "Get Purchasables",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/parts/:partID/purchasables",
            "params": [
              {
                "name": "partID",
                "value": "11",
                "type": "path",
                "description": "The ID of the part you need purchasables for."
              },
              {
                "name": "page",
                "value": "1",
                "type": "query",
                "description": "This parameter is used to paginate results based on the limit. Refer to Pagination section for more information."
              },
              {
                "name": "limit",
                "value": "2",
                "type": "query",
                "description": "This parameter is a result limiter. The default is set to return no more than 100 results at one time."
              },
              {
                "name": "nameStartsWith",
                "value": "Box of",
                "type": "query",
                "description": "Filter purchasables that have a name which starts with this string."
              }
            ]
          },
          "docs": "This endpoint makes an HTTP GET request to retrieve a part's purchasable data. The response of this request is documented as a JSON schema.\n\nReturn data description\n\n| **Property** | **Description** |\n| --- | --- |\n| partID | The ID of the part the purchasable belongs to. |\n| name | The name of the purchasable. |\n| size | The size of the purchasable. |\n| orderUnitCode | The unit that describes how this purchasable is ordered. E.g. \"by the box\", or \"by the foot\". |\n| sizeUnitCode | The unit that "
        },
        {
          "info": {
            "name": "Get Part Vendor Associations",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/parts/vendors/associations",
            "params": [
              {
                "name": "parts",
                "value": "158,159",
                "type": "query",
                "description": "This parameter is used to only get associations for specific parts. This parameter accepts a comma delimited list of part IDs."
              },
              {
                "name": "vendors",
                "value": "12,34",
                "type": "query",
                "description": "This parameter is used to only get associations for specific vendors. This parameter accepts a comma delimited list of vendor IDs."
              },
              {
                "name": "vendorPartNumber",
                "value": "%ABC%",
                "type": "query",
                "description": "This parameter is used to search for associations by vendor part number. This parameter expects a string with the wildcard % for partial matching."
              },
              {
                "name": "vendorName",
                "value": "%Acme%",
                "type": "query",
                "description": "This parameter is used to search for associations by vendor name. This parameter expects a string with the wildcard % for partial matching."
              },
              {
                "name": "start",
                "value": "1700000000",
                "type": "query",
                "description": "This parameter is used to only get associations that were last updated after the unix timestamp passed into the start parameter."
              },
              {
                "name": "end",
                "value": "1800000000",
                "type": "query",
                "description": "This parameter is used to only get associations that were last updated before the unix timestamp passed into the end parameter."
              },
              {
                "name": "cursor",
                "value": "0",
                "type": "query",
                "description": "This parameter is a cursor that selects what relationID you want to start receiving results at. This will return results with a relationID greater than the value of cursor."
              },
              {
                "name": "limit",
                "value": "100",
                "type": "query",
                "description": "This parameter is a result limiter. The default is set to return no more than 100 results at one time. The maximum is 1000."
              },
              {
                "name": "orderBy",
                "value": "relationID",
                "type": "query",
                "description": "This parameter is used to order results. Accepted values: relationID, -relationID, createdAt, -createdAt, updatedAt, -updatedAt, partName, -partName, vendorName, -vendorName. Prefix with - for descending order."
              },
              {
                "name": "page",
                "value": "1",
                "type": "query",
                "description": "This parameter is used to paginate results based on the limit. Refer to Pagination section for more information."
              }
            ]
          },
          "docs": "Returns a paginated list of vendor-part associations for the customer.\n\n**Note:** this endpoint supports both cursor-based and page-based pagination. Please refer to the [**Pagination**](#pagination) section for more information.\n\nReturn data description\n\nProperty: relationID, Description: The unique ID of this vendor-part association.\nProperty: partID, Description: The ID of the associated part.\nProperty: vendorID, Description: The ID of the associated vendor.\nProperty: vendorPartNumber, Descri"
        },
        {
          "info": {
            "name": "Create Part Vendor Association",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.limblecmms.com/v2/parts/vendors/associations",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Creates a new manual vendor-part association. The part and vendor must both exist and the vendor must be accessible at the part's location.\n\nReturns `201 Created` with the new association details. Returns `409 Conflict` if the association already exists."
        },
        {
          "info": {
            "name": "Delete Part Vendor Association",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/parts/vendors/associations/:relationID",
            "params": [
              {
                "name": "relationID",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "Deletes a vendor-part association by its `relationID`. Only manually created associations (associationType: `manual`) can be deleted through this endpoint.\n\nReturns `204 No Content` on success. Returns `404 Not Found` if the association does not exist or does not belong to your account."
        },
        {
          "info": {
            "name": "Parts",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/parts",
            "params": [
              {
                "name": "parts",
                "value": "1,2",
                "type": "query",
                "description": "This parameter is used to only get specific Parts. This parameter accepts a comma delimited list of part IDs."
              },
              {
                "name": "locations",
                "value": "73",
                "type": "query",
                "description": "This parameter is used to only get Parts at a specific group of Locations. This parameter accepts a comma delimited list of Location IDs."
              },
              {
                "name": "name",
                "value": "%blade%",
                "type": "query",
                "description": "This parameter is used to only get specific parts. This parameter expects a string either a full name of a part or a partial name with the wildcard %."
              },
              {
                "name": "start",
                "value": "1564895015",
                "type": "query",
                "description": "This parameter is used to only get Parts that were last edited after the unix timestamp passed into the start parameter. For example, all Parts that were last edited after April 18th, 2018."
              },
              {
                "name": "end",
                "value": "1564895015",
                "type": "query",
                "description": "This parameter is used to only get Parts that were last edited *before* the unix timestamp passed into the end parameter."
              },
              {
                "name": "cursor",
                "value": "0",
                "type": "query",
                "description": "This parameter is a cursor that selects what partID you want to start receiving results at. e.g. passing 137 here will only get you parts with an id greater than 137."
              },
              {
                "name": "limit",
                "value": "100",
                "type": "query",
                "description": "This parameter is a result limiter. The default is set to return no more than 100 results at one time."
              },
              {
                "name": "numbers",
                "value": "25x25x1 - Vendor b - location 2",
                "type": "query",
                "description": "This parameter is used to only get parts with part numbers that match the list provided. This parameter accepts a comma delimited list of Part Numbers."
              },
              {
                "name": "page",
                "value": "2",
                "type": "query",
                "description": "This parameter is used to paginate results based on the limit. Refer to Pagination section for more information. "
              }
            ]
          },
          "docs": "This request returns a list of Parts with top level information such as name, last edited, etc.\n\n**Note:** this endpoint supports pagination. Please refer to the [Pagination](#pagination) section for more information.\n\nReturn data description\n\nnumber | The Part's Number. e.g. 25x25x1\nname | The Part's Name. e.g. Filter\ngeneralStock | How many of this Part you have in stock. Not including purchase orders.\nunitCode | The unit code displayed for the part. This represents the unit of measure assigne"
        },
        {
          "info": {
            "name": "Create Part",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.limblecmms.com/v2/parts"
          },
          "docs": "This request adds new Parts to inventory list.\n\nlocationID | Int | Required | The location of the Part to be updated. Must be the Location's unique ID number.\nname | String | Required | The new name of the Part.\nnumber | String | Optional | The new number of the Part.\ngeneralStock | number | Optional | How many of this Part are now in stock. Not including purchase orders\ngeneralPrice | number | Optional | The new price of the Part. Not considering purchase order prices.\nunitCode | String | Optio"
        },
        {
          "info": {
            "name": "Update Part",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "https://api.limblecmms.com/v2/parts/:partID",
            "params": [
              {
                "name": "partID",
                "value": "{{partID}}",
                "type": "path",
                "description": "partID of the part you are removing."
              }
            ]
          },
          "docs": "This request updates an Part's information such as a Part's quantity.\n\nlocationID | Int | Required | The location of the Part to be updated. Must be the Location's unique ID number.\nname | String | Optional | The new name of the Part.\nnumber | String | Optional | The new number of the Part.\ngeneralStock | number | Optional | How many of this Part are now in stock. Not including purchase orders.\ngeneralPrice | number | Optional | The new price of the Part. Not considering purchase order prices.\nu"
        },
        {
          "info": {
            "name": "Delete Part",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/parts/:partID",
            "params": [
              {
                "name": "partID",
                "value": "{{partID}}",
                "type": "path",
                "description": "partID of the part you are removing."
              }
            ]
          },
          "docs": "This request removes a Part from your inventory list."
        },
        {
          "info": {
            "name": "Parts Usage",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/parts/usage",
            "params": [
              {
                "name": "parts",
                "value": "2",
                "type": "query",
                "description": "This parameter is used to only get specific Parts. This parameter accepts a comma delimited list of part IDs."
              },
              {
                "name": "tasks",
                "value": "8,10",
                "type": "query",
                "description": "This parameter is used to only get Parts at a specific group of Tasks. This parameter accepts a comma delimited list of Task IDs."
              },
              {
                "name": "start",
                "value": "1457663400",
                "type": "query",
                "description": "This parameter is used to only get Parts that were last edited after the unix timestamp passed into the start parameter. For example, all Assets that were last edited after April 18th, 2018."
              },
              {
                "name": "end",
                "value": "1457663400",
                "type": "query",
                "description": "This parameter is used to only get Parts that were last edited *before* the unix timestamp passed into the end parameter."
              },
              {
                "name": "name",
                "value": "%Pro%",
                "type": "query",
                "description": "This parameter is used to string search part names either partial or full name with the wildcard %."
              },
              {
                "name": "cursor",
                "value": "0",
                "type": "query",
                "description": "This parameter is a cursor that selects what partID you want to start receiving results at. e.g. passing 137 here will only get you part usage records with an id greater than 137."
              },
              {
                "name": "limit",
                "value": "100",
                "type": "query",
                "description": "This parameter is a result limiter. The default is set to return no more than 100 results at one time."
              }
            ]
          },
          "docs": "This request gets your Parts usage log.\n\nReturn data description\n\nProperty: meta, Description: A call which can be used to quickly look up the Task that this part's usage was recorded on.\nProperty: name, Description: The name of the part used.\nProperty: taskID, Description: The associated Task where this part was used.\nProperty: usedCount, Description: The number of parts that were used.\nProperty: usedPrice, Description: The price per 1 part.\nProperty: usedOn, Description: The date when the part"
        },
        {
          "info": {
            "name": "Attach a file to an invoice",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.limblecmms.com/v2/tasks/:taskID/invoices/:invoiceID/file",
            "params": [
              {
                "name": "taskID",
                "value": "15188",
                "type": "path",
                "description": "The taskID of the invoice you want remove the file from."
              },
              {
                "name": "invoiceID",
                "value": "311",
                "type": "path",
                "description": "The invoiceID of the invoice you want to remove the file from."
              }
            ]
          },
          "docs": "This request will attach a text or image file to an invoice on an **open** Task (i.e. task status=0)."
        },
        {
          "info": {
            "name": "Delete file from Invoice",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/tasks/:taskID/invoices/:invoiceID/file",
            "params": [
              {
                "name": "taskID",
                "value": "15188",
                "type": "path",
                "description": "The taskID of the invoice you want remove the file from."
              },
              {
                "name": "invoiceID",
                "value": "311",
                "type": "path",
                "description": "The invoiceID of the invoice you want to remove the file from."
              }
            ]
          },
          "docs": "This request removes a file attached to an invoice on an open Task (i.e. task status = 0)."
        },
        {
          "info": {
            "name": "Invoices",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/tasks/invoices",
            "params": [
              {
                "name": "invoices",
                "value": "1",
                "type": "query",
                "description": "This parameter is used to only get specific invoices or invoices. This parameter accepts a comma delimited list of invoice IDs."
              },
              {
                "name": "tasks",
                "value": "8250",
                "type": "query",
                "description": "This parameter is used to only get invoices on a task or tasks. This parameter accepts a comma delimited list of task IDs."
              },
              {
                "name": "start",
                "value": "1459391400",
                "type": "query",
                "description": "This parameter is used to only get invoices that were logged after the unix timestamp passed into the start parameter. For example, all Invoices that were last edited after April 18th, 2018."
              },
              {
                "name": "end",
                "value": "1518826313",
                "type": "query",
                "description": "This parameter is used to only get invoices that were logged *before* the unix timestamp passed into the end parameter."
              },
              {
                "name": "cursor",
                "value": "0",
                "type": "query",
                "description": "This parameter is a cursor that selects what invoiceID you want to start receiving results at. e.g. passing 137 here will only get you tasks with an id greater than 137."
              },
              {
                "name": "limit",
                "value": "100",
                "type": "query",
                "description": "This parameter is a result limiter. The default is set to return no more than 100 results at one time."
              }
            ]
          },
          "docs": "This request gets all Invoices associated with Tasks."
        },
        {
          "info": {
            "name": "Attach an Invoice to task",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.limblecmms.com/v2/tasks/:taskID/invoices",
            "params": [
              {
                "name": "taskID",
                "value": "15188",
                "type": "path",
                "description": "The taskID of the task you're attaching an invoice to."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "StartFragment\n\n.expect('Content-Type', /json/);\n\nEndFragment"
        },
        {
          "info": {
            "name": "Update an Invoice",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "https://api.limblecmms.com/v2/tasks/:taskID/invoices/:invoiceID",
            "params": [
              {
                "name": "taskID",
                "value": "15188",
                "type": "path",
                "description": "The taskID of the task the invoice is attached to"
              },
              {
                "name": "invoiceID",
                "value": "290",
                "type": "path",
                "description": "The invoiceID that needs to be updated"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "This request will update an invoice attached to an **open** Task (i.e. task status=0).\n\ncost | Float | Required | The cost on the invoice.\ndescription | String | Required | Brief description for the invoice."
        },
        {
          "info": {
            "name": "Delete invoice from task",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/tasks/:taskID/invoices/:invoiceID",
            "params": [
              {
                "name": "taskID",
                "value": "15188",
                "type": "path",
                "description": "The taskID of the task the invoice is attached to"
              },
              {
                "name": "invoiceID",
                "value": "290",
                "type": "path",
                "description": "The invoiceID that needs to be updated"
              }
            ]
          },
          "docs": "This request will remove an invoice from an **open** Task (i.e. task status=0)."
        },
        {
          "info": {
            "name": "Instruction Options",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/tasks/:taskID/instructions/:instructionID/options",
            "params": [
              {
                "name": "taskID",
                "value": "11429",
                "type": "path",
                "description": "taskID of the task you are getting the option/dropdown list."
              },
              {
                "name": "instructionID",
                "value": "49343",
                "type": "path",
                "description": "instructionID of the option/dropdown list you are getting the options for."
              }
            ]
          },
          "docs": "This request gets all the Options for an Instruction Option or Dropdown list associated with a Task."
        },
        {
          "info": {
            "name": "New Instruction Option",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.limblecmms.com/v2/tasks/:taskID/instructions/:instructionID/options",
            "params": [
              {
                "name": "taskID",
                "value": "11429",
                "type": "path",
                "description": "taskID of the task you are getting the option/dropdown list."
              },
              {
                "name": "instructionID",
                "value": "49343",
                "type": "path",
                "description": "instructionID of the option/dropdown list you are getting the options for."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "This request will create a new Option for a Dropdown or Option instruction of a task.\n\nParameter: instruction, Type: string, Required?: Required, Description: The text that guides the User for selecting the option.\nParameter: instructionOptionOrder, Type: Int, Required?: Optional, Description: If this is set the option is created at that position of the list. This value cannot be greater than the total number of option present in the list. If not set the option is added to the end of the list."
        },
        {
          "info": {
            "name": "Update Instruction Option",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "https://api.limblecmms.com/v2/tasks/instructions/:instructionID/options/:instructionOptionID",
            "params": [
              {
                "name": "instructionID",
                "value": "49343",
                "type": "path",
                "description": "instructionID of the instruction whose option you are editing."
              },
              {
                "name": "instructionOptionID",
                "value": "7097",
                "type": "path",
                "description": "instructionOptionID of the option you are editing."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Update Instruction Option"
        },
        {
          "info": {
            "name": "Delete Instruction Option",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/tasks/instructions/:instructionID/options/:instructionOptionID",
            "params": [
              {
                "name": "instructionID",
                "value": "49343",
                "type": "path",
                "description": "instructionID of the instruction whose option you are editing."
              },
              {
                "name": "instructionOptionID",
                "value": "7097",
                "type": "path",
                "description": "instructionOptionID of the option you are editing."
              }
            ]
          },
          "docs": "This request will delete an option from a Dropdown or Option instruction."
        },
        {
          "info": {
            "name": "Task Instructions",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/tasks/:taskID/instructions",
            "params": [
              {
                "name": "taskID",
                "value": "80",
                "type": "path"
              },
              {
                "name": "limit",
                "value": "2",
                "type": "query"
              },
              {
                "name": "page",
                "value": "1",
                "type": "query"
              },
              {
                "name": "cursor",
                "value": "0",
                "type": "query",
                "description": "This parameter is a cursor that selects what partID you want to start receiving results at. e.g. passing 137 here will only get you parts with an id greater than 137."
              }
            ]
          },
          "docs": "This request gets all Task Instructions associated with a Task.\n\n**Note:** this endpoint supports pagination. Please refer to the [Pagination](#pagination) section for more information.\n\nReturn data description\n\nparentInstructionID | This is the instructionID of the Instruction's parent. If this value is 0 then this Instruction does not have a parent.\ninstruction | The text that guides a User on what to do on this Instruction.\ntype | The type of the Instruction. See the request Post New Task Ins"
        },
        {
          "info": {
            "name": "New Task Instruction",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.limblecmms.com/v2/tasks/:taskID/instructions",
            "params": [
              {
                "name": "taskID",
                "value": "80",
                "type": "path"
              }
            ]
          },
          "docs": "This request will create a new Instruction for a Task.\n\nParameter: type, Type: Int, Required?: Required, Description: The type of each checklist item., 1 = Check Box; 2 = Option List; 3 = Text Box; 4 = Dropdown List; 5 = Date Picker; 7 = Label; 9 = File or Picture Attachment; 11 = Deadline Date Picker; 13 = Number; 14 = Start WO; 15 = Capture Signature., Item types not listed here are not currently supported. If you would like another item type to be supported, please contact us at product@limbl"
        },
        {
          "info": {
            "name": "Get Task Instruction by ID",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/tasks/instructions/:instructionID",
            "params": [
              {
                "name": "instructionID",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "This request retrieves a single Task Instruction by its instructionID.\n\n**Path Parameters:**\n- `instructionID` (required): The ID of the instruction to retrieve\n\n**Return data description:**\n\nReturns a single instruction object with the following properties:\n\n| Property | Description |\n|----------|-------------|\n| instructionID | The unique identifier for this instruction |\n| taskID | The ID of the task this instruction belongs to |\n| parentInstructionID | This is the instructionID of the Instru"
        },
        {
          "info": {
            "name": "Update Task Instruction",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "https://api.limblecmms.com/v2/tasks/instructions/:instructionID",
            "params": [
              {
                "name": "instructionID",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "This request updates an Task Instruction.\n\nParameter: instruction, Type: string, Required?: Optional, Description: The text that guides a User on what to do on this Instruction.\nParameter: parentInstructionID, Type: Int, Required?: Optional, Description: If this is set this Instruction is a 'child' or sub-instruction. This value of parentInstructionID is the id of the Instruction's parent. A value of 0 means this Instruction does not have a parent Instruction."
        },
        {
          "info": {
            "name": "Delete Task Instruction",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/tasks/instructions/:instructionID",
            "params": [
              {
                "name": "instructionID",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "This request removes a Task Instruction from a Task."
        },
        {
          "info": {
            "name": "Batch Task Instructions",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/tasks/instructions",
            "params": [
              {
                "name": "tasks",
                "value": "1,2,3,4,5,6,7",
                "type": "query",
                "description": "CSV of task IDs "
              },
              {
                "name": "limit",
                "value": "100",
                "type": "query",
                "description": "Page size (1..1000)"
              },
              {
                "name": "page",
                "value": "1",
                "type": "query",
                "description": "Page-based pagination (mutually exclusive with cursor)"
              }
            ]
          },
          "docs": "Retrieves instructions across multiple tasks, by taskID.\n\nReturn data description\n\nparentInstructionID | This is the instructionID of the Instruction's parent. If this value is 0 then this Instruction does not have a parent.\ninstruction | The text that guides a User on what to do on this Instruction.\ntype | The type of the Instruction. See the request Post New Task Instruction to see a list of possible types and their meaning.\ninstructionFiles | Array of objects that have a file name and a link "
        },
        {
          "info": {
            "name": "Task Instruction Image",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.limblecmms.com/v2/tasks/instructions/:instructionID/image",
            "params": [
              {
                "name": "instructionID",
                "value": "59271",
                "type": "path"
              }
            ]
          },
          "docs": "This request adds instructional images to an Instruction.\n\nReturn data description\n\nfilename | The name of the file after being uploaded to Limble."
        },
        {
          "info": {
            "name": "Delete Task Instruction Image",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/tasks/instructions/:instructionID/image",
            "params": [
              {
                "name": "instructionID",
                "value": "59271",
                "type": "path"
              },
              {
                "name": "filename",
                "value": "165040769563793-pic.png",
                "type": "query",
                "description": "The name of the instruction file that needs to be deleted. This is an optional parameter. If not given, **all** the files attached to an instruction will be deleted."
              }
            ]
          },
          "docs": "This request removes an instructional image from an Instruction."
        },
        {
          "info": {
            "name": "Upload Task Main Image",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.limblecmms.com/v2/tasks/:taskID/image",
            "params": [
              {
                "name": "taskID",
                "value": "555",
                "type": "path"
              }
            ]
          },
          "docs": "Uploads a main image to a task.\n\nParameters:\n\n| Parameter | In | Type | Required | Default | Description |\n|---|---|---|---|---|---|\n| taskID | path | integer | yes |  | Task identifier |\n| image | form-data | file | yes |  | Image file (≤ 50MB). Types: JPEG, PNG, JPG, GIF |"
        },
        {
          "info": {
            "name": "Delete Task Main Image",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/tasks/:taskID/image",
            "params": [
              {
                "name": "taskID",
                "value": "555",
                "type": "path"
              }
            ]
          },
          "docs": "Deletes the task's main image.\n\nParameters:\n\n| Parameter | In | Type | Required | Default | Description |\n|---|---|---|---|---|---|\n| taskID | path | integer | yes |  | Task identifier |\n\nResponses:\n- 200 OK: Image cleared.\n- 404 Not Found: No image exists for this task."
        },
        {
          "info": {
            "name": "Task Labor",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/tasks/labor",
            "params": [
              {
                "name": "tasks",
                "value": "6,11",
                "type": "query",
                "description": "This parameter is used to only get specific Tasks. This parameter accepts a comma delimited list of task IDs."
              },
              {
                "name": "users",
                "value": "0",
                "type": "query",
                "description": "This parameter is used to only get labor records for a specific user or set of users in a comma delimited list."
              },
              {
                "name": "start",
                "value": "1564895015",
                "type": "query",
                "description": "This parameter is used to only get labor that was logged after the unix timestamp passed into the start parameter. For example, all Assets that were last edited after April 18th, 2018."
              },
              {
                "name": "end",
                "value": "1564895015",
                "type": "query",
                "description": "This parameter is used to only get labor that was logged *before* the unix timestamp passed into the end parameter."
              },
              {
                "name": "limit",
                "value": "100",
                "type": "query",
                "description": "This parameter is a result limiter. The default is set to return no more than 100 results at one time."
              },
              {
                "name": "cursor",
                "value": "0",
                "type": "query",
                "description": "This parameter is a cursor that selects what taskID you want to start receiving results at. e.g. passing 137 here will only get you tasks with an id greater than 137."
              },
              {
                "name": "locations",
                "value": "0",
                "type": "query",
                "description": "This parameter is used to retrieve labor entries for particular locations. This parameter accepts a comma delimited list of location IDs."
              },
              {
                "name": "orderBy",
                "value": "-dateLogged",
                "type": "query",
                "description": "This parameter is used to order results by their dateLogged property instead of the default ordering. CANNOT be provided alongside the cursor parameter. to paginate in this ordering, use the start or end parameters."
              }
            ]
          },
          "docs": "This request gets the labor (time spent) on a Task. A single Task can have multiple times logged onto it.\n\nReturn data description\n\nmeta | This property contains shortcuts to other requests that can be used to get more information regarding the Task the labor was logged on and the user who logged the time.\ntaskID | The Task ID associated with this labor entry.\ntimeSpent | The amount of time measure in seconds.\nuserWage | The wage per hour.\ndescription | A description of the labor entry.\ndateLogg"
        },
        {
          "info": {
            "name": "Get Labor Categories",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/tasks/labor/categories",
            "params": [
              {
                "name": "name",
                "value": "%tech%",
                "type": "query",
                "description": "This is a parameter used to string search for a name or partial name of a category this parameter expects a string with the wildcard %."
              },
              {
                "name": "limit",
                "value": "100",
                "type": "query",
                "description": "This parameter is a result limiter. The default is set to return no more than 100 results at one time."
              },
              {
                "name": "cursor",
                "value": "0",
                "type": "query",
                "description": "This parameter is a cursor that selects what taskID you want to start receiving results at. e.g. passing 137 here will only get you tasks with an id greater than 137."
              }
            ]
          },
          "docs": "This request gets the labor categories.\n\nReturn data description\n\nProperty: categoryID, Description: The unique ID for this billing category.\nProperty: categoryName, Description: The name of this billing category.\nProperty: categoryRate, Description: The rate per hour of this billing category."
        },
        {
          "info": {
            "name": "Get attached parts",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/tasks/:taskID/parts",
            "params": [
              {
                "name": "taskID",
                "value": "{{taskID}}",
                "type": "path"
              }
            ]
          },
          "docs": "Gets parts attached to a task.\n\nThis request gets parts associated with a task. A single Task can have multiple parts associated with it.\n\nReturn data description\n\nProperty: partID, Description: The partID of the part associated to this task.\nProperty: quantity, Description: The quantity of this part associated to this task.\nProperty: usedPrice, Description: The price of the part at the time of use.\nProperty: partName, Description: The name of the part.\nProperty: poItemID, Description: The uniqu"
        },
        {
          "info": {
            "name": "Attach part to task",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.limblecmms.com/v2/tasks/:taskID/parts",
            "params": [
              {
                "name": "taskID",
                "value": "{{taskID}}",
                "type": "path"
              }
            ]
          },
          "docs": "This request associates a part to a task."
        },
        {
          "info": {
            "name": "Get all attached parts",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/tasks/parts",
            "params": [
              {
                "name": "tasks",
                "value": "5,10,12",
                "type": "query",
                "description": "This parameter is used to get parts attached to a list of tasks. This parameter accepts a comma delimited list of task IDs."
              },
              {
                "name": "parts",
                "value": "121,112,553",
                "type": "query",
                "description": "This parameter is used to get only certain. This parameter accepts a comma delimited list of task IDs."
              },
              {
                "name": "cursor",
                "value": "137",
                "type": "query",
                "description": "This parameter is a cursor that selects what id you want to start receiving results at. e.g. passing 137 here will only get you assets with an id greater than 137."
              },
              {
                "name": "limit",
                "value": "100",
                "type": "query",
                "description": "This parameter is a result limiter. The default is set to return no more than 100 results at one time."
              }
            ]
          },
          "docs": "Gets parts attached to all tasks.\n\nThis request gets parts associated with any task. A single Task can have multiple parts associated with it.\n\nReturn data description\n\nProperty: relationID, Description: The identifier that associates parts to tasks.\nProperty: partID, Description: The partID of the part associated to this task.\nProperty: taskID, Description: The taskID this part is assoicated with.\nProperty: quantity, Description: The quantity of this part associated to this task.\nProperty: last"
        },
        {
          "info": {
            "name": "Delete part from task",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/tasks/:taskID/:partID",
            "params": [
              {
                "name": "taskID",
                "value": "{{taskID}}",
                "type": "path"
              },
              {
                "name": "partID",
                "value": "{{partID}}",
                "type": "path"
              }
            ]
          },
          "docs": "This request deletes a part from a task."
        },
        {
          "info": {
            "name": "Task Comments",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/tasks/:taskID/comments",
            "params": [
              {
                "name": "taskID",
                "value": "19696",
                "type": "path",
                "description": "taskID of the task you are adding a comment to."
              },
              {
                "name": "cursor",
                "value": "0",
                "type": "query",
                "description": "This parameter is a cursor that selects what commentID you want to start receiving results at. e.g. passing 137 here will only get you parts with an id greater than 137."
              },
              {
                "name": "limit",
                "value": "100",
                "type": "query",
                "description": "This parameter is a result limiter. The default is set to return no more than 100 results at one time."
              }
            ]
          },
          "docs": "This request gets all Task Comments associated with a Task.\n\nReturn data description\n\ncommentID | This is the commentID of comment.\ncomment | The text comment that was entered by the user.\ntimestamp | The date this comment was created. This is a unix timestamp.\nuserID | The ID of the user that made the comment.\ncommentEmailAddress | The email address of the external user that made this comment. This is only populated if the comment was made by an external user via the comment reply system.\nshowE"
        },
        {
          "info": {
            "name": "Add Task Comments",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.limblecmms.com/v2/tasks/:taskID/comments",
            "params": [
              {
                "name": "taskID",
                "value": "19696",
                "type": "path",
                "description": "taskID of the task you are adding a comment to."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "This request adds a comment to a task.\n\ncomment | String | Required | The comment to be added.\nshowExternalUsers | Boolean | Optional | This will show the comment to external users. The default value is true."
        },
        {
          "info": {
            "name": "Tags",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/tasks/:taskID/tags",
            "params": [
              {
                "name": "taskID",
                "value": "1160",
                "type": "path"
              }
            ]
          },
          "docs": "This request gets all Custom Tags associated with a Task.\n\nReturn data description\n\n| Property | Description |\n| --- | --- |\n| tags | An array of custom tags associated with the task. |"
        },
        {
          "info": {
            "name": "PUT Apply Task Tags",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.limblecmms.com/v2/tasks/:taskID/tags",
            "params": [
              {
                "name": "taskID",
                "value": "1160",
                "type": "path"
              }
            ]
          },
          "docs": "Applies one or more existing custom tags to a task. Tags must already exist at the account level (see POST /v2/tags to create new tags).\n\nBody:\n- tags: string[] — List of tags, or\n- tag: string — Single tag.\n\nSuccess Response (200):\n- created: true\n- name?: string — Present when a single tag was added; canonical without trailing ';'.\n- sanitizations?: string[] — Applied normalizations.\n- note?: string — Present when input had multiple '@' characters.\n- tags: string[] — Updated canonical tags wit"
        },
        {
          "info": {
            "name": "DELETE Remove Task Tag",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/tasks/:taskID/tags/:tagRaw",
            "params": [
              {
                "name": "taskID",
                "value": "",
                "type": "path"
              },
              {
                "name": "tagRaw",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "Removes a single custom tag from a task.\n\nPath:\n- tag: string — Tag to remove; may be raw or canonical; server normalizes.\n\nSuccess Response (200):\n- deleted: true\n- name: string — Canonical tag (includes trailing ';').\n- tags: string[] — Updated canonical tags.\n\nErrors:\n- 404: { message: 'Tag not found' }\n- 400: { removed: null, message: string } — Invalid input."
        },
        {
          "info": {
            "name": "List WR Submissions",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/work-requests/work-request-submissions",
            "params": [
              {
                "name": "orderBy",
                "value": "createdAt",
                "type": "query",
                "description": "This parameter is used to order results by their createdAt, status, requestTitle, workRequestSubmissionID, and location property instead of the default ordering. each property can be flipped reverse by putting a minus before the property e.g. \"-createdAt\"."
              },
              {
                "name": "search",
                "value": "pump",
                "type": "query",
                "description": "Free-text search"
              },
              {
                "name": "locationIDs",
                "value": "1",
                "type": "query",
                "description": "This parameter is used to only get work requests at a specific group of Locations. This parameter accepts a comma delimited list of Location IDs."
              },
              {
                "name": "statuses",
                "value": "open",
                "type": "query",
                "description": "CSV of statuses"
              },
              {
                "name": "limit",
                "value": "100",
                "type": "query",
                "description": "Max rows"
              },
              {
                "name": "columns",
                "value": "",
                "type": "query",
                "description": "CSV of field names (letters only); forwarded upstream as array"
              },
              {
                "name": "createdDateStart",
                "value": "2025-06-20T20:51:13.000Z",
                "type": "query",
                "description": "ISO 8601 start"
              },
              {
                "name": "createdDateEnd",
                "value": "2025-06-20T20:51:13.000Z",
                "type": "query",
                "description": "ISO 8601 end (≥ start)"
              },
              {
                "name": "workRequestIDs",
                "value": "1,2,3",
                "type": "query",
                "description": "CSV of WR IDs"
              },
              {
                "name": "page",
                "value": "1",
                "type": "query",
                "description": "Page-based pagination (mutually exclusive with cursor)"
              },
              {
                "name": "cursor",
                "value": "1",
                "type": "query",
                "description": "Cursor for pagination (forbidden with page)"
              }
            ]
          },
          "docs": "Lists WR submissions\n\nReturn data description:\n\n| **Property** | **Description** |\n| --- | --- |\n| workRequestSubmissionId | The unique identifier of the work request submission. |\n| status | Pending, Approved or Rejected. |\n| createdByUserId | The unique identifier of the user who created the work request submission. |\n| createdAt | The date the work request submission was created. The timestamp is in the following format: YYYY-MM-DD (2025-07-02) HH:MM:SS (21:36:31) |\n| updatedAt | The date the"
        },
        {
          "info": {
            "name": "Create WR Submission",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.limblecmms.com/v2/work-requests/work-request-submissions",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Creates a new work request submission. The submission enters a pending state and must be approved or declined by a reviewer.\n\n`locationID` and `dueDateUnit` are required. All other fields are optional."
        },
        {
          "info": {
            "name": "Approve WR Submission",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.limblecmms.com/v2/work-requests/work-request-submissions/:workRequestSubmissionID/approve",
            "params": [
              {
                "name": "workRequestSubmissionID",
                "value": "42",
                "type": "path",
                "description": "The ID of the work request submission to approve."
              }
            ]
          },
          "docs": "Approves a pending work request submission, generating a task from it."
        },
        {
          "info": {
            "name": "Decline WR Submission",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.limblecmms.com/v2/work-requests/work-request-submissions/:workRequestSubmissionID/decline",
            "params": [
              {
                "name": "workRequestSubmissionID",
                "value": "42",
                "type": "path",
                "description": "The ID of the work request submission to decline."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Declines a pending work request submission.\n\nBoth `declineReason` and `additionalNotes` are optional strings."
        },
        {
          "info": {
            "name": "Tasks",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/tasks",
            "params": [
              {
                "name": "tasks",
                "value": "9109",
                "type": "query",
                "description": "This parameter is used to only get specific Tasks. This parameter accepts a comma delimited list of task IDs."
              },
              {
                "name": "assets",
                "value": "1",
                "type": "query",
                "description": "This parameter is used to only get Tasks that are linked to an asset. This parameter accepts a comma delimited list of asset IDs."
              },
              {
                "name": "locations",
                "value": "73",
                "type": "query",
                "description": "This parameter is used to only get Tasks at a specific group of Locations. This parameter accepts a comma delimited list of Location IDs."
              },
              {
                "name": "type",
                "value": "6",
                "type": "query",
                "description": "This parameter is used to only get Tasks of a specific type. This parameter accepts a comma delimited list of task types."
              },
              {
                "name": "name",
                "value": "%test%",
                "type": "query",
                "description": "This is a parameter used to string search for a name or partial name of a task this parameter expects a string with the wildcard %."
              },
              {
                "name": "start",
                "value": "1000000000",
                "type": "query",
                "description": "This parameter is used to only get Tasks that were last edited after the unix timestamp passed into the start parameter. For example, all Tasks that were last edited after April 18th, 2018."
              },
              {
                "name": "end",
                "value": "2500000000",
                "type": "query",
                "description": "This parameter is used to only get Tasks that were last edited before the unix timestamp passed into the end parameter."
              },
              {
                "name": "cursor",
                "value": "0",
                "type": "query",
                "description": "This parameter is a cursor that selects what taskID you want to start receiving results at. e.g. passing 137 here will only get you tasks with an id greater than 137."
              },
              {
                "name": "limit",
                "value": "2",
                "type": "query",
                "description": "This parameter is a result limiter. The default is set to return no more than 100 results at one time."
              },
              {
                "name": "page",
                "value": "2",
                "type": "query",
                "description": "This parameter is used to paginate results based on the limit. Refer to Pagination section for more information."
              },
              {
                "name": "completedStart",
                "value": "0",
                "type": "query",
                "description": "This parameter is used to only get Tasks that were completed after the unix timestamp passed into this parameter. For example, all Assets that were completed after April 18th, 2018."
              },
              {
                "name": "completedEnd",
                "value": "2500000000",
                "type": "query",
                "description": "This parameter is used to only get Tasks that were completed before the unix timestamp passed into this parameter."
              },
              {
                "name": "scheduledStart",
                "value": "0",
                "type": "query",
                "description": "This parameter is used as the start of a scheduled-date window. Tasks are returned when their scheduled date range overlaps this timestamp."
              },
              {
                "name": "scheduledEnd",
                "value": "2500000000",
                "type": "query",
                "description": "This parameter is used as the end of a scheduled-date window. Tasks are returned when their scheduled date range overlaps this timestamp."
              },
              {
                "name": "orderBy",
                "value": "-createdDate",
                "type": "query",
                "description": "This parameter sorts based on the value you pass. Negative parameters are used to reverse sort order. This supports sorting by due, createdDate, dateCompleted, scheduledStart, scheduledEnd, and lastEdited."
              },
              {
                "name": "geoLocation",
                "value": "true",
                "type": "query",
                "description": "This parameter is used to filter results that contain a geoLocation property. By default it is false and will return all tasks with and without geoLocation property. If true, it will only return tasks with a geoLocation property."
              },
              {
                "name": "users",
                "value": "11",
                "type": "query",
                "description": "This parameter filters tasks by assignee user IDs. It returns tasks directly assigned to those users and tasks assigned through team/profile membership (including multi-user assignments). This parameter accepts a comma delimited list of user IDs."
              },
              {
                "name": "teams",
                "value": "500",
                "type": "query",
                "description": "This parameter is used to only get Tasks assigned to specific teams/profiles. This parameter accepts a comma delimited list of team IDs."
              },
              {
                "name": "lastEditedByUsers",
                "value": "0,340,341",
                "type": "query",
                "description": "This parameter is used to filter tasks by users who last edited the task."
              },
              {
                "name": "status",
                "value": "1",
                "type": "query",
                "description": "This parameter is used to filter tasks by completed status. 1 - Complete  0 - Incomplete"
              },
              {
                "name": "meta1",
                "value": "1",
                "type": "query",
                "description": "This parameter is used to filter tasks by task meta data. This does not show in the web application, but can be used to track items between integrated systems."
              },
              {
                "name": "meta2",
                "value": "2",
                "type": "query",
                "description": "This parameter is used to filter tasks by task meta data. This does not show in the web application, but can be used to track items between integrated systems."
              },
              {
                "name": "meta3",
                "value": "3",
                "type": "query",
                "description": "This parameter is used to filter tasks by task meta data. This does not show in the web application, but can be used to track items between integrated systems."
              },
              {
                "name": "statusIDs",
                "value": "0,1,2",
                "type": "query",
                "description": "This parameter is used to filter tasks by their associated statusID."
              },
              {
                "name": "tag",
                "value": "@My Custom Tag;",
                "type": "query",
                "description": "This parameter is used to filter results that contain a certain custom tag. The tag must match exactly, i.e. \"Tag\" would not match \"My Custom Tag\". Searching for \"@My Custom Tag;\" is equivalent to searching for \"My Custom Tag\" but because custom tags are stored with an at sign (\"@\") at the beginning and a semicolon (\";\") at the end it is recommended that the param follows the same format."
              }
            ]
          },
          "docs": "This request gets top level information about Tasks such as completed date, assignment, assetID, etc.\n\n**Note:** this endpoint supports pagination. Please refer to the [Pagination](#pagination) section for more information.\n\nReturn data description\n\nmeta | This property has shortcuts to get other information related to the Task such as the Task's invoices, labor parts usage and instructions.\nname | The Task's name.\nuserID | The id of the user this Task is assigned to. A Task can not be assigned "
        },
        {
          "info": {
            "name": "New Task",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.limblecmms.com/v2/tasks",
            "params": [
              {
                "name": "name",
                "value": "\"Priority Test\"",
                "type": "query"
              },
              {
                "name": "locationID",
                "value": "34190",
                "type": "query"
              },
              {
                "name": "due",
                "value": "1749680211",
                "type": "query"
              },
              {
                "name": "type",
                "value": "2",
                "type": "query"
              },
              {
                "name": "templateID",
                "value": "9",
                "type": "query"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "This request will create an empty Task, assign to a User or Team, etc.\n\nname | String | Required | The name of the Task.\nlocationID | Int | Required | The id of the Location this Task is assigned to. Must be the Location's unique ID number.\ndue | Int | Required | The time at which the Task is due. Must be a unix timestamp.\ntype | Int | Required | The type of Task according to this legend:, 1 = Preventative Maintanance (PM)., 2 = Unplanned Work Order (WO);, 4 = Planned Work Order (WO);, 6 = Work "
        },
        {
          "info": {
            "name": "Update Task",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "https://api.limblecmms.com/v2/tasks/:taskID",
            "params": [
              {
                "name": "taskID",
                "value": "{{taskID}}",
                "type": "path",
                "description": "taskID of the task you are removing."
              }
            ]
          },
          "docs": "This request updates the top level information of a Task.\n\nname | String | Optional | The name of the task.\nlocationID | Int | Optional | The location to which the task is assigned. Must be the location's unique ID number.\ndue | Int | Optional | The time at which the task is due for completion. Must be a unix timestamp.\ntype | Int | Optional | The type of task according to this legend:, 1 = Preventative Maintanance (PM)., 2 = Unplanned Work Order (WO);, 4 = Planned Work Order (WO);, 6 = Work Req"
        },
        {
          "info": {
            "name": "Delete Task",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/tasks/:taskID",
            "params": [
              {
                "name": "taskID",
                "value": "{{taskID}}",
                "type": "path",
                "description": "taskID of the task you are removing."
              }
            ]
          },
          "docs": "Delete Task"
        },
        {
          "info": {
            "name": "Get User Roles",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/users/:userID/roles",
            "params": [
              {
                "name": "userID",
                "value": "{{userID}}",
                "type": "path",
                "description": "userID of the role user you are removing the Role from."
              },
              {
                "name": "roles",
                "value": "1,2",
                "type": "query",
                "description": "This parameter expects a comma-separated list of roleIDs to filter teams by"
              },
              {
                "name": "locations",
                "value": "163,202",
                "type": "query",
                "description": "This parameter expects a comma-separated list of locationIDs to filter roles by"
              },
              {
                "name": "name",
                "value": "%Manager%",
                "type": "query",
                "description": "This parameter is used to only get specific role by name. This parameter expects a string full name of a user or partial name with the wildcard %."
              },
              {
                "name": "cursor",
                "value": "0",
                "type": "query",
                "description": "This parameter is a cursor that selects what teamID you want to start receiving results at. e.g. passing 137 here will only get you tasks with an id greater than 137."
              },
              {
                "name": "limit",
                "value": "100",
                "type": "query",
                "description": "This parameter is a result limiter. The default is set to return no more than 100 results at one time."
              }
            ]
          },
          "docs": "This request gets all of the Roles a User has and what Location they have that Role at."
        },
        {
          "info": {
            "name": "Add User To Role",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.limblecmms.com/v2/users/:userID/roles",
            "params": [
              {
                "name": "userID",
                "value": "{{userID}}",
                "type": "path",
                "description": "userID of the role user you are removing the Role from."
              }
            ]
          },
          "docs": "This request adds a User to a Role."
        },
        {
          "info": {
            "name": "Remove Role From User",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/users/:userID/roles",
            "params": [
              {
                "name": "userID",
                "value": "{{userID}}",
                "type": "path",
                "description": "userID of the role user you are removing the Role from."
              }
            ]
          },
          "docs": "This request removes a Role from a User."
        },
        {
          "info": {
            "name": "Get User Teams",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/users/:userID/teams",
            "params": [
              {
                "name": "userID",
                "value": "{{userID}}",
                "type": "path"
              },
              {
                "name": "teams",
                "value": "436,437",
                "type": "query",
                "description": "This parameter expects a comma-separated list of teamIDs to filter teams by"
              },
              {
                "name": "locations",
                "value": "163,74",
                "type": "query",
                "description": "This parameter expects a comma-separated list of locationIDs to filter teams by"
              },
              {
                "name": "limit",
                "value": "100",
                "type": "query",
                "description": "This parameter is a result limiter. The default is set to return no more than 100 results at one time."
              },
              {
                "name": "cursor",
                "value": "0",
                "type": "query",
                "description": "This parameter is a cursor that selects what teamID you want to start receiving results at. e.g. passing 137 here will only get you tasks with an id greater than 137."
              },
              {
                "name": "name",
                "value": "%Manager%",
                "type": "query",
                "description": "This parameter is used to only get specific team by name. This parameter expects a string full name of a user or partial name with the wildcard %."
              }
            ]
          },
          "docs": "This request gets all of the Teams a User has and what Location they have that Team at."
        },
        {
          "info": {
            "name": "Add User To Team",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.limblecmms.com/v2/users/:userID/teams",
            "params": [
              {
                "name": "userID",
                "value": "{{userID}}",
                "type": "path"
              }
            ]
          },
          "docs": "This request adds a User to a Team."
        },
        {
          "info": {
            "name": "Remove Team From User",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/users/:userID/teams",
            "params": [
              {
                "name": "userID",
                "value": "{{userID}}",
                "type": "path"
              }
            ]
          },
          "docs": "This request removes a Team from a User."
        },
        {
          "info": {
            "name": "Get Capacity Exceptions by User",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/users/capacity/exceptions/:userID",
            "params": [
              {
                "name": "userID",
                "value": "",
                "type": "path"
              },
              {
                "name": "locations",
                "value": "1",
                "type": "query",
                "description": "Required comma-separated location IDs used to scope the user access context."
              },
              {
                "name": "startDate",
                "value": "2026-01-01",
                "type": "query",
                "description": "Optional lower date bound (YYYY-MM-DD) for overlap filtering."
              },
              {
                "name": "endDate",
                "value": "2026-01-31",
                "type": "query",
                "description": "Optional upper date bound (YYYY-MM-DD) for overlap filtering. Must be >= startDate when both are present."
              },
              {
                "name": "cursor",
                "value": "0",
                "type": "query",
                "description": "Optional ID cursor for keyset pagination."
              },
              {
                "name": "limit",
                "value": "100",
                "type": "query",
                "description": "Optional max rows per page."
              }
            ]
          },
          "docs": "Gets capacity exception records for a specific user.\n\n`capacityMinutes` is the user's available capacity **per day** for each date in the exception range.\n\nQuery behavior:\n- `locations` scopes by user location membership.\n- `startDate`/`endDate` filter by date overlap (YYYY-MM-DD).\n- `cursor`/`limit` paginate results.\n\nResponse fields include:\n`exceptionID`, `userID`, `createdByUserID`, `exceptionStartDate`, `exceptionEndDate`, `capacityMinutes`, `hoursPerDay`, `minutesPerDay`, `exceptionTitle`,"
        },
        {
          "info": {
            "name": "New Capacity Exception",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.limblecmms.com/v2/users/capacity/exceptions/:userID",
            "params": [
              {
                "name": "userID",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Creates a capacity exception for a user.\n\n`capacityMinutes` means the user's available work capacity **per day** for each day in the exception date/range. It is **not** the total duration of the exception range.\n\nExamples:\n\n- `capacityMinutes: 0` => unavailable that day (or each day in the range).\n    \n- `capacityMinutes: 480` => 8 hours available per day.\n    \n\nYou can provide either:\n\n- `capacityMinutes` directly, or\n    \n- `hoursPerDay` + `minutesPerDay` (equivalent input)."
        },
        {
          "info": {
            "name": "Get Capacity Exceptions by Location",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/users/capacity/exceptions",
            "params": [
              {
                "name": "locations",
                "value": "1,3",
                "type": "query",
                "description": "Required comma-separated location IDs."
              },
              {
                "name": "users",
                "value": "42,57",
                "type": "query",
                "description": "Optional comma-separated user IDs filter."
              },
              {
                "name": "startDate",
                "value": "2026-01-01",
                "type": "query",
                "description": "Optional lower date bound (YYYY-MM-DD) for overlap filtering."
              },
              {
                "name": "endDate",
                "value": "2026-01-31",
                "type": "query",
                "description": "Optional upper date bound (YYYY-MM-DD) for overlap filtering. Must be >= startDate when both are present."
              },
              {
                "name": "cursor",
                "value": "0",
                "type": "query",
                "description": "Optional ID cursor for keyset pagination."
              },
              {
                "name": "limit",
                "value": "100",
                "type": "query",
                "description": "Optional max rows per page."
              }
            ]
          },
          "docs": "Gets capacity exception records across users for the requested locations.\n\n`capacityMinutes` is the user's available capacity **per day** for each date in the exception range.\n\nQuery behavior:\n- `locations` is required.\n- `users` optionally narrows results to specific users.\n- `startDate`/`endDate` filter by date overlap (YYYY-MM-DD).\n- `cursor`/`limit` paginate results.\n\nResponse fields include:\n`exceptionID`, `userID`, `createdByUserID`, `exceptionStartDate`, `exceptionEndDate`, `capacityMinut"
        },
        {
          "info": {
            "name": "Update Capacity Exception",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "https://api.limblecmms.com/v2/users/capacity/exceptions/:userID/:exceptionID",
            "params": [
              {
                "name": "userID",
                "value": "",
                "type": "path"
              },
              {
                "name": "exceptionID",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "This request updates an existing capacity exception and returns the updated resource.\n\n`capacityMinutes` means the user's available capacity **per day** for each day in the exception date/range. It is **not** the total duration of the exception range.\n\nExamples:\n- `capacityMinutes: 0` => unavailable that day (or each day in the range).\n- `capacityMinutes: 480` => 8 hours available per day.\n\nReturn data description\n\nProperty\tDescription\nexceptionID\tUnique ID for the capacity exception record.\nuse"
        },
        {
          "info": {
            "name": "Delete Capacity Exception",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/users/capacity/exceptions/:userID/:exceptionID",
            "params": [
              {
                "name": "userID",
                "value": "",
                "type": "path"
              },
              {
                "name": "exceptionID",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "Deletes a capacity exception for a user."
        },
        {
          "info": {
            "name": "Get Capacity Schedules",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/users/capacity/schedules",
            "params": [
              {
                "name": "locations",
                "value": "1,3",
                "type": "query",
                "description": "Required comma-separated location IDs to scope users."
              },
              {
                "name": "users",
                "value": "42,57",
                "type": "query",
                "description": "Optional comma-separated user IDs filter."
              },
              {
                "name": "startDate",
                "value": "2026-01-05",
                "type": "query",
                "description": "Required start date (YYYY-MM-DD)."
              },
              {
                "name": "endDate",
                "value": "2026-01-07",
                "type": "query",
                "description": "Required end date (YYYY-MM-DD), must be >= startDate and within 31 days."
              },
              {
                "name": "cursor",
                "value": "0",
                "type": "query",
                "description": "Optional zero-based user offset for pagination."
              },
              {
                "name": "limit",
                "value": "100",
                "type": "query",
                "description": "Optional page size (1-100)."
              }
            ]
          },
          "docs": "Returns per-user daily capacity rows for a date range, including applied precedence details.\n\nPrecedence order:\n`exception > holiday > userSchedule > profileSchedule > default`.\n\nPagination:\n- `cursor` is a zero-based offset.\n- `limit` max is 100.\n\nDate limits:\n- `startDate` and `endDate` are required (YYYY-MM-DD).\n- Date range cannot exceed 31 days.\n\nResponse notes:\n- `range` now contains only `startDate` and `endDate`.\n- `pagination` contains `cursor`, `limit`, `totalUsers`, and `nextCursor`."
        },
        {
          "info": {
            "name": "Create Capacity Schedule",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.limblecmms.com/v2/users/capacity/schedules",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Creates a new capacity schedule for a user or team profile at a specific location.\n\nExactly one of `userID` or `profileID` must be provided (mutually exclusive).\n\nWhen `rotationPatternEnabled` is true, both `rotationWeeksOn` and `rotationWeeksOff` are required.\n\nCapacity values are in minutes per day (0-1440). Time values use HH:MM or HH:MM:SS format."
        },
        {
          "info": {
            "name": "Delete Capacity Schedule",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/users/capacity/schedules/:scheduleID",
            "params": [
              {
                "name": "scheduleID",
                "value": "1201",
                "type": "path",
                "description": "The ID of the capacity schedule to delete."
              }
            ]
          },
          "docs": "Deletes a capacity schedule by its ID."
        },
        {
          "info": {
            "name": "Users",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/users",
            "params": [
              {
                "name": "users",
                "value": "342",
                "type": "query",
                "description": "This parameter expects a comma-separated list of users to get by id"
              },
              {
                "name": "name",
                "value": "%jeff%",
                "type": "query",
                "description": "This parameter is used to only get specific user by name. This parameter expects a string full name of a user or partial name with the wildcard %."
              },
              {
                "name": "roles",
                "value": "320",
                "type": "query",
                "description": "This parameter expects a comma-separated list of users to get by roleID"
              },
              {
                "name": "teams",
                "value": "436,437",
                "type": "query",
                "description": "This parameter expects a comma-separated list of users to get by teamID"
              },
              {
                "name": "cursor",
                "value": "0",
                "type": "query",
                "description": "This parameter is a cursor that selects what userID you want to start receiving results at. e.g. passing 137 here will only get you tasks with an id greater than 137."
              },
              {
                "name": "limit",
                "value": "100",
                "type": "query",
                "description": "This parameter is a result limiter. The default is set to return no more than 100 results at one time."
              }
            ]
          },
          "docs": "This request gets information about Users such as User Login, User Email etc.\n\nReturn data description\n\nProperty: username, Description: What a User uses to login.\nProperty: wage, Description: The hourly rate of an employee.\nProperty: active, Description: Determines if a user can log into Limble or not.\nProperty: emailNotificationActive, Description: Determines if a User gets Email Notifications From Limble.\nProperty: pushNotificationActive, Description: Determines if a User gets Push Notificati"
        },
        {
          "info": {
            "name": "New User",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.limblecmms.com/v2/users"
          },
          "docs": "This request creates a new User and emails them a welcome email with details on how to access Limble.\n\nParameter: firstName, Type: String, Required?: Optional, Description: The User's first name.\nParameter: lastName, Type: String, Required?: Optional, Description: The User's last name.\nParameter: email, Type: string, Required?: Required, Description: The User's email address.\nParameter: password, Type: string, Required?: Optional, Description: The User's password.\nParameter: locationID, Type: In"
        },
        {
          "info": {
            "name": "Update User",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "https://api.limblecmms.com/v2/users/:userID",
            "params": [
              {
                "name": "userID",
                "value": "{{userID}}",
                "type": "path",
                "description": "userID of the user you are removing."
              }
            ]
          },
          "docs": "This request updates a User details such as first name, last name, phone number, active status and more.\n\nParameter: firstName, Type: String, Required?: Optional, Description: The User's first name.\nParameter: lastName, Type: String, Required?: Optional, Description: The User's last name.\nParameter: email, Type: string, Required?: Optional, Description: The User's email address.\nParameter: username, Type: string, Required?: Optional, Description: The User's login name.\nParameter: password, Type:"
        },
        {
          "info": {
            "name": "Delete User",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/users/:userID",
            "params": [
              {
                "name": "userID",
                "value": "{{userID}}",
                "type": "path",
                "description": "userID of the user you are removing."
              }
            ]
          },
          "docs": "Delete User"
        },
        {
          "info": {
            "name": "Vendor Fields",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/vendors/fields",
            "params": [
              {
                "name": "fields",
                "value": "1,2",
                "type": "query",
                "description": "This parameter is used to only get specific fields by ID. This parameter expects a comma delimited list of fieldIDs."
              },
              {
                "name": "name",
                "value": "%pic%",
                "type": "query",
                "description": "This parameter is used to only get specific field by name. This parameter expects a string full name of a field or partial name with the wildcard %."
              },
              {
                "name": "vendors",
                "value": "1",
                "type": "query",
                "description": "This parameter is used to only get specific Vendors. This parameter expects a comma delimited list of Vendor IDs."
              },
              {
                "name": "start",
                "value": "1555105636",
                "type": "query",
                "description": "This parameter is used to only get vendor fields for vendors that were last edited after the unix timestamp passed into the start parameter. For example, all Vendors that were last edited after April 18th, 2018."
              },
              {
                "name": "end",
                "value": "1555105636",
                "type": "query",
                "description": "This parameter is used to only get vendor fields for vendors that were last edited *before* the unix timestamp passed into the end parameter."
              },
              {
                "name": "cursor",
                "value": "0",
                "type": "query",
                "description": "This parameter is a cursor that selects what fieldID you want to start receiving results at. e.g. passing 137 here will only get you vendor fields with an id greater than 137."
              },
              {
                "name": "limit",
                "value": "1",
                "type": "query",
                "description": "This parameter is a result limiter. The default is set to return no more than 100 results at one time."
              },
              {
                "name": "value",
                "value": "355",
                "type": "query",
                "description": "This parameter is used to only get specific field by value. This parameter expects a string full name of a field or partial name with the wildcard %."
              },
              {
                "name": "page",
                "value": "1",
                "type": "query",
                "description": "This parameter is used to paginate results based on the limit. Refer to Pagination section for more information."
              },
              {
                "name": "values",
                "value": "1,2",
                "type": "query",
                "description": "This parameter is used to get vendor fields by their valueID. This parameter expects a comma delimited list of Value IDs."
              }
            ]
          },
          "docs": "This request gets detailed information about Vendor Fields such as contact information, contracts and any other custom set field.\n\nThis request will return an array of objects that have a file name and a link you can use to download that image. All links are only valid for 15 minutes, a new call will generate a new link.\n\n**Note:** this endpoint supports pagination. Please refer to the [**Pagination**](#pagination) section for more information."
        },
        {
          "info": {
            "name": "New Vendor Suggested Field",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.limblecmms.com/v2/vendors/fields"
          },
          "docs": "This request adds a new Field to the list of Suggested Fields that can later be attached to Vendors.\n\nParameter: locationID, Type: Int, Required?: Required, Description: The location ID of the Location to add the new Field to.\nParameter: name, Type: String, Required?: Required, Description: The name of the new Field. Some custom field names such as \"Vendor Name\" are not allowed and reserved for internal use. This will result in a 409 error.\nParameter: fieldType, Type: Int, Required?: Required, D"
        },
        {
          "info": {
            "name": "Vendor Suggested Fields",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/vendors/fields/suggested",
            "params": [
              {
                "name": "fields",
                "value": "1,2",
                "type": "query",
                "description": "This parameter can be used to get a single Vendor Fields or a list of Vendor Fields in a comma-separated list."
              },
              {
                "name": "name",
                "value": "%pic%",
                "type": "query",
                "description": "This parameter is used to only get specific field by name. This parameter expects a string full name of a field or partial name with the wildcard %."
              },
              {
                "name": "cursor",
                "value": "0",
                "type": "query",
                "description": "This parameter is a cursor that selects what fieldID you want to start receiving results at. e.g. passing 137 here will only get you vendor fields with an id greater than 137."
              },
              {
                "name": "limit",
                "value": "100",
                "type": "query",
                "description": "This parameter is a result limiter. The default is set to return no more than 100 results at one time."
              }
            ]
          },
          "docs": "This request gets all possible fields a Vendor can pick from when deciding which fields it should have."
        },
        {
          "info": {
            "name": "Update Vendor Field Value",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "https://api.limblecmms.com/v2/vendors/fields/:valueID",
            "params": [
              {
                "name": "valueID",
                "value": "182",
                "type": "path",
                "description": "valueID of the field you are removing."
              }
            ]
          },
          "docs": "This request updates a Vendor's field value.\n\nParameter: value, Type: Depends on fieldType, Required?: Required, Description: The value that will be written to the field. \"value\" must correspond to the fieldType of the field. For example, if the field is a \"number\" fieldType, then \"value\" must be a number."
        },
        {
          "info": {
            "name": "Delete Vendor Field",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/vendors/fields/:valueID",
            "params": [
              {
                "name": "valueID",
                "value": "182",
                "type": "path",
                "description": "valueID of the field you are removing."
              }
            ]
          },
          "docs": "This request deletes a custom field attached to a Vendor."
        },
        {
          "info": {
            "name": "Attach Field to Vendor",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.limblecmms.com/v2/vendors/:vendorID/fields",
            "params": [
              {
                "name": "vendorID",
                "value": "1",
                "type": "path"
              }
            ]
          },
          "docs": "This request attaches a Suggested Field to a Vendor."
        },
        {
          "info": {
            "name": "Add Vendor Image",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.limblecmms.com/v2/vendors/:vendorID/image",
            "params": [
              {
                "name": "vendorID",
                "value": "{{vendorID}}",
                "type": "path"
              }
            ]
          },
          "docs": "This request adds the main image to a Vendor."
        },
        {
          "info": {
            "name": "Delete Vendor Image",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/vendors/:vendorID/image",
            "params": [
              {
                "name": "vendorID",
                "value": "{{vendorID}}",
                "type": "path"
              }
            ]
          },
          "docs": "This request removes the main image from a Vendor."
        },
        {
          "info": {
            "name": "Delete Vendor Log File",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/vendors/logs/file/:fileID",
            "params": [
              {
                "name": "fileID",
                "value": "7",
                "type": "path",
                "description": "The ID of the file attached to the log."
              }
            ]
          },
          "docs": "This requests deletes a file attached to a log."
        },
        {
          "info": {
            "name": "Add Vendor Log File",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.limblecmms.com/v2/vendors/:vendorID/logs/:logID/file",
            "params": [
              {
                "name": "vendorID",
                "value": "9",
                "type": "path",
                "description": "The ID of the vendor the log belongs to."
              },
              {
                "name": "logID",
                "value": "11",
                "type": "path",
                "description": "The ID of the log to attach the file to."
              }
            ]
          },
          "docs": "This request adds files to a log.\n\nReturn data description\n\nfileID | The ID of the file attached to the log."
        },
        {
          "info": {
            "name": "Vendor Logs",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/vendors/:vendorID/logs",
            "params": [
              {
                "name": "vendorID",
                "value": "9",
                "type": "path",
                "description": "The ID of the vendor for which the log will be created."
              },
              {
                "name": "logs",
                "value": "2,3",
                "type": "query",
                "description": "This parameter is used to only get specific logs. This parameter accepts a comma delimited list of logIDs."
              },
              {
                "name": "users",
                "value": "340",
                "type": "query",
                "description": "This parameter is used to only get logs created by specific users. This parameter accepts a comma delimited list of userIDs."
              },
              {
                "name": "logEntry",
                "value": "%test%",
                "type": "query",
                "description": "This is a parameter used to string search for manual log entry. This parameter expects a string with the wildcard %."
              },
              {
                "name": "start",
                "value": "1555085800",
                "type": "query",
                "description": "This parameter is used to only get logs that were last edited after the unix timestamp passed into the start parameter. "
              },
              {
                "name": "end",
                "value": "1555087900",
                "type": "query",
                "description": "This parameter is used to only get logs that were last edited before the unix timestamp passed into the end parameter."
              },
              {
                "name": "page",
                "value": "1",
                "type": "query",
                "description": "This parameter is used to paginate results based on the limit. Refer to Pagination section for more information."
              },
              {
                "name": "limit",
                "value": "1",
                "type": "query",
                "description": "This parameter is a result limiter. The default is set to return no more than 100 results at one time."
              },
              {
                "name": "cursor",
                "value": "",
                "type": "query",
                "description": "This parameter is a cursor that selects what ID you want to start receiving results at. "
              }
            ]
          },
          "docs": "This request returns the manual log entries for a vendor.\n\nThis request returns logs created manually by users on vendors. Logs related to tasks with vendors will not be returned.\n\n**Note:** this endpoint supports pagination. Please refer to the [**Pagination**](#pagination) section for more information.\n\nReturn data description\n\nlogID | The unique logID of the log.\ndateCreated | The date the log was created as a UNIX timestamp.\nvendorD | The ID of the vendor the log belongs to.\nlogEntry | The l"
        },
        {
          "info": {
            "name": "New Vendor Log",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.limblecmms.com/v2/vendors/:vendorID/logs",
            "params": [
              {
                "name": "vendorID",
                "value": "9",
                "type": "path",
                "description": "The ID of the vendor for which the log will be created."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "This creates a manual log entry for a vendor.\n\nuserID | Int | Required | The ID of the user creating the log.\nlogEntry | String | Required | Details of the log."
        },
        {
          "info": {
            "name": "Update Vendor Log",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "https://api.limblecmms.com/v2/vendors/logs/:logID",
            "params": [
              {
                "name": "logID",
                "value": "10",
                "type": "path",
                "description": "The ID of the log to be deleted."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "This request updates a manual log entry for a vendor."
        },
        {
          "info": {
            "name": "Delete Vendor Log",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/vendors/logs/:logID",
            "params": [
              {
                "name": "logID",
                "value": "10",
                "type": "path",
                "description": "The ID of the log to be deleted."
              }
            ]
          },
          "docs": "This request deleted a manual log entry for a vendor."
        },
        {
          "info": {
            "name": "Vendors",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/vendors",
            "params": [
              {
                "name": "vendors",
                "value": "9",
                "type": "query",
                "description": "This parameter is used to only get specific Vendors. This parameter expects a comma delimited list of Vendor IDs."
              },
              {
                "name": "locations",
                "value": "163",
                "type": "query",
                "description": "This parameter is used to only get Vendors at a specific group of Locations. This parameter accepts a comma delimited list of Location IDs."
              },
              {
                "name": "name",
                "value": "%test%",
                "type": "query",
                "description": "This parameter is used to only get specific vendor by name. This parameter expects a string full name of a vendor or partial name with the wildcard %."
              },
              {
                "name": "start",
                "value": "1560233040",
                "type": "query",
                "description": "This parameter is used to only get Vendors that were last edited after the unix timestamp passed into the start parameter. For example, all Vendors that were last edited after April 18th, 2018."
              },
              {
                "name": "end",
                "value": "1613665140",
                "type": "query",
                "description": "This parameter is used to only get Vendors that were last edited *before* the unix timestamp passed into the end parameter."
              },
              {
                "name": "cursor",
                "value": "0",
                "type": "query",
                "description": "This parameter is a cursor that selects what vendorID you want to start receiving results at. e.g. passing 137 here will only get you vendors with an id greater than 137."
              },
              {
                "name": "limit",
                "value": "2",
                "type": "query",
                "description": "This parameter is a result limiter. The default is set to return no more than 100 results at one time."
              },
              {
                "name": "page",
                "value": "1",
                "type": "query",
                "description": "This parameter is used to paginate results based on the limit. Refer to Pagination section for more information."
              }
            ]
          },
          "docs": "This request gets information such as VendorIDs, Vendor Names, etc.\n\nThis call returns a \"meta\" object containing URLs that can be used to get data related to a vendor.\n\nThis call will also return an image array of objects that have a file name and a link you can use to download that image. All links are only valid for 15 minutes, a new call will generate a new link.\n\n**Note:** this endpoint supports pagination. Please refer to the [**Pagination**](#pagination) section for more information."
        },
        {
          "info": {
            "name": "New Vendor",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.limblecmms.com/v2/vendors"
          },
          "docs": "This request creates a new Vendor.\n\nname | String | Required | The name of the Vendor.\nlocationID | string | Required | The locationID of the Location the Vendor will be at.\nemail | string | Optional | The Vendor's email address.\ncontact | string | Optional | The Vendor's primary contact.\nphone | string | Optional | The Vendor's phone number.\naddress | string | Optional | The Vendor's address."
        },
        {
          "info": {
            "name": "Update Vendor",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "https://api.limblecmms.com/v2/vendors/:vendorID",
            "params": [
              {
                "name": "vendorID",
                "value": "{{vendorID}}",
                "type": "path"
              }
            ]
          },
          "docs": "This Request updates a Vendor's name, phone, email, contact, address, etc.\n\nname | String | Optional | The name of the Vendor.\nlocationID | string | Required | The locationID of the Location the Vendor will be at.\nemail | string | Optional | The Vendor's email address.\ncontact | string | Optional | The Vendor's primary contact.\naddress | string | Optional | The Vendor's address.\nphone | string | Optional | The Vendor's phone number."
        },
        {
          "info": {
            "name": "Delete Vendor",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/vendors/:vendorID",
            "params": [
              {
                "name": "vendorID",
                "value": "{{vendorID}}",
                "type": "path"
              }
            ]
          },
          "docs": "This request deletes a Vendor."
        },
        {
          "info": {
            "name": "Get Roles",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/roles",
            "params": [
              {
                "name": "roles",
                "value": "1032",
                "type": "query"
              },
              {
                "name": "name",
                "value": "%view%",
                "type": "query"
              },
              {
                "name": "cursor",
                "value": "0",
                "type": "query"
              },
              {
                "name": "limit",
                "value": "100",
                "type": "query"
              }
            ]
          },
          "docs": "This request returns a list of Roles."
        },
        {
          "info": {
            "name": "Create Role",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.limblecmms.com/v2/roles"
          },
          "docs": "This request creates a new Role. Roles are used for access management in Limble. Once a Role is created you can assign permissions to that Role via the web application and then assign Users to that Role to control what that User can do in Limble.\n\nParameter: name, Type: String, Required?: Required, Description: The name of the role."
        },
        {
          "info": {
            "name": "Update Role",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "https://api.limblecmms.com/v2/roles/:roleID",
            "params": [
              {
                "name": "roleID",
                "value": "{{roleID}}",
                "type": "path",
                "description": "The roleID of the role you are deleting"
              }
            ]
          },
          "docs": "This request updates a Role's name.\n\nParameter: name, Type: String, Required?: Required, Description: The name of the role."
        },
        {
          "info": {
            "name": "Delete Role",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/roles/:roleID",
            "params": [
              {
                "name": "roleID",
                "value": "{{roleID}}",
                "type": "path",
                "description": "The roleID of the role you are deleting"
              }
            ]
          },
          "docs": "This Request deletes a Role.  This will also remove the Role from any User it is assigned to."
        },
        {
          "info": {
            "name": "Get Teams",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/teams",
            "params": [
              {
                "name": "teams",
                "value": "1778, 1771",
                "type": "query",
                "description": "This parameter expects a comma-separated list of teamIDs to filter teams by."
              },
              {
                "name": "name",
                "value": "%Lawn%",
                "type": "query",
                "description": "This parameter is used to only get specific teams by name. This parameter expects a string full name of a team or partial name with the wildcard %."
              },
              {
                "name": "limit",
                "value": "100",
                "type": "query",
                "description": "This parameter is a result limiter. The default is set to return no more than 100 results at one time."
              },
              {
                "name": "cursor",
                "value": "0",
                "type": "query",
                "description": "This parameter is a cursor that selects what teamID you want to start receiving results at. e.g. passing 137 here will only get you tasks with an id greater than 137."
              },
              {
                "name": "automaticallyCreated",
                "value": "false",
                "type": "query",
                "description": "This parameter is used to only get specific teams by if they were automatically created by Limble or not. This parameter expects a bool true or false. Teams can get dynamically created if multiple users are assigned to the same task, for example."
              },
              {
                "name": "includeRoles",
                "value": "false",
                "type": "query",
                "description": "This parameter is used to determine whether role-based teams (Manager, Technician, etc) are included in the response."
              }
            ]
          },
          "docs": "This request returns a list of Teams."
        },
        {
          "info": {
            "name": "Create Team",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.limblecmms.com/v2/teams"
          },
          "docs": "This request creates a new Team.\n\nParameter: name, Type: String, Required?: Required, Description: The name of the Team.\nParameter: locationID, Type: string, Required?: Required, Description: The locationID of the Location the Team will be available at."
        },
        {
          "info": {
            "name": "Update Team",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "https://api.limblecmms.com/v2/teams/:teamID",
            "params": [
              {
                "name": "teamID",
                "value": "{{teamID}}",
                "type": "path",
                "description": "The teamID of the team you are deleting."
              }
            ]
          },
          "docs": "Update a team name.\n\nParameter: name, Type: String, Required?: Required, Description: The name of the team."
        },
        {
          "info": {
            "name": "Delete Team",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/teams/:teamID",
            "params": [
              {
                "name": "teamID",
                "value": "{{teamID}}",
                "type": "path",
                "description": "The teamID of the team you are deleting."
              }
            ]
          },
          "docs": "This request deletes a Team. This will also remove the Team from any User it is assigned to."
        },
        {
          "info": {
            "name": "Get Purchase Order Items",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/po/items",
            "params": [
              {
                "name": "pos",
                "value": "1,2,3",
                "type": "query",
                "description": "This parameter is used to only get specific POs. This parameter expects a comma delimited list of PO IDs."
              },
              {
                "name": "items",
                "value": "45,8998,3434",
                "type": "query",
                "description": "This parameter is used to only get specific PO Items by ID. This parameter expects a comma delimited list of poItem IDs."
              },
              {
                "name": "numbers",
                "value": "1,2",
                "type": "query",
                "description": "This parameter is used to only get specific POs by Number. This parameter expects a comma delimited list of PO Numbers."
              },
              {
                "name": "cursor",
                "value": "112",
                "type": "query",
                "description": "This parameter is a cursor that selects what vendorID you want to start receiving results at. e.g. passing 137 here will only get you vendors with an id greater than 137."
              },
              {
                "name": "limit",
                "value": "100",
                "type": "query",
                "description": "This parameter is a result limiter. The default is set to return no more than 100 results at one time."
              },
              {
                "name": "lastEditedStart",
                "value": "1518559856",
                "type": "query",
                "description": "This parameter is used to only get PO items that were last edited after the unix timestamp passed into the start parameter. For example, all PO items that were last edited after April 18th, 2018."
              },
              {
                "name": "lastEditedEnd",
                "value": "1518559856",
                "type": "query",
                "description": "This parameter is used to only get POs items that were last edited *before* the unix timestamp passed in."
              }
            ]
          },
          "docs": "This request gets information associated with PO items. Every line item on a PO is an item returned by this call.\n\nReturn data description\n\npoID | The unique ID of the purchase order associated to this item.\npoItemID | The unqiue ID of this Purchase Order Item\nitemType | Which type (Part, Service, or Other) this item is.\nname | The name of the item.\ndescription | A more detailed description of the item.\nglID | The unique ID of the GL associated to this item.\npartID | The unique ID of the part as"
        },
        {
          "info": {
            "name": "New Purchase Order Item",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.limblecmms.com/v2/po/:poID/items",
            "params": [
              {
                "name": "poID",
                "value": "1",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "This request creates a new Purchase Order Item.\n\nitemType | Int | Required | A number describing what type of PO Item this is. Valid values are: 1 (Part), 2 (Service), 4 (Other). If itemType is 1, name and taskID cannot be present and partID is required. If itemType is 2 or 4, name is required and partID cannot be present. If itemType is 2, a checklistID is required.\nname | String | Optional | A short line-item title for this PO Item.\ndescription | String | Optional | A more detailed description"
        },
        {
          "info": {
            "name": "Receive PO Item",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.limblecmms.com/v2/po/:poID/items/:poItemID",
            "params": [
              {
                "name": "poID",
                "value": "1",
                "type": "path"
              },
              {
                "name": "poItemID",
                "value": "1",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "This request marks a quantity of a PO item as having been received and generates a bill for the receipt of the item.\n\nParameter: quantity, Type: Int, Required?: Required, Description: A positive number representing the received number of items. The sum of all receipts cannot be greater than the total quantity on the PO item., For example: if a PO item has a quantity of 5, then we use this request to receive 3, that will mark 3 of the PO item as received and generate a bill for that receipt of 3 "
        },
        {
          "info": {
            "name": "Update Purchase Order Item",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "https://api.limblecmms.com/v2/po/:poID/items/:poItemID",
            "params": [
              {
                "name": "poID",
                "value": "1",
                "type": "path"
              },
              {
                "name": "poItemID",
                "value": "1",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "This request updates a Purchase Order Item. Considering the validation for this route is non-trivial -- keep in mind that before this update takes place, we validate the resulting PO Item, so the itemType must be valid with any existing or updated properties. For example, if you have a PO Item of itemType 1 (Part) and attempt to send a PATCH that only provides a checklistID, you will get an error back saying that this is an invalid combination.\n\nTo remove an associated ID, pass in the value 0.\n\n"
        },
        {
          "info": {
            "name": "Delete PO Item",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/po/:poID/items/:poItemID",
            "params": [
              {
                "name": "poID",
                "value": "1",
                "type": "path"
              },
              {
                "name": "poItemID",
                "value": "1",
                "type": "path"
              }
            ]
          },
          "docs": "This request deletes a PO Item, which will also remove any relationships between the PO Item, Parts, and Tasks, and will clean up any history of transactions on this PO Item."
        },
        {
          "info": {
            "name": "PO Comments",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/po/:poID/comments",
            "params": [
              {
                "name": "poID",
                "value": "1234",
                "type": "path"
              },
              {
                "name": "cursor",
                "value": "0",
                "type": "query",
                "description": "This parameter is a cursor that selects what commentID you want to start receiving results at. e.g. passing 137 here will only get you comments with an id greater than 137."
              },
              {
                "name": "limit",
                "value": "100",
                "type": "query",
                "description": "This parameter is a result limiter. The default is set to return no more than 100 results at one time."
              }
            ]
          },
          "docs": "This request gets all PO Comments associated with a PO.\n\nReturn data description\n\ncommentID | This is the commentID of comment.\ncomment | The text comment that was entered by the user.\ntimestamp | The date this comment was created. This is a unix timestamp.\nuserID | The ID of the user that made the comment.\ncommentEmailAddress | The email address of the external user that made this comment. This is only populated if the comment was made by an external user via the comment reply system.\ncommentFi"
        },
        {
          "info": {
            "name": "Create PO Comment",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.limblecmms.com/v2/po/:poID/comments",
            "params": [
              {
                "name": "poID",
                "value": "1234",
                "type": "path"
              }
            ]
          },
          "docs": "Adds a comment to the specified PO.\n\nParameters:\n\n| Parameter | In | Type | Required | Default | Description |\n|---|---|---|---|---|---|\n| poID | path | integer | yes |  | Purchase Order identifier |\n| comment | body | string | yes |  | Comment text |\n| showExternalUsers | body | boolean | no | true | Visible to external users |\n\nResponses:\n- 201 Created: Returns commentID."
        },
        {
          "info": {
            "name": "Upload PO Comment File",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.limblecmms.com/v2/po/:poID/comments/:commentID/file",
            "params": [
              {
                "name": "poID",
                "value": "1234",
                "type": "path"
              },
              {
                "name": "commentID",
                "value": "5678",
                "type": "path"
              }
            ]
          },
          "docs": "Uploads a file to a PO comment.\n\nParameters:\n\n| Parameter | In | Type | Required | Default | Description |\n|---|---|---|---|---|---|\n| poID | path | integer | yes |  | Purchase Order identifier |\n| commentID | path | integer | yes |  | Comment identifier |\n| file | form-data | file | yes |  | File to upload (max 50MB). Types: PDF, PNG, JPEG, GIF, TIFF, SVG, DOC, DOCX, XLS, XLSX, ZIP, RAR, RFC822, octet-stream |"
        },
        {
          "info": {
            "name": "Delete PO Comment File",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/po/:poID/comments/:commentID/file",
            "params": [
              {
                "name": "poID",
                "value": "1234",
                "type": "path"
              },
              {
                "name": "commentID",
                "value": "5678",
                "type": "path"
              },
              {
                "name": "filename",
                "value": "invoice.pdf",
                "type": "query"
              }
            ]
          },
          "docs": "Deletes a file from a PO comment.\n\nParameters:\n\n| Parameter | In | Type | Required | Default | Description |\n|---|---|---|---|---|---|\n| poID | path | integer | yes |  | Purchase Order identifier |\n| commentID | path | integer | yes |  | Comment identifier |\n| filename | query | string | yes |  | Exact filename to remove |\n\nResponses:\n- 200 OK: Deleted.\n- 404 Not Found: File not found."
        },
        {
          "info": {
            "name": "Delete PO Comment",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/po/:poID/comments/:commentID",
            "params": [
              {
                "name": "poID",
                "value": "1",
                "type": "path"
              },
              {
                "name": "commentID",
                "value": "5678",
                "type": "path"
              }
            ]
          },
          "docs": "Deletes a PO comment.\n\nParameters:\n\n| Parameter | In | Type | Required | Default | Description |\n|---|---|---|---|---|---|\n| poID | path | integer | yes |  | Purchase Order identifier |\n| commentID | path | integer | yes |  | Comment identifier |\n\nResponses:\n- 200 OK: Deleted.\n- 404 Not Found: Comment not found."
        },
        {
          "info": {
            "name": "Change PO State",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "https://api.limblecmms.com/v2/po/:poID/state",
            "params": [
              {
                "name": "poID",
                "value": "31939",
                "type": "path"
              }
            ]
          },
          "docs": "Updates the state of the specified PO. \n\nImportant Note: Currently POs can only move forward one state per state change request.\n\nParameters:\n\n| Parameter | In | Type | Required | Default | Description |\n| --- | --- | --- | --- | --- | --- |\n| poID | path | integer | yes | | Purchase Order identifier |\n| newState | body | string | yes | | All PO states: 0 (setup), 1–96 (custom), 97 (ready_to_receive), 98 (partially_received), 99 (fully_received), 100 (closed), 101 (disapproved). API accepts numb"
        },
        {
          "info": {
            "name": "Get PO State Transitions",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/po/:poID/state/transitions",
            "params": [
              {
                "name": "poID",
                "value": "31939",
                "type": "path",
                "description": "Purchase Order identifier"
              }
            ]
          },
          "docs": "Returns the list of valid next states for the specified PO.\n\nParameters:\n\n| Parameter | Type | Required | Default | Description |\n| --- | --- | --- | --- | --- |\n| poID | integer | yes |  | Purchase Order identifier |\n\nReturn data:  \n  \nArray of JSON objects listing possible next state transitions for the selected PO."
        },
        {
          "info": {
            "name": "Get Purchase Orders",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/po",
            "params": [
              {
                "name": "pos",
                "value": "1",
                "type": "query",
                "description": "This parameter is used to only get specific POs. This parameter expects a comma delimited list of PO IDs."
              },
              {
                "name": "vendors",
                "value": "9",
                "type": "query",
                "description": "This parameter is used to only get specific Vendors. This parameter expects a comma delimited list of Vendor IDs."
              },
              {
                "name": "locations",
                "value": "73",
                "type": "query",
                "description": "This parameter is used to only get POs at a specific group of Locations. This parameter accepts a comma delimited list of Location IDs."
              },
              {
                "name": "numbers",
                "value": "1",
                "type": "query",
                "description": "This parameter is used to only get specific POs by Number. This parameter expects a comma delimited list of PO Numbers."
              },
              {
                "name": "cursor",
                "value": "0",
                "type": "query",
                "description": "This parameter is a cursor that selects what poID you want to start receiving results at. e.g. passing 137 here will only get you PO with an id greater than 137."
              },
              {
                "name": "limit",
                "value": "2",
                "type": "query",
                "description": "This parameter is a result limiter. The default is set to return no more than 100 results at one time."
              },
              {
                "name": "lastEditedStart",
                "value": "1629737835",
                "type": "query",
                "description": "This parameter is used to only get POs that were last edited after the unix timestamp passed into the start parameter. For example, all POs that were last edited after April 18th, 2018."
              },
              {
                "name": "lastEditedEnd",
                "value": "1630121871",
                "type": "query",
                "description": "This parameter is used to only get POs that were last edited *before* the unix timestamp passed in."
              },
              {
                "name": "status",
                "value": "97,99",
                "type": "query",
                "description": "This parameter is used to only get POs for a specific group of status."
              },
              {
                "name": "page",
                "value": "3",
                "type": "query",
                "description": "This parameter is used to paginate results based on the limit. Refer to Pagination section for more information."
              }
            ]
          },
          "docs": "meta | useful links relating to this Purchase order\npoID | The unique ID of the Purchase Order.\npoNumber | The user-set Purchase Order number.\nbudgetID | The unique ID of the budget associated with this Purchase Order.\nvendorID | The unique ID of the vendor associated with this Purchase Order.\nlocationID | The unique ID of the location associated with this Purchase Order.\nuserIDStarted | The unique ID of the user that started this Purchase Order.\nuserID | The unique ID of the user this Purchase "
        },
        {
          "info": {
            "name": "New Purchase Order",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.limblecmms.com/v2/po",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "This request creates a new Purchase Order.\n\nParameter: locationID, Type: Int, Required?: Required, Description: The ID of the location this PO will be created for.\nParameter: vendorID, Type: Int, Required?: Required, Description: The ID of the vendor that this PO will be associated with.\nParameter: userID, Type: Int, Required?: Required, Description: The ID of the user that this PO will be assigned to.\nParameter: taskID, Type: Int, Required?: Optional, Description: The ID of the task that this P"
        },
        {
          "info": {
            "name": "Update Purchase Order",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "https://api.limblecmms.com/v2/po/:poID",
            "params": [
              {
                "name": "poID",
                "value": "{{poID}}",
                "type": "path",
                "description": "poID of the PO that you are deleting."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "This request updates a Purchase Order. Currently, changing the locationID that a PO belongs to is unsupported.\n\nParameter: vendorID, Type: Int, Required?: Optional, Description: The ID of the vendor that this PO will be associated with.\nParameter: userID, Type: Int, Required?: Optional, Description: The ID of the user that this PO will be assigned to.\nParameter: taskID, Type: Int, Required?: Optional, Description: The ID of the task that this PO will be associated with.\nParameter: budgetID, Type"
        },
        {
          "info": {
            "name": "Delete PO",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/po/:poID",
            "params": [
              {
                "name": "poID",
                "value": "{{poID}}",
                "type": "path",
                "description": "poID of the PO that you are deleting."
              }
            ]
          },
          "docs": "This request deletes a PO. This will also delete any PO Items that belong to this PO, which will also remove any relationships between PO Items, Parts, and Tasks, and will clean up any history of transactions on these PO Items."
        },
        {
          "info": {
            "name": "Get General Ledgers",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/gl",
            "params": [
              {
                "name": "cursor",
                "value": "0",
                "type": "query",
                "description": "This parameter is a cursor that selects what glID you want to start receiving results at. e.g. passing 137 here will only get you GLs with an ID greater than 137."
              },
              {
                "name": "limit",
                "value": "100",
                "type": "query",
                "description": "This parameter is a result limiter. The default is set to return no more than 100 results at one time."
              },
              {
                "name": "name",
                "value": "%office%",
                "type": "query",
                "description": "This is a parameter used to string search for a name or partial name of a GL. This parameter expects a string with the wildcard %."
              },
              {
                "name": "abbr",
                "value": "%off%",
                "type": "query",
                "description": "This is a parameter used to string search for an abbreviation or partial abbreviation of a GL. This parameter expects a string with the wildcard %."
              },
              {
                "name": "locations",
                "value": "1,163,2",
                "type": "query",
                "description": "This parameter is used to only get GLs that are linked to a location. This parameter accepts a comma delimited list of location IDs."
              },
              {
                "name": "gls",
                "value": "1,2,3",
                "type": "query",
                "description": "This parameter is used to only get specific GLs. This parameter accepts a comma delimited list of GL IDs."
              },
              {
                "name": "assets",
                "value": "1,2,3",
                "type": "query",
                "description": "This parameter is used to only get GLs that are linked to an asset. This parameter accepts a comma delimited list of asset IDs."
              }
            ]
          },
          "docs": "This request returns your GLs in Limble. \n\nReturn data description\n\nProperty: glID, Description: The GL's unique identifier.\nProperty: abbr, Description: An abbreviation for the GL.\nProperty: name, Description: The full name of the GL.\nProperty: locationID, Description: Which Location this GL belongs to.\nProperty: description, Description: An optional bit of descriptive text for the GL.\nProperty: assetID, Description: Which Asset this GL belongs to."
        },
        {
          "info": {
            "name": "New General Ledger",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.limblecmms.com/v2/gl",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "This request creates a new General Ledger.\n\nParameter: locationID, Type: Int, Required?: Required, Description: The ID of the location this GL will be created for.\nParameter: assetID, Type: Int, Required?: Required, Description: The ID of the asset that this GL will be associated with.\nParameter: abbr, Type: String, Required?: Required, Description: An short version of this GLs name.\nParameter: name, Type: String, Required?: Required, Description: A full title for this GL.\nParameter: description"
        },
        {
          "info": {
            "name": "Update General Ledger",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "https://api.limblecmms.com/v2/gl/:glID",
            "params": [
              {
                "name": "glID",
                "value": "46",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "This request updates a General Ledger.\n\nParameter: assetID, Type: Int, Required?: Optional, Description: The ID of the asset that this GL will be associated with. Must be a valid assetID that belongs to the current GL's location.\nParameter: abbr, Type: String, Required?: Optional, Description: An new short version of this GLs name.\nParameter: name, Type: String, Required?: Optional, Description: A new title for this GL.\nParameter: description, Type: String, Required?: Optional, Description: Any "
        },
        {
          "info": {
            "name": "Delete General Ledger",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/gl/:glID",
            "params": [
              {
                "name": "glID",
                "value": "46",
                "type": "path"
              }
            ]
          },
          "docs": "This request deletes a GL. If any PO Items are associated to this GL, their glID will be set to 0."
        },
        {
          "info": {
            "name": "New Step",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.limblecmms.com/v2/budgets/:budgetID/steps",
            "params": [
              {
                "name": "budgetID",
                "value": "1",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "This request creates a new Budget Step (sometimes called a PO Workflow Step).\n\nParameter: name, Type: String, Required?: Required, Description: The title of this budget.\nParameter: assignmentType, Type: Enum, Required?: Required, Description: What type ('user' or 'team') should we interpret the assignment value as?\nParameter: assignment, Type: Int or Array of Ints, Required?: Required, Description: When POs belonging to this step's budget enter this step, who will they be assigned to? If awaitin"
        },
        {
          "info": {
            "name": "Update Step",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "https://api.limblecmms.com/v2/budgets/:budgetID/steps/:stepID",
            "params": [
              {
                "name": "budgetID",
                "value": "9",
                "type": "path"
              },
              {
                "name": "stepID",
                "value": "10",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "This request updates a Budget Step (sometimes called a PO Workflow Step).\n\nParameter: name, Type: String, Required?: Optional, Description: The title of this budget.\nParameter: assignmentType, Type: Enum, Required?: Optional, Description: What type ('user' or 'team') should we interpret the assignment value as? This is required when the assignment property is present.\nParameter: assignment, Type: Int or Array of Ints, Required?: Optional, Description: When POs belonging to this step's budget ent"
        },
        {
          "info": {
            "name": "Delete Step",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/budgets/:budgetID/steps/:stepID",
            "params": [
              {
                "name": "budgetID",
                "value": "9",
                "type": "path"
              },
              {
                "name": "stepID",
                "value": "10",
                "type": "path"
              }
            ]
          },
          "docs": "This request deletes a step from a budget."
        },
        {
          "info": {
            "name": "Get Steps",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/budgets/steps",
            "params": [
              {
                "name": "name",
                "value": "%test%",
                "type": "query",
                "description": "This is a parameter used to string search for a name or partial name of a budget. This parameter expects a string with the wildcard %."
              },
              {
                "name": "steps",
                "value": "1,2,3",
                "type": "query",
                "description": "This parameter is used to only get specific steps. This parameter accepts a comma delimited list of step IDs."
              },
              {
                "name": "budgets",
                "value": "158",
                "type": "query",
                "description": "This parameter is used to only get steps that are linked to a budget. This parameter accepts a comma delimited list of budget IDs."
              },
              {
                "name": "locations",
                "value": "1,2,3",
                "type": "query",
                "description": "This parameter is used to only get steps that are linked to a budget at a specific location. This parameter accepts a comma delimited list of location IDs."
              },
              {
                "name": "cursor",
                "value": "0",
                "type": "query",
                "description": "This parameter is a cursor that selects what stepID you want to start receiving results at. e.g. passing 137 here will only get you steps with an ID greater than 137."
              },
              {
                "name": "limit",
                "value": "100",
                "type": "query",
                "description": "This parameter is a result limiter. The default is set to return no more than 100 results at one time."
              }
            ]
          },
          "docs": "Get Steps"
        },
        {
          "info": {
            "name": "Get Budgets",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/budgets",
            "params": [
              {
                "name": "cursor",
                "value": "0",
                "type": "query",
                "description": "This parameter is a cursor that selects what budgetID you want to start receiving results at. e.g. passing 137 here will only get you budgets with an ID greater than 137."
              },
              {
                "name": "limit",
                "value": "1",
                "type": "query",
                "description": "This parameter is a result limiter. The default is set to return no more than 100 results at one time."
              },
              {
                "name": "name",
                "value": "%General%",
                "type": "query",
                "description": "This is a parameter used to string search for a name or partial name of a budget. This parameter expects a string with the wildcard %."
              },
              {
                "name": "locations",
                "value": "1,2,3",
                "type": "query",
                "description": "This parameter is used to only get budgets that are linked to a location. This parameter accepts a comma delimited list of location IDs."
              },
              {
                "name": "budgets",
                "value": "1,2,3",
                "type": "query",
                "description": "This parameter is used to only get specific budgets. This parameter accepts a comma delimited list of budget IDs."
              }
            ]
          },
          "docs": "This request returns your Budgets in Limble. \n\nReturn data description\n\nProperty: budgetID, Description: The Budget's unique identifier.\nProperty: name, Description: The full name of the Budget.\nProperty: locationID, Description: Which Location this Budget belongs to."
        },
        {
          "info": {
            "name": "New Budget",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.limblecmms.com/v2/budgets",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "This request creates a new Budget.\n\nParameter: locationID, Type: Int, Required?: Required, Description: The ID of the location this budget will belong to.\nParameter: name, Type: String, Required?: Required, Description: The title of this budget.\nParameter: awaitingAllowPOEdit, Type: Boolean, Required?: Required, Description: When POs belonging to this budget are in the \"ready to receive\" state, will they be editable?\nParameter: awaitingEmailSend, Type: Boolean, Required?: Required, Description: "
        },
        {
          "info": {
            "name": "Update Budget",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "https://api.limblecmms.com/v2/budgets/:budgetID",
            "params": [
              {
                "name": "budgetID",
                "value": "1",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "This request updates an existing Budget.\n\nParameter: name, Type: String, Required?: Optional, Description: The title of this budget.\nParameter: awaitingAllowPOEdit, Type: Boolean, Required?: Optional, Description: When POs belonging to this budget are in the \"ready to receive\" state, will they be editable?\nParameter: awaitingEmailSend, Type: Boolean, Required?: Optional, Description: When POs belonging to this budget enter the \"ready to receive\" state, should the assignee(s) be emailed?\nParamete"
        },
        {
          "info": {
            "name": "Delete Budget",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/budgets/:budgetID",
            "params": [
              {
                "name": "budgetID",
                "value": "1",
                "type": "path"
              }
            ]
          },
          "docs": "This request deletes a budget."
        },
        {
          "info": {
            "name": "Get Priorities",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/priorities",
            "params": [
              {
                "name": "priorities",
                "value": "118",
                "type": "query"
              }
            ]
          },
          "docs": "This request returns your priorities in Limble. \n\nReturn data description\n\nProperty: priorityID, Description: The priority's unique identifier.\nProperty: name, Description: The full name of the priority.\nProperty: priorityLevel, Description: A number representing ordering or indicator of severity.\nProperty: color, Description: A hex-color string that will be used to color tasks associated to this priority.\nProperty: isDefault, Description: A boolean representing whether or not this is the priori"
        },
        {
          "info": {
            "name": "New Priority",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.limblecmms.com/v2/priorities",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "This request creates a new Priority.\n\nWhen providing priorityLevel or isDefault, calls to this endpoint may reorder or otherwise adjust other priorities.\n\nParameter: name, Type: String, Required?: Required, Description: The title of this priority.\nParameter: priorityLevel, Type: Int, Required?: Required, Description: What level is this priority? If we're inserting a priority in the middle of the levels, priorities with a priorityLevel equal-to or greater-than the specified priorityLevel will hav"
        },
        {
          "info": {
            "name": "Update Priority",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "https://api.limblecmms.com/v2/priorities/:priorityID",
            "params": [
              {
                "name": "priorityID",
                "value": "8",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "This request updates a Priority.\n\n**When providing priorityLevel or isDefault, calls to this endpoint may reorder or otherwise adjust** _**other**_ **priorities.**\n\nname | String | Optional | The title of this priority.\npriorityLevel | Int | Optional | What level is this priority? When moving a priority to a different priorityLevel, be mindful that this will shift other priorities' priorityLevels in order to accommodate this change. If provided, this can only be between the numbers 1 and the cur"
        },
        {
          "info": {
            "name": "Delete Priority",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/priorities/:priorityID",
            "params": [
              {
                "name": "priorityID",
                "value": "8",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "This call simply removes a priority from Limble.\n\nThings to keep in mind when using this endpoint:\n\n- \nCalls to this endpoint will potentially adjust other priorities' priorityLevels.\n\n- If you delete a priority that isDefault, you will not have a default priority anymore, and that may cause issues.\n\n- If you delete a priority that has tasks associated to it, those tasks will have their priority removed."
        },
        {
          "info": {
            "name": "Get Tags",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/tags",
            "params": [
              {
                "name": "name",
                "value": "safety",
                "type": "query"
              }
            ]
          },
          "docs": "This request returns your tags in Limble.\n\nReturn data description\n\nProperty: name, Description: A search-string for tags."
        },
        {
          "info": {
            "name": "Create Account Tag",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.limblecmms.com/v2/tags",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Creates a new account-level custom tag. The tag is normalized and validated before creation.\n\n**Request Body:**\n- `name` (string, required) - Tag name with or without leading '@', must not contain ';'\n\n**Response (200 OK):**\n- `created` (boolean) - Always true on success\n- `name` (string) - Canonical tag name without trailing ';' (e.g., `@Food Safety`)\n- `sanitizations` (array, optional) - List of normalization actions applied\n- `tags` (array) - All account tags in canonical format with trailing"
        },
        {
          "info": {
            "name": "Rename Account Tag",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "https://api.limblecmms.com/v2/tags/:oldName",
            "params": [
              {
                "name": "oldName",
                "value": "@Food Safety",
                "type": "path",
                "description": "Tag name (URL encode spaces and special characters)"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Renames an account-level custom tag.  \n  \n**IMPORTANT NOTE:** The change propagates to all data entities using this tag (Tasks, dashboards, notifications, etc).\n\n**Path Parameters:**\n\n- `oldName` (string, required) - Existing tag name (with or without '@', without trailing ';')\n    - URL encode special characters (e.g., `@Food%20Safety` for `@Food Safety`)\n\n**Request Body:**\n\n- `newName` (string, required) - New tag name (with or without '@', without trailing ';')\n\n**Response (200 OK):**\n\n- `ren"
        },
        {
          "info": {
            "name": "Delete Account Tag",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/tags/:oldName",
            "params": [
              {
                "name": "oldName",
                "value": "@Food Safety",
                "type": "path",
                "description": "Tag name (URL encode spaces and special characters)"
              }
            ]
          },
          "docs": "Deletes an account-level custom tag.\n\n**IMPORTANT NOTE:** The change propagates to all data entities using this tag (Tasks, dashboards, notifications, etc).\n\n**Path Parameters:**\n\n- `oldName` (string, required) - Tag name to delete (with or without '@', without trailing ';')\n    - URL encode special characters (e.g., `@Food%20Safety` for `@Food Safety`)\n\n**Response (200 OK):**\n\n- `deleted` (boolean) - Always true on success\n    \n- `name` (string) - Canonical tag name that was deleted (without tr"
        },
        {
          "info": {
            "name": "Statuses",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/statuses",
            "params": [
              {
                "name": "limit",
                "value": "3",
                "type": "query"
              },
              {
                "name": "cursor",
                "value": "1",
                "type": "query"
              },
              {
                "name": "name",
                "value": "%ogr%",
                "type": "query"
              },
              {
                "name": "statuses",
                "value": "1",
                "type": "query"
              }
            ]
          },
          "docs": "This request returns your custom task statuses in Limble.\n\nReturn data description\n\nProperty: statusID, Description: A unique identifier for this status.\nProperty: name, Description: A custom string that labels this status.\nProperty: description, Description: An optional description that elaborates on what this status means."
        },
        {
          "info": {
            "name": "Create Status",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.limblecmms.com/v2/statuses",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Creates a new custom status for the customer account.\n\n**Request Body:**\n\n- `name` (string, required) - Status name, 1-100 characters, must be unique (case-insensitive)\n    \n- `description` (string, optional) - Status description, max 65535 characters\n    \n- `sortOrder` (integer, optional) - Display order, 0-99, auto-assigned if omitted\n    \n\n**Response (201 Created):**\n\n- `statusID` (number) - ID of the newly created status\n    \n- Location header: `/v2/statuses?statuses={statusID}`\n    \n\n**Vali"
        },
        {
          "info": {
            "name": "Update Status",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "https://api.limblecmms.com/v2/statuses/:statusID",
            "params": [
              {
                "name": "statusID",
                "value": "10",
                "type": "path",
                "description": "The ID of the status to delete"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Updates an existing custom status. Default statuses (0, 1, 2) cannot be modified.\n\n**IMPORTANT NOTE:** Changes to statuses automatically propogate to all tasks currently assigned that status.\n\n**Path Parameters:**\n\n- `statusID` (number, required) - ID of the status to update\n    \n\n**Request Body (at least one field required):**\n\n- `name` (string, optional) - New status name, 1-100 characters, must be unique\n    \n- `description` (string, optional) - New description, max 65535 characters\n    \n- `s"
        },
        {
          "info": {
            "name": "Delete Status",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/statuses/:statusID",
            "params": [
              {
                "name": "statusID",
                "value": "10",
                "type": "path",
                "description": "The ID of the status to delete"
              },
              {
                "name": "replacementStatusID",
                "value": "1",
                "type": "query",
                "description": "ID of the status to reassign tasks to (required)"
              }
            ]
          },
          "docs": "Deletes a custom status and reassigns all tasks using it. Default statuses (0, 1, 2) cannot be deleted.\n\n**IMPORTANT NOTE:** Deleting task statuses that are currently in use will result in all tasks assigned that status being reset to status 0 (open).\n\n**Path Parameters:**\n\n- `statusID` (number, required) - ID of the status to delete\n    \n\n**Query Parameters:**\n\n- `replacementStatusID` (number, required) - ID of the status to assign to tasks currently using the deleted status. Can be a default s"
        },
        {
          "info": {
            "name": "Add Bill Item",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.limblecmms.com/v2/bills/:billID/transactions",
            "params": [
              {
                "name": "billID",
                "value": "425",
                "type": "path",
                "description": "The ID of the bill for which an item needs to be added."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "This request creates a Bill transaction by adding a Bill Item to an unclosed Bill.\n\nParameter: poItemID, Type: Int, Required?: Required, Description: The ID of the item that has to be added to the Bill.\nParameter: qtyReceived, Type: Int, Required?: Required, Description: The item quantity received on this Bill."
        },
        {
          "info": {
            "name": "Bill Transactions",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/bills/transactions",
            "params": [
              {
                "name": "bills",
                "value": "423",
                "type": "query",
                "description": "This parameter is used to only get specific Bill Transactions by billID. This parameter expects a comma delimited list of billIDs."
              },
              {
                "name": "items",
                "value": "358",
                "type": "query",
                "description": "This parameter is used to only get specific Bill Transactions by items in a Bill. This parameter expects a comma delimited list of poItem IDs."
              },
              {
                "name": "start",
                "value": "1630611650",
                "type": "query",
                "description": "This parameter is used to only get Bill Transactions that were created after or on the unix timestamp passed into it. "
              },
              {
                "name": "end",
                "value": "1630611660",
                "type": "query",
                "description": "This parameter is used to only get Bill transactions that were created before or on the unix timestamp passed into it. "
              },
              {
                "name": "transactions",
                "value": "397",
                "type": "query",
                "description": "This parameter is used to only get specific Bill Transactions. This parameter expects a comma delimited list of transactionIDs."
              },
              {
                "name": "limit",
                "value": "10",
                "type": "query",
                "description": "This parameter is a result limiter. The default is set to return no more than 100 results at one time."
              },
              {
                "name": "locations",
                "value": "163",
                "type": "query",
                "description": "This parameter is used to only get Bill Transactions at a specific group of Locations. This parameter accepts a comma delimited list of Location IDs."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "This request gets information about the transactions made for a Bill."
        },
        {
          "info": {
            "name": "Update Bill Transaction",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "https://api.limblecmms.com/v2/bills/:billID/transactions/:transactionID",
            "params": [
              {
                "name": "billID",
                "value": "425",
                "type": "path",
                "description": "The ID of the Bill for which the transaction needs to be updated."
              },
              {
                "name": "transactionID",
                "value": "399",
                "type": "path",
                "description": "The ID of the transaction which needs ot be updated."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Update Bill Transaction"
        },
        {
          "info": {
            "name": "Bill Transaction",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/bills/transactions/:transactionID",
            "params": [
              {
                "name": "transactionID",
                "value": "399",
                "type": "path",
                "description": "The ID of the Bill Transaction to be deleted."
              }
            ]
          },
          "docs": "Bill Transaction"
        },
        {
          "info": {
            "name": "Bill Comments",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/bills/:billID/comments",
            "params": [
              {
                "name": "billID",
                "value": "2001",
                "type": "path"
              },
              {
                "name": "cursor",
                "value": "",
                "type": "query",
                "description": "This parameter is a cursor that selects what commentID you want to start receiving results at. e.g. passing 100 here will only get you comments with an id greater than 100"
              },
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "This parameter is a result limiter. The default is set to return no more than 100 results at one time."
              }
            ]
          },
          "docs": "This request gets all Bill Comments associated with a Bill.\n\nReturn data description\n\ncommentID | This is the commentID of comment.\ncomment | The text comment that was entered by the user.\ntimestamp | The date this comment was created. This is a unix timestamp.\nuserID | The ID of the user that made the comment.\ncommentEmailAddress | The email address of the external user that made this comment. This is only populated if the comment was made by an external user via the comment reply system.\ncomme"
        },
        {
          "info": {
            "name": "Create Bill Comment",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.limblecmms.com/v2/bills/:billID/comments",
            "params": [
              {
                "name": "billID",
                "value": "2001",
                "type": "path"
              }
            ]
          },
          "docs": "Adds a comment to a Bill.\n\nParameters:\n\n| Parameter | In | Type | Required | Default | Description |\n|---|---|---|---|---|---|\n| billID | path | integer | yes |  | Bill identifier |\n| comment | body | string | yes |  | Comment text |\n| showExternalUsers | body | boolean | no | true | Visible to external users |\n\nResponses:\n- 201 Created: Returns commentID."
        },
        {
          "info": {
            "name": "Upload Bill Comment File",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://api.limblecmms.com/v2/bills/:billID/comments/:commentID/file",
            "params": [
              {
                "name": "billID",
                "value": "2001",
                "type": "path"
              },
              {
                "name": "commentID",
                "value": "12",
                "type": "path"
              }
            ]
          },
          "docs": "Uploads a file to a Bill comment.\n\nParameters:\n\n| Parameter | In | Type | Required | Default | Description |\n|---|---|---|---|---|---|\n| billID | path | integer | yes |  | Bill identifier |\n| commentID | path | integer | yes |  | Comment identifier |\n| file | form-data | file | yes |  | File to upload (max 50MB). Same types as PO comment files |"
        },
        {
          "info": {
            "name": "Delete Bill Comment File",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/bills/:billID/comments/:commentID/file",
            "params": [
              {
                "name": "billID",
                "value": "2001",
                "type": "path"
              },
              {
                "name": "commentID",
                "value": "12",
                "type": "path"
              },
              {
                "name": "filename",
                "value": "receipt.png",
                "type": "query"
              }
            ]
          },
          "docs": "Deletes a file from a Bill comment.\n\nParameters:\n\n| Parameter | In | Type | Required | Default | Description |\n|---|---|---|---|---|---|\n| billID | path | integer | yes |  | Bill identifier |\n| commentID | path | integer | yes |  | Comment identifier |\n| filename | query | string | yes |  | Exact filename to remove |\n\nResponses:\n- 200 OK: Deleted.\n- 404 Not Found: File not found."
        },
        {
          "info": {
            "name": "Delete Bill Comment",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/bills/:billID/comments/:commentID",
            "params": [
              {
                "name": "billID",
                "value": "2001",
                "type": "path"
              },
              {
                "name": "commentID",
                "value": "12",
                "type": "path"
              }
            ]
          },
          "docs": "Deletes a Bill comment.\n\nParameters:\n\n| Parameter | In | Type | Required | Default | Description |\n|---|---|---|---|---|---|\n| billID | path | integer | yes |  | Bill identifier |\n| commentID | path | integer | yes |  | Comment identifier |\n\nResponses:\n- 200 OK: Deleted.\n- 404 Not Found: Comment not found."
        },
        {
          "info": {
            "name": "Get Bills",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/bills",
            "params": [
              {
                "name": "bills",
                "value": "1",
                "type": "query",
                "description": "This parameter is used to only get specific Bills. This parameter expects a comma delimited list of billIDs."
              },
              {
                "name": "numbers",
                "value": "1",
                "type": "query",
                "description": "This parameter is used to only get specific Bills by Number. This parameter expects a comma delimited list of billNumbers."
              },
              {
                "name": "status",
                "value": "0,1",
                "type": "query",
                "description": "This parameter is used to only get specific Bills by their status. The bill status could be 0,1 or 2\n"
              },
              {
                "name": "end",
                "value": "1697443800",
                "type": "query",
                "description": "This parameter is used to only get Bills that were created before or on the unix timestamp passed into it. "
              },
              {
                "name": "limit",
                "value": "2",
                "type": "query",
                "description": "This parameter is a result limiter. The default is set to return no more than 100 results at one time."
              },
              {
                "name": "pos",
                "value": "5",
                "type": "query",
                "description": "This parameter is used to only get specific Bills by POs. This parameter expects a comma delimited list of PO IDs."
              },
              {
                "name": "start",
                "value": "1597443703",
                "type": "query",
                "description": "This parameter is used to only get Bills that were created after or on the unix timestamp passed into it. "
              },
              {
                "name": "locations",
                "value": "163",
                "type": "query",
                "description": "This parameter is used to only get Bills at a specific group of Locations. This parameter accepts a comma delimited list of Location IDs."
              },
              {
                "name": "cursor",
                "value": "0",
                "type": "query",
                "description": "This parameter is a cursor that selects what billID you want to start receiving results at. e.g. passing 130 here will only get you bills with an id greater than 130."
              },
              {
                "name": "page",
                "value": "2",
                "type": "query",
                "description": "This parameter is used to paginate results based on the limit. Refer to Pagination section for more information."
              }
            ]
          },
          "docs": "This request gets information such as Bill IDs, Bill Numbers, etc.\n\nThis call returns a \"meta\" object containing URLs that can be used to get data related to the Bill.\n\nNote: this endpoint supports pagination. Please refer to the [**Pagination**](#pagination) section for more information.\n\nReturn data description\n\nProperty: meta, Description: useful links relating to this Bill\nProperty: billID, Description: The unique ID of the Bill.\nProperty: billNumber, Description: The bill number assigned to"
        },
        {
          "info": {
            "name": "New Bill",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.limblecmms.com/v2/bills",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "This request creates a new Bill for a Purchase Order.\n\nParameter: poID, Type: Int, Required?: Required, Description: The poID for which the Bill is made.\nParameter: userID, Type: Int, Required?: Optional, Description: The ID of the user that this Bill will be assigned to."
        },
        {
          "info": {
            "name": "Update Bill",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "https://api.limblecmms.com/v2/bills/:billID",
            "params": [
              {
                "name": "billID",
                "value": "226",
                "type": "path",
                "description": "The ID of the Bill to be deleted."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "This request updates a Bill. \n\nParameter: userID, Type: Int, Required?: Optional, Description: The ID of the user that this Bill will be assigned to.\nParameter: status, Type: Int, Required?: Optional, Description: The status of this Bill. Refer to GET Bill to understand what values status can be. A bill status cannot be reduced once it is changed."
        },
        {
          "info": {
            "name": "Delete Bill",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/bills/:billID",
            "params": [
              {
                "name": "billID",
                "value": "226",
                "type": "path",
                "description": "The ID of the Bill to be deleted."
              }
            ]
          },
          "docs": "This request deletes a Bill. This will also delete any Bill transactions for PO Items that were received on this Bill. The qty and price of the PO Items on the Bill will be recalculated."
        },
        {
          "info": {
            "name": "Regions",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/regions",
            "params": [
              {
                "name": "regions",
                "value": "1",
                "type": "query",
                "description": "This parameter is used to only get regions in the list provided. This parameter accepts a comma delimited list of Region IDs."
              },
              {
                "name": "name",
                "value": "%One%",
                "type": "query",
                "description": "This parameter is used to only get specific regions by name. This parameter expects a string- the full name of a region\n or partial name with the wildcard %."
              },
              {
                "name": "cursor",
                "value": "0",
                "type": "query",
                "description": "This parameter is a cursor that selects what regionID you want to start receiving results at. e.g. passing 137 here will only get you regions\n with an id greater than 137."
              },
              {
                "name": "limit",
                "value": "100",
                "type": "query",
                "description": "This parameter is a result limiter. The default is set to return no more than 100 \nresults at one time."
              }
            ]
          },
          "docs": "This request returns your Regions in Limble. \n\nReturn data description\n\nProperty: regionID, Description: The ID of the Region\nProperty: regionName, Description: The name of the Region\nProperty: parentRegionID, Description: The regionID of the parent of a region."
        },
        {
          "info": {
            "name": "Create Region",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.limblecmms.com/v2/regions"
          },
          "docs": "Creates a region.\n\nParameters:\n\n| Parameter | In | Type | Required | Default | Description |\n|---|---|---|---|---|---|\n| name | body | string | yes |  | Region name |\n| parentRegionID | body | integer | no | 0 | Parent region (≥ 0) |\n\nResponses:\n- 201 Created: { regionID } with Location header."
        },
        {
          "info": {
            "name": "Update Region",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "https://api.limblecmms.com/v2/regions/:regionID",
            "params": [
              {
                "name": "regionID",
                "value": "123",
                "type": "path"
              }
            ]
          },
          "docs": "Updates a region.\n\nParameters:\n\n| Parameter | In | Type | Required | Default | Description |\n|---|---|---|---|---|---|\n| regionID | path | integer | yes |  | Region identifier |\n| name | body | string | no |  | New name |\n| parentRegionID | body | integer | no |  | New parent (≥ 1) |"
        },
        {
          "info": {
            "name": "Delete Region",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/regions/:regionID",
            "params": [
              {
                "name": "regionID",
                "value": "123",
                "type": "path"
              }
            ]
          },
          "docs": "Deletes a region.\n\nParameters:\n\n| Parameter | In | Type | Required | Default | Description |\n|---|---|---|---|---|---|\n| regionID | path | integer | yes |  | Region identifier |\n\nResponses:\n- 200 OK: Deleted.\n- 404 Not Found: Region does not exist."
        },
        {
          "info": {
            "name": "Get Webhooks",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/webhooks",
            "params": [
              {
                "name": "webhooks",
                "value": "24",
                "type": "query",
                "description": "This parameter is used to only get specific Webhooks. This parameter expects a comma delimited list of webhookIDs."
              },
              {
                "name": "endpoint",
                "value": "%hello.com",
                "type": "query",
                "description": "This parameter is used for a string search by the webhook endpoint. This parameter expects a URL or partial URL of a webhook using a string with the wildcard %."
              },
              {
                "name": "type",
                "value": "task",
                "type": "query",
                "description": "This parameter is used to only get Webhooks of a specific type. This parameter accepts a comma delimited list of webhook types."
              },
              {
                "name": "enabled",
                "value": "1",
                "type": "query",
                "description": "This parameter is used to get Webooks which are enabled. This paramter expects 1: Enabled or 0: Disabled"
              },
              {
                "name": "cursor",
                "value": "0",
                "type": "query",
                "description": "This parameter is a cursor that selects what webhookID you want to start receiving results at. e.g. passing 10 here will only get you webhooks with an id greater than 10."
              },
              {
                "name": "limit",
                "value": "100",
                "type": "query",
                "description": "This parameter is a result limiter. The default is set to return no more than 100 results at one time."
              }
            ]
          },
          "docs": "This request returns your Webhooks configured for Limble. \n\nReturn data description\n\nProperty: webhhokID, Description: The ID of the Webhook\nProperty: endpoint, Description: The webhook URL.\nProperty: type, Description: The type of webhook. Webhooks can be of type task, po, poItem.\nProperty: enabled, Description: Determines if the webhook is enabled. 0 = Disabled 1=Enabled"
        },
        {
          "info": {
            "name": "New Webhook",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.limblecmms.com/v2/webhooks",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "This requests creates a new Webhook.\n\nParameter\nType\nRequired?\nDescription\n\nendpoint\nURL\nRequired\nThe webhook URL.\n\ntype\nString\nRequired\nThe type of webhook. Refer to GET webhooks for type values\n\nenabled\nInt\nOptional\nShould the webhook be enabled or disabled. It is enabled(1) by default."
        },
        {
          "info": {
            "name": "Update Webhook",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "https://api.limblecmms.com/v2/webhooks/:webhookID",
            "params": [
              {
                "name": "webhookID",
                "value": "42",
                "type": "path",
                "description": "This parameter expects a webhookID."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "This requests updates a Webhook.\n\nParameter\nType\nRequired?\nDescription\n\nendpoint\nURL\nOptional\nThe webhook URL.\n\ntype\nString\nOptional\nThe type of webhook. Refer to GET webhooks for type values\n\nenabled\nInt\nOptional\nEnable (1) or disable a webhook(0)"
        },
        {
          "info": {
            "name": "Delete Webhook",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://api.limblecmms.com/v2/webhooks/:webhookID",
            "params": [
              {
                "name": "webhookID",
                "value": "42",
                "type": "path",
                "description": "This parameter expects a webhookID."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "This request deletes a Webhook."
        },
        {
          "info": {
            "name": "Get Units",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.limblecmms.com/v2/uom",
            "params": [
              {
                "name": "unitCodes",
                "value": "fluid_ounce_us, W0gzuwOpmOo_dXKtrc2RL",
                "type": "query",
                "description": "This parameter is used to only get specific units. This parameter accepts a comma delimited list of unit codes."
              },
              {
                "name": "limit",
                "value": "10",
                "type": "query",
                "description": "This parameter is a result limiter. The default is 20 units and the max is 100."
              },
              {
                "name": "page",
                "value": "2",
                "type": "query",
                "description": "This parameter is used to paginate results based on the limit. Refer to Pagination section for more information. "
              },
              {
                "name": "nameStartsWith",
                "value": "p",
                "type": "query",
                "description": "Filter by units that have a name which starts with this string."
              },
              {
                "name": "abbreviationStartsWith",
                "value": "l",
                "type": "query",
                "description": "Filter by units that have an abbreviation which starts with this string."
              }
            ]
          },
          "docs": "This endpoint makes an HTTP GET request to retrieve the unit of measurement (UOM) data. The response of this request is documented as a JSON schema.\n\nReturn data description\n\n| **Property** | **Description** |\n| --- | --- |\n| unitCode | The identifier of this unit of measure. It is some random text for custom units (e.g. `j5VEKvW-TD8femkRe02KV`) and it is something semantic for provided units (e.g. `fluid_ounce`) |\n| name | The full name of a unit to make it clear what it is. |\n| abbreviation | "
        },
        {
          "info": {
            "name": "Create Unit",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.limblecmms.com/v2/uom",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "The `POST /v2/uom` endpoint is used to create a new custom unit. The request should include a JSON payload with the `name` and `abbreviation` fields.\n\n### Request Body\n\n- `name` (string): The full name of the unit.\n    \n- `abbreviation` (string): A compact name of the unit.\n    \n\n### Response\n\nThe full unit object of your newly created unit."
        },
        {
          "info": {
            "name": "Update Unit",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "https://api.limblecmms.com/v2/uom/:unitCode",
            "params": [
              {
                "name": "unitCode",
                "value": "E979vVp936_8kV0amzLre",
                "type": "path",
                "description": "The unit identifier."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "The HTTP PATCH request is used to update a specific unit identified by its unit code. The request should be made to the endpoint `{{protocol}}://{{server}}:{{port}}/v2/uom/:unitCode`, where `:unitCode` is the unique identifier of the unit being updated.\n\n### Request Body\n\nThe body is interpreted slightly differently, depending on whether the `unitCode` in the url is for a custom unit or a provided unit. If it is custom, then either property can be used to update the unit. If it is a provided uni"
        }
      ]
    }
  ],
  "bundled": true
}