Reviews

Okta access certification reviews evaluate and make decisions about a user’s current resource access. Each review is associated with one campaign, whereas a campaign can contain many reviews. Retrieve and reassign reviews with the following reviews APIs.

See Review an access certification campaign for more information on the review process.

List all reviews
Beta
Admin permissions required: Access Certification Administrator
OAuth 2.0: okta.governance.accessCertifications.read

Lists reviews for your organization.

You can return a subset of reviews if a filter expression (?filter=) is provided.

Supported filters are:

  • campaignId: string
  • principalId: string
  • reviewerId: string
  • decision: string (APPROVE, REVOKE, UNREVIEWED)
  • resourceId: string (GroupId or AppId)
  • reviewerType: string (USER or GROUP or RESOURCE_OWNER)
  • reviewerLevel: string (FIRST or SECOND)
  • entitlementValueId: string
  • entitlementBundleId: string
  • assignmentType: string

Pagination parameters are accepted, and standard link headers are in the response.

Reviews exist only for campaigns that have been launched with a status of ACTIVE or COMPLETED. Also note that, if reviews are still UNREVIEWED, then the property decided would be null. If the remediation is not completed, then remediationStatus would be null too.

The order criteria (orderBy) applies to the following properties: decided, decision, remediationStatus, created, and assignmentType.

By default, results are sorted by created.

Request
query Parameters
after
string

The after cursor provided by a prior request.

filter
string

Apply various filters by using supported review filtering properties.

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

Examples:
Query param: ?filter=campaignId eq "icitdyhndQ6qstyvR8g5"
filter=campaignId%20eq%20%22icitdyhndQ6qstyvR8g5%22
Query param: ?filter=decision eq "UNREVIEWED"
filter=decision%20eq%20%22UNREVIEWED%22
Query param: ?filter=reviewerId eq "00u5v5viPvg84h0W68g4"
filter=reviewerId%20eq%20%2200u5v5viPvg84h0W68g4%22
Query param: ?filter=resourceId eq "00gyqjxNrsh764hjs784"
filter=resourceId%20eq%20%2200gyqjxNrsh764hjs784%22
Query param: ?filter=resourceId eq "00ayqjxNrZD11n4w40g3"
filter=resourceId%20eq%20%2200ayqjxNrZD11n4w40g3%22
Query param: ?filter=principalId eq "2200u5v5viPvg84h0W68g4"
filter=principalId%20eq%20%2200u5v5viPvg84h0W68g4%22
Query param: ?filter=reviewerType eq "USER"
filter=reviewerType%20eq%20USER
Query param: ?filter=reviewerLevel eq "FIRST"
filter=reviewerLevel%20eq%20FIRST
Query param: ?filter=entitlementValueId eq "enthzzPJAXvaYQ71T0g3"
filter=entitlementValueId%20eq%20%22enthzzPJAXvaYQ71T0g3%22
Query param: ?filter=entitlementType eq "enbisi7xt3iBd39Bn0g3"
filter=entitlementBundleId%20eq%22enbisi7xt3iBd39Bn0g3%22
Query param: ?filter=assignmentType eq "CUSTOM"
filter=assignmentType%20eq%20CUSTOM
limit
integer [ 1 .. 200 ]
Default: 20

The maximum number of records that will be returned in a given result.

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

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=decided desc
orderBy=decided%20desc
Query param: ?orderBy=decision desc
orderBy=decision%20desc
Query param: ?orderBy=remediationStatus desc
orderBy=remediationStatus%20desc
Query param: ?orderBy=created desc
orderBy=created%20desc
Query param: ?orderBy=assignmentType desc
orderBy=assignmentType%20desc
Responses
200

A successful review list response

400

An invalid list request

401

When authentication fails

403

When authorization fails

500

When there is a server fault due to an unexpected error

get/governance/api/v1/reviews
Request samples
Response samples
application/json

The list of reviews that belong to that campaign.

{}

Reassign the reviews
Beta
Admin permissions required: Access Certification Administrator
OAuth 2.0: okta.governance.accessCertifications.manage

Reassigns a review to another reviewer.

Reassigning a review is useful in cases where the currently assigned reviewer is not able to make a decision before the campaign ends.

Only reviews belonging to campaigns with a status of READY can be reassigned. And only those reviews with decision UNREVIEWED can be reassigned.

If reviews are currently being reviewed by a group (when reviewerType is GROUP or RESOURCE_OWNER), on reassignment, reviews is directly assigned to the chosen new reviewer and reviewerType is changed to USER.

A valid reassignment changes an existing reviewer to a new reviewer (userId), and appends the change to the reassignment history.

To reassign a set of reviews, you must specify:

  • the Okta user.id of the new reviewer

  • a list of reviewIds to be re-assigned

  • The reviewerLevel at which the reviews needs to be re-assigned (Applicable only for multi level campaigns)

  • a note justifying the reassignment decision for the specified reviews

Request
path Parameters
campaignId
required
string

The id of the campaign

Request Body schema: application/json
required

The operation payload for reviews reassignment

note
required
string [ 1 .. 300 ] characters

A note to justify the reassignment decision for the specified review(s).

reviewerId
required
string non-empty

The Okta user id of the new reviewer

reviewIds
required
Array of strings [ 1 .. 50 ] items

A list of reviews (review id values) that are reassigned to the new reviewer.

reviewerLevel
string

Identifies the reviewer level of each reviews during access certification. Applicable for multi level campaigns only.

Enum: "FIRST" "SECOND"
Responses
200

A successful reassign reviews response

400

An invalid request to reassign reviews

401

When authentication fails

403

When authorization fails

409

When the review(s) is/are already reassigned to intended reviewer.

500

When there is a server fault due to an unexpected error

post/governance/api/v1/campaigns/{campaignId}/reviews/reassign
Request samples
application/json
{
  • "reviewerId": "00u31c7qMRUfrhdew0g4",
  • "reviewIds": [
    • "icrhdk4Lwhd2bBRQe0g2",
    • "icrhew4DFTxygUUgE0g2",
    • "icrhfvRCfGCHk3y2h0g2"
    ],
  • "note": "John Smith is on leave for this month. His manager Tim will be the reviewer instead."
}
Response samples
application/json

The list of reviews that are reassigned.

{}

Retrieve a review
Beta
Admin permissions required: Access Certification Administrator
OAuth 2.0: okta.governance.accessCertifications.read

Retrieves the full representation of a specific review.

More information is returned than the abbreviated representation in a List reviews operation. Also note that, if reviews are still UNREVIEWED, then the property decided would be null. If the remediation is not completed, then remediationStatus would be null too.

Request
path Parameters
reviewId
required
string

The id of the review

Responses
200

A successful review response

401

When authentication fails

403

When authorization fails

404

When the requested resource was not found

429

When the rate limit has been exceeded

500

When there is a server fault due to an unexpected error

get/governance/api/v1/reviews/{reviewId}
Request samples
Response samples
application/json

Success response to get a review details.

{
  • "campaignId": "icitdyhndQ6qstyvR8g5",
  • "resourceId": "00gco5q3vQ20oPncs8g5",
  • "decided": "2019-08-24T14:15:22Z",
  • "principalProfile": {
    • "id": "00u28w6vzKKultXP98g5",
    • "email": "juan.favorito_yx6pxhul@foobar.com",
    • "firstName": "Juan",
    • "lastName": "Favorito",
    • "status": "ACTIVE"
    },
  • "reviewerProfile": {
    • "id": "00u5v5viPvg84h0W68g4",
    • "email": "admin@admin.com",
    • "firstName": "admin",
    • "lastName": "admin",
    • "status": "ACTIVE"
    },
  • "assignmentType": "GROUP",
  • "decision": "APPROVE",
  • "remediationStatus": "SUCCESS",
  • "note": {
    • "id": "389dhie83",
    • "note": "reason for approval"
    },
  • "id": "icrtg6mwccZTRc6Ub8g5",
  • "reviewerType": "USER",
  • "created": "2019-08-24T14:15:22Z",
  • "createdBy": "00ub0oNGTSWTBKOLGLNR",
  • "lastUpdated": "2019-08-24T14:15:22Z",
  • "lastUpdatedBy": "00ub0oNGTSWTBKOLGLNR",
}