operator

Patch Operator Permissions

patch/operator/{operator_id}/permissions

Request

  • Base URL
    https://api.verdun.ai (the document declares no server; this is the origin it was published from)
  • URL
    https://api.verdun.ai/operator/{operator_id}/permissions
  • Auth
    HTTP bearer

Path parameters

operator_idstring required

Request body

permissionsobject required

Only the permission overrides to change. Omitted keys retain their current stored values. Concurrent patches are serialized; the last write to the same key wins.

Response

Successful Response

idstring uuid required

UUID of operator

first_namestring required

The first name of the operator

last_namestring required

The last name of the operator

emailstring required

The email address of the operator

role'owner' | 'operator' | 'site_manager' | 'read_only' | 'account_manager' | 'monitoring_manager' | 'location_manager' | 'support' required
last_seen_atstring date-time nullable

The time the operator was last seen

last_logged_instring date-time nullable

The time the operator last logged in

created_atstring date-time required

The time the operator was created

permissionsobject nullable

Per-permission overrides ({OperatorPermission value: bool}); null means role defaults apply

is_primary_ownerboolean

The account anchor: cannot be removed or demoted, and only they may edit their own record. Not settable via the API.

all_sitesboolean

EFFECTIVE all-sites access (operator / read_only only; false for every other role). When true the user sees every client and site, including future ones, and their coverage groups and parent/site rows are retained but inert. Set via PUT /operator/{id}/site-access.

deactivated_atstring date-time nullable

When this user was deactivated (POST /operator/{id}/deactivate), or null while active. A deactivated user cannot log in and holds no seats or coverage groups; their records are kept.

Example response

{
  "id": "<Some UUID of some sort>",
  "first_name": "Joe",
  "last_name": "Johnson",
  "email": "JJ@example.com",
  "permissions": {
    "manage_users": false,
    "view_alarm_queue": true
  },
  "parents": [
    {
      "id": "<UUID of some sort>",
      "company_name": "Joe",
      "primary_contact_name": "Joe Johnson",
      "primary_contact_phone_number": "1013217890",
      "primary_contact_email": "JJ@example.com",
      "notes": "Super important notes"
    }
  ],
  "sites": [
    {
      "id": "<UUID of some sort>",
      "name": "Elm St Facility",
      "parent_id": "<UUID of the owning client>"
    }
  ],
  "accounts": [
    {
      "id": "<UUID of some sort>",
      "name": "Northgate Logistics",
      "parent_id": "<UUID of the owning client>"
    }
  ],
  "coverage_groups": [
    {
      "id": "<UUID of some sort>",
      "name": "Overnight High-Risk",
      "color": "#4DFFD2",
      "site_count": 42
    }
  ]
}

Changes

No recorded changes to this operation across all 2 revisions of this API.