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