Assign and list group AI agent assignments
Wellesley Platform API (1.0)
Admin Domain Blocks
Administrative APIs for managing domain blocks. Provides endpoints to block specific domains with different severity levels (SUSPEND, LIMIT, NOOP), update existing blocks, unblock domains, and list currently blocked domains. Domain blocks prevent or limit federation with specified domains.
Request
Removes specified posts from all reports that reference them. If a report no longer has any posts after removal, it is automatically closed/resolved. This is typically used after deleting reported content. Returns the count of reports that were auto-closed. The current user is recorded as having taken action on auto-closed reports.
RBAC: requires Reports.Manage
UUID with type prefix
- Mock serverhttps://docs.wellesley.social/_mock/openapi/api/v1/admin/reports/delete-posts
- Simple setup, all in one. Digital Oceanhttps://dust.allroads.social/api/v1/admin/reports/delete-posts
- Simple setup, db is separate. Digital Oceanhttps://meteor.allroads.social/api/v1/admin/reports/delete-posts
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://docs.wellesley.social/_mock/openapi/api/v1/admin/reports/delete-posts \
-H 'Content-Type: application/json' \
-d '[
"us_01hxcvk1hjexere4pvtrj0ymqq"
]'No contentRequest
Retrieves a paginated list of moderation reports. Can filter by reported user, reported post, group context, or resolution status. Supports pagination for large result sets. Reports include details about the reporter, target content, assigned moderator, and any notes.
RBAC: requires Reports.Manage
Get older records (records with IDs less than this value) Alias maxId/max_id
Filter by resolution status. true = open reports only, false = resolved reports only, omit = all reports
Filter by reported post ID. Returns reports containing this specific post.
Get newer records (records with IDs greater than this value) Alias minId/min_id
- Mock serverhttps://docs.wellesley.social/_mock/openapi/api/v1/admin/reports/list
- Simple setup, all in one. Digital Oceanhttps://dust.allroads.social/api/v1/admin/reports/list
- Simple setup, db is separate. Digital Oceanhttps://meteor.allroads.social/api/v1/admin/reports/list
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.wellesley.social/_mock/openapi/api/v1/admin/reports/list?lastId=%3FlastId%3D%24{data.last%28%29.id}&limit=0&offset=0&open=true&postId=us_01hxcvk1hjexere4pvtrj0ymqq&sortBy=string&sortOrder=string&untilId=%3FuntilId%3D%24{data.first%28%29.id}&userId=us_01hxcvk1hjexere4pvtrj0ymqq'Paginated list of reports
User who reported the content
Posts that were reported
Report scope. If empty the scope is global. If set the scope is group and group admins can take actions
Moderator assigned to handle the report
Moderator who took action on the report
{ "list": [ { … } ], "total": 0, "offset": 0 }
- Mock serverhttps://docs.wellesley.social/_mock/openapi/api/v1/admin/reports/{reportId}
- Simple setup, all in one. Digital Oceanhttps://dust.allroads.social/api/v1/admin/reports/{reportId}
- Simple setup, db is separate. Digital Oceanhttps://meteor.allroads.social/api/v1/admin/reports/{reportId}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
https://docs.wellesley.social/_mock/openapi/api/v1/admin/reports/us_01hxcvk1hjexere4pvtrj0ymqqReport details successfully retrieved
Posts that were reported
Report scope. If empty the scope is global. If set the scope is group and group admins can take actions
Moderator assigned to handle the report
Moderator who took action on the report
{ "id": "rp_01hz1f0kw36f82k9s4nzpc4s92n", "uri": "http://example.com", "comment": "string", "fromUserId": "us_01hxcvk1hjexere4pvtrj0ymqq", "targetPostIds": [ "pt_01hz1f0jkdw3h27a2kdr8sn2kt" ], "targetUserId": "us_01hxcvk1hjexere4pvtrj0ymqq", "groupId": "us_01hxcvk1hjexere4pvtrj0ymqq", "createdAt": "2022-03-10T16:15:50Z", "updatedAt": "2022-03-10T16:15:50Z", "assignedUser": "us_01hz1fkfg82hf89s2nzqwer02r", "actionTakenAt": "2022-03-10T16:15:50Z", "actionTakenBy": "us_01hz1fkfg82hf89s2nzqwer02r", "forwarded": true, "notes": [ { … } ], "fromUser": { "groupUserName": "string", "id": "us_01hxcvk1hjexere4pvtrj0ymqq", "username": "john_smith", "domain": "wlsly1.net", "displayName": "John Smith", "uri": "https://wlsly1.net/users/john_smith", "avatar": { … }, "createdAt": "2022-03-10T16:15:50Z", "deleted": true, "state": "REGULAR", "relationship": { … }, "channel": true, "groupId": "us_01hxcvk1hjexere4pvtrj0ymqq", "groupPrivacy": "PUBLIC", "groupMain": true, "groupDefault": true, "actorType": "Application" }, "targetUser": { "groupUserName": "string", "id": "us_01hxcvk1hjexere4pvtrj0ymqq", "username": "john_smith", "domain": "wlsly1.net", "displayName": "John Smith", "uri": "https://wlsly1.net/users/john_smith", "avatar": { … }, "createdAt": "2022-03-10T16:15:50Z", "deleted": true, "state": "REGULAR", "relationship": { … }, "channel": true, "groupId": "us_01hxcvk1hjexere4pvtrj0ymqq", "groupPrivacy": "PUBLIC", "groupMain": true, "groupDefault": true, "actorType": "Application" }, "posts": [ { … } ] }
Request
Adds an internal moderation note to the report. Notes are used to document investigation findings, actions taken, or communication between moderators. Each note is timestamped and attributed to the adding moderator. Notes are visible only to moderators and not to the reporter or reported user.
RBAC: requires Reports.Manage
- Mock serverhttps://docs.wellesley.social/_mock/openapi/api/v1/admin/reports/{reportId}/add-note
- Simple setup, all in one. Digital Oceanhttps://dust.allroads.social/api/v1/admin/reports/{reportId}/add-note
- Simple setup, db is separate. Digital Oceanhttps://meteor.allroads.social/api/v1/admin/reports/{reportId}/add-note
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://docs.wellesley.social/_mock/openapi/api/v1/admin/reports/us_01hxcvk1hjexere4pvtrj0ymqq/add-note \
-H 'Content-Type: text/plain' \
-d stringNote successfully added to report
Posts that were reported
Report scope. If empty the scope is global. If set the scope is group and group admins can take actions
Moderator assigned to handle the report
Moderator who took action on the report
{ "id": "rp_01hz1f0kw36f82k9s4nzpc4s92n", "uri": "http://example.com", "comment": "string", "fromUserId": "us_01hxcvk1hjexere4pvtrj0ymqq", "targetPostIds": [ "pt_01hz1f0jkdw3h27a2kdr8sn2kt" ], "targetUserId": "us_01hxcvk1hjexere4pvtrj0ymqq", "groupId": "us_01hxcvk1hjexere4pvtrj0ymqq", "createdAt": "2022-03-10T16:15:50Z", "updatedAt": "2022-03-10T16:15:50Z", "assignedUser": "us_01hz1fkfg82hf89s2nzqwer02r", "actionTakenAt": "2022-03-10T16:15:50Z", "actionTakenBy": "us_01hz1fkfg82hf89s2nzqwer02r", "forwarded": true, "notes": [ { … } ], "fromUser": { "groupUserName": "string", "id": "us_01hxcvk1hjexere4pvtrj0ymqq", "username": "john_smith", "domain": "wlsly1.net", "displayName": "John Smith", "uri": "https://wlsly1.net/users/john_smith", "avatar": { … }, "createdAt": "2022-03-10T16:15:50Z", "deleted": true, "state": "REGULAR", "relationship": { … }, "channel": true, "groupId": "us_01hxcvk1hjexere4pvtrj0ymqq", "groupPrivacy": "PUBLIC", "groupMain": true, "groupDefault": true, "actorType": "Application" }, "targetUser": { "groupUserName": "string", "id": "us_01hxcvk1hjexere4pvtrj0ymqq", "username": "john_smith", "domain": "wlsly1.net", "displayName": "John Smith", "uri": "https://wlsly1.net/users/john_smith", "avatar": { … }, "createdAt": "2022-03-10T16:15:50Z", "deleted": true, "state": "REGULAR", "relationship": { … }, "channel": true, "groupId": "us_01hxcvk1hjexere4pvtrj0ymqq", "groupPrivacy": "PUBLIC", "groupMain": true, "groupDefault": true, "actorType": "Application" }, "posts": [ { … } ] }
- Mock serverhttps://docs.wellesley.social/_mock/openapi/api/v1/admin/reports/{reportId}/assign-to-self
- Simple setup, all in one. Digital Oceanhttps://dust.allroads.social/api/v1/admin/reports/{reportId}/assign-to-self
- Simple setup, db is separate. Digital Oceanhttps://meteor.allroads.social/api/v1/admin/reports/{reportId}/assign-to-self
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://docs.wellesley.social/_mock/openapi/api/v1/admin/reports/us_01hxcvk1hjexere4pvtrj0ymqq/assign-to-selfReport successfully assigned to current user
Posts that were reported
Report scope. If empty the scope is global. If set the scope is group and group admins can take actions
Moderator assigned to handle the report
Moderator who took action on the report
{ "id": "rp_01hz1f0kw36f82k9s4nzpc4s92n", "uri": "http://example.com", "comment": "string", "fromUserId": "us_01hxcvk1hjexere4pvtrj0ymqq", "targetPostIds": [ "pt_01hz1f0jkdw3h27a2kdr8sn2kt" ], "targetUserId": "us_01hxcvk1hjexere4pvtrj0ymqq", "groupId": "us_01hxcvk1hjexere4pvtrj0ymqq", "createdAt": "2022-03-10T16:15:50Z", "updatedAt": "2022-03-10T16:15:50Z", "assignedUser": "us_01hz1fkfg82hf89s2nzqwer02r", "actionTakenAt": "2022-03-10T16:15:50Z", "actionTakenBy": "us_01hz1fkfg82hf89s2nzqwer02r", "forwarded": true, "notes": [ { … } ], "fromUser": { "groupUserName": "string", "id": "us_01hxcvk1hjexere4pvtrj0ymqq", "username": "john_smith", "domain": "wlsly1.net", "displayName": "John Smith", "uri": "https://wlsly1.net/users/john_smith", "avatar": { … }, "createdAt": "2022-03-10T16:15:50Z", "deleted": true, "state": "REGULAR", "relationship": { … }, "channel": true, "groupId": "us_01hxcvk1hjexere4pvtrj0ymqq", "groupPrivacy": "PUBLIC", "groupMain": true, "groupDefault": true, "actorType": "Application" }, "targetUser": { "groupUserName": "string", "id": "us_01hxcvk1hjexere4pvtrj0ymqq", "username": "john_smith", "domain": "wlsly1.net", "displayName": "John Smith", "uri": "https://wlsly1.net/users/john_smith", "avatar": { … }, "createdAt": "2022-03-10T16:15:50Z", "deleted": true, "state": "REGULAR", "relationship": { … }, "channel": true, "groupId": "us_01hxcvk1hjexere4pvtrj0ymqq", "groupPrivacy": "PUBLIC", "groupMain": true, "groupDefault": true, "actorType": "Application" }, "posts": [ { … } ] }
- Mock serverhttps://docs.wellesley.social/_mock/openapi/api/v1/admin/reports/{reportId}/delete
- Simple setup, all in one. Digital Oceanhttps://dust.allroads.social/api/v1/admin/reports/{reportId}/delete
- Simple setup, db is separate. Digital Oceanhttps://meteor.allroads.social/api/v1/admin/reports/{reportId}/delete
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X DELETE \
https://docs.wellesley.social/_mock/openapi/api/v1/admin/reports/us_01hxcvk1hjexere4pvtrj0ymqq/delete- Mock serverhttps://docs.wellesley.social/_mock/openapi/api/v1/admin/reports/{reportId}/remove-note
- Simple setup, all in one. Digital Oceanhttps://dust.allroads.social/api/v1/admin/reports/{reportId}/remove-note
- Simple setup, db is separate. Digital Oceanhttps://meteor.allroads.social/api/v1/admin/reports/{reportId}/remove-note
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
'https://docs.wellesley.social/_mock/openapi/api/v1/admin/reports/us_01hxcvk1hjexere4pvtrj0ymqq/remove-note?index=0'Note successfully removed from report
Posts that were reported
Report scope. If empty the scope is global. If set the scope is group and group admins can take actions
Moderator assigned to handle the report
Moderator who took action on the report
{ "id": "rp_01hz1f0kw36f82k9s4nzpc4s92n", "uri": "http://example.com", "comment": "string", "fromUserId": "us_01hxcvk1hjexere4pvtrj0ymqq", "targetPostIds": [ "pt_01hz1f0jkdw3h27a2kdr8sn2kt" ], "targetUserId": "us_01hxcvk1hjexere4pvtrj0ymqq", "groupId": "us_01hxcvk1hjexere4pvtrj0ymqq", "createdAt": "2022-03-10T16:15:50Z", "updatedAt": "2022-03-10T16:15:50Z", "assignedUser": "us_01hz1fkfg82hf89s2nzqwer02r", "actionTakenAt": "2022-03-10T16:15:50Z", "actionTakenBy": "us_01hz1fkfg82hf89s2nzqwer02r", "forwarded": true, "notes": [ { … } ], "fromUser": { "groupUserName": "string", "id": "us_01hxcvk1hjexere4pvtrj0ymqq", "username": "john_smith", "domain": "wlsly1.net", "displayName": "John Smith", "uri": "https://wlsly1.net/users/john_smith", "avatar": { … }, "createdAt": "2022-03-10T16:15:50Z", "deleted": true, "state": "REGULAR", "relationship": { … }, "channel": true, "groupId": "us_01hxcvk1hjexere4pvtrj0ymqq", "groupPrivacy": "PUBLIC", "groupMain": true, "groupDefault": true, "actorType": "Application" }, "targetUser": { "groupUserName": "string", "id": "us_01hxcvk1hjexere4pvtrj0ymqq", "username": "john_smith", "domain": "wlsly1.net", "displayName": "John Smith", "uri": "https://wlsly1.net/users/john_smith", "avatar": { … }, "createdAt": "2022-03-10T16:15:50Z", "deleted": true, "state": "REGULAR", "relationship": { … }, "channel": true, "groupId": "us_01hxcvk1hjexere4pvtrj0ymqq", "groupPrivacy": "PUBLIC", "groupMain": true, "groupDefault": true, "actorType": "Application" }, "posts": [ { … } ] }
- Mock serverhttps://docs.wellesley.social/_mock/openapi/api/v1/admin/reports/{reportId}/reopen
- Simple setup, all in one. Digital Oceanhttps://dust.allroads.social/api/v1/admin/reports/{reportId}/reopen
- Simple setup, db is separate. Digital Oceanhttps://meteor.allroads.social/api/v1/admin/reports/{reportId}/reopen
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://docs.wellesley.social/_mock/openapi/api/v1/admin/reports/us_01hxcvk1hjexere4pvtrj0ymqq/reopenReport successfully reopened
Posts that were reported
Report scope. If empty the scope is global. If set the scope is group and group admins can take actions
Moderator assigned to handle the report
Moderator who took action on the report
{ "id": "rp_01hz1f0kw36f82k9s4nzpc4s92n", "uri": "http://example.com", "comment": "string", "fromUserId": "us_01hxcvk1hjexere4pvtrj0ymqq", "targetPostIds": [ "pt_01hz1f0jkdw3h27a2kdr8sn2kt" ], "targetUserId": "us_01hxcvk1hjexere4pvtrj0ymqq", "groupId": "us_01hxcvk1hjexere4pvtrj0ymqq", "createdAt": "2022-03-10T16:15:50Z", "updatedAt": "2022-03-10T16:15:50Z", "assignedUser": "us_01hz1fkfg82hf89s2nzqwer02r", "actionTakenAt": "2022-03-10T16:15:50Z", "actionTakenBy": "us_01hz1fkfg82hf89s2nzqwer02r", "forwarded": true, "notes": [ { … } ], "fromUser": { "groupUserName": "string", "id": "us_01hxcvk1hjexere4pvtrj0ymqq", "username": "john_smith", "domain": "wlsly1.net", "displayName": "John Smith", "uri": "https://wlsly1.net/users/john_smith", "avatar": { … }, "createdAt": "2022-03-10T16:15:50Z", "deleted": true, "state": "REGULAR", "relationship": { … }, "channel": true, "groupId": "us_01hxcvk1hjexere4pvtrj0ymqq", "groupPrivacy": "PUBLIC", "groupMain": true, "groupDefault": true, "actorType": "Application" }, "targetUser": { "groupUserName": "string", "id": "us_01hxcvk1hjexere4pvtrj0ymqq", "username": "john_smith", "domain": "wlsly1.net", "displayName": "John Smith", "uri": "https://wlsly1.net/users/john_smith", "avatar": { … }, "createdAt": "2022-03-10T16:15:50Z", "deleted": true, "state": "REGULAR", "relationship": { … }, "channel": true, "groupId": "us_01hxcvk1hjexere4pvtrj0ymqq", "groupPrivacy": "PUBLIC", "groupMain": true, "groupDefault": true, "actorType": "Application" }, "posts": [ { … } ] }
- Mock serverhttps://docs.wellesley.social/_mock/openapi/api/v1/admin/reports/{reportId}/resolve
- Simple setup, all in one. Digital Oceanhttps://dust.allroads.social/api/v1/admin/reports/{reportId}/resolve
- Simple setup, db is separate. Digital Oceanhttps://meteor.allroads.social/api/v1/admin/reports/{reportId}/resolve
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://docs.wellesley.social/_mock/openapi/api/v1/admin/reports/us_01hxcvk1hjexere4pvtrj0ymqq/resolveReport successfully resolved
Posts that were reported
Report scope. If empty the scope is global. If set the scope is group and group admins can take actions
Moderator assigned to handle the report
Moderator who took action on the report
{ "id": "rp_01hz1f0kw36f82k9s4nzpc4s92n", "uri": "http://example.com", "comment": "string", "fromUserId": "us_01hxcvk1hjexere4pvtrj0ymqq", "targetPostIds": [ "pt_01hz1f0jkdw3h27a2kdr8sn2kt" ], "targetUserId": "us_01hxcvk1hjexere4pvtrj0ymqq", "groupId": "us_01hxcvk1hjexere4pvtrj0ymqq", "createdAt": "2022-03-10T16:15:50Z", "updatedAt": "2022-03-10T16:15:50Z", "assignedUser": "us_01hz1fkfg82hf89s2nzqwer02r", "actionTakenAt": "2022-03-10T16:15:50Z", "actionTakenBy": "us_01hz1fkfg82hf89s2nzqwer02r", "forwarded": true, "notes": [ { … } ], "fromUser": { "groupUserName": "string", "id": "us_01hxcvk1hjexere4pvtrj0ymqq", "username": "john_smith", "domain": "wlsly1.net", "displayName": "John Smith", "uri": "https://wlsly1.net/users/john_smith", "avatar": { … }, "createdAt": "2022-03-10T16:15:50Z", "deleted": true, "state": "REGULAR", "relationship": { … }, "channel": true, "groupId": "us_01hxcvk1hjexere4pvtrj0ymqq", "groupPrivacy": "PUBLIC", "groupMain": true, "groupDefault": true, "actorType": "Application" }, "targetUser": { "groupUserName": "string", "id": "us_01hxcvk1hjexere4pvtrj0ymqq", "username": "john_smith", "domain": "wlsly1.net", "displayName": "John Smith", "uri": "https://wlsly1.net/users/john_smith", "avatar": { … }, "createdAt": "2022-03-10T16:15:50Z", "deleted": true, "state": "REGULAR", "relationship": { … }, "channel": true, "groupId": "us_01hxcvk1hjexere4pvtrj0ymqq", "groupPrivacy": "PUBLIC", "groupMain": true, "groupDefault": true, "actorType": "Application" }, "posts": [ { … } ] }
- Mock serverhttps://docs.wellesley.social/_mock/openapi/api/v1/admin/reports/{reportId}/unassign
- Simple setup, all in one. Digital Oceanhttps://dust.allroads.social/api/v1/admin/reports/{reportId}/unassign
- Simple setup, db is separate. Digital Oceanhttps://meteor.allroads.social/api/v1/admin/reports/{reportId}/unassign
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://docs.wellesley.social/_mock/openapi/api/v1/admin/reports/us_01hxcvk1hjexere4pvtrj0ymqq/unassignReport successfully unassigned
Posts that were reported
Report scope. If empty the scope is global. If set the scope is group and group admins can take actions
Moderator assigned to handle the report
Moderator who took action on the report
{ "id": "rp_01hz1f0kw36f82k9s4nzpc4s92n", "uri": "http://example.com", "comment": "string", "fromUserId": "us_01hxcvk1hjexere4pvtrj0ymqq", "targetPostIds": [ "pt_01hz1f0jkdw3h27a2kdr8sn2kt" ], "targetUserId": "us_01hxcvk1hjexere4pvtrj0ymqq", "groupId": "us_01hxcvk1hjexere4pvtrj0ymqq", "createdAt": "2022-03-10T16:15:50Z", "updatedAt": "2022-03-10T16:15:50Z", "assignedUser": "us_01hz1fkfg82hf89s2nzqwer02r", "actionTakenAt": "2022-03-10T16:15:50Z", "actionTakenBy": "us_01hz1fkfg82hf89s2nzqwer02r", "forwarded": true, "notes": [ { … } ], "fromUser": { "groupUserName": "string", "id": "us_01hxcvk1hjexere4pvtrj0ymqq", "username": "john_smith", "domain": "wlsly1.net", "displayName": "John Smith", "uri": "https://wlsly1.net/users/john_smith", "avatar": { … }, "createdAt": "2022-03-10T16:15:50Z", "deleted": true, "state": "REGULAR", "relationship": { … }, "channel": true, "groupId": "us_01hxcvk1hjexere4pvtrj0ymqq", "groupPrivacy": "PUBLIC", "groupMain": true, "groupDefault": true, "actorType": "Application" }, "targetUser": { "groupUserName": "string", "id": "us_01hxcvk1hjexere4pvtrj0ymqq", "username": "john_smith", "domain": "wlsly1.net", "displayName": "John Smith", "uri": "https://wlsly1.net/users/john_smith", "avatar": { … }, "createdAt": "2022-03-10T16:15:50Z", "deleted": true, "state": "REGULAR", "relationship": { … }, "channel": true, "groupId": "us_01hxcvk1hjexere4pvtrj0ymqq", "groupPrivacy": "PUBLIC", "groupMain": true, "groupDefault": true, "actorType": "Application" }, "posts": [ { … } ] }
Group Channels
API endpoints for managing channels within groups. Channels are specialized accounts that enable organized content distribution within groups. They support hierarchical organization with main and default channels, privacy controls inherited from parent groups, and both scoped (group-specific) and global usernames for discovery. Group administrators manage channels while members can follow them.
Group Members
API endpoints for managing group membership. Provides functionality to add, update, and remove members from groups, as well as retrieve membership information. Supports both local and federated groups through ActivityPub protocol. Access control is enforced based on group privacy settings and user permissions.
Group Questions
API endpoints for managing group entry questions. Groups can require prospective members to answer questions before joining. Questions support multiple types (text, single choice, multiple choice) and are used to screen members when the group's join mode is set to QUESTIONS. Answers are validated and generate a token that can be used during the join process.
Group Rules
API endpoints for managing community rules within groups. Rules define the expected conduct and content policies that members must follow. Each rule consists of text (the rule itself), a hint (explanation or context), and an ordering value for display sequence. Rules are scoped to specific groups and can be managed by users with appropriate permissions.
Platform Data
Endpoints for managing platform-wide and group-specific data storage. Unlike application data, this provides direct data management not tied to specific applications. Supports flexible ownership models including platform-level, group-level, and user-level data with appropriate access controls.
RBAC
Endpoints for retrieving Role-Based Access Control (RBAC) configurations and managing roles, resources, permissions and role-to-user assignments. Scoped Role Definition (RBACRole):
- Represents roles within the RBAC system.
- Each role has a unique
roleId, aname, an optionaldescription, and ascope. - The
scopedefines the domain or area in which the role is valid. - The
scopecan be Global (hardcoded), currently the only one is "System" - The
scopealso can be dynamic, currently we use Group Ids, like "gr_05hxcvk1hjexere4pvtrj0hggt" - Roles come with assigned permissions (
RBACPermissions) that define what actions the role can perform on system resources. - Metadata such as
createdAtandupdatedAttimestamps track the role's lifecycle events.
Permissions** (RBACPermissions):
- Encapsulates resource-specific access controls.
- Each permission object specifies the
resource(e.g., "user", "document") and an associated list of allowedRBACAccesstypes. RBACAccessenumerates the supported actions:Read,Add,Modify,Delete.
Role Assignments to Actors (RBACActorRole):
- Maps actors (e.g., users, services) to specific roles.
- Tracks the association through
actorId(representing the unique entity being assigned) androleId(specific role ID). - Includes timestamps to record when the assignment was created or updated.