Elydora Docs

Role-Based Access Control

Elydora grants capabilities to five predefined roles. Each API endpoint requires one capability.

Roles

org_owner

Full access, including organization settings, members, invitations, webhooks, and agent assignments. Assigned to the organization creator.

  • Create, read, and update the organization
  • Manage members and invitations
  • Register, update, freeze, unfreeze, revoke, and delete agents
  • Submit and read operations
  • Query the audit log and create exports
  • Manage webhooks
  • Assign agents to users
security_admin

Manages members, agent lifecycle, webhooks, and assignments. Cannot create organizations.

  • Read and update the organization
  • Manage members and invitations
  • Register, update, freeze, unfreeze, revoke, and delete agents
  • Submit and read operations
  • Query the audit log and create exports
  • Manage webhooks
  • Assign agents to users
compliance_auditor

Read access for compliance and legal teams.

  • Read the organization, members, all agents, operations, and epochs
  • Query the audit log and create exports
integration_engineer

Integrates agents and submits operations.

  • Register and update agents
  • Submit and read operations
  • Read the organization, members, visible agents, and epochs
readonly_investigator

Read-only access to visible agents, operations, and epochs.

  • Read the organization, members, visible agents, operations, and epochs

integration_engineer and readonly_investigator lack the read_all capability. Once any assignment exists in the organization, they see only the agents assigned to them.

Endpoint Roles

The table lists the roles that can call each endpoint.

EndpointRoles
POST /api/auth/sign-up/emailPublic
POST /api/auth/sign-in/emailPublic
GET /api/auth/get-sessionPublic; returns null without a session
GET /v1/auth/meAny authenticated user
POST /v1/auth/refreshAny user presenting a session token
POST /v1/auth/tokenAny user presenting a session token
POST /v1/auth/rotateAny user presenting the current API token
GET /v1/onboarding/statusAny authenticated user
POST /v1/onboarding/personalAny authenticated user
POST /v1/onboarding/organizationAny authenticated user
POST /v1/agents/registerorg_owner, security_admin, integration_engineer
GET /v1/agentsorg_owner, security_admin, compliance_auditor, integration_engineer, readonly_investigator
GET /v1/agents/:agent_idorg_owner, security_admin, compliance_auditor, integration_engineer, readonly_investigator
PATCH /v1/agents/:agent_idorg_owner, security_admin, integration_engineer
DELETE /v1/agents/:agent_idorg_owner, security_admin
POST /v1/agents/:agent_id/freezeorg_owner, security_admin
POST /v1/agents/:agent_id/unfreezeorg_owner, security_admin
POST /v1/agents/:agent_id/revokeorg_owner, security_admin
GET /v1/agents/:agent_id/assignmentsorg_owner, security_admin
POST /v1/agents/:agent_id/assignmentsorg_owner, security_admin
DELETE /v1/agents/:agent_id/assignments/:user_idorg_owner, security_admin
POST /v1/operationsorg_owner, security_admin, integration_engineer
GET /v1/operations/:operation_idorg_owner, security_admin, compliance_auditor, integration_engineer, readonly_investigator
POST /v1/operations/:operation_id/verifyorg_owner, security_admin, compliance_auditor, integration_engineer, readonly_investigator
POST /v1/audit/queryorg_owner, security_admin, compliance_auditor
GET /v1/admin/eventsorg_owner, security_admin, compliance_auditor
GET /v1/epochsorg_owner, security_admin, compliance_auditor, integration_engineer, readonly_investigator
GET /v1/epochs/:epoch_idorg_owner, security_admin, compliance_auditor, integration_engineer, readonly_investigator
POST /v1/exportsorg_owner, security_admin, compliance_auditor
GET /v1/exportsorg_owner, security_admin, compliance_auditor
GET /v1/exports/:export_idorg_owner, security_admin, compliance_auditor
GET /v1/exports/:export_id/downloadorg_owner, security_admin, compliance_auditor
GET /v1/membersorg_owner, security_admin, compliance_auditor, integration_engineer, readonly_investigator
GET /v1/members/invitationsorg_owner, security_admin
GET /v1/members/:user_id/agentsThe user themselves, org_owner, or security_admin
GET /v1/webhooksorg_owner, security_admin
POST /v1/webhooksorg_owner, security_admin
DELETE /v1/webhooks/:webhook_idorg_owner, security_admin
GET /.well-known/elydora/jwks.jsonPublic
GET /v1/healthPublic
GET /v1/health/deepPublic