Skip to content

Roles API ​

Endpoints for managing company roles and permissions.

Authentication ​

All endpoints require JWT authentication.


List Roles ​

GET /api/roles

List all roles for the company.

Response ​

json
[
  {
    "id": "role_owner",
    "name": "Owner",
    "description": "Full access to all features",
    "isCustom": false,
    "isSystem": true,
    "permissions": ["*"]
  },
  {
    "id": "cuid",
    "name": "Content Creator",
    "description": "Can create and edit content",
    "isCustom": true,
    "isSystem": false,
    "permissions": ["content:create", "content:edit"]
  }
]

Create Role ​

POST /api/roles

Create a custom role.

Request Body ​

json
{
  "name": "Content Creator",
  "description": "Can create and edit content",
  "permissions": ["content:create", "content:edit", "analytics:view"]
}

Response ​

Returns created role with id.


Update Role ​

PUT /api/roles/:id

Update role name, description, or permissions.

Request Body ​

json
{
  "name": "Senior Creator",
  "permissions": ["content:create", "content:edit", "content:publish"]
}

Notes ​

  • System roles have limited editability
  • Owner role cannot be modified

Delete Role ​

DELETE /api/roles/:id

Delete a custom role.

Errors ​

  • 403 - Cannot delete system roles
  • 404 - Role not found

Available Permissions ​

PermissionDescription
content:createCreate posts, campaigns
content:editEdit any content
content:deleteDelete content
content:publishPublish to social
content:approveApprove pending content
analytics:viewView analytics
analytics:exportExport analytics data
team:manageInvite/remove members
team:rolesManage roles
settings:companyEdit company settings
settings:billingAccess billing
integrations:manageManage integrations

TendSocial Documentation