Security Access Reviews

The Security Access Reviews API allows admins to manage security access reviews. These reviews provide a holistic view of a principal's access to resources, such as apps, groups, and entitlements. Designated reviewers can assess the target principal's access to resources and take immediate action. Security access reviews are typically triggered as a response to a security or policy evaluation event. Therefore, they’re time-sensitive and require prompt attention from reviewers.

List all security access reviews
Early Access
OAuth 2.0 scopes:
  • okta.governance.securityAccessReviews.admin.read
Admin roles:
  • SUPER_ADMIN
Permissions:
  • okta.governance.securityAccessReviews.admin.read

Lists all security access reviews

Request
query Parameters
after
string

The pagination cursor that points to the last record of the previous request.

Example: after=00u68w6vzKLultXS97g6
filter
string

A filter expression that filters security access reviews. The eq and co operators are supported for string properties. The gt and lt operators are supported for date properties.

Note: Query parameter percent encoding is required. See Percent-encoding.

Examples:
Query param: ?filter=name co "Git"
filter=name%20co%20%22Git%22
Query param: ?filter=status eq "ACTIVE"
filter=status%20eq%20%22ACTIVE%22
Query param: ?filter=reviewer.name co "John"
filter=reviewer.name%20co%20%22John%22
Query param: ?filter=created gt "2022-05-24T14:15:22Z"
filter=created%20gt%20%222022-05-24T14:15:22Z%22
limit
integer [ 1 .. 200 ]
Default: 20

The maximum number of records returned in a response

orderBy
Array of strings = 1 items
Default: ["created asc"]

The field to sort the results, in ascending (asc) or descending (desc) order. Sorting is applied to only one field.

Note: Query parameter percent encoding is required. See Percent-encoding

Examples:
Query param: ?orderBy=name desc
orderBy=name%20desc
Query param: ?orderBy=created desc
orderBy=created%20desc
Query param: ?orderBy=endTime desc
orderBy=endTime%20desc
Query param: ?orderBy=status desc
orderBy=status%20desc
Query param: ?orderBy=id desc
orderBy=id%20desc
Responses
200

A successful security access reviews get response

401

When authentication fails

403

When authorization fails

404

When the requested resource wasn't found

429

When the rate limit has been exceeded

500

When there is a server fault due to an unexpected error

get/governance/api/v2/security-access-reviews
Request samples
Response samples
application/json
{}

Create a security access review
Early Access
OAuth 2.0 scopes:
  • okta.governance.securityAccessReviews.admin.manage
Admin roles:
  • SUPER_ADMIN
Permissions:
  • okta.governance.securityAccessReviews.admin.manage

Creates a security access review for a target principal (such as a user)

Request
Request Body schema: application/json
required
name
required
string [ 1 .. 255 ] characters

The name of the security access review

principalId
required
string = 20 characters

The Okta user ID in the security access review

required
object

The reviewer settings for a security access review. These include the type of reviewers and a list of reviewer IDs.

endTime
string <date-time>

The date and time when the security access review closes, defaulting to seven days after the creation of the security access review. It must be at least one day and less than six months after creation.

Responses
202

A successful security access reviews post response

401

When authentication fails

403

When authorization fails

404

When the requested resource wasn't found

429

When the rate limit has been exceeded

500

When there is a server fault due to an unexpected error

post/governance/api/v2/security-access-reviews
Request samples
application/json
{
  • "principalId": "00ucpjbi6JMmDvdN40g4",
  • "name": "Test SAR",
  • "reviewerSettings": {
    • "type": "USER",
    • "userSettings": {
      • "includedUserIds": [
        ]
      }
    }
}
Response samples
application/json
{}

Retrieve the statistics for security access reviews
Early Access
OAuth 2.0 scopes:
  • okta.governance.securityAccessReviews.admin.read
Admin roles:
  • SUPER_ADMIN
Permissions:
  • okta.governance.securityAccessReviews.admin.read

Retrieves the statistics for security access reviews in an org

Responses
200

A successful security access reviews stats get response

401

When authentication fails

403

When authorization fails

404

When the requested resource wasn't found

429

When the rate limit has been exceeded

500

When there is a server fault due to an unexpected error

get/governance/api/v2/security-access-reviews/stats
Request samples
Response samples
application/json
{
  • "activeCount": 1,
  • "pendingCount": 0,
  • "errorCount": 0,
  • "closedCount": 0
}

Retrieve a security access review
Early Access
OAuth 2.0 scopes:
  • okta.governance.securityAccessReviews.admin.read
Admin roles:
  • SUPER_ADMIN
Permissions:
  • okta.governance.securityAccessReviews.admin.read

Retrieves a security access review

Request
path Parameters
securityAccessReviewId
required
string

The ID of the security access review

Responses
200

A successful security access review get response

401

When authentication fails

403

When authorization fails

404

When the requested resource wasn't found

429

When the rate limit has been exceeded

500

When there is a server fault due to an unexpected error

get/governance/api/v2/security-access-reviews/{securityAccessReviewId}
Request samples
Response samples
application/json
{}

Generate a summary for a security access review
Early Access
OAuth 2.0 scopes:
  • okta.governance.securityAccessReviews.admin.manage
Admin roles:
  • SUPER_ADMIN
Permissions:
  • okta.governance.securityAccessReviews.admin.manage

Generates a summary for a security access review

Request
path Parameters
securityAccessReviewId
required
string

The ID of the security access review

Responses
200

A successful security access review summary response

401

When authentication fails

403

When authorization fails

404

When the requested resource wasn't found

429

When the rate limit has been exceeded

500

When there is a server fault due to an unexpected error

post/governance/api/v2/security-access-reviews/{securityAccessReviewId}/summary
Request samples
Response samples
application/json
{
  • "message": "This app's overall priority is: High\nThe reasons why this app was assigned priority of High include:\n1. Usage history (HIGH): The user has not accessed this application in the last 90 days.\n2. Assignment method (HIGH): This user's assignment method differs from 75% of other users who have access to this application.\n"
}

List the actions for a security access review
Early Access
OAuth 2.0 scopes:
  • okta.governance.securityAccessReviews.admin.read
Admin roles:
  • SUPER_ADMIN
Permissions:
  • okta.governance.securityAccessReviews.admin.read

Lists the available actions for a specific security access review

Request
path Parameters
securityAccessReviewId
required
string

The ID of the security access review

Responses
200

A successful security access review actions get response

401

When authentication fails

403

When authorization fails

404

When the requested resource wasn't found

429

When the rate limit has been exceeded

500

When there is a server fault due to an unexpected error

get/governance/api/v2/security-access-reviews/{securityAccessReviewId}/actions
Request samples
Response samples
application/json
{
  • "data": [
    • {
      • "actionType": "CLOSE_REVIEW"
      },
    • {
      • "actionType": "RESTORE_ALL_ACCESS"
      }
    ]
}

Execute an action on a security access review
Early Access
OAuth 2.0 scopes:
  • okta.governance.securityAccessReviews.admin.manage
Admin roles:
  • SUPER_ADMIN
Permissions:
  • okta.governance.securityAccessReviews.admin.manage

Executes a specified action on a security access review

Request
path Parameters
securityAccessReviewId
required
string

The ID of the security access review

Request Body schema: application/json
required
actionType
required
string

The type of action for the security access review

Enum: "CLOSE_REVIEW" "REACTIVATE_ACCOUNT" "RESET_MFA" "RESET_PASSWORD" "RESTORE_ALL_ACCESS" "REVOKE_OKTA_SESSIONS" "SUSPEND_ACCOUNT" "UNIVERSAL_LOGOUT"
Responses
202

Action initiated successfully

401

When authentication fails

403

When authorization fails

404

When the requested resource wasn't found

429

When the rate limit has been exceeded

500

When there is a server fault due to an unexpected error

post/governance/api/v2/security-access-reviews/{securityAccessReviewId}/actions
Request samples
application/json
{
  • "actionType": "UNIVERSAL_LOGOUT"
}
Response samples
application/json
{
  • "errorCode": "E0000004",
  • "errorSummary": "Authentication failed.",
  • "errorLink": "E0000004",
  • "errorId": "oaeWCGz73hpRCG75VHP6-RRXw",
  • "errorCauses": [ ]
}

Retrieve the principal for a security access review
Early Access
OAuth 2.0 scopes:
  • okta.governance.securityAccessReviews.admin.read
Admin roles:
  • SUPER_ADMIN
Permissions:
  • okta.governance.securityAccessReviews.admin.read

Retrieves the details of a security access review's principal target

Request
path Parameters
securityAccessReviewId
required
string

The ID of the security access review

Responses
200

A successful security access review principal details get response

401

When authentication fails

403

When authorization fails

404

When the requested resource wasn't found

429

When the rate limit has been exceeded

500

When there is a server fault due to an unexpected error

get/governance/api/v2/security-access-reviews/{securityAccessReviewId}/principal
Request samples
Response samples
application/json
{}

List the access items for a security access review
Early Access
OAuth 2.0 scopes:
  • okta.governance.securityAccessReviews.admin.read
Admin roles:
  • SUPER_ADMIN
Permissions:
  • okta.governance.securityAccessReviews.admin.read

Lists the access items for a specific security access review.

Access items refer to the top-level resources that the security access review's target principal has access to. For example, a top-level resource can be an app, hence the access item describes the principal's access to that app.

Request
path Parameters
securityAccessReviewId
required
string

The ID of the security access review

query Parameters
after
string

The pagination cursor that points to the last record of the previous request.

Example: after=00u68w6vzKLultXS97g6
filter
string

A filter expression that filters access items.

Note: Query parameter percent encoding is required. See Percent-encoding.

Examples:
Query param: ?filter=name co "Git"
filter=name%20co%20%22Git%22
Query param: ?filter=priority eq "HIGH"
filter=priority%20eq%20%22HIGH%22
Query param: ?filter=sodConflictSeverity eq "HIGH"
filter=sodConflictSeverity%20eq%20%22HIGH%22
Query param: ?filter=assignmentMethodSeverity eq "HIGH"
filter=assignmentMethodSeverity%20eq%20%22HIGH%22
Query param: ?filter=pastGovernanceDecisionsSeverity eq "HIGH"
filter=pastGovernanceDecisionsSeverity%20eq%20%22HIGH%22
Query param: ?filter=usageHistorySeverity eq "HIGH"
filter=usageHistorySeverity%20eq%20%22HIGH%22
Query param: ?filter=governanceLabel co "Crown Jewel"
filter=governanceLabel%20co%20%Crown Jewel%22
limit
integer [ 1 .. 200 ]
Default: 20

The maximum number of records returned in a response

orderBy
Array of strings = 1 items
Default: ["priority desc"]

The field to sort the results, in ascending (asc) or descending (desc) order. Sorting is applied to only one field.

Note: Query parameter percent encoding is required. See Percent-encoding

Examples:
Query param: ?orderBy=priority desc
orderBy=priority%20desc
Query param: ?orderBy=lastAccess desc
orderBy=lastAccess%20desc
Query param: ?orderBy=accessFrequency desc
orderBy=accessFrequency%20desc
Responses
200

A successful security access review access items get response

401

When authentication fails

403

When authorization fails

404

When the requested resource wasn't found

429

When the rate limit has been exceeded

500

When there is a server fault due to an unexpected error

get/governance/api/v2/security-access-reviews/{securityAccessReviewId}/accesses
Request samples
Response samples
application/json
{}

List the sub-access items for an access item
Early Access
OAuth 2.0 scopes:
  • okta.governance.securityAccessReviews.admin.read
Admin roles:
  • SUPER_ADMIN
Permissions:
  • okta.governance.securityAccessReviews.admin.read

Lists the sub-access items for an access item from a security access review.

A sub-access item refers to the access of a resource that is a part of a top-level resource in an access item. For example, an access item can describe the access of app, and the sub-access items can describe the access of groups, entitlement values, or entitlement bundles that belong to the app.

Request
path Parameters
securityAccessReviewAccessId
required
string

The ID of the access item in a security access review

securityAccessReviewId
required
string

The ID of the security access review

query Parameters
after
string

The pagination cursor that points to the last record of the previous request.

Example: after=00u68w6vzKLultXS97g6
filter
string

A filter expression that filters sub-access items.

Note: Query parameter percent encoding is required. See Percent-encoding.

Examples:
Query param: ?filter=name co "Git"
filter=name%20co%20%22Git%22
Query param: ?filter=resourceType eq "GROUP"
filter=resourceType%20eq%20%22HIGH%22
Query param: ?filter=priority eq "HIGH"
filter=priority%20eq%20%22HIGH%22
Query param: ?filter=sodConflictSeverity eq "HIGH"
filter=sodConflictSeverity%20eq%20%22HIGH%22
Query param: ?filter=assignmentMethodSeverity eq "HIGH"
filter=assignmentMethodSeverity%20eq%20%22HIGH%22
Query param: ?filter=pastGovernanceDecisionsSeverity eq "HIGH"
filter=pastGovernanceDecisionsSeverity%20eq%20%22HIGH%22
Query param: ?filter=usageHistorySeverity eq "HIGH"
filter=usageHistorySeverity%20eq%20%22HIGH%22
Query param: ?filter=governanceLabel co "Crown Jewel"
filter=governanceLabel%20co%20%Crown Jewel%22
limit
integer [ 1 .. 200 ]
Default: 20

The maximum number of records returned in a response

orderBy
Array of strings = 1 items
Default: ["priority desc"]

A field by which results can be sorted. For now, sorting by a single field is supported.

Note: Query parameter percent encoding is required. See Percent-encoding

Examples:
Query param: ?orderBy=priority desc
orderBy=priority%20desc
Responses
200

A successful security access review access items get response

401

When authentication fails

403

When authorization fails

404

When the requested resource wasn't found

429

When the rate limit has been exceeded

500

When there is a server fault due to an unexpected error

get/governance/api/v2/security-access-reviews/{securityAccessReviewId}/accesses/{securityAccessReviewAccessId}/sub-accesses
Request samples
Response samples
application/json
{
  • "data": [
    • {
      • "id": "sai1pml8QCT3vGZco0g4",
      • "name": "unbnaovmin: value1",
      • "type": "ENTITLEMENT",
      • "severity": "LOW",
      • "supportedActions": [
        ],
      • "entitlementInfo": {
        }
      },
    • {
      • "id": "sai1pmmQFzxZreP1L0g4",
      • "name": "unbnaovmin: value2",
      • "type": "ENTITLEMENT",
      • "severity": "LOW",
      • "supportedActions": [
        ],
      • "entitlementInfo": {
        }
      },
    • {
      • "id": "sai1pmngWq0n4IGFi0g4",
      • "name": "test bundleaotsw",
      • "type": "ENTITLEMENT",
      • "severity": "LOW",
      • "supportedActions": [
        ],
      • "entitlementInfo": {
        }
      }
    ],
}

List the anomalies for an access item
Early Access
OAuth 2.0 scopes:
  • okta.governance.securityAccessReviews.admin.read
Admin roles:
  • SUPER_ADMIN
Permissions:
  • okta.governance.securityAccessReviews.admin.read

Lists the anomalies for an access item

Request
path Parameters
securityAccessReviewId
required
string

The ID of the security access review

securityAccessReviewTargetId
required
string

The ID of the access or sub-access item in a security access review

Responses
200

A successful security access review anomalies get response

401

When authentication fails

403

When authorization fails

404

When the requested resource wasn't found

429

When the rate limit has been exceeded

500

When there is a server fault due to an unexpected error

get/governance/api/v2/security-access-reviews/{securityAccessReviewId}/accesses/{securityAccessReviewTargetId}/anomalies
Request samples
Response samples
application/json
{
  • "data": [
    • {
      • "type": "USAGE_HISTORY",
      • "severity": "LOW",
      • "subtext": {
        }
      },
    • {
      • "type": "ASSIGNMENT_METHOD",
      • "severity": "LOW",
      • "subtext": {
        }
      },
    • {
      • "type": "PAST_GOVERNANCE_DECISIONS",
      • "severity": "LOW",
      • "subtext": {
        }
      }
    ]
}

Generate a summary for an access item
Early Access
OAuth 2.0 scopes:
  • okta.governance.securityAccessReviews.admin.manage
Admin roles:
  • SUPER_ADMIN
Permissions:
  • okta.governance.securityAccessReviews.admin.manage

Generates a summary for an access item in a security access review

Request
path Parameters
securityAccessReviewId
required
string

The ID of the security access review

securityAccessReviewTargetId
required
string

The ID of the access or sub-access item in a security access review

Responses
200

A successful security access review summary response

401

When authentication fails

403

When authorization fails

404

When the requested resource wasn't found

429

When the rate limit has been exceeded

500

When there is a server fault due to an unexpected error

post/governance/api/v2/security-access-reviews/{securityAccessReviewId}/accesses/{securityAccessReviewTargetId}/summary
Request samples
Response samples
application/json
{
  • "message": "This app's overall priority is: High\nThe reasons why this app was assigned priority of High include:\n1. Usage history (HIGH): The user has not accessed this application in the last 90 days.\n2. Assignment method (HIGH): This user's assignment method differs from 75% of other users who have access to this application.\n"
}

Execute an action on an access item
Early Access
OAuth 2.0 scopes:
  • okta.governance.securityAccessReviews.admin.manage
Admin roles:
  • SUPER_ADMIN
Permissions:
  • okta.governance.securityAccessReviews.admin.manage

Executes an action on an access or sub-access item in a security access review

Request
path Parameters
securityAccessReviewId
required
string

The ID of the security access review

securityAccessReviewTargetId
required
string

The ID of the access or sub-access item in a security access review

Request Body schema: application/json
required
type
required
string

Supported actions

Enum: Description
REVOKE_ACCESS

Revoke access for the user

RESTORE_ACCESS

Restore access for the user

Responses
202

Action initiated successfully

401

When authentication fails

403

When authorization fails

404

When the requested resource wasn't found

429

When the rate limit has been exceeded

500

When there is a server fault due to an unexpected error

post/governance/api/v2/security-access-reviews/{securityAccessReviewId}/accesses/{securityAccessReviewTargetId}/actions
Request samples
application/json
{
  • "type": "REVOKE_ACCESS"
}
Response samples
application/json
{
  • "errorCode": "E0000004",
  • "errorSummary": "Authentication failed.",
  • "errorLink": "E0000004",
  • "errorId": "oaeWCGz73hpRCG75VHP6-RRXw",
  • "errorCauses": [ ]
}

List the history of a security access review
Early Access
OAuth 2.0 scopes:
  • okta.governance.securityAccessReviews.admin.read
Admin roles:
  • SUPER_ADMIN
Permissions:
  • okta.governance.securityAccessReviews.admin.read

Lists the history of actions and changes for a specific security access review

Request
path Parameters
securityAccessReviewId
required
string

The ID of the security access review

Responses
200

A successful security access review history get response

401

When authentication fails

403

When authorization fails

404

When the requested resource wasn't found

429

When the rate limit has been exceeded

500

When there is a server fault due to an unexpected error

get/governance/api/v2/security-access-reviews/{securityAccessReviewId}/history
Request samples
Response samples
application/json
{
  • "data": [
    • {
      • "id": "srh1pmhpjmJ6Oyzzx0g4",
      • "systemGenerated": true,
      • "timestamp": "2025-06-13T14:23:35Z",
      • "message": "created Test SAR",
      • "principalProfile": {
        }
      }
    ]
}

Add a comment for a security access review
Early Access
OAuth 2.0 scopes:
  • okta.governance.securityAccessReviews.admin.manage
Admin roles:
  • SUPER_ADMIN
Permissions:
  • okta.governance.securityAccessReviews.admin.manage

Adds a comment for a specific security access review

Request
path Parameters
securityAccessReviewId
required
string

The ID of the security access review

Request Body schema: application/json
required
comment
required
string [ 1 .. 1000 ] characters

A comment for the security access review

Responses
204

Comment added successfully

401

When authentication fails

403

When authorization fails

404

When the requested resource wasn't found

429

When the rate limit has been exceeded

500

When there is a server fault due to an unexpected error

post/governance/api/v2/security-access-reviews/{securityAccessReviewId}/comment
Request samples
application/json
{
  • "comment": "string"
}
Response samples
application/json
{
  • "errorCode": "E0000004",
  • "errorSummary": "Authentication failed.",
  • "errorLink": "E0000004",
  • "errorId": "oaeWCGz73hpRCG75VHP6-RRXw",
  • "errorCauses": [ ]
}