Access certification campaigns allow key stakeholders to periodically review users’ access to resources. Okta can then modify resource access, based on stakeholder reviews. Manage campaign tasks with the following campaign APIs.
See Identity Governance for more information on Access Campaigns and Identity Governance.
Access Certification Administrator
okta.governance.accessCertifications.manage
Creates a campaign that governs whether the access can continue to exist.
When creating a campaign, you specify:
ONE_OFF
)Creates a single campaign with all the required characteristics
A successful campaign create response
An invalid request to define a campaign
When authentication fails
When authorization fails
When the rate limit has been exceeded
When there is a server fault due to an unexpected error
The set of properties to pass when creating a campaign with resource as a group(s) and principle scope settings that apply on the resource.
{- "name": "Monthly access review of sales team",
- "description": "Review access of all sales team members to a specific app",
- "scheduleSettings": {
- "type": "ONE_OFF",
- "startDate": "2022-06-01T00:00:01.001Z",
- "durationInDays": 30,
- "timeZone": "America/Los_Angeles"
}, - "resourceSettings": {
- "type": "GROUP",
- "targetResources": [
- {
- "resourceId": "00gyqjxNrZD11n4w40g3"
}, - {
- "resourceId": "00gyqjxNrZD11n4w40g4"
}
]
}, - "principalScopeSettings": {
- "type": "USERS"
}, - "reviewerSettings": {
- "type": "USER",
- "reviewerId": "00ub0oNGTSWTBKOLGLNR",
- "selfReviewDisabled": true
}, - "remediationSettings": {
- "accessApproved": "NO_ACTION",
- "accessRevoked": "NO_ACTION",
- "noResponse": "NO_ACTION"
}
}
The set of properties to pass when creating a campaign with resource as a group(s) and principle scope settings that apply on the resource.
{- "id": "ici2b0ozhrs1S9sVf0g4",
- "name": "Monthly access review of sales team",
- "description": "Review access of all sales team members to a specific app",
- "created": "2019-08-24T14:15:22Z",
- "createdBy": "00ub0oNGTSWTBKOLGLNR",
- "lastUpdated": "2019-08-24T14:15:22Z",
- "lastUpdatedBy": "00ub0oNGTSWTBKOLGLNR",
- "status": "SCHEDULED",
- "scheduleSettings": {
- "type": "ONE_OFF",
- "startDate": "2022-05-31T17:00:01.001-07:00",
- "durationInDays": 30,
- "timeZone": "America/Los_Angeles"
}, - "resourceSettings": {
- "type": "GROUP",
- "targetResources": [
- {
- "resourceId": "00gyqjxNrZD11n4w40g3"
}, - {
- "resourceId": "00gyqjxNrZD11n4w40g4"
}
]
}, - "principalScopeSettings": {
- "type": "USERS"
}, - "reviewerSettings": {
- "type": "USER",
- "reviewerId": "00ub0oNGTSWTBKOLGLNR",
- "selfReviewDisabled": true
}, - "remediationSettings": {
- "accessApproved": "NO_ACTION",
- "accessRevoked": "NO_ACTION",
- "noResponse": "NO_ACTION"
}, - "_links": {
- "launchCampaign": {
}, - "endCampaign": {
},
}
}
Access Certification Administrator
okta.governance.accessCertifications.read
Lists all or a subset of campaigns in your organization.
Use the ?filter=
parameter to narrow results with the following campaign properties - name
, status
, scheduleType
, reviewerType
and recurringCampaignId
.
Use the ?orderBy=
parameter to get ordered results with the following campaign properties - name
, created
, startDate
, endDate
, and status
.
By default, results are sorted by created
.
after | string The after cursor provided by a prior request. |
filter | string Apply various filters by using supported campaign filtering properties. Note: Query parameter percent encoding is required. See Percent-encoding Query param: ?filter=name eq "Sales Review" filter=name%20eq%20%22Sales%20Review%22Query param: ?filter=status eq "SCHEDULED" filter=status%20eq%20%22SCHEDULED%22Query param: ?filter=status eq "COMPLETED" OR status eq "SCHEDULED" filter=status%20eq%20%22COMPLETED%22%20OR%20status%20eq%20%22SCHEDULED%22Query param: ?filter=startDate gt "2022-05-24T14:15:22Z" filter=startDate%20gt%20%222022-05-24T14%3A15%3A22Z%22Query param: ?filter=endDate gt "2022-05-24T14:15:22Z" filter=endDate%20gt%20%222022-05-24T14%3A15%3A22Z%22Query param: ?filter=scheduleType eq "ONE_OFF" filter=scheduleType%20eq%20ONE_OFFQuery param: ?filter=scheduleType eq "RECURRING" filter=scheduleType%20eq%20RECURRINGQuery param: ?filter=reviewerType eq "USER" filter=reviewerType%20eq%20USERQuery param: ?filter=reviewerType eq "GROUP" filter=reviewerType%20eq%20GROUPQuery param: ?filter=reviewerType eq "RESOURCE_OWNER" filter=reviewerType%20eq%20RESOURCE_OWNERQuery param: ?filter=reviewerType eq "MULTI_LEVEL" filter=reviewerType%20eq%20MULTI_LEVELQuery param: ?filter=recurringCampaignId eq "icijNW29nev6qyksD0g1" filter=recurringCampaignId%20eq%20%22icijNW29nev6qyksD0g1%22 |
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"] Apply an ordering of campaigns by specifying a supported campaign property name with Note: Query parameter percent encoding is required. See Percent-encoding Query param: ?orderBy=name desc orderBy=name%20descQuery param: ?orderBy=created desc orderBy=created%20descQuery param: ?orderBy=startDate desc orderBy=startDate%20descQuery param: ?orderBy=endDate desc orderBy=endDate%20descQuery param: ?orderBy=status desc orderBy=status%20desc |
A successful campaign list response
An invalid list request
When authentication fails
When authorization fails
When the rate limit has been exceeded
When there is a server fault due to an unexpected error
The list of campaigns which is filtered by specific name of the campaign
{- "data": [
- {
- "id": "ici2b0ozhrs1S9sVf0g4",
- "created": "2022-04-20T14:15:22Z",
- "createdBy": "00ub0oNGTSWTBKOLGLNR",
- "lastUpdated": "2022-04-24T14:15:22Z",
- "lastUpdatedBy": "00ub0oNGTSWTBKOLGLNR",
- "name": "Sales Review",
- "description": "Review access of all sales team members to a specific app",
- "scheduleType": "ONE_OFF",
- "startDate": "2022-05-31T17:00:01.001-07:00",
- "endDate": "2022-06-29T17:00:01.001-07:00",
- "status": "COMPLETED",
- "_links": {
- "launchCampaign": {
}, - "endCampaign": {
},
}
}, - {
- "id": "ici2b0ozhrs1S9sVG9g0",
- "created": "2019-05-10T14:15:22Z",
- "createdBy": "00ub0oNGTSWTBKOLGLNR",
- "lastUpdated": "2019-05-14T14:15:22Z",
- "lastUpdatedBy": "00ub0oNGTSWTBKOLGLNR",
- "name": "Sales Review",
- "description": "Review access of all sales team members to a specific app",
- "scheduleType": "ONE_OFF",
- "startDate": "2022-07-01T00:00:01.001Z'",
- "endDate": "2022-07-30T00:00:01.001Z'",
- "status": "SCHEDULED",
- "_links": {
- "launchCampaign": {
}, - "endCampaign": {
},
}
}
], - "_links": {
}
}
Access Certification Administrator
okta.governance.accessCertifications.read
Retrieves the full representation of a specific campaign.
More information is returned than the abbreviated representation in a List campaigns operation.
A successful campaign list response
When authentication fails
When authorization fails
When the requested resource was not found
When the rate limit has been exceeded
When there is a server fault due to an unexpected error
Get the campaign by Id that is in scheduled state
{- "id": "ici2b0ozhrs1S9sVf0g4",
- "status": "SCHEDULED",
- "created": "2019-08-24T14:15:22Z",
- "createdBy": "00ub0oNGTSWTBKOLGLNR",
- "lastUpdated": "2019-08-24T14:15:22Z",
- "lastUpdatedBy": "00ub0oNGTSWTBKOLGLNR",
- "name": "Monthly access review of sales team",
- "description": "Review access of all sales team members to a specific app",
- "scheduleSettings": {
- "type": "ONE_OFF",
- "startDate": "2022-05-31T17:00:01.001-07:00",
- "endDate": "2022-06-29T17:00:01.001-07:00",
- "durationInDays": 30,
- "timeZone": "America/Los_Angeles"
}, - "resourceSettings": {
- "type": "GROUP",
- "targetResources": [
- {
- "resourceId": "00gyqjxNrZD11n4w40g3"
}, - {
- "resourceId": "00ub0oNGTSWTBKOLGLNR"
}
]
}, - "principalScopeSettings": {
- "type": "USERS",
- "userScope": {
- "userScopeExpression": "user.isMemberOf({'group.profile.name': 'TestGroup'})",
- "excludedUserIds": [
- "00ub0oNGTSWTBKOLGLNR"
]
}
}, - "reviewerSettings": {
- "type": "USER",
- "reviewerId": "00ub0oNGTSWTBKOLGLNR",
- "isSelfReviewDisabled": false
}, - "remediationSettings": {
- "accessApproved": "NO_ACTION",
- "accessRevoked": "DENY",
- "noResponse": "NO_ACTION"
}, - "_links": {
- "launchCampaign": {
}, - "endCampaign": {
}, - "campaignDetails": {
},
}
}
Access Certification Administrator
okta.governance.accessCertifications.manage
Deletes a campaign from your organization.
Only campaigns with a status of SCHEDULED
or ERROR
can be deleted. Attempting this operation with campaigns in any other status yields a 409 Conflict
response indicating the state of the campaign is incompatible with the delete operation.
If the campaign being deleted has a schedule type RECURRING
, then any occurence of future campaigns as per recurring schedule, will not happen.
Note: There is a limit on the number of campaigns with a status of
SCHEDULED
. Deleting campaigns that are never meant to be launched (whether through the launch operation or automatically throughscheduleSettings
), can be useful to remain under this limit.
A successful campaign delete response
When authentication fails
When authorization fails
When the requested resource was not found
When attempting to perform an operation on a recurring, non-SCHEDULED, or non-ERROR campaign.
When the rate limit has been exceeded
When there is a server fault due to an unexpected error
{- "errorCode": "E0000004",
- "errorSummary": "Authentication failed.",
- "errorLink": "E0000004",
- "errorId": "oaeWCGz73hpRCG75VHP6-RRXw",
- "errorCauses": [ ]
}
Access Certification Administrator
okta.governance.accessCertifications.manage
Launches a campaign to initiate the assignment of reviews to reviewers, regardless of pre-configured scheduleSettings
.
Only campaigns with a status of SCHEDULED
can be launched. A valid launch operation transitions a campaign to a status of ACTIVE
.
If the campaign being launched has a recurring schedule, then it launches the next occurence of the campaign as per the schedule.
Attempting this operation with campaigns in any other status yields a 409 Conflict
response indicating the state of the campaign is incompatible with the launch operation.
If the campaign being launched has a recurring definition, on successful response, one should get the newly launched campaign resource endpoint in HTTP header location
.
Note: This operation is optional. Typically, campaigns are launched automatically according to the campaign's schedule settings (
scheduleSettings
).
A successful campaign launch response
When authentication fails
When authorization fails
When the requested resource was not found
When attempting to perform an operation on a recurring or non SCHEDULED campaign.
When the rate limit has been exceeded
When there is a server fault due to an unexpected error
{- "errorCode": "E0000004",
- "errorSummary": "Authentication failed.",
- "errorLink": "E0000004",
- "errorId": "oaeWCGz73hpRCG75VHP6-RRXw",
- "errorCauses": [ ]
}
Access Certification Administrator
okta.governance.accessCertifications.manage
Ends a campaign before its scheduled end date (from scheduleSettings
).
This operation closes any open reviews and prevents any further review activity, such as decisions or reassignments. Reviews associated with the campaign are remediated, if the remediation setting for the campaign is set.
Only campaigns with a status of ACTIVE
can be completed. A valid end operation transitions a campaign to a status of COMPLETED
. Attempting this operation with campaigns in any other status yields a 409 Conflict
response indicating the state of the campaign is incompatible with the end campaign operation.
Note: This operation is optional. Typically, campaigns are completed automatically according to the campaign's schedule settings
scheduleSettings
.
A successful campaign complete response
When authentication fails
When authorization fails
When the requested resource was not found
When the campaign status is not ACTIVE.
When the rate limit has been exceeded
When there is a server fault due to an unexpected error
{- "skipRemediation": false
}
{- "errorCode": "E0000004",
- "errorSummary": "Authentication failed.",
- "errorLink": "E0000004",
- "errorId": "oaeWCGz73hpRCG75VHP6-RRXw",
- "errorCauses": [ ]
}