List Campaigns
GEThttps://sailpoint.api.identitynow.com/beta/campaigns
This endpoint has been deprecated and may be replaced or removed in future versions of the API.
Use this API to get a list of campaigns. The API can provide increased level of detail for each campaign for the correct provided query. Though this Beta endpoint has been deprecated, you can find its V3 equivalent here.
A token with ORG_ADMIN, CERT_ADMIN or REPORT_ADMIN authority is required to call this API.
Request
Query Parameters
Possible values: [SLIM
, FULL
]
Determines whether slim, or increased level of detail is provided for each campaign in the returned list. Slim is the default behavior.
Possible values: <= 250
Max number of results to return. See V3 API Standard Collection Parameters for more information.
250
Offset into the full result set. Usually specified with limit to paginate through the results. See V3 API Standard Collection Parameters for more information.
0
If true it will populate the X-Total-Count response header with the number of results that would be returned if limit and offset were ignored.
Since requesting a total count can have a performance impact, it is recommended not to send count=true if that value will not be used.
See V3 API Standard Collection Parameters for more information.
false
Filter results using the standard syntax described in V3 API Standard Collection Parameters
Filtering is supported for the following fields and operators:
id: eq, in
name: eq, sw
status: eq, in
Sort results using the standard syntax described in V3 API Standard Collection Parameters
Sorting is supported for the following fields: name, created
Responses
- 200
- 400
- 401
- 403
- 429
- 500
List of campaign objects. By default, the API returns a list of SLIM campaigns.
- application/json
- Schema
- Example (auto)
- Slim Campaign
- Full Campaign
Schema
- Array [anyOf
- Campaign
- Slim Campaign
- ]
Id of the campaign
2c9079b270a266a60170a2779fcb0007
The campaign name. If this object is part of a template, special formatting applies; see the
/campaign-templates/{id}/generate
endpoint documentation for details.
Manager Campaign
The campaign description. If this object is part of a template, special formatting applies; see the
/campaign-templates/{id}/generate
endpoint documentation for details.
Everyone needs to be reviewed by their manager
The campaign's completion deadline. This date must be in the future in order to activate the campaign. If you try to activate a campaign with a deadline of today or in the past, you will receive a 400 error response.
2020-03-15T10:00:01.456Z
The type of campaign. Could be extended in the future.
Possible values: [MANAGER
, SOURCE_OWNER
, SEARCH
, ROLE_COMPOSITION
, MACHINE_ACCOUNT
]
MANAGER
Enables email notification for this campaign
false
false
Allows auto revoke for this campaign
false
false
Enables IAI for this campaign. Accepts true even if the IAI product feature is off. If IAI is turned off then campaigns generated from this template will indicate false. The real value will then be returned if IAI is ever enabled for the org in the future.
false
true
The campaign's current status.
Possible values: [PENDING
, STAGED
, CANCELING
, ACTIVATING
, ACTIVE
, COMPLETING
, COMPLETED
, ERROR
, ARCHIVED
]
ACTIVE
The correlatedStatus of the campaign. Only SOURCE_OWNER campaigns can be Uncorrelated. An Uncorrelated certification campaign only includes Uncorrelated identities (An identity is uncorrelated if it has no accounts on an authoritative source).
Possible values: [CORRELATED
, UNCORRELATED
]
CORRELATED
Created time of the campaign
2020-03-03T22:15:13.611Z
The total number of certifications in this campaign.
100
The number of completed certifications in this campaign.
10
alerts object[]
Modified time of the campaign
2020-03-03T22:20:12.674Z
filter object
Determines if comments on sunset date changes are required.
true
true
sourceOwnerCampaignInfo object
searchCampaignInfo object
roleCompositionCampaignInfo object
machineAccountCampaignInfo object
sourcesWithOrphanEntitlements object[]
Determines whether comments are required for decisions during certification reviews. You can require comments for all decisions, revoke-only decisions, or no decisions. By default, comments are not required for decisions.
Possible values: [ALL_DECISIONS
, REVOKE_ONLY_DECISIONS
, NO_DECISIONS
]
NO_DECISIONS
Id of the campaign
2c9079b270a266a60170a2779fcb0007
The campaign name. If this object is part of a template, special formatting applies; see the
/campaign-templates/{id}/generate
endpoint documentation for details.
Manager Campaign
The campaign description. If this object is part of a template, special formatting applies; see the
/campaign-templates/{id}/generate
endpoint documentation for details.
Everyone needs to be reviewed by their manager
The campaign's completion deadline. This date must be in the future in order to activate the campaign. If you try to activate a campaign with a deadline of today or in the past, you will receive a 400 error response.
2020-03-15T10:00:01.456Z
The type of campaign. Could be extended in the future.
Possible values: [MANAGER
, SOURCE_OWNER
, SEARCH
, ROLE_COMPOSITION
, MACHINE_ACCOUNT
]
MANAGER
Enables email notification for this campaign
false
false
Allows auto revoke for this campaign
false
false
Enables IAI for this campaign. Accepts true even if the IAI product feature is off. If IAI is turned off then campaigns generated from this template will indicate false. The real value will then be returned if IAI is ever enabled for the org in the future.
false
true
The campaign's current status.
Possible values: [PENDING
, STAGED
, CANCELING
, ACTIVATING
, ACTIVE
, COMPLETING
, COMPLETED
, ERROR
, ARCHIVED
]
ACTIVE
The correlatedStatus of the campaign. Only SOURCE_OWNER campaigns can be Uncorrelated. An Uncorrelated certification campaign only includes Uncorrelated identities (An identity is uncorrelated if it has no accounts on an authoritative source).
Possible values: [CORRELATED
, UNCORRELATED
]
CORRELATED
Created time of the campaign
2020-03-03T22:15:13.611Z
The total number of certifications in this campaign.
100
The number of completed certifications in this campaign.
10
alerts object[]
[
{
"id": "2c9079b270a266a60170a2779fcb0007",
"name": "Manager Campaign",
"description": "Everyone needs to be reviewed by their manager",
"deadline": "2020-03-15T10:00:01.456Z",
"type": "MANAGER",
"emailNotificationEnabled": false,
"autoRevokeAllowed": false,
"recommendationsEnabled": true,
"status": "ACTIVE",
"correlatedStatus": "CORRELATED",
"created": "2020-03-03T22:15:13.611Z",
"totalCertifications": 100,
"completedCertifications": 10,
"alerts": [
{
"level": "ERROR",
"localizations": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
]
}
],
"modified": "2020-03-03T22:20:12.674Z",
"filter": {
"id": "0fbe863c063c4c88a35fd7f17e8a3df5",
"type": "CAMPAIGN_FILTER",
"name": "Test Filter"
},
"sunsetCommentsRequired": true,
"sourceOwnerCampaignInfo": {
"sourceIds": [
"0fbe863c063c4c88a35fd7f17e8a3df5"
]
},
"searchCampaignInfo": {
"type": "ACCESS",
"description": "Search Campaign description",
"reviewer": {
"type": "IDENTITY",
"id": "2c91808568c529c60168cca6f90c1313",
"name": "William Wilson"
},
"query": "Search Campaign query description",
"identityIds": [
"0fbe863c063c4c88a35fd7f17e8a3df5"
],
"accessConstraints": [
{
"type": "ENTITLEMENT",
"ids": [
"2c90ad2a70ace7d50170acf22ca90010"
],
"operator": "SELECTED"
}
]
},
"roleCompositionCampaignInfo": {
"reviewer": {
"type": "IDENTITY",
"id": "2c91808568c529c60168cca6f90c1313",
"name": "William Wilson"
},
"roleIds": [
"2c90ad2a70ace7d50170acf22ca90010"
],
"remediatorRef": {
"type": "IDENTITY",
"id": "2c90ad2a70ace7d50170acf22ca90010",
"name": "Role Admin"
},
"query": "Search Query",
"description": "Role Composition Description"
},
"machineAccountCampaignInfo": {
"sourceIds": [
"0fbe863c063c4c88a35fd7f17e8a3df5"
],
"reviewerType": "ACCOUNT_OWNER"
},
"sourcesWithOrphanEntitlements": [
{
"id": "2c90ad2a70ace7d50170acf22ca90010",
"type": "SOURCE",
"name": "Source with orphan entitlements"
}
],
"mandatoryCommentRequirement": "NO_DECISIONS"
},
{
"id": "2c9079b270a266a60170a2779fcb0007",
"name": "Manager Campaign",
"description": "Everyone needs to be reviewed by their manager",
"deadline": "2020-03-15T10:00:01.456Z",
"type": "MANAGER",
"emailNotificationEnabled": false,
"autoRevokeAllowed": false,
"recommendationsEnabled": true,
"status": "ACTIVE",
"correlatedStatus": "CORRELATED",
"created": "2020-03-03T22:15:13.611Z",
"totalCertifications": 100,
"completedCertifications": 10,
"alerts": [
{
"level": "ERROR",
"localizations": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
]
}
]
}
]
[
{
"id": "2c918086719eec070171a7e3355a360a",
"name": "Manager Review",
"description": "A review of everyone's access by their manager.",
"deadline": "2020-12-25T06:00:00.123Z",
"type": "MANAGER",
"status": "ACTIVE",
"emailNotificationEnabled": false,
"autoRevokeAllowed": false,
"recommendationsEnabled": false,
"created": "2022-08-02T20:29:51.065Z",
"totalCertifications": 10,
"completedCertifications": 3,
"alerts": [
{
"level": "ERROR",
"localizations": [
{
"locale": "en",
"localeOrigin": "DEFAULT",
"text": "Composite criterion must have children non-composite criterion must not."
}
]
}
]
},
{
"id": "7e1a731e3fb845cfbe58112ba4673ee4",
"name": "Search Campaign",
"description": "Search Campaign Info",
"deadline": "2022-07-26T15:42:44.000Z",
"type": "SEARCH",
"status": "ACTIVE",
"emailNotificationEnabled": false,
"autoRevokeAllowed": false,
"recommendationsEnabled": false,
"created": "2022-08-02T19:00:27.731Z",
"totalCertifications": 5,
"completedCertifications": 3,
"alerts": null
},
{
"id": "2c918086719eec070171a7e3355a412b",
"name": "AD Source Review",
"description": "A review of our AD source.",
"deadline": "2020-12-25T06:00:00.123Z",
"type": "SOURCE_OWNER",
"status": "STAGED",
"emailNotificationEnabled": true,
"autoRevokeAllowed": false,
"recommendationsEnabled": false,
"created": "2022-07-25T15:42:18.276Z",
"totalCertifications": 7,
"completedCertifications": 3,
"alerts": [
{
"level": "WARN",
"localizations": [
{
"locale": "en",
"localeOrigin": "DEFAULT",
"text": "Composite criterion is in wrong format."
}
]
}
],
"correlatedStatus": "CORRELATED"
},
{
"id": "3b2e2e5821e84127b6d693d41c40623b",
"name": "Role Composition Campaign",
"description": "A review done by a role owner.",
"deadline": "2020-12-25T06:00:00.468Z",
"type": "ROLE_COMPOSITION",
"status": "ACTIVE",
"emailNotificationEnabled": false,
"autoRevokeAllowed": false,
"recommendationsEnabled": false,
"created": "2022-07-27T17:04:19.027Z",
"totalCertifications": 1,
"completedCertifications": 1,
"alerts": null
}
]
[
{
"id": "078696a575e045c68d6722ccdb9f101d",
"name": "Role Composition Campaign",
"description": "A review done by a role owner.",
"deadline": "2020-12-25T06:00:00.468Z",
"type": "ROLE_COMPOSITION",
"status": "ERROR",
"emailNotificationEnabled": false,
"autoRevokeAllowed": false,
"recommendationsEnabled": false,
"modified": "2022-08-02T20:29:51.331Z",
"filter": {
"type": "CAMPAIGN_FILTER",
"id": "0fbe863c063c4c88a35fd7f17e8a3df5",
"name": "Test Role Composition Filter"
},
"sunsetCommentsRequired": true,
"sourceOwnerCampaignInfo": null,
"searchCampaignInfo": null,
"roleCompositionCampaignInfo": {
"remediatorRef": {
"type": "IDENTITY",
"id": "7ec252acbd4245548bc25df22348cb75",
"name": "SailPoint Support"
},
"reviewerId": null,
"reviewer": null,
"roleIds": [
"b15d609fc5c8434b865fe552315fda8f"
],
"query": null,
"description": null
},
"sourcesWithOrphanEntitlements": null,
"mandatoryCommentRequirement": "NO_DECISIONS"
},
{
"id": "1be8fc1103914bf0a4e14e316b6a7b7c",
"name": "Manager Review",
"description": "A review of everyone's access by their manager.",
"deadline": "2020-12-25T06:00:00.468Z",
"type": "MANAGER",
"status": "STAGED",
"emailNotificationEnabled": false,
"autoRevokeAllowed": false,
"recommendationsEnabled": false,
"modified": "2022-08-02T19:00:34.391Z",
"filter": {
"type": "CAMPAIGN_FILTER",
"id": "0fbe863c063c4c88a35fd7f17e8a3df5",
"name": "Test Manager Filter"
},
"sunsetCommentsRequired": true,
"sourceOwnerCampaignInfo": null,
"searchCampaignInfo": null,
"roleCompositionCampaignInfo": null,
"sourcesWithOrphanEntitlements": [],
"mandatoryCommentRequirement": "NO_DECISIONS"
},
{
"id": "7e1a731e3fb845cfbe58112ba4673ee4",
"name": "Search Campaign",
"description": "Search Campaign for Identities",
"deadline": "2022-07-26T15:42:44.000Z",
"type": "SEARCH",
"status": "ACTIVE",
"emailNotificationEnabled": false,
"autoRevokeAllowed": false,
"recommendationsEnabled": false,
"modified": "2022-07-25T15:42:53.718Z",
"filter": {
"type": "CAMPAIGN_FILTER",
"id": "0fbe863c063c4c88a35fd7f17e8a3df5",
"name": "Test Search Filter"
},
"sunsetCommentsRequired": true,
"sourceOwnerCampaignInfo": null,
"searchCampaignInfo": {
"type": "IDENTITY",
"description": "Example of Search Campaign",
"reviewer": {
"type": "IDENTITY",
"id": "7ec252acbd4245548bc25df22348cb75",
"name": null
},
"query": "user",
"identityIds": null,
"accessConstraints": []
},
"roleCompositionCampaignInfo": null,
"sourcesWithOrphanEntitlements": [],
"mandatoryCommentRequirement": "NO_DECISIONS"
},
{
"id": "ad3cf3dd50394b1bad646de4bc51b999",
"name": "Source Owner Campaign",
"description": "Example for Source Owner Campaign",
"deadline": "2022-08-10T17:09:02.000Z",
"type": "SOURCE_OWNER",
"status": "ACTIVE",
"emailNotificationEnabled": true,
"autoRevokeAllowed": false,
"recommendationsEnabled": false,
"modified": "2022-07-27T17:09:13.925Z",
"filter": {
"type": "CAMPAIGN_FILTER",
"id": "0fbe863c063c4c88a35fd7f17e8a3df5",
"name": "Test Source Owner Filter"
},
"sunsetCommentsRequired": true,
"sourceOwnerCampaignInfo": {
"sourceIds": [
"2c91808781fd5aea01821200dc88318e"
]
},
"searchCampaignInfo": null,
"roleCompositionCampaignInfo": null,
"sourcesWithOrphanEntitlements": [],
"correlatedStatus": "CORRELATED",
"mandatoryCommentRequirement": "NO_DECISIONS"
}
]
Client Error - Returned if the request body is invalid.
- application/json
- Schema
- Example (auto)
Schema
Fine-grained error code providing more detail of the error.
400.1 Bad Request Content
Unique tracking id for the error.
e7eab60924f64aa284175b9fa3309599
messages object[]
causes object[]
{
"detailCode": "400.1 Bad Request Content",
"trackingId": "e7eab60924f64aa284175b9fa3309599",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
],
"causes": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
]
}
Unauthorized - Returned if there is no authorization header, or if the JWT token is expired.
- application/json
- Schema
- Example (auto)
Schema
A message describing the error
JWT validation failed: JWT is expired
{
"error": "JWT validation failed: JWT is expired"
}
Forbidden - Returned if the user you are running as, doesn't have access to this end-point.
- application/json
- Schema
- Example (auto)
- 403
Schema
Fine-grained error code providing more detail of the error.
400.1 Bad Request Content
Unique tracking id for the error.
e7eab60924f64aa284175b9fa3309599
messages object[]
causes object[]
{
"detailCode": "400.1 Bad Request Content",
"trackingId": "e7eab60924f64aa284175b9fa3309599",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
],
"causes": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
]
}
An example of a 403 response object
{
"detailCode": "403 Forbidden",
"trackingId": "b21b1f7ce4da4d639f2c62a57171b427",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The server understood the request but refuses to authorize it."
}
]
}
Too Many Requests - Returned in response to too many requests in a given period of time - rate limited. The Retry-After header in the response includes how long to wait before trying again.
- application/json
- Schema
- Example (auto)
Schema
A message describing the error
Rate Limit Exceeded
{
"message": " Rate Limit Exceeded "
}
Internal Server Error - Returned if there is an unexpected error.
- application/json
- Schema
- Example (auto)
- 500
Schema
Fine-grained error code providing more detail of the error.
400.1 Bad Request Content
Unique tracking id for the error.
e7eab60924f64aa284175b9fa3309599
messages object[]
causes object[]
{
"detailCode": "400.1 Bad Request Content",
"trackingId": "e7eab60924f64aa284175b9fa3309599",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
],
"causes": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
]
}
An example of a 500 response object
{
"detailCode": "500.0 Internal Fault",
"trackingId": "b21b1f7ce4da4d639f2c62a57171b427",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "An internal fault occurred."
}
]
}
Authorization: oauth2
type: Personal Access Tokenscopes: idn:campaign:read, idn:campaign:manage, idn:campaign-report:read, idn:campaign-report:manage
user levels: ORG_ADMIN, CERT_ADMIN, REPORT_ADMIN
- goSailPoint SDK
- powershellSailPoint SDK
- pythonSailPoint SDK
- csharp
- curl
- dart
- http
- java
- javascript
- kotlin
- c
- nodejs
- objective-c
- ocaml
- php
- r
- ruby
- rust
- shell
- swift
- SDK
- NATIVE
package main
import (
"context"
"fmt"
"os"
"encoding/json"
beta "github.com/sailpoint-oss/golang-sdk/v2/api_beta"
sailpoint "github.com/sailpoint-oss/golang-sdk/v2"
)
func main() {
detail := `FULL` // string | Determines whether slim, or increased level of detail is provided for each campaign in the returned list. Slim is the default behavior. (optional) # string | Determines whether slim, or increased level of detail is provided for each campaign in the returned list. Slim is the default behavior. (optional)
limit := 250 // int32 | Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 250) # int32 | Max number of results to return. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 250)
offset := 0 // int32 | Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 0) # int32 | Offset into the full result set. Usually specified with *limit* to paginate through the results. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to 0)
count := true // bool | If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to false) # bool | If *true* it will populate the *X-Total-Count* response header with the number of results that would be returned if *limit* and *offset* were ignored. Since requesting a total count can have a performance impact, it is recommended not to send **count=true** if that value will not be used. See [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters) for more information. (optional) (default to false)
filters := `name eq "Manager Campaign"` // string | Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#filtering-results) Filtering is supported for the following fields and operators: **id**: *eq, in* **name**: *eq, sw* **status**: *eq, in* (optional) # string | Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#filtering-results) Filtering is supported for the following fields and operators: **id**: *eq, in* **name**: *eq, sw* **status**: *eq, in* (optional)
sorters := `name` // string | Sort results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#sorting-results) Sorting is supported for the following fields: **name, created** (optional) # string | Sort results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#sorting-results) Sorting is supported for the following fields: **name, created** (optional)
configuration := sailpoint.NewDefaultConfiguration()
apiClient := sailpoint.NewAPIClient(configuration)
resp, r, err := apiClient.Beta.CertificationCampaignsAPI.GetActiveCampaigns(context.Background()).Execute()
//resp, r, err := apiClient.Beta.CertificationCampaignsAPI.GetActiveCampaigns(context.Background()).Detail(detail).Limit(limit).Offset(offset).Count(count).Filters(filters).Sorters(sorters).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `CertificationCampaignsAPI.GetActiveCampaigns``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `GetActiveCampaigns`: []GetActiveCampaigns200ResponseInner
fmt.Fprintf(os.Stdout, "Response from `CertificationCampaignsAPI.GetActiveCampaigns`: %v\n", resp)
}