# Retrieve a role

Returns a single role by id. The response includes both the directly-declared `attributes.*` and the inheritance-aware `meta.final_permissions` — see the [Role resource overview](https://www.datocms.com/docs/content-management-api/resources/role.md#effective-vs-declared-permissions) for the difference between the two.

## Returns

Returns a resource object of type [role](https://www.datocms.com/docs/content-management-api/resources/role.md)

## Examples

Example Basic example

###### Code

```javascript
import { buildClient } from "@datocms/cma-client-node";

async function run() {
  const client = buildClient({ apiToken: process.env.DATOCMS_API_TOKEN });

  const roleId = "34";

  const role = await client.roles.find(roleId);

  // Check the 'Returned output' tab for the result ☝️
  console.log(role);
}

run();
```

###### Returned output

```javascript
{
  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" }],
}
```

## Related content in "Content Management API"

- [Content Management API Overview](https://www.datocms.com/docs/content-management-api.md)

- [Using the JavaScript CMA client](https://www.datocms.com/docs/content-management-api/using-the-nodejs-clients.md)
- [API versioning](https://www.datocms.com/docs/content-management-api/api-versioning.md)

- [Authentication](https://www.datocms.com/docs/content-management-api/authentication.md)
- [Environments](https://www.datocms.com/docs/content-management-api/setting-the-environment.md)

- [Error codes & handling failures (CMA)](https://www.datocms.com/docs/content-management-api/errors.md)
- [Pagination](https://www.datocms.com/docs/content-management-api/pagination.md)

- [Asynchronous jobs](https://www.datocms.com/docs/content-management-api/async-jobs.md)
- [Technical Limits (CMA)](https://www.datocms.com/docs/content-management-api/technical-limits.md)

- [Record](https://www.datocms.com/docs/content-management-api/resources/item.md)
- [Scheduled publication](https://www.datocms.com/docs/content-management-api/resources/scheduled-publication.md)

- [Scheduled unpublishing](https://www.datocms.com/docs/content-management-api/resources/scheduled-unpublishing.md)
- [Upload](https://www.datocms.com/docs/content-management-api/resources/upload.md)

- [Site](https://www.datocms.com/docs/content-management-api/resources/site.md)
- [Model/Block model](https://www.datocms.com/docs/content-management-api/resources/item-type.md)

- [Field](https://www.datocms.com/docs/content-management-api/resources/field.md)
- [Fieldset](https://www.datocms.com/docs/content-management-api/resources/fieldset.md)

- [Record version](https://www.datocms.com/docs/content-management-api/resources/item-version.md)
- [Upload permission](https://www.datocms.com/docs/content-management-api/resources/upload-request.md)

- [Upload track](https://www.datocms.com/docs/content-management-api/resources/upload-track.md)
- [Manual tags](https://www.datocms.com/docs/content-management-api/resources/upload-tag.md)

- [Smart tags](https://www.datocms.com/docs/content-management-api/resources/upload-smart-tag.md)
- [Upload Collection](https://www.datocms.com/docs/content-management-api/resources/upload-collection.md)

- [Search Index](https://www.datocms.com/docs/content-management-api/resources/search-index.md)
- [Search result](https://www.datocms.com/docs/content-management-api/resources/search-result.md)

- [Search indexing activity](https://www.datocms.com/docs/content-management-api/resources/search-index-event.md)
- [Environment](https://www.datocms.com/docs/content-management-api/resources/environment.md)

- [Maintenance mode](https://www.datocms.com/docs/content-management-api/resources/maintenance-mode.md)
- [Menu Item](https://www.datocms.com/docs/content-management-api/resources/menu-item.md)

- [Schema Menu Item](https://www.datocms.com/docs/content-management-api/resources/schema-menu-item.md)
- [Uploads filter](https://www.datocms.com/docs/content-management-api/resources/upload-filter.md)

- [Model filter](https://www.datocms.com/docs/content-management-api/resources/item-type-filter.md)
- [Plugin](https://www.datocms.com/docs/content-management-api/resources/plugin.md)

- [Workflow](https://www.datocms.com/docs/content-management-api/resources/workflow.md)
- [Asynchronous job](https://www.datocms.com/docs/content-management-api/resources/job.md)

- [Job result](https://www.datocms.com/docs/content-management-api/resources/job-result.md)
- [Account](https://www.datocms.com/docs/content-management-api/resources/account.md)

- [Organization](https://www.datocms.com/docs/content-management-api/resources/organization.md)
- [Invitation](https://www.datocms.com/docs/content-management-api/resources/site-invitation.md)

- [Collaborator](https://www.datocms.com/docs/content-management-api/resources/user.md)
- [Role](https://www.datocms.com/docs/content-management-api/resources/role.md)

- [Create a new role](https://www.datocms.com/docs/content-management-api/resources/role/create.md)
- [Update a role](https://www.datocms.com/docs/content-management-api/resources/role/update.md)

- [List all roles](https://www.datocms.com/docs/content-management-api/resources/role/instances.md)
- [Retrieve a role](https://www.datocms.com/docs/content-management-api/resources/role/self.md)

- [Delete a role](https://www.datocms.com/docs/content-management-api/resources/role/destroy.md)
- [Duplicate a role](https://www.datocms.com/docs/content-management-api/resources/role/duplicate.md)

- [API token](https://www.datocms.com/docs/content-management-api/resources/access-token.md)
- [Webhook](https://www.datocms.com/docs/content-management-api/resources/webhook.md)

- [Webhook call](https://www.datocms.com/docs/content-management-api/resources/webhook-call.md)
- [Build trigger](https://www.datocms.com/docs/content-management-api/resources/build-trigger.md)

- [Deploy activity](https://www.datocms.com/docs/content-management-api/resources/build-event.md)
- [Subscription limit](https://www.datocms.com/docs/content-management-api/resources/subscription-limit.md)

- [Subscription feature](https://www.datocms.com/docs/content-management-api/resources/subscription-feature.md)
- [SSO Settings](https://www.datocms.com/docs/content-management-api/resources/sso-settings.md)

- [SSO User](https://www.datocms.com/docs/content-management-api/resources/sso-user.md)
- [SSO Group](https://www.datocms.com/docs/content-management-api/resources/sso-group.md)

- [White-label settings](https://www.datocms.com/docs/content-management-api/resources/white-label-settings.md)
- [Audit log event](https://www.datocms.com/docs/content-management-api/resources/audit-log-event.md)