This reference covers Eden's explicit control-plane, shared data-plane, and
access helper APIs.
Eden now enforces control-plane authorization with explicit permission bits,
not the old hierarchical Read / Write / Admin / SuperAdmin runtime
tiers.
| Bit | Name | Purpose |
|---|---|---|
R | Read | View configuration and resource metadata |
C | Configure | Edit configuration and draft policies |
P | Promote | Activate or roll back versioned changes |
G | Grant | View and manage permission assignments |
D | Destroy | Perform irreversible destructive actions |
A | Audit | View audit-oriented records and history |
To grant permissions to another subject, the caller must already hold G
plus every bit they are trying to grant.
Get the authenticated caller's resolved control-plane and data-plane access
for one endpoint.
GET /api/v1/iam/access/endpoints/{endpoint}
Authorization: Bearer <token>curl http://{host}:8000/api/v1/iam/access/endpoints/production_db \
-H "Authorization: Bearer $TOKEN"{
"status": "success",
"data": {
"control_plane": {
"organization_perms": "RG",
"endpoint_perms": "RCPA"
},
"data_plane": {
"mode": "shared_rbac",
"shared_perms": "r",
"els_assignment": null
}
}
}List the explicit control-plane grants on an endpoint.
GET /api/v1/iam/control/endpoints/{endpoint}
Authorization: Bearer <token>This route requires G.
Set one subject's exact explicit non-empty control-plane bits on an endpoint.
Use DELETE to revoke the grant.
PUT /api/v1/iam/control/endpoints/{endpoint}/subjects/{subject}
Content-Type: application/json
Authorization: Bearer <token>{
"perms": "RCPA"
}This route requires G | granted_bits.
DELETE /api/v1/iam/control/endpoints/{endpoint}/subjects/{subject}
Authorization: Bearer <token>This route requires G | current_subject_bits.
DELETE /api/v1/iam/control/endpoints/{endpoint}
Authorization: Bearer <token>This route requires G | D.
GET /api/v1/iam/data/endpoints/{endpoint}
Authorization: Bearer <token>This route requires G.
Set one subject's exact non-empty shared runtime bits on an endpoint.
Use DELETE to revoke the grant.
PUT /api/v1/iam/data/endpoints/{endpoint}/subjects/{subject}
Content-Type: application/json
Authorization: Bearer <token>{
"perms": "rw"
}This route requires G.
GET /api/v1/iam/control/organizations
Authorization: Bearer <token>This route requires G.
Set one subject's exact non-empty organization control-plane bits.
Use DELETE to revoke the grant.
PUT /api/v1/iam/control/organizations/subjects/{subject}
Content-Type: application/json
Authorization: Bearer <token>{
"perms": "RG"
}This route requires G | granted_bits.
DELETE /api/v1/iam/control/organizations/subjects/{subject}
Authorization: Bearer <token>This route requires G | current_subject_bits.
DELETE /api/v1/iam/control/organizations
Authorization: Bearer <token>This route requires G | D.
GET /api/v1/iam/control/subjects/{subject}/endpoints
Authorization: Bearer <token>GET /api/v1/iam/control/subjects/{subject}/organizations
Authorization: Bearer <token>GET /api/v1/iam/control/subjects/{subject}/templates
Authorization: Bearer <token>GET /api/v1/iam/control/subjects/{subject}/workflows
Authorization: Bearer <token>These routes require G.
r/w/x access.these RBAC APIs.
Read or Admin, but the authoritative API model is the bitset above.