Operation
Delete Role
DELETE
/roles/{id}Remove a role from your organisation.
Deleting a role removes it from all users who have it. They'll lose any
permissions that were only granted through this role.
Make sure to reassign users to other roles first, or they might lose access
to things they need.
When to use this
- Cleaning up roles you no longer need
- Consolidating multiple similar roles into one
- Removing a role that was created by mistake
Path parameters
idstringRequired- Role ID
Headers
Idempotency-KeystringOptional- Makes the write safe to retry. The first request with a key does the work and its response is stored for 24 hours; a repeat with the same key and the same request (method, path, query, X-Ticketlayer-Channel, TL-Version and body) gets that stored status and body back, marked `Idempotent-Replay: true`, without running again. The key is scoped to your organisation and your credential. The same key with a different request is 422 IDEMPOTENCY_KEY_REUSED; a repeat while the first is still running waits for it, then answers 409 IDEMPOTENT_REQUEST_IN_PROGRESS if it has not finished. Only a 2xx is stored: after an error the key is free again. Omit the header and the request behaves as it always has.
Returns
Role deleted successfully
Errors
- 400
- Bad Request - Invalid input
- 401
- Unauthorized - Authentication required
- 403
- Forbidden - Insufficient permissions
- 404
- Not Found - Resource not found
- 500
- Internal Server Error
Every error names its code and links to it. All error codes
Notes
Important
Users with this role will lose its permissions immediately. Reassign them first if needed.
Note
System roles (like "Owner" or "Admin") can't be deleted.
Related
import { BackstageClient } from '@ticketlayer/backstage';const client = new BackstageClient({ organisationSlug: 'your-org',});client.setAccessToken('YOUR_ACCESS_TOKEN');// Delete roleawait client.role.delete('{{ROLE_ID}}');console.log('Role deleted successfully');Response 200
{
"success": true,
"id": "rol_abc123"
}