Skip to main content
All admin endpoints require the LoftAdmin authorization policy. Include a JWT or API key with admin privileges.

RBAC Management

GET /api/loft/admin/roles

List organization role assignments.
curl
curl -H "Authorization: Bearer YOUR_JWT" \
  https://api.pidgeon.health/api/loft/admin/roles

POST /api/loft/admin/roles

Assign a role to a user.
curl
curl -X POST https://api.pidgeon.health/api/loft/admin/roles \
  -H "Authorization: Bearer YOUR_JWT" \
  -H "Content-Type: application/json" \
  -d '{"userId": "user-uuid", "role": "LoftOperator"}'

DELETE /api/loft/admin/roles/

Revoke a user’s role.
curl
curl -X DELETE -H "Authorization: Bearer YOUR_JWT" \
  https://api.pidgeon.health/api/loft/admin/roles/user-uuid

Workspace Management

GET /api/loft/admin/workspaces

List workspaces.
curl
curl -H "Authorization: Bearer YOUR_JWT" \
  https://api.pidgeon.health/api/loft/admin/workspaces

POST /api/loft/admin/workspaces

Create a workspace.
curl
curl -X POST https://api.pidgeon.health/api/loft/admin/workspaces \
  -H "Authorization: Bearer YOUR_JWT" \
  -H "Content-Type: application/json" \
  -d '{"name": "East Region", "description": "East region interfaces"}'

POST /api/loft/admin/workspaces//members

Add a member to a workspace.
curl
curl -X POST https://api.pidgeon.health/api/loft/admin/workspaces/ws-001/members \
  -H "Authorization: Bearer YOUR_JWT" \
  -H "Content-Type: application/json" \
  -d '{"userId": "user-uuid", "role": "LoftViewer"}'

POST /api/loft/admin/workspaces//interfaces

Add an interface to a workspace.
curl
curl -X POST https://api.pidgeon.health/api/loft/admin/workspaces/ws-001/interfaces \
  -H "Authorization: Bearer YOUR_JWT" \
  -H "Content-Type: application/json" \
  -d '{"interfaceId": "intf-001"}'

SLA Management

GET /api/loft/admin/sla/

Get SLA definition for an interface.
curl
curl -H "Authorization: Bearer YOUR_JWT" \
  https://api.pidgeon.health/api/loft/admin/sla/intf-001

POST /api/loft/admin/sla

Create an SLA definition.
curl
curl -X POST https://api.pidgeon.health/api/loft/admin/sla \
  -H "Authorization: Bearer YOUR_JWT" \
  -H "Content-Type: application/json" \
  -d '{"interfaceId": "intf-001", "uptimeTarget": 99.9, "maxResponseMs": 500, "alertThresholdPercent": 5}'

GET /api/loft/admin/sla//report

Get SLA compliance report.
Query ParamTypeDescription
fromISO 8601Report start
toISO 8601Report end
curl
curl -H "Authorization: Bearer YOUR_JWT" \
  "https://api.pidgeon.health/api/loft/admin/sla/intf-001/report?from=2026-02-01&to=2026-02-22"