> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://contentful.com/developers/docs/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://contentful.com/_mcp/server. # Get all roles GET https://api.contentful.com/spaces/{space_id}/roles This endpoint returns a paginated list of roles for a given space. Each role contains a name, a description, permissions and policies, which describe what a user can and cannot do. Reference: https://contentful.com/developers/docs/references/content-management-api/roles/get-all-roles ## Authentication - `Authorization` header (bearer token, required) — Bearer authentication of the form `Bearer `, where token is your auth token. ## Request ### Path parameters - `space_id` (string, required) — ID of the Space in form of a string ## Response ### 200 OK - Request successful - `map from string to any` ## Examples **Response** ```json { "items": [], "limit": 100, "skip": 0, "sys": { "type": "Array" }, "total": 0 } ``` **SDK Code** ```android Android // Create the Contentful client. final CMAClient client = new CMAClient .Builder() .setAccessToken("") .setSpaceId("") .setEnvironmentId("") .build(); client .roles() .async() .fetchAll( "", new CMACallback>() { @Override protected void onSuccess(CMAArray result) { // The fetched role will be the parameter of this method. new AlertDialog.Builder(context) .setTitle("Contentful") .setMessage("Done listing all roles." + "\n\nResult: " + result.getItems()) .show(); } @Override protected void onFailure(RuntimeException exception) { // An error occurred! Inform the user. new AlertDialog.Builder(context) .setTitle("Contentful Error") .setMessage("Could not list all roles." + "\n\nReason: " + exception.toString()) .show(); super.onFailure(exception); } } ); ``` ```java Java // Create the Contentful client. final CMAClient client = new CMAClient .Builder() .setAccessToken("") .setSpaceId("") .setEnvironmentId("") .build(); final CMAArray roles = client .roles() .fetchAll(""); ``` ```kotlin Kotlin // Create the Contentful client. val client = CMAClient.Builder() .setAccessToken("") .setSpaceId("") .setEnvironmentId("") .build() val roles = client .roles() .fetchAll("") ``` ```swift Swift We currently don't provide a CMA SDK for this platform. ``` ```js-legacy JavaScript (legacy) import { createClient } from 'contentful-management' const client = createClient({ accessToken: '' }, { type: 'legacy' }) client.getSpace('') .then((space) => space.getRoles()) .then((response) => console.log(response.items)) .catch(console.error) ``` ```javascript JavaScript import { createClient } from 'contentful-management' const client = createClient({ accessToken: '' }, { type: 'legacy' }) const roles = await client.role.getMany({ spaceId: '', query: { limit: 100, } }); ``` ```php PHP $client = new \Contentful\Management\Client(''); $space = $client->getSpaceProxy(''); $roles = $space->getRoles(); ``` ```ruby Ruby require 'contentful/management' client = Contentful::Management::Client.new('') roles = client.roles('').all ``` ```python Python from contentful_management import Client client = Client('') roles = client.roles('').all() ``` ```.net .NET // This client should only be created once per application. var httpClient = new HttpClient(); var client = new ContentfulManagementClient(httpClient, "", ""); var allRoles = await client.GetAllRoles(); ```