Skip to content

Create a campaign

Request

OAuth 2.0 scope:
  • okta.governance.accessCertifications.manage
Admin roles:
  • ACCESS_CERTIFICATIONS_ADMIN

Creates a campaign that governs access to resources.

Specify the following for a campaign:

  • resourceSettings: Which resources are subject to review
  • principalScopeSettings: Which users with access to the resources are subject to review
  • scheduleSettings: The schedule of the campaign
  • reviewerSettings: Who needs to review access
  • remediationSettings: What needs to be done after access is reviewed
  • notificationSettings: Configure automatic notifications to a campaign creator or reviewer

Notes:

Bodyapplication/jsonrequired

Specifies the characteristics of a single campaign

namestring, [ 1 .. 255 ] charactersrequired

Name of the campaign. Maintain some uniqueness when naming the campaign as it helps to identify and filter for campaigns when needed.

descriptionstring, <= 1000 characters

Campaign description

campaignTypestring(campaign-type)

Identifies the campaign as a resource (RESOURCE) or an identity (USER) campaign

Default:"RESOURCE"
Enum ValueDescription
RESOURCE

Certify access to resources in a campaign

USER

Certify access for an identity (user or AI agent) in a campaign

scheduleSettingsobject(schedule-settings-mutable)required

Scheduler specific settings.

A campaign can be a ONE_OFF or a RECURRING campaign.

You can't provide both in the campaign definition.

resourceSettingsobject(resource-settings-mutable)required

Resource specific properties

principalScopeSettingsobject(principal-scope-settings-mutable)

An array of Okta specific resource id for which access is being reviewed.

reviewerSettingsobject(reviewer-settings-mutable)required

Reviewer settings for the access certification campaign

notificationSettingsobject(notification-settings)

Settings for email notifications to be sent to the reviewers at different stages of a campaign. All properties are optional.

remediationSettingsobject(remediation-settings)required

Specifies the action to be taken after a reviewer makes a decision to APPROVE or REVOKE the access, or if the campaign was CLOSED and there was no response from the reviewer

campaignTierstring(campaign-tier)

Indicates the minimum required SKU to manage the campaign

Enum:"BASIC""PREMIUM"
reportingSettingsobject(reporting-settings-mutable)

Reporting properties for processing post-completed campaigns

POST
/governance/api/v1/campaigns
curl -i -X POST \
  https://okta-subdomain.pixtulate.com/governance/api/v1/campaigns \
  -H 'Content-Type: application/json' \
  -d '{
    "campaignType": "RESOURCE",
    "description": "Group Campaign | User Reviewer Expression",
    "name": "Group Campaign | User Reviewer Expression",
    "status": "ACTIVE",
    "scheduleSettings": {
      "startDate": "2024-10-04T13:43:40.000Z",
      "timeZone": "America/New_York",
      "durationInDays": 30,
      "type": "ONE_OFF"
    },
    "resourceSettings": {
      "targetTypes": [
        "GROUP"
      ],
      "targetResources": [
        {
          "resourceType": "GROUP",
          "resourceId": "00gg2gzn7m1Aw2zAs1d7"
        }
      ]
    },
    "principalScopeSettings": {
      "type": "USERS"
    },
    "reviewerSettings": {
      "selfReviewDisabled": true,
      "justificationRequired": true,
      "reviewerScopeExpression": "user.profile.reviewerId",
      "type": "REVIEWER_EXPRESSION",
      "fallBackReviewerId": "00u3tm6uw9Cx4Sn8H1d7",
      "reviewerId": "00u3tm6uw9Cx4Sn8H1d7",
      "bulkDecisionDisabled": true
    },
    "notificationSettings": {
      "notifyReviewPeriodEnd": true,
      "notifyReviewerWhenOverdue": false,
      "notifyReviewerDuringMidpointOfReview": true,
      "remindersReviewerBeforeCampaignCloseInSecs": [
        86400
      ],
      "notifyReviewerWhenReviewAssigned": true,
      "notifyReviewerAtCampaignEnd": true
    },
    "remediationSettings": {
      "accessRevoked": "DENY",
      "accessApproved": "NO_ACTION",
      "noResponse": "NO_ACTION"
    },
    "reportingSettings": {
      "createReportingPackageEnabled": true
    }
  }'

Responses

A successful campaign create response

Headers
X-Rate-Limit-Limitinteger, >= 1required

The rate-limit ceiling for the current request

Example:60
X-Rate-Limit-Remaininginteger, >= 0required

The number of requests left for the current rate-limit window

Example:60
X-Rate-Limit-Resetinteger, >= 0required

The time when the rate limit resets, specified in UTC epoch time (in seconds)

Example:1609459200
Bodyapplication/json
idstring, non-emptyrequired

Unique identifier for the object

createdBystring, (okta-user-id), [ 1 .. 20 ] characters(created-by)read-onlyrequired

The id of the Okta user who created the resource

createdstring, (date-time)(created)read-onlyrequired

The ISO 8601 formatted date and time when the resource was created

lastUpdatedstring, (date-time)(last-updated)read-onlyrequired

The ISO 8601 formatted date and time when the object was last updated

lastUpdatedBystring, (okta-user-id), [ 1 .. 20 ] characters(last-updated-by)read-onlyrequired

The id of the Okta user who last updated the object

namestring, [ 1 .. 255 ] charactersrequired

Name of the campaign. Maintain some uniqueness when naming the campaign as it helps to identify and filter for campaigns when needed.

descriptionstring, <= 1000 characters

Human readable description

campaignTypestring(campaign-type)

Identifies the campaign as a resource (RESOURCE) or an identity (USER) campaign

Default:"RESOURCE"
Enum ValueDescription
RESOURCE

Certify access to resources in a campaign

USER

Certify access for an identity (user or AI agent) in a campaign

scheduleSettingsobject(schedule-settings-read-only)required

Scheduler specific settings.

A campaign can be a ONE_OFF or a RECURRING campaign.

You can't provide both in the campaign definition.

resourceSettingsobject(resource-settings-mutable)required

Resource specific properties

principalScopeSettingsobject(principal-scope-settings-mutable)

An array of Okta specific resource id for which access is being reviewed.

reviewerSettingsobject(reviewer-settings-mutable)required

Reviewer settings for the access certification campaign

notificationSettingsobject(notification-settings)

Settings for email notifications to be sent to the reviewers at different stages of a campaign. All properties are optional.

remediationSettingsobject(remediation-settings)required

Specifies the action to be taken after a reviewer makes a decision to APPROVE or REVOKE the access, or if the campaign was CLOSED and there was no response from the reviewer

recurringCampaignIdstring or null, [ 1 .. 20 ] characters

ID of the recurring campaign if this campaign was created as part of a recurring schedule.

reportingSettingsobject(reporting-settings-mutable)

Reporting properties for processing post-completed campaigns

statusstring(campaign-status)required
Enum:"SCHEDULED""LAUNCHING""ACTIVE""COMPLETED""DELETED""ERROR"
Response
The response from a flow that creates a resource campaign for all users assigned to a specific Okta group. A specific user is assigned as the reviewer based on an Okta Expression. If this user isn't resolved, a specific fallback reviewer is used.
{ "_links": { "launchCampaign": {}, "endCampaign": {}, "reviews": {}, "self": {} }, "id": "icindtwi8SY3MVP1M1d6", "createdBy": "00u4oll01llSoXHEw1d7", "created": "2024-10-04T13:43:35Z", "lastUpdated": "2024-10-04T13:43:35Z", "lastUpdatedBy": "00u4oll01llSoXHEw1d7", "name": "Group Campaign | User Reviewer Expression", "description": "Group Campaign | User Reviewer Expression", "campaignType": "RESOURCE", "scheduleSettings": { "type": "ONE_OFF", "startDate": "2024-10-04T09:43:40-04:00", "durationInDays": 30, "timeZone": "America/New_York", "endDate": "2024-11-03T08:43:40-05:00" }, "resourceSettings": { "targetTypes": [], "targetResources": [] }, "principalScopeSettings": { "type": "USERS", "excludedUserIds": [], "userIds": [], "groupIds": [], "includeOnlyActiveUsers": false }, "reviewerSettings": { "type": "REVIEWER_EXPRESSION", "reviewerScopeExpression": "user.profile.reviewerId", "fallBackReviewerId": "00u3tm6uw9Cx4Sn8H1d7", "selfReviewDisabled": true, "justificationRequired": true, "bulkDecisionDisabled": false }, "notificationSettings": { "notifyReviewerWhenReviewAssigned": true, "notifyReviewerAtCampaignEnd": true, "remindersReviewerBeforeCampaignCloseInSecs": [], "notifyReviewerWhenOverdue": false, "notifyReviewerDuringMidpointOfReview": true, "notifyReviewPeriodEnd": true }, "remediationSettings": { "accessApproved": "NO_ACTION", "accessRevoked": "DENY", "noResponse": "NO_ACTION" }, "status": "SCHEDULED" }