Skip to content

Delete Role

POST/web/v1/system/roles/delete JWT

Required Gateway Headers

All API requests require gateway headers. See Required Headers for the complete list. In local/test environments, you must also include Cloudflare simulation headers (CF-Connecting-IP, Cf-Ray, cf-ipcountry).

Deletes a custom workspace role. The role must have no members assigned.

Required Headers

HeaderExample ValueDescription
Content-Typeapplication/jsonRequest content type
Acceptapplication/jsonExpected response type
X-Client-HashClient device fingerprint
Accept-Languageen, zh, zh-Hant, ja, viResponse language (default: en)
AuthorizationBearerJWT access token
X-Workspace-IdTarget workspace ID

Request Parameters

NameTypeRequiredInDescription
workspaceIdStringRequiredpathBusiness ID of the workspace
roleIdStringRequiredpathBusiness ID of the role

Success Response

Status: 200 OK

200 OK 200
{
  "version": "2.0.0",
  "timestamp": 1709337600000,
  "success": true,
  "code": "2000",
  "message": "SUCCESS",
  "data": null
}

Error Responses

Unauthorized 401
{
  "success": false,
  "code": "4010",
  "message": "Invalid or expired token"
}
Conflict 409
{
  "success": false,
  "code": "WORKSPACE.OWNER_ROLE_PROTECTED",
  "message": "OWNER role cannot be deleted"
}
Conflict 409
{
  "success": false,
  "code": "WORKSPACE.ROLE_IN_USE",
  "message": "Cannot delete a role that still has members assigned"
}

Notes

  • Returns HTTP 200 OK with {"success":true, "data":null} on success.
  • OWNER roles cannot be deleted (409 WORKSPACE.OWNER_ROLE_PROTECTED).
  • Roles with active members cannot be deleted (409 WORKSPACE.ROLE_IN_USE). Reassign members first via Change Member Role.
  • Requires workspace:role:write permission.
  • When a role is soft-deleted, its name is internally suffixed with _deleted_{timestamp} for database audit purposes. This is transparent to clients — the role simply disappears from listings.

SlaunchX Internal Documentation