Show examples in:
Javascript HTTP
Endpoint info
Available examples
Content Management API > Role

List all roles

Lists every role defined on the project, including the built-in factory roles (e.g. Admin, Editor) and any custom ones.

Each entry includes both the directly-declared attributes and the inheritance-aware meta.final_permissions (see the Retrieve a role endpoint for the difference).

Returns

Returns an array of resource objects of type role

Examples

import { buildClient } from "@datocms/cma-client-node";
async function run() {
const client = buildClient({ apiToken: process.env.DATOCMS_API_TOKEN });
const roles = await client.roles.list();
for (const role of roles) {
// Check the 'Returned output' tab for the result ☝️
console.log(role);
}
}
run();
{
id: "34",
name: "Editor",
can_edit_site: true,
can_edit_favicon: true,
can_edit_schema: true,
can_manage_menu: true,
can_manage_users: true,
can_manage_shared_filters: true,
can_manage_search_indexes: true,
can_manage_upload_collections: true,
can_manage_environments: true,
can_manage_webhooks: true,
environments_access: "primary_only",
can_manage_sso: true,
can_access_audit_log: true,
can_manage_workflows: true,
can_edit_environment: true,
can_promote_environments: true,
can_manage_build_triggers: true,
can_manage_access_tokens: true,
can_perform_site_search: true,
can_access_build_events_log: true,
can_access_search_index_events_log: true,
positive_item_type_permissions: [
{
action: "all",
environment: "main",
on_creator: "anyone",
localization_scope: "all",
},
{ action: "read", environment: "main", on_creator: "anyone" },
{ action: "create", environment: "main", localization_scope: "all" },
{
action: "update",
environment: "main",
on_creator: "anyone",
localization_scope: "all",
},
{ action: "duplicate", environment: "main" },
{ action: "delete", environment: "main", on_creator: "anyone" },
{ action: "move_to_stage", environment: "main", on_creator: "anyone" },
],
negative_item_type_permissions: [
{
action: "all",
environment: "main",
on_creator: "anyone",
localization_scope: "all",
},
{ action: "read", environment: "main", on_creator: "anyone" },
{ action: "create", environment: "main", localization_scope: "all" },
{
action: "update",
environment: "main",
on_creator: "anyone",
localization_scope: "all",
},
{ action: "duplicate", environment: "main" },
{ action: "delete", environment: "main", on_creator: "anyone" },
{ action: "move_to_stage", environment: "main", on_creator: "anyone" },
],
positive_upload_permissions: [
{
action: "all",
environment: "main",
on_creator: "anyone",
localization_scope: "all",
},
{
action: "update",
environment: "main",
on_creator: "anyone",
localization_scope: "all",
},
{ action: "create", environment: "main" },
{ action: "read", environment: "main", on_creator: "anyone" },
{ action: "move", environment: "main", on_creator: "anyone" },
],
negative_upload_permissions: [
{
action: "all",
environment: "main",
on_creator: "anyone",
localization_scope: "all",
},
{
action: "update",
environment: "main",
on_creator: "anyone",
localization_scope: "all",
},
{ action: "create", environment: "main" },
{ action: "read", environment: "main", on_creator: "anyone" },
{ action: "move", environment: "main", on_creator: "anyone" },
],
positive_build_trigger_permissions: [{}],
negative_build_trigger_permissions: [{}],
positive_search_index_permissions: [{}],
negative_search_index_permissions: [{}],
meta: {
final_permissions: {
can_edit_site: true,
can_edit_favicon: true,
can_edit_schema: true,
can_manage_menu: true,
can_manage_users: true,
can_manage_environments: true,
can_manage_webhooks: true,
environments_access: "primary_only",
can_manage_sso: true,
can_access_audit_log: true,
can_manage_workflows: true,
can_edit_environment: true,
can_promote_environments: true,
can_manage_shared_filters: true,
can_manage_search_indexes: true,
can_manage_build_triggers: true,
can_manage_upload_collections: true,
can_manage_access_tokens: true,
can_perform_site_search: true,
can_access_build_events_log: true,
can_access_search_index_events_log: true,
positive_item_type_permissions: [
{
action: "all",
environment: "main",
on_creator: "anyone",
localization_scope: "all",
},
{ action: "read", environment: "main", on_creator: "anyone" },
{ action: "create", environment: "main", localization_scope: "all" },
{
action: "update",
environment: "main",
on_creator: "anyone",
localization_scope: "all",
},
{ action: "duplicate", environment: "main" },
{ action: "delete", environment: "main", on_creator: "anyone" },
{ action: "move_to_stage", environment: "main", on_creator: "anyone" },
],
negative_item_type_permissions: [
{
action: "all",
environment: "main",
on_creator: "anyone",
localization_scope: "all",
},
{ action: "read", environment: "main", on_creator: "anyone" },
{ action: "create", environment: "main", localization_scope: "all" },
{
action: "update",
environment: "main",
on_creator: "anyone",
localization_scope: "all",
},
{ action: "duplicate", environment: "main" },
{ action: "delete", environment: "main", on_creator: "anyone" },
{ action: "move_to_stage", environment: "main", on_creator: "anyone" },
],
positive_upload_permissions: [
{
action: "all",
environment: "main",
on_creator: "anyone",
localization_scope: "all",
},
{
action: "update",
environment: "main",
on_creator: "anyone",
localization_scope: "all",
},
{ action: "create", environment: "main" },
{ action: "read", environment: "main", on_creator: "anyone" },
{ action: "move", environment: "main", on_creator: "anyone" },
],
negative_upload_permissions: [
{
action: "all",
environment: "main",
on_creator: "anyone",
localization_scope: "all",
},
{
action: "update",
environment: "main",
on_creator: "anyone",
localization_scope: "all",
},
{ action: "create", environment: "main" },
{ action: "read", environment: "main", on_creator: "anyone" },
{ action: "move", environment: "main", on_creator: "anyone" },
],
positive_build_trigger_permissions: [{}],
negative_build_trigger_permissions: [{}],
positive_search_index_permissions: [{}],
negative_search_index_permissions: [{}],
},
},
inherits_permissions_from: [{ type: "role", id: "34" }],
}