ForgeRock Managed Roles API

CRUD operations on managed role objects

Documentation

Specifications

Other Resources

OpenAPI Specification

forgerock-managed-roles-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: ForgeRock Access Management Access Requests Managed Roles API
  description: REST API for ForgeRock Access Management (AM) providing authentication, authorization, session management, and policy evaluation. Supports OAuth 2.0 and OpenID Connect flows, authentication trees/journeys, policy-based authorization decisions, and realm management.
  version: 7.3.0
  contact:
    name: ForgeRock
    url: https://www.forgerock.com
  license:
    name: Proprietary
    url: https://www.forgerock.com/terms
  x-provider: forgerock
  x-api: access-management
servers:
- url: https://{deployment}/am
  description: ForgeRock Access Management server
  variables:
    deployment:
      default: am.example.com
      description: The AM deployment hostname
security:
- ssoToken: []
- bearerAuth: []
tags:
- name: Managed Roles
  description: CRUD operations on managed role objects
paths:
  /openidm/managed/{realm}_role:
    get:
      operationId: listManagedRoles
      summary: ForgeRock List managed roles
      description: Query managed role objects in the specified realm. Supports filtering, sorting, and pagination.
      tags:
      - Managed Roles
      parameters:
      - $ref: '#/components/parameters/RealmName'
      - $ref: '#/components/parameters/QueryFilter'
      - $ref: '#/components/parameters/PageSize'
      - $ref: '#/components/parameters/PagedResultsOffset'
      - $ref: '#/components/parameters/Fields'
      responses:
        '200':
          description: List of managed roles
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagedRoleList'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      operationId: createManagedRole
      summary: ForgeRock Create a managed role
      description: Create a new managed role object in the specified realm.
      tags:
      - Managed Roles
      parameters:
      - $ref: '#/components/parameters/RealmName'
      requestBody:
        required: true
        description: The managed role object to create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ManagedRole'
      responses:
        '201':
          description: Managed role created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagedRole'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /openidm/managed/{realm}_role/{roleId}:
    get:
      operationId: getManagedRole
      summary: ForgeRock Get a managed role
      description: Retrieve a specific managed role object by its identifier.
      tags:
      - Managed Roles
      parameters:
      - $ref: '#/components/parameters/RealmName'
      - name: roleId
        in: path
        required: true
        description: The unique identifier of the managed role
        schema:
          type: string
      responses:
        '200':
          description: The managed role object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ManagedRole'
        '404':
          description: Role not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    ManagedRoleList:
      type: object
      description: Paginated list of managed roles
      properties:
        result:
          type: array
          items:
            $ref: '#/components/schemas/ManagedRole'
        resultCount:
          type: integer
        pagedResultsCookie:
          type: string
        totalPagedResults:
          type: integer
    ManagedRole:
      type: object
      description: A managed role object
      properties:
        _id:
          type: string
          description: Unique identifier
          readOnly: true
        _rev:
          type: string
          description: Object revision
          readOnly: true
        name:
          type: string
          description: Role name
        description:
          type: string
          description: Role description
        condition:
          type: string
          description: Conditional role membership filter expression
        temporalConstraints:
          type: array
          description: Time-based constraints for role activation
          items:
            type: object
            properties:
              duration:
                type: string
                description: ISO 8601 time interval
    ErrorResponse:
      type: object
      description: Standard error response
      properties:
        code:
          type: integer
          description: HTTP status code
        reason:
          type: string
          description: HTTP status reason phrase
        message:
          type: string
          description: Detailed error message
  parameters:
    RealmName:
      name: realm
      in: path
      required: true
      description: The realm name prefix for managed objects (e.g., alpha, bravo)
      schema:
        type: string
        default: alpha
    QueryFilter:
      name: _queryFilter
      in: query
      description: CREST query filter expression (e.g., userName eq "jdoe" or true for all)
      schema:
        type: string
    PagedResultsOffset:
      name: _pagedResultsOffset
      in: query
      description: Offset for paginated results
      schema:
        type: integer
        minimum: 0
    PageSize:
      name: _pageSize
      in: query
      description: Number of results to return per page
      schema:
        type: integer
        minimum: 1
    Fields:
      name: _fields
      in: query
      description: Comma-separated list of fields to include in the response
      schema:
        type: string
  securitySchemes:
    ssoToken:
      type: apiKey
      in: header
      name: iPlanetDirectoryPro
      description: AM SSO token obtained from authentication
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: OAuth 2.0 access token