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