Adobe Suite Attribute Based Access Control Roles API

Attribute based access control roles define the access that an administrator, a specialist, or an end-user has to resources in your organization. More information about using this set of endpoints can be found in the [roles endpoint guide](https://experienceleague.adobe.com/docs/experience-platform/access-control/abac/abac-api/roles.html).

Operations 8

GET /administration/roles List all existing roles #
POST /administration/roles Create a new role #
GET /administration/roles/{ROLE_ID} Retrieve a role #
PATCH /administration/roles/{ROLE_ID} Update role properties #
PUT /administration/roles/{ROLE_ID} Update a role by role ID #
DELETE /administration/roles/{ROLE_ID} Delete a role #
GET /administration/roles/{ROLE_ID}/subjects Retrieve subjects #
PATCH /administration/roles/{ROLE_ID}/subjects Update subjects by role Id #

Documentation

📖
Documentation
https://developer.adobe.com/photoshop/api/docs/
📖
Authentication
https://developer.adobe.com/developer-console/docs/guides/authentication/
📖
Documentation
https://developer.adobe.com/lightroom/api/docs/
📖
Documentation
https://developer.adobe.com/illustrator/api/docs/
📖
Documentation
https://developer.adobe.com/indesign/docs/
📖
Documentation
https://developer.adobe.com/document-services/docs/overview/pdf-services-api/
📖
Documentation
https://developer.adobe.com/document-services/docs/overview/pdf-extract-api/
📖
GettingStarted
https://developer.adobe.com/document-services/docs/overview/pdf-extract-api/gettingstarted/
📖
Documentation
https://developer.adobe.com/document-services/docs/overview/pdf-accessibility-auto-tag-api/
📖
Documentation
https://developer.adobe.com/analytics-apis/docs/
📖
APIReference
https://developer.adobe.com/analytics-apis/docs/2.0/
📖
Documentation
https://developer.adobe.com/firefly-services/docs/
📖
APIReference
https://developer.adobe.com/firefly-services/docs/api/
📖
Documentation
https://developer.adobe.com/audio-video-firefly-services/
📖
GettingStarted
https://developer.adobe.com/audio-video-firefly-services/getting-started/
📖
Documentation
https://developer.adobe.com/creative-cloud-libraries/docs/
📖
APIReference
https://developer.adobe.com/creative-cloud-libraries/docs/api/
📖
Documentation
https://developer.adobe.com/express/embed-sdk/docs/guides/
📖
APIReference
https://developer.adobe.com/express/embed-sdk/docs/v4/
📖
GettingStarted
https://developer.adobe.com/express/embed-sdk/docs/guides/quickstart/
📖
Documentation
https://developer.adobe.com/experience-platform-apis/
📖
GettingStarted
https://experienceleague.adobe.com/en/docs/experience-platform/landing/platform-apis/api-guide
📖
Documentation
https://developer.adobe.com/marketo-apis/
📖
Authentication
https://experienceleague.adobe.com/en/docs/marketo-developer/marketo/rest/authentication
📖
Documentation
https://developer.adobe.com/commerce/docs/
📖
GettingStarted
https://developer.adobe.com/commerce/webapi/get-started/
📖
Documentation
https://developer.adobe.com/experience-cloud/cloud-manager/
📖
Documentation
https://developer.adobe.com/journey-optimizer-apis/
📖
Documentation
https://developer.adobe.com/workfront-apis/
📖
Documentation
https://developer.adobe.com/firefly-services/docs/substance3d/
📖
Documentation
https://developer.adobe.com/data-collection-apis/
📖
Documentation
https://developer.adobe.com/adobe-status/
📖
Documentation
https://developer.adobe.com/vip-marketplace/

Specifications

Other Resources

🔗
Pricing
https://developer.adobe.com/document-services/pricing/
🔗
SDKs
https://developer.adobe.com/document-services/docs/overview/pdf-services-api/sdks/
🔗
ReleaseNotes
https://developer.adobe.com/document-services/docs/overview/pdf-services-api/releasenotes
🔗
Guides
https://developer.adobe.com/analytics-apis/docs/2.0/guides/
🔗
Guides
https://developer.adobe.com/firefly-services/docs/guides/
🔗
Usage Notes
https://developer.adobe.com/audio-video-firefly-services/getting_started/usage/
🔗
Overview
https://developer.adobe.com/creative-cloud-libraries/docs/overview/
🔗
Integration Guide
https://developer.adobe.com/creative-cloud-libraries/docs/integrate/
🔗
API Fundamentals
https://experienceleague.adobe.com/en/docs/experience-platform/landing/platform-apis/api-fundamentals
🔗
Developer Guide
https://experienceleague.adobe.com/en/docs/marketo-developer/marketo/home
🔗
REST API
https://experienceleague.adobe.com/en/docs/marketo-developer/marketo/rest/rest-api
🔗
REST API
https://developer.adobe.com/commerce/webapi/rest/
🔗
GraphQL API
https://developer.adobe.com/commerce/webapi/graphql-api/
🔗
REST API Reference
https://developer.adobe.com/commerce/webapi/reference/rest/paas/
🔗
GraphQL
https://raw.githubusercontent.com/api-evangelist/adobe-suite/refs/heads/main/graphql/adobe-suite-graphql.md
🔗
Webhooks
https://developer.adobe.com/experience-cloud/cloud-manager/guides/getting-started/create-event-integration/
🔗
StatusPage
https://status.adobe.com/

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/adobe-suite-attribute-based-access-control-roles-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

adobe-suite-attribute-based-access-control-roles-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Attribute Based Access Control Roles API
  description: "Access Control in Adobe Experience Platform allows organization administrators to assign roles and permissions for various Platform capabilities. The Access Control API provides a public endpoint to retrieve effective policies for a user on given resources within a specified sandbox. All other access control capabilities are provided through the [Adobe Admin Console](https://adminconsole.adobe.com).\n- Related documentation:\n    - [Access Control documentation](https://adobe.com/go/access-control-overview-en)\n\n- Visualize API calls with Postman (a free, third-party software):\n    - [Access Control API Postman collection on GitHub](https://github.com/adobe/experience-platform-postman-samples/blob/master/apis/experience-platform/Access%20Control%20API.postman_collection.json)\n    - [Video guide for creating the Postman environment](https://video.tv.adobe.com/v/28832)\n    - [Steps for importing environments and collections in Postman](https://learning.getpostman.com/docs/postman/collection_runs/using_environments_in_collection_runs/)\n\n- API paths:\n    - PLATFORM Gateway URL: https://<span>platform.adobe.io\n    - Base path for this API: /data/foundation/access-control\n    - Example of a complete path for making a call to \"/acl/effective-policies\": https://<span>platform.adobe.io/data/foundation/access-control/acl/effective-policies\n\n- Required headers:\n    - All service calls require the headers `Authorization`, `x-gw-ims-org-id`, and `x-api-key`. For more information on how to obtain these values, see the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en).\n    - All resources in Experience Platform are isolated to specific virtual sandboxes. All requests to Platform APIs require the header `x-sandbox-name` whose value is the all-lowercase name of the sandbox the operation will take place in (for example, \"prod\"). See the [sandboxes overview](https://adobe.com/go/sandbox-overview-en) for more information.\n    - All requests with a payload in the request body (such as POST, PUT, and PATCH calls) must include the header `Content-Type` with a value of `application/json`."
  version: '1.0'
servers:
- url: //{environment}.adobe.io/data/foundation/access-control
  variables:
    environment:
      default: platform
      enum:
      - platform
      - platform-stage
tags:
- name: Attribute Based Access Control Roles
  description: Attribute based access control roles define the access that an administrator, a specialist, or an end-user has to resources in your organization. More information about using this set of endpoints can be found in the [roles endpoint guide](https://experienceleague.adobe.com/docs/experience-platform/access-control/abac/abac-api/roles.html).
paths:
  /administration/roles:
    get:
      tags:
      - Attribute Based Access Control Roles
      summary: List all existing roles
      operationId: listExistingRoles
      parameters:
      - $ref: '#/components/parameters/authorization'
      - $ref: '#/components/parameters/content-type'
      - $ref: '#/components/parameters/x-api-key'
      - $ref: '#/components/parameters/x-gw-ims-org-id'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rolesResponse'
    post:
      tags:
      - Attribute Based Access Control Roles
      summary: Create a new role
      operationId: createRole
      parameters:
      - $ref: '#/components/parameters/authorization'
      - $ref: '#/components/parameters/x-api-key'
      - $ref: '#/components/parameters/x-gw-ims-org-id'
      requestBody:
        description: The request body for creating a role.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/createNewRoleRequestBody'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/roles'
  /administration/roles/{ROLE_ID}:
    get:
      tags:
      - Attribute Based Access Control Roles
      summary: Retrieve a role
      operationId: retrieveRole
      parameters:
      - $ref: '#/components/parameters/authorization'
      - $ref: '#/components/parameters/x-api-key'
      - $ref: '#/components/parameters/x-gw-ims-org-id'
      - name: ROLE_ID
        in: path
        description: The ID of the role you want to retrieve.
        required: true
        schema:
          type: string
          example: 3dfa045d-de58-4dfd-8ea9-e4e2c1b6d809
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/roles'
    patch:
      tags:
      - Attribute Based Access Control Roles
      summary: Update role properties
      operationId: updateRole
      parameters:
      - $ref: '#/components/parameters/authorization'
      - $ref: '#/components/parameters/x-api-key'
      - $ref: '#/components/parameters/x-gw-ims-org-id'
      - name: ROLE_ID
        in: path
        description: The ID of the role you want to update.
        required: true
        schema:
          type: string
          example: 3dfa045d-de58-4dfd-8ea9-e4e2c1b6d809
      requestBody:
        description: The request body for updating a role.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/rolePatchOperation'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/roles'
    put:
      tags:
      - Attribute Based Access Control Roles
      summary: Update a role by role ID
      operationId: updateRoleByRoleId
      parameters:
      - $ref: '#/components/parameters/authorization'
      - $ref: '#/components/parameters/x-api-key'
      - $ref: '#/components/parameters/x-gw-ims-org-id'
      - name: ROLE_ID
        in: path
        description: The ID of the role you want to update.
        required: true
        schema:
          type: string
          example: 3dfa045d-de58-4dfd-8ea9-e4e2c1b6d809
      requestBody:
        description: The request body for updating a role using the role ID.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/roleUpdateById'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/roles'
    delete:
      tags:
      - Attribute Based Access Control Roles
      summary: Delete a role
      operationId: deleteRole
      parameters:
      - $ref: '#/components/parameters/authorization'
      - $ref: '#/components/parameters/x-api-key'
      - $ref: '#/components/parameters/x-gw-ims-org-id'
      - name: ROLE_ID
        in: path
        description: The ID of the role you want to delete.
        required: true
        schema:
          type: string
          example: 3dfa045d-de58-4dfd-8ea9-e4e2c1b6d809
      responses:
        204:
          description: A successful response returns HTTP status 204 (No Content) and a blank body.
          content:
            application/json:
              schema:
                type: object
  /administration/roles/{ROLE_ID}/subjects:
    get:
      tags:
      - Attribute Based Access Control Roles
      summary: Retrieve subjects
      operationId: retrieveSubjects
      parameters:
      - $ref: '#/components/parameters/authorization'
      - $ref: '#/components/parameters/x-api-key'
      - $ref: '#/components/parameters/x-gw-ims-org-id'
      - name: ROLE_ID
        in: path
        description: The ID of the role you want to retrieve.
        required: true
        schema:
          type: string
          example: 3dfa045d-de58-4dfd-8ea9-e4e2c1b6d809
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/retrieveSubjects'
    patch:
      tags:
      - Attribute Based Access Control Roles
      summary: Update subjects by role Id
      operationId: updateSubjects
      parameters:
      - $ref: '#/components/parameters/authorization'
      - $ref: '#/components/parameters/x-api-key'
      - $ref: '#/components/parameters/x-gw-ims-org-id'
      - name: ROLE_ID
        in: path
        description: The ID of the role containing the subjects you want to update.
        required: true
        schema:
          type: string
          example: 3dfa045d-de58-4dfd-8ea9-e4e2c1b6d809
      requestBody:
        description: Update the subjects associated with a given a role ID.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/subjectPatchOperation'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/subjectsByRoleId'
components:
  schemas:
    rolesResponse:
      type: object
      properties:
        items:
          type: array
          description: A list of roles belonging to your organization.
          items:
            $ref: '#/components/schemas/roles'
        _page:
          type: object
          description: An object that shows what page the list is on.
          properties:
            orderBy:
              type: string
              example: -createdAt
              description: The field by which the results are ordered.
            start:
              type: integer
              example: 0
              description: The index of the first item in the response.
            count:
              type: integer
              example: 20
              description: The number of results returned per page.
            next:
              type: integer
              example: 28375
              description: The index of the first item in the next page of results.
            properties:
              type: array
              items:
                type: string
              description: The list of properties included in the response.
        _links:
          type: object
          description: Contains the URL for the currently displayed response page.
          properties:
            next:
              type: object
              properties:
                href:
                  type: string
                  example: /roles?limit={limit}&start={start}&orderBy={orderBy}&property={property}
                  description: The URL for the currently displayed response page.
                templated:
                  type: boolean
                  description: Indicates if the sibling `href` property is a template.
            page:
              type: object
              properties:
                href:
                  type: string
                  example: /roles?start=1725286843752&orderBy=-createdAt&limit=20
                  description: The URL for the currently displayed response page.
                templated:
                  type: boolean
                  description: Indicates if the sibling `href` property is a template.
            self:
              type: object
              properties:
                href:
                  type: string
                  example: /roles
                  description: The URL for the currently displayed response page.
                templated:
                  type: boolean
                  example: false
                  description: Indicates if the sibling `href` property is a template.
                type:
                  type: string
                  example: null
                  description: The type of the link.
                method:
                  type: string
                  example: null
                  description: The HTTP method used for the link.
    subjectPatchOperation:
      required:
      - op
      - path
      - value
      type: object
      properties:
        op:
          type: string
          description: The operation call used to define the action needed to update the role. Operations include add, replace, and remove.
          example: add
          enum:
          - add
          - replace
          - remove
        path:
          type: string
          description: The path of the parameter to be updated.
          example: /user
        value:
          type: string
          description: The new value you want to update your parameter with.
          example: example@AdobeID
      description: Patch operation.
    subjectsByRoleId:
      type: object
      properties:
        subjects:
          type: array
          description: A list of subjects associated with the queried role ID, including the corresponding subject ID and subject type.
          items:
            $ref: '#/components/schemas/subjectsForRole'
        _page:
          type: object
          description: An object that shows what page the list is on.
          properties:
            limit:
              type: integer
              example: 1
              description: Limit the response to a specific number of objects. This must be a positive number. For example, `limit=10`.
            count:
              type: integer
              example: 1
              description: The number of results returned per page.
        _links:
          type: object
          description: Contains the URL for the currently displayed response page.
          properties:
            self:
              type: object
              properties:
                href:
                  type: string
                  example: https://platform.adobe.io:443/data/foundation/access-control/administration/roles/{ROLE_ID}/subjects
                  description: The URL for the currently displayed response page.
                templated:
                  type: boolean
                  example: true
                  description: Indicates if the `href` property is a template.
            page:
              type: object
              properties:
                href:
                  type: string
                  example: https://platform.adobe.io:443/data/foundation/access-control/administration/roles/{ROLE_ID}/subjects?limit={limit}&start={start}&orderBy={orderBy}&property={property}
                  description: The URL for the currently displayed response page.
                templated:
                  type: boolean
                  example: true
                  description: Indicates if the `href` property is a template.
    rolePatchOperation:
      required:
      - op
      - path
      - value
      type: object
      properties:
        op:
          type: string
          description: The operation call used to define the action needed to update the role. Operations include add, replace, and remove.
          example: add
          enum:
          - add
          - replace
          - remove
        path:
          type: string
          description: The path of the parameter to be updated.
          example: /description
        value:
          type: string
          description: The new value you want to update your parameter with.
          example: Role for administrator type of responsibilities and access.
      description: Patch operation.
    subjects:
      type: object
      properties:
        roleId:
          type: string
          description: The ID of the role.
        subjectType:
          type: string
          description: The type of queried subject.
        subjectId:
          type: string
          description: The ID that corresponds with the queried subject.
      example:
      - roleId: 3dfa045d-de58-4dfd-8ea9-e4e2c1b6d809
        subjectType: user
        subjectId: 03Z07HFQCCUF3TUHAX274206@AdobeID
      - roleId: 3dfa045d-de58-4dfd-8ea9-e4e2c1b6d809
        subjectType: user
        subjectId: PIRJ7WE5T3QT9Z4TCLVH86DE@AdobeID
      - roleId: 3dfa045d-de58-4dfd-8ea9-e4e2c1b6d809
        subjectType: user
        subjectId: WHPWE00MC26SHZ7AKBFG403D@AdobeID
    createNewRoleRequestBody:
      type: object
      properties:
        name:
          type: string
          example: People who ordered in the last 30 days
          description: The name of your role.
        description:
          type: string
          example: Role for administrator type of responsibilities and access.
          description: A descriptive value that you can include to provide more information on your role.
        roleType:
          type: string
          example: user-defined
          enum:
          - user-defined
          - system-defined
          description: The designated type of the role. The possible values for role type are user-defined and system-defined.
    retrieveSubjects:
      type: object
      properties:
        items:
          type: array
          description: A list ofsubjects associated with the queried role ID, including the corresponding subject ID and subject type.
          items:
            $ref: '#/components/schemas/subjects'
        _page:
          type: object
          description: An object that shows what page the list is on.
          properties:
            limit:
              type: integer
              example: 1
              description: Limit the response to a specific number of objects. This must be a positive number. For example, `limit=10`.
            count:
              type: integer
              example: 3
              description: The number of results returned per page.
        _links:
          type: object
          description: Contains the URL for the currently displayed response page.
          properties:
            self:
              type: object
              properties:
                href:
                  type: string
                  example: https://platform.adobe.io:443/data/foundation/access-control/administration/roles/{ROLE_ID}/subjects
                  description: The URL for the currently displayed response page.
                templated:
                  type: boolean
                  example: true
                  description: Indicates if the `href` property is a template.
            page:
              type: object
              properties:
                href:
                  type: string
                  example: https://platform.adobe.io:443/data/foundation/access-control/administration/roles/{ROLE_ID}/subjects?limit={limit}&start={start}&orderBy={orderBy}&property={property}
                  description: The URL for the currently displayed response page.
                templated:
                  type: boolean
                  example: true
                  description: Indicates if the `href` property is a template.
    roleUpdateById:
      required:
      - name
      - description
      - roleType
      type: object
      properties:
        name:
          type: string
          description: The updated name of a role.
          example: Administrator Role
        description:
          type: string
          description: The updated description of a role.
          example: Role for administrator type of responsibilities and access.
        roleType:
          type: string
          description: The designated type of the role. The possible values for role type are user-defined and system-defined.
          example: user-defined
          enum:
          - user-defined
          - system-defined
      description: Put operation.
    roles:
      type: object
      properties:
        id:
          type: string
          example: 3dfa045d-de58-4dfd-8ea9-e4e2c1b6d809
          description: The ID of the role.
        recordType:
          type: string
          example: role
          description: The record type of the role.
        imsOrgID:
          type: string
          example: 5555467B5D8013E50A494220@AdobeOrg
          description: The organization where the queried role is accessible.
        createdAt:
          type: integer
          example: 1648153201825
          description: A timestamp to date the creation of the role.
        createdBy:
          type: string
          example: example@AdobeID
          description: The ID of the user that created the role.
        modifiedBy:
          type: string
          example: example@AdobeID
          description: The ID of the user that modified the role.
        modifiedAt:
          type: integer
          example: 1648153201825
          description: A timestamp to date the modification of the role.
        etag:
          type: string
          example: null
          description: A unique eTag is returned by the HTTP response.
        name:
          type: string
          example: Administrator Role
          description: The name of the role.
        description:
          type: string
          example: Role for administrator type of responsibilities and access.
          description: Additional information for the role.
        roleType:
          type: string
          example: user-defined
          description: The designated type of the role. The possible values for role type are user-defined and system-defined.
          enum:
          - user-defined
          - system-defined
        permissionSets:
          type: array
          items:
            type: string
          example:
          - view-sandboxes
          - view-schemas
          description: A group of permissions that can be applied to a role by an administrator.
        sandboxes:
          type: array
          items:
            type: string
          example:
          - prod
          description: The sandboxes within your organization that are provisioned for a particular role.
        subjectAttributes:
          type: object
          properties:
            labels:
              type: string
              example:
              - core/S1
              description: Displays the data usage labels applied to the queried role.
          description: The attributes that indicate the correlation between a subject and the Platform resources that they have access to.
    subjectsForRole:
      type: object
      properties:
        roleId:
          type: string
          description: The ID of the role.
        subjectType:
          type: string
          description: The type of queried subject.
        subjectId:
          type: string
          description: The ID that corresponds with the queried subject.
      example:
      - subjectId: 03Z07HFQCCUF3TUHAX274206@AdobeID
        subjectType: user
  parameters:
    authorization:
      name: Authorization
      in: header
      description: The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en). If a user token is being passed, then the user of the token must have an “org admin” role for the requested org.
      required: true
      schema:
        type: string
    content-type:
      name: Content-Type
      in: header
      description: The content type of the request body. For all requests, this value must be application/json.
      required: true
      schema:
        type: string
        enum:
        - application/json
    x-api-key:
      name: x-api-key
      in: header
      description: The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en).
      required: true
      schema:
        type: string
    x-gw-ims-org-id:
      name: x-gw-ims-org-id
      in: header
      description: The Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en).
      required: true
      schema:
        type: string
x-original-swagger-version: '2.0'