Operation
Get My Permissions
GET
/me/permissionsGet a flat list of everything the current user is allowed to do.
While roles are groups of permissions, this endpoint gives you the actual
permission strings (like `events.create` or `venues.read`) so you can check
exactly what actions are allowed.
Perfect for building permission-aware UIs where you need to show/hide buttons
or features based on what the user can actually do.
When to use this
- Showing or hiding UI elements based on permissions
- Checking if a user can perform a specific action before trying it
- Building admin panels that adapt to user access levels
Query parameters
resourcestringOptional- Filter by resource (e.g., events, accounts, orders)
actionstringOptional- Filter by action (e.g., create, read, update, delete)
Returns
Permissions retrieved 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
Note
Permissions follow the format `resource.action` (e.g., `events.create`, `venues.delete`). Some include a scope like `events.read:own`.
Tip
Cache these on the client after login-they don't change often and save you repeated API calls.
Related
import { BackstageClient } from '@ticketlayer/backstage';const client = new BackstageClient({ organisationSlug: 'your-org',});client.setAccessToken('YOUR_ACCESS_TOKEN');// Get mypermission detailsconst mypermission = await client.users.get('{{MYPERMISSIONS_ID}}');console.log(`MyPermissions: ${mypermission.name || mypermission.id}`);Response 200
{
"permissions": [
{
"permission": "events.create",
"accounts": [
"all"
],
"isAllAccounts": true
}
],
"isOrgAdmin": true,
"filters": {
"resource": "events",
"action": "create"
}
}