Supabase Role Provider
API Contract
REST
/api/v1/role-providers
5 endpoints
GET
/api/v1/role-providers/api/v1/role-providers
List raw role records from the Supabase roles table
Public
Response Example
{
"data": [
{
"record_id": "rpr_11a2b3c4",
"user_id": "usr_8f3a1b2c",
"role": "coordinator",
"source": "supabase_table",
"jwt_claim": null,
"fetched_at": "2026-03-26T10:00:00Z"
},
{
"record_id": "rpr_22d3e4f5",
"user_id": "usr_9d4e2c3f",
"role": "admin",
"source": "jwt_claim",
"jwt_claim": "app_metadata.role",
"fetched_at": "2026-03-26T10:01:00Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 56
}
}
GET
/api/v1/role-providers/api/v1/role-providers/:recordId
Get a single role record from Supabase by record ID
Public
Response Example
{
"record_id": "rpr_11a2b3c4",
"user_id": "usr_8f3a1b2c",
"role": "coordinator",
"source": "supabase_table",
"jwt_claim": null,
"fetched_at": "2026-03-26T10:00:00Z"
}
POST
/api/v1/role-providers/api/v1/role-providers
Insert a role record into the Supabase roles table
Public
Request Example
{
"user_id": "usr_5c6d7e8f",
"role": "mentor",
"source": "supabase_table"
}
Response Example
{
"record_id": "rpr_33f4a5b6",
"user_id": "usr_5c6d7e8f",
"role": "mentor",
"source": "supabase_table",
"jwt_claim": null,
"fetched_at": "2026-03-26T10:20:00Z"
}
PUT
/api/v1/role-providers/api/v1/role-providers/:recordId
Update a role record in the Supabase roles table
Public
Request Example
{
"role": "coordinator",
"source": "supabase_table"
}
Response Example
{
"record_id": "rpr_33f4a5b6",
"user_id": "usr_5c6d7e8f",
"role": "coordinator",
"source": "supabase_table",
"jwt_claim": null,
"fetched_at": "2026-03-26T10:25:00Z"
}
DELETE
/api/v1/role-providers/api/v1/role-providers/:recordId
Delete a role record from the Supabase roles table
Public
Response Example
{
"deleted": true,
"record_id": "rpr_33f4a5b6"
}