No-Access Config Repository
API Contract
REST
/api/v1/no-access-config
5 endpoints
GET
/api/v1/no-access-config/api/v1/no-access-config/blocked-roles
List all role identifiers that are configured as blocked
Public
Response Example
{
"data": [
{
"role_id": "STUDENT"
},
{
"role_id": "GUARDIAN"
},
{
"role_id": "PEER_MENTOR"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 3
}
}
GET
/api/v1/no-access-config/api/v1/no-access-config/admin-portal-url/:org_id
Retrieve the admin portal URL for a specific organization
Public
Response Example
{
"org_id": "org-4821",
"admin_portal_url": "https://admin.example.no/orgs/org-4821",
"cached": true,
"cache_expires_at": "2026-03-26T11:00:00Z"
}
DELETE
/api/v1/no-access-config/api/v1/no-access-config/cache
Invalidate the config cache (blocked roles + portal URLs)
Public
Response Example
{
"cleared": true,
"cleared_at": "2026-03-26T10:15:33Z"
}
GET
/api/v1/no-access-config/api/v1/no-access-config
Get the full no-access configuration snapshot
Public
Response Example
{
"data": [
{
"config_key": "blocked_roles",
"config_value": [
"STUDENT",
"GUARDIAN",
"PEER_MENTOR"
],
"updated_at": "2026-03-20T09:00:00Z"
},
{
"config_key": "admin_portal_base_url",
"config_value": "https://admin.example.no/orgs",
"updated_at": "2026-03-20T09:00:00Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 2
}
}
PUT
/api/v1/no-access-config/api/v1/no-access-config/:config_key
Update a specific configuration entry (e.g. blocked_roles, admin_portal_base_url)
Public
Request Example
{
"config_value": [
"STUDENT",
"GUARDIAN",
"PEER_MENTOR",
"OBSERVER"
]
}
Response Example
{
"config_key": "blocked_roles",
"config_value": [
"STUDENT",
"GUARDIAN",
"PEER_MENTOR",
"OBSERVER"
],
"updated_at": "2026-03-26T10:20:00Z"
}