{
  "opencollection": "1.0.0",
  "info": {
    "name": "Limble API V2 Assets Exceptions API",
    "version": "1.0.0"
  },
  "request": {
    "auth": {
      "type": "basic",
      "username": "{{username}}",
      "password": "{{password}}"
    }
  },
  "items": [
    {
      "info": {
        "name": "Exceptions",
        "type": "folder"
      },
      "items": [
        {
          "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."
        }
      ]
    }
  ],
  "bundled": true
}