auth

Get Me

get/auth/me

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/auth/me
  • Auth
    HTTP bearer

Response

Successful Response

idstring required

User ID (opaque string identifier).

emailstring required

User email address.

first_namestring nullable

User first name, if available.

last_namestring nullable

User last name, if available.

rolestring nullable

User role or group, if available.

last_seen_atstring date-time nullable

Last time the user was seen active.

last_logged_instring date-time nullable

Last login timestamp.

created_atstring date-time nullable

User creation timestamp.

permissionsobject nullable

Per-permission overrides for this operator; null means role defaults apply.

claim_cleanup_enabledboolean nullable

Capability: true when this api has alarm-claim cleanup (claim status read at GET /events/{id}/claim, claims read at GET /events/claims, renew-only heartbeat at POST /events/{id}/claim/renew, agent closes clear claims) switched on (CLAIM_CLEANUP_ENABLED). Always present from an api that has the feature, true or false; ABSENT from an older api, which a console must read as false. Those routes are 404 whenever this is not true, and a heartbeat must never fall back to POST /events/{id}/claim (that route acquires).

claim_refusal_enabledboolean nullable

Capability: true when this api enforces ONE HOLDER PER ALARM (CLAIM_REFUSAL_ENABLED, which also requires claim_cleanup_enabled): a close (409 claim_held, a per-item 423 in the bulk close) and the operator-started Voice down, AI voice announcement, call to the owner, dispatch call and event-scoped Live Talk are refused while ANOTHER operator holds a live claim, and POST /events/{id}/claim/take-over works. A console lights Take over only when this is true. Always present from an api that has the feature, true or false; ABSENT from an older api, which a console must read as false. The server's refusal stays authoritative for any stale tab.

claim_escalation_enabledboolean nullable

Capability: true when this api serves the escalation record (CLAIM_ESCALATION_ENABLED, which also requires claim_cleanup_enabled and the legacy whole-site claim to be OFF): POST /events/{id}/claim/acting and its /cancel work, claim.generation is filled and the claims reads carry activity. A console shows "Escalation in progress" and sends the record only when this is true. ABSENT from an older api, which a console must read as false. When it turns false, drop any pending local intent.

focus_enabledboolean nullable

Capability: true when this api serves Focus (FOCUS_ENABLED, which also requires claim_cleanup_enabled and claim_refusal_enabled and the legacy whole-site claim to be OFF): POST /focus and its keep / input / release routes and GET /focus work, new alarms in an active focus's scope are reserved for the focuser, and the claims reads carry reservations and focus. ABSENT from an older api, which a console must read as false. When it turns false, drop any local focus state.

claim_next_enabledboolean nullable

Capability: true when this api serves the Next alarm key (CLAIM_NEXT_ENABLED, which also requires claim_refusal_enabled (and so claim cleanup) and the legacy whole-site claim to be OFF): POST /events/claims/next works, which claims the caller the oldest eligible unheld alarm in one call. ABSENT from an older api, which a console must read as false. The route answers 404 whenever this is not true.

open_alarms_paged_readboolean nullable

Capability: true when this api serves GET /events/open-alarms (the stable, oldest-first paged read of every open alarm in a scope). Constant true from an api that has it; ABSENT from an older api, which a console must read as false. The read is not gated by rail_open_list_enabled.

rail_open_list_enabledboolean nullable

Switch (env RAIL_OPEN_LIST_ENABLED, default OFF): show the rail's full open list. A console uses the paged read only when this AND open_alarms_paged_read are true. Absent from an older api (= false).

alarm_show_readboolean nullable

Capability: true when this api serves GET /events/{id}/show (the paged Show scene). Constant true; absent from an older api (= false). Not gated by alarm_show_enabled.

alarm_show_enabledboolean nullable

Switch (env ALARM_SHOW_ENABLED, default OFF): the Show view. A console shows Show only when this AND alarm_show_read are true. Absent from an older api (= false).

flood_tool_enabledboolean nullable

Switch (env FLOOD_TOOL_ENABLED, default OFF): show the rail's "Label and close together" tool. Console-only: the bulk close endpoint is unchanged and is not gated by it. Absent from an older api (= false).

bulk_close_undoboolean nullable

Capability: true when this api serves POST /eval/operator/bulk/undo (Undo on the site story's Close all). Constant true; ABSENT from an older api (= false). No env switch.

Example response

{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "email": "user@example.com",
  "first_name": "Alex",
  "last_name": "Doe",
  "role": "operator",
  "last_seen_at": "2024-01-01T12:34:56Z",
  "last_logged_in": "2024-01-01T12:00:00Z",
  "created_at": "2023-12-15T09:30:00Z",
  "permissions": {
    "manage_users": false,
    "view_analytics": true
  },
  "site_hold": {
    "heartbeat_s": 10,
    "open_s": 30,
    "idle_s": 120,
    "new_alert_s": 120
  },
  "queue_order": {
    "mode": "oldest_first",
    "focus_age_cap_s": 45
  }
}

Changes

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