ForgeRock Access Requests API

Request and approve access to resources

Documentation

Specifications

Other Resources

OpenAPI Specification

forgerock-access-requests-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: ForgeRock Access Management Access Requests 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: Access Requests
  description: Request and approve access to resources
paths:
  /governance/request:
    get:
      operationId: listAccessRequests
      summary: ForgeRock List access requests
      description: Query access requests. Users can request access to applications, entitlements, or roles, and managers can request revocation.
      tags:
      - Access Requests
      parameters:
      - $ref: '#/components/parameters/QueryFilter'
      - $ref: '#/components/parameters/PageSize'
      - $ref: '#/components/parameters/PagedResultsOffset'
      - $ref: '#/components/parameters/SortKeys'
      responses:
        '200':
          description: List of access requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessRequestList'
    post:
      operationId: createAccessRequest
      summary: ForgeRock Create an access request
      description: Submit a new access request for a user to gain access to a resource (application, entitlement, or role).
      tags:
      - Access Requests
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccessRequest'
      responses:
        '201':
          description: Access request created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessRequest'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /governance/request/{requestId}:
    get:
      operationId: getAccessRequest
      summary: ForgeRock Get an access request
      description: Retrieve details of a specific access request.
      tags:
      - Access Requests
      parameters:
      - name: requestId
        in: path
        required: true
        description: The access request identifier
        schema:
          type: string
      responses:
        '200':
          description: Access request details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessRequest'
        '404':
          description: Request not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      operationId: accessRequestAction
      summary: ForgeRock Perform an access request action
      description: Approve, deny, or cancel an access request via the _action query parameter.
      tags:
      - Access Requests
      parameters:
      - name: requestId
        in: path
        required: true
        description: The access request identifier
        schema:
          type: string
      - name: _action
        in: query
        required: true
        description: The action to perform
        schema:
          type: string
          enum:
          - approve
          - deny
          - cancel
      requestBody:
        description: Action details
        content:
          application/json:
            schema:
              type: object
              properties:
                comment:
                  type: string
                  description: Approval or denial comment
      responses:
        '200':
          description: Action completed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessRequest'
components:
  schemas:
    AccessRequestList:
      type: object
      properties:
        result:
          type: array
          items:
            $ref: '#/components/schemas/AccessRequest'
        resultCount:
          type: integer
        totalPagedResults:
          type: integer
    AccessRequest:
      type: object
      description: An access request
      properties:
        _id:
          type: string
          readOnly: true
        requestType:
          type: string
          description: Type of request
          enum:
          - grant
          - revoke
        userId:
          type: string
          description: User requesting or being requested for
        resourceType:
          type: string
          description: Type of resource requested
          enum:
          - application
          - entitlement
          - role
        resourceId:
          type: string
          description: Identifier of the requested resource
        justification:
          type: string
          description: Business justification
        status:
          type: string
          description: Request status
          enum:
          - pending
          - approved
          - denied
          - cancelled
          - fulfilled
          - failed
        approver:
          type: string
        createdDate:
          type: string
          format: date-time
          readOnly: true
    ErrorResponse:
      type: object
      properties:
        code:
          type: integer
        reason:
          type: string
        message:
          type: string
  parameters:
    QueryFilter:
      name: _queryFilter
      in: query
      description: CREST query filter expression
      schema:
        type: string
    SortKeys:
      name: _sortKeys
      in: query
      description: Sort fields
      schema:
        type: string
    PageSize:
      name: _pageSize
      in: query
      description: Number of results per page
      schema:
        type: integer
        minimum: 1
    PagedResultsOffset:
      name: _pagedResultsOffset
      in: query
      description: Pagination offset
      schema:
        type: integer
        minimum: 0
  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