ForgeRock Identity Governance API
REST API for identity governance operations including access reviews, certifications, role management, and policy enforcement. Provides endpoints for managing entitlements and compliance workflows.
REST API for identity governance operations including access reviews, certifications, role management, and policy enforcement. Provides endpoints for managing entitlements and compliance workflows.
openapi: 3.1.0
info:
title: ForgeRock Identity Governance API
description: >-
REST API for ForgeRock Identity Governance providing access reviews,
certifications, role management, entitlement management, access requests,
and compliance workflows. Enables organizations to review and certify
access assignments, manage entitlements from onboarded applications,
and enforce compliance policies.
version: 7.1.0
contact:
name: ForgeRock
url: https://www.forgerock.com
license:
name: Proprietary
url: https://www.forgerock.com/terms
x-provider: forgerock
x-api: identity-governance
servers:
- url: https://{deployment}/iga
description: ForgeRock Identity Governance server
variables:
deployment:
default: iga.example.com
description: The Identity Governance deployment hostname
security:
- bearerAuth: []
tags:
- name: Access Requests
description: Request and approve access to resources
- name: Access Reviews
description: Conduct and manage access review items
- name: Certifications
description: Manage access certification campaigns
- name: Entitlements
description: Manage entitlements from onboarded applications
- name: Roles
description: Manage identity governance roles
- name: Violations
description: Manage policy violations and segregation of duties
paths:
/governance/certification:
get:
operationId: listCertifications
summary: ForgeRock List certification campaigns
description: >-
Query certification campaigns. Certifications enable authorized users
to review and certify access assignments to ensure compliance.
tags:
- Certifications
parameters:
- $ref: '#/components/parameters/QueryFilter'
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PagedResultsOffset'
- $ref: '#/components/parameters/SortKeys'
responses:
'200':
description: List of certification campaigns
content:
application/json:
schema:
$ref: '#/components/schemas/CertificationList'
'403':
description: Insufficient privileges
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
post:
operationId: createCertification
summary: ForgeRock Create a certification campaign
description: >-
Create a new access certification campaign. Supports identity
certification, role definition certification, and role membership
certification types.
tags:
- Certifications
requestBody:
required: true
description: Certification campaign definition
content:
application/json:
schema:
$ref: '#/components/schemas/Certification'
responses:
'201':
description: Certification campaign created
content:
application/json:
schema:
$ref: '#/components/schemas/Certification'
'400':
description: Invalid certification configuration
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/governance/certification/{certificationId}:
get:
operationId: getCertification
summary: ForgeRock Get a certification campaign
description: Retrieve details of a specific certification campaign.
tags:
- Certifications
parameters:
- $ref: '#/components/parameters/CertificationId'
responses:
'200':
description: Certification campaign details
content:
application/json:
schema:
$ref: '#/components/schemas/Certification'
'404':
description: Certification not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
patch:
operationId: patchCertification
summary: ForgeRock Update a certification campaign
description: Partially update a certification campaign (e.g., close or cancel it).
tags:
- Certifications
parameters:
- $ref: '#/components/parameters/CertificationId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PatchOperations'
responses:
'200':
description: Certification updated
content:
application/json:
schema:
$ref: '#/components/schemas/Certification'
/governance/certification/{certificationId}/items:
get:
operationId: listCertificationItems
summary: ForgeRock List certification items
description: >-
List individual review items within a certification campaign. Each
item represents a user-entitlement assignment to be reviewed.
tags:
- Access Reviews
parameters:
- $ref: '#/components/parameters/CertificationId'
- $ref: '#/components/parameters/QueryFilter'
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PagedResultsOffset'
responses:
'200':
description: List of certification review items
content:
application/json:
schema:
$ref: '#/components/schemas/CertificationItemList'
/governance/certification/{certificationId}/items/{itemId}:
get:
operationId: getCertificationItem
summary: ForgeRock Get a certification item
description: Retrieve details of a specific certification review item.
tags:
- Access Reviews
parameters:
- $ref: '#/components/parameters/CertificationId'
- name: itemId
in: path
required: true
description: The certification item identifier
schema:
type: string
responses:
'200':
description: Certification item details
content:
application/json:
schema:
$ref: '#/components/schemas/CertificationItem'
'404':
description: Item not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
patch:
operationId: reviewCertificationItem
summary: ForgeRock Review a certification item
description: >-
Submit a review decision for a certification item. Decisions include
certify (approve), revoke, or exception.
tags:
- Access Reviews
parameters:
- $ref: '#/components/parameters/CertificationId'
- name: itemId
in: path
required: true
description: The certification item identifier
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
decision:
type: string
description: Review decision
enum:
- certify
- revoke
- exception
- abstain
comment:
type: string
description: Reviewer comment
exceptionDuration:
type: string
description: Duration for exception (ISO 8601 period)
responses:
'200':
description: Review submitted
content:
application/json:
schema:
$ref: '#/components/schemas/CertificationItem'
/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'
/governance/entitlement:
get:
operationId: listEntitlements
summary: ForgeRock List entitlements
description: >-
Query the entitlements catalog. Entitlements are aggregated from
onboarded target applications into a centralized repository.
tags:
- Entitlements
parameters:
- $ref: '#/components/parameters/QueryFilter'
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PagedResultsOffset'
- $ref: '#/components/parameters/SortKeys'
responses:
'200':
description: List of entitlements
content:
application/json:
schema:
$ref: '#/components/schemas/EntitlementList'
/governance/entitlement/{entitlementId}:
get:
operationId: getEntitlement
summary: ForgeRock Get an entitlement
description: Retrieve details of a specific entitlement.
tags:
- Entitlements
parameters:
- name: entitlementId
in: path
required: true
description: The entitlement identifier
schema:
type: string
responses:
'200':
description: Entitlement details
content:
application/json:
schema:
$ref: '#/components/schemas/Entitlement'
'404':
description: Entitlement not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/governance/role:
get:
operationId: listGovernanceRoles
summary: ForgeRock List governance roles
description: Query governance roles used in access policies and certifications.
tags:
- Roles
parameters:
- $ref: '#/components/parameters/QueryFilter'
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PagedResultsOffset'
responses:
'200':
description: List of governance roles
content:
application/json:
schema:
$ref: '#/components/schemas/GovernanceRoleList'
/governance/violation:
get:
operationId: listViolations
summary: ForgeRock List policy violations
description: >-
Query segregation of duties (SoD) and compliance policy violations.
tags:
- Violations
parameters:
- $ref: '#/components/parameters/QueryFilter'
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PagedResultsOffset'
responses:
'200':
description: List of violations
content:
application/json:
schema:
$ref: '#/components/schemas/ViolationList'
/governance/violation/{violationId}:
get:
operationId: getViolation
summary: ForgeRock Get a policy violation
description: Retrieve details of a specific policy violation.
tags:
- Violations
parameters:
- name: violationId
in: path
required: true
description: The violation identifier
schema:
type: string
responses:
'200':
description: Violation details
content:
application/json:
schema:
$ref: '#/components/schemas/Violation'
'404':
description: Violation not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
post:
operationId: violationAction
summary: ForgeRock Resolve a policy violation
description: >-
Perform an action on a violation such as remediate, allow (exception),
or escalate.
tags:
- Violations
parameters:
- name: violationId
in: path
required: true
description: The violation identifier
schema:
type: string
- name: _action
in: query
required: true
description: The action to perform
schema:
type: string
enum:
- remediate
- allow
- escalate
requestBody:
description: Action details
content:
application/json:
schema:
type: object
properties:
comment:
type: string
exceptionDuration:
type: string
responses:
'200':
description: Violation action completed
content:
application/json:
schema:
$ref: '#/components/schemas/Violation'
components:
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
description: OAuth 2.0 access token with governance scopes
parameters:
CertificationId:
name: certificationId
in: path
required: true
description: The certification campaign identifier
schema:
type: string
QueryFilter:
name: _queryFilter
in: query
description: CREST query filter expression
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
SortKeys:
name: _sortKeys
in: query
description: Sort fields
schema:
type: string
schemas:
Certification:
type: object
description: An access certification campaign
properties:
_id:
type: string
readOnly: true
name:
type: string
description: Campaign name
description:
type: string
description: Campaign description
type:
type: string
description: Certification type
enum:
- identity
- roleDefinition
- roleMembership
- entitlementOwner
status:
type: string
description: Campaign status
enum:
- draft
- active
- closed
- expired
- cancelled
stages:
type: array
description: Review stages with deadlines and reviewers
items:
type: object
properties:
name:
type: string
deadline:
type: string
format: date-time
reviewers:
type: array
items:
type: string
entitlementFilter:
type: object
description: Filter to select which entitlements to include
createdDate:
type: string
format: date-time
readOnly: true
closedDate:
type: string
format: date-time
readOnly: true
CertificationList:
type: object
properties:
result:
type: array
items:
$ref: '#/components/schemas/Certification'
resultCount:
type: integer
totalPagedResults:
type: integer
CertificationItem:
type: object
description: An individual item within a certification campaign
properties:
_id:
type: string
userId:
type: string
description: User being reviewed
userName:
type: string
entitlementName:
type: string
description: Entitlement under review
applicationName:
type: string
description: Application the entitlement belongs to
decision:
type: string
description: Current review decision
enum:
- certify
- revoke
- exception
- abstain
- pending
comment:
type: string
reviewer:
type: string
description: Assigned reviewer
reviewDate:
type: string
format: date-time
CertificationItemList:
type: object
properties:
result:
type: array
items:
$ref: '#/components/schemas/CertificationItem'
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
AccessRequestList:
type: object
properties:
result:
type: array
items:
$ref: '#/components/schemas/AccessRequest'
resultCount:
type: integer
totalPagedResults:
type: integer
Entitlement:
type: object
description: An entitlement from an onboarded application
properties:
_id:
type: string
name:
type: string
description: Entitlement name
description:
type: string
applicationName:
type: string
description: Source application
applicationId:
type: string
type:
type: string
description: Entitlement type (e.g., group, permission, role)
owner:
type: string
description: Entitlement owner
riskLevel:
type: string
enum:
- low
- medium
- high
- critical
EntitlementList:
type: object
properties:
result:
type: array
items:
$ref: '#/components/schemas/Entitlement'
resultCount:
type: integer
totalPagedResults:
type: integer
GovernanceRole:
type: object
description: A governance role
properties:
_id:
type: string
name:
type: string
description:
type: string
owner:
type: string
members:
type: array
items:
type: string
entitlements:
type: array
items:
type: string
GovernanceRoleList:
type: object
properties:
result:
type: array
items:
$ref: '#/components/schemas/GovernanceRole'
resultCount:
type: integer
Violation:
type: object
description: A segregation of duties or compliance policy violation
properties:
_id:
type: string
policyName:
type: string
description: Name of the violated policy
userId:
type: string
description: User in violation
userName:
type: string
conflictingEntitlements:
type: array
description: Entitlements that conflict
items:
type: string
status:
type: string
enum:
- active
- remediated
- exception
severity:
type: string
enum:
- low
- medium
- high
- critical
detectedDate:
type: string
format: date-time
ViolationList:
type: object
properties:
result:
type: array
items:
$ref: '#/components/schemas/Violation'
resultCount:
type: integer
totalPagedResults:
type: integer
PatchOperations:
type: array
items:
type: object
required:
- operation
- field
properties:
operation:
type: string
enum:
- add
- remove
- replace
field:
type: string
value: {}
ErrorResponse:
type: object
properties:
code:
type: integer
reason:
type: string
message:
type: string