openapi: 3.0.1
info:
title: Identity Security Cloud V3 API
description: Use these APIs to interact with the Identity Security Cloud platform to achieve repeatable, automated processes with greater scalability. We encourage you to join the SailPoint Developer Community forum at https://developer.sailpoint.com/discuss to connect with other developers using our APIs.
termsOfService: https://developer.sailpoint.com/discuss/tos
contact:
name: Developer Relations
url: https://developer.sailpoint.com/discuss/api-help
license:
name: MIT
url: https://opensource.org/licenses/MIT
version: 3.0.0
servers:
- url: https://{tenant}.api.identitynow.com/v3
description: This is the production API server.
variables:
tenant:
default: sailpoint
description: This is the name of your tenant, typically your company's name.
- url: https://{apiUrl}/v3
description: This is the V3 API server.
variables:
apiUrl:
default: sailpoint.api.identitynow.com
description: This is the api url of your tenant
security:
- userAuth:
- sp:scopes:all
tags:
- name: Access Profiles
description: |
Use this API to implement and customize access profile functionality.
With this functionality in place, administrators can create access profiles and configure them for use throughout Identity Security Cloud, enabling users to get the access they need quickly and securely.
Access profiles group entitlements, which represent access rights on sources.
For example, an Active Directory source in Identity Security Cloud can have multiple entitlements: the first, 'Employees,' may represent the access all employees have at the organization, and a second, 'Developers,' may represent the access all developers have at the organization.
An administrator can then create a broader set of access in the form of an access profile, 'AD Developers' grouping the 'Employees' entitlement with the 'Developers' entitlement.
When users only need Active Directory employee access, they can request access to the 'Employees' entitlement.
When users need both Active Directory employee and developer access, they can request access to the 'AD Developers' access profile.
Identity Security Cloud uses access profiles in many features, including the following:
- Provisioning: When you use the Provisioning Service, lifecycle states and roles both grant access to users in the form of access profiles.
- Certifications: You can approve or revoke access profiles in certification campaigns, just like entitlements.
- Access Requests: You can assign access profiles to applications, and when a user requests access to the app associated with an access profile and someone approves the request, access is granted to both the application and its associated access profile.
- Roles: You can group one or more access profiles into a role to quickly assign access items based on an identity's role.
In Identity Security Cloud, administrators can use the Access drop-down menu and select Access Profiles to view, configure, and delete existing access profiles, as well as create new ones.
Administrators can enable and disable an access profile, and they can also make the following configurations:
- Manage Entitlements: Manage the profile's access by adding and removing entitlements.
- Access Requests: Configure access profiles to be requestable and establish an approval process for any requests that the access profile be granted or revoked.
Do not configure an access profile to be requestable without first establishing a secure access request approval process for the access profile.
- Multiple Account Options: Define the logic Identity Security Cloud uses to provision access to an identity with multiple accounts on the source.
Refer to [Managing Access Profiles](https://documentation.sailpoint.com/saas/help/access/access-profiles.html) for more information about access profiles.
- name: Access Request Approvals
description: |
Use this API to implement and customize access request approval functionality.
With this functionality in place, administrators can delegate qualified users to review users' requests for access or managers' requests to revoke team members' access to applications, entitlements, or roles.
This enables more qualified users to review access requests and the others to spend their time on other tasks.
In Identity Security Cloud, users can request access to applications, entitlements, and roles, and managers can request that team members' access be revoked.
For applications and entitlements, administrators can set access profiles to require approval from the access profile owner, the application owner, the source owner, the requesting user's manager, or a governance group for access to be granted or revoked.
For roles, administrators can also set roles to allow access requests and require approval from the role owner, the requesting user's manager, or a governance group for access to be granted or revoked.
If the administrator designates a governance group as the required approver, any governance group member can approve the requests.
When a user submits an access request, Identity Security Cloud sends the first required approver in the queue an email notification, based on the access request configuration's approval and reminder escalation configuration.
In Approvals in Identity Security Cloud, required approvers can view pending access requests under the Requested tab and approve or deny them, or the approvers can reassign the requests to different reviewers for approval.
If the required approver approves the request and is the only reviewer required, Identity Security Cloud grants or revokes access, based on the request.
If multiple reviewers are required, Identity Security Cloud sends the request to the next reviewer in the queue, based on the access request configuration's approval reminder and escalation configuration.
The required approver can then view any completed access requests under the Reviewed tab.
Refer to [Access Requests](https://documentation.sailpoint.com/saas/help/requests/index.html) for more information about access request approvals.
- name: Access Requests
description: |
Use this API to implement and customize access request functionality.
With this functionality in place, users can request access to applications, entitlements, or roles, and managers can request that team members' access be revoked.
This allows users to get access to the tools they need quickly and securely, and it allows managers to take away access to those tools.
Identity Security Cloud's Access Request service allows end users to request access that requires approval before it can be granted to users and enables qualified users to review those requests and approve or deny them.
In the Request Center in Identity Security Cloud, users can view available applications, roles, and entitlements and request access to them.
If the requested tools requires approval, the requests appear as 'Pending' under the My Requests tab until the required approver approves, rejects, or cancels them.
Users can use My Requests to track and/or cancel the requests.
In My Team on the Identity Security Cloud Home, managers can submit requests to revoke their team members' access.
They can use the My Requests tab under Request Center to track and/or cancel the requests.
Refer to [Requesting Access](https://documentation.sailpoint.com/saas/user-help/requests/request_center.html) for more information about access requests.
- name: Account Activities
description: |
Use this API to implement account activity tracking functionality.
With this functionality in place, users can track source account activity in Identity Security Cloud, which greatly improves traceability in the system.
An account activity refers to a log of each action performed on a source account. This is useful for auditing the changes performed on an account throughout its life.
In Identity Security Cloud's Search, users can search for account activities and select the activity's row to get an overview of the activity's account action and view its progress, its involved sources, and its most basic metadata, such as the identity requesting the option and the recipient.
Account activity includes most actions Identity Security Cloud completes on source accounts. Users can search in Identity Security Cloud for the following account action types:
- Access Request: These include any access requests the source account is involved in.
- Account Attribute Updates: These include updates to a single attribute on an account on a source.
- Account State Update: These include locking or unlocking actions on an account on a source.
- Certification: These include actions removing an entitlement from an account on a source as a result of the entitlement's revocation during a certification.
- Cloud Automated `Lifecyclestate`: These include automated lifecycle state changes that result in a source account's correlated identity being assigned to a different lifecycle state.
Identity Security Cloud replaces the `Lifecyclestate` variable with the name of the lifecycle state it has moved the account's identity to.
- Identity Attribute Update: These include updates to a source account's correlated identity attributes as the result of a provisioning action.
When you update an identity attribute that also updates an identity's lifecycle state, the cloud automated `Lifecyclestate` event also displays.
Account Activity does not include attribute updates that occur as a result of aggregation.
- Identity Refresh: These include correlated identity refreshes that occur for an account on a source whenever the account's correlated identity profile gets a new role or updates.
These also include refreshes that occur whenever Identity Security Cloud assigns an application to the account's correlated identity based on the application's being assigned to All Users From Source or Specific Users From Source.
- Lifecycle State Refresh: These include the actions that took place when a lifecycle state changed. This event only occurs after a cloud automated `Lifecyclestate` change or a lifecycle state change.
- Lifecycle State Change: These include the account activities that result from an identity's manual assignment to a null lifecycle state.
- Password Change: These include password changes on sources.
Refer to [Account Activity](https://documentation.sailpoint.com/saas/help/search/index.html#account-activity) for more information about account activities.
- name: Account Usages
description: |
Use this API to implement account usage insight functionality.
With this functionality in place, administrators can gather information and insights about how their tenants' source accounts are being used.
This allows organizations to get the information they need to start optimizing and securing source account usage.
- name: Accounts
description: |
Use this API to implement and customize account functionality.
With this functionality in place, administrators can manage users' access across sources in Identity Security Cloud.
In Identity Security Cloud, an account refers to a user's account on a supported source.
This typically includes a unique identifier for the user, a unique password, a set of permissions associated with the source and a set of attributes. Identity Security Cloud loads accounts through the creation of sources in Identity Security Cloud.
Administrators can correlate users' identities with the users' accounts on the different sources they use.
This allows Identity Security Cloud to govern the access of identities and all their correlated accounts securely and cohesively.
To view the accounts on a source and their correlated identities, administrators can use the Connections drop-down menu, select Sources, select the relevant source, and select its Account tab.
To view and edit source account statuses for an identity in Identity Security Cloud, administrators can use the Identities drop-down menu, select Identity List, select the relevant identity, and select its Accounts tab.
Administrators can toggle an account's Actions to aggregate the account, enable/disable it, unlock it, or remove it from the identity.
Accounts can have the following statuses:
- Enabled: The account is enabled. The user can access it.
- Disabled: The account is disabled, and the user cannot access it, but the identity is not disabled in Identity Security Cloud. This can occur when an administrator disables the account or when the user's lifecycle state changes.
- Locked: The account is locked. This may occur when someone has entered an incorrect password for the account too many times.
- Pending: The account is currently updating. This status typically lasts seconds.
Administrators can select the source account to view its attributes, entitlements, and the last time the account's password was changed.
Refer to [Managing User Accounts](https://documentation.sailpoint.com/saas/help/accounts/identities.html?h=disabling+identities#managing-access) for more information about accounts.
- name: Application Discovery
description: |
Use this API to implement application discovery functionality.
With this functionality in place, you can discover applications within your Okta connector and receive connector recommendations by manually uploading application names.
- name: Auth Users
description: |
Use this API to implement user authentication system functionality.
With this functionality in place, users can get a user's authentication system details, including their capabilities, and modify those capabilities.
The user's capabilities refer to their access to different systems, or authorization, within the tenant, like access to certifications (CERT_ADMIN) or reports (REPORT_ADMIN).
These capabilities also determine a user's access to the different APIs.
This API provides users with a way to determine a user's access and make quick and easy changes to that access.
- name: Branding
description: |
Use this API to implement and customize branding functionality.
With this functionality in place, administrators can get and manage existing branding items, and they can also create new branding items and configure them for use throughout Identity Security Cloud.
The Branding APIs provide administrators with a way to customize branding items.
This customization includes details like their colors, logos, and other information.
Refer to [Certifications](https://documentation.sailpoint.com/saas/user-help/certs/reviewing/index.html) for more information about certifications.
- name: Certification Campaign Filters
description: |
Use this API to implement the certification campaign filter functionality. These filters can be used to create a certification campaign that includes a subset of your entitlements or users to certify.
For example, if for a certification campaign an organization wants to certify only specific users or entitlements, then those can be included/excluded on the basis of campaign filters.
For more information about creating a campaign filter, refer to [Creating a Campaign Filter](https://documentation.sailpoint.com/saas/help/certs/campaign_filters.html#creating-a-campaign-filter)
You can create campaign filters using any of the following criteria types:
- Access Profile : This criteria type includes or excludes access profiles from a campaign.
- Account Attribute : This criteria type includes or excludes certification items that match a specified value in an account attribute.
- Entitlement : This criteria type includes or excludes entitlements from a campaign.
- Identity : This criteria type includes or excludes specific identities from your campaign.
- Identity Attribute : This criteria type includes or excludes identities based on whether they have an identity attribute that matches criteria you've chosen.
- Role : This criteria type includes or excludes roles, as opposed to identities.
- Source : This criteria type includes or excludes entitlements from a source you select.
For more information about these criteria types, refer to [Types of Campaign Filters](https://documentation.sailpoint.com/saas/help/certs/campaign_filters.html#types-of-campaign-filters)
Once the campaign filter is created, it can be linked while creating the campaign. The generated campaign will have the items to review as per the campaign filter.
For example, An inclusion campaign filter is created with a source of Source 1, an operation of Equals, and an entitlement of Entitlement 1. When this filter is selected, only users who have Entitlement 1 are included in the campaign, and only Entitlement 1 is shown in the certification.
- name: Certification Campaigns
description: |
Use this API to implement certification campaign functionality.
With this functionality in place, administrators can create, customize, and manage certification campaigns for their organizations' use.
Certification campaigns provide Identity Security Cloud users with an interactive review process they can use to identify and verify access to systems.
Campaigns help organizations reduce risk of inappropriate access and satisfy audit requirements.
A certification refers to Identity Security Cloud's mechanism for reviewing a user's access to entitlements (sets of permissions) and approving or removing that access.
These certifications serve as a way of showing that a user's access has been reviewed and approved.
Multiple certifications by different reviewers are often required to approve a user's access.
A set of multiple certifications is called a certification campaign.
For example, an organization may use a Manager Certification campaign as a way of showing that a user's access has been reviewed and approved by multiple managers.
Once this campaign has been completed, Identity Security Cloud would provision all the access the user needs, nothing more.
Identity Security Cloud provides two simple campaign types users can create without using search queries, Manager and Source Owner campaigns:
You can create these types of campaigns without using any search queries in Identity Security Cloud:
- ManagerCampaign: Identity Security Cloud provides this campaign type as a way to ensure that an identity's access is certified by their managers.
You only need to provide a name and description to create one.
- Source Owner Campaign: Identity Security Cloud provides this campaign type as a way to ensure that an identity's access to a source is certified by its source owners.
You only need to provide a name and description to create one.
You can specify the sources whose owners you want involved or just run it across all sources.
For more information about these campaign types, refer to [Starting a Manager or Source Owner Campaign](https://documentation.sailpoint.com/saas/help/certs/starting_campaign.html).
One useful way to create certification campaigns in Identity Security Cloud is to use a specific search and then run a campaign on the results returned by that search.
This allows you to be much more specific about whom you are certifying in your campaigns and what access you are certifying in your campaigns.
For example, you can search for all identities who are managed by "Amanda.Ross" and also have the access to the "Accounting" role and then run a certification campaign based on that search to ensure that the returned identities are appropriately certified.
You can use Identity Security Cloud search queries to create these types of campaigns:
- Identities: Use this campaign type to review and revoke access items for specific identities.
You can either build a search query and create a campaign certifying all identities returned by that query, or you can search for individual identities and add those identities to the certification campaign.
- Access Items: Use this campaign type to review and revoke a set of roles, access profiles, or entitlements from the identities that have them.
You can either build a search query and create a campaign certifying all access items returned by that query, or you can search for individual access items and add those items to the certification campaign.
- Role Composition: Use this campaign type to review a role's composition, including its title, description, and membership criteria.
You can either build a search query and create a campaign certifying all roles returned by that query, or you can search for individual roles and add those roles to the certification campaign.
- Uncorrelated Accounts: Use this campaign type to certify source accounts that aren't linked to an authoritative identity in Identity Security Cloud.
You can use this campaign type to view all the uncorrelated accounts for a source and certify them.
For more information about search-based campaigns, refer to [Starting a Campaign from Search](https://documentation.sailpoint.com/saas/help/certs/starting_search_campaign.html).
Once you have generated your campaign, it becomes available for preview.
An administrator can review the campaign and make changes, or if it's ready and accurate, activate it.
Once the campaign is active, organization administrators or certification administrators can designate other Identity Security Cloud users as certification reviewers.
Those reviewers can view any of the certifications they either need to review (active) or have already reviewed (completed).
When a certification campaign is in progress, certification reviewers see the listed active certifications whose involved identities they can review.
Reviewers can then make decisions to grant or revoke access, as well as reassign the certification to another reviewer. If the reviewer chooses this option, they must provide a reason for reassignment in the form of a comment.
Once a reviewer has made decisions on all the certification's involved access items, he or she must "Sign Off" to complete the review process.
Doing so converts the certification into read-only status, preventing any further changes to the review decisions and deleting the work item (task) from the reviewer's list of work items.
Once all the reviewers have signed off, the certification campaign either completes or, if any reviewers decided to revoke access for any of the involved identities, it moves into a remediation phase.
In the remediation phase, identities' entitlements are altered to remove any entitlements marked for revocation.
In this situation, the certification campaign completes once all the remediation requests are completed.
The end of a certification campaign is determined by its deadline, its completion status, or by an administrator's decision.
For more information about certifications and certification campaigns, refer to [Certifications](https://documentation.sailpoint.com/saas/user-help/certs/reviewing/index.html).
- name: Certification Summaries
description: |
Use this API to implement certification summary functionality.
With this functionality in place, administrators and designated certification reviewers can review summaries of identity certification campaigns and draw conclusions about the campaigns' scope, security, and effectiveness.
Implementing certification summary functionality improves organizations' ability to review their [certifications](https://documentation.sailpoint.com/saas/user-help/certs/reviewing/index.html) and helps them satisfy audit and regulatory requirements by enabling them to trace access changes and the decisions made in their review processes.
A certification refers to Identity Security Cloud's mechanism for reviewing a user's access to entitlements (sets of permissions) and approving or removing that access.
These certifications serve as a way of showing that a user's access has been reviewed and approved.
Multiple certifications by different reviewers are often required to approve a user's access.
A set of multiple certifications is called a certification campaign.
For example, an organization may use a Manager Certification as a way of showing that a user's access has been reviewed and approved by their manager, or if the certification is part of a campaign, that the user's access has been reviewed and approved by multiple managers.
Once this certification has been completed, Identity Security Cloud would provision all the access the user needs, nothing more.
Certification summaries provide information about identity certification campaigns such as the identities involved, the number of decisions made, and the access changed.
For example, an administrator or designated certification reviewer can examine the Manager Certification campaign to get an overview of how many entitlement decisions are made in that campaign as opposed to role decisions, which identities would be affected by changes to the campaign, and how those identities' access would be affected.
- name: Certifications
description: |
Use this API to implement certification functionality.
With this functionality in place, administrators and designated certification reviewers can review users' access certifications and decide whether to approve access, revoke it, or reassign the review to another reviewer.
Implementing certifications improves organizations' data security by reducing inappropriate access through a distributed review process and helping them satisfy audit and regulatory requirements.
A certification refers to Identity Security Cloud's mechanism for reviewing a user's access to entitlements (sets of permissions) and approving or removing that access.
These serve as a way of showing that a user's access has been reviewed and approved.
Multiple certifications by different reviewers are often required to approve a user's access.
A set of multiple certifications is called a certification campaign.
For example, an organization may use a Manager Certification as a way of showing that a user's access has been reviewed and approved by their manager, or if the certification is part of a campaign, that the user's access has been reviewed and approved by multiple managers.
Once this certification has been completed, Identity Security Cloud would provision all the access the user needs, nothing more.
Organization administrators or certification administrators can designate other Identity Security Cloud users as certification reviewers.
Those reviewers can select the 'Certifications' tab to view any of the certifications they either need to review or have already reviewed under the 'Active' and 'Completed' tabs, respectively.
When a certification campaign is in progress, certification reviewers will see certifications listed under 'Active,' where they can review the involved identities.
Under the 'Decision' column on the right, next to each access item, reviewers can select the checkmark to approve access, select the 'X' to revoke access, or they can toggle the 'More Options' menu to reassign the certification to another reviewer and provide a reason for reassignment in the form of a comment.
Once a reviewer has made decisions on all the certification's involved access items, he or she must select 'Sign Off' to complete the review process.
Doing so converts the certification into read-only status, preventing any further changes to the review decisions and deleting the work item (task) from the reviewer's list of work items.
Once all the reviewers have signed off, the certification campaign either completes or, if any reviewers decided to revoke access for any of the involved identities, it moves into a remediation phase. In the remediation phase, identities' entitlements are altered to remove any entitlements marked for revocation.
In this situation, the certification campaign completes once all the remediation requests are completed.
- name: Configuration Hub
description: |
Upload configurations and manage object mappings between tenants.
Configuration files can be managed and deployed using Configuration Hub by uploading a JSON file which contains configuration data.
The function of object mapping allows objects with varying names and IDs to be compared. While objects are compared, a user can replace a value in the source tenant with a new value. Object mapping also helps in locating referenced objects to the source object during the drafting process.
Refer to [Uploading a Configuration File](https://documentation.sailpoint.com/saas/help/confighub/config_hub.html#uploading-a-configuration-file) for more information about uploading Configuration Files
Refer to [Mapping Objects](https://documentation.sailpoint.com/saas/help/confighub/config_hub.html#mapping-objects) for more information about object mappings.
- name: Connectors
description: |
Use this API to implement connector functionality.
With this functionality in place, administrators can view available connectors.
Connectors are the bridges Identity Security Cloud uses to communicate with and aggregate data from sources.
For example, if it is necessary to set up a connection between Identity Security Cloud and the Active Directory source, a connector can bridge the two and enable Identity Security Cloud to synchronize data between the systems.
This ensures account entitlements and states are correct throughout the organization.
In Identity Security Cloud, administrators can use the Connections drop-down menu and select Sources to view the available source connectors.
Refer to [Identity Security Cloud Connectors](https://documentation.sailpoint.com/connectors/identitynow/landingpages/help/landingpages/identitynow_connectivity_landing.html) for more information about the connectors available in Identity Security Cloud.
Refer to [SaaS Connectivity](https://developer.sailpoint.com/docs/connectivity/saas-connectivity/) for more information about the SaaS custom connectors that do not need VAs (virtual appliances) to communicate with their sources.
Refer to [Managing Sources](https://documentation.sailpoint.com/saas/help/sources/index.html) for more information about using connectors in Identity Security Cloud.
- name: Global Tenant Security Settings
description: |
Use this API to implement and customize global tenant security settings.
With this functionality in place, administrators can manage the global security settings that a tenant/org has.
This API can be used to configure the networks and Geographies allowed to access Identity Security Cloud URLs.
- name: Identity Profiles
description: |
Use this API to implement identity profile functionality.
With this functionality in place, administrators can view identity profiles and their configurations.
Identity profiles represent the configurations that can be applied to identities as a way of granting them a set of security and access, as well as defining the mappings between their identity attributes and their source attributes.
In Identity Security Cloud, administrators can use the Identities drop-down menu and select Identity Profiles to view the list of identity profiles.
This list shows some details about each identity profile, along with its status.
They can select an identity profile to view its settings, its mappings between identity attributes and correlating source account attributes, and its provisioning settings.
Refer to [Creating Identity Profiles](https://documentation.sailpoint.com/saas/help/setup/identity_profiles.html) for more information about identity profiles.
- name: Lifecycle States
description: |
Use this API to implement and customize lifecycle state functionality.
With this functionality in place, administrators can create and configure custom lifecycle states for use across their organizations, which is key to controlling which users have access, when they have access, and the access they have.
A lifecycle state describes a user's status in a company. For example, two lifecycle states come by default with Identity Security Cloud: 'Active' and 'Inactive.'
When an active employee takes an extended leave of absence from a company, his or her lifecycle state may change to 'Inactive,' for security purposes.
The inactive employee would lose access to all the applications, sources, and sensitive data during the leave of absence, but when the employee returns and becomes active again, all that access would be restored.
This saves administrators the time that would otherwise be spent provisioning the employee's access to each individual tool, reviewing the employee's certification history, etc.
Administrators can create a variety of custom lifecycle states. Refer to [Planning New Lifecycle States](https://documentation.sailpoint.com/saas/help/provisioning/lifecycle.html#planning-new-lifecycle-states) for some custom lifecycle state ideas.
Administrators must define the criteria for being in each lifecycle state, and they must define how Identity Security Cloud manages users' access to apps and sources for each lifecycle state.
In Identity Security Cloud, administrators can manage lifecycle states by going to Admin > Identities > Identity Profile, selecting the identity profile whose lifecycle states they want to manage, selecting the 'Provisioning' tab, and using the left panel to either select the lifecycle state they want to modify or create a new lifecycle state.
In the 'Provisioning' tab, administrators can make the following access changes to an identity profile's lifecycle state:
- Enable/disable the lifecycle state for the identity profile.
- Enable/disable source accounts for the identity profile's lifecycle state.
- Add existing access profiles to grant to the identity profiles in that lifecycle state.
- Create a new access profile to grant to the identity profile in that lifecycle state.
Access profiles granted in a previous lifecycle state are automatically revoked when the identity moves to a new lifecycle state.
To maintain access across multiple lifecycle states, administrators must grant the access profiles in each lifecycle state.
For example, if an administrator wants users with the 'HR Employee' identity profile to maintain their building access in both the 'Active' and 'Leave of Absence' lifecycle states, the administrator must grant the access profile for that building access to both lifecycle states.
During scheduled refreshes, Identity Security Cloud evaluates lifecycle states to determine whether their assigned identities have the access defined in the lifecycle states' access profiles.
If the identities are missing access, Identity Security Cloud provisions that access.
Administrators can also use the 'Provisioning' tab to configure email notifications for Identity Security Cloud to send whenever an identity with that identity profile has a lifecycle state change.
Refer to [Configuring Lifecycle State Notifications](https://documentation.sailpoint.com/saas/help/provisioning/lifecycle.html#configuring-lifecycle-state-notifications) for more information on how to do so.
An identity's lifecycle state can have four different statuses: the lifecycle state's status can be 'Active,' it can be 'Not Set,' it can be 'Not Valid,' or it 'Does Not Match Technical Name Case.'
Refer to [Moving Identities into Lifecycle States](https://documentation.sailpoint.com/saas/help/provisioning/lifecycle.html#moving-identities-into-lifecycle-states) for more information about these different lifecycle state statuses.
Refer to [Setting Up Lifecycle States](https://documentation.sailpoint.com/saas/help/provisioning/lifecycle.html) for more information about lifecycle states.
- name: Managed Clients
description: |
Use this API to implement managed client functionality.
With this functionality in place, administrators can modify and delete existing managed clients, create new ones, and view and make changes to their log configurations.
- name: Managed Clusters
description: |
Use this API to implement managed cluster functionality.
With this functionality in place, administrators can modify and delete existing managed clients, get their statuses, and create new ones.
- name: MFA Configuration
description: Configure and test multifactor authentication (MFA) methods
- name: MFA Controller
description: This API used for multifactor authentication functionality belong to gov-multi-auth service. This controller allow you to verify authentication by specified method
- name: Non-Employee Lifecycle Management
description: |
Use this API to implement non-employee lifecycle management functionality.
With this functionality in place, administrators can create non-employee records and configure them for use in their organizations.
This allows organizations to provide secure access to non-employees and control that access.
The 'non-employee' term refers to any consultant, contractor, intern, or other user in an organization who is not a full-time permanent employee.
Organizations can track non-employees' access and activity in Identity Security Cloud by creating and maintaining non-employee sources.
Organizations can have a maximum of 50 non-employee sources.
By using SailPoint's Non-Employee Lifecycle Management functionality, you agree to the following:
- SailPoint is not responsible for storing sensitive data.
You may only add account attributes to non-employee identities that are necessary for business operations and are consistent with your contractual limitations on data that may be sent or stored in Identity Security Cloud.
- You are responsible for regularly downloading your list of non-employee accounts for all the sources you create and storing this list of accounts in a managed location to maintain an authoritative system of record and backup data for these accounts.
To manage non-employees in Identity Security Cloud, administrators must create a non-employee source and add accounts to the source.
To create a non-employee source in Identity Security Cloud, administrators must use the Admin panel to go to Connections > Sources.
They must then specify 'Non-Employee' in the 'Source Type' field.
Refer to [Creating a Non-Employee Source](https://documentation.sailpoint.com/saas/help/common/non-employee-mgmt.html#creating-a-non-employee-source) for more details about how to create non-employee sources.
To add accounts to a non-employee source in Identity Security Cloud, administrators can select the non-employee source and add the accounts.
They can also use the 'Manage Non-Employees' widget on their user dashboards to reach the list of sources and then select the non-employee source they want to add the accounts to.
Administrators can either add accounts individually or in bulk. Each non-employee source can have a maximum of 20,000 accounts.
To add accounts in bulk, they must select the 'Bulk Upload' option and upload a CSV file.
Refer to [Adding Accounts](https://documentation.sailpoint.com/saas/help/common/non-employee-mgmt.html#adding-accounts) for more details about how to add accounts to non-employee sources.
Once administrators have created the non-employee source and added accounts to it, they can create identity profiles to generate identities for the non-employee accounts and manage the non-employee identities the same way they would any other identities.
Refer to [Managing Non-Employee Sources and Accounts](https://documentation.sailpoint.com/saas/help/common/non-employee-mgmt.html) for more information about non-employee lifecycle management.
- name: OAuth Clients
description: |
Use this API to implement OAuth client functionality.
With this functionality in place, users with the appropriate security scopes can create and configure OAuth clients to use as a way to obtain authorization to use the Identity Security Cloud REST API.
Refer to [Authentication](https://developer.sailpoint.com/docs/api/authentication/) for more information about OAuth and how it works with the Identity Security Cloud REST API.
- name: Password Configuration
description: |
Use this API to implement organization password configuration functionality.
With this functionality in place, organization administrators can create organization-specific password configurations.
These configurations include details like custom password instructions, as well as digit token length and duration.
Refer to [Configuring User Authentication for Password Resets](https://documentation.sailpoint.com/saas/help/pwd/pwd_reset.html) for more information about organization password configuration functionality.
- name: Password Dictionary
description: |
Use this API to implement password dictionary functionality.
With this functionality in place, administrators can create password dictionaries to prevent users from using certain words or characters in their passwords.
A password dictionary is a list of words or characters that users are prevented from including in their passwords.
This can help protect users from themselves and force them to create passwords that are not easy to break.
A password dictionary must meet the following requirements to for the API to handle them correctly:
- It must be in .txt format.
- All characters must be UTF-8 characters.
- Each line must contain a single word or character with no spaces or whitespace characters.
- It must contain at least one line other than the locale string.
- Each line must not exceed 128 characters.
- The file must not exceed 2500 lines.
Administrators should also consider the following when they create their dictionaries:
- Lines starting with a # represent comments.
- All words in the password dictionary are case-insensitive.
For example, adding the word "password" to the dictionary also disallows the following: PASSWORD, Password, and PassWord.
- The dictionary uses substring matching.
For example, adding the word "spring" to the dictionary also disallows the following: Spring124, 345SprinG, and 8spring.
Users can then select 'Change Password' to update their passwords.
Administrators must do the following to create a password dictionary:
- Create the text file that will contain the prohibited password values.
- If the dictionary is not in English, they must add a locale string to the top line: locale:`languageCode`_`countryCode`
The languageCode value refers to the language's 2-letter ISO 639-1 code.
The countryCode value refers to the country's 2-letter ISO 3166-1 code.
Refer to this list https://docs.oracle.com/cd/E13214_01/wli/docs92/xref/xqisocodes.html to see all the available ISO 639-1 language codes and ISO 3166-1 country codes.
- Upload the .txt file to Identity Security Cloud with [Update Password Dictionary](https://developer.sailpoint.com/docs/api/v3/put-password-dictionary). Uploading a new file always overwrites the previous dictionary file.
Administrators can then specify which password policies check new passwords against the password dictionary by doing the following: In the Admin panel, they can use the Password Mgmt dropdown menu to select Policies, select the policy, and select the 'Prevent use of words in this site's password dictionary' checkbox beside it.
Refer to [Configuring Advanced Password Management Options](https://documentation.sailpoint.com/saas/help/pwd/adv_config.html) for more information about password dictionaries.
- name: Password Management
description: |
Use this API to implement password management functionality.
With this functionality in place, users can manage their identity passwords for all their applications.
In Identity Security Cloud, users can select their names in the upper right corner of the page and use the drop-down menu to select Password Manager.
Password Manager lists the user's identity's applications, possibly grouped to share passwords.
Users can then select 'Change Password' to update their passwords.
Grouping passwords allows users to update their passwords more broadly, rather than requiring them to update each password individually.
Password Manager may list the applications and sources in the following groups:
- Password Group: This refers to a group of applications that share a password.
For example, a user can use the same password for Google Drive, Google Mail, and YouTube.
Updating the password for the password group updates the password for all its included applications.
- Multi-Application Source: This refers to a source with multiple applications that share a password.
For example, a user can have a source, G Suite, that includes the Google Calendar, Google Drive, and Google Mail applications.
Updating the password for the multi-application source updates the password for all its included applications.
- Applications: These are applications that do not share passwords with other applications.
An organization may require some authentication for users to update their passwords.
Users may be required to answer security questions or use a third-party authenticator before they can confirm their updates.
Refer to [Managing Passwords](https://documentation.sailpoint.com/saas/user-help/accounts/passwords.html) for more information about password management.
- name: Password Policies
description: |
Use these APIs to implement password policies functionality.
These APIs allow you to define the policy parameters for choosing passwords.
IdentityNow comes with a default policy that you can modify to define the password requirements your users must meet to log in to IdentityNow, such as requiring a minimum password length, including special characters, and disallowing certain patterns.
If you have licensed Password Management, you can create additional password policies beyond the default one to manage passwords for supported sources in your org.
In the Identity Security Cloud Admin panel, administrators can use the Password Mgmt dropdown menu to select Sync Groups.
Refer to [Managing Password Policies](https://documentation.sailpoint.com/saas/help/pwd/pwd_policies/pwd_policies.html) for more information about password policies.
- name: Password Sync Groups
description: |
Use this API to implement password sync group functionality.
With this functionality in place, administrators can group sources into password sync groups so that all their applications share the same password.
This allows users to update the password for all the applications in a sync group if they want, rather than updating each password individually.
A password sync group is a group of applications that shares a password.
Administrators create these groups by grouping the applications' sources.
For example, an administrator can group the ActiveDirectory, GitHub, and G Suite sources together so that all those sources' applications can also be grouped to share a password.
A user can then update his or her password for ActiveDirectory, GitHub, Gmail, Google Drive, and Google Calendar all at once, rather then updating each one individually.
The following are required for administrators to create a password sync group in Identity Security Cloud:
- At least two direct connect sources connected to Identity Security Cloud and configured for Password Management.
- Each authentication source in a sync group must have at least one application. Refer to [Adding and Resetting Application Passwords](https://documentation.sailpoint.com/saas/help/pwd/adv_config.html#adding-and-resetting-application-passwords) for more information about adding applications to sources.
- At least one password policy. Refer to [Managing Password Policies](https://documentation.sailpoint.com/saas/help/pwd/pwd_policies/index.html) for more information about password policies.
In the Admin panel in Identity Security Cloud, administrators can use the Password Mgmt dropdown menu to select Sync Groups.
To create a sync group, administrators must provide a name, choose a password policy to be enforced across the sources in the sync group, and select the sources to include in the sync group.
Administrators can also delete sync groups in Identity Security Cloud, but they should know the following before they do:
- Passwords related to the associated sources will become independent, so changing one will not change the others anymore.
- Passwords for the sources' connected applications will also become independent.
- Password policies assigned to the sync group are then assigned directly to the associated sources.
To change the password policy for a source, administrators must edit it directly.
Once the password sync group has been created, users can update the password for the group in Password Manager.
Refer to [Managing Password Sync Groups](https://documentation.sailpoint.com/saas/help/pwd/sync_grps.html) for more information about password sync groups.
- name: Personal Access Tokens
description: |
Use this API to implement personal access token (PAT) functionality.
With this functionality in place, users can use PATs as an alternative to passwords for authentication in Identity Security Cloud.
PATs embed user information into the client ID and secret.
This replaces the API clients' need to store and provide a username and password to establish a connection, improving Identity Security Cloud organizations' integration security.
In Identity Security Cloud, users can do the following to create and manage their PATs: Select the dropdown menu under their names, select Preferences, and then select Personal Access Tokens.
They must then provide a description about the token's purpose.
They can then select 'Create Token' at the bottom of the page to generate and view the Secret and Client ID.
Refer to [Managing Personal Access Tokens](https://documentation.sailpoint.com/saas/help/common/api_keys.html?h=token#generating-a-personal-access-token) for more information about PATs.
- name: Public Identities
description: |
Use this API in conjunction with [Public Identites Config](https://developer.sailpoint.com/docs/api/v3/public-identities-config/) to enable non-administrators to view identities' publicly visible attributes.
With this functionality in place, non-administrators can view identity attributes other than the default attributes (email, lifecycle state, and manager), depending on which identity attributes their organization administrators have made public.
This can be helpful for access approvers, certification reviewers, managers viewing their direct reports' access, and source owners viewing their tasks.
- name: Public Identities Config
description: |
Use this API to implement public identity configuration functionality.
With this functionality in place, administrators can make up to 5 identity attributes publicly visible so other non-administrator users can see the relevant information they need to make decisions.
This can be helpful for approvers making approvals, certification reviewers, managers viewing their direct reports' access, and source owners viewing their tasks.
By default, non-administrators can select an identity and view the following attributes: email, lifecycle state, and manager.
However, it may be helpful for a non-administrator reviewer to see other identity attributes like department, region, title, etc.
Administrators can use this API to make those necessary identity attributes public to non-administrators.
For example, a non-administrator deciding whether to approve another identity's request for access to the Workday application, whose access may be restricted to members of the HR department, would want to know whether the identity is a member of the HR department.
If an administrator has used [Update Public Identity Config](https://developer.sailpoint.com/docs/api/v3/update-public-identity-config/) to make the "department" attribute public, the approver can see the department and make a decision without requesting any more information.
- name: Reports Data Extraction
description: |
Use this API to implement reports lifecycle managing and monitoring.
With this functionality in place, users can run reports, view their results, and cancel reports in progress.
This can be potentially helpful for auditing purposes.
- name: Requestable Objects
description: |
Use this API to implement requestable object functionality.
With this functionality in place, administrators can determine which access items can be requested with the [Access Request APIs](https://developer.sailpoint.com/docs/api/v3/access-requests/), along with their statuses.
This can be helpful for administrators who are implementing and customizing access request functionality as a way of checking which items are requestable as they are created, assigned, and made available.
- name: Roles
description: |
Use this API to implement and customize role functionality.
With this functionality in place, administrators can create roles and configure them for use throughout Identity Security Cloud.
Identity Security Cloud can use established criteria to automatically assign the roles to qualified users. This enables users to get all the access they need quickly and securely and administrators to spend their time on other tasks.
Entitlements represent the most granular level of access in Identity Security Cloud.
Access profiles represent the next level and often group entitlements.
Roles represent the broadest level of access and often group access profiles.
For example, an Active Directory source in Identity Security Cloud can have multiple entitlements: the first, 'Employees,' may represent the access all employees have at the organization, and a second, 'Developers,' may represent the access all developers have at the organization.
An administrator can then create a broader set of access in the form of an access profile, 'AD Developers' grouping the 'Employees' entitlement with the 'Developers' entitlement.
An administrator can then create an even broader set of access in the form of a role grouping the 'AD Developers' access profile with another profile, 'GitHub Developers,' grouping entitlements for the GitHub source.
When users only need Active Directory employee access, they can request access to the 'Employees' entitlement.
When users need both Active Directory employee and developer access, they can request access to the 'AD Developers' access profile.
When users need both the 'AD Developers' access profile and the 'GitHub Developers' access profile, they can request access to the role grouping both.
Roles often represent positions within organizations.
For example, an organization's accountant can access all the tools the organization's accountants need with the 'Accountant' role.
If the accountant switches to engineering, a qualified member of the organization can quickly revoke the accountant's 'Accountant' access and grant access to the 'Engineer' role instead, granting access to all the tools the organization's engineers need.
In Identity Security Cloud, adminstrators can use the Access drop-down menu and select Roles to view, configure, and delete existing roles, as well as create new ones.
Administrators can enable and disable the role, and they can also make the following configurations:
- Manage Access: Manage the role's access by adding or removing access profiles.
- Define Assignment: Define the criteria Identity Security Cloud uses to assign the role to identities.
Use the first option, 'Standard Criteria,' to provide specific criteria for assignment like specific account attributes, entitlements, or identity attributes.
Use the second, 'Identity List,' to specify the identities for assignment.
- Access Requests: Configure roles to be requestable and establish an approval process for any requests that the role be granted or revoked.
Do not configure a role to be requestable without establishing a secure access request approval process for that role first.
Refer to [Working with Roles](https://documentation.sailpoint.com/saas/help/access/roles.html) for more information about roles.
- name: Saved Search
description: |
Use this API to implement saved search functionality.
With saved search functionality in place, users can save search queries and then view those saved searches, as well as rerun them.
Search queries in Identity Security Cloud can grow very long and specific, which can make reconstructing them difficult or tedious, so it can be especially helpful to save search queries.
It also opens the possibility to configure Identity Security Cloud to run the saved queries on a schedule, which is essential to detecting user information and access changes throughout an organization's tenant and across all its sources.
Refer to [Scheduled Search](https://developer.sailpoint.com/docs/api/v3/scheduled-search/) for more information about running saved searches on a schedule.
In Identity Security Cloud, users can save searches under a name, and then they can access that saved search and run it again when they want.
Refer to [Managing Saved Searches](https://documentation.sailpoint.com/saas/help/search/saved-searches.html) for more information about saving searches and using them.
- name: Scheduled Search
description: |
Use this API to implement scheduled search functionality.
With scheduled search functionality in place, users can run saved search queries on their tenants on a schedule, and Identity Security Cloud emails them the search results.
Users can also share these search results with other users by email by adding those users as subscribers, or those users can subscribe themselves.
One of the greatest benefits of saving searches is the ability to run those searches on a schedule.
This is essential for organizations to constantly detect any changes to user information or access throughout their tenants and across all their sources.
For example, the manager Amanda Ross can schedule a saved search "manager.name:amanda.ross AND attributes.location:austin" on a schedule to regularly stay aware of changes with the Austin employees reporting to her.
Identity Security Cloud emails her the search results when the search runs, so she can work on other tasks instead of actively running this search.
In Identity Security Cloud, scheduling a search involves a subscription.
Users can create a subscription for a saved search and schedule it to run daily, weekly, or monthly (you can only use one schedule option at a time).
The user can add other identities as subscribers so when the scheduled search runs, the subscribers and the user all receive emails.
By default, subscriptions exclude detailed results from the emails, for security purposes.
Including detailed results about user access in an email may expose sensitive information.
However, the subscription creator can choose to include the information in the emails.
By default, Identity Security Cloud sends emails to the subscribers even when the searches do not return new results.
However, the subscription creator can choose to suppress these empty emails.
Users can also subscribe to saved searches that already have existing subscriptions so they receive emails when the searches run.
A saved search can have up to 10 subscriptions configured at a time.
The subscription creator can enable, disable, or delete the subscription.
Refer to [Subscribing to Saved Searches](https://documentation.sailpoint.com/saas/help/search/saved-searches.html#subscribing-to-saved-searches) for more information about scheduling searches and subscribing to them.
- name: Search
description: |
Use this API to implement search functionality.
With search functionality in place, users can search their tenants for nearly any information from throughout their organizations.
Identity Security Cloud enables organizations to store user data from across all their connected sources and manage the users' access, so the ability to query and filter that data is essential.
Its search goes through all those sources and finds the results quickly and specifically.
The search query is flexible - it can be very broad or very narrow.
The search only returns results for searchable objects it is filtering for.
The following objects are searchable: identities, roles, access profiles, entitlements, events, and account activities.
By default, no filter is applied, so a search for "Ad" returns both the identity "Adam.Archer" as well as the role "Administrator."
Users can further narrow their results by using Identity Security Cloud's specific syntax and punctuation to structure their queries.
For example, the query "attributes.location:austin AND NOT manager.name:amanda.ross" returns all results associated with the Austin location, but it excludes those associated with the manager Amanda Ross.
Refer to [Building a Search Query](https://documentation.sailpoint.com/saas/help/search/building-query.html) for more information about how to construct specific search queries.
Refer to [Using Search](https://documentation.sailpoint.com/saas/help/search/index.html) for more information about Identity Security Cloud's search and its different possibilities.
The search feature uses Elasticsearch as a datastore and query engine.
The power of Elasticsearch makes this feature suitable for ad-hoc reporting.
However, data from the operational databases (ex. identities, roles, events, etc) has to be ingested into Elasticsearch.
This ingestion process introduces a latency from when the operational data is created to when it is available in search.
Depending on the system load, this can take a few seconds to a few minutes.
Please keep this latency in mind when you use search.
- name: Search Attribute Configuration
description: |
Use this API to implement search attribute configuration functionality, along with [Search](https://developer.sailpoint.com/docs/api/v3/search).
With this functionality in place, administrators can create custom search attributes that and run extended searches based on those attributes to further narrow down their searches and get the information and insights they want.
Identity Security Cloud (ISC) enables organizations to store user data from across all their connected sources and manage the users' access, so the ability to query and filter that data is essential.
Its search goes through all those sources and finds the results quickly and specifically.
The search query is flexible - it can be very broad or very narrow.
The search only returns results for searchable objects it is filtering for.
The following objects are searchable: identities, roles, access profiles, entitlements, events, and account activities.
By default, no filter is applied, so a search for "Ad" returns both the identity "Adam.Archer" as well as the role "Administrator."
Users can further narrow their results by using ISC's specific syntax and punctuation to structure their queries.
For example, the query "attributes.location:austin AND NOT manager.name:amanda.ross" returns all results associated with the Austin location, but it excludes those associated with the manager Amanda Ross.
Refer to [Building a Search Query](https://documentation.sailpoint.com/saas/help/search/building-query.html) for more information about how to construct specific search queries.
Refer to [Search Attribute Configuration](https://developer.sailpoint.com/docs/extensibility/rules/rule-utility/#configuration-of-search-attributes-within-identity-security-cloud) for more information about ISC's search and its different possibilities.
With Search Attribute Configuration, administrators can create, manage, and run searches based on the attributes they want to search.
- name: Segments
description: |
Use this API to implement and customize access request segment functionality.
With this functionality in place, administrators can create and manage access request segments.
Segments provide organizations with a way to make the access their users have even more granular - this can simply the access request process for the organization's users and improves security by reducing the risk of overprovisoning access.
Segments represent sets of identities, all grouped by specified identity attributes, who are only able to see and access the access items associated with their segments.
For example, administrators could group all their organization's London office employees into one segment, "London Office Employees," by their shared location.
The administrators could then define the access items the London employees would need, and the identities in the "London Office Employees" would then only be able to see and access those items.
In Identity Security Cloud, administrators can use the 'Access' drop-down menu and select 'Segments' to reach the 'Access Requests Segments' page.
This page lists all the existing access request segments, along with their statuses, enabled or disabled.
Administrators can use this page to create, edit, enable, disable, and delete segments.
To create a segment, an administrator must provide a name, define the identities grouped in the segment, and define the items the identities in the segment can access.
These items can be access profiles, roles, or entitlements.
When administrators use the API to create and manage segments, they use a JSON expression in the `visibilityCriteria` object to define the segment's identities and access items.
Refer to [Managing Access Request Segments](https://documentation.sailpoint.com/saas/help/requests/segments.html) for more information about segments in Identity Security Cloud.
- name: Service Desk Integration
description: |
Use this API to build an integration between Identity Security Cloud and a service desk ITSM (IT service management) solution.
Once an administrator builds this integration between Identity Security Cloud and a service desk, users can use Identity Security Cloud to raise and track tickets that are synchronized between Identity Security Cloud and the service desk.
In Identity Security Cloud, administrators can create a service desk integration (sometimes also called an SDIM, or Service Desk Integration Module) by going to Admin > Connections > Service Desk and selecting 'Create.'
To create a Generic Service Desk integration, for example, administrators must provide the required information on the General Settings page, the Connectivity and Authentication information, Ticket Creation information, Status Mapping information, and Requester Source information on the Configure page.
Refer to [Integrating SailPoint with Generic Service Desk](https://documentation.sailpoint.com/connectors/generic_sd/help/integrating_generic_service_desk/intro.html) for more information about the process of setting up a Generic Service Desk in Identity Security Cloud.
Administrators can create various service desk integrations, all with their own nuances.
The following service desk integrations are available:
- [Atlassian Cloud Jira Service Management](https://documentation.sailpoint.com/connectors/atlassian/jira_cloud/help/integrating_jira_cloud_sd/introduction.html)
- [Atlassian Server Jira Service Management](https://documentation.sailpoint.com/connectors/atlassian/jira_server/help/integrating_jira_server_sd/introduction.html)
- [BMC Helix ITSM Service Desk](https://documentation.sailpoint.com/connectors/bmc/helix_ITSM_sd/help/integrating_bmc_helix_itsm_sd/intro.html)
- [BMC Helix Remedyforce Service Desk](https://documentation.sailpoint.com/connectors/bmc/helix_remedyforce_sd/help/integrating_bmc_helix_remedyforce_sd/intro.html)
- [Generic Service Desk](https://documentation.sailpoint.com/connectors/generic_sd/help/integrating_generic_service_desk/intro.html)
- [ServiceNow Service Desk](https://documentation.sailpoint.com/connectors/servicenow/sdim/help/integrating_servicenow_sdim/intro.html)
- [Zendesk Service Desk](https://documentation.sailpoint.com/connectors/zendesk/help/integrating_zendesk_sd/introduction.html)
- name: SOD Policies
description: |
Use this API to implement and manage "separation of duties" (SOD) policies.
With SOD policy functionality in place, administrators can organize the access in their tenants to prevent individuals from gaining conflicting or excessive access.
"Separation of duties" refers to the concept that people shouldn't have conflicting sets of access - all their access should be configured in a way that protects your organization's assets and data.
For example, people who record monetary transactions shouldn't be able to issue payment for those transactions.
Any changes to major system configurations should be approved by someone other than the person requesting the change.
Organizations can use "separation of duties" (SOD) policies to enforce and track their internal security rules throughout their tenants.
These SOD policies limit each user's involvement in important processes and protects the organization from individuals gaining excessive access.
To create SOD policies in Identity Security Cloud, administrators use 'Search' and then access 'Policies'.
To create a policy, they must configure two lists of access items. Each access item can only be added to one of the two lists.
They can search for the entitlements they want to add to these access lists.
>Note: You can have a maximum of 500 policies of any type (including general policies) in your organization. In each access-based SOD policy, you can have a maximum of 50 entitlements in each access list.
Once a SOD policy is in place, if an identity has access items on both lists, a SOD violation will trigger.
These violations are included in SOD violation reports that other users will see in emails at regular intervals if they're subscribed to the SOD policy.
The other users can then better help to enforce these SOD policies.
To create a subscription to a SOD policy in Identity Security Cloud, administrators use 'Search' and then access 'Layers'.
They can create a subscription to the policy and schedule it to run at a regular interval.
Refer to [Managing Policies](https://documentation.sailpoint.com/saas/help/sod/manage-policies.html) for more information about SOD policies.
Refer to [Subscribe to a SOD Policy](https://documentation.sailpoint.com/saas/help/sod/policy-violations.html#subscribe-to-an-sod-policy) for more information about SOD policy subscriptions.
- name: SOD Violations
description: |
Use this API to check for current "separation of duties" (SOD) policy violations as well as potential future SOD policy violations.
With SOD violation functionality in place, administrators can get information about current SOD policy violations and predict whether an access change will trigger new violations, which helps to prevent them from occurring at all.
"Separation of duties" refers to the concept that people shouldn't have conflicting sets of access - all their access should be configured in a way that protects your organization's assets and data.
For example, people who record monetary transactions shouldn't be able to issue payment for those transactions.
Any changes to major system configurations should be approved by someone other than the person requesting the change.
Organizations can use "separation of duties" (SOD) policies to enforce and track their internal security rules throughout their tenants.
These SOD policies limit each user's involvement in important processes and protects the organization from individuals gaining excessive access.
Once a SOD policy is in place, if an identity has conflicting access items, a SOD violation will trigger.
These violations are included in SOD violation reports that other users will see in emails at regular intervals if they're subscribed to the SOD policy.
The other users can then better help to enforce these SOD policies.
Administrators can use the SOD violations APIs to check a set of identities for any current SOD violations, and they can use them to check whether adding an access item would potentially trigger a SOD violation.
This second option is a good way to prevent SOD violations from triggering at all.
Refer to [Handling Policy Violations](https://documentation.sailpoint.com/saas/help/sod/policy-violations.html) for more information about SOD policy violations.
- name: Source Usages
description: |
Use this API to implement source usage insight functionality.
With this functionality in place, administrators can gather information and insights about how their tenants' sources are being used.
This allows organizations to get the information they need to start optimizing and securing source usage.
- name: Sources
description: |
Use this API to implement and customize source functionality.
With source functionality in place, organizations can use Identity Security Cloud to connect their various sources and user data sets and manage access across all those different sources in a secure, scalable way.
[Sources](https://documentation.sailpoint.com/saas/help/sources/index.html) refer to the Identity Security Cloud representations for external applications, databases, and directory management systems that maintain their own sets of users, like Dropbox, GitHub, and Workday, for example.
Organizations may use hundreds, if not thousands, of different source systems, and any one employee within an organization likely has a different user record on each source, often with different permissions on many of those records.
Connecting these sources to Identity Security Cloud makes it possible to manage user access across them all.
Then, if a new hire starts at an organization, Identity Security Cloud can grant the new hire access to all the sources they need.
If an employee moves to a new department and needs access to new sources but no longer needs access to others, Identity Security Cloud can grant the necessary access and revoke the unnecessary access for all the employee's various sources.
If an employee leaves the company, Identity Security Cloud can revoke access to all the employee's various source accounts immediately.
These are just a few examples of the many ways that source functionality makes identity governance easier, more efficient, and more secure.
In Identity Security Cloud, administrators can create configure, manage, and edit sources, and they can designate other users as source admins to be able to do so.
They can also designate users as source sub-admins, who can perform the same source actions but only on sources associated with their governance groups.
Admins go to Connections > Sources to see a list of the existing source representations in their organizations.
They can create new sources or select existing ones.
To create a new source, the following must be specified: Source Name, Description, Source Owner, and Connection Type.
Refer to [Configuring a Source](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html#configuring-a-source) for more information about the source configuration process.
Identity Security Cloud connects with its sources either by a direct communication with the source server (connection information specific to the source must be provided) or a flat file feed, a CSV file containing all the relevant information about the accounts to be loaded in.
Different sources use different connectors to share data with Identity Security Cloud, and each connector's setup process is specific to that connector.
SailPoint has built a number of connectors to come out of the box and connect to the most common sources, and SailPoint actively maintains these connectors.
Refer to [Identity Security Cloud Connectors](https://documentation.sailpoint.com/connectors/identitynow/landingpages/help/landingpages/identitynow_connectivity_landing.html) for more information about these SailPoint supported connectors.
Refer to the following links for more information about two useful connectors:
- [JDBC Connector](https://documentation.sailpoint.com/connectors/jdbc/help/integrating_jdbc/introduction.html): This customizable connector an directly connect to databases that support JDBC (Java Database Connectivity).
- [Web Services Connector](https://documentation.sailpoint.com/connectors/webservices/help/integrating_webservices/introduction.html): This connector can directly connect to databases that support Web Services.
Refer to [SaaS Connectivity](https://developer.sailpoint.com/docs/connectivity/saas-connectivity/) for more information about SailPoint's new connectivity framework that makes it easy to build and manage custom connectors to SaaS sources.
When admins select existing sources, they can view the following information about the source:
- Associated connections (any associated identity profiles, apps, or references to the source in a transform).
- Associated user accounts. These accounts are linked to their identities - this provides a more complete picture of each user's access across sources.
- Associated entitlements (sets of access rights on sources).
- Associated access profiles (groupings of entitlements).
The user account data and the entitlements update with each data aggregation from the source.
Organizations generally run scheduled, automated data aggregations to ensure that their data is always in sync between their sources and their Identity Security Cloud tenants so an access change on a source is detected quickly in Identity Security Cloud.
Admins can view a history of these aggregations, and they can also run manual imports.
Refer to [Loading Account Data](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) for more information about manual and scheduled aggregations.
Admins can also make changes to determine which user account data Identity Security Cloud collects from the source and how it correlates that account data with identity data.
To define which account attributes the source shares with Identity Security Cloud, admins can edit the account schema on the source.
Refer to [Managing Source Account Schemas](https://documentation.sailpoint.com/saas/help/accounts/schema.html) for more information about source account schemas and how to edit them.
To define the mapping between the source account attributes and their correlating identity attributes, admins can edit the correlation configuration on the source.
Refer to [Assigning Source Accounts to Identities](https://documentation.sailpoint.com/saas/help/accounts/correlation.html) for more information about this correlation process between source accounts and identities.
Admins can also delete sources, but they must first ensure that the sources no longer have any active connections: the source must not be associated with any identity profile or any app, and it must not be referenced by any transform.
Refer to [Deleting Sources](https://documentation.sailpoint.com/saas/help/sources/index.html#deleting-sources) for more information about deleting sources.
Well organized, mapped out connections between sources and Identity Security Cloud are essential to achieving comprehensive identity access governance across all the source systems organizations need.
Refer to [Managing Sources](https://documentation.sailpoint.com/saas/help/sources/index.html) for more information about all the different things admins can do with sources once they are connected.
- name: Tagged Objects
description: |
Use this API to implement object tagging functionality.
With object tagging functionality in place, any user in an organization can use tags as a way to group objects together and find them more quickly when the user searches Identity Security Cloud.
In Identity Security Cloud, users can search their tenants for information and add tags objects they find.
Tagging an object provides users with a way of grouping objects together and makes it easier to find these objects in the future.
For example, if a user is searching for an entitlement that grants a risky level of access to Active Directory, it's possible that the user may have to search through hundreds of entitlements to find the correct one.
Once the user finds that entitlement, the user can add a tag to the entitlement, "AD_RISKY" to make it easier to find the entitlement again.
The user can add the same tag to multiple objects the user wants to group together for an easy future search, and the user can also do so in bulk.
When the user wants to find that tagged entitlement again, the user can search for "tags:AD_RISKY" to find all objects with that tag.
With the API, you can tag even more different object types than you can in Identity Security Cloud (access profiles, entitlements, identities, and roles).
You can use the API to tag all these objects:
- Access profiles
- Applications
- Certification campaigns
- Entitlements
- Identities
- Roles
- SOD (separation of duties) policies
- Sources
You can also use the API to directly find, create, and manage tagged objects without using search queries.
There are limits to tags:
- You can have up to 500 different tags in your tenant.
- You can apply up to 30 tags to one object.
- You can have up to 10,000 tag associations, pairings of 1 tag to 1 object, in your tenant.
Because of these limits, it is recommended that you work with your governance experts and security teams to establish a list of tags that are most expressive of governance objects and access managed by Identity Security Cloud.
These are the types of information often expressed in tags:
- Affected departments
- Compliance and regulatory categories
- Remediation urgency levels
- Risk levels
Refer to [Tagging Items in Search](https://documentation.sailpoint.com/saas/help/search/index.html?h=tags#tagging-items-in-search) for more information about tagging objects in Identity Security Cloud.
- name: Transforms
description: |
The purpose of this API is to expose functionality for the manipulation of Transform objects.
Transforms are a form of configurable objects which define an easy way to manipulate attribute data without having
to write code.
Refer to [Transforms](https://developer.sailpoint.com/docs/extensibility/transforms/) for more information about transforms.
- name: Work Items
description: |
Use this API to implement work item functionality.
With this functionality in place, users can manage their work items (tasks).
Work items refer to the tasks users see in Identity Security Cloud's Task Manager.
They can see the pending work items they need to complete, as well as the work items they have already completed.
Task Manager lists the work items along with the involved sources, identities, accounts, and the timestamp when the work item was created.
For example, a user may see a pending 'Create an Account' work item for the identity Fred.Astaire in GitHub for Fred's GitHub account, fred-astaire-sp.
Once the user completes the work item, the work item will be listed with his or her other completed work items.
To complete work items, users can use their dashboards and select the 'My Tasks' widget.
The widget will list any work items they need to complete, and they can select the work item from the list to review its details.
When they complete the work item, they can select 'Mark Complete' to add it to their list of completed work items.
Refer to [Task Manager](https://documentation.sailpoint.com/saas/user-help/task_manager.html) for more information about work items, including the different types of work items users may need to complete.
- name: Workflows
description: |
Workflows allow administrators to create custom automation scripts directly within Identity Security Cloud. These automation scripts respond to [event triggers](https://developer.sailpoint.com/docs/extensibility/event-triggers/#how-to-get-started-with-event-triggers) and perform a series of actions to perform tasks that are either too cumbersome or not available in the Identity Security Cloud UI. Workflows can be configured via a graphical user interface within Identity Security Cloud, or by creating and uploading a JSON formatted script to the Workflow service. The Workflows API collection provides the necessary functionality to create, manage, and test your workflows via REST.
paths:
/access-profiles:
get:
operationId: listAccessProfiles
tags:
- Access Profiles
summary: List access profiles
description: |-
Get a list of access profiles.
>**Note:** When you filter for access profiles that have the '+' symbol in their names, the response is blank.
parameters:
- in: query
name: for-subadmin
schema:
type: string
description: |-
Filters the returned list according to what is visible to the indicated ROLE_SUBADMIN or SOURCE_SUBADMIN identity. The value of the parameter is either an identity ID or the special value **me**, which is shorthand for the calling identity's ID.
If you specify an identity that isn't a subadmin, the API returns a 400 Bad Request error.
example: 8c190e6787aa4ed9a90bd9d5344523fb
required: false
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/count'
- in: query
name: filters
schema:
type: string
description: |-
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*
**created**: *gt, ge, le*
**modified**: *gt, lt, ge, le*
**owner.id**: *eq, in*
**requestable**: *eq*
**source.id**: *eq, in*
Supported composite operators are *and, or*
Filtering is not supported for access profiles and entitlements that have the '+' symbol in their names.
example: name eq "SailPoint Support"
required: false
- in: query
name: sorters
schema:
type: string
format: comma-separated
description: |-
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, modified**
example: name,-modified
required: false
- in: query
name: for-segment-ids
schema:
type: string
format: comma-separated
description: |-
Filters access profiles to only those assigned to the segment(s) with the specified IDs.
If segmentation is currently unavailable, specifying this parameter results in an error.
example: 0b5c9f25-83c6-4762-9073-e38f7bb2ae26,2e8d8180-24bc-4d21-91c6-7affdb473b0d
required: false
- in: query
name: include-unsegmented
schema:
type: boolean
default: true
description: Indicates whether the response list should contain unsegmented access profiles. If `for-segment-ids` is absent or empty, specifying *include-unsegmented* as `false` results in an error.
example: false
required: false
responses:
'200':
description: List of access profiles.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/AccessProfile'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:access-profile:read
x-sailpoint-userLevels:
- ORG_ADMIN
- ROLE_ADMIN
- ROLE_SUBADMIN
- SOURCE_ADMIN
- SOURCE_SUBADMIN
post:
operationId: createAccessProfile
tags:
- Access Profiles
summary: Create access profile
description: |-
Create an access profile.
A user with `ROLE_SUBADMIN` or `SOURCE_SUBADMIN` authority must be associated with the access profile's source.
The maximum supported length for the description field is 2000 characters. Longer descriptions will be preserved for existing access profiles. However, any new access profiles as well as any updates to existing descriptions are limited to 2000 characters.
>**Note:** To use this endpoint, you need all the listed scopes.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AccessProfile'
responses:
'201':
description: Access profile created.
content:
application/json:
schema:
$ref: '#/components/schemas/AccessProfile'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:access-profile:manage
- idn:entitlement:read
- idn:identity:read
- idn:sources:read
x-sailpoint-userLevels:
- ORG_ADMIN
- ROLE_ADMIN
- ROLE_SUBADMIN
- SOURCE_ADMIN
- SOURCE_SUBADMIN
/access-profiles/{id}:
get:
operationId: getAccessProfile
tags:
- Access Profiles
summary: Get an access profile
description: This API returns an Access Profile by its ID.
parameters:
- in: path
name: id
required: true
x-sailpoint-resource-operation-id: listAccessProfiles
schema:
type: string
description: ID of the Access Profile
example: 2c9180837ca6693d017ca8d097500149
responses:
'200':
description: An AccessProfile
content:
application/json:
schema:
$ref: '#/components/schemas/AccessProfile'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:access-profile:read
x-sailpoint-userLevels:
- ORG_ADMIN
- ROLE_ADMIN
- ROLE_SUBADMIN
- SOURCE_ADMIN
- SOURCE_SUBADMIN
patch:
operationId: patchAccessProfile
tags:
- Access Profiles
summary: Patch a specified access profile
description: |-
This API updates an existing Access Profile. The following fields are patchable:
**name**
**description**
**enabled**
**owner**
**requestable**
**accessRequestConfig**
**revokeRequestConfig**
**segments**
**entitlements**
**provisioningCriteria**
**source** (must be updated with entitlements belonging to new source in the same API call)
If you need to change the `source` of the access profile, you can do so only if you update the `entitlements` in the same API call. The new entitlements can only come from the target source that you want to change to. Look for the example "Replace Source" in the examples dropdown.
A user with SOURCE_SUBADMIN may only use this API to patch Access Profiles which are associated with Sources they are able to administer.
> The maximum supported length for the description field is 2000 characters. Longer descriptions will be preserved for existing access profiles, however, any new access profiles as well as any updates to existing descriptions will be limited to 2000 characters.
> You can only add or replace **entitlements** that exist on the source that the access profile is attached to. You can use the **list entitlements** endpoint with the **filters** query parameter to get a list of available entitlements on the access profile's source.
parameters:
- name: id
in: path
description: ID of the Access Profile to patch
required: true
x-sailpoint-resource-operation-id: listAccessProfiles
schema:
type: string
example: 2c91808a7813090a017814121919ecca
requestBody:
content:
application/json-patch+json:
schema:
type: array
items:
$ref: '#/components/schemas/JsonPatchOperation'
examples:
Add Entitlements:
description: Add one or more entitlements to the end of the list
value:
- op: add
path: /entitlements
value:
- id: 2c9180857725c14301772a93bb77242d
type: ENTITLEMENT
name: AD User Group
Insert Entitlement:
description: Add an entitlement at the beginning of the entitlement list
value:
- op: add
path: /entitlements/0
value:
id: 2c9180857725c14301772a93bb77242d
type: ENTITLEMENT
name: AD User Group
Replace Entitlements:
description: Replace all entitlements with a new list of entitlements
value:
- op: replace
path: /entitlements
value:
- id: 2c9180857725c14301772a93bb77242d
type: ENTITLEMENT
name: AD User Group
Remove Entitlement:
description: Remove the first entitlement in the list
value:
- op: remove
path: /entitlements/0
Replace Source:
description: Change the source and the entitlements of the access profile
value:
- op: replace
path: /source
value:
id: 2c9180887671ff8c01767b4671fb7d5e
type: SOURCE
name: Employees
- op: replace
path: /entitlements
value:
- id: 2c9180877677453d01767b4b08f63386
type: ENTITLEMENT
name: DevRel
required: true
responses:
'200':
description: Responds with the Access Profile as updated.
content:
application/json:
schema:
$ref: '#/components/schemas/AccessProfile'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:access-profile:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- SOURCE_ADMIN
- SOURCE_SUBADMIN
delete:
operationId: deleteAccessProfile
tags:
- Access Profiles
summary: Delete the specified access profile
description: |-
This API deletes an existing Access Profile.
The Access Profile must not be in use, for example, Access Profile can not be deleted if they belong to an Application, Life Cycle State or a Role. If it is, a 400 error is returned.
A user with SOURCE_SUBADMIN must be able to administer the Source associated with the Access Profile.
parameters:
- name: id
in: path
description: ID of the Access Profile to delete
required: true
x-sailpoint-resource-operation-id: listAccessProfiles
schema:
type: string
example: 2c91808a7813090a017814121919ecca
responses:
'204':
$ref: '#/components/responses/204'
'400':
description: Returned when an access profile cannot be deleted as it's being used.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseDto'
examples:
400.2.1.0 Object in use by another:
description: Returned when an access profile cannot be deleted as it's being used
value:
detailCode: 400.2.1.0 Object in use by another
trackingId: c9c1033c55b84ebc9e93e926dcf8b8b3
messages:
- locale: en-US
localeOrigin: DEFAULT
text: The "testAccessProfile" access profile can't be deleted because it's in use.
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:access-profile:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- SOURCE_ADMIN
- SOURCE_SUBADMIN
/access-profiles/bulk-delete:
post:
operationId: deleteAccessProfilesInBulk
summary: Delete access profile(s)
tags:
- Access Profiles
description: |-
This endpoint initiates a bulk deletion of one or more access profiles.
When the request is successful, the endpoint returns the bulk delete's task result ID. To follow the task, you can use [Get Task Status by ID](https://developer.sailpoint.com/docs/api/beta/get-task-status), which will return the task result's status and information.
This endpoint can only bulk delete up to a limit of 50 access profiles per request.
By default, if any of the indicated access profiles are in use, no deletions will be performed and the **inUse** field of the response indicates the usages that must be removed first. If the request field **bestEffortOnly** is **true**, however, usages are reported in the **inUse** response field but all other indicated access profiles will be deleted.
A SOURCE_SUBADMIN user can only use this endpoint to delete access profiles associated with sources they're able to administer.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AccessProfileBulkDeleteRequest'
example:
bestEffortOnly: true
accessProfileIds:
- 2c91808876438bb2017668b91919ecca
- 2c91808876438ba801766e129f151816
responses:
'200':
description: Returned only if **bestEffortOnly** is **false**, and one or more Access Profiles are in use.
content:
application/json:
schema:
$ref: '#/components/schemas/AccessProfileBulkDeleteResponse'
example:
pending: []
inUse:
- accessProfileId: 2c91808876438ba801766e129f151816
usages:
- type: Role
id: 2c9180887643764201766e9f6e121518
'202':
description: Returned if at least one deletion will be performed.
content:
application/json:
schema:
$ref: '#/components/schemas/AccessProfileBulkDeleteResponse'
example:
taskId: 2c91808a7813090a01781412a1119a20
pending:
- 2c91808a7813090a017813fe1919ecca
inUse:
- accessProfileId: 2c91808876438ba801766e129f151816
usages:
- type: Role
id: 2c9180887643764201766e9f6e121518
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:access-profile:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- SOURCE_ADMIN
- SOURCE_SUBADMIN
/access-profiles/{id}/entitlements:
get:
operationId: getAccessProfileEntitlements
tags:
- Access Profiles
summary: List access profile's entitlements
description: |-
Use this API to get a list of an access profile's entitlements.
A SOURCE_SUBADMIN user must have access to the source associated with the specified access profile.
>**Note:** When you filter for access profiles that have the '+' symbol in their names, the response is blank.
parameters:
- name: id
in: path
description: ID of the access profile containing the entitlements.
required: true
x-sailpoint-resource-operation-id: listAccessProfiles
schema:
type: string
example: 2c91808a7813090a017814121919ecca
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/count'
- in: query
name: filters
schema:
type: string
description: |-
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*
**attribute**: *eq, sw*
**value**: *eq, sw*
**created**: *gt, lt, ge, le*
**modified**: *gt, lt, ge, le*
**owner.id**: *eq, in*
**source.id**: *eq, in*
Filtering is not supported for access profiles and entitlements that have the '+' symbol in their names.
example: attribute eq "memberOf"
required: false
- in: query
name: sorters
schema:
type: string
format: comma-separated
description: |-
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, attribute, value, created, modified**
example: name,-modified
required: false
responses:
'200':
description: List of entitlements.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Entitlement'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:access-profile:read
x-sailpoint-userLevels:
- ORG_ADMIN
- SOURCE_ADMIN
- SOURCE_SUBADMIN
/access-requests:
post:
operationId: createAccessRequest
security:
- userAuth:
- idn:access-request:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- USER
summary: Submit access request
tags:
- Access Requests
description: |
Use this API to submit an access request in Identity Security Cloud (ISC), where it follows any ISC approval processes.
:::info
The ability to request access using this API is constrained by the Access Request Segments defined in the API token’s user context.
:::
Access requests are processed asynchronously by ISC. A successful response from this endpoint means that the request
has been submitted to ISC and is queued for processing. Because this endpoint is asynchronous, it doesn't return an error
if you submit duplicate access requests in quick succession or submit an access request for access that is already in progress, approved, or rejected.
It's best practice to check for any existing access requests that reference the same access items before submitting a new access request. This can
be accomplished by using the [List Access Request Status](https://developer.sailpoint.com/idn/api/v3/list-access-request-status) or the [Pending Access Request Approvals](https://developer.sailpoint.com/idn/api/v3/list-pending-approvals) APIs. You can also
use the [Search API](https://developer.sailpoint.com/idn/api/v3/search) to check the existing access items an identity has before submitting
an access request to ensure that you aren't requesting access that is already granted. If you use this API to request access that an identity already has,
without changing the account details or end date information from the existing assignment,
the API will cancel the request as a duplicate.
There are two types of access request:
__GRANT_ACCESS__
* Can be requested for multiple identities in a single request.
* Supports self request and request on behalf of other users. Refer to the [Get Access Request Configuration](https://developer.sailpoint.com/idn/api/v3/get-access-request-config) endpoint for request configuration options.
* Allows any authenticated token (except API) to call this endpoint to request to grant access to themselves. Depending on the configuration, a user can request access for others.
* Roles, access profiles and entitlements can be requested.
* You can specify a `removeDate` to set or alter a sunset date-time on an assignment. The removeDate must be a future date-time, in the UTC timezone. Additionally, if the user already has the access assigned with a sunset date, you can also submit a request without a `removeDate` to request removal of the sunset date and time.
* If a `removeDate` is specified, then the requested role, access profile, or entitlement will be removed on that date and time.
* Now supports an alternate field 'requestedForWithRequestedItems' for users to specify account selections while requesting items where they have more than one account on the source.
:::caution
If any entitlements are being requested, then the maximum number of entitlements that can be requested is 25, and the maximum number of identities that can be requested for is 10. If you exceed these limits, the request will fail with a 400 error. If you are not requesting any entitlements, then there are no limits.
:::
__REVOKE_ACCESS__
* Can only be requested for a single identity at a time.
* You cannot use an access request to revoke access from an identity if that access has been granted by role membership or by birthright provisioning.
* Does not support self request. Only manager can request to revoke access for their directly managed employees.
* If a `removeDate` is specified, then the requested role, access profile, or entitlement will be removed on that date and time.
* Roles, access profiles, and entitlements can be requested for revocation.
* Revoke requests for entitlements are limited to 1 entitlement per access request currently.
* You can specify a `removeDate` to add or alter a sunset date and time on an assignment. The `removeDate` must be a future date-time, in the UTC timezone. If the user already has the access assigned with a sunset date and time, the removeDate must be a date-time earlier than the existing sunset date and time.
* Allows a manager to request to revoke access for direct employees. A user with ORG_ADMIN authority can also request to revoke access from anyone.
* Now supports REVOKE_ACCESS requests for identities with multiple accounts on a single source, with the help of 'assignmentId' and 'nativeIdentity' fields. These fields should be used within the 'requestedItems' section for the revoke requests.
* Usage of 'requestedForWithRequestedItems' field is not supported for revoke requests.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AccessRequest'
responses:
'202':
description: Access Request Response.
content:
application/json:
schema:
$ref: '#/components/schemas/AccessRequestResponse'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/access-requests/cancel:
post:
operationId: cancelAccessRequest
security:
- userAuth:
- idn:access-request:manage
x-sailpoint-userLevels:
- ORG_ADMIN
tags:
- Access Requests
summary: Cancel access request
description: |-
This API endpoint cancels a pending access request. An access request can be cancelled only if it has not passed the approval step.
In addition to users with ORG_ADMIN, any user who originally submitted the access request may cancel it.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CancelAccessRequest'
example:
accountActivityId: 2c91808568c529c60168cca6f90c1313
comment: I requested this role by mistake.
responses:
'202':
$ref: '#/components/responses/202'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/access-request-config:
get:
operationId: getAccessRequestConfig
security:
- userAuth:
- idn:access-request-config:read
summary: Get access request configuration
tags:
- Access Requests
description: This endpoint returns the current access-request configuration.
responses:
'200':
description: Access Request Configuration Details.
content:
application/json:
schema:
$ref: '#/components/schemas/AccessRequestConfig'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
put:
operationId: setAccessRequestConfig
security:
- userAuth:
- idn:access-request-config:manage
x-sailpoint-userLevels:
- ORG_ADMIN
summary: Update access request configuration
tags:
- Access Requests
description: This endpoint replaces the current access-request configuration.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AccessRequestConfig'
responses:
'200':
description: Access Request Configuration Details.
content:
application/json:
schema:
$ref: '#/components/schemas/AccessRequestConfig'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/access-request-status:
get:
operationId: listAccessRequestStatus
security:
- userAuth:
- idn:access-request-status:read
x-sailpoint-userLevels:
- ORG_ADMIN
tags:
- Access Requests
summary: Access request status
description: |-
Use this API to return a list of access request statuses based on the specified query parameters.
If an access request was made for access that an identity already has, the API ignores the access request. These ignored requests do not display in the list of access request statuses.
Any user with any user level can get the status of their own access requests. A user with ORG_ADMIN is required to call this API to get a list of statuses for other users.
parameters:
- in: query
name: requested-for
schema:
type: string
example: 2c9180877b2b6ea4017b2c545f971429
description: Filter the results by the identity the requests were made for. *me* indicates the current user. Mutually exclusive with *regarding-identity*.
required: false
- in: query
name: requested-by
schema:
type: string
example: 2c9180877b2b6ea4017b2c545f971429
description: Filter the results by the identity who made the requests. *me* indicates the current user. Mutually exclusive with *regarding-identity*.
required: false
- in: query
name: regarding-identity
schema:
type: string
example: 2c9180877b2b6ea4017b2c545f971429
description: Filter the results by the specified identity who is either the requester or target of the requests. *me* indicates the current user. Mutually exclusive with *requested-for* and *requested-by*.
required: false
- in: query
name: assigned-to
schema:
type: string
example: 2c9180877b2b6ea4017b2c545f971429
description: Filter the results by the specified identity who is the owner of the Identity Request Work Item. *me* indicates the current user.
required: false
- in: query
name: count
description: If this is true, the *X-Total-Count* response header populates with the number of results that would be returned if limit and offset were ignored.
required: false
schema:
type: boolean
default: false
example: false
- in: query
name: limit
description: Max number of results to return.
required: false
schema:
type: integer
format: int32
minimum: 0
maximum: 250
default: 250
example: 100
- in: query
name: offset
description: Offset into the full result set. Usually specified with *limit* to paginate through the results. Defaults to 0 if not specified.
required: false
schema:
type: integer
format: int32
minimum: 0
example: 10
- in: query
name: filters
schema:
type: string
example: accountActivityItemId eq "2c918086771c86df0177401efcdf54c0"
description: |-
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:
**accessRequestId**: *eq, ge, gt, le, lt, ne, sw*
**accountActivityItemId**: *eq, in, ge, gt, le, ne, sw*
**created**: *eq, ge, gt, le, lt, ne*
required: false
- in: query
name: sorters
schema:
type: string
format: comma-separated
description: |-
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: **created, modified, accountActivityItemId, name**
example: created
required: false
- in: query
name: request-state
schema:
type: string
example: request-state=EXECUTING
description: Filter the results by the state of the request. The only valid value is *EXECUTING*.
required: false
responses:
'200':
description: List of requested item statuses.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/RequestedItemStatus'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/access-request-approvals/pending:
get:
operationId: listPendingApprovals
security:
- userAuth:
- idn:access-request-approvals:read
x-sailpoint-userLevels:
- ORG_ADMIN
summary: Pending access request approvals list
tags:
- Access Request Approvals
description: This endpoint returns a list of pending approvals. See "owner-id" query parameter below for authorization info.
parameters:
- in: query
name: owner-id
schema:
type: string
description: |-
If present, the value returns only pending approvals for the specified identity.
* ORG_ADMIN users can call this with any identity ID value.
* ORG_ADMIN users can also fetch all the approvals in the org, when owner-id is not used.
* Non-ORG_ADMIN users can only specify *me* or pass their own identity ID value.
example: 2c91808568c529c60168cca6f90c1313
required: false
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/count'
- in: query
name: filters
required: false
schema:
type: string
description: |-
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*
**requestedFor.id**: *eq, in*
**modified**: *gt, lt, ge, le, eq, in*
**accessRequestId**: *eq, in*
**created**: *gt, lt, ge, le, eq, in*
example: id eq "2c91808568c529c60168cca6f90c1313"
- in: query
name: sorters
required: false
schema:
type: string
format: comma-separated
description: |-
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: **created, modified**
example: modified
responses:
'200':
description: List of Pending Approvals.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/PendingApproval'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/access-request-approvals/completed:
get:
operationId: listCompletedApprovals
summary: Completed access request approvals list
tags:
- Access Request Approvals
description: This endpoint returns list of completed approvals. See *owner-id* query parameter below for authorization info.
security:
- userAuth:
- idn:access-request-approvals:read
parameters:
- in: query
name: owner-id
required: false
schema:
type: string
description: |-
If present, the value returns only completed approvals for the specified identity.
* ORG_ADMIN users can call this with any identity ID value.
* ORG_ADMIN users can also fetch all the approvals in the org, when
owner-id is not used.
* Non-ORG_ADMIN users can only specify *me* or pass their own
identity ID value.
example: 2c91808568c529c60168cca6f90c1313
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/count'
- in: query
name: filters
required: false
schema:
type: string
description: |-
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, ge, gt, le, lt, ne, isnull, sw*
**requestedFor.id**: *eq, in, ge, gt, le, lt, ne, isnull, sw*
**modified**: *gt, lt, ge, le, eq, in, ne, sw*
example: id eq "2c91808568c529c60168cca6f90c1313"
- in: query
name: sorters
required: false
schema:
type: string
format: comma-separated
description: |-
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: **created, modified**
example: modified
responses:
'200':
description: List of Completed Approvals.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CompletedApproval'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/access-request-approvals/{approvalId}/approve:
post:
operationId: approveAccessRequest
security:
- userAuth:
- idn:access-request-approvals:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- APPROVAL_OWNER
summary: Approve access request approval
tags:
- Access Request Approvals
description: Use this endpoint to approve an access request approval. Only the owner of the approval and ORG_ADMIN users are allowed to perform this action.
parameters:
- in: path
name: approvalId
schema:
type: string
required: true
x-sailpoint-resource-operation-id: listPendingApprovals
description: Approval ID.
example: 2c91808b7294bea301729568c68c002e
requestBody:
description: Reviewer's comment.
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/CommentDto'
responses:
'202':
$ref: '#/components/responses/202'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/access-request-approvals/{approvalId}/reject:
post:
operationId: rejectAccessRequest
summary: Reject access request approval
tags:
- Access Request Approvals
description: Use this API to reject an access request approval. Only the owner of the approval and admin users are allowed to perform this action.
parameters:
- in: path
name: approvalId
schema:
type: string
required: true
x-sailpoint-resource-operation-id: listPendingApprovals
description: Approval ID.
example: 2c91808b7294bea301729568c68c002e
requestBody:
description: Reviewer's comment.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CommentDto'
responses:
'202':
$ref: '#/components/responses/202'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:access-request-approvals:manage
/access-request-approvals/{approvalId}/forward:
post:
operationId: forwardAccessRequest
summary: Forward access request approval
tags:
- Access Request Approvals
description: Use this API to forward an access request approval to a new owner. Only the owner of the approval and ORG_ADMIN users are allowed to perform this action. Only the owner of the approval and ORG_ADMIN users are allowed to perform this action.
parameters:
- in: path
name: approvalId
schema:
type: string
required: true
x-sailpoint-resource-operation-id: listPendingApprovals
description: Approval ID.
example: 2c91808b7294bea301729568c68c002e
requestBody:
description: Information about the forwarded approval.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ForwardApprovalDto'
responses:
'202':
$ref: '#/components/responses/202'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:access-request-approvals:manage
/access-request-approvals/approval-summary:
get:
operationId: getAccessRequestApprovalSummary
security:
- userAuth:
- idn:access-request-approvals:read
summary: Get access requests approvals number
tags:
- Access Request Approvals
description: Use this API to return the number of pending, approved and rejected access requests approvals. See the "owner-id" query parameter for authorization information. info.
parameters:
- in: query
name: owner-id
schema:
type: string
description: |-
The ID of the owner or approver identity of the approvals. If present, the value returns approval summary for the specified identity.
* ORG_ADMIN users can call this with any identity ID value.
* ORG_ADMIN user can also fetch all the approvals in the org, when
owner-id is not used.
* Non ORG_ADMIN users can only specify *me* or pass their own
identity ID value.
example: 2c91808568c529c60168cca6f90c1313
required: false
- in: query
name: from-date
schema:
type: string
description: This is the date and time the results will be shown from. It must be in a valid ISO-8601 format.
example: from-date=2020-03-19T19:59:11Z
required: false
responses:
'200':
description: Number of pending, approved, rejected access request approvals.
content:
application/json:
schema:
$ref: '#/components/schemas/ApprovalSummary'
'400':
description: Client Error - Returned if the query parameter is invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseDto'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/accounts:
get:
operationId: listAccounts
tags:
- Accounts
summary: Accounts list
description: 'List accounts. '
security:
- userAuth:
- idn:accounts:read
- idn:accounts:manage
- applicationAuth:
- idn:accounts:read
- idn:accounts:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- SOURCE_ADMIN
- SOURCE_SUBADMIN
- HELPDESK
parameters:
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/count'
- in: query
name: detailLevel
required: false
schema:
type: string
enum:
- SLIM
- FULL
description: This value determines whether the API provides `SLIM` or increased level of detail (`FULL`) for each account in the returned list. `FULL` is the default behavior.
example: FULL
- in: query
name: filters
required: false
schema:
type: string
example: identityId eq "2c9180858082150f0180893dbaf44201"
description: |-
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, sw*
**identityId**: *eq, in, sw*
**name**: *eq, in, sw*
**nativeIdentity**: *eq, in, sw*
**hasEntitlements**: *eq*
**sourceId**: *eq, in, sw*
**uncorrelated**: *eq*
**entitlements**: *eq*
**origin**: *eq, in*
**manuallyCorrelated**: *eq*
**identity.name**: *eq, in, sw*
**identity.correlated**: *eq*
**identity.identityState**: *eq, in*
**source.displayableName**: *eq, in*
**source.authoritative**: *eq*
**source.connectionType**: *eq, in*
**recommendation.method**: *eq, in, isnull*
**created**: *eq, ge, gt, le, lt*
**modified**: *eq, ge, gt, le, lt*
- in: query
name: sorters
required: false
schema:
type: string
format: comma-separated
example: id,name
description: |-
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: **id, name, created, modified, sourceId, identityId, nativeIdentity, uuid, manuallyCorrelated, entitlements, origin, identity.name, identity.identityState, identity.correlated, source.displayableName, source.authoritative, source.connectionType**
responses:
'200':
description: List of account objects.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Account'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
post:
operationId: createAccount
tags:
- Accounts
summary: Create account
description: |
Submit an account creation task - the API then returns the task ID.
You must include the `sourceId` where the account will be created in the `attributes` object.
This endpoint creates an account on the source record in your ISC tenant.
This is useful for Flat File (`DelimitedFile`) type sources because it allows you to aggregate new accounts without needing to import a new CSV file every time.
However, if you use this endpoint to create an account for a Direct Connection type source, you must ensure that the account also exists on the target source.
The endpoint doesn't actually provision the account on the target source, which means that if the account doesn't also exist on the target source, an aggregation between the source and your tenant will remove it from your tenant.
By providing the account ID of an existing account in the request body, this API will function as a PATCH operation and update the account.
security:
- userAuth:
- idn:accounts:manage
- applicationAuth:
- idn:accounts:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- SOURCE_ADMIN
- SOURCE_SUBADMIN
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AccountAttributesCreate'
responses:
'202':
description: Async task details.
content:
application/json:
schema:
$ref: '#/components/schemas/AccountsAsyncResult'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/accounts/{id}:
get:
operationId: getAccount
tags:
- Accounts
summary: Account details
description: 'Use this API to return the details for a single account by its ID. '
security:
- userAuth:
- idn:accounts:read
- idn:accounts:manage
- applicationAuth:
- idn:accounts:read
- idn:accounts:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- SOURCE_ADMIN
- SOURCE_SUBADMIN
- HELPDESK
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: listAccounts
description: Account ID.
example: ef38f94347e94562b5bb8424a56397d8
responses:
'200':
description: Account object.
content:
application/json:
schema:
$ref: '#/components/schemas/Account'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
patch:
operationId: updateAccount
tags:
- Accounts
summary: Update account
description: |
Use this API to update account details.
This API supports updating an account's correlation by modifying the `identityId` and `manuallyCorrelated` fields.
To reassign an account from one identity to another, replace the current `identityId` with a new value.
If the account you're assigning was provisioned by Identity Security Cloud (ISC), it's possible for ISC to create a new account
for the previous identity as soon as the account is moved. If the account you're assigning is authoritative,
this causes the previous identity to become uncorrelated and can even result in its deletion.
All accounts that are reassigned will be set to `manuallyCorrelated: true` unless you specify otherwise.
>**Note:** The `attributes` field can only be modified for flat file accounts.
security:
- userAuth:
- idn:accounts:manage
- applicationAuth:
- idn:accounts:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- SOURCE_ADMIN
- SOURCE_SUBADMIN
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: listAccounts
description: Account ID.
example: ef38f94347e94562b5bb8424a56397d8
requestBody:
required: true
description: A list of account update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard.
content:
application/json-patch+json:
schema:
type: array
items:
type: object
examples:
Uncorrelate account:
description: Remove account from Identity
value:
- op: remove
path: /identityId
Reassign account:
description: Move account from one Identity to another Identity
value:
- op: replace
path: /identityId
value: 2c9180857725c14301772a93bb77242d
Add account attribute:
description: Add flat file account's attribute
value:
- op: add
path: /attributes/familyName
value: Smith
Replace account attribute:
description: Replace flat file account's attribute
value:
- op: replace
path: /attributes/familyName
value: Smith
Remove account attribute:
description: Remove flat file account's attribute
value:
- op: remove
path: /attributes/familyName
responses:
'202':
description: Accepted. Update request accepted and is in progress.
$ref: '#/components/responses/202'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
put:
operationId: putAccount
tags:
- Accounts
summary: Update account
description: |
Use this API to update an account with a PUT request.
This endpoint submits an account update task and returns the task ID.
>**Note: You can only use this PUT endpoint to update accounts from flat file sources.**
security:
- userAuth:
- idn:accounts:manage
- applicationAuth:
- idn:accounts:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- SOURCE_ADMIN
- SOURCE_SUBADMIN
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: listAccounts
description: Account ID.
example: ef38f94347e94562b5bb8424a56397d8
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AccountAttributes'
responses:
'202':
description: Async task details.
content:
application/json:
schema:
$ref: '#/components/schemas/AccountsAsyncResult'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
delete:
operationId: deleteAccount
tags:
- Accounts
summary: Delete account
description: |-
Use this API to delete an account.
This endpoint submits an account delete task and returns the task ID.
This endpoint only deletes the account from IdentityNow, not the source itself, which can result in the account's returning with the next aggregation between the source and IdentityNow. To avoid this scenario, it is recommended that you [disable accounts](https://developer.sailpoint.com/idn/api/v3/disable-account) rather than delete them. This will also allow you to reenable the accounts in the future.
>**NOTE: You can only delete accounts from sources of the "DelimitedFile" type.**
security:
- userAuth:
- idn:accounts:manage
- applicationAuth:
- idn:accounts:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- SOURCE_ADMIN
- SOURCE_SUBADMIN
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: listAccounts
description: Account ID.
example: ef38f94347e94562b5bb8424a56397d8
responses:
'202':
description: Async task details.
content:
application/json:
schema:
$ref: '#/components/schemas/AccountsAsyncResult'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/accounts/{id}/entitlements:
get:
operationId: getAccountEntitlements
tags:
- Accounts
summary: Account entitlements
description: 'This API returns entitlements of the account. '
security:
- userAuth:
- idn:accounts:read
- idn:accounts:manage
- applicationAuth:
- idn:accounts:read
- idn:accounts:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- SOURCE_ADMIN
- SOURCE_SUBADMIN
- HELPDESK
parameters:
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/count'
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: listAccounts
description: The account id
example: ef38f94347e94562b5bb8424a56397d8
responses:
'200':
description: An array of account entitlements
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Entitlement'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/accounts/{id}/reload:
post:
operationId: submitReloadAccount
tags:
- Accounts
summary: Reload account
description: 'This API asynchronously reloads the account directly from the connector and performs a one-time aggregation process. '
security:
- userAuth:
- idn:accounts-state:manage
- applicationAuth:
- idn:accounts-state:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- SOURCE_ADMIN
- SOURCE_SUBADMIN
- HELPDESK
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: listAccounts
description: The account id
example: ef38f94347e94562b5bb8424a56397d8
responses:
'202':
description: Async task details
content:
application/json:
schema:
$ref: '#/components/schemas/AccountsAsyncResult'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/accounts/{id}/enable:
post:
operationId: enableAccount
tags:
- Accounts
summary: Enable account
description: 'This API submits a task to enable account and returns the task ID. '
security:
- userAuth:
- idn:accounts-state:manage
- applicationAuth:
- idn:accounts-state:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- SOURCE_ADMIN
- SOURCE_SUBADMIN
- HELPDESK
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: listAccounts
description: The account id
example: ef38f94347e94562b5bb8424a56397d8
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AccountToggleRequest'
responses:
'202':
description: Async task details
content:
application/json:
schema:
$ref: '#/components/schemas/AccountsAsyncResult'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/accounts/{id}/disable:
post:
operationId: disableAccount
tags:
- Accounts
summary: Disable account
description: 'This API submits a task to disable the account and returns the task ID. '
security:
- userAuth:
- idn:accounts-state:manage
- applicationAuth:
- idn:accounts-state:manage
x-sailpont-userLevels:
- ORG_ADMIN
- SOURCE_ADMIN
- SOURCE_SUBADMIN
- HELPDESK
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: listAccounts
description: The account id
example: ef38f94347e94562b5bb8424a56397d8
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AccountToggleRequest'
responses:
'202':
description: Async task details
content:
application/json:
schema:
$ref: '#/components/schemas/AccountsAsyncResult'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/accounts/{id}/unlock:
post:
operationId: unlockAccount
tags:
- Accounts
summary: Unlock account
description: |-
This API submits a task to unlock an account and returns the task ID.
To use this endpoint to unlock an account that has the `forceProvisioning` option set to true, the `idn:accounts-provisioning:manage` scope is required.
security:
- userAuth:
- idn:accounts-state:manage
- applicationAuth:
- idn:accounts-state:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- SOURCE_ADMIN
- SOURCE_SUBADMIN
- HELPDESK
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: listAccounts
description: The account ID.
example: ef38f94347e94562b5bb8424a56397d8
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AccountUnlockRequest'
responses:
'202':
description: Async task details
content:
application/json:
schema:
$ref: '#/components/schemas/AccountsAsyncResult'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/accounts/search-attribute-config:
post:
operationId: createSearchAttributeConfig
security:
- userAuth:
- idn:account-config:manage
x-sailpoint-userLevels:
- ORG_ADMIN
tags:
- Search Attribute Configuration
summary: Create extended search attributes
description: |-
Create and configure extended search attributes. This API accepts an attribute name, an attribute display name and a list of name/value pair associates of application IDs to attribute names. It will then validate the inputs and configure/create the attribute promotion configuration in the Link ObjectConfig.
>**Note: Give searchable attributes unique names. Do not give them the same names used for account attributes or source attributes. Also, do not give them the same names present in account schema for a current or future source, regardless of whether that source is included in the searchable attributes' `applicationAttributes`.**
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SearchAttributeConfig'
example:
name: newMailAttribute
displayName: New Mail Attribute
applicationAttributes:
2c9180866166b5b0016167c32ef31a66: mail
2c9180866166b5b0016167c32ef31a67: mail
responses:
'202':
$ref: '#/components/responses/202'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
get:
operationId: getSearchAttributeConfig
security:
- userAuth:
- idn:account-config:read
- idn:account-config:manage
x-sailpoint-userLevels:
- ORG_ADMIN
tags:
- Search Attribute Configuration
summary: List extended search attributes
description: Get a list of attribute/application attributes currently configured in Identity Security Cloud (ISC).
parameters:
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
responses:
'200':
description: List of attribute configurations in IdentityNow.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/SearchAttributeConfig'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/accounts/search-attribute-config/{name}:
get:
operationId: getSingleSearchAttributeConfig
security:
- userAuth:
- idn:account-config:read
- idn:account-config:manage
x-sailpoint-userLevels:
- ORG_ADMIN
tags:
- Search Attribute Configuration
summary: Get extended search attribute
description: Get an extended attribute configuration by name.
parameters:
- name: name
in: path
description: Name of the extended search attribute configuration to retrieve.
required: true
x-sailpoint-resource-operation-id: getSearchAttributeConfig
schema:
type: string
example: newMailAttribute
responses:
'200':
description: Specific attribute configuration in ISC.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/SearchAttributeConfig'
'204':
$ref: '#/components/responses/204'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
delete:
operationId: deleteSearchAttributeConfig
security:
- userAuth:
- idn:account-config:manage
x-sailpoint-userLevels:
- ORG_ADMIN
tags:
- Search Attribute Configuration
summary: Delete extended search attribute
description: Delete an extended attribute configuration by name.
parameters:
- name: name
in: path
description: Name of the extended search attribute configuration to delete.
required: true
x-sailpoint-resource-operation-id: getSearchAttributeConfig
schema:
type: string
example: newMailAttribute
responses:
'204':
$ref: '#/components/responses/204'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
patch:
operationId: patchSearchAttributeConfig
security:
- userAuth:
- idn:account-config:manage
x-sailpoint-userLevels:
- ORG_ADMIN
tags:
- Search Attribute Configuration
summary: Update extended search attribute
description: |-
Update an existing search attribute configuration.
You can patch these fields:
* name * displayName * applicationAttributes
parameters:
- name: name
in: path
description: Name of the search attribute configuration to patch.
required: true
x-sailpoint-resource-operation-id: getSearchAttributeConfig
schema:
type: string
example: promotedMailAttribute
requestBody:
content:
application/json-patch+json:
schema:
type: array
items:
$ref: '#/components/schemas/JsonPatchOperation'
example:
- op: replace
path: /name
value: newAttributeName
- op: replace
path: /displayName
value: new attribute display name
- op: add
path: /applicationAttributes
value:
2c91808b79fd2422017a0b35d30f3968: employeeNumber
required: true
responses:
'200':
description: The updated search attribute configuration.
content:
application/json:
schema:
$ref: '#/components/schemas/SearchAttributeConfig'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/account-activities:
get:
operationId: listAccountActivities
tags:
- Account Activities
summary: List account activities
description: This gets a collection of account activities that satisfy the given query parameters.
parameters:
- in: query
name: requested-for
schema:
type: string
description: The identity that the activity was requested for. *me* indicates the current user. Mutually exclusive with *regarding-identity*.
required: false
example: 2c91808568c529c60168cca6f90c1313
- in: query
name: requested-by
schema:
type: string
description: The identity that requested the activity. *me* indicates the current user. Mutually exclusive with *regarding-identity*.
required: false
example: 2c91808568c529c60168cca6f90c1313
- in: query
name: regarding-identity
schema:
type: string
description: The specified identity will be either the requester or target of the account activity. *me* indicates the current user. Mutually exclusive with *requested-for* and *requested-by*.
required: false
example: 2c91808568c529c60168cca6f90c1313
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/count'
- in: query
name: filters
schema:
type: string
description: |-
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:
**type**: *eq, in, ge, le, lt, ne, isnull, sw*
**created**: *gt, lt, ge, le, eq, in, ne, isnull, sw*
**modified**: *gt, lt, ge, le, eq, in, ne, isnull, sw*
example: type eq "Identity Refresh"
required: false
- in: query
name: sorters
schema:
type: string
format: comma-separated
description: |-
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: **type, created, modified**
example: created
required: false
responses:
'200':
description: List of account activities
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/AccountActivity'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/account-activities/{id}:
get:
operationId: getAccountActivity
tags:
- Account Activities
summary: Get an account activity
description: This gets a single account activity by its id.
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: listAccountActivities
description: The account activity id
example: ef38f94347e94562b5bb8424a56397d8
responses:
'200':
description: An account activity object
content:
application/json:
schema:
$ref: '#/components/schemas/AccountActivity'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/auth-org/network-config:
get:
operationId: getAuthOrgNetworkConfig
tags:
- Global Tenant Security Settings
summary: Get security network configuration.
description: This API returns the details of an org's network auth configuration.
security:
- userAuth:
- sp:auth-org:read
- applicationAuth:
- sp:auth-org:read
responses:
'200':
description: Network configuration for the tenant's auth org.
content:
application/json:
schema:
$ref: '#/components/schemas/NetworkConfiguration'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
post:
operationId: createAuthOrgNetworkConfig
tags:
- Global Tenant Security Settings
summary: Create security network configuration.
description: 'This API returns the details of an org''s network auth configuration. Requires security scope of: ''sp:auth-org:manage'''
security:
- userAuth:
- sp:auth-org:manage
- applicationAuth:
- sp:auth-org:manage
requestBody:
required: true
description: |-
Network configuration creation request body. The following constraints ensure the request body conforms to certain logical guidelines, which are:
1. Each string element in the range array must be a valid ip address or
ip subnet mask.
2. Each string element in the geolocation array must be 2 characters,
and they can only be uppercase letters.
content:
application/json:
schema:
$ref: '#/components/schemas/NetworkConfiguration'
responses:
'200':
description: Network configuration for the tenant.
content:
application/json:
schema:
$ref: '#/components/schemas/NetworkConfiguration'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
patch:
operationId: patchAuthOrgNetworkConfig
tags:
- Global Tenant Security Settings
summary: Update security network configuration.
description: |-
This API updates an existing network configuration for an org using PATCH
Requires security scope of: 'sp:auth-org:manage'
security:
- userAuth:
- sp:auth-org:manage
- applicationAuth:
- sp:auth-org:manage
requestBody:
required: true
description: |-
A list of auth org network configuration update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard.
Ensures that the patched Network Config conforms to certain logical guidelines, which are:
1. Each string element in the range array must be a valid ip address or
ip subnet mask.
2. Each string element in the geolocation array must be 2 characters,
and they can only be uppercase letters.
content:
application/json-patch+json:
schema:
type: array
items:
$ref: '#/components/schemas/JsonPatchOperation'
example:
- op: replace
path: /whitelisted
value: false,
- op: add
path: /geolocation
value:
- AF
- HN
- ES
responses:
'200':
description: Updated Auth Org network configuration.
content:
application/json:
schema:
$ref: '#/components/schemas/NetworkConfiguration'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/auth-org/lockout-config:
get:
operationId: getAuthOrgLockoutConfig
tags:
- Global Tenant Security Settings
summary: Get auth org lockout configuration.
description: This API returns the details of an org's lockout auth configuration.
security:
- userAuth:
- sp:auth-org:read
- applicationAuth:
- sp:auth-org:read
responses:
'200':
description: Lockout configuration for the tenant's auth org.
content:
application/json:
schema:
$ref: '#/components/schemas/LockoutConfiguration'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
patch:
operationId: patchAuthOrgLockoutConfig
tags:
- Global Tenant Security Settings
summary: Update auth org lockout configuration
description: |
This API updates an existing lockout configuration for an org using PATCH
security:
- userAuth:
- sp:auth-org:manage
- applicationAuth:
- sp:auth-org:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- HELPDESK
requestBody:
required: true
description: |-
A list of auth org lockout configuration update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard.
Ensures that the patched Lockout Config conforms to certain logical guidelines, which are:
`1. maximumAttempts >= 1 && maximumAttempts <= 15
2. lockoutDuration >= 5 && lockoutDuration <= 60
3. lockoutWindow >= 5 && lockoutDuration <= 60`
content:
application/json-patch+json:
schema:
type: array
items:
$ref: '#/components/schemas/JsonPatchOperation'
example:
- op: replace
path: /maximumAttempts
value: 7,
- op: add
path: /lockoutDuration
value: 35
responses:
'200':
description: Updated Auth Org lockout configuration.
content:
application/json:
schema:
$ref: '#/components/schemas/LockoutConfiguration'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/auth-org/service-provider-config:
get:
operationId: getAuthOrgServiceProviderConfig
tags:
- Global Tenant Security Settings
summary: Get service provider configuration.
description: This API returns the details of an org's service provider auth configuration.
responses:
'200':
description: Service provider configuration for the tenant.
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceProviderConfiguration'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- 'sp:auth-org:read '
- applicationAuth:
- 'sp:auth-org:read '
patch:
operationId: patchAuthOrgServiceProviderConfig
tags:
- Global Tenant Security Settings
summary: Update service provider configuration
description: This API updates an existing service provider configuration for an org using PATCH.
requestBody:
required: true
description: |-
A list of auth org service provider configuration update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard.
Note: /federationProtocolDetails/0 is IdpDetails /federationProtocolDetails/1 is SpDetails
Ensures that the patched ServiceProviderConfig conforms to certain logical guidelines, which are:
1. Do not add or remove any elements in the federation protocol details
in the service provider configuration.
2. Do not modify, add, or delete the service provider details element in
the federation protocol details.
3. If this is the first time the patched ServiceProviderConfig enables
Remote IDP sign-in, it must also include IDPDetails.
4. If the patch enables Remote IDP sign in, the entityID in the
IDPDetails cannot be null. IDPDetails must include an entityID.
5. Any JIT configuration update must be valid.
Just in time configuration update must be valid when enabled. This includes:
- A Source ID
- Source attribute mappings
- Source attribute maps have all the required key values (firstName,
lastName, email)
content:
application/json-patch+json:
schema:
type: array
items:
$ref: '#/components/schemas/JsonPatchOperation'
example:
- op: replace
path: /enabled
value: true,
- op: add
path: /federationProtocolDetails/0/jitConfiguration
value:
enabled: true
sourceId: 2c9180857377ed2901739c12a2da5ac8
sourceAttributeMappings:
firstName: okta.firstName
lastName: okta.lastName
email: okta.email
employeeNumber: okta.employeeNumber
responses:
'200':
description: Auth Org Service Provider configuration updated.
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceProviderConfiguration'
'400':
description: Client Error - Returned if the request body is invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseDto'
examples:
400.1 Bad Request Content:
description: Response for bad request content
value:
detailCode: 400.1 Bad Request Content
trackingId: e7eab60924f64aa284175b9fa3309599
messages:
- locale: en
localeOrigin: REQUEST
text: firstName is required; accountName is required;
400.1.3 Illegal value:
description: Response for Illegal value
value:
detailCode: 400.1.3 Illegal value
trackingId: e7eab60924f64aa284175b9fa3309599
messages:
- locale: en
localeOrigin: REQUEST
text: JIT source id is invalid.
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- sp:auth-org:manage
- applicationAuth:
- sp:auth-org:manage
/auth-org/session-config:
get:
operationId: getAuthOrgSessionConfig
tags:
- Global Tenant Security Settings
summary: Get auth org session configuration.
description: This API returns the details of an org's session auth configuration.
security:
- userAuth:
- sp:auth-org:read
- applicationAuth:
- sp:auth-org:read
responses:
'200':
description: Session configuration for the tenant's auth org.
content:
application/json:
schema:
$ref: '#/components/schemas/SessionConfiguration'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
patch:
operationId: patchAuthOrgSessionConfig
tags:
- Global Tenant Security Settings
summary: Update auth org session configuration
description: This API updates an existing session configuration for an org using PATCH.
security:
- userAuth:
- sp:auth-org:manage
- applicationAuth:
- sp:auth-org:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- HELPDESK
requestBody:
required: true
description: |
A list of auth org session configuration update operations according to
the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard.
Ensures that the patched Session Config conforms to certain logical
guidelines, which are:
`1. maxSessionTime >= 1 && maxSessionTime <= 10080 (1 week)
2. maxIdleTime >= 1 && maxIdleTime <= 1440 (1 day)
3. maxSessionTime must have a greater duration than maxIdleTime.`
content:
application/json-patch+json:
schema:
type: array
items:
$ref: '#/components/schemas/JsonPatchOperation'
example:
- op: replace
path: /rememberMe
value: true,
- op: add
path: /maxSessionTime
value: 480
responses:
'200':
description: Updated Auth Org session configuration.
content:
application/json:
schema:
$ref: '#/components/schemas/SessionConfiguration'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/auth-users/{id}:
get:
operationId: getAuthUser
tags:
- Auth Users
summary: Auth user details
description: Return the specified user's authentication system details.
parameters:
- in: path
name: id
description: Identity ID
required: true
x-sailpoint-resource-operation-id: listIdentities
schema:
type: string
example: ef38f94347e94562b5bb8424a56397d8
security:
- userAuth:
- sp:auth-user:read
responses:
'200':
description: The specified user's authentication system details.
content:
application/json:
schema:
$ref: '#/components/schemas/AuthUser'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
patch:
operationId: patchAuthUser
tags:
- Auth Users
summary: Auth user update
description: |-
Use a PATCH request to update an existing user in the authentication system.
Use this endpoint to modify these fields:
* `capabilities`
A '400.1.1 Illegal update attempt' detail code indicates that you attempted to PATCH a field that is not allowed.
security:
- userAuth:
- sp:auth-user:manage
parameters:
- in: path
name: id
description: Identity ID
required: true
x-sailpoint-resource-operation-id: listIdentities
schema:
type: string
example: ef38f94347e94562b5bb8424a56397d8
requestBody:
required: true
description: A list of auth user update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard.
content:
application/json-patch+json:
schema:
type: array
items:
$ref: '#/components/schemas/JsonPatchOperation'
example:
- op: replace
path: /capabilities
value:
- ORG_ADMIN
responses:
'200':
description: Auth user updated.
content:
application/json:
schema:
$ref: '#/components/schemas/AuthUser'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/brandings:
get:
operationId: getBrandingList
tags:
- Branding
summary: List of branding items
description: This API endpoint returns a list of branding items.
security:
- userAuth:
- idn:branding:read
- applicationAuth:
- idn:branding:read
x-sailpoint-userLevels:
- ORG_ADMIN
responses:
'200':
description: A list of branding items.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/BrandingItem'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
post:
operationId: createBrandingItem
tags:
- Branding
summary: Create a branding item
description: This API endpoint creates a branding item.
requestBody:
required: true
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/BrandingItemCreate'
security:
- userAuth:
- idn:branding:manage
- applicationAuth:
- idn:branding:manage
x-sailpoint-userLevels:
- ORG_ADMIN
responses:
'201':
description: Branding item created
content:
application/json:
schema:
$ref: '#/components/schemas/BrandingItem'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/brandings/{name}:
get:
operationId: getBranding
tags:
- Branding
summary: Get a branding item
description: 'This API endpoint retrieves information for an existing branding item by name. '
security:
- userAuth:
- idn:branding:read
- applicationAuth:
- idn:branding:read
x-sailpoint-userLevels:
- ORG_ADMIN
parameters:
- in: path
name: name
schema:
type: string
required: true
x-sailpoint-resource-operation-id: getBrandingList
description: The name of the branding item to be retrieved
example: default
responses:
'200':
description: A branding item object
content:
application/json:
schema:
$ref: '#/components/schemas/BrandingItem'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
put:
operationId: setBrandingItem
tags:
- Branding
summary: Update a branding item
description: This API endpoint updates information for an existing branding item.
parameters:
- in: path
name: name
schema:
type: string
required: true
x-sailpoint-resource-operation-id: getBrandingList
description: The name of the branding item to be retrieved
example: default
requestBody:
required: true
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/BrandingItemCreate'
security:
- userAuth:
- idn:branding:manage
- applicationAuth:
- idn:branding:manage
x-sailpoint-userLevels:
- ORG_ADMIN
responses:
'200':
description: Branding item updated
content:
application/json:
schema:
$ref: '#/components/schemas/BrandingItem'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
delete:
operationId: deleteBranding
tags:
- Branding
summary: Delete a branding item
description: 'This API endpoint delete information for an existing branding item by name. '
security:
- userAuth:
- idn:branding:manage
- applicationAuth:
- idn:branding:manage
x-sailpoint-userLevels:
- ORG_ADMIN
parameters:
- in: path
name: name
schema:
type: string
required: true
x-sailpoint-resource-operation-id: getBrandingList
description: The name of the branding item to be deleted
example: default
responses:
'204':
$ref: '#/components/responses/204'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/campaigns:
get:
operationId: getActiveCampaigns
tags:
- Certification Campaigns
summary: List campaigns
description: |
Use this API to get a list of campaigns. This API can provide increased level of detail for each campaign for the correct provided query.
security:
- userAuth:
- idn:campaign:read
- idn:campaign:manage
- idn:campaign-report:read
- idn:campaign-report:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- CERT_ADMIN
- REPORT_ADMIN
parameters:
- in: query
name: detail
schema:
type: string
enum:
- SLIM
- FULL
required: false
description: Determines whether slim, or increased level of detail is provided for each campaign in the returned list. Slim is the default behavior.
example: FULL
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/count'
- in: query
name: filters
schema:
type: string
required: false
description: |-
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*
example: name eq "Manager Campaign"
- in: query
name: sorters
schema:
type: string
format: comma-separated
required: false
description: |-
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**
example: name
responses:
'200':
description: A list of campaign objects. By default list of SLIM campaigns is returned.
content:
application/json:
schema:
type: array
items:
anyOf:
- $ref: '#/components/schemas/Campaign-2'
- $ref: '#/components/schemas/SlimCampaign'
examples:
Slim Campaign:
$ref: '#/components/examples/SlimCampaigns'
Full Campaign:
$ref: '#/components/examples/FullCampaigns'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
post:
operationId: createCampaign
tags:
- Certification Campaigns
summary: Create a campaign
description: |
Use this API to create a certification campaign with the information provided in the request body.
security:
- userAuth:
- idn:campaign:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- CERT_ADMIN
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Campaign-2'
examples:
Manager:
$ref: '#/components/examples/CreateCampaignManager'
Search:
$ref: '#/components/examples/CreateCampaignSearch'
Source Owner:
$ref: '#/components/examples/CreateCampaignSourceOwner'
Role Composition:
$ref: '#/components/examples/CreateCampaignRoleComposition'
Machine Account:
$ref: '#/components/examples/CreateCampaignMachineAccount'
responses:
'202':
description: This response indicates that the requested campaign has been successfully accepted into the system, and its representation is returned by the API.
content:
application/json:
schema:
$ref: '#/components/schemas/Campaign-2'
examples:
Manager:
$ref: '#/components/examples/FullCampaignManager'
Search:
$ref: '#/components/examples/FullCampaignSearch'
Source Owner:
$ref: '#/components/examples/FullCampaignSourceOwner'
Role Composition:
$ref: '#/components/examples/FullCampaignRoleComposition'
Machine Account Owner:
$ref: '#/components/examples/FullCampaignMachineAccount'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/campaigns/{id}:
get:
operationId: getCampaign
tags:
- Certification Campaigns
summary: Get campaign
description: |
Use this API to get information for an existing certification campaign by the campaign's ID.
security:
- userAuth:
- idn:campaign:read
- idn:campaign:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- CERT_ADMIN
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: getActiveCampaigns
description: ID of the campaign to be retrieved.
example: 2c91808571bcfcf80171c23e4b4221fc
- in: query
name: detail
schema:
type: string
enum:
- SLIM
- FULL
required: false
description: Determines whether slim, or increased level of detail is provided for each campaign in the returned list. Slim is the default behavior.
example: FULL
responses:
'200':
description: Requested campaign object.
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/SlimCampaign'
- $ref: '#/components/schemas/Campaign-2'
examples:
Manager:
$ref: '#/components/examples/SlimCampaignManager'
Search:
$ref: '#/components/examples/SlimCampaignSearch'
Source Owner:
$ref: '#/components/examples/SlimCampaignSourceOwner'
RoleComposition:
$ref: '#/components/examples/SlimCampaignRoleComposition'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
patch:
operationId: updateCampaign
tags:
- Certification Campaigns
summary: Update a campaign
description: |
Use this API to update individual fields on a certification campaign, using the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard.
security:
- userAuth:
- idn:campaign:read
- idn:campaign:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- CERT_ADMIN
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: getActiveCampaigns
description: ID of the campaign template being modified.
example: 2c91808571bcfcf80171c23e4b4221fc
requestBody:
required: true
description: |
A list of campaign update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard.
The fields that can be patched differ based on the status of the campaign.
When the campaign is in the *STAGED* status, you can patch these fields:
* name
* description
* recommendationsEnabled
* deadline
* emailNotificationEnabled
* autoRevokeAllowed
When the campaign is in the *ACTIVE* status, you can patch these fields:
* deadline
content:
application/json-patch+json:
schema:
type: array
items:
$ref: '#/components/schemas/JsonPatchOperation'
example:
- op: replace
path: /name
value: This field has been updated!
- op: copy
from: /name
path: /description
responses:
'200':
description: This response indicates that the PATCH operation succeeded, and the API returns the campaign's new representation.
content:
application/json:
schema:
$ref: '#/components/schemas/SlimCampaign'
examples:
Manager:
$ref: '#/components/examples/SlimCampaignManager'
Search:
$ref: '#/components/examples/SlimCampaignSearch'
Source Owner:
$ref: '#/components/examples/SlimCampaignSourceOwner'
RoleComposition:
$ref: '#/components/examples/SlimCampaignRoleComposition'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/campaigns/{id}/reassign:
post:
security:
- userAuth:
- idn:campaign:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- CERT_ADMIN
operationId: move
tags:
- Certification Campaigns
summary: Reassign certifications
description: |
This API reassigns the specified certifications from one identity to another.
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: getActiveCampaigns
description: The certification campaign ID
example: ef38f94347e94562b5bb8424a56397d8
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AdminReviewReassign'
responses:
'202':
description: The reassign task that has been submitted.
content:
application/json:
schema:
$ref: '#/components/schemas/CertificationTask'
example:
id: 2c918086719eec070171a7e3355a360a
type: ADMIN_REASSIGN
targetType: CAMPAIGN
targetId: 2c918086719eec070171a7e3355a834c
status: QUEUED
errors: []
created: '2020-09-24T18:10:47.693Z'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/campaigns/{id}/activate:
post:
operationId: startCampaign
tags:
- Certification Campaigns
summary: Activate a campaign
description: |
Use this API to submit a job to activate the certified campaign with the specified ID. The campaign must be staged.
security:
- userAuth:
- idn:campaign:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- CERT_ADMIN
requestBody:
description: Optional. If no timezone is specified, the standard UTC timezone is used (i.e. UTC+00:00). Although this can take any timezone, the intended value is the caller's timezone. The activation time calculated from the given timezone may cause the campaign deadline time to be modified, but it will remain within the original date. The timezone must be in a valid ISO 8601 format.
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/ActivateCampaignOptions'
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: getActiveCampaigns
description: Campaign ID.
example: ef38f94347e94562b5bb8424a56397d8
responses:
'202':
$ref: '#/components/responses/202'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/campaigns/{id}/complete:
post:
operationId: completeCampaign
tags:
- Certification Campaigns
summary: Complete a campaign
description: |
:::caution
This endpoint will run successfully for any campaigns that are **past due**.
This endpoint will return a content error if the campaign is **not past due**.
:::
Use this API to complete a certification campaign. This functionality is provided to admins so that they
can complete a certification even if all items have not been completed.
security:
- userAuth:
- idn:campaign:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- CERT_ADMIN
requestBody:
description: Optional. Default behavior is for the campaign to auto-approve upon completion, unless autoCompleteAction=REVOKE
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/CampaignCompleteOptions'
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: getActiveCampaigns
description: Campaign ID.
example: ef38f94347e94562b5bb8424a56397d8
responses:
'202':
$ref: '#/components/responses/202'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/campaigns/delete:
post:
operationId: deleteCampaigns
tags:
- Certification Campaigns
summary: Delete campaigns
description: |
Use this API to delete certification campaigns whose IDs are specified in the provided list of campaign IDs.
security:
- userAuth:
- idn:campaign:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- CERT_ADMIN
requestBody:
description: IDs of the campaigns to delete.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CampaignsDeleteRequest'
responses:
'202':
$ref: '#/components/responses/202'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/campaigns/{id}/run-remediation-scan:
post:
operationId: startCampaignRemediationScan
tags:
- Certification Campaigns
summary: Run campaign remediation scan
description: |
Use this API to run a remediation scan task for a certification campaign.
security:
- userAuth:
- idn:campaign-report:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- CERT_ADMIN
- REPORT_ADMIN
parameters:
- in: path
name: id
schema:
type: string
example: 2c91808571bcfcf80171c23e4b4221fc
required: true
x-sailpoint-resource-operation-id: getActiveCampaigns
description: ID of the campaign the remediation scan is being run for.
responses:
'202':
$ref: '#/components/responses/202'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/campaigns/{id}/reports:
get:
operationId: getCampaignReports
tags:
- Certification Campaigns
summary: Get campaign reports
description: |
Use this API to fetch all reports for a certification campaign by campaign ID.
security:
- userAuth:
- idn:campaign-report:read
- idn:campaign-report:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- CERT_ADMIN
- REPORT_ADMIN
parameters:
- in: path
name: id
schema:
type: string
example: 2c91808571bcfcf80171c23e4b4221fc
required: true
x-sailpoint-resource-operation-id: getActiveCampaigns
description: ID of the campaign whose reports are being fetched.
responses:
'200':
description: Array of campaign report objects.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CampaignReport'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/campaigns/{id}/run-report/{type}:
post:
operationId: startCampaignReport
tags:
- Certification Campaigns
summary: Run campaign report
description: |
Use this API to run a report for a certification campaign.
security:
- userAuth:
- idn:campaign-report:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- CERT_ADMIN
- REPORT_ADMIN
parameters:
- in: path
name: id
schema:
type: string
example: 2c91808571bcfcf80171c23e4b4221fc
required: true
x-sailpoint-resource-operation-id: getActiveCampaigns
description: ID of the campaign the report is being run for.
- in: path
name: type
schema:
$ref: '#/components/schemas/ReportType'
required: true
description: Type of the report to run.
responses:
'202':
$ref: '#/components/responses/202'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/campaigns/reports-configuration:
get:
operationId: getCampaignReportsConfig
tags:
- Certification Campaigns
summary: Get campaign reports configuration
description: |
Use this API to fetch the configuration for certification campaign reports. The configuration includes only one element - identity attributes defined as custom report columns.
security:
- userAuth:
- idn:campaign:read
- idn:campaign:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- CERT_ADMIN
responses:
'200':
description: Campaign report configuration.
content:
application/json:
schema:
$ref: '#/components/schemas/CampaignReportsConfig'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
put:
operationId: setCampaignReportsConfig
tags:
- Certification Campaigns
summary: Set campaign reports configuration
description: |
Use this API to overwrite the configuration for campaign reports.
security:
- userAuth:
- idn:campaign:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- CERT_ADMIN
requestBody:
required: true
description: Campaign report configuration.
content:
application/json:
schema:
$ref: '#/components/schemas/CampaignReportsConfig'
responses:
'200':
description: The persisted campaign report configuration.
content:
application/json:
schema:
$ref: '#/components/schemas/CampaignReportsConfig'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/campaign-filters:
post:
operationId: createCampaignFilter
tags:
- Certification Campaign Filters
summary: Create campaign filter
description: Use this API to create a campaign filter based on filter details and criteria.
security:
- userAuth:
- idn:campaign-filter:manage
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CampaignFilterDetails'
responses:
'200':
description: Created successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/CampaignFilterDetails'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
get:
operationId: listCampaignFilters
tags:
- Certification Campaign Filters
summary: List campaign filters
description: Use this API to list all campaign filters. You can reduce scope with standard V3 query parameters.
security:
- userAuth:
- idn:campaign-filter:manage
parameters:
- $ref: '#/components/parameters/limit'
- in: query
name: start
description: Start/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.
required: false
example: 0
schema:
type: integer
format: int32
minimum: 0
default: 0
- in: query
name: includeSystemFilters
description: 'If this is true, the API includes system filters in the count and results. Otherwise it excludes them. If no value is provided, the default is true. '
required: false
example: true
schema:
type: boolean
default: true
responses:
'200':
description: List of campaign filter objects.
content:
application/json:
schema:
type: object
properties:
items:
type: array
description: List of campaign filters.
items:
$ref: '#/components/schemas/CampaignFilterDetails'
count:
type: integer
description: Number of filters returned.
example: 2
example:
items:
- id: 5b8a2ba86393dd174495c4436dd76b25
name: IdentityAttribute Inclusion Campaign Filter
description: IdentityAttribute Inclusion Campaign Filter
owner: SailPoint Support
mode: INCLUSION
criteriaList:
- type: IDENTITY_ATTRIBUTE
property: displayName
value: '#'
operation: CONTAINS
negateResult: false
shortCircuit: false
recordChildMatches: false
id: null
suppressMatchedItems: false
children: null
isSystemFilter: false
- id: e9f9a1397b842fd5a65842087040d3ac
name: Exclusion Campaign Filter
description: Campaign filter for Exclusion update
owner: SailPoint Support
mode: EXCLUSION
criteriaList:
- type: IDENTITY_ATTRIBUTE
property: displayName
value: '#@'
operation: CONTAINS
negateResult: false
shortCircuit: false
recordChildMatches: false
id: null
suppressMatchedItems: false
children: null
isSystemFilter: false
count: 2
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/campaign-filters/{id}:
get:
operationId: getCampaignFilterById
tags:
- Certification Campaign Filters
summary: Get campaign filter by id
description: Retrieves information for an existing campaign filter using the filter's ID.
security:
- userAuth:
- idn:campaign-filter:read
parameters:
- in: path
name: id
schema:
type: string
example: e9f9a1397b842fd5a65842087040d3ac
required: true
x-sailpoint-resource-operation-id: listCampaignFilters
description: The ID of the campaign filter to be retrieved.
responses:
'200':
description: A campaign filter object.
content:
application/json:
schema:
$ref: '#/components/schemas/CampaignFilterDetails'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
post:
operationId: updateCampaignFilter
tags:
- Certification Campaign Filters
summary: Updates a campaign filter
description: Updates an existing campaign filter using the filter's ID.
security:
- userAuth:
- idn:campaign-filter:manage
parameters:
- in: path
name: filterId
schema:
type: string
example: e9f9a1397b842fd5a65842087040d3ac
required: true
x-sailpoint-resource-operation-id: listCampaignFilters
description: The ID of the campaign filter being modified.
requestBody:
required: true
description: A campaign filter details with updated field values.
content:
application/json:
schema:
$ref: '#/components/schemas/CampaignFilterDetails'
responses:
'200':
description: Created successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/CampaignFilterDetails'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/campaign-filters/delete:
post:
operationId: deleteCampaignFilters
tags:
- Certification Campaign Filters
summary: Deletes campaign filters
description: Deletes campaign filters whose Ids are specified in the provided list of campaign filter Ids. Authorized callers must be an ORG_ADMIN or a CERT_ADMIN.
security:
- userAuth:
- idn:campaign-filter:manage
requestBody:
description: A json list of IDs of campaign filters to delete.
required: true
content:
application/json:
schema:
type: array
items:
type: string
example:
- 0fbe863c063c4c88a35fd7f17e8a3df5
- 2efb374d392c4d88a34sv7b11e8a4eq6
responses:
'204':
$ref: '#/components/responses/204'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/campaign-templates:
post:
operationId: createCampaignTemplate
tags:
- Certification Campaigns
summary: Create a campaign template
description: |
Use this API to create a certification campaign template based on campaign.
security:
- userAuth:
- idn:campaign-template:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- CERT_ADMIN
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CampaignTemplate'
examples:
Manager:
$ref: '#/components/examples/CreateCampaignTemplateManager'
Search:
$ref: '#/components/examples/CreateCampaignTemplateSearch'
Source Owner:
$ref: '#/components/examples/CreateCampaignTemplateSourceOwner'
RoleComposition:
$ref: '#/components/examples/CreateCampaignTemplateRoleComposition'
responses:
'200':
description: Created successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/CampaignTemplate'
examples:
Manager:
$ref: '#/components/examples/CampaignTemplateManager'
Search:
$ref: '#/components/examples/CampaignTemplateSearch'
Source Owner:
$ref: '#/components/examples/CampaignTemplateSourceOwner'
RoleComposition:
$ref: '#/components/examples/CampaignTemplateRoleComposition'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
get:
operationId: getCampaignTemplates
tags:
- Certification Campaigns
summary: List campaign templates
description: |
Use this API to get a list of all campaign templates. Scope can be reduced through standard V3 query params.
The API returns all campaign templates matching the query parameters.
security:
- userAuth:
- idn:campaign-template:read
- idn:campaign-template:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- CERT_ADMIN
parameters:
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/count'
- in: query
name: sorters
schema:
type: string
format: comma-separated
description: |-
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, modified**
example: name
- in: query
name: filters
schema:
type: string
format: comma-separated
description: |-
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:
**name**: *eq, ge, gt, in, le, lt, ne, sw*
**id**: *eq, ge, gt, in, le, lt, ne, sw*
example: name eq "manager template"
responses:
'200':
description: List of campaign template objects.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CampaignTemplate'
example:
- id: e7dbec99d49349c8951bd84f58a05120
name: Manager Review
created: '2022-08-02T19:16:42.632Z'
modified: null
description: A review of everyone's access by their manager.
deadlineDuration: P14D
ownerRef:
email: support@testmail.identitysoon.com
type: IDENTITY
id: 7ec252acbd4245548bc25df22348cb75
name: SailPoint Support
scheduled: false
campaign:
created: null
modified: null
filter:
type: CAMPAIGN_FILTER
id: e0adaae69852e8fe8b8a3d48e5ce757c
name: Test Manager Filter
sunsetCommentsRequired: true
sourceOwnerCampaignInfo: null
searchCampaignInfo: null
roleCompositionCampaignInfo: null
alerts: null
totalCertifications: null
completedCertifications: null
sourcesWithOrphanEntitlements: null
id: null
name: Manager Review
description: Review everyone's access.
deadline: null
type: MANAGER
status: null
emailNotificationEnabled: true
autoRevokeAllowed: false
recommendationsEnabled: false
mandatoryCommentRequirement: NO_DECISIONS
- id: b7e6459eed5247ac8b98a5fed81fe27f
name: Reporting Access Review
created: '2022-07-28T19:19:40.035Z'
modified: null
description: A review of everyone's access to the reporting system.
deadlineDuration: P14D
ownerRef:
email: support@testmail.identitysoon.com
type: IDENTITY
id: 7ec252acbd4245548bc25df22348cb75
name: SailPoint Support
scheduled: false
campaign:
created: null
modified: null
filter:
type: CAMPAIGN_FILTER
id: e0adaae69852e8fe8b8a3d48e5ce757c
name: Test Search Filter
sunsetCommentsRequired: true
sourceOwnerCampaignInfo: null
searchCampaignInfo:
type: ACCESS
description: Identities with reporting abilities
reviewerId: null
reviewer: null
query: '@access(name: ("reporter"))'
identityIds: null
accessConstraints: []
roleCompositionCampaignInfo: null
alerts: null
totalCertifications: null
completedCertifications: null
sourcesWithOrphanEntitlements: null
id: null
name: Search Campaign
description: Review everyone's access to the reporting system.
deadline: null
type: SEARCH
status: null
emailNotificationEnabled: true
autoRevokeAllowed: false
recommendationsEnabled: false
mandatoryCommentRequirement: NO_DECISIONS
- id: b9f41bc69e7a4291b9de0630396d030d
name: Campaign With Admin Role
created: '2022-08-02T13:40:36.857Z'
modified: null
description: Campaign With Admin Role
deadlineDuration: null
ownerRef:
email: support@testmail.identitysoon.com
type: IDENTITY
id: 7ec252acbd4245548bc25df22348cb75
name: SailPoint Support
scheduled: false
campaign:
created: null
modified: null
filter: null
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
alerts: null
totalCertifications: null
completedCertifications: null
sourcesWithOrphanEntitlements: null
id: null
name: Campaign With Admin Role
description: Campaign With Admin Role
deadline: null
type: ROLE_COMPOSITION
status: null
emailNotificationEnabled: false
autoRevokeAllowed: false
recommendationsEnabled: false
mandatoryCommentRequirement: NO_DECISIONS
- id: b9f41bc69e7a4291b9de0630396d030d
name: AD Source Review
created: '2022-08-02T13:40:36.857Z'
modified: null
description: A review of our AD source.
deadlineDuration: P1M
ownerRef:
email: support@testmail.identitysoon.com
type: IDENTITY
id: 7ec252acbd4245548bc25df22348cb75
name: SailPoint Support
scheduled: false
campaign:
created: null
modified: null
filter:
type: CAMPAIGN_FILTER
id: e0adaae69852e8fe8b8a3d48e5ce757c
name: Test Source Owner Filter
sunsetCommentsRequired: true
sourceOwnerCampaignInfo:
sourceIds:
- 2c918084707deba501709d45ce4e5569
searchCampaignInfo: null
roleCompositionCampaignInfo: null
alerts: null
totalCertifications: null
completedCertifications: null
sourcesWithOrphanEntitlements: null
id: null
name: AD Source Review
description: Review everyone's access.
deadline: null
type: SOURCE_OWNER
status: null
emailNotificationEnabled: true
autoRevokeAllowed: false
recommendationsEnabled: false
correlatedStatus: CORRELATED
mandatoryCommentRequirement: NO_DECISIONS
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/campaign-templates/{id}:
patch:
operationId: patchCampaignTemplate
tags:
- Certification Campaigns
summary: Update a campaign template
description: |
Use this API to update individual fields on a certification campaign template, using the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard.
security:
- userAuth:
- idn:campaign-template:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- CERT_ADMIN
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: getCampaignTemplates
description: ID of the campaign template being modified.
example: 2c9180835d191a86015d28455b4a2329
requestBody:
required: true
description: |
A list of campaign update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard.
The following fields are patchable:
* name
* description
* deadlineDuration
* campaign (all fields that are allowed during create)
content:
application/json-patch+json:
schema:
type: array
items:
$ref: '#/components/schemas/JsonPatchOperation'
example:
- op: replace
path: /description
value: Updated description!
- op: replace
path: /campaign/filter/id
value: ff80818155fe8c080155fe8d925b0316
responses:
'200':
description: This response indicates that the PATCH operation succeeded, and the API returns the template's new representation.
content:
application/json:
schema:
$ref: '#/components/schemas/CampaignTemplate'
examples:
Manager:
$ref: '#/components/examples/CampaignTemplateManager'
Search:
$ref: '#/components/examples/CampaignTemplateSearch'
Source Owner:
$ref: '#/components/examples/CampaignTemplateSourceOwner'
RoleComposition:
$ref: '#/components/examples/CampaignTemplateRoleComposition'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
get:
operationId: getCampaignTemplate
tags:
- Certification Campaigns
summary: Get a campaign template
description: |
Use this API to fetch a certification campaign template by ID.
security:
- userAuth:
- idn:campaign-template:read
- idn:campaign-template:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- CERT_ADMIN
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: getCampaignTemplates
description: Requested campaign template's ID.
example: 2c9180835d191a86015d28455b4a2329
responses:
'200':
description: Data for the campaign matching the given ID.
content:
application/json:
schema:
$ref: '#/components/schemas/CampaignTemplate'
examples:
Manager:
$ref: '#/components/examples/CampaignTemplateManager'
Search:
$ref: '#/components/examples/CampaignTemplateSearch'
Source Owner:
$ref: '#/components/examples/CampaignTemplateSourceOwner'
RoleComposition:
$ref: '#/components/examples/CampaignTemplateRoleComposition'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
delete:
operationId: deleteCampaignTemplate
tags:
- Certification Campaigns
summary: Delete a campaign template
description: |
Use this API to delete a certification campaign template by ID.
security:
- userAuth:
- idn:campaign-template:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- CERT_ADMIN
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: getCampaignTemplates
description: ID of the campaign template being deleted.
example: 2c9180835d191a86015d28455b4a2329
responses:
'204':
$ref: '#/components/responses/204'
description: The campaign template was successfully deleted.
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/campaign-templates/{id}/schedule:
get:
operationId: getCampaignTemplateSchedule
tags:
- Certification Campaigns
summary: Get campaign template schedule
description: |
Use this API to get the schedule for a certification campaign template. The API returns a 404 if there is no schedule set.
security:
- userAuth:
- idn:campaign-temlates:read
x-sailpoint-userLevels:
- ORG_ADMIN
- CERT_ADMIN
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: getCampaignTemplates
description: ID of the campaign template whose schedule is being fetched.
example: 04bedce387bd47b2ae1f86eb0bb36dee
responses:
'200':
description: Current schedule for the campaign template. See the [Set Campaign Template Schedule endpoint documentation](https://developer.sailpoint.com/docs/api/v3/set-campaign-template-schedule) for more examples.
content:
application/json:
schema:
$ref: '#/components/schemas/Schedule-2'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
put:
operationId: setCampaignTemplateSchedule
tags:
- Certification Campaigns
summary: Set campaign template schedule
description: |
Use this API to set the schedule for a certification campaign template. If a schedule already exists, the API overwrites it with the new one.
security:
- userAuth:
- idn:campaign-template:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- CERT_ADMIN
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: getCampaignTemplates
description: ID of the campaign template being scheduled.
example: 04bedce387bd47b2ae1f86eb0bb36dee
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Schedule-2'
examples:
Monthly:
description: Runs on the 15th and last day of the month, at 5PM.
value:
type: MONTHLY
hours:
type: LIST
values:
- '17'
days:
type: LIST
values:
- '15'
Once a year:
description: Runs every January 1st at midnight.
value:
type: ANNUALLY
hours:
type: LIST
values:
- '0'
days:
type: LIST
values:
- '--01-01'
Quarterly:
description: Runs once a quarter (every 3 months) on the first of the month at 1AM.
value:
type: ANNUALLY
hours:
type: LIST
values:
- '1'
days:
type: LIST
values:
- '1'
months:
type: LIST
values:
- '1'
interval: 3
Yearly on Specific Days:
description: Runs on March 12 and December 5 at 1AM, every year.
value:
type: ANNUALLY
hours:
type: LIST
values:
- '1'
days:
type: LIST
values:
- '--03-12'
- '--12-05'
On a Specific Date:
description: Runs at 1AM on February 18th, 2020
value:
type: CALENDAR
hours:
type: LIST
values:
- '1'
days:
type: LIST
values:
- '2020-02-18'
responses:
'204':
$ref: '#/components/responses/204'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
delete:
operationId: deleteCampaignTemplateSchedule
tags:
- Certification Campaigns
summary: Delete campaign template schedule
description: |
Use this API to delete the schedule for a certification campaign template. The API returns a 404 if there is no schedule set.
security:
- userAuth:
- idn:campaign-template:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- CERT_ADMIN
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: getCampaignTemplates
description: ID of the campaign template whose schedule is being deleted.
example: 04bedce387bd47b2ae1f86eb0bb36dee
responses:
'204':
$ref: '#/components/responses/204'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/campaign-templates/{id}/generate:
post:
operationId: startGenerateCampaignTemplate
tags:
- Certification Campaigns
summary: Generate a campaign from template
security:
- userAuth:
- idn:campaign-template:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- CERT_ADMIN
description: |
Use this API to generate a new certification campaign from a campaign template.
The campaign object contained in the template has special formatting applied to its name and description
fields that determine the generated campaign's name/description. Placeholders in those fields are
formatted with the current date and time upon generation.
Placeholders consist of a percent sign followed by a letter indicating what should be inserted. For
example, "%Y" inserts the current year, and a campaign template named "Campaign for %y" generates a
campaign called "Campaign for 2020" (assuming the year at generation time is 2020).
Valid placeholders are the date/time conversion suffix characters supported by [java.util.Formatter](https://docs.oracle.com/javase/8/docs/api/java/util/Formatter.html).
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: getCampaignTemplates
description: ID of the campaign template to use for generation.
example: 2c9180835d191a86015d28455b4a2329
responses:
'200':
description: This response indicates that a campaign was successfully generated from this template, and the API returns a reference to the new campaign.
content:
application/json:
schema:
$ref: '#/components/schemas/CampaignReference'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/certifications:
get:
operationId: listIdentityCertifications
tags:
- Certifications
summary: List identity campaign certifications
description: Use this API to get a list of identity campaign certifications for the specified query parameters. Any authenticated token can call this API, but only certifications you are authorized to review will be returned.
parameters:
- in: query
name: reviewer-identity
schema:
type: string
example: me
description: Reviewer's identity. *me* indicates the current user.
required: false
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/count'
- in: query
name: filters
required: false
schema:
type: string
example: id eq "ef38f94347e94562b5bb8424a56397d8"
description: |-
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*
**campaign.id**: *eq, in*
**phase**: *eq*
**completed**: *eq*
- in: query
name: sorters
required: false
schema:
type: string
format: comma-separated
example: name,due
description: |-
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, due, signed**
responses:
'200':
description: List of identity campaign certifications.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/IdentityCertificationDto'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:campaign:read
/certifications/{id}:
get:
operationId: getIdentityCertification
tags:
- Certifications
summary: Identity certification by id
security:
- userAuth:
- idn:campaign:read
x-sailpoint-userLevels:
- ORG_ADMIN
- CERT_ADMIN
description: This API returns a single identity campaign certification by its ID. Reviewers for this certification can also call this API. This API does not support requests for certifications assigned to Governance Groups.
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: listIdentityCertifications
description: The certification id
example: ef38f94347e94562b5bb8424a56397d8
responses:
'200':
description: An identity campaign certification object
content:
application/json:
schema:
$ref: '#/components/schemas/IdentityCertificationDto'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/certifications/{id}/access-review-items:
get:
operationId: listIdentityAccessReviewItems
tags:
- Certifications
summary: List of access review items
security:
- userAuth:
- idn:campaign:read
x-sailpoint-userLevels:
- ORG_ADMIN
- CERT_ADMIN
description: This API returns a list of access review items for an identity campaign certification. Reviewers for this certification can also call this API. This API does not support requests for certifications assigned to Governance Groups.
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: listIdentityCertifications
description: The identity campaign certification ID
example: ef38f94347e94562b5bb8424a56397d8
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/count'
- in: query
required: false
name: filters
schema:
type: string
description: |-
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*
**type**: *eq*
**access.type**: *eq*
**completed**: *eq, ne*
**identitySummary.id**: *eq, in*
**identitySummary.name**: *eq, sw*
**access.id**: *eq, in*
**access.name**: *eq, sw*
**entitlement.sourceName**: *eq, sw*
**accessProfile.sourceName**: *eq, sw*
example: id eq "ef38f94347e94562b5bb8424a56397d8"
- in: query
name: sorters
required: false
schema:
type: string
format: comma-separated
example: access.name,-accessProfile.sourceName
description: |-
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: **identitySummary.name, access.name, access.type, entitlement.sourceName, accessProfile.sourceName**
- in: query
name: entitlements
required: false
schema:
type: string
example: identityEntitlement
description: |-
Filter results to view access review items that pertain to any of the specified comma-separated entitlement IDs.
An error will occur if this param is used with **access-profiles** or **roles** as only one of these query params can be used at a time.
- in: query
name: access-profiles
required: false
schema:
type: string
example: accessProfile1
description: |-
Filter results to view access review items that pertain to any of the specified comma-separated access-profle IDs.
An error will occur if this param is used with **entitlements** or **roles** as only one of these query params can be used at a time.
- in: query
name: roles
required: false
schema:
type: string
example: userRole
description: |-
Filter results to view access review items that pertain to any of the specified comma-separated role IDs.
An error will occur if this param is used with **entitlements** or **access-profiles** as only one of these query params can be used at a time.
responses:
'200':
description: A list of access review items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/AccessReviewItem'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/certifications/{id}/decide:
post:
operationId: makeIdentityDecision
tags:
- Certifications
summary: Decide on a certification item
security:
- userAuth:
- idn:campaign:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- CERT_ADMIN
description: The API makes a decision to approve or revoke one or more identity campaign certification items. Reviewers for this certification can also call this API. This API does not support requests for certifications assigned to Governance Groups.
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: listIdentityCertifications
description: The ID of the identity campaign certification on which to make decisions
example: ef38f94347e94562b5bb8424a56397d8
requestBody:
required: true
description: A non-empty array of decisions to be made.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ReviewDecision'
minItems: 1
maxItems: 250
example:
- id: ef38f94347e94562b5bb8424a56396b5
decision: APPROVE
bulk: true
comments: This user still needs access to this source.
- id: ef38f94347e94562b5bb8424a56397d8
decision: APPROVE
bulk: true
comments: This user still needs access to this source too.
responses:
'200':
description: An identity campaign certification object
content:
application/json:
schema:
$ref: '#/components/schemas/IdentityCertificationDto'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/certifications/{id}/reassign:
post:
operationId: reassignIdentityCertifications
tags:
- Certifications
summary: Reassign identities or items
description: This API reassigns up to 50 identities or items in an identity campaign certification to another reviewer. A token with ORG_ADMIN or CERT_ADMIN authority is required to call this API. Reviewers for this certification can also call this API. This API does not support requests for certifications assigned to Governance Groups.
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: listIdentityCertifications
description: The identity campaign certification ID
example: ef38f94347e94562b5bb8424a56397d8
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ReviewReassign'
responses:
'200':
description: An identity campaign certification details after completing the reassignment.
content:
application/json:
schema:
$ref: '#/components/schemas/IdentityCertificationDto'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:campaign:manage
/certifications/{id}/sign-off:
post:
operationId: signOffIdentityCertification
tags:
- Certifications
summary: Finalize identity certification decisions
security:
- userAuth:
- idn:campaign:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- CERT_ADMIN
description: This API finalizes all decisions made on an identity campaign certification and initiates any remediations required. Reviewers for this certification can also call this API. This API does not support requests for certifications assigned to Governance Groups.
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: listIdentityCertifications
description: The identity campaign certification ID
example: ef38f94347e94562b5bb8424a56397d8
responses:
'200':
description: An identity campaign certification object
content:
application/json:
schema:
$ref: '#/components/schemas/IdentityCertificationDto'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/certifications/{id}/decision-summary:
get:
operationId: getIdentityDecisionSummary
tags:
- Certification Summaries
summary: Summary of certification decisions
security:
- userAuth:
- idn:campaign:read
x-sailpoint-userLevels:
- ORG_ADMIN
- CERT_ADMIN
description: This API returns a summary of the decisions made on an identity campaign certification. The decisions are summarized by type. Reviewers for this certification can also call this API.
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: listIdentityCertifications
description: The certification ID
example: ef38f94347e94562b5bb8424a56397d8
- in: query
name: filters
required: false
schema:
type: string
example: identitySummary.id eq "ef38f94347e94562b5bb8424a56397d8"
description: |-
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:
**identitySummary.id**: *eq, in*
responses:
'200':
description: Summary of the decisions made
content:
application/json:
schema:
$ref: '#/components/schemas/IdentityCertDecisionSummary'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/certifications/{id}/identity-summaries:
get:
operationId: getIdentitySummaries
tags:
- Certification Summaries
summary: Identity summaries for campaign certification
security:
- userAuth:
- idn:campaign:read
x-sailpoint-userLevels:
- ORG_ADMIN
- CERT_ADMIN
description: This API returns a list of the identity summaries for a specific identity campaign certification. Reviewers for this certification can also call this API.
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: listIdentityCertifications
description: The identity campaign certification ID
example: ef38f94347e94562b5bb8424a56397d8
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/count'
- in: query
name: filters
required: false
schema:
type: string
example: id eq "ef38f94347e94562b5bb8424a56397d8"
description: |-
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*
**completed**: *eq, ne*
**name**: *eq, sw*
- in: query
name: sorters
required: false
schema:
type: string
format: comma-separated
example: name
description: |-
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**
responses:
'200':
description: List of identity summaries
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CertificationIdentitySummary'
example:
- id: 2c91808772a504f50172a9540e501ba7
name: Aaron Grey
identityId: 2c9180857182306001719937379633e4
completed: false
- id: 2c91808772a504f50172a9540e501ba8
name: Aglae Wilson
identityId: 2c9180857182306001719937377a33de
completed: true
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/certifications/{id}/access-summaries/{type}:
get:
operationId: getIdentityAccessSummaries
tags:
- Certification Summaries
summary: Access summaries
description: This API returns a list of access summaries for the specified identity campaign certification and type. Reviewers for this certification can also call this API.
security:
- userAuth:
- idn:campaign:read
x-sailpoint-userLevels:
- ORG_ADMIN
- CERT_ADMIN
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: listIdentityCertifications
description: The identity campaign certification ID
example: ef38f94347e94562b5bb8424a56397d8
- in: path
name: type
schema:
type: string
enum:
- ROLE
- ACCESS_PROFILE
- ENTITLEMENT
required: true
description: The type of access review item to retrieve summaries for
example: ACCESS_PROFILE
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/count'
- in: query
name: filters
required: false
schema:
type: string
example: access.id eq "ef38f94347e94562b5bb8424a56397d8"
description: |-
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:
**completed**: *eq, ne*
**access.id**: *eq, in*
**access.name**: *eq, sw*
**entitlement.sourceName**: *eq, sw*
**accessProfile.sourceName**: *eq, sw*
- in: query
name: sorters
required: false
schema:
type: string
format: comma-separated
example: access.name
description: |-
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: **access.name**
responses:
'200':
description: List of access summaries
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/AccessSummary'
example:
- access:
type: ENTITLEMENT
id: 2c9180857182305e01719937429e2bad
name: CN=Engineering
entitlement:
id: 2c9180857182305e01719937429e2bad
name: CN=Engineering
description: Access to the engineering database
privileged: false
owner:
email: brandon.gray@acme-solar.com
type: IDENTITY
id: 2c9180867160846801719932c5153fb7
name: Brandon Gray
attributeName: memberOf
attributeValue: CN=Engineering
sourceName: ODS-AD-Source
hasPermissions: true
revocable: true
containsDataAccess: true
dataAccess:
policies:
- value: GDPR-1
- value: GDPR-2
categories:
- value: email-7
matchCount: 74
- value: email-9
matchCount: 30
impactScore:
value: Medium
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/certifications/{id}/identity-summaries/{identitySummaryId}:
get:
operationId: getIdentitySummary
tags:
- Certification Summaries
summary: Summary for identity
security:
- userAuth:
- idn:campaign:read
x-sailpoint-userLevels:
- ORG_ADMIN
- CERT_ADMIN
description: This API returns the summary for an identity on a specified identity campaign certification. Reviewers for this certification can also call this API.
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: listIdentityCertifications
description: The identity campaign certification ID
example: ef38f94347e94562b5bb8424a56397d8
- in: path
name: identitySummaryId
schema:
type: string
required: true
x-sailpoint-resource-operation-id: getIdentitySummaries
description: The identity summary ID
example: 2c91808772a504f50172a9540e501ba8
responses:
'200':
description: An identity summary
content:
application/json:
schema:
$ref: '#/components/schemas/CertificationIdentitySummary'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/certifications/{certificationId}/access-review-items/{itemId}/permissions:
get:
operationId: getIdentityCertificationItemPermissions
tags:
- Certifications
summary: Permissions for entitlement certification item
description: This API returns the permissions associated with an entitlement certification item based on the certification item's ID. Reviewers for this certification can also call this API.
security:
- userAuth:
- idn:campaign:read
x-sailpoint-userLevels:
- ORG_ADMIN
- CERT_ADMIN
parameters:
- in: query
name: filters
schema:
type: string
description: |-
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:
**target**: *eq, sw*
**rights**: *ca*
Supported composite operators: *and, or*
All field values (second filter operands) are case-insensitive for this API.
Only a single *and* or *or* composite filter operator may be used. It must also be used between a target filter and a rights filter, not between 2 filters for the same field.
For example, the following is valid: `?filters=rights+ca+(%22CREATE%22)+and+target+eq+%22SYS.OBJAUTH2%22`
The following is invalid: 1?filters=rights+ca+(%22CREATE%22)+and+rights+ca+(%SELECT%22)1
example: target eq "SYS.OBJAUTH2"
- in: path
name: certificationId
schema:
type: string
required: true
x-sailpoint-resource-operation-id: listIdentityCertifications
description: The certification ID
example: ef38f94347e94562b5bb8424a56397d8
- in: path
name: itemId
schema:
type: string
required: true
x-sailpoint-resource-operation-id: listIdentityAccessReviewItems
description: The certification item ID
example: 2c91808671bcbab40171bd945d961227
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/count'
responses:
'200':
description: A list of permissions associated with the given itemId
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/PermissionDto'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/certifications/{id}/reviewers:
get:
operationId: listCertificationReviewers
tags:
- Certifications
summary: List of reviewers for certification
description: This API returns a list of reviewers for the certification. Reviewers for this certification can also call this API.
security:
- userAuth:
- idn:campaign:read
x-sailpoint-userLevels:
- ORG_ADMIN
- CERT_ADMIN
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: listIdentityCertifications
description: The certification ID
example: ef38f94347e94562b5bb8424a56397d8
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/count'
- in: query
name: filters
schema:
type: string
description: |-
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*
**email**: *eq, sw*
example: name eq "Bob"
- in: query
name: sorters
schema:
type: string
format: comma-separated
description: |-
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, email**
example: name
responses:
'200':
description: A list of reviewers
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/IdentityReferenceWithNameAndEmail'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/certifications/{id}/reassign-async:
post:
operationId: submitReassignCertsAsync
tags:
- Certifications
summary: Reassign certifications asynchronously
description: |
This API initiates a task to reassign up to 500 identities or items in an identity campaign certification to another
reviewer. The `certification-tasks` API can be used to get an updated status on the task and determine when the
reassignment is complete.
Reviewers for this certification can also call this API.
security:
- userAuth:
- idn:campaign:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- CERT_ADMIN
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: listIdentityCertifications
description: The identity campaign certification ID
example: ef38f94347e94562b5bb8424a56397d8
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ReviewReassign'
responses:
'200':
description: A certification task object for the reassignment which can be queried for status.
content:
application/json:
schema:
$ref: '#/components/schemas/CertificationTask'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/certification-tasks/{id}:
get:
operationId: getCertificationTask
tags:
- Certifications
summary: Certification task by id
description: This API returns the certification task for the specified ID. Reviewers for the specified certification can also call this API.
security:
- userAuth:
- idn:campaign:read
x-sailpoint-userLevels:
- ORG_ADMIN
- CERT_ADMIN
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: getPendingCertificationTasks
description: The task ID
example: 63b32151-26c0-42f4-9299-8898dc1c9daa
responses:
'200':
description: A certification task
content:
application/json:
schema:
$ref: '#/components/schemas/CertificationTask'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/certification-tasks:
get:
operationId: getPendingCertificationTasks
tags:
- Certifications
summary: List of pending certification tasks
description: This API returns a list of pending (`QUEUED` or `IN_PROGRESS`) certification tasks. Any authenticated token can call this API, but only certification tasks you are authorized to review will be returned.
security:
- userAuth:
- idn:campaign:read
parameters:
- in: query
name: reviewer-identity
schema:
type: string
example: Ada.1de82e55078344
description: The ID of reviewer identity. *me* indicates the current user.
required: false
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/count'
- in: query
name: filters
schema:
type: string
example: type eq "ADMIN_REASSIGN"
description: |-
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*
**targetId**: *eq, in*
**type**: *eq, in*
responses:
'200':
description: A list of pending certification tasks
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CertificationTask'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/configuration-hub/object-mappings/{sourceOrg}:
get:
operationId: getObjectMappings
security:
- userAuth:
- sp:config-object-mapping:read
- sp:config-object-mapping:manage
tags:
- Configuration Hub
summary: Gets list of object mappings
description: |-
This gets a list of existing object mappings between current org and source org.
Source org should be "default" when getting object mappings that are not associated to any particular org.
The request will need the following security scope:
- sp:config-object-mapping:read
parameters:
- in: path
name: sourceOrg
schema:
type: string
required: true
description: The name of the source org.
example: source-org
responses:
'200':
description: List of existing object mappings between current org and source org.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ObjectMappingResponse'
example:
- objectMappingId: 3d6e0144-963f-4bd6-8d8d-d77b4e507ce4
objectType: GOVERNANCE_GROUP
jsonPath: $.description
sourceValue: Sample Governance Group
targetValue: Sample Governance Group - Updated
enabled: true
created: '2024-03-19T23:18:53.732Z'
modified: '2024-03-19T23:18:53.732Z'
- objectMappingId: e1d5cb80-65e2-4f92-ae2e-9588f61cc4cd
objectType: IDENTITY
jsonPath: $.name
sourceValue: SailPoint Support
targetValue: john.doe
enabled: false
created: '2024-03-19T23:18:06.238Z'
modified: '2024-03-19T23:18:06.238Z'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
post:
operationId: createObjectMapping
security:
- userAuth:
- sp:config-object-mapping:manage
tags:
- Configuration Hub
summary: Creates an object mapping
description: |-
This creates an object mapping between current org and source org.
Source org should be "default" when creating an object mapping that is not to be associated to any particular org.
The request will need the following security scope:
- sp:config-object-mapping:manage
parameters:
- in: path
name: sourceOrg
schema:
type: string
required: true
description: The name of the source org.
example: source-org
requestBody:
description: The object mapping request body.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectMappingRequest'
example:
objectType: GOVERNANCE_GROUP
jsonPath: $.description
sourceValue: Sample Governance Group
targetValue: Sample Governance Group - Updated
enabled: true
responses:
'200':
description: The created object mapping between current org and source org.
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectMappingResponse'
example:
objectMappingId: 3d6e0144-963f-4bd6-8d8d-d77b4e507ce4
objectType: GOVERNANCE_GROUP
jsonPath: $.description
sourceValue: Sample Governance Group
targetValue: Sample Governance Group - Updated
enabled: true
created: '2024-03-19T23:18:53.732Z'
modified: '2024-03-19T23:18:53.732Z'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/configuration-hub/object-mappings/{sourceOrg}/{objectMappingId}:
delete:
operationId: deleteObjectMapping
security:
- userAuth:
- sp:config-object-mapping:manage
tags:
- Configuration Hub
summary: Deletes an object mapping
description: |-
This deletes an existing object mapping.
Source org should be "default" when deleting an object mapping that is not associated to any particular org.
The request will need the following security scope:
- sp:config-object-mapping:manage
parameters:
- in: path
name: sourceOrg
schema:
type: string
required: true
description: The name of the source org.
example: source-org
- in: path
name: objectMappingId
schema:
type: string
required: true
description: The id of the object mapping to be deleted.
example: 3d6e0144-963f-4bd6-8d8d-d77b4e507ce4
responses:
'204':
$ref: '#/components/responses/204'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/configuration-hub/object-mappings/{sourceOrg}/bulk-create:
post:
operationId: createObjectMappings
security:
- userAuth:
- sp:config-object-mapping:manage
tags:
- Configuration Hub
summary: Bulk creates object mappings
description: |-
This creates a set of object mappings (Max 25) between current org and source org.
Source org should be "default" when creating object mappings that are not to be associated to any particular org.
The request will need the following security scope:
- sp:config-object-mapping:manage
parameters:
- in: path
name: sourceOrg
schema:
type: string
required: true
description: The name of the source org.
example: source-org
requestBody:
description: The bulk create object mapping request body.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectMappingBulkCreateRequest'
example:
newObjectsMappings:
- objectType: SOURCE
jsonPath: $.name
sourceValue: Original SOURCE Name
targetValue: New SOURCE Name
enabled: true
- objectType: IDENTITY
jsonPath: $.name
sourceValue: Original IDENTITY Name
targetValue: 'New IDENTITY Name '
enabled: true
responses:
'200':
description: The created object mapping between current org and source org.
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectMappingBulkCreateResponse'
example:
addedObjects:
- objectMappingId: 603b1a61-d03d-4ed1-864f-a508fbd1995d
objectType: SOURCE
jsonPath: $.name
sourceValue: Original SOURCE Name
targetValue: New SOURCE Name
enabled: true
created: '2024-03-25T15:50:41.314Z'
modified: '2024-03-25T15:50:41.299Z'
- objectMappingId: 00bece34-f50d-4227-8878-76f620b5a971
objectType: IDENTITY
jsonPath: $.name
sourceValue: Original IDENTITY Name
targetValue: 'New IDENTITY Name '
enabled: true
created: '2024-03-25T15:50:41.316Z'
modified: '2024-03-25T15:50:41.316Z'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/configuration-hub/object-mappings/{sourceOrg}/bulk-patch:
post:
operationId: updateObjectMappings
security:
- userAuth:
- sp:config-object-mapping:manage
tags:
- Configuration Hub
summary: Bulk updates object mappings
description: |-
This updates a set of object mappings, only enabled and targetValue fields can be updated.
Source org should be "default" when updating object mappings that are not associated to any particular org.
The request will need the following security scope:
- sp:config-object-mapping:manage
parameters:
- in: path
name: sourceOrg
schema:
type: string
required: true
description: The name of the source org.
example: source-org
requestBody:
description: The object mapping request body.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectMappingBulkPatchRequest'
example:
patches:
603b1a61-d03d-4ed1-864f-a508fbd1995d:
- op: replace
path: /enabled
value: true
00bece34-f50d-4227-8878-76f620b5a971:
- op: replace
path: /targetValue
value: New Target Value
responses:
'200':
description: The updated object mappings.
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectMappingBulkPatchResponse'
example:
patchedObjects:
- objectMappingId: 603b1a61-d03d-4ed1-864f-a508fbd1995d
objectType: SOURCE
jsonPath: $.name
sourceValue: Original SOURCE Name
targetValue: New SOURCE Name
enabled: true
created: '2024-03-25T15:50:41.314Z'
modified: '2024-03-25T15:50:41.299Z'
- objectMappingId: 00bece34-f50d-4227-8878-76f620b5a971
objectType: IDENTITY
jsonPath: $.name
sourceValue: Original IDENTITY Name
targetValue: 'New IDENTITY Name '
enabled: true
created: '2024-03-25T15:50:41.316Z'
modified: '2024-03-25T15:50:41.316Z'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/configuration-hub/backups/uploads:
get:
operationId: listUploadedConfigurations
security:
- userAuth:
- sp:config-backup:read
- sp:config-backup:manage
tags:
- Configuration Hub
summary: List uploaded configurations
description: This API gets a list of existing uploaded configurations for the current tenant.
parameters:
- in: query
name: filters
schema:
type: string
description: |-
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:
**status**: *eq*
example: status eq "COMPLETE"
required: false
responses:
'200':
description: List of existing uploaded configurations.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/BackupResponse'
example:
- jobId: 281d421c-0643-4004-9fe5-29a95d2f73df
status: COMPLETE
type: BACKUP
tenant: someTenant
requesterName: support
fileExists: true
created: '2024-03-07T21:11:00.375Z'
modified: '2024-03-07T21:11:25.046Z'
completed: '2024-03-07T21:11:00.66Z'
name: test1
userCanDelete: false
isPartial: false
backupType: UPLOADED
hydrationStatus: HYDRATED
totalObjectCount: 64
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
post:
operationId: createUploadedConfiguration
security:
- userAuth:
- sp:config-backup:manage
tags:
- Configuration Hub
summary: Upload a configuration
description: |-
This API uploads a JSON configuration file into a tenant.
Configuration files can be managed and deployed via Configuration Hub by uploading a json file which contains configuration data. The JSON file should be the same as the one used by our import endpoints. The object types supported by upload configuration file functionality are the same as the ones supported by our regular backup functionality.
Refer to [SaaS Configuration](https://developer.sailpoint.com/docs/extensibility/configuration-management/saas-configuration#supported-objects) for more information about supported objects.
requestBody:
description: |
The body will consist of "data" which should contain the json file and name wish should be the name you want to assign to the uploaded file"
__Example__
data: "uploaded.json",
name: "A_NEW_UPLOADED_BACKUP"
__Sample Upload File__
{
"version": 1,
"tenant": "a-sample-tenant",
"objects":
[
{
"version": 1,
"self":
{
"id": "0a59c7196d2917f8aa6d29686e6600fb",
"type": "SOURCE",
"name": "Extended Form"
},
"object":
{
"id": "0a59c7196d2917f8aa6d29686e6600fb",
"name": "Extended Form",
"type": "DelimitedFile",
"connectorClass": "sailpoint.connector.DelimitedFileConnector",
"connectorScriptName": "delimited-file-angularsc",
"description": "Migrated app - Extended Form (original ID: 0a59c7196d2917f8aa6d29686e6600fb)",
"deleteThreshold": 10,
"provisionAsCsv": false,
"owner":
{
"type": "IDENTITY",
"id": "0a59c7196d2917f8816d29685fed00c3",
"name": "slpt.services"
},
"connectorAttributes":
{
"beforemoveAccount": "Do Nothing",
"beforemoverAccount": "Do Nothing",
"busApp": "false",
"file": "Empty",
"filetransport": "local",
"filterEmptyRecords": "true",
"group.filetransport": "local",
"group.filterEmptyRecords": "true",
"group.partitionMode": "auto",
"hasHeader": "true",
"indexColumn": "ID",
"isCaseInsensitiveMerge": "false",
"isSortedByIndexColumn": "false",
"loaProcess": "Do Nothing",
"ltdProcess": "Do Nothing",
"mergeRows": "false",
"moverProcess": "Do Nothing",
"moverRevocation": "Do Nothing",
"nativeChangeDetectionAttributeScope": "entitlements",
"nativeChangeDetectionEnabled": "false",
"nativeChangeProcess": "Do Nothing",
"parseType": "delimited",
"partitionMode": "auto",
"policyType": "Do Nothing",
"rehireProcess": "Do Nothing",
"reverseleaverProcess": "Do Nothing",
"rtwloaProcess": "Do Nothing",
"rtwltdProcess": "Do Nothing",
"stopIfLineHasWrongColumnLength": "false",
"templateApplication": "DelimitedFile Template",
"terminationProcess": "Do Nothing"
},
"schemas":
[],
"provisioningPolicies":
[],
"features":
[
"DIRECT_PERMISSIONS",
"NO_RANDOM_ACCESS",
"DISCOVER_SCHEMA"
]
}
}
]
}
required: true
content:
multipart/form-data:
schema:
type: object
properties:
data:
type: string
format: binary
description: JSON file containing the objects to be imported.
name:
type: string
description: Name that will be assigned to the uploaded configuration file.
required:
- data
- name
responses:
'202':
description: Upload job accepted and queued for processing.
content:
application/json:
schema:
$ref: '#/components/schemas/BackupResponse'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/configuration-hub/backups/uploads/{id}:
get:
operationId: getUploadedConfiguration
security:
- userAuth:
- sp:config-backup:read
- sp:config-backup:manage
tags:
- Configuration Hub
summary: Get an uploaded configuration
description: This API gets an existing uploaded configuration for the current tenant.
parameters:
- in: path
name: id
schema:
type: string
required: true
description: The id of the uploaded configuration.
example: 3d0fe04b-57df-4a46-a83b-8f04b0f9d10b
responses:
'200':
description: Gets an uploaded configuration details.
content:
application/json:
schema:
$ref: '#/components/schemas/BackupResponse'
example:
jobId: 2ea830f3-2b14-4772-8a20-3d006742e419
status: COMPLETE
type: BACKUP
tenant: someTenant
requesterName: support
fileExists: true
created: '2024-02-20T22:08:31.064Z'
modified: '2024-02-20T22:13:15.662Z'
completed: '2024-02-20T22:08:31.689Z'
name: something new
userCanDelete: false
isPartial: false
backupType: UPLOADED
hydrationStatus: HYDRATED
totalObjectCount: 2
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
delete:
operationId: deleteUploadedConfiguration
security:
- userAuth:
- sp:config-backup:manage
tags:
- Configuration Hub
summary: Delete an uploaded configuration
description: |-
This API deletes an uploaded configuration based on Id.
On success, this endpoint will return an empty response.
The uploaded configuration id can be obtained from the response after a successful upload, or the list uploaded configurations endpoint.
parameters:
- in: path
name: id
schema:
type: string
required: true
description: The id of the uploaded configuration.
example: 3d0fe04b-57df-4a46-a83b-8f04b0f9d10b
responses:
'204':
$ref: '#/components/responses/204'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/connectors/{scriptName}:
get:
tags:
- Connectors
operationId: getConnector
summary: Get connector by script name
description: 'Fetches a connector that using its script name. '
parameters:
- name: scriptName
in: path
description: The scriptName value of the connector. ScriptName is the unique id generated at connector creation.
required: true
x-sailpoint-resource-operation-id: getConnectorList
style: simple
explode: false
schema:
type: string
example: aScriptName
- in: query
name: locale
required: false
schema:
type: string
enum:
- de
- 'no'
- fi
- sv
- ru
- pt
- ko
- zh-TW
- en
- it
- fr
- zh-CN
- hu
- es
- cs
- ja
- pl
- da
- nl
example: de
description: The locale to apply to the config. If no viable locale is given, it will default to "en"
responses:
'200':
description: A Connector Dto object
content:
application/json:
schema:
$ref: '#/components/schemas/ConnectorDetail'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:connector-config:read
- idn:connector-config:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- SOURCE_ADMIN
- SOURCE_SUBADMIN
delete:
tags:
- Connectors
operationId: deleteCustomConnector
summary: Delete connector by script name
description: Delete a custom connector that using its script name.
parameters:
- name: scriptName
in: path
description: The scriptName value of the connector. ScriptName is the unique id generated at connector creation.
required: true
x-sailpoint-resource-operation-id: getConnectorList
style: simple
explode: false
schema:
type: string
example: aScriptName
responses:
'204':
$ref: '#/components/responses/204'
description: The custom connector was successfully deleted.
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:connector-config:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- SOURCE_ADMIN
- SOURCE_SUBADMIN
patch:
tags:
- Connectors
operationId: updateConnector
summary: Update connector by script name
description: |
This API updates a custom connector by script name using [JSON Patch](https://tools.ietf.org/html/rfc6902) syntax.
The following fields are patchable:
* connectorMetadata
* applicationXml
* correlationConfigXml
* sourceConfigXml
parameters:
- name: scriptName
in: path
description: The scriptName value of the connector. ScriptName is the unique id generated at connector creation.
required: true
x-sailpoint-resource-operation-id: getConnectorList
style: simple
explode: false
schema:
type: string
example: aScriptName
requestBody:
required: true
description: |
A list of connector detail update operations
content:
application/json-patch+json:
schema:
type: array
items:
$ref: '#/components/schemas/JsonPatchOperation'
responses:
'200':
description: A updated Connector Dto object
content:
application/json:
schema:
$ref: '#/components/schemas/ConnectorDetail'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:connector-config:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- SOURCE_ADMIN
- SOURCE_SUBADMIN
/connectors:
get:
tags:
- Connectors
operationId: getConnectorList
summary: Get connector list
description: Fetches list of connectors that have 'RELEASED' status using filtering and pagination.
parameters:
- in: query
name: filters
required: false
schema:
type: string
description: |-
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:
**name**: *sw, co*
**type**: *sw, co, eq*
**directConnect**: *eq*
**category**: *eq*
**features**: *ca*
**labels**: *ca*
example: directConnect eq "true"
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/count'
- in: query
name: locale
required: false
schema:
type: string
enum:
- de
- 'no'
- fi
- sv
- ru
- pt
- ko
- zh-TW
- en
- it
- fr
- zh-CN
- hu
- es
- cs
- ja
- pl
- da
- nl
example: de
description: The locale to apply to the config. If no viable locale is given, it will default to "en"
responses:
'200':
description: A Connector Dto object
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/V3ConnectorDto'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:connector-config:read
- idn:connector-config:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- SOURCE_ADMIN
- SOURCE_SUBADMIN
post:
tags:
- Connectors
operationId: createCustomConnector
summary: Create custom connector
description: 'Create custom connector. '
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/V3CreateConnectorDto'
responses:
'200':
description: A Connector Dto object
content:
application/json:
schema:
$ref: '#/components/schemas/V3ConnectorDto'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:connector-config:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- SOURCE_ADMIN
- SOURCE_SUBADMIN
/connectors/{scriptName}/source-config:
get:
tags:
- Connectors
operationId: getConnectorSourceConfig
summary: Get connector source configuration
description: 'Fetches a connector''s source config using its script name. '
parameters:
- name: scriptName
in: path
description: The scriptName value of the connector. ScriptName is the unique id generated at connector creation.
required: true
x-sailpoint-resource-operation-id: getConnectorList
style: simple
explode: false
schema:
type: string
example: aScriptName
responses:
'200':
description: The connector's source template
content:
application/xml:
schema:
type: string
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:connector-config:read
- idn:connector-config:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- SOURCE_ADMIN
- SOURCE_SUBADMIN
put:
tags:
- Connectors
operationId: putConnectorSourceConfig
summary: Update connector source configuration
description: 'Update a connector''s source config using its script name. '
parameters:
- name: scriptName
in: path
description: The scriptName value of the connector. ScriptName is the unique id generated at connector creation.
required: true
x-sailpoint-resource-operation-id: getConnectorList
style: simple
explode: false
schema:
type: string
example: aScriptName
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
required:
- file
properties:
file:
type: string
description: connector source config xml file
format: binary
responses:
'200':
description: The connector's update detail
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateDetail'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:connector-config:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- SOURCE_ADMIN
- SOURCE_SUBADMIN
/connectors/{scriptName}/translations/{locale}:
get:
tags:
- Connectors
operationId: getConnectorTranslations
summary: Get connector translations
description: 'Fetches a connector''s translations using its script name. '
parameters:
- name: scriptName
in: path
description: The scriptName value of the connector. Scriptname is the unique id generated at connector creation.
required: true
x-sailpoint-resource-operation-id: getConnectorList
style: simple
explode: false
schema:
type: string
example: aScriptName
- name: locale
in: path
required: true
schema:
type: string
enum:
- de
- 'no'
- fi
- sv
- ru
- pt
- ko
- zh-TW
- en
- it
- fr
- zh-CN
- hu
- es
- cs
- ja
- pl
- da
- nl
example: de
description: The locale to apply to the config. If no viable locale is given, it will default to "en"
responses:
'200':
description: The connector's translations
content:
text/plain:
schema:
type: string
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:connector-config:read
- idn:connector-config:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- SOURCE_ADMIN
- SOURCE_SUBADMIN
put:
tags:
- Connectors
operationId: putConnectorTranslations
summary: Update connector translations
description: 'Update a connector''s translations using its script name. '
parameters:
- name: scriptName
in: path
description: The scriptName value of the connector. Scriptname is the unique id generated at connector creation.
required: true
x-sailpoint-resource-operation-id: getConnectorList
style: simple
explode: false
schema:
type: string
example: aScriptName
- name: locale
in: path
required: true
schema:
type: string
enum:
- de
- 'no'
- fi
- sv
- ru
- pt
- ko
- zh-TW
- en
- it
- fr
- zh-CN
- hu
- es
- cs
- ja
- pl
- da
- nl
example: de
description: The locale to apply to the config. If no viable locale is given, it will default to "en"
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
responses:
'200':
description: The connector's update detail
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateDetail'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:connector-config:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- SOURCE_ADMIN
- SOURCE_SUBADMIN
/connectors/{scriptName}/source-template:
get:
tags:
- Connectors
operationId: getConnectorSourceTemplate
summary: Get connector source template
description: 'Fetches a connector''s source template using its script name. '
parameters:
- name: scriptName
in: path
description: The scriptName value of the connector. ScriptName is the unique id generated at connector creation.
required: true
x-sailpoint-resource-operation-id: getConnectorList
style: simple
explode: false
schema:
type: string
example: aScriptName
responses:
'200':
description: The connector's source template
content:
application/xml:
schema:
type: string
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:connector-config:read
- idn:connector-config:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- SOURCE_ADMIN
- SOURCE_SUBADMIN
put:
tags:
- Connectors
operationId: putConnectorSourceTemplate
summary: Update connector source template
description: 'Update a connector''s source template using its script name. '
parameters:
- name: scriptName
in: path
description: The scriptName value of the connector. ScriptName is the unique id generated at connector creation.
required: true
x-sailpoint-resource-operation-id: getConnectorList
style: simple
explode: false
schema:
type: string
example: aScriptName
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
required:
- file
properties:
file:
type: string
description: connector source template xml file
format: binary
responses:
'200':
description: The connector's update detail
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateDetail'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:connector-config:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- SOURCE_ADMIN
- SOURCE_SUBADMIN
/identities/{identity-id}/set-lifecycle-state:
post:
operationId: setLifecycleState
tags:
- Lifecycle States
summary: Set lifecycle state
description: Use this API to set/update an identity's lifecycle state to the one provided and update the corresponding identity profile.
security:
- userAuth:
- idn:identity-lifecycle-state:manage
x-sailpoint-userLevels:
- ORG_ADMIN
parameters:
- in: path
name: identity-id
description: ID of the identity to update.
required: true
x-sailpoint-resource-operation-id: listIdentities
example: 2c9180857893f1290178944561990364
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
lifecycleStateId:
type: string
description: ID of the lifecycle state to set.
example: 2c9180877a86e408017a8c19fefe046c
responses:
'200':
description: The request was successfully accepted into the system.
content:
application/json:
schema:
type: object
properties:
accountActivityId:
type: string
example: 2c9180837ab5b716017ab7c6c9ef1e20
description: ID of the IdentityRequest object that is generated when the workflow launches. To follow the IdentityRequest, you can provide this ID with a [Get Account Activity request](https://developer.sailpoint.com/docs/api/v3/get-account-activity/). The response will contain relevant information about the IdentityRequest, such as its status.
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/identity-profiles/{identity-profile-id}/lifecycle-states:
get:
operationId: getLifecycleStates
tags:
- Lifecycle States
summary: Lists lifecyclestates
description: 'Use this endpoint to list all lifecycle states by their associated identity profiles. '
security:
- userAuth:
- idn:identity-profile-lifecycle-state:read
- applicationAuth:
- idn:identity-profile-lifecycle-state:read
x-sailpoint-userLevels:
- ORG_ADMIN
parameters:
- in: path
name: identity-profile-id
description: Identity profile ID.
required: true
x-sailpoint-resource-operation-id: listIdentityProfiles
schema:
type: string
example: 2b838de9-db9b-abcf-e646-d4f274ad4238
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/count'
- in: query
name: sorters
required: false
schema:
type: string
format: comma-separated
example: created,modified
description: |-
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, priority, created, modified**
responses:
'200':
description: List of LifecycleState objects.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/LifecycleState'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
post:
operationId: createLifecycleState
tags:
- Lifecycle States
summary: Create lifecycle state
description: Use this endpoint to create a lifecycle state.
security:
- userAuth:
- idn:identity-profile-lifecycle-state:manage
- applicationAuth:
- idn:identity-profile-lifecycle-state:manage
x-sailpoint-userLevels:
- ORG_ADMIN
parameters:
- in: path
name: identity-profile-id
description: Identity profile ID.
required: true
x-sailpoint-resource-operation-id: listIdentityProfiles
schema:
type: string
example: 2b838de9-db9b-abcf-e646-d4f274ad4238
requestBody:
description: Lifecycle state to be created.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/LifecycleState'
responses:
'201':
description: Created LifecycleState object.
content:
application/json:
schema:
$ref: '#/components/schemas/LifecycleState'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/identity-profiles/{identity-profile-id}/lifecycle-states/{lifecycle-state-id}:
get:
operationId: getLifecycleState
tags:
- Lifecycle States
summary: Get lifecycle state
description: 'Use this endpoint to get a lifecycle state by its ID and its associated identity profile ID. '
security:
- userAuth:
- idn:identity-profile-lifecycle-state:read
- applicationAuth:
- idn:identity-profile-lifecycle-state:read
x-sailpoint-userLevels:
- ORG_ADMIN
parameters:
- in: path
name: identity-profile-id
description: Identity profile ID.
required: true
x-sailpoint-resource-operation-id: listIdentityProfiles
schema:
type: string
example: 2b838de9-db9b-abcf-e646-d4f274ad4238
- in: path
name: lifecycle-state-id
description: Lifecycle state ID.
required: true
x-sailpoint-resource-operation-id: getLifecycleStates
schema:
type: string
example: ef38f94347e94562b5bb8424a56397d8
responses:
'200':
description: The requested LifecycleState was successfully retrieved.
content:
application/json:
schema:
$ref: '#/components/schemas/LifecycleState'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
patch:
operationId: updateLifecycleStates
tags:
- Lifecycle States
summary: Update lifecycle state
description: Use this endpoint to update individual lifecycle state fields, using the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard.
security:
- userAuth:
- idn:identity-profile-lifecycle-state:manage
- applicationAuth:
- idn:identity-profile-lifecycle-state:manage
x-sailpoint-userLevels:
- ORG_ADMIN
parameters:
- in: path
name: identity-profile-id
description: Identity profile ID.
required: true
x-sailpoint-resource-operation-id: listIdentityProfiles
schema:
type: string
example: 2b838de9-db9b-abcf-e646-d4f274ad4238
- in: path
name: lifecycle-state-id
description: Lifecycle state ID.
required: true
x-sailpoint-resource-operation-id: getLifecycleStates
schema:
type: string
example: ef38f94347e94562b5bb8424a56397d8
requestBody:
required: true
description: |
A list of lifecycle state update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard.
The following fields can be updated:
* enabled
* description
* accountActions
* accessProfileIds
* emailNotificationOption
content:
application/json-patch+json:
schema:
type: array
items:
$ref: '#/components/schemas/JsonPatchOperation'
example:
- op: replace
path: /description
value: Updated description!
- op: replace
path: /accessProfileIds
value:
- 2c918087742bab150174407a80f3125e
- 2c918087742bab150174407a80f3124f
- op: replace
path: /accountActions
value:
- action: ENABLE
sourceIds:
- 2c9180846a2f82fb016a481c1b1560c5
- 2c9180846a2f82fb016a481c1b1560cc
- action: DISABLE
sourceIds:
- 2c91808869a0c9980169a207258513fb
- action: DELETE
sourceIds:
- 3c9180846a2f82fb016a481c1b1560c5
- 8n9180846a2f82fb016a481c1b1560cc
excludeSourceIds: null
allSources: false
- op: replace
path: /emailNotificationOption
value:
notifyManagers: true
notifyAllAdmins: false
notifySpecificUsers: false
emailAddressList: []
responses:
'200':
description: The LifecycleState was successfully updated.
content:
application/json:
schema:
$ref: '#/components/schemas/LifecycleState'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
delete:
operationId: deleteLifecycleState
tags:
- Lifecycle States
summary: Delete lifecycle state
description: 'Use this endpoint to delete the lifecycle state by its ID. '
security:
- userAuth:
- idn:identity-profile-lifecycle-state:manage
- applicationAuth:
- idn:identity-profile-lifecycle-state:manage
x-sailpoint-userLevels:
- ORG_ADMIN
parameters:
- in: path
name: identity-profile-id
description: Identity profile ID.
required: true
x-sailpoint-resource-operation-id: listIdentityProfiles
schema:
type: string
example: 2b838de9-db9b-abcf-e646-d4f274ad4238
- in: path
name: lifecycle-state-id
description: Lifecycle state ID.
required: true
x-sailpoint-resource-operation-id: getLifecycleStates
schema:
type: string
example: ef38f94347e94562b5bb8424a56397d8
responses:
'202':
description: The request was successfully accepted into the system.
content:
application/json:
schema:
$ref: '#/components/schemas/LifecyclestateDeleted'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/identity-profiles:
get:
operationId: listIdentityProfiles
tags:
- Identity Profiles
summary: List identity profiles
description: Get a list of identity profiles, based on the specified query parameters.
parameters:
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/count'
- in: query
name: filters
required: false
schema:
type: string
example: id eq "ef38f94347e94562b5bb8424a56397d8"
description: |-
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, ne, ge, gt, in, le, sw*
**name**: *eq, ne, ge, gt, in, le, sw*
**priority**: *eq, ne*
- in: query
name: sorters
required: false
schema:
type: string
format: comma-separated
example: id,name
description: |-
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: **id, name, priority, created, modified, owner.id, owner.name**
responses:
'200':
description: List of identity profiles.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/IdentityProfile'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:identity-profile:read
- applicationAuth:
- idn:identity-profile:read
x-sailpoint-userLevels:
- ORG_ADMIN
post:
operationId: createIdentityProfile
summary: Create identity profile
description: 'Creates an identity profile. '
tags:
- Identity Profiles
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/IdentityProfile'
responses:
'201':
description: Created identity profile.
content:
application/json:
schema:
$ref: '#/components/schemas/IdentityProfile'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:identity-profile:manage
x-sailpoint-userLevels:
- ORG_ADMIN
/identity-profiles/bulk-delete:
post:
operationId: deleteIdentityProfiles
tags:
- Identity Profiles
summary: Delete identity profiles
description: |-
This deletes multiple Identity Profiles via a list of supplied IDs.
On success, this endpoint will return a reference to the bulk delete task result.
The following rights are required to access this endpoint: idn:identity-profile:delete
requestBody:
description: Identity Profile bulk delete request body.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/IdentityProfileBulkDelete'
responses:
'202':
description: Accepted - Returns a TaskResult object referencing the bulk delete job created.
content:
application/json:
schema:
$ref: '#/components/schemas/TaskResultSimplified'
description: An object with a TaskResult reference of the bulk delete job
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:identity-profile:manage
x-sailpoint-userLevels:
- ORG_ADMIN
/identity-profiles/export:
get:
operationId: exportIdentityProfiles
tags:
- Identity Profiles
summary: Export identity profiles
description: This exports existing identity profiles in the format specified by the sp-config service.
parameters:
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/count'
- in: query
name: filters
required: false
schema:
type: string
example: id eq "ef38f94347e94562b5bb8424a56397d8"
description: |-
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, ne*
**name**: *eq, ne*
**priority**: *eq, ne*
- in: query
name: sorters
required: false
schema:
type: string
format: comma-separated
example: id,name
description: |-
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: **id, name, priority**
responses:
'200':
description: List of export objects with identity profiles.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/IdentityProfileExportedObject'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:identity-profile:read
- applicationAuth:
- idn:identity-profile:read
/identity-profiles/import:
post:
operationId: importIdentityProfiles
summary: Import identity profiles
description: This imports previously exported identity profiles.
tags:
- Identity Profiles
requestBody:
description: Previously exported Identity Profiles.
required: true
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/IdentityProfileExportedObject'
responses:
'200':
description: The result of importing Identity Profiles.
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectImportResult'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:identity-profile:manage
/identity-profiles/identity-preview:
post:
operationId: showIdentityPreview
tags:
- Identity Profiles
summary: Generate identity profile preview
description: |-
Use this API to generate a non-persisted preview of the identity object after applying `IdentityAttributeConfig` sent in request body.
This API only allows `accountAttribute`, `reference` and `rule` transform types in the `IdentityAttributeConfig` sent in the request body.
requestBody:
description: Identity Preview request body.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/IdentityPreviewRequest'
responses:
'200':
description: A preview of the identity attributes after applying identity attributes config sent in request body.
content:
application/json:
schema:
$ref: '#/components/schemas/IdentityPreviewResponse'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:identity-profile:manage
x-sailpoint-userLevels:
- ORG_ADMIN
/identity-profiles/{identity-profile-id}:
get:
operationId: getIdentityProfile
tags:
- Identity Profiles
summary: Get identity profile
description: Get a single identity profile by ID.
parameters:
- in: path
name: identity-profile-id
schema:
type: string
format: uuid
required: true
x-sailpoint-resource-operation-id: listIdentityProfiles
description: Identity profile ID.
example: 2b838de9-db9b-abcf-e646-d4f274ad4238
responses:
'200':
description: Identity profile object.
content:
application/json:
schema:
$ref: '#/components/schemas/IdentityProfile'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:identity-profile:read
- applicationAuth:
- idn:identity-profile:read
x-sailpoint-userLevels:
- ORG_ADMIN
delete:
operationId: deleteIdentityProfile
tags:
- Identity Profiles
summary: Delete identity profile
description: |-
Delete an identity profile by ID.
On success, this endpoint will return a reference to the bulk delete task result.
parameters:
- in: path
name: identity-profile-id
schema:
type: string
format: uuid
required: true
x-sailpoint-resource-operation-id: listIdentityProfiles
description: Identity profile ID.
example: ef38f94347e94562b5bb8424a56397d8
responses:
'202':
description: Accepted - Returns a TaskResult object referencing the bulk delete job created.
content:
application/json:
schema:
$ref: '#/components/schemas/TaskResultSimplified'
description: An object with a TaskResult reference of the delete job.
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:identity-profile:manage
x-sailpoint-userLevels:
- ORG_ADMIN
patch:
operationId: updateIdentityProfile
tags:
- Identity Profiles
summary: Update identity profile
description: |-
Update a specified identity profile with this PATCH request.
You cannot update these fields:
* id
* created
* modified
* identityCount
* identityRefreshRequired
* Authoritative Source and Identity Attribute Configuration cannot be modified at the same time.
parameters:
- in: path
name: identity-profile-id
schema:
type: string
format: uuid
required: true
x-sailpoint-resource-operation-id: listIdentityProfiles
description: Identity profile ID.
example: ef38f94347e94562b5bb8424a56397d8
requestBody:
required: true
description: List of identity profile update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard.
content:
application/json-patch+json:
schema:
type: array
items:
$ref: '#/components/schemas/JsonPatchOperation'
examples:
add-attribute-transform:
summary: Add an attribute transform
value:
- op: add
path: /identityAttributeConfig/attributeTransforms/0
value:
identityAttributeName: location
transformDefinition:
type: accountAttribute
attributes:
sourceName: Employees
attributeName: location
sourceId: 2c91808878b7d63b0178c66ffcdc4ce4
responses:
'200':
description: Updated identity profile.
content:
application/json:
schema:
$ref: '#/components/schemas/IdentityProfile'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:identity-profile:manage
x-sailpoint-userLevels:
- ORG_ADMIN
/identity-profiles/{identity-profile-id}/default-identity-attribute-config:
get:
operationId: getDefaultIdentityAttributeConfig
tags:
- Identity Profiles
summary: Get default identity attribute config
description: This returns the default identity attribute config.
parameters:
- in: path
name: identity-profile-id
schema:
type: string
format: uuid
required: true
x-sailpoint-resource-operation-id: listIdentityProfiles
description: The Identity Profile ID.
example: 2b838de9-db9b-abcf-e646-d4f274ad4238
responses:
'200':
description: An Identity Attribute Config object.
content:
application/json:
schema:
$ref: '#/components/schemas/IdentityAttributeConfig'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:identity-profile:manage
x-sailpoint-userLevels:
- ORG_ADMIN
/identity-profiles/{identity-profile-id}/process-identities:
post:
operationId: syncIdentityProfile
tags:
- Identity Profiles
summary: Process identities under profile
description: |-
Process identities under the profile
This operation should not be used to schedule your own identity processing or to perform system wide identity refreshes. The system will use a combination of [event-based processing](https://documentation.sailpoint.com/saas/help/setup/identity_processing.html?h=process#event-based-processing) and [scheduled processing](https://documentation.sailpoint.com/saas/help/setup/identity_processing.html?h=process#scheduled-processing) that runs every day at 8:00 AM and 8:00 PM in the tenant's timezone to keep your identities synchronized.
This should only be run on identity profiles that have the `identityRefreshRequired` attribute set to `true`. If `identityRefreshRequired` is false, then there is no benefit to running this operation. Typically, this operation is performed when a change is made to the identity profile or its related lifecycle states that requires a refresh.
This operation will perform the following activities on all identities under the identity profile.
1. Updates identity attribute according to the identity profile mappings. 2. Determines the identity's correct manager through manager correlation. 3. Updates the identity's access according to their assigned lifecycle state. 4. Updates the identity's access based on role assignment criteria.
externalDocs:
description: Learn more about manually processing identities here
url: https://documentation.sailpoint.com/saas/help/setup/identity_processing.html
parameters:
- in: path
name: identity-profile-id
schema:
type: string
format: uuid
required: true
x-sailpoint-resource-operation-id: listIdentityProfiles
description: The Identity Profile ID to be processed
example: ef38f94347e94562b5bb8424a56397d8
responses:
'202':
description: Accepted status after refresh has launched
$ref: '#/components/responses/202'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:identity-profile:manage
x-sailpoint-userLevels:
- ORG_ADMIN
/managed-clients:
get:
tags:
- Managed Clients
summary: Get managed clients
description: List managed clients.
operationId: getManagedClients
parameters:
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/count'
- in: query
name: filters
schema:
type: string
description: |-
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*
**name**: *eq*
**clientId**: *eq*
**clusterId**: *eq*
required: false
example: name eq "client name"
responses:
'200':
description: Response with a list of managed clients, based on the specified query parameters.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ManagedClient'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:remote-client:read
- idn:remote-client:manage
- applicationAuth:
- idn:remote-client:read
- idn:remote-client:manage
x-sailpoint-userLevels:
- ORG_ADMIN
post:
tags:
- Managed Clients
summary: Create managed client
description: |-
Create a new managed client.
The API returns a result that includes the managed client ID.
operationId: createManagedClient
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ManagedClientRequest'
responses:
'200':
description: Created managed client.
content:
application/json:
schema:
$ref: '#/components/schemas/ManagedClient'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:remote-client:manage
x-sailpoint-userLevels:
- ORG_ADMIN
/managed-clients/{id}:
get:
tags:
- Managed Clients
summary: Get managed client
description: 'Get managed client by ID. '
operationId: getManagedClient
parameters:
- name: id
in: path
description: Managed client ID.
required: true
x-sailpoint-resource-operation-id: getManagedClients
example: 4440278c-0ce2-41ee-a0a9-f5cfd5e8d3b7
schema:
type: string
responses:
'200':
description: Managed client response.
content:
application/json:
schema:
$ref: '#/components/schemas/ManagedClient'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:remote-client:read
- idn:remote-client:manage
- idn:managed-client-status:read
- idn:managed-client-status:manage
- applicationAuth:
- idn:remote-client:read
- idn:remote-client:manage
- idn:managed-client-status:read
- idn:managed-client-status:manage
x-sailpoint-userLevels:
- ORG_ADMIN
patch:
tags:
- Managed Clients
summary: Update managed client
description: Update an existing managed client.
operationId: updateManagedClient
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: getManagedClients
description: Managed client ID.
example: 4440278c-0ce2-41ee-a0a9-f5cfd5e8d3b7
requestBody:
required: true
description: JSONPatch payload used to update the object.
content:
application/json-patch+json:
schema:
type: array
items:
$ref: '#/components/schemas/JsonPatchOperation'
responses:
'200':
description: Updated managed client.
content:
application/json:
schema:
$ref: '#/components/schemas/ManagedClient'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:remote-client:manage
x-sailpoint-userLevels:
- ORG_ADMIN
delete:
operationId: deleteManagedClient
tags:
- Managed Clients
summary: Delete managed client
description: Delete an existing managed client.
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: getManagedClients
description: Managed client ID.
example: 4440278c-0ce2-41ee-a0a9-f5cfd5e8d3b7
responses:
'204':
$ref: '#/components/responses/204'
description: Managed client was successfully deleted.
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:remote-client:manage
x-sailpoint-userLevels:
- ORG_ADMIN
/managed-clients/{id}/status:
get:
tags:
- Managed Clients
summary: Get managed client status
description: Get a managed client's status, using its ID.
operationId: getManagedClientStatus
parameters:
- name: id
in: path
description: Managed client ID to get status for.
required: true
x-sailpoint-resource-operation-id: getManagedClients
schema:
type: string
example: aClientId
- name: type
in: query
description: Managed client type to get status for.
required: true
schema:
$ref: '#/components/schemas/ManagedClientType'
example: VA
responses:
'200':
description: Response with the managed client status, with the given ID and type.
content:
application/json:
schema:
$ref: '#/components/schemas/ManagedClientStatus'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:managed-client-status:read
- applicationAuth:
- idn:managed-client-status:read
/managed-clusters:
get:
tags:
- Managed Clusters
summary: Get managed clusters
description: List current organization's managed clusters, based on request context.
operationId: getManagedClusters
parameters:
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/count'
- in: query
name: filters
schema:
type: string
description: |-
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:
**operational**: *eq*
**name**: *eq*
**type**: *eq*
**status**: *eq*
required: false
example: operational eq "operation"
responses:
'200':
description: Response with a list of managed clusters.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ManagedCluster'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:remote-client:read
- idn:remote-client:manage
x-sailpoint-userLevels:
- ORG_ADMIN
post:
tags:
- Managed Clusters
summary: Create create managed cluster
description: |-
Create a new Managed Cluster.
The API returns a result that includes the managed cluster ID.
operationId: createManagedCluster
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ManagedClusterRequest'
responses:
'200':
description: Created managed cluster.
content:
application/json:
schema:
$ref: '#/components/schemas/ManagedCluster'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:remote-client:manage
x-sailpoint-userLevels:
- ORG_ADMIN
/managed-clusters/{id}:
get:
tags:
- Managed Clusters
summary: Get managed cluster
description: Get a managed cluster by ID.
operationId: getManagedCluster
parameters:
- name: id
in: path
description: Managed cluster ID.
required: true
x-sailpoint-resource-operation-id: getManagedClusters
example: 2c9180897de347a2017de8859e8c5039
style: simple
explode: false
schema:
type: string
responses:
'200':
description: Response with managed cluster for the given ID.
content:
application/json:
schema:
$ref: '#/components/schemas/ManagedCluster'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:remote-client:read
- idn:remote-client:manage
x-sailpoint-userLevels:
- ORG_ADMIN
patch:
tags:
- Managed Clusters
summary: Update managed cluster
description: Update an existing managed cluster.
operationId: updateManagedCluster
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: getManagedClusters
description: Managed cluster ID.
example: 2c9180897de347a2017de8859e8c5039
requestBody:
required: true
description: JSONPatch payload used to update the object.
content:
application/json-patch+json:
schema:
type: array
items:
$ref: '#/components/schemas/JsonPatchOperation'
responses:
'200':
description: Updated managed cluster.
content:
application/json:
schema:
$ref: '#/components/schemas/ManagedCluster'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:remote-client:manage
x-sailpoint-userLevels:
- ORG_ADMIN
delete:
operationId: deleteManagedCluster
tags:
- Managed Clusters
summary: Delete managed cluster
description: Delete an existing managed cluster.
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: getManagedClusters
description: Managed cluster ID.
example: 2c9180897de347a2017de8859e8c5039
- in: query
name: removeClients
schema:
type: boolean
default: false
required: false
description: Flag to determine the need to delete a cluster with clients.
example: false
responses:
'204':
$ref: '#/components/responses/204'
description: Managed cluster was successfully deleted.
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:remote-client:manage
x-sailpoint-userLevels:
- ORG_ADMIN
/managed-clusters/{id}/log-config:
get:
tags:
- Managed Clusters
summary: Get managed cluster log configuration
description: Get a managed cluster's log configuration.
operationId: getClientLogConfiguration
parameters:
- name: id
in: path
description: ID of managed cluster to get log configuration for.
required: true
x-sailpoint-resource-operation-id: getManagedClusters
schema:
type: string
format: uuid
example: 2b838de9-db9b-abcf-e646-d4f274ad4238
responses:
'200':
description: Log configuration of managed cluster for given cluster ID.
content:
application/json:
schema:
$ref: '#/components/schemas/ClientLogConfiguration'
'204':
$ref: '#/components/responses/204'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:remote-client:read
- idn:remote-client:manage
x-sailpoint-userLevels:
- ORG_ADMIN
put:
tags:
- Managed Clusters
summary: Update managed cluster log configuration
description: Update a managed cluster's log configuration. You may only specify one of `durationMinutes` or `expiration`, up to 1440 minutes (24 hours) in the future. If neither is specified, the default value for `durationMinutes` is 240.
operationId: putClientLogConfiguration
parameters:
- name: id
in: path
description: ID of the managed cluster to update the log configuration for.
required: true
x-sailpoint-resource-operation-id: getManagedClusters
schema:
type: string
format: uuid
example: 2b838de9-db9b-abcf-e646-d4f274ad4238
requestBody:
description: Client log configuration for the given managed cluster.
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/ClientLogConfigurationDurationMinutes'
- $ref: '#/components/schemas/ClientLogConfigurationExpiration'
examples:
Duration Minutes:
$ref: '#/components/examples/client-log-configuration-duration-minutes'
Expiration:
$ref: '#/components/examples/client-log-configuration-expiration'
required: true
responses:
'200':
description: Response with updated client log configuration for the given managed cluster.
content:
application/json:
schema:
$ref: '#/components/schemas/ClientLogConfiguration'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:remote-client:manage
x-sailpoint-userLevels:
- ORG_ADMIN
/mfa/okta-verify/config:
get:
operationId: getMFAOktaConfig
tags:
- MFA Configuration
summary: Configuration of okta mfa method
description: This API returns the configuration of an Okta MFA method.
security:
- userAuth:
- idn:mfa-configuration:read
- idn:mfa-configuration:manage
x-sailpoint-userLevels:
- ORG_ADMIN
responses:
'200':
description: The configuration of an Okta MFA method.
content:
application/json:
schema:
$ref: '#/components/schemas/MfaOktaConfig'
example:
mfaMethod: okta-verify
enabled: true
host: www.example.com
accessKey: d******Y
identityAttribute: email
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
put:
operationId: setMFAOktaConfig
tags:
- MFA Configuration
summary: Set okta mfa configuration
description: This API sets the configuration of an Okta MFA method.
security:
- userAuth:
- idn:mfa-configuration:manage
x-sailpoint-userLevels:
- ORG_ADMIN
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/MfaOktaConfig'
example:
mfaMethod: okta-verify
enabled: true
host: www.example.com
accessKey: dk778Y3QlA5UqocYpdU3rEkzrK2D497y
identityAttribute: email
responses:
'200':
description: MFA configuration of an Okta MFA method.
content:
application/json:
schema:
$ref: '#/components/schemas/MfaOktaConfig'
example:
mfaMethod: okta-verify
enabled: true
host: www.example.com
accessKey: d******Y
identityAttribute: email
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/mfa/duo-web/config:
get:
operationId: getMFADuoConfig
tags:
- MFA Configuration
summary: Configuration of duo mfa method
description: This API returns the configuration of an Duo MFA method.
security:
- userAuth:
- idn:mfa-configuration:read
- idn:mfa-configuration:manage
x-sailpoint-userLevels:
- ORG_ADMIN
responses:
'200':
description: The configuration of an Duo MFA method.
content:
application/json:
schema:
$ref: '#/components/schemas/MfaDuoConfig'
example:
mfaMethod: duo-web
enabled: true
host: www.example.com
accessKey: d******Y
identityAttribute: email
configProperties:
skey: 6******B
ikey: Q123WE45R6TY7890ZXCV
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
put:
operationId: setMFADuoConfig
tags:
- MFA Configuration
summary: Set duo mfa configuration
description: This API sets the configuration of an Duo MFA method.
security:
- userAuth:
- idn:mfa-configuration:manage
x-sailpoint-userLevels:
- ORG_ADMIN
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/MfaDuoConfig'
example:
mfaMethod: duo-web
enabled: true
host: www.example.com
accessKey: qw123Y3QlA5UqocYpdU3rEkzrK2D497y
identityAttribute: email
configProperties:
skey: 12q3WERlcUHWJmiMqyCXI3uOF7EaDJTbdeOp6E2B
ikey: Q123WE45R6TY7890ZXCV
responses:
'200':
description: MFA configuration of an Duo MFA method.
content:
application/json:
schema:
$ref: '#/components/schemas/MfaDuoConfig'
example:
mfaMethod: duo-web
enabled: true
host: www.example.com
accessKey: q******y
identityAttribute: email
configProperties:
skey: 1******B
ikey: Q123WE45R6TY7890ZXCV
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/mfa/kba/config:
get:
operationId: getMFAKbaConfig
tags:
- MFA Configuration
summary: Configuration of kba mfa method
description: This API returns the KBA configuration for MFA.
parameters:
- in: query
name: allLanguages
required: false
schema:
type: boolean
description: |-
Indicator whether the question text should be returned in all configured languages
* If true, the question text is returned in all languages that it is configured in.
* If false, the question text is returned in the user locale if available, else for the default locale.
* If not passed, it behaves the same way as passing this parameter as false
example: allLanguages=true
security:
- userAuth:
- idn:mfa-kba:read
x-sailpoint-userLevels:
- ORG_ADMIN
- USER
responses:
'200':
description: The configuration for KBA MFA method.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/KbaQuestion'
example:
- id: 143cfd3b-c23f-426b-ae5f-d3db06fa5919
text: MFA new question -1 ?
hasAnswer: false
numAnswers: 0
- id: '173421'
text: What is your alphanumeric PIN?
hasAnswer: false
numAnswers: 3
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/mfa/kba/config/answers:
post:
operationId: setMFAKBAConfig
tags:
- MFA Configuration
summary: Set mfa kba configuration
description: 'This API sets answers to challenge questions. Any configured questions omitted from the request are removed from user KBA configuration. '
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/KbaAnswerRequestItem'
example:
- id: '173423'
answer: 822cd15d6c15aa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a0859a2fea34
- id: c54fee53-2d63-4fc5-9259-3e93b9994135
answer: 9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08
security:
- userAuth:
- idn:mfa-kba:authenticate
x-sailpoint-userLevels:
- USER
responses:
'200':
description: The new KBA configuration for the user.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/KbaAnswerResponseItem'
example:
- id: 143cfd3b-c23f-426b-ae5f-d3db06fa5919
question: '[{"text":"Nouvelle question MFA -1 ?","locale":"fr"},{"text":"MFA new question -1 ?","locale":""}]'
hasAnswer: false
- id: '173421'
question: '[{"text":"What is your alphanumeric PIN?","locale":""}]'
hasAnswer: true
- id: c54fee53-2d63-4fc5-9259-3e93b9994135
question: '[{"text":"Nouvelle question MFA - 2 ?","locale":"fr"},{"text":"MFA new question - 2 ?","locale":""}]'
hasAnswer: true
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/mfa/{method}/test:
get:
operationId: testMFAConfig
tags:
- MFA Configuration
summary: Mfa method's test configuration
description: This API validates that the configuration is valid and will properly authenticate with the MFA provider identified by the method path parameter.
security:
- userAuth:
- idn:mfa-configuration:read
- idn:mfa-configuration:manage
x-sailpoint-userLevels:
- ORG_ADMIN
parameters:
- in: path
name: method
schema:
type: string
example: okta-verify
nullable: false
enum:
- okta-verify
- duo-web
required: true
description: The name of the MFA method. The currently supported method names are 'okta-verify' and 'duo-web'.
responses:
'200':
description: The result of configuration test for the MFA provider.
content:
application/json:
schema:
$ref: '#/components/schemas/MfaConfigTestResponse'
example:
state: SUCCESS
error: null
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/mfa/{method}/delete:
delete:
operationId: deleteMFAConfig
tags:
- MFA Configuration
summary: Delete mfa method configuration
description: This API removes the configuration for the specified MFA method.
security:
- userAuth:
- idn:mfa-configuration:manage
x-sailpoint-userLevels:
- ORG_ADMIN
parameters:
- in: path
name: method
schema:
type: string
example: okta-verify
nullable: false
enum:
- okta-verify
- duo-web
required: true
description: The name of the MFA method. The currently supported method names are 'okta-verify' and 'duo-web'.
responses:
'200':
description: MFA configuration of an MFA method.
content:
application/json:
schema:
$ref: '#/components/schemas/MfaOktaConfig'
example:
mfaMethod: okta-verify
enabled: true
host: www.example.com
accessKey: d******Y
identityAttribute: email
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/mfa/okta-verify/verify:
post:
operationId: sendOktaVerifyRequest
tags:
- MFA Controller
summary: Verifying authentication via okta method
description: This API Authenticates the user via Okta-Verify MFA method. Request requires a header called 'slpt-forwarding', and it must contain a remote IP Address of caller.
security:
- userAuth:
- idn:mfa:verify
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/OktaVerificationRequest'
example:
userId: example@mail.com
responses:
'200':
description: The status of verification request.
content:
application/json:
schema:
$ref: '#/components/schemas/VerificationResponse'
example:
requestId: 089899f13a8f4da7824996191587bab9
status: SUCCESS
error: ''
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/mfa/duo-web/verify:
post:
operationId: sendDuoVerifyRequest
tags:
- MFA Controller
summary: Verifying authentication via duo method
description: This API Authenticates the user via Duo-Web MFA method.
security:
- userAuth:
- idn:mfa:verify
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DuoVerificationRequest'
example:
userId: 2c9180947f0ef465017f215cbcfd004b
signedResponse: AUTH|d2lsbC5hbGJpbnxESTZNMFpHSThKQVRWTVpZN0M5VXwxNzAxMjUzMDg5|f1f5f8ced5b340f3d303b05d0efa0e43b6a8f970:APP|d2lsbC5hbGJpbnxESTZNMFpHSThKQVRWTVpZN0M5VXwxNzAxMjU2NjE5|cb44cf44353f5127edcae31b1da0355f87357db2
responses:
'200':
description: The status of verification request.
content:
application/json:
schema:
$ref: '#/components/schemas/VerificationResponse'
example:
requestId: 089899f13a8f4da7824996191587bab9
status: SUCCESS
error: ''
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/mfa/{method}/poll:
post:
operationId: pingVerificationStatus
tags:
- MFA Controller
summary: Polling mfa method by verificationpollrequest
description: This API poll the VerificationPollRequest for the specified MFA method.
security:
- userAuth:
- idn:mfa:poll
x-sailpoint-userLevels:
- ORG_ADMIN
parameters:
- in: path
name: method
schema:
type: string
example: okta-verify
nullable: false
enum:
- okta-verify
- duo-web
- kba
- token
- rsa
required: true
description: The name of the MFA method. The currently supported method names are 'okta-verify', 'duo-web', 'kba','token', 'rsa'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/VerificationPollRequest'
example:
requestId: 089899f13a8f4da7824996191587bab9
responses:
'200':
description: MFA VerificationPollRequest status an MFA method.
content:
application/json:
schema:
$ref: '#/components/schemas/VerificationResponse'
example:
requestId: 089899f13a8f4da7824996191587bab9
status: PENDING
error: ''
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/mfa/kba/authenticate:
post:
operationId: sendKbaAnswers
tags:
- MFA Controller
summary: Authenticate kba provided mfa method
description: This API Authenticate user in KBA MFA method.
security:
- userAuth:
- idn:mfa-kba:authenticate
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/KbaAnswerRequestItem'
example:
- id: '173423'
answer: 822cd15d6c15aa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a0859a2fea34
- id: c54fee53-2d63-4fc5-9259-3e93b9994135
answer: 9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08
responses:
'200':
description: KBA authenticated status.
content:
application/json:
schema:
$ref: '#/components/schemas/KbaAuthResponse'
example:
kbaAuthResponseItem:
- questionId: 089899f13a8f4da7824996191587bab9
IsVerified: false
- questionId: 089899f13a8f4da7824996191587bda8
IsVerified: true
status: PENDING
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/mfa/token/authenticate:
post:
operationId: sendTokenAuthRequest
tags:
- MFA Controller
summary: Authenticate token provided mfa method
description: This API Authenticate user in Token MFA method.
security:
- userAuth:
- idn:mfa:verify
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TokenAuthRequest'
example:
token: '12345'
userAlias: will.albin
deliveryType: EMAIL_WORK
responses:
'200':
description: Token authenticated status.
content:
application/json:
schema:
$ref: '#/components/schemas/TokenAuthResponse'
example:
status: PENDING
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/mfa/token/send:
post:
operationId: createSendToken
tags:
- MFA Controller
summary: Create and send user token
description: This API send token request.
security:
- userAuth:
- idn:mfa:send
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SendTokenRequest'
example:
userAlias: will.albin
deliveryType: EMAIL_WORK
responses:
'200':
description: Token send status.
content:
application/json:
schema:
$ref: '#/components/schemas/SendTokenResponse'
example:
requestId: 089899f13a8f4da7824996191587bab9
status: SUCCESS
errorMessage: ''
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/non-employee-records:
post:
operationId: createNonEmployeeRecord
tags:
- Non-Employee Lifecycle Management
summary: Create non-employee record
description: |-
This request will create a non-employee record.
Requires role context of `idn:nesr:create`
requestBody:
description: Non-Employee record creation request body.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/NonEmployeeRequestBody'
responses:
'200':
description: Created non-employee record.
content:
application/json:
schema:
$ref: '#/components/schemas/NonEmployeeRecord'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:nelm:manage
- applicationAuth:
- idn:nelm:manage
get:
operationId: listNonEmployeeRecords
security:
- userAuth:
- idn:nelm:read
- applicationAuth:
- idn:nelm:read
tags:
- Non-Employee Lifecycle Management
summary: List non-employee records
description: |-
This gets a list of non-employee records. There are two contextual uses for this endpoint:
1. The user has the role context of `idn:nesr:read`, in which case they can get a list of all of the non-employees.
2. The user is an account manager, in which case they can get a list of the non-employees that they manage.
parameters:
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/count'
- in: query
name: sorters
required: false
schema:
type: string
format: comma-separated
example: accountName,sourceId
description: |-
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: **id, accountName, sourceId, manager, firstName, lastName, email, phone, startDate, endDate, created, modified**
- in: query
name: filters
required: false
schema:
type: string
example: sourceId eq "2c91808568c529c60168cca6f90c1313"
description: |-
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:
**sourceId**: *eq*
responses:
'200':
description: Non-Employee record objects
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/NonEmployeeRecord'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/non-employee-records/{id}:
get:
operationId: getNonEmployeeRecord
tags:
- Non-Employee Lifecycle Management
summary: Get a non-employee record
description: |-
This gets a non-employee record.
Requires role context of `idn:nesr:read`
parameters:
- in: path
name: id
description: Non-Employee record id (UUID)
required: true
x-sailpoint-resource-operation-id: listNonEmployeeRecords
example: ef38f94347e94562b5bb8424a56397d8
schema:
type: string
responses:
'200':
description: Non-Employee record object
content:
application/json:
schema:
$ref: '#/components/schemas/NonEmployeeRecord'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:nelm:read
- applicationAuth:
- idn:nelm:read
put:
operationId: updateNonEmployeeRecord
security:
- userAuth:
- idn:nelm:manage
tags:
- Non-Employee Lifecycle Management
summary: Update non-employee record
description: |-
This request will update a non-employee record. There are two contextual uses for this endpoint:
1. The user has the role context of `idn:nesr:update`, in which case they
update all available fields.
2. The user is owner of the source, in this case they can only update the
end date.
parameters:
- in: path
name: id
description: Non-employee record id (UUID)
example: ef38f94347e94562b5bb8424a56397d8
required: true
x-sailpoint-resource-operation-id: listNonEmployeeRecords
schema:
type: string
requestBody:
description: Non-employee record creation request body. Attributes are restricted by user type. Owner of source can update end date. Organization admins can update all available fields.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/NonEmployeeRequestBody'
responses:
'200':
description: An updated non-employee record.
content:
application/json:
schema:
$ref: '#/components/schemas/NonEmployeeRecord'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
patch:
operationId: patchNonEmployeeRecord
security:
- userAuth:
- idn:nelm:manage
tags:
- Non-Employee Lifecycle Management
summary: Patch non-employee record
description: |-
This request will patch a non-employee record. There are two contextual uses for this endpoint:
1. The user has the role context of `idn:nesr:update`, in which case they
update all available fields.
2. The user is owner of the source, in this case they can only update the
end date.
parameters:
- in: path
name: id
description: Non-employee record id (UUID)
example: ef38f94347e94562b5bb8424a56397d8
required: true
x-sailpoint-resource-operation-id: listNonEmployeeRecords
schema:
type: string
requestBody:
description: A list of non-employee update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. Attributes are restricted by user type. Owner of source can update end date. Organization admins can update all available fields.
required: true
content:
application/json-patch+json:
schema:
type: array
items:
$ref: '#/components/schemas/JsonPatchOperation'
example:
- op: replace
path: /endDate
value: '2019-08-23T18:40:35.772Z'
responses:
'200':
description: A patched non-employee record.
content:
application/json:
schema:
$ref: '#/components/schemas/NonEmployeeRecord'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
delete:
operationId: deleteNonEmployeeRecord
tags:
- Non-Employee Lifecycle Management
summary: Delete non-employee record
description: |-
This request will delete a non-employee record.
Requires role context of `idn:nesr:delete`
parameters:
- in: path
name: id
description: Non-Employee record id (UUID)
example: ef38f94347e94562b5bb8424a56397d8
required: true
x-sailpoint-resource-operation-id: listNonEmployeeRecords
schema:
type: string
responses:
'204':
$ref: '#/components/responses/204'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:nelm:manage
- applicationAuth:
- idn:nelm:manage
/non-employee-records/bulk-delete:
post:
operationId: deleteNonEmployeeRecordsInBulk
tags:
- Non-Employee Lifecycle Management
summary: Delete multiple non-employee records
description: This request will delete multiple non-employee records based on the non-employee ids provided. Requires role context of `idn:nesr:delete`
requestBody:
description: Non-Employee bulk delete request body.
required: true
content:
application/json:
schema:
type: object
properties:
ids:
description: List of non-employee ids.
type: array
items:
type: string
format: uuid
example:
- 2b838de9-db9b-abcf-e646-d4f274ad4238
- 2d838de9-db9b-abcf-e646-d4f274ad4238
required:
- ids
responses:
'204':
$ref: '#/components/responses/204'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:nelm:manage
- applicationAuth:
- idn:nelm:manage
/non-employee-requests:
post:
operationId: createNonEmployeeRequest
security:
- userAuth:
- idn:nelm:manage
- applicationAuth:
- idn:nelm:manage
tags:
- Non-Employee Lifecycle Management
summary: Create non-employee request
description: This request will create a non-employee request and notify the approver. Requires role context of `idn:nesr:create` or the user must own the source.
requestBody:
description: Non-Employee creation request body
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/NonEmployeeRequestBody'
responses:
'200':
description: Non-Employee request creation object
content:
application/json:
schema:
$ref: '#/components/schemas/NonEmployeeRequest'
'400':
description: Client Error - Returned if the request body is invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseDto'
examples:
400.1 Bad Request Content:
description: Response for bad request content
value:
detailCode: 400.1 Bad Request Content
trackingId: e7eab60924f64aa284175b9fa3309599
messages:
- locale: en
localeOrigin: REQUEST
text: firstName is required; accountName is required;
400.1.409 Reference conflict:
description: Response for reference conflict
value:
detailCode: 400.1.409 Reference conflict
trackingId: e7eab60924f64aa284175b9fa3309599
messages:
- locale: en
localeOrigin: REQUEST
text: Unable to create Non-Employee because the accountName "existed" is already being used.
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
get:
operationId: listNonEmployeeRequests
security:
- userAuth:
- idn:nelm:read
- applicationAuth:
- idn:nelm:read
tags:
- Non-Employee Lifecycle Management
summary: List non-employee requests
description: |-
This gets a list of non-employee requests. There are two contextual uses for the `requested-for` path parameter:
1. The user has the role context of `idn:nesr:read`, in which case he or
she may request a list non-employee requests assigned to a particular account manager by passing in that manager's id.
2. The current user is an account manager, in which case "me" should be
provided as the `requested-for` value. This will provide the user with a list of the non-employee requests in the source(s) he or she manages.
parameters:
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/count'
- in: query
name: requested-for
required: true
schema:
type: string
example: e136567de87e4d029e60b3c3c55db56d
description: The identity for whom the request was made. *me* indicates the current user.
- in: query
name: sorters
required: false
schema:
type: string
format: comma-separated
example: created,approvalStatus
description: |-
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: **created, approvalStatus, firstName, lastName, email, phone, accountName, startDate, endDate**
- in: query
name: filters
required: false
schema:
type: string
example: sourceId eq "2c91808568c529c60168cca6f90c1313"
description: |-
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:
**sourceId**: *eq*
responses:
'200':
description: List of non-employee request objects.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/NonEmployeeRequest'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/non-employee-requests/{id}:
get:
operationId: getNonEmployeeRequest
security:
- userAuth:
- idn:nelm:read
- applicationAuth:
- idn:nelm:read
tags:
- Non-Employee Lifecycle Management
summary: Get a non-employee request
description: |-
This gets a non-employee request.
There are two contextual uses for this endpoint:
1. The user has the role context of `idn:nesr:read`, in this case the user
can get the non-employee request for any user.
2. The user must be the owner of the non-employee request.
parameters:
- in: path
name: id
description: Non-Employee request id (UUID)
example: ac110005-7156-1150-8171-5b292e3e0084
required: true
x-sailpoint-resource-operation-id: listNonEmployeeRequests
schema:
type: string
responses:
'200':
description: Non-Employee request object.
content:
application/json:
schema:
$ref: '#/components/schemas/NonEmployeeRequest'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
delete:
operationId: deleteNonEmployeeRequest
tags:
- Non-Employee Lifecycle Management
summary: Delete non-employee request
description: |-
This request will delete a non-employee request.
Requires role context of `idn:nesr:delete`
parameters:
- in: path
name: id
description: Non-Employee request id in the UUID format
required: true
x-sailpoint-resource-operation-id: listNonEmployeeRequests
schema:
type: string
format: uuid
example: ac110005-7156-1150-8171-5b292e3e0084
responses:
'204':
$ref: '#/components/responses/204'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:nelm:manage
- applicationAuth:
- idn:nelm:manage
/non-employee-requests/summary/{requested-for}:
get:
operationId: getNonEmployeeRequestSummary
security:
- userAuth:
- idn:nelm:read
- applicationAuth:
- idn:nelm:read
tags:
- Non-Employee Lifecycle Management
summary: Get summary of non-employee requests
description: |-
This request will retrieve a summary of non-employee requests. There are two contextual uses for the `requested-for` path parameter:
1. The user has the role context of `idn:nesr:read`, in which case he or
she may request a summary of all non-employee approval requests assigned to a particular account manager by passing in that manager's id.
2. The current user is an account manager, in which case "me" should be
provided as the `requested-for` value. This will provide the user with a summary of the non-employee requests in the source(s) he or she manages.
parameters:
- in: path
name: requested-for
description: The identity (UUID) of the non-employee account manager for whom the summary is being retrieved. Use "me" instead to indicate the current user.
required: true
x-sailpoint-resource-operation-id: listNonEmployeeRecords
schema:
type: string
format: uuid (if user is Org Admin)
example: 2c91808280430dfb0180431a59440460
responses:
'200':
description: Non-Employee request summary object.
content:
application/json:
schema:
$ref: '#/components/schemas/NonEmployeeRequestSummary'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/non-employee-sources:
post:
operationId: createNonEmployeeSource
security:
- userAuth:
- idn:nelm:manage
- applicationAuth:
- idn:nelm:manage
x-sailpoint-userLevels:
- ORG_ADMIN
tags:
- Non-Employee Lifecycle Management
summary: Create non-employee source
description: 'Create a non-employee source. '
requestBody:
description: Non-Employee source creation request body.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/NonEmployeeSourceRequestBody'
responses:
'200':
description: Created non-employee source.
content:
application/json:
schema:
$ref: '#/components/schemas/NonEmployeeSourceWithCloudExternalId'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
get:
operationId: listNonEmployeeSources
security:
- userAuth:
- idn:nelm:read
- applicationAuth:
- idn:nelm:read
x-sailpoint-userLevels:
- ORG_ADMIN
tags:
- Non-Employee Lifecycle Management
summary: List non-employee sources
description: |-
Get a list of non-employee sources. There are two contextual uses for the `requested-for` path parameter:
1. If the user has the role context of `idn:nesr:read`, he or she may request a list sources assigned to a particular account manager by passing in that manager's `id`.
2. If the current user is an account manager, the user should provide 'me' as the `requested-for` value. Doing so provide the user with a list of the sources he or she owns.
parameters:
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/count'
- in: query
name: requested-for
required: false
schema:
type: string
example: me
description: Identity the request was made for. Use 'me' to indicate the current user.
- in: query
name: non-employee-count
required: false
example: true
schema:
type: boolean
default: false
description: Flag that determines whether the API will return a non-employee count associated with the source.
- in: query
name: sorters
required: false
schema:
type: string
format: comma-separated
example: name,created
description: |-
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, sourceId**
responses:
'200':
description: List of non-employee sources objects.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/NonEmployeeSourceWithNECount'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/non-employee-sources/{sourceId}:
get:
operationId: getNonEmployeeSource
security:
- userAuth:
- idn:nelm:read
- applicationAuth:
- idn:nelm:read
tags:
- Non-Employee Lifecycle Management
summary: Get a non-employee source
description: |-
This gets a non-employee source. There are two contextual uses for the requested-for path parameter:
1. The user has the role context of `idn:nesr:read`, in which case he or
she may request any source.
2. The current user is an account manager, in which case the user can only
request sources that they own.
parameters:
- in: path
name: sourceId
description: Source Id
example: 2c91808b7c28b350017c2a2ec5790aa1
required: true
x-sailpoint-resource-operation-id: listNonEmployeeSources
schema:
type: string
responses:
'200':
description: Non-Employee source object.
content:
application/json:
schema:
$ref: '#/components/schemas/NonEmployeeSource'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
patch:
operationId: patchNonEmployeeSource
tags:
- Non-Employee Lifecycle Management
summary: Patch a non-employee source
description: 'patch a non-employee source. (partial update)
Patchable field: **name, description, approvers, accountManagers** Requires role context of `idn:nesr:update`.'
parameters:
- in: path
name: sourceId
description: Source Id
required: true
x-sailpoint-resource-operation-id: listNonEmployeeSources
schema:
type: string
example: e136567de87e4d029e60b3c3c55db56d
requestBody:
description: A list of non-employee source update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard.
required: true
content:
application/json-patch+json:
schema:
type: array
items:
$ref: '#/components/schemas/JsonPatchOperation'
example:
- op: replace
path: /name
value:
new name: null
- op: replace
path: /approvers
value:
- 2c91809f703bb37a017040a2fe8748c7
- 48b1f463c9e8427db5a5071bd81914b8
responses:
'200':
description: A patched non-employee source object.
content:
application/json:
schema:
$ref: '#/components/schemas/NonEmployeeSource'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:nelm:manage
- applicationAuth:
- idn:nelm:manage
delete:
operationId: deleteNonEmployeeSource
tags:
- Non-Employee Lifecycle Management
summary: Delete non-employee source
description: This request will delete a non-employee source. Requires role context of `idn:nesr:delete`.
parameters:
- in: path
name: sourceId
description: Source Id
required: true
x-sailpoint-resource-operation-id: listNonEmployeeSources
schema:
type: string
example: e136567de87e4d029e60b3c3c55db56d
responses:
'204':
$ref: '#/components/responses/204'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:nelm:manage
- applicationAuth:
- idn:nelm:manage
/non-employee-sources/{id}/non-employees/download:
get:
operationId: exportNonEmployeeRecords
tags:
- Non-Employee Lifecycle Management
summary: Exports non-employee records to csv
description: This requests a CSV download for all non-employees from a provided source. Requires role context of `idn:nesr:read`
parameters:
- in: path
name: id
description: Source Id (UUID)
required: true
x-sailpoint-resource-operation-id: listNonEmployeeSources
schema:
type: string
example: e136567de87e4d029e60b3c3c55db56d
responses:
'200':
description: Exported CSV
content:
text/csv:
example: |
accountName,firstName,lastName,phone,email,manager,startDate,endDate
Jon.Smith, Jon, Smith, 555-555-5555, jon@jon.doe.nope.com, Jim Smith, 2020-04-05T08:00:00-10:00,2020-08-07T19:00:00-10:00
William.Chaffin, William, Chaffin, 555-555-5555, william@chaffins.nope.com, Bertram Chaffin, 2020-04-05T08:00:00-10:00,2020-08-07T19:00:00-10:00
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:nelm:read
- applicationAuth:
- idn:nelm:read
/non-employee-sources/{id}/non-employee-bulk-upload:
post:
operationId: importNonEmployeeRecordsInBulk
security:
- userAuth:
- idn:nelm:manage
- applicationAuth:
- idn:nelm:manage
tags:
- Non-Employee Lifecycle Management
summary: Imports, or updates, non-employee records
description: This post will import, or update, Non-Employee records found in the CSV. Requires role context of `idn:nesr:create`
parameters:
- in: path
name: id
description: Source Id (UUID)
required: true
x-sailpoint-resource-operation-id: listNonEmployeeSources
schema:
type: string
example: e136567de87e4d029e60b3c3c55db56d
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
data:
type: string
format: binary
required:
- data
responses:
'202':
description: The CSV was accepted to be bulk inserted now or at a later time.
content:
application/json:
schema:
$ref: '#/components/schemas/NonEmployeeBulkUploadJob'
'400':
description: |
Client Error - Returned if the request body is invalid.
The response body will contain the list of specific errors with one on each line.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseDto'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/non-employee-sources/{id}/non-employee-bulk-upload/status:
get:
operationId: getNonEmployeeBulkUploadStatus
tags:
- Non-Employee Lifecycle Management
summary: Obtain the status of bulk upload on the source
description: |
The nonEmployeeBulkUploadStatus API returns the status of the newest bulk upload job for the specified source.
Requires role context of `idn:nesr:read`
parameters:
- in: path
name: id
description: Source ID (UUID)
required: true
x-sailpoint-resource-operation-id: listNonEmployeeSources
schema:
type: string
example: e136567de87e4d029e60b3c3c55db56d
responses:
'200':
description: Status of the newest bulk-upload job, if any.
content:
application/json:
schema:
$ref: '#/components/schemas/NonEmployeeBulkUploadStatus'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:nelm:read
- applicationAuth:
- idn:nelm:read
/non-employee-sources/{id}/schema-attributes-template/download:
get:
operationId: exportNonEmployeeSourceSchemaTemplate
tags:
- Non-Employee Lifecycle Management
summary: Exports source schema template
description: This requests a download for the Source Schema Template for a provided source. Requires role context of `idn:nesr:read`
parameters:
- in: path
name: id
description: Source Id (UUID)
required: true
x-sailpoint-resource-operation-id: listNonEmployeeSources
example: ef38f94347e94562b5bb8424a56397d8
schema:
type: string
responses:
'200':
description: Exported Source Schema Template
content:
text/csv:
example: |
accountName,firstName,lastName,phone,email,manager,startDate,endDate
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:nelm:read
- applicationAuth:
- idn:nelm:read
/non-employee-approvals:
get:
operationId: listNonEmployeeApprovals
security:
- userAuth:
- idn:nelm:read
- applicationAuth:
- idn:nelm:read
tags:
- Non-Employee Lifecycle Management
summary: Get list of non-employee approval requests
description: |-
This gets a list of non-employee approval requests.
There are two contextual uses for this endpoint:
1. The user has the role context of `idn:nesr:read`, in which case they
can list the approvals for any approver.
2. The user owns the requested approval.
parameters:
- in: query
name: requested-for
schema:
type: string
description: The identity for whom the request was made. *me* indicates the current user.
required: false
example: 2c91808280430dfb0180431a59440460
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/count'
- in: query
name: filters
schema:
type: string
description: |-
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:
**approvalStatus**: *eq*
example: approvalStatus eq "Pending"
required: false
- in: query
name: sorters
schema:
type: string
format: comma-separated
description: |-
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: **created, modified**
required: false
example: created
responses:
'200':
description: List of approval items.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/NonEmployeeApprovalItem'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/non-employee-approvals/{id}:
get:
operationId: getNonEmployeeApproval
security:
- userAuth:
- idn:nelm:read
tags:
- Non-Employee Lifecycle Management
summary: Get a non-employee approval item detail
description: |-
Gets a non-employee approval item detail. There are two contextual uses for this endpoint:
1. The user has the role context of `idn:nesr:read`, in which case they
can get any approval.
2. The user owns the requested approval.
parameters:
- in: path
name: id
description: Non-Employee approval item id (UUID)
required: true
x-sailpoint-resource-operation-id: listNonEmployeeApprovals
schema:
type: string
example: e136567de87e4d029e60b3c3c55db56d
- in: query
name: include-detail
description: The object nonEmployeeRequest will not be included detail when set to false. *Default value is true*
required: false
schema:
type: boolean
example: true
responses:
'200':
description: Non-Employee approval item object.
content:
application/json:
schema:
$ref: '#/components/schemas/NonEmployeeApprovalItemDetail'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/non-employee-approvals/{id}/approve:
post:
operationId: approveNonEmployeeRequest
security:
- userAuth:
- idn:nelm:manage
tags:
- Non-Employee Lifecycle Management
summary: Approve a non-employee request
description: Approves a non-employee approval request and notifies the next approver. The current user must be the requested approver.
parameters:
- in: path
name: id
description: Non-Employee approval item id (UUID)
required: true
x-sailpoint-resource-operation-id: listNonEmployeeApprovals
schema:
type: string
example: e136567de87e4d029e60b3c3c55db56d
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/NonEmployeeApprovalDecision'
responses:
'200':
description: Non-Employee approval item object.
content:
application/json:
schema:
$ref: '#/components/schemas/NonEmployeeApprovalItem'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/non-employee-approvals/{id}/reject:
post:
operationId: rejectNonEmployeeRequest
security:
- userAuth:
- idn:nelm:manage
tags:
- Non-Employee Lifecycle Management
summary: Reject a non-employee request
description: This endpoint will reject an approval item request and notify user. The current user must be the requested approver.
parameters:
- in: path
name: id
description: Non-Employee approval item id (UUID)
required: true
x-sailpoint-resource-operation-id: listNonEmployeeApprovals
schema:
type: string
example: e136567de87e4d029e60b3c3c55db56d
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/NonEmployeeRejectApprovalDecision'
responses:
'200':
description: Non-Employee approval item object.
content:
application/json:
schema:
$ref: '#/components/schemas/NonEmployeeApprovalItem'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/non-employee-approvals/summary/{requested-for}:
get:
operationId: getNonEmployeeApprovalSummary
security:
- userAuth:
- idn:nelm:read
- applicationAuth:
- idn:nelm:read
tags:
- Non-Employee Lifecycle Management
summary: Get summary of non-employee approval requests
description: |-
This request will retrieve a summary of non-employee approval requests. There are two contextual uses for the `requested-for` path parameter:
1. The user has the role context of `idn:nesr:read`, in which case he or
she may request a summary of all non-employee approval requests assigned to a particular approver by passing in that approver's id.
2. The current user is an approver, in which case "me" should be provided
as the `requested-for` value. This will provide the approver with a summary of the approval items assigned to him or her.
parameters:
- in: path
name: requested-for
schema:
type: string
description: The identity (UUID) of the approver for whom for whom the summary is being retrieved. Use "me" instead to indicate the current user.
required: true
x-sailpoint-resource-operation-id: listIdentities
example: 2c91808280430dfb0180431a59440460
responses:
'200':
description: summary of non-employee approval requests
content:
application/json:
schema:
$ref: '#/components/schemas/NonEmployeeApprovalSummary'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/non-employee-sources/{sourceId}/schema-attributes:
get:
operationId: getNonEmployeeSourceSchemaAttributes
security:
- userAuth:
- idn:nelm:read
- applicationAuth:
- idn:nelm:read
tags:
- Non-Employee Lifecycle Management
summary: List schema attributes non-employee source
description: |-
This API gets the list of schema attributes for the specified Non-Employee SourceId. There are 8 mandatory attributes added to each new Non-Employee Source automatically. Additionaly, user can add up to 10 custom attributes. This interface returns all the mandatory attributes followed by any custom attributes. At most, a total of 18 attributes will be returned.
Requires role context of `idn:nesr:read` or the user must be an account manager of the source.
parameters:
- in: path
name: sourceId
schema:
type: string
required: true
x-sailpoint-resource-operation-id: listNonEmployeeSources
example: ef38f94347e94562b5bb8424a56397d8
description: The Source id
responses:
'200':
description: A list of Schema Attributes
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/NonEmployeeSchemaAttribute'
maxItems: 18
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
post:
operationId: createNonEmployeeSourceSchemaAttributes
tags:
- Non-Employee Lifecycle Management
summary: Create a new schema attribute for non-employee source
description: |-
This API creates a new schema attribute for Non-Employee Source. The schema technical name must be unique in the source. Attempts to create a schema attribute with an existing name will result in a "400.1.409 Reference conflict" response. At most, 10 custom attributes can be created per schema. Attempts to create more than 10 will result in a "400.1.4 Limit violation" response.
Requires role context of `idn:nesr:create`
parameters:
- in: path
name: sourceId
schema:
type: string
required: true
x-sailpoint-resource-operation-id: listNonEmployeeSources
description: The Source id
example: ef38f94347e94562b5bb8424a56397d8
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/NonEmployeeSchemaAttributeBody'
responses:
'200':
description: Schema Attribute created.
content:
application/json:
schema:
$ref: '#/components/schemas/NonEmployeeSchemaAttribute'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:nelm:manage
- applicationAuth:
- idn:nelm:manage
delete:
operationId: deleteNonEmployeeSourceSchemaAttributes
tags:
- Non-Employee Lifecycle Management
summary: Delete all custom schema attributes for non-employee source
description: This end-point deletes all custom schema attributes for a non-employee source. Requires role context of `idn:nesr:delete`
parameters:
- in: path
name: sourceId
schema:
type: string
required: true
x-sailpoint-resource-operation-id: listNonEmployeeSources
description: The Source id
example: ef38f94347e94562b5bb8424a56397d8
responses:
'204':
$ref: '#/components/responses/204'
description: All custon Schema Attributes were successfully deleted.
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:nelm:manage
- applicationAuth:
- idn:nelm:manage
/non-employee-sources/{sourceId}/schema-attributes/{attributeId}:
get:
operationId: getNonEmployeeSchemaAttribute
security:
- userAuth:
- idn:nelm:read
- applicationAuth:
- idn:nelm:read
tags:
- Non-Employee Lifecycle Management
summary: Get schema attribute non-employee source
description: This API gets a schema attribute by Id for the specified Non-Employee SourceId. Requires role context of `idn:nesr:read` or the user must be an account manager of the source.
parameters:
- in: path
name: attributeId
schema:
type: string
required: true
x-sailpoint-resource-operation-id: getNonEmployeeSourceSchemaAttributes
example: ef38f94347e94562b5bb8424a56397d8
description: The Schema Attribute Id (UUID)
- in: path
name: sourceId
schema:
type: string
required: true
x-sailpoint-resource-operation-id: listNonEmployeeSources
example: ef38f94347e94562b5bb8424a56397d8
description: The Source id
responses:
'200':
description: The Schema Attribute
content:
application/json:
schema:
$ref: '#/components/schemas/NonEmployeeSchemaAttribute'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
patch:
operationId: patchNonEmployeeSchemaAttribute
tags:
- Non-Employee Lifecycle Management
summary: Patch a schema attribute for non-employee source
description: |
This end-point patches a specific schema attribute for a non-employee SourceId.
Requires role context of `idn:nesr:update`
parameters:
- in: path
name: attributeId
schema:
type: string
required: true
x-sailpoint-resource-operation-id: getNonEmployeeSourceSchemaAttributes
description: The Schema Attribute Id (UUID)
example: ef38f94347e94562b5bb8424a56397d8
- in: path
name: sourceId
schema:
type: string
required: true
x-sailpoint-resource-operation-id: listNonEmployeeSources
description: The Source id
example: ef38f94347e94562b5bb8424a56397d8
requestBody:
description: A list of schema attribute update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard. The following properties are allowed for update ':' 'label', 'helpText', 'placeholder', 'required'.
content:
application/json-patch+json:
schema:
type: array
items:
$ref: '#/components/schemas/JsonPatchOperation'
example:
- op: replace
path: /label
value:
new attribute label: null
required: true
responses:
'200':
description: The Schema Attribute was successfully patched.
content:
application/json:
schema:
$ref: '#/components/schemas/NonEmployeeSchemaAttribute'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:nelm:manage
- applicationAuth:
- idn:nelm:manage
delete:
operationId: deleteNonEmployeeSchemaAttribute
tags:
- Non-Employee Lifecycle Management
summary: Delete a schema attribute for non-employee source
description: |
This end-point deletes a specific schema attribute for a non-employee source.
Requires role context of `idn:nesr:delete`
parameters:
- in: path
name: attributeId
schema:
type: string
required: true
x-sailpoint-resource-operation-id: getNonEmployeeSourceSchemaAttributes
description: The Schema Attribute Id (UUID)
example: ef38f94347e94562b5bb8424a56397d8
- in: path
name: sourceId
schema:
type: string
required: true
x-sailpoint-resource-operation-id: listNonEmployeeSources
description: The Source id
example: ef38f94347e94562b5bb8424a56397d8
responses:
'204':
$ref: '#/components/responses/204'
description: The Schema Attribute was successfully deleted.
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:nelm:manage
- applicationAuth:
- idn:nelm:manage
/oauth-clients:
get:
operationId: listOauthClients
security:
- userAuth:
- sp:oauth-client:read
- sp:oauth-client:manage
tags:
- OAuth Clients
summary: List oauth clients
description: This gets a list of OAuth clients.
parameters:
- in: query
name: filters
required: false
schema:
type: string
description: |-
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:
**lastUsed**: *le, isnull*
example: lastUsed le 2023-02-05T10:59:27.214Z
responses:
'200':
description: List of OAuth clients.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/GetOAuthClientResponse'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
post:
operationId: createOauthClient
security:
- userAuth:
- sp:oauth-client:manage
tags:
- OAuth Clients
summary: Create oauth client
description: This creates an OAuth client.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateOAuthClientRequest'
responses:
'200':
description: Request succeeded.
content:
application/json:
schema:
$ref: '#/components/schemas/CreateOAuthClientResponse'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/oauth-clients/{id}:
get:
operationId: getOauthClient
security:
- userAuth:
- sp:oauth-client:manage
- sp:oauth-client:read
- applicationAuth:
- sp:oauth-client:manage
- sp:oauth-client:read
tags:
- OAuth Clients
summary: Get oauth client
description: This gets details of an OAuth client.
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: listOauthClients
description: The OAuth client id
example: ef38f94347e94562b5bb8424a56397d8
responses:
'200':
description: Request succeeded.
content:
application/json:
schema:
$ref: '#/components/schemas/GetOAuthClientResponse'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
delete:
operationId: deleteOauthClient
security:
- userAuth:
- sp:oauth-client:manage
tags:
- OAuth Clients
summary: Delete oauth client
description: This deletes an OAuth client.
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: listOauthClients
description: The OAuth client id
example: ef38f94347e94562b5bb8424a56397d8
responses:
'204':
description: No content.
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
patch:
operationId: patchOauthClient
security:
- userAuth:
- sp:oauth-client:manage
tags:
- OAuth Clients
summary: Patch oauth client
description: This performs a targeted update to the field(s) of an OAuth client.
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: listOauthClients
description: The OAuth client id
example: ef38f94347e94562b5bb8424a56397d8
requestBody:
required: true
description: |
A list of OAuth client update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard.
The following fields are patchable:
* tenant
* businessName
* homepageUrl
* name
* description
* accessTokenValiditySeconds
* refreshTokenValiditySeconds
* redirectUris
* grantTypes
* accessType
* enabled
* strongAuthSupported
* claimsSupported
content:
application/json-patch+json:
schema:
type: array
items:
$ref: '#/components/schemas/JsonPatchOperation'
example:
- op: replace
path: /strongAuthSupported
value: true
- op: replace
path: /businessName
value: acme-solar
responses:
'200':
description: Indicates the PATCH operation succeeded, and returns the OAuth client's new representation.
content:
application/json:
schema:
$ref: '#/components/schemas/GetOAuthClientResponse'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/password-sync-groups:
get:
operationId: getPasswordSyncGroups
tags:
- Password Sync Groups
summary: Get password sync group list
description: This API returns a list of password sync groups.
security:
- userAuth:
- idn:password-sync-group:read
- idn:password-sync-group:manage
- applicationAuth:
- idn:password-sync-group:read
- idn:password-sync-group:manage
x-sailpoint-userLevels:
- ORG_ADMIN
parameters:
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/count'
responses:
'200':
description: A list of password sync groups.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/PasswordSyncGroup'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
post:
operationId: createPasswordSyncGroup
tags:
- Password Sync Groups
summary: Create password sync group
description: This API creates a password sync group based on the specifications provided.
security:
- userAuth:
- idn:password-sync-group:manage
x-sailpoint-userLevels:
- ORG_ADMIN
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PasswordSyncGroup'
example:
name: Password Sync Group 2
passwordPolicyId: 2c91808d744ba0ce01746f93b6204501
sourceIds:
- 2c918084660f45d6016617daa9210584
- 2c918084660f45d6016617daa9210500
responses:
'200':
description: Reference to the password sync group.
content:
application/json:
schema:
$ref: '#/components/schemas/PasswordSyncGroup'
example:
id: 6881f631-3bd5-4213-9c75-8e05cc3e35dd
name: Password Sync Group 2
passwordPolicyId: 2c91808d744ba0ce01746f93b6204501
sourceIds:
- 2c918084660f45d6016617daa9210584
- 2c918084660f45d6016617daa9210500
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/password-sync-groups/{id}:
get:
operationId: getPasswordSyncGroup
tags:
- Password Sync Groups
summary: Get password sync group by id
description: This API returns the sync group for the specified ID.
security:
- userAuth:
- idn:password-sync-group:read
- idn:password-sync-group:manage
- applicationAuth:
- idn:password-sync-group:read
- idn:password-sync-group:manage
x-sailpoint-userLevels:
- ORG_ADMIN
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: getPasswordSyncGroups
description: The ID of password sync group to retrieve.
example: 6881f631-3bd5-4213-9c75-8e05cc3e35dd
responses:
'200':
description: Reference to the password sync group.
content:
application/json:
schema:
$ref: '#/components/schemas/PasswordSyncGroup'
example:
id: 6881f631-3bd5-4213-9c75-8e05cc3e35dd
name: Password Sync Group 1
passwordPolicyId: 2c91808d744ba0ce01746f93b6204501
sourceIds:
- 2c918084660f45d6016617daa9210584
- 2c918084660f45d6016617daa9210500
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
put:
operationId: updatePasswordSyncGroup
tags:
- Password Sync Groups
summary: Update password sync group by id
description: This API updates the specified password sync group.
security:
- userAuth:
- idn:password-sync-group:manage
x-sailpoint-userLevels:
- ORG_ADMIN
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: getPasswordSyncGroups
description: The ID of password sync group to update.
example: 6881f631-3bd5-4213-9c75-8e05cc3e35dd
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PasswordSyncGroup'
example:
id: 6881f631-3bd5-4213-9c75-8e05cc3e35dd
name: Password Sync Group 2
passwordPolicyId: 2c91808d744ba0ce01746f93b6204501
sourceIds:
- 2c918084660f45d6016617daa9210584
- 2c918084660f45d6016617daa9210500
responses:
'200':
description: Reference to the password sync group.
content:
application/json:
schema:
$ref: '#/components/schemas/PasswordSyncGroup'
example:
id: 6881f631-3bd5-4213-9c75-8e05cc3e35dd
name: Password Sync Group 2
passwordPolicyId: 2c91808d744ba0ce01746f93b6204501
sourceIds:
- 2c918084660f45d6016617daa9210584
- 2c918084660f45d6016617daa9210500
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
delete:
operationId: deletePasswordSyncGroup
tags:
- Password Sync Groups
summary: Delete password sync group by id
description: This API deletes the specified password sync group.
security:
- userAuth:
- idn:password-sync-group:manage
x-sailpoint-userLevels:
- ORG_ADMIN
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: getPasswordSyncGroups
description: The ID of password sync group to delete.
example: 6881f631-3bd5-4213-9c75-8e05cc3e35dd
responses:
'204':
$ref: '#/components/responses/204'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/password-policies/{id}:
get:
operationId: getPasswordPolicyById
tags:
- Password Policies
summary: Get password policy by id
description: This API returns the password policy for the specified ID.
security:
- userAuth:
- idn:password-policy:read
- applicationAuth:
- idn:password-policy:read
x-sailpoint-userLevels:
- ORG_ADMIN
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: listPasswordPolicies
description: The ID of password policy to retrieve.
example: ff808081838d9e9d01838da6a03e0005
responses:
'200':
description: Reference to the password policy.
content:
application/json:
schema:
$ref: '#/components/schemas/PasswordPolicyV3Dto'
example:
description: Default Password Policy
id: 2c91808e7d976f3b017d9f5ceae440c8
name: Example PP
dateCreated: 1639056206564
lastUpdated: 1662385430753
firstExpirationReminder: 90
accountIdMinWordLength: 3
accountNameMinWordLength: 3
maxLength: 0
maxRepeatedChars: 4
minAlpha: 1
minCharacterTypes: -1
minLength: 8
minLower: 0
minNumeric: 1
minSpecial: 0
minUpper: 0
passwordExpiration: 90
defaultPolicy: true
enablePasswdExpiration: false
requireStrongAuthn: false
requireStrongAuthOffNetwork: false
requireStrongAuthUntrustedGeographies: false
useAccountAttributes: false
useDictionary: false
useIdentityAttributes: false
validateAgainstAccountId: true
validateAgainstAccountName: true
sourceIds:
- 2c91808382ffee0b01830de154f14034
- 2c91808582ffee0c01830de36511405f
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
put:
operationId: setPasswordPolicy
tags:
- Password Policies
summary: Update password policy by id
description: This API updates the specified password policy.
security:
- userAuth:
- idn:password-policy:write
x-sailpoint-userLevels:
- ORG_ADMIN
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: listPasswordPolicies
description: The ID of password policy to update.
example: ff808081838d9e9d01838da6a03e0007
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PasswordPolicyV3Dto'
example:
description: Password Policy after update.
id: 2c91808e7d976f3b017d9f5ceae440c8
name: Improved Password Policy
dateCreated: 1639056206564
lastUpdated: 1662385430753
firstExpirationReminder: 90
accountIdMinWordLength: 3
accountNameMinWordLength: 3
maxLength: 0
maxRepeatedChars: 4
minAlpha: 1
minCharacterTypes: -1
minLength: 8
minLower: 0
minNumeric: 1
minSpecial: 0
minUpper: 0
passwordExpiration: 90
defaultPolicy: false
enablePasswdExpiration: false
requireStrongAuthn: false
requireStrongAuthOffNetwork: false
requireStrongAuthUntrustedGeographies: false
useAccountAttributes: false
useDictionary: false
useIdentityAttributes: false
validateAgainstAccountId: true
validateAgainstAccountName: true
sourceIds:
- 2c91808382ffee0b01830de154f14034
- 2c91808582ffee0c01830de36511405f
responses:
'200':
description: Reference to the password policy.
content:
application/json:
schema:
$ref: '#/components/schemas/PasswordPolicyV3Dto'
example:
description: Password Policy after update.
id: 2c91808e7d976f3b017d9f5ceae440c8
name: Improved Password Policy
dateCreated: 1639056206564
lastUpdated: 1662385430753
firstExpirationReminder: 90
accountIdMinWordLength: 3
accountNameMinWordLength: 3
maxLength: 0
maxRepeatedChars: 4
minAlpha: 1
minCharacterTypes: -1
minLength: 8
minLower: 0
minNumeric: 1
minSpecial: 0
minUpper: 0
passwordExpiration: 90
defaultPolicy: false
enablePasswdExpiration: false
requireStrongAuthn: false
requireStrongAuthOffNetwork: false
requireStrongAuthUntrustedGeographies: false
useAccountAttributes: false
useDictionary: false
useIdentityAttributes: false
validateAgainstAccountId: true
validateAgainstAccountName: true
sourceIds:
- 2c91808382ffee0b01830de154f14034
- 2c91808582ffee0c01830de36511405f
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
delete:
operationId: deletePasswordPolicy
tags:
- Password Policies
summary: Delete password policy by id
description: This API deletes the specified password policy.
security:
- userAuth:
- idn:password-policy:write
x-sailpoint-userLevels:
- ORG_ADMIN
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: listPasswordPolicies
description: The ID of password policy to delete.
example: ff808081838d9e9d01838da6a03e0002
responses:
'204':
$ref: '#/components/responses/204'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/password-policies:
post:
operationId: createPasswordPolicy
tags:
- Password Policies
summary: Create password policy
description: This API creates the specified password policy.
security:
- userAuth:
- idn:password-policy:write
x-sailpoint-userLevels:
- ORG_ADMIN
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PasswordPolicyV3Dto'
example:
description: New Password Policy with high requirements to password complexity.
id: null
name: High security Password Policy
dateCreated: 1639056206564
lastUpdated: 1662385430753
firstExpirationReminder: 90
accountIdMinWordLength: 3
accountNameMinWordLength: 3
maxLength: 0
maxRepeatedChars: 4
minAlpha: 1
minCharacterTypes: -1
minLength: 8
minLower: 0
minNumeric: 1
minSpecial: 0
minUpper: 0
passwordExpiration: 90
defaultPolicy: false
enablePasswdExpiration: false
requireStrongAuthn: false
requireStrongAuthOffNetwork: false
requireStrongAuthUntrustedGeographies: false
useAccountAttributes: false
useDictionary: false
useIdentityAttributes: false
validateAgainstAccountId: true
validateAgainstAccountName: true
sourceIds:
- 2c91808382ffee0b01830de154f14034
- 2c91808582ffee0c01830de36511405f
responses:
'200':
description: Reference to the password policy.
content:
application/json:
schema:
$ref: '#/components/schemas/PasswordPolicyV3Dto'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
get:
operationId: listPasswordPolicies
tags:
- Password Policies
summary: List password policies
description: |-
This gets list of all Password Policies.
Requires role of ORG_ADMIN
security:
- userAuth:
- idn:password-policy:read
- applicationAuth:
- idn:password-policy:read
parameters:
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/count'
responses:
'200':
description: List of all Password Policies.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/PasswordPolicyV3Dto'
example:
- description: Example Password Policy
id: 2c91808e7d976f3b017d9f5ceae440c8
name: Example PP
dateCreated: 1639056206564
lastUpdated: 1662385430753
firstExpirationReminder: 90
accountIdMinWordLength: 3
accountNameMinWordLength: 3
maxLength: 0
maxRepeatedChars: 4
minAlpha: 1
minCharacterTypes: -1
minLength: 8
minLower: 0
minNumeric: 1
minSpecial: 0
minUpper: 0
passwordExpiration: 90
defaultPolicy: false
enablePasswdExpiration: false
requireStrongAuthn: false
requireStrongAuthOffNetwork: false
requireStrongAuthUntrustedGeographies: false
useAccountAttributes: false
useDictionary: false
useIdentityAttributes: false
validateAgainstAccountId: true
validateAgainstAccountName: true
sourceIds:
- 2c91808382ffee0b01830de154f14034
- 2c91808582ffee0c01830de36511405f
- description: null
id: 2c91808780b8b8430180ff7a093f3bf2
name: Password Policy 1 test
dateCreated: 1653553629503
lastUpdated: null
firstExpirationReminder: null
accountIdMinWordLength: -1
accountNameMinWordLength: -1
maxLength: 0
maxRepeatedChars: -1
minAlpha: 1
minCharacterTypes: -1
minLength: 8
minLower: 0
minNumeric: 1
minSpecial: 0
minUpper: 0
passwordExpiration: 90
defaultPolicy: false
enablePasswdExpiration: false
requireStrongAuthn: false
requireStrongAuthOffNetwork: false
requireStrongAuthUntrustedGeographies: false
useAccountAttributes: false
useDictionary: false
useIdentityAttributes: true
validateAgainstAccountId: false
validateAgainstAccountName: false
sourceIds: []
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/personal-access-tokens:
get:
operationId: listPersonalAccessTokens
security:
- userAuth:
- sp:my-personal-access-tokens:read
- sp:my-personal-access-tokens:manage
- sp:all-personal-access-tokens:read
- sp:all-personal-access-tokens:manage
tags:
- Personal Access Tokens
summary: List personal access tokens
description: This gets a collection of personal access tokens associated with the optional `owner-id`. query parameter. If the `owner-id` query parameter is omitted, all personal access tokens for a tenant will be retrieved, but the caller must have the 'idn:all-personal-access-tokens:read' right.
parameters:
- in: query
name: owner-id
description: |-
The identity ID of the owner whose personal access tokens should be listed. If "me", the caller should have the following right: 'idn:my-personal-access-tokens:read'
If an actual owner ID or if the `owner-id` parameter is omitted in the request, the caller should have the following right: 'idn:all-personal-access-tokens:read'.
If the caller has the following right, then managed personal access tokens associated with `owner-id` will be retrieved: 'idn:managed-personal-access-tokens:read'
required: false
schema:
type: string
default: null
example: 2c9180867b50d088017b554662fb281e
- in: query
name: filters
required: false
schema:
type: string
description: |-
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:
**lastUsed**: *le, isnull*
example: lastUsed le 2023-02-05T10:59:27.214Z
responses:
'200':
description: List of personal access tokens.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/GetPersonalAccessTokenResponse'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
post:
operationId: createPersonalAccessToken
security:
- userAuth:
- sp:my-personal-access-tokens:manage
- sp:all-personal-access-tokens:manage
tags:
- Personal Access Tokens
summary: Create personal access token
description: This creates a personal access token.
requestBody:
description: Name and scope of personal access token.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreatePersonalAccessTokenRequest'
responses:
'200':
description: Created. Note - this is the only time Personal Access Tokens' secret attribute will be displayed.
content:
application/json:
schema:
$ref: '#/components/schemas/CreatePersonalAccessTokenResponse'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/personal-access-tokens/{id}:
patch:
operationId: patchPersonalAccessToken
security:
- userAuth:
- sp:my-personal-access-tokens:manage
tags:
- Personal Access Tokens
summary: Patch personal access token
description: |-
This performs a targeted update to the field(s) of a Personal Access Token.
Changing scopes for a Personal Access Token does not impact existing bearer tokens. You will need to create a new bearer token to have the new scopes. Please note that it can take up to 20 minutes for scope changes to be seen on new bearer tokens.
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: listPersonalAccessTokens
description: The Personal Access Token id
example: ef38f94347e94562b5bb8424a56397d8
requestBody:
required: true
description: |
A list of OAuth client update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard.
The following fields are patchable:
* name
* scope
content:
application/json-patch+json:
schema:
type: array
items:
$ref: '#/components/schemas/JsonPatchOperation'
example:
- op: replace
path: /name
value: New name
- op: replace
path: /scope
value:
- sp:scopes:all
responses:
'200':
description: Indicates the PATCH operation succeeded, and returns the PAT's new representation.
content:
application/json:
schema:
$ref: '#/components/schemas/GetPersonalAccessTokenResponse'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
delete:
operationId: deletePersonalAccessToken
security:
- userAuth:
- sp:my-personal-access-tokens:manage
- sp:all-personal-access-tokens:manage
tags:
- Personal Access Tokens
summary: Delete personal access token
description: This deletes a personal access token.
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: listPersonalAccessTokens
description: The personal access token id
example: ef38f94347e94562b5bb8424a56397d8
responses:
'204':
description: No content.
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/public-identities:
get:
operationId: getPublicIdentities
tags:
- Public Identities
summary: Get list of public identities
description: Get a list of public identities. Set `add-core-filters` to `true` to exclude incomplete identities and uncorrelated accounts.
security:
- userAuth:
- sp:scopes:default
x-sailpoint-userLevels:
- USER
parameters:
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/count'
- in: query
name: filters
schema:
type: string
required: false
description: |-
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*
**alias**: *eq, sw*
**email**: *eq, sw*
**firstname**: *eq, sw*
**lastname**: *eq, sw*
example: firstname eq "John"
- in: query
name: add-core-filters
description: |-
If *true*, only get identities which satisfy ALL the following criteria in addition to any criteria specified by *filters*:
- Should be either correlated or protected.
- Should not be "spadmin" or "cloudadmin".
- uid should not be null.
- lastname should not be null.
- email should not be null.
required: false
example: false
schema:
type: boolean
default: false
- in: query
name: sorters
schema:
type: string
format: comma-separated
required: false
description: |-
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**
example: name
responses:
'200':
description: A list of public identity objects.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/PublicIdentity'
example:
- id: 2c9180857182305e0171993735622948
name: Alison Ferguso
alias: alison.ferguso
email: alison.ferguso@acme-solar.com
status: Active
manager:
type: IDENTITY
id: 2c9180a46faadee4016fb4e018c20639
name: Thomas Edison
attributes:
- key: phone
name: Phone
value: '5125551234'
- key: country
name: Country
value: US
- id: 2c9180a46faadee4016fb4e018c20639
name: Thomas Edison
alias: thomas.edison
email: thomas.edison@acme-solar.com
status: Active
manager:
type: IDENTITY
id: 2c918086676d3e0601677611dbde220f
name: Mister Manager
attributes:
- key: phone
name: Phone
value: '5125554321'
- key: country
name: Country
value: US
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/public-identities-config:
get:
operationId: getPublicIdentityConfig
tags:
- Public Identities Config
summary: Get the public identities configuration
description: Returns the publicly visible attributes of an identity available to request approvers for Access Requests and Certification Campaigns.
security:
- userAuth:
- idn:public-identity-config:read
- idn:public-identity-config:manage
x-sailpoint-userLevels:
- ORG_ADMIN
responses:
'200':
description: Request succeeded.
content:
application/json:
schema:
$ref: '#/components/schemas/PublicIdentityConfig'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
put:
operationId: updatePublicIdentityConfig
tags:
- Public Identities Config
summary: Update the public identities configuration
description: Updates the publicly visible attributes of an identity available to request approvers for Access Requests and Certification Campaigns.
security:
- userAuth:
- idn:public-identity-config:manage
x-sailpoint-userLevels:
- ORG_ADMIN
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PublicIdentityConfig'
responses:
'200':
description: Request succeeded.
content:
application/json:
schema:
$ref: '#/components/schemas/PublicIdentityConfig'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/requestable-objects:
get:
operationId: listRequestableObjects
tags:
- Requestable Objects
summary: Requestable objects list
security:
- userAuth:
- idn:requestable-objects:read
x-sailpoint-userLevels:
- ORG_ADMIN
description: |-
Get a list of acccess items that can be requested through the [Access Request endpoints](https://developer.sailpoint.com/docs/api/v3/access-requests). Access items are marked with `AVAILABLE`, `PENDING` or `ASSIGNED` with respect to the identity provided using `identity-id` query parameter.
This endpoint only lists roles and access profiles. For gathering requestable entitlements, the [Entitlements List API](https://developer.sailpoint.com/docs/api/v2025/list-entitlements) can be used with the segmented-for-identity parameter.
Any authenticated token can call this endpoint to see their requestable access items.
parameters:
- in: query
name: identity-id
required: false
schema:
type: string
example: e7eab60924f64aa284175b9fa3309599
description: |-
If present, the value returns only requestable objects for the specified identity.
* Admin users can call this with any identity ID value.
* Non-admin users can only specify *me* or pass their own identity ID value.
* If absent, returns a list of all requestable objects for the tenant. Only admin users can make such a call. In this case, the available, pending, assigned accesses will not be annotated in the result.
- in: query
name: types
description: Filters the results to the specified type/types, where each type is one of `ROLE` or `ACCESS_PROFILE`. If absent, all types are returned. SailPoint may add support for additional types in the future without notice.
required: false
schema:
type: array
items:
type: string
enum:
- ACCESS_PROFILE
- ROLE
description: Currently supported requestable object types.
example: ACCESS_PROFILE,ROLE
explode: false
- in: query
name: term
required: false
schema:
type: string
example: Finance Role
description: Allows searching requestable access items with a partial match on the name or description. If `term` is provided, then the API will ignore the `filter` query parameter.
- in: query
name: statuses
description: Filters the result to the specified status/statuses, where each status is one of `AVAILABLE`, `ASSIGNED`, or `PENDING`. Specifying this parameter without also specifying an `identity-id` parameter results in an error. SailPoint may add additional statuses in the future without notice.
required: false
schema:
type: array
items:
$ref: '#/components/schemas/RequestableObjectRequestStatus'
explode: false
example:
- ASSIGNED
- PENDING
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/count'
- in: query
name: filters
schema:
type: string
example: name sw "bob"
description: |
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, in, sw*
required: false
- in: query
name: sorters
schema:
type: string
format: comma-separated
required: false
example: name
description: |
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**
responses:
'200':
description: List of requestable objects
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/RequestableObject'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/roles:
get:
operationId: listRoles
tags:
- Roles
summary: List roles
description: This API returns a list of Roles.
parameters:
- in: query
name: for-subadmin
schema:
type: string
description: If provided, filters the returned list according to what is visible to the indicated ROLE_SUBADMIN Identity. The value of the parameter is either an Identity ID, or the special value **me**, which is shorthand for the calling Identity's ID. A 400 Bad Request error is returned if the **for-subadmin** parameter is specified for an Identity that is not a subadmin.
example: 5168015d32f890ca15812c9180835d2e
required: false
- $ref: '#/components/parameters/limit50'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/count'
- in: query
name: filters
schema:
type: string
description: |-
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*
**created**: *gt, ge, le*
**modified**: *lt, ge, le*
**owner.id**: *eq, in*
**requestable**: *eq*
**dimensional**: *eq*
example: requestable eq false
required: false
- in: query
name: sorters
schema:
type: string
format: comma-separated
description: |-
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, modified**
example: name,-modified
required: false
- in: query
name: for-segment-ids
schema:
type: string
format: comma-separated
description: |-
If present and not empty, additionally filters Roles to those which are assigned to the Segment(s) with the specified IDs.
If segmentation is currently unavailable, specifying this parameter results in an error.
example: 0b5c9f25-83c6-4762-9073-e38f7bb2ae26,2e8d8180-24bc-4d21-91c6-7affdb473b0d
required: false
- in: query
name: include-unsegmented
schema:
type: boolean
default: true
description: Whether or not the response list should contain unsegmented Roles. If *for-segment-ids* is absent or empty, specifying *include-unsegmented* as false results in an error.
example: false
required: false
responses:
'200':
description: List of Roles
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Role'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:role-unchecked:read
- idn:role-unchecked:manage
- idn:role-checked:manage
- idn:role-checked:read
- applicationAuth:
- idn:role-unchecked:read
- idn:role-unchecked:manage
- idn:role-checked:manage
- idn:role-checked:read
x-sailpoint-userLevels:
- ORG_ADMIN
- ROLE_ADMIN
- ROLE_SUBADMIN
post:
operationId: createRole
tags:
- Roles
summary: Create a role
description: |-
This API creates a role.
In addition, a ROLE_SUBADMIN may not create a role including an access profile if that access profile is associated with a source the ROLE_SUBADMIN is not associated with themselves.
The maximum supported length for the description field is 2000 characters. Longer descriptions will be preserved for existing roles. However, any new roles as well as any updates to existing descriptions will be limited to 2000 characters.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Role'
responses:
'201':
description: Role created
content:
application/json:
schema:
$ref: '#/components/schemas/Role'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:role-unchecked:manage
- idn:role-checked:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- ROLE_ADMIN
- ROLE_SUBADMIN
/roles/{id}:
get:
operationId: getRole
tags:
- Roles
summary: Get role
description: |-
Get a role by ID.
A user with ROLE_SUBADMIN authority may only call this API if all access profiles included in the role are associated to sources with management workgroups of the ROLE_SUBADMIN is a member of.
parameters:
- in: path
name: id
required: true
x-sailpoint-resource-operation-id: listRoles
schema:
type: string
description: Role ID.
example: 2c91808a7813090a017814121e121518
responses:
'200':
description: List of all roles
content:
application/json:
schema:
$ref: '#/components/schemas/Role'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:role-unchecked:read
- idn:role-unchecked:manage
- idn:role-checked:manage
- idn:role-checked:read
- applicationAuth:
- idn:role-unchecked:read
- idn:role-unchecked:manage
- idn:role-checked:manage
- idn:role-checked:read
x-sailpoint-userLevels:
- ORG_ADMIN
- ROLE_ADMIN
- ROLE_SUBADMIN
patch:
operationId: patchRole
tags:
- Roles
summary: Patch role
description: |-
Update an existing role, using the [JSON Patch](https://tools.ietf.org/html/rfc6902) syntax.
The following fields are patchable:
* name
* description
* enabled
* owner
* accessProfiles
* entitlements
* membership
* requestable
* accessRequestConfig
* revokeRequestConfig
* segments
* accessModelMetadata
A user with ROLE_SUBADMIN authority may only call this API if all access profiles included in the role are associated to sources with management workgroups of the ROLE_SUBADMIN is a member of.
The maximum supported length for the description field is 2000 characters. ISC preserves longer descriptions for existing roles. However, any new roles as well as any updates to existing descriptions are limited to 2000 characters.
When you use this API to modify a role's membership identities, you can only modify up to a limit of 500 membership identities at a time.
parameters:
- name: id
in: path
description: Role ID to patch
required: true
x-sailpoint-resource-operation-id: listRoles
schema:
type: string
example: 2c91808a7813090a017814121e121518
requestBody:
content:
application/json-patch+json:
schema:
type: array
items:
$ref: '#/components/schemas/JsonPatchOperation'
examples:
Make a Role Requestable and Enable it in One Call:
description: This example shows how multiple fields may be updated with a single patch call.
value:
- op: replace
path: /requestable
value: true
- op: replace
path: /enabled
value: true
Assign a Role to a Segment:
description: This example illustrates the use of patch to assign a role to a segment by adding the segment's ID to the role's segments array.
value:
- op: add
path: /segments/-
value: f7b1b8a3-5fed-4fd4-ad29-82014e137e19
Set the Membership Selection Criteria to a List of Identities:
description: This example shows how to define a role's membershp by providing a list of identities, referenced by their IDs.
value:
- op: replace
path: /membership
value:
type: IDENTITY_LIST
identities:
- id: 2c91808973fe906c0174262092014ed9
- id: 2c918086262092014ed94fb8a47612f3
Set the Membership Selection Criteria to a Standard Expression:
description: This example shows how to define a role's membership, using `STANDARD` criteria. In this case, ISC will grant the role to all identities that have the *Engineering* attribute from the indicated source.
value:
- op: replace
path: /membership
value:
type: STANDARD
criteria:
operation: OR
children:
- operation: EQUALS
key:
type: ENTITLEMENT
property: attribute.memberOf
sourceId: 2c9180887701fb2014213e122092014e
stringValue: Engineering
Add a New Clause as the Child of an Existing Standard Expression:
description: This example shows how to add a child clause to an existing `STANDARD` criteria expression.
value:
- op: add
path: /membership/criteria/children/-
value:
operation: ENDS_WITH
key:
type: IDENTITY
property: attribute.email
stringValue: '@identitynow.com'
Assign a Access Model Metadata to a Role:
description: This example shows how to assign existing metadata to a role.
value:
- op: add
path: /accessModelMetadata/attributes/0
value:
key: iscFederalClassifications
values:
- value: secret
Add an Access Profile to a Role:
description: This example shows how to add an access profile to a role.
value:
- op: add
path: /accessProfiles/-
value:
id: 1de104e1f9024b1289b3a31e22d28cd1
type: ACCESS_PROFILE
Add an Entitlement to a Role:
description: This example shows how to add an entitlement to a role.
value:
- op: add
path: /entitlements/-
value:
id: 0fb2f8051e48421b8f1f8a64aee3b205
type: ENTITLEMENT
required: true
responses:
'200':
description: Response with the updated role.
content:
application/json:
schema:
$ref: '#/components/schemas/Role'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:role-unchecked:manage
- idn:role-checked:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- ROLE_ADMIN
- ROLE_SUBADMIN
delete:
operationId: deleteRole
tags:
- Roles
summary: Delete role
description: |-
Delete a role by ID.
A user with ROLE_SUBADMIN authority may only call this API if all access profiles included in the role are associated to sources with management workgroups the ROLE_SUBADMIN is a member of.
parameters:
- in: path
name: id
required: true
x-sailpoint-resource-operation-id: listRoles
schema:
type: string
description: Role ID.
example: 2c91808a7813090a017814121e121518
responses:
'204':
$ref: '#/components/responses/204'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:role-unchecked:manage
- idn:role-checked:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- ROLE_ADMIN
- ROLE_SUBADMIN
/roles/bulk-delete:
post:
operationId: deleteBulkRoles
summary: Delete role(s)
tags:
- Roles
description: |-
This endpoint initiates a bulk deletion of one or more roles.
When the request is successful, the endpoint returns the bulk delete's task result ID. To follow the task, you can use [Get Task Status by ID](https://developer.sailpoint.com/docs/api/beta/get-task-status), which will return the task result's status and information.
This endpoint can only bulk delete up to a limit of 50 roles per request.
A user with ROLE_SUBADMIN authority can only call this endpoint if all roles included in the request are associated with sources with management workgroups the ROLE_SUBADMIN is a member of.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RoleBulkDeleteRequest'
example:
roleIds:
- 2c91808876438bb2017668b91919ecca
- 2c91808876438ba801766e129f151816
responses:
'202':
description: Returns an object with the id of the task performing the delete operation.
content:
application/json:
schema:
$ref: '#/components/schemas/TaskResultDto'
example:
type: TASK_RESULT
id: 464ae7bf791e49fdb74606a2e4a89635
name: null
'400':
description: Client Error - Returned if the request body is invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseDto'
examples:
400.1 Bad Request Content:
description: Response for bad request content
value:
detailCode: 400.1 Bad Request Content
trackingId: 1ea1adcb84da4dcb890145e05745774e
messages:
- locale: en-US
localeOrigin: DEFAULT
text: The request was syntactically correct but its content is semantically invalid.
400.1 Role ids limit violation:
description: Role ids limit violation response
value:
detailCode: 400.1 Bad Request Content
trackingId: 77aa89ac6f0e422dbc588866abc22be9
messages:
- locale: en-US
localeOrigin: DEFAULT
text: roleIds count exceeded max limit of 50 for bulk-delete.
400.1.404 Referenced object not found:
description: Referenced object not found response
value:
detailCode: 400.1.404 Referenced object not found
trackingId: 77aa89ac6f0e422dbc588866abc22be9
messages:
- locale: en-US
localeOrigin: DEFAULT
text: Referenced roleIds ["2c91808876438bb2017668b91919ecca"] was not found.
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:role-unchecked:manage
- idn:role-checked:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- ROLE_ADMIN
- ROLE_SUBADMIN
/roles/{id}/assigned-identities:
get:
operationId: getRoleAssignedIdentities
tags:
- Roles
summary: List identities assigned a role
parameters:
- in: path
name: id
schema:
type: string
description: ID of the Role for which the assigned Identities are to be listed
example: 2c91808a7813090a017814121e121518
required: true
x-sailpoint-resource-operation-id: listRoles
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/count'
- in: query
name: filters
schema:
type: string
description: |-
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*
**aliasName**: *eq, sw*
**email**: *eq, sw*
**name**: *eq, sw, co*
example: name sw Joe
- in: query
name: sorters
schema:
type: string
format: comma-separated
description: |-
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: **id, name, aliasName, email**
example: aliasName,name
responses:
'200':
description: List of Identities assigned the Role
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/RoleIdentity'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:role-unchecked:read
- idn:role-unchecked:manage
- idn:role-checked:manage
- idn:role-checked:read
- applicationAuth:
- idn:role-unchecked:read
- idn:role-unchecked:manage
- idn:role-checked:manage
- idn:role-checked:read
/saved-searches:
post:
security:
- userAuth:
- sp:saved-search:manage
tags:
- Saved Search
description: |
Creates a new saved search.
summary: Create a saved search
operationId: createSavedSearch
requestBody:
description: The saved search to persist.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/SavedSearchName'
- $ref: '#/components/schemas/SavedSearchDetail'
required: true
responses:
'201':
description: The persisted saved search.
content:
application/json:
schema:
$ref: '#/components/schemas/SavedSearch'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
get:
security:
- userAuth:
- sp:saved-search:read
tags:
- Saved Search
description: |
Returns a list of saved searches.
summary: A list of saved searches
operationId: listSavedSearches
parameters:
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/count'
- name: filters
in: query
schema:
type: string
description: |-
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:
**owner.id**: *eq*
example: owner.id eq "7a724640-0c17-4ce9-a8c3-4a89738459c8"
responses:
'200':
description: The list of requested saved searches.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/SavedSearch'
headers:
X-Total-Count:
description: The total result count (returned only if the *count* parameter is specified as *true*).
schema:
type: integer
example: 5
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/saved-searches/{id}:
put:
tags:
- Saved Search
description: |
Updates an existing saved search.
>**NOTE: You cannot update the `owner` of the saved search.**
summary: |
Updates an existing saved search
operationId: putSavedSearch
parameters:
- in: path
name: id
description: ID of the requested document.
schema:
type: string
required: true
example: 2c91808568c529c60168cca6f90c1313
x-sailpoint-resource-operation-id: listSavedSearches
requestBody:
description: The saved search to persist.
content:
application/json:
schema:
$ref: '#/components/schemas/SavedSearch'
required: true
responses:
'200':
description: The persisted saved search.
content:
application/json:
schema:
$ref: '#/components/schemas/SavedSearch'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- sp:saved-search:manage
get:
tags:
- Saved Search
description: |
Returns the specified saved search.
summary: Return saved search by id
operationId: getSavedSearch
parameters:
- in: path
name: id
description: ID of the requested document.
schema:
type: string
required: true
example: 2c91808568c529c60168cca6f90c1313
x-sailpoint-resource-operation-id: listSavedSearches
responses:
'200':
description: The requested saved search.
content:
application/json:
schema:
$ref: '#/components/schemas/SavedSearch'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- sp:saved-search:read
delete:
tags:
- Saved Search
description: |
Deletes the specified saved search.
summary: Delete document by id
operationId: deleteSavedSearch
parameters:
- in: path
name: id
description: ID of the requested document.
schema:
type: string
required: true
example: 2c91808568c529c60168cca6f90c1313
x-sailpoint-resource-operation-id: listSavedSearches
responses:
'204':
description: No Content - Indicates the request was successful but there is no content to be returned in the response.
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- sp:saved-search:manage
/saved-searches/{id}/execute:
post:
tags:
- Saved Search
description: |
Executes the specified saved search.
summary: Execute a saved search by id
operationId: executeSavedSearch
parameters:
- $ref: '#/components/parameters/id'
requestBody:
description: |
When saved search execution is triggered by a scheduled search, *scheduleId* will specify the ID of the triggering scheduled search.
If *scheduleId* is not specified (when execution is triggered by a UI test), the *owner* and *recipients* arguments must be provided.
content:
application/json:
schema:
$ref: '#/components/schemas/SearchArguments'
examples:
scheduled:
$ref: '#/components/examples/execute-scheduled'
test:
$ref: '#/components/examples/execute-test'
required: true
responses:
'202':
description: Accepted - Returned if the request was successfully accepted into the system.
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- sp:saved-search:manage
/scheduled-searches:
post:
tags:
- Scheduled Search
description: |
Creates a new scheduled search.
summary: Create a new scheduled search
operationId: createScheduledSearch
requestBody:
description: The scheduled search to persist.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ScheduledSearchName'
- $ref: '#/components/schemas/SearchSchedule'
examples:
Daily Search:
description: A search that executes each day at a 9 AM
value:
savedSearchId: 9c620e13-cd33-4804-a13d-403bd7bcdbad
schedule:
type: DAILY
hours:
type: LIST
values:
- '9'
recipients:
- type: IDENTITY
id: 2c9180867624cbd7017642d8c8c81f67
Weekly Search:
description: A search that executes each week on select days and times
value:
savedSearchId: 9c620e13-cd33-4804-a13d-403bd7bcdbad
schedule:
type: WEEKLY
days:
type: LIST
values:
- MON
- TUE
- WED
- THU
- FRI
- SAT
- SUN
hours:
type: LIST
values:
- '9'
recipients:
- type: IDENTITY
id: 2c9180867624cbd7017642d8c8c81f67
Monthly Search:
description: A search that executes each month on select days and times
value:
savedSearchId: 9c620e13-cd33-4804-a13d-403bd7bcdbad
schedule:
type: MONTHLY
days:
type: LIST
values:
- '1'
- '7'
- '14'
- L
hours:
type: LIST
values:
- '9'
recipients:
- type: IDENTITY
id: 2c9180867624cbd7017642d8c8c81f67
Annual Search:
description: A search that executes each year on the defined months, days, and times.
value:
savedSearchId: 9c620e13-cd33-4804-a13d-403bd7bcdbad
schedule:
type: ANNUALLY
months:
type: LIST
values:
- '1'
interval: 3
days:
type: LIST
values:
- '1'
- '7'
- '14'
- L
hours:
type: LIST
values:
- '9'
recipients:
- type: IDENTITY
id: 2c9180867624cbd7017642d8c8c81f67
Calendar Search:
description: A search that executes on specific calendar days
value:
savedSearchId: 9c620e13-cd33-4804-a13d-403bd7bcdbad
schedule:
type: CALENDAR
days:
type: LIST
values:
- '2023-01-22'
- '2023-02-22'
hours:
type: LIST
values:
- '9'
recipients:
- type: IDENTITY
id: 2c9180867624cbd7017642d8c8c81f67
required: true
responses:
'201':
description: The persisted scheduled search.
content:
application/json:
schema:
$ref: '#/components/schemas/ScheduledSearch'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- sp:scheduled-search:manage
get:
tags:
- Scheduled Search
description: |
Returns a list of scheduled searches.
summary: List scheduled searches
operationId: listScheduledSearch
parameters:
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/count'
- name: filters
in: query
schema:
type: string
description: |-
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:
**owner.id**: *eq*
**savedSearchId**: *eq*
example: savedSearchId eq "6cc0945d-9eeb-4948-9033-72d066e1153e"
responses:
'200':
description: The list of requested scheduled searches.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ScheduledSearch'
headers:
X-Total-Count:
description: The total result count (returned only if the *count* parameter is specified as *true*).
schema:
type: integer
example: 5
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- sp:scheduled-search:manage
/scheduled-searches/{id}:
put:
tags:
- Scheduled Search
description: |
Updates an existing scheduled search.
summary: Update an existing scheduled search
operationId: updateScheduledSearch
parameters:
- in: path
name: id
description: ID of the requested document.
schema:
type: string
required: true
example: 2c91808568c529c60168cca6f90c1313
x-sailpoint-resource-operation-id: listScheduledSearch
requestBody:
description: The scheduled search to persist.
content:
application/json:
schema:
$ref: '#/components/schemas/ScheduledSearch'
required: true
responses:
'200':
description: The persisted scheduled search.
content:
application/json:
schema:
$ref: '#/components/schemas/ScheduledSearch'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- sp:scheduled-search:manage
get:
tags:
- Scheduled Search
description: Returns the specified scheduled search.
summary: Get a scheduled search
operationId: getScheduledSearch
parameters:
- in: path
name: id
description: ID of the requested document.
schema:
type: string
required: true
example: 2c91808568c529c60168cca6f90c1313
x-sailpoint-resource-operation-id: listScheduledSearch
responses:
'200':
description: The requested scheduled search.
content:
application/json:
schema:
$ref: '#/components/schemas/ScheduledSearch'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security: []
delete:
tags:
- Scheduled Search
description: |
Deletes the specified scheduled search.
operationId: deleteScheduledSearch
summary: Delete a scheduled search
parameters:
- in: path
name: id
description: ID of the requested document.
schema:
type: string
required: true
example: 2c91808568c529c60168cca6f90c1313
x-sailpoint-resource-operation-id: listScheduledSearch
responses:
'204':
description: No Content - Indicates the request was successful but there is no content to be returned in the response.
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- sp:scheduled-search:manage
/scheduled-searches/{id}/unsubscribe:
post:
tags:
- Scheduled Search
description: |
Unsubscribes a recipient from the specified scheduled search.
operationId: unsubscribeScheduledSearch
summary: Unsubscribe a recipient from scheduled search
parameters:
- $ref: '#/components/parameters/id'
requestBody:
description: |
The recipient to be removed from the scheduled search.
content:
application/json:
schema:
$ref: '#/components/schemas/TypedReference'
required: true
responses:
'204':
description: No Content - Indicates the request was successful but there is no content to be returned in the response.
'400':
$ref: '#/components/responses/400'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
/search:
post:
tags:
- Search
description: Perform a search with the provided query and return a matching result collection. To page past 10,000 records, you can use `searchAfter` paging. Refer to [Paginating Search Queries](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-search-queries) for more information about how to implement `searchAfter` paging. The search query itself has a size limitation of approximately 800 objects when filtering by large lists of IDs or values (e.g., using `terms` filters with extensive lists).
externalDocs:
description: Learn more about search.
url: https://documentation.sailpoint.com/saas/help/search/index.html
operationId: searchPost
security:
- userAuth:
- sp:search:read
- applicationAuth:
- sp:search:read
x-sailpoint-userLevels:
- ORG_ADMIN
- CERT_ADMIN
- REPORT_ADMIN
- SOURCE_ADMIN
- SOURCE_SUBADMIN
- ROLE_ADMIN
- ROLE_SUBADMIN
- HELPDESK
summary: Perform search
parameters:
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/searchlimit'
- $ref: '#/components/parameters/count'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Search'
examples:
accessProfiles:
$ref: '#/components/examples/query-accessprofiles'
accountActivities:
$ref: '#/components/examples/query-accountactivities'
entitlements:
$ref: '#/components/examples/query-entitlements'
events:
$ref: '#/components/examples/query-events'
identities:
$ref: '#/components/examples/query-identities'
roles:
$ref: '#/components/examples/query-roles'
query-fields:
$ref: '#/components/examples/query-fields'
query-timeZone:
$ref: '#/components/examples/query-timeZone'
query-innerHit:
$ref: '#/components/examples/query-innerHit'
typeAheadQuery:
$ref: '#/components/examples/typeAheadQuery'
typeAheadQuery-nestedType:
$ref: '#/components/examples/typeAheadQuery-nestedType'
filter-exists:
$ref: '#/components/examples/filter-exists'
filter-range:
$ref: '#/components/examples/filter-range'
filter-terms:
$ref: '#/components/examples/filter-terms'
required: true
responses:
'200':
description: List of matching documents.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/SearchDocuments'
examples:
accessProfiles:
$ref: '#/components/examples/accessProfiles'
accountActivities:
$ref: '#/components/examples/accountActivities'
entitlements:
$ref: '#/components/examples/entitlements'
events:
$ref: '#/components/examples/events'
identities:
$ref: '#/components/examples/identities'
roles:
$ref: '#/components/examples/roles'
query-fields:
$ref: '#/components/examples/queryFields'
query-timeZone:
$ref: '#/components/examples/queryTimeZone'
query-innerHit:
$ref: '#/components/examples/queryInnerHit'
typeAheadQuery:
$ref: '#/components/examples/typeAheadQuery-2'
typeAheadQuery-nestedType:
$ref: '#/components/examples/typeAheadQueryNestedType'
filter-exists:
$ref: '#/components/examples/filterExists'
filter-range:
$ref: '#/components/examples/filterRange'
filter-terms:
$ref: '#/components/examples/filterTerms'
headers:
X-Total-Count:
schema:
type: integer
description: The total result count (returned only if the *count* parameter is specified as *true*).
example: 30
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/search/count:
post:
tags:
- Search
description: Performs a search with a provided query and returns the count of results in the X-Total-Count header.
operationId: searchCount
security:
- userAuth:
- sp:search:read
- applicationAuth:
- sp:search:read
summary: Count documents satisfying a query
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Search'
examples:
query-timeZone:
$ref: '#/components/examples/query-timeZone'
required: true
responses:
'204':
description: No content - indicates the request was successful but there is no content to be returned in the response.
headers:
X-Total-Count:
description: The total result count.
schema:
type: integer
example: 5
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/search/aggregate:
post:
tags:
- Search
description: 'Performs a search query aggregation and returns the aggregation result. By default, you can page a maximum of 10,000 search result records. To page past 10,000 records, you can use searchAfter paging. Refer to [Paginating Search Queries](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-search-queries) for more information about how to implement searchAfter paging. '
operationId: searchAggregate
security:
- userAuth:
- sp:search:read
- applicationAuth:
- sp:search:read
summary: Perform a search query aggregation
parameters:
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/count'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Search'
examples:
metricAggregation:
$ref: '#/components/examples/metricAggregation'
metricAggregation-dsl:
$ref: '#/components/examples/metricAggregation-dsl'
bucketAggregation:
$ref: '#/components/examples/bucketAggregation'
bucketAggregation-dsl:
$ref: '#/components/examples/bucketAggregation-dsl'
nestedAggregation-bucketAggregation:
$ref: '#/components/examples/nestedAggregation-bucketAggregation'
nestedAggregation-bucketAggregation-dsl:
$ref: '#/components/examples/nestedAggregation-bucketAggregation-dsl'
nestedAggregation-filterAggregation-bucketAggregation:
$ref: '#/components/examples/nestedAggregation-filterAggregation-bucketAggregation'
nestedAggregation-filterAggregation-bucketAggregation-dsl:
$ref: '#/components/examples/nestedAggregation-filterAggregation-bucketAggregation-dsl'
bucketAggregation-subAggregation:
$ref: '#/components/examples/bucketAggregation-subAggregation'
bucketAggregation-subAggregation-dsl:
$ref: '#/components/examples/bucketAggregation-subAggregation-dsl'
required: true
responses:
'200':
description: Aggregation results.
content:
application/json:
schema:
$ref: '#/components/schemas/AggregationResult'
text/csv:
schema:
$ref: '#/components/schemas/AggregationResult-csv'
headers:
X-Total-Count:
description: The total result count (returned only if the *count* parameter is specified as *true*).
schema:
type: integer
example: 5
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/search/{index}/{id}:
get:
tags:
- Search
description: Fetches a single document from the specified index, using the specified document ID.
operationId: searchGet
security:
- userAuth:
- sp:search:read
- applicationAuth:
- sp:search:read
x-sailpoint-userLevels:
- ORG_ADMIN
- CERT_ADMIN
- REPORT_ADMIN
- SOURCE_ADMIN
- SOURCE_SUBADMIN
- ROLE_ADMIN
- ROLE_SUBADMIN
- HELPDESK
summary: Get a document by id
parameters:
- $ref: '#/components/parameters/index'
- $ref: '#/components/parameters/id'
responses:
'200':
description: The requested document.
content:
application/json:
schema:
$ref: '#/components/schemas/SearchDocument'
examples:
accessProfile:
$ref: '#/components/examples/accessProfile'
accountActivity:
$ref: '#/components/examples/accountActivity'
entitlement:
$ref: '#/components/examples/entitlement'
event:
$ref: '#/components/examples/event'
identity:
$ref: '#/components/examples/identity'
role:
$ref: '#/components/examples/role'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/segments:
post:
operationId: createSegment
security:
- userAuth:
- idn:segment:manage
- applicationAuth:
- idn:segment:manage
x-sailpoint-userLevels:
- ORG_ADMIN
tags:
- Segments
summary: Create segment
description: |-
This API creates a segment.
>**Note:** Segment definitions may take time to propagate to all identities.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Segment'
responses:
'201':
description: Segment created
content:
application/json:
schema:
$ref: '#/components/schemas/Segment'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
get:
operationId: listSegments
security:
- userAuth:
- idn:segment:read
- idn:segment:manage
- applicationAuth:
- idn:segment:read
- idn:segment:manage
x-sailpoint-userLevels:
- ORG_ADMIN
tags:
- Segments
summary: List segments
description: 'This API returns a list of all segments. '
parameters:
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/count'
responses:
'200':
description: List of all segments
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Segment'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/segments/{id}:
get:
operationId: getSegment
security:
- userAuth:
- idn:segment:read
- idn:segment:manage
- applicationAuth:
- idn:segment:read
- idn:segment:manage
x-sailpoint-userLevels:
- ORG_ADMIN
tags:
- Segments
summary: Get segment by id
description: This API returns the segment specified by the given ID.
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: listSegments
description: The segment ID to retrieve.
example: ef38f94347e94562b5bb8424a56397d8
responses:
'200':
description: Segment
content:
application/json:
schema:
$ref: '#/components/schemas/Segment'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
delete:
operationId: deleteSegment
security:
- userAuth:
- idn:segment:manage
- applicationAuth:
- idn:segment:manage
x-sailpoint-userLevels:
- ORG_ADMIN
tags:
- Segments
summary: Delete segment by id
description: |-
This API deletes the segment specified by the given ID.
>**Note:** that segment deletion may take some time to become effective.
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: listSegments
description: The segment ID to delete.
example: ef38f94347e94562b5bb8424a56397d8
responses:
'204':
description: No content.
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
patch:
operationId: patchSegment
security:
- userAuth:
- idn:segment:manage
- applicationAuth:
- idn:segment:manage
x-sailpoint-userLevels:
- ORG_ADMIN
tags:
- Segments
summary: Update segment
description: |-
Use this API to update segment fields by using the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard.
>**Note:** Changes to a segment may take some time to propagate to all identities.
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: listSegments
description: The segment ID to modify.
example: ef38f94347e94562b5bb8424a56397d8
requestBody:
required: true
description: |
A list of segment update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard.
The following fields are patchable:
* name
* description
* owner
* visibilityCriteria
* active
content:
application/json-patch+json:
schema:
type: array
items:
type: object
examples:
Set Visibility Criteria:
description: Set the visibility criteria
value:
- op: replace
path: /visibilityCriteria
value:
expression:
operator: AND
children:
- operator: EQUALS
attribute: location
value:
type: STRING
value: Philadelphia
- operator: EQUALS
attribute: department
value:
type: STRING
value: HR
responses:
'200':
description: Indicates the PATCH operation succeeded, and returns the segment's new representation.
content:
application/json:
schema:
$ref: '#/components/schemas/Segment'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/service-desk-integrations:
get:
tags:
- Service Desk Integration
summary: List existing service desk integrations
description: Get a list of Service Desk integration objects.
operationId: getServiceDeskIntegrations
parameters:
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/limit'
- name: sorters
in: query
required: false
style: form
explode: true
schema:
type: string
description: |-
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**
example: name
- name: filters
in: query
required: false
style: form
explode: true
schema:
type: string
format: comma-separated
description: |-
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*
**type**: *eq, in*
**cluster**: *eq, in*
example: name eq "John Doe"
- $ref: '#/components/parameters/count'
responses:
'200':
description: List of ServiceDeskIntegrationDto
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ServiceDeskIntegrationDto'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:service-desk-integration:read
- idn:service-desk-integration:manage
x-sailpoint-userLevels:
- ORG_ADMIN
post:
tags:
- Service Desk Integration
summary: Create new service desk integration
description: Create a new Service Desk integration.
operationId: createServiceDeskIntegration
requestBody:
description: The specifics of a new integration to create
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceDeskIntegrationDto'
required: true
responses:
'200':
description: Details of the created integration
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceDeskIntegrationDto'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:service-desk-integration:manage
x-sailpoint-userLevels:
- ORG_ADMIN
/service-desk-integrations/{id}:
get:
tags:
- Service Desk Integration
summary: Get a service desk integration
description: Get an existing Service Desk integration by ID.
operationId: getServiceDeskIntegration
parameters:
- name: id
in: path
description: ID of the Service Desk integration to get
required: true
x-sailpoint-resource-operation-id: getServiceDeskIntegrations
style: simple
explode: false
schema:
type: string
example: anId
responses:
'200':
description: ServiceDeskIntegrationDto with the given ID
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceDeskIntegrationDto'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:service-desk-integration:read
- idn:service-desk-integration:manage
x-sailpoint-userLevels:
- ORG_ADMIN
put:
tags:
- Service Desk Integration
summary: Update a service desk integration
description: Update an existing Service Desk integration by ID.
operationId: putServiceDeskIntegration
parameters:
- name: id
in: path
description: ID of the Service Desk integration to update
required: true
x-sailpoint-resource-operation-id: getServiceDeskIntegrations
style: simple
explode: false
schema:
type: string
example: anId
requestBody:
description: The specifics of the integration to update
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceDeskIntegrationDto'
required: true
responses:
'200':
description: ServiceDeskIntegrationDto as updated
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceDeskIntegrationDto'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:service-desk-integration:manage
x-sailpoint-userLevels:
- ORG_ADMIN
delete:
tags:
- Service Desk Integration
summary: Delete a service desk integration
description: Delete an existing Service Desk integration by ID.
operationId: deleteServiceDeskIntegration
parameters:
- name: id
in: path
description: ID of Service Desk integration to delete
required: true
x-sailpoint-resource-operation-id: getServiceDeskIntegrations
style: simple
explode: false
schema:
type: string
example: anId
responses:
'204':
description: Service Desk integration with the given ID successfully deleted
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:service-desk-integration:manage
x-sailpoint-userLevels:
- ORG_ADMIN
patch:
operationId: patchServiceDeskIntegration
tags:
- Service Desk Integration
summary: Patch a service desk integration
description: Update an existing Service Desk integration by ID with a PATCH request.
parameters:
- name: id
in: path
description: ID of the Service Desk integration to update
required: true
x-sailpoint-resource-operation-id: getServiceDeskIntegrations
style: simple
explode: false
schema:
type: string
example: anId
requestBody:
required: true
description: |
A list of SDIM update operations according to the [JSON Patch](https://tools.ietf.org/html/rfc6902) standard.
Only `replace` operations are accepted by this endpoint.
A 403 Forbidden Error indicates that a PATCH operation was attempted that is not allowed.
content:
application/json-patch+json:
schema:
type: array
items:
$ref: '#/components/schemas/JsonPatchOperation'
example:
- op: replace
path: /ownerRef
value:
id: 2c9180867d05b227017d09921a205b4d
type: IDENTITY
name: Angelo Medici
responses:
'200':
description: ServiceDeskIntegrationDto as updated
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceDeskIntegrationDto'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:service-desk-integration:manage
x-sailpoint-userLevels:
- ORG_ADMIN
/service-desk-integrations/types:
get:
tags:
- Service Desk Integration
summary: List service desk integration types
description: This API endpoint returns the current list of supported Service Desk integration types.
operationId: getServiceDeskIntegrationTypes
responses:
'200':
description: Responds with an array of the currently supported Service Desk integration types.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ServiceDeskIntegrationTemplateType'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:service-desk-integration:read
- idn:service-desk-integration:manage
x-sailpoint-userLevels:
- ORG_ADMIN
/service-desk-integrations/templates/{scriptName}:
get:
tags:
- Service Desk Integration
summary: Service desk integration template by scriptname
description: This API endpoint returns an existing Service Desk integration template by scriptName.
operationId: getServiceDeskIntegrationTemplate
parameters:
- name: scriptName
in: path
description: The scriptName value of the Service Desk integration template to get
required: true
x-sailpoint-resource-operation-id: getServiceDeskIntegrations
style: simple
explode: false
schema:
type: string
example: aScriptName
responses:
'200':
description: Responds with the ServiceDeskIntegrationTemplateDto with the specified scriptName.
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceDeskIntegrationTemplateDto'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:service-desk-integration:read
- idn:service-desk-integration:manage
x-sailpoint-userLevels:
- ORG_ADMIN
/service-desk-integrations/status-check-configuration:
get:
tags:
- Service Desk Integration
summary: Get the time check configuration
description: Get the time check configuration of queued SDIM tickets.
operationId: getStatusCheckDetails
responses:
'200':
description: QueuedCheckConfigDetails containing the configured values
content:
application/json:
schema:
$ref: '#/components/schemas/QueuedCheckConfigDetails'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:service-desk-integration:read
- idn:service-desk-integration:manage
x-sailpoint-userLevels:
- ORG_ADMIN
put:
tags:
- Service Desk Integration
summary: Update the time check configuration
description: Update the time check configuration of queued SDIM tickets.
operationId: updateStatusCheckDetails
requestBody:
description: The modified time check configuration
content:
application/json:
schema:
$ref: '#/components/schemas/QueuedCheckConfigDetails'
required: true
responses:
'200':
description: QueuedCheckConfigDetails as updated
content:
application/json:
schema:
$ref: '#/components/schemas/QueuedCheckConfigDetails'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
security:
- userAuth:
- idn:service-desk-integration:manage
x-sailpoint-userLevels:
- ORG_ADMIN
/query-password-info:
post:
operationId: queryPasswordInfo
tags:
- Password Management
summary: Query password info
security:
- userAuth:
- idn:password-info:read
- applicationAuth:
- idn:password-info:read
description: |
This API is used to query password related information.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PasswordInfoQueryDTO'
responses:
'200':
description: Reference to the password info.
content:
application/json:
schema:
$ref: '#/components/schemas/PasswordInfo'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/set-password:
post:
operationId: setPassword
tags:
- Password Management
summary: Set identity's password
security:
- userAuth:
- idn:password-change:manage
- applicationAuth:
- idn:password-change:manage
description: |
This API is used to set a password for an identity.
An identity can change their own password (as well as any of their accounts' passwords) if they use a token generated by their ISC user, such as a [personal access token](https://developer.sailpoint.com/idn/api/authentication#personal-access-tokens) or ["authorization_code" derived OAuth token](https://developer.sailpoint.com/idn/api/authentication#authorization-code-grant-flow).
>**Note: If you want to set an identity's source account password, you must enable `PASSWORD` as one of the source's features. You can use the [PATCH Source endpoint](https://developer.sailpoint.com/docs/api/v3/update-source) to add the `PASSWORD` feature.**
To generate the encryptedPassword (RSA encrypted using publicKey) for the request body, run the following command:
```bash
echo -n "myPassword" | openssl pkeyutl -encrypt -inkey public_key.pem -pubin | base64
```
In this example, myPassword is the plain text password being set and encrypted, and public_key.pem is the path to the public key file. You can retrieve the required publicKey, along with other information like identityId, sourceId, publicKeyId, accounts, and policies, using the Query Password Info endpoint.
To successfully run this command, you must have OpenSSL installed on your machine. If OpenSSL is unavailable, consider using the Virtual Appliance (VA), which has OpenSSL pre-installed and configured.
If you are using a Windows machine, refer to this [guide](https://tecadmin.net/install-openssl-on-windows/) for instructions on installing OpenSSL.
You can then use [Get Password Change Request Status](https://developer.sailpoint.com/idn/api/v3/get-password-change-status) to check the password change request status. To do so, you must provide the `requestId` from your earlier request to set the password.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PasswordChangeRequest'
responses:
'202':
description: Reference to the password change.
content:
application/json:
schema:
$ref: '#/components/schemas/PasswordChangeResponse'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/password-change-status/{id}:
get:
operationId: getPasswordChangeStatus
tags:
- Password Management
summary: Get password change request status
security:
- userAuth:
- idn:password-change:read
- applicationAuth:
- idn:password-change:read
x-sailpoint-userLevels:
- ORG_ADMIN
description: This API returns the status of a password change request.
parameters:
- in: path
name: id
schema:
type: string
required: true
x-sailpoint-resource-operation-id: setPassword
example: 089899f13a8f4da7824996191587bab9
description: Password change request ID
responses:
'200':
description: Status of the password change request
content:
application/json:
schema:
$ref: '#/components/schemas/PasswordStatus'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/password-dictionary:
get:
operationId: getPasswordDictionary
tags:
- Password Dictionary
summary: Get password dictionary
description: |-
This gets password dictionary for the organization.
The password dictionary file can contain lines that are:
1. comment lines - the first character is '#', can be 128 Unicode codepoints in length, and are ignored during processing
2. empty lines
3. locale line - the first line that starts with "locale=" is considered to be locale line, the rest are treated as normal content lines
4. line containing the password dictionary word - it must start with non-whitespace character and only non-whitespace characters are allowed;
maximum length of the line is 128 Unicode codepoints
Password dictionary file may not contain more than 2,500 lines (not counting whitespace lines, comment lines and locale line).
Password dict file must contain UTF-8 characters only.
# Sample password text file
```
# Password dictionary small test file
locale=en_US
# Password dictionary prohibited words
qwerty
abcd
aaaaa
password
qazxsws
```
security:
- userAuth:
- idn:password-dictionary:read
- idn:password-dictionary:manage
x-sailpoint-userLevels:
- ORG_ADMIN
responses:
'200':
description: A password dictionary response
content:
text/plain:
schema:
type: string
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
put:
operationId: putPasswordDictionary
tags:
- Password Dictionary
summary: Update password dictionary
description: |-
This updates password dictionary for the organization.
The password dictionary file can contain lines that are:
1. comment lines - the first character is '#', can be 128 Unicode codepoints in length, and are ignored during processing
2. empty lines
3. locale line - the first line that starts with "locale=" is considered to be locale line, the rest are treated as normal content lines
4. line containing the password dictionary word - it must start with non-whitespace character and only non-whitespace characters are allowed;
maximum length of the line is 128 Unicode codepoints
Password dictionary file may not contain more than 2,500 lines (not counting whitespace lines, comment lines and locale line).
Password dict file must contain UTF-8 characters only.
# Sample password text file
```
# Password dictionary small test file
locale=en_US
# Password dictionary prohibited words
qwerty
abcd
aaaaa
password
qazxsws
```
security:
- userAuth:
- idn:password-dictionary:manage
x-sailpoint-userLevels:
- ORG_ADMIN
requestBody:
required: true
description: The password dictionary file to be uploaded.
content:
multipart/form-data:
schema:
type: object
properties:
file:
type: string
format: binary
responses:
'200':
description: Successfully updated.
'201':
description: Created.
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/password-org-config:
get:
operationId: getPasswordOrgConfig
tags:
- Password Configuration
summary: Get password org config
description: This API returns the password org config . Requires ORG_ADMIN, API role or authorization scope of 'idn:password-org-config:read'
security:
- userAuth:
- idn:password-org-config:read
- applicationAuth:
- idn:password-org-config:read
responses:
'200':
description: Reference to the password org config.
content:
application/json:
schema:
$ref: '#/components/schemas/PasswordOrgConfig'
example:
customInstructionsEnabled: true
digitTokenDurationMinutes: 9
digitTokenEnabled: false
digitTokenLength: 6
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
put:
operationId: putPasswordOrgConfig
tags:
- Password Configuration
summary: Update password org config
description: |-
This API updates the password org config for specified fields. Other fields will keep original value.
You must set the `customInstructionsEnabled` field to "true" to be able to use custom password instructions.
Requires ORG_ADMIN, API role or authorization scope of 'idn:password-org-config:write'
security:
- userAuth:
- idn:password-org-config:manage
- applicationAuth:
- idn:password-org-config:manage
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PasswordOrgConfig'
example:
digitTokenEnabled: true
digitTokenDurationMinutes: 12
responses:
'200':
description: Reference to the password org config.
content:
application/json:
schema:
$ref: '#/components/schemas/PasswordOrgConfig'
example:
customInstructionsEnabled: true
digitTokenDurationMinutes: 12
digitTokenEnabled: true
digitTokenLength: 6
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
post:
operationId: createPasswordOrgConfig
tags:
- Password Configuration
summary: Create password org config
description: |-
This API creates the password org config. Unspecified fields will use default value.
To be able to use the custom password instructions, you must set the `customInstructionsEnabled` field to "true".
Requires ORG_ADMIN, API role or authorization scope of 'idn:password-org-config:write'
security:
- userAuth:
- idn:password-org-config:manage
- applicationAuth:
- idn:password-org-config:manage
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PasswordOrgConfig'
example:
customInstructionsEnabled: true
digitTokenEnabled: true
digitTokenDurationMinutes: 12
digitTokenLength: 9
responses:
'200':
description: Reference to the password org config.
content:
application/json:
schema:
$ref: '#/components/schemas/PasswordOrgConfig'
example:
customInstructionsEnabled: true
digitTokenDurationMinutes: 9
digitTokenEnabled: true
digitTokenLength: 12
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/reports/{taskResultId}/result:
get:
tags:
- Reports Data Extraction
description: Get the report results for a report that was run or is running. Returns empty report result in case there are no active task definitions with used in payload task definition name.
operationId: getReportResult
summary: Get report result
security:
- userAuth:
- sp:report:read
- sp:report:manage
- applicationAuth:
- sp:report:read
- sp:report:manage
parameters:
- in: path
name: taskResultId
schema:
type: string
required: true
x-sailpoint-resource-operation-id: startReport
description: Unique identifier of the task result which handled report
example: ef38f94347e94562b5bb8424a56397d8
- in: query
name: completed
schema:
type: boolean
default: false
required: false
description: state of task result to apply ordering when results are fetching from the DB
example: true
responses:
'200':
description: Details about report that was run or is running.
content:
application/json:
schema:
$ref: '#/components/schemas/ReportResults'
examples:
identityDetailsReport:
$ref: '#/components/examples/identities-details-report-results'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/reports/run:
post:
tags:
- Reports Data Extraction
description: Use this API to run a report according to report input details. If non-concurrent task is already running then it returns, otherwise new task creates and returns.
operationId: startReport
summary: Run report
security:
- userAuth:
- sp:report:manage
- applicationAuth:
- sp:report:manage
x-sailpoint-userLevels:
- ORG_ADMIN
- CERT_ADMIN
- REPORT_ADMIN
- ROLE_ADMIN
- ROLE_SUBADMIN
- SOURCE_ADMIN
- SOURCE_SUBADMIN
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ReportDetails'
examples:
Account Export Report:
$ref: '#/components/examples/account-export-report-details'
Identities Details Report:
$ref: '#/components/examples/identities-details-report-details'
Identities Report:
$ref: '#/components/examples/identities-report-details'
Identity Profile Identity Error Report:
$ref: '#/components/examples/identity-profile-identity-error-report-details'
Orphan Identities Report:
$ref: '#/components/examples/orphan-identities-report-details'
Search Export Report:
$ref: '#/components/examples/search-export-report-details'
Uncorrelated Accounts Report:
$ref: '#/components/examples/uncorrelated-accounts-report-details'
required: true
responses:
'200':
description: Details about running report task.
content:
application/json:
schema:
$ref: '#/components/schemas/TaskResultDetails'
examples:
identityDetailsReport:
$ref: '#/components/examples/identities-details-report-task-result'
searchExportReport:
$ref: '#/components/examples/search-export-report-task-result'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/reports/{id}/cancel:
post:
tags:
- Reports Data Extraction
description: Cancels a running report.
operationId: cancelReport
summary: Cancel report
security:
- userAuth:
- sp:report:manage
parameters:
- name: id
in: path
description: ID of the running Report to cancel
required: true
x-sailpoint-resource-operation-id: startReport
style: simple
explode: false
schema:
type: string
example: a1ed223247144cc29d23c632624b4767
responses:
'204':
$ref: '#/components/responses/204'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
/reports/{taskResultId}:
get:
tags:
- Reports Data Extraction
description: Gets a report in file format.
operationId: getReport
summary: Get report file
security:
- userAuth:
- sp:report:read
- sp:report:manage
- applicationAuth:
- sp:report:read
- sp:report:manage
parameters:
- in: path
name: taskResultId
schema:
type: string
required: true
x-sailpoint-resource-operation-id: startReport
description: Unique identifier of the task result which handled report
example: ef38f94347e94562b5bb8424a56397d8
- in: query
name: fileFormat
schema:
type: string
enum:
- csv
- pdf
required: true
description: Output format of the requested report file
example: csv
- in: query
name: name
required: false
schema:
type: string
example: Identities Details Report
description: preferred Report file name, by default will be used report name from task result.
- in: query
name: auditable
required: false
schema:
type: boolean
default: false
example: true
description: Enables auditing for current report download. Will create an audit event and sent it to the REPORT cloud-audit kafka topic. Event will be created if there is any result present by requested taskResultId.
responses:
'200':
description: Report file in selected format. CSV by default.
content:
application/csv:
schema:
type: string
format: binary
application/pdf:
schema:
type: string
format: binary
headers:
Content-disposition:
description: The requested report's filename
schema:
type: string
example: attachment;filename=\"fileName"
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
description: Not Found - returned if the request URL refers to a resource or object that does not exist
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponseDto'
examples:
'404':
summary: An example of a 404 response object
value:
detailCode: 404 Not found
trackingId: b21b1f7ce4da4d639f2c62a57171b427
messages:
- locale: en-US
localeOrigin: DEFAULT
text: