OpenAssistantAPI

User API

Coordinator

Command Center, delegations overview, activity river, manager views

GET/coordinator/dashboard

Command Center dashboard aggregate

Active principals, active coverage, handoffs out, upcoming coverage, recent tasks, health warnings in one response. See spec §2.13 / §3.

Responses

200Dashboard
ok reqenumtrue
activePrincipals reqobject[]
delegationId reqstring
principal reqobject | null
id reqstring
name reqstring | null
firstNamestring | null
lastNamestring | null
email reqstring | null
avatar reqstring | null
assistant reqobject | null
id reqstring
namestring | null
emailstring | null
accessHealth reqenumokcalendar_degradedcalendar_lost
delegationSource reqenumcalendar_providerplatform
calendarProviderenummicrosoftgooglenull
isDefault reqboolean
confirmedAtstring | null
lastAccessCheckAtstring | null
myActiveCoverage reqobject[]
spanId reqstring
status reqstring
startAt reqstring
endAt reqstring
reason reqstring
primaryCoordinator reqobject | null
id reqstring
name reqstring | null
firstNamestring | null
lastNamestring | null
email reqstring | null
avatar reqstring | null
principal reqobject | null
id reqstring
name reqstring | null
firstNamestring | null
lastNamestring | null
email reqstring | null
avatar reqstring | null
myHandoffsOut reqobject[]
id reqstring
status reqstring
reason reqstring
startAt reqstring
endAt reqstring
primaryCoordinator reqobject | null
id reqstring
name reqstring | null
firstNamestring | null
lastNamestring | null
email reqstring | null
avatar reqstring | null
principals reqobject[]
id reqstring
principal reqany...
backupCoordinator reqany...
upcomingCoverage reqany[]
recentTasks reqobject[]
id reqstring
type reqstring
status reqstring
summary reqstring | null
ownerobject | null
id reqstring
name reqstring | null
firstNamestring | null
lastNamestring | null
email reqstring | null
avatar reqstring | null
ownerEmailstring | null
scheduledAtstring | null
createdAt reqstring
updatedAt reqstring
healthWarnings reqobject
degradedDelegations reqobject[]
delegationId reqstring
principal reqobject | null
id reqstring
name reqstring | null
firstNamestring | null
lastNamestring | null
email reqstring | null
avatar reqstring | null
accessHealth reqenumokcalendar_degradedcalendar_lost
lastAccessCheckAtstring | null
recentRevocations reqobject[]
delegationId reqstring
principal reqobject | null
id reqstring
name reqstring | null
firstNamestring | null
lastNamestring | null
email reqstring | null
avatar reqstring | null
revokedAt reqstring
revokedBystring | null
pendingInvitesCount reqinteger
generatedAt reqstring

Request

curl 'https://app.openassistant.us/api/coordinator/dashboard' \
  -H "Authorization: Bearer ak_live_..."

Response

{
  "ok": true,
  "activePrincipals": [
    {
      "delegationId": "string",
      "principal": {
        "id": "string",
        "name": "string",
        "email": "string",
        "avatar": "string"
      },
      "assistant": {
        "id": "string"
      },
      "accessHealth": "ok",
      "delegationSource": "calendar_provider",
      "isDefault": true
    }
  ],
  "myActiveCoverage": [
    {
      "spanId": "string",
      "status": "string",
      "startAt": "2025-01-15T10:30:00.000Z",
      "endAt": "2025-01-15T10:30:00.000Z",
      "reason": "string",
      "primaryCoordinator": {
        "id": "string",
        "name": "string",
        "email": "string",
        "avatar": "string"
      }
    }
  ],
  "myHandoffsOut": [
    {
      "id": "string",
      "status": "string",
      "reason": "string",
      "startAt": "2025-01-15T10:30:00.000Z",
      "endAt": "2025-01-15T10:30:00.000Z",
      "primaryCoordinator": {
        "id": "string",
        "name": "string",
        "email": "string",
        "avatar": "string"
      }
    }
  ],
  "upcomingCoverage": [
    {
      "id": "string",
      "status": "string",
      "reason": "string",
      "startAt": "2025-01-15T10:30:00.000Z",
      "endAt": "2025-01-15T10:30:00.000Z",
      "primaryCoordinator": null,
      "role": "primary"
    }
  ],
  "recentTasks": [
    {
      "id": "string",
      "type": "string",
      "status": "string",
      "summary": "string",
      "createdAt": "2025-01-15T10:30:00.000Z",
      "updatedAt": "2025-01-15T10:30:00.000Z"
    }
  ]
}
GET/coordinator/principals/{id}

Per-principal detail page backing data

Path parameters

id reqstring

Responses

200Principal detail
ok reqenumtrue
delegation reqobject
id reqstring
coordinator reqobject | string | null
principal reqobject | string | null
account reqstring
assistant reqobject | string | null
status reqenumpendingactiverevoked
initiatedBy reqenumcoordinatorprincipaladminsystem
delegationSource reqenumcalendar_providerplatform
calendarProviderenummicrosoftgooglenull
privateEventAccess reqboolean
isDefault reqboolean
approvalModeenumautomanualrequire_approvalnull
threadInclusionenumsupervisedsemi-supervisedunsupervisednull
visibilityenumccbccnull
confirmedAtstring | null
revokedAtstring | null
revokedBystring | null
deletedForGDPRboolean
lastVerifiedAtstring | null
accessHealth reqenumokcalendar_degradedcalendar_lost
lastAccessCheckAtstring | null
supervisionMatrix reqobject
email_as_userobject
modeenumautotime-boxedmanualnull
timeBoxedWindowMinnumber | null
timeBoxedExpiryenumexecutecancelnull
undoDelaySecnumber | null
email_as_assistantobject
modeenumautotime-boxedmanualnull
timeBoxedWindowMinnumber | null
timeBoxedExpiryenumexecutecancelnull
undoDelaySecnumber | null
messagingobject
modeenumautotime-boxedmanualnull
timeBoxedWindowMinnumber | null
timeBoxedExpiryenumexecutecancelnull
undoDelaySecnumber | null
voice_callobject
modeenumautotime-boxedmanualnull
timeBoxedWindowMinnumber | null
timeBoxedExpiryenumexecutecancelnull
undoDelaySecnumber | null
calendarobject
modeenumautotime-boxedmanualnull
timeBoxedWindowMinnumber | null
timeBoxedExpiryenumexecutecancelnull
undoDelaySecnumber | null
filesobject
modeenumautotime-boxedmanualnull
timeBoxedWindowMinnumber | null
timeBoxedExpiryenumexecutecancelnull
undoDelaySecnumber | null
driveobject
modeenumautotime-boxedmanualnull
timeBoxedWindowMinnumber | null
timeBoxedExpiryenumexecutecancelnull
undoDelaySecnumber | null
contactsobject
modeenumautotime-boxedmanualnull
timeBoxedWindowMinnumber | null
timeBoxedExpiryenumexecutecancelnull
undoDelaySecnumber | null
third_party_skillsobject
modeenumautotime-boxedmanualnull
timeBoxedWindowMinnumber | null
timeBoxedExpiryenumexecutecancelnull
undoDelaySecnumber | null
websiteobject
modeenumautotime-boxedmanualnull
timeBoxedWindowMinnumber | null
timeBoxedExpiryenumexecutecancelnull
undoDelaySecnumber | null
lockedstring[]
exceptionsany[]
calendarSettingsobject | null
readstring[]
writestring | null
createdAt reqstring
updatedAt reqstring
assistant reqobject | null
id reqstring
namestring | null
emailstring | null
supervisionMatrix reqobject
accessHealth reqobject
status reqenumokcalendar_degradedcalendar_lost
lastAccessCheckAtstring | null
lastVerifiedAtstring | null
recentTasks reqobject[]
id reqstring
type reqstring
status reqstring
summary reqstring | null
ownerobject | null
id reqstring
name reqstring | null
firstNamestring | null
lastNamestring | null
email reqstring | null
avatar reqstring | null
ownerEmailstring | null
scheduledAtstring | null
createdAt reqstring
updatedAt reqstring

Request

curl 'https://app.openassistant.us/api/coordinator/principals/<id>' \
  -H "Authorization: Bearer ak_live_..."

Response

{
  "ok": true,
  "delegation": {
    "id": "string",
    "coordinator": {
      "id": "string",
      "type": "user"
    },
    "principal": {
      "id": "string",
      "type": "user"
    },
    "account": "string",
    "assistant": {
      "id": "string"
    },
    "status": "pending"
  },
  "assistant": {
    "id": "string"
  },
  "supervisionMatrix": {},
  "accessHealth": {
    "status": "ok"
  },
  "recentTasks": [
    {
      "id": "string",
      "type": "string",
      "status": "string",
      "summary": "string",
      "createdAt": "2025-01-15T10:30:00.000Z",
      "updatedAt": "2025-01-15T10:30:00.000Z"
    }
  ]
}
GET/coordinator/pending-invites

Outstanding invitations (delegations in status pending)

Responses

200Pending invites
ok reqenumtrue
pendingInvites reqobject[]
id reqstring
principal reqobject | null
id reqstring
name reqstring | null
firstNamestring | null
lastNamestring | null
email reqstring | null
avatar reqstring | null
delegationSource reqenumcalendar_providerplatform
calendarProviderenummicrosoftgooglenull
createdAt reqstring
confirmationTokenExpiresAtstring | null
pageinteger
perPageinteger
totalinteger

Request

curl 'https://app.openassistant.us/api/coordinator/pending-invites' \
  -H "Authorization: Bearer ak_live_..."

Response

{
  "ok": true,
  "pendingInvites": [
    {
      "id": "string",
      "principal": {
        "id": "string",
        "name": "string",
        "email": "string",
        "avatar": "string"
      },
      "delegationSource": "calendar_provider",
      "createdAt": "2025-01-15T10:30:00.000Z"
    }
  ]
}
GET/coordinator/coverage-schedule

Unified coverage calendar for the caller

Overlap-filters by [from, to]. One event per (span, principal) with role=primary|backup.

Query parameters

from reqstring
to reqstring

Responses

200Coverage events
ok reqenumtrue
from reqstring
to reqstring
events reqobject[]
id reqstring
spanId reqstring
role reqenumprimarybackup
status reqstring
startAt reqstring
endAt reqstring
reason reqstring
principal reqobject | null
id reqstring
name reqstring | null
firstNamestring | null
lastNamestring | null
email reqstring | null
avatar reqstring | null
primaryCoordinator reqobject | null
id reqstring
name reqstring | null
firstNamestring | null
lastNamestring | null
email reqstring | null
avatar reqstring | null
backupCoordinator reqobject | null
id reqstring
name reqstring | null
firstNamestring | null
lastNamestring | null
email reqstring | null
avatar reqstring | null

Request

curl 'https://app.openassistant.us/api/coordinator/coverage-schedule?from=&to=' \
  -H "Authorization: Bearer ak_live_..."

Response

{
  "ok": true,
  "from": "2025-01-15T10:30:00.000Z",
  "to": "2025-01-15T10:30:00.000Z",
  "events": [
    {
      "id": "string",
      "spanId": "string",
      "role": "primary",
      "status": "string",
      "startAt": "2025-01-15T10:30:00.000Z",
      "endAt": "2025-01-15T10:30:00.000Z"
    }
  ]
}
GET/coordinator/manager-overview

EA manager aggregated team view

Requires user.managerRoles to include ea_manager (or org admin). One entry per managed coordinator.

Responses

200Manager overview
ok reqenumtrue
scope reqenumadminmanager
coordinators reqobject[]
coordinator reqobject | null
id reqstring
name reqstring | null
firstNamestring | null
lastNamestring | null
email reqstring | null
avatar reqstring | null
principalCount reqinteger
pendingInviteCount reqinteger
todayActivityCount reqinteger
pendingApprovalCount reqinteger
accessHealthIssues reqinteger
generatedAt reqstring

Request

curl 'https://app.openassistant.us/api/coordinator/manager-overview' \
  -H "Authorization: Bearer ak_live_..."

Response

{
  "ok": true,
  "scope": "admin",
  "coordinators": [
    {
      "coordinator": {
        "id": "string",
        "name": "string",
        "email": "string",
        "avatar": "string"
      },
      "principalCount": 0,
      "pendingInviteCount": 0,
      "todayActivityCount": 0,
      "pendingApprovalCount": 0,
      "accessHealthIssues": 0
    }
  ],
  "generatedAt": "2025-01-15T10:30:00.000Z"
}
GET/coordinator/manager-audit-events

Manager-scoped coordinator audit log

Wraps AuditEvent for the coordinator.* namespace, scoped to the manager's overseen coordinators. See spec §12.3.

Query parameters

fromstring
tostring
principalIdstring
coordinatorIdstring
actionstring
limitinteger
beforestring

Responses

200Audit events
ok reqenumtrue
events reqobject[]
id reqstring
account reqstring
organization reqstring
actor reqstring | null
action reqstring
entityType reqstring
entityId reqstring | null
metadata reqobject
createdAt reqstring
pageinteger
perPageinteger
totalinteger

Request

curl 'https://app.openassistant.us/api/coordinator/manager-audit-events' \
  -H "Authorization: Bearer ak_live_..."

Response

{
  "ok": true,
  "events": [
    {
      "id": "string",
      "account": "string",
      "organization": "string",
      "actor": "string",
      "action": "string",
      "entityType": "string"
    }
  ]
}