Skip to content
Dashboard

Get a live workload snapshot

GET/v2/workload

Returns live workspace, team, and admin workload. Admin rows use cursor pagination. teamId and adminId filter admin and team rows. The summary stays workspace-wide. The snapshot is cached for five seconds.

Header ParametersExpand Collapse
"Featurebase-Version": optional "2026-08-19.orbit" or "2026-01-01.nova" or "2025-12-12.clover"
One of the following:
"2026-08-19.orbit"
"2026-01-01.nova"
"2025-12-12.clover"
ReturnsExpand Collapse
admins: object { data, nextCursor, object }
data: array of object { adminId, assignmentLimit, atCapacity, 7 more }
adminId: string
assignmentLimit: AssignmentLimit { adminId, effectiveLimit, limit, 3 more }
adminId: string
effectiveLimit: number
limit: number
mode: "inherit" or "custom" or "unlimited"
One of the following:
"inherit"
"custom"
"unlimited"
object: "assignment_limit"
paused: boolean
atCapacity: boolean
availability: AdminAvailability { adminId, automatic, away, 5 more }
adminId: string
automatic: boolean
away: boolean
changedAt: string
formatdate-time
lastActiveAt: string
formatdate-time
object: "admin_availability"
reason: object { id, label }
id: string
label: string
reassignReplies: boolean
idleCount: number
minimum0
inboxes: array of object { assignmentLimit, atCapacity, idleCount, 4 more }
assignmentLimit: number
atCapacity: boolean
idleCount: number
minimum0
openCount: number
minimum0
snoozedCount: number
minimum0
teamId: string
waitingCount: number
minimum0
object: "workload_admin"
openCount: number
minimum0
snoozedCount: number
minimum0
waitingCount: number
minimum0
nextCursor: string
object: "list"
generatedAt: string
formatdate-time
object: "workload"
summary: object { avgWaitMs, awayReasonBreakdown, closedToday, 8 more }
avgWaitMs: number
minimum0
awayReasonBreakdown: array of object { count, reason }
count: number
minimum0
reason: string
closedToday: number
minimum0
idleConversations: number
minimum0
idleThresholdMinutes: number
exclusiveMinimum0
longestWaitingMs: number
minimum0
openConversations: number
minimum0
snoozedConversations: number
minimum0
unassignedConversations: number
minimum0
waitingConversations: number
minimum0
waitingFirstReplyConversations: number
minimum0
teams: array of object { assignedCount, assignmentLimit, atCapacityCount, 14 more }
assignedCount: number
minimum0
assignmentLimit: number
atCapacityCount: number
minimum0
avgWaitMs: number
minimum0
awayCount: number
minimum0
closedToday: number
minimum0
idleCount: number
minimum0
longestWaitingMs: number
minimum0
memberCount: number
minimum0
name: string
object: "workload_team"
openCount: number
minimum0
queuedCount: number
minimum0
snoozedCount: number
minimum0
teamId: string
waitingCount: number
minimum0
waitingFirstReplyCount: number
minimum0

Get a live workload snapshot

curl https://do.featurebase.app/v2/workload \
    -H "Authorization: Bearer $FEATUREBASE_API_KEY"
{
  "admins": {
    "data": [
      {
        "adminId": "adminId",
        "assignmentLimit": {
          "adminId": "adminId",
          "effectiveLimit": 0,
          "limit": 0,
          "mode": "inherit",
          "object": "assignment_limit",
          "paused": true
        },
        "atCapacity": true,
        "availability": {
          "adminId": "adminId",
          "automatic": true,
          "away": true,
          "changedAt": "2019-12-27T18:11:19.117Z",
          "lastActiveAt": "2019-12-27T18:11:19.117Z",
          "object": "admin_availability",
          "reason": {
            "id": "id",
            "label": "label"
          },
          "reassignReplies": true
        },
        "idleCount": 0,
        "inboxes": [
          {
            "assignmentLimit": 0,
            "atCapacity": true,
            "idleCount": 0,
            "openCount": 0,
            "snoozedCount": 0,
            "teamId": "teamId",
            "waitingCount": 0
          }
        ],
        "object": "workload_admin",
        "openCount": 0,
        "snoozedCount": 0,
        "waitingCount": 0
      }
    ],
    "nextCursor": "nextCursor",
    "object": "list"
  },
  "generatedAt": "2019-12-27T18:11:19.117Z",
  "object": "workload",
  "summary": {
    "avgWaitMs": 0,
    "awayReasonBreakdown": [
      {
        "count": 0,
        "reason": "reason"
      }
    ],
    "closedToday": 0,
    "idleConversations": 0,
    "idleThresholdMinutes": 1,
    "longestWaitingMs": 0,
    "openConversations": 0,
    "snoozedConversations": 0,
    "unassignedConversations": 0,
    "waitingConversations": 0,
    "waitingFirstReplyConversations": 0
  },
  "teams": [
    {
      "assignedCount": 0,
      "assignmentLimit": 0,
      "atCapacityCount": 0,
      "avgWaitMs": 0,
      "awayCount": 0,
      "closedToday": 0,
      "idleCount": 0,
      "longestWaitingMs": 0,
      "memberCount": 0,
      "name": "name",
      "object": "workload_team",
      "openCount": 0,
      "queuedCount": 0,
      "snoozedCount": 0,
      "teamId": "teamId",
      "waitingCount": 0,
      "waitingFirstReplyCount": 0
    }
  ]
}
Returns Examples
{
  "admins": {
    "data": [
      {
        "adminId": "adminId",
        "assignmentLimit": {
          "adminId": "adminId",
          "effectiveLimit": 0,
          "limit": 0,
          "mode": "inherit",
          "object": "assignment_limit",
          "paused": true
        },
        "atCapacity": true,
        "availability": {
          "adminId": "adminId",
          "automatic": true,
          "away": true,
          "changedAt": "2019-12-27T18:11:19.117Z",
          "lastActiveAt": "2019-12-27T18:11:19.117Z",
          "object": "admin_availability",
          "reason": {
            "id": "id",
            "label": "label"
          },
          "reassignReplies": true
        },
        "idleCount": 0,
        "inboxes": [
          {
            "assignmentLimit": 0,
            "atCapacity": true,
            "idleCount": 0,
            "openCount": 0,
            "snoozedCount": 0,
            "teamId": "teamId",
            "waitingCount": 0
          }
        ],
        "object": "workload_admin",
        "openCount": 0,
        "snoozedCount": 0,
        "waitingCount": 0
      }
    ],
    "nextCursor": "nextCursor",
    "object": "list"
  },
  "generatedAt": "2019-12-27T18:11:19.117Z",
  "object": "workload",
  "summary": {
    "avgWaitMs": 0,
    "awayReasonBreakdown": [
      {
        "count": 0,
        "reason": "reason"
      }
    ],
    "closedToday": 0,
    "idleConversations": 0,
    "idleThresholdMinutes": 1,
    "longestWaitingMs": 0,
    "openConversations": 0,
    "snoozedConversations": 0,
    "unassignedConversations": 0,
    "waitingConversations": 0,
    "waitingFirstReplyConversations": 0
  },
  "teams": [
    {
      "assignedCount": 0,
      "assignmentLimit": 0,
      "atCapacityCount": 0,
      "avgWaitMs": 0,
      "awayCount": 0,
      "closedToday": 0,
      "idleCount": 0,
      "longestWaitingMs": 0,
      "memberCount": 0,
      "name": "name",
      "object": "workload_team",
      "openCount": 0,
      "queuedCount": 0,
      "snoozedCount": 0,
      "teamId": "teamId",
      "waitingCount": 0,
      "waitingFirstReplyCount": 0
    }
  ]
}