### ProvisioningPolicyDto Example (JSON) Source: https://developer.sailpoint.com/docs/api/v2025/get-provisioning-policy Provides an example of a successfully retrieved ProvisioningPolicyDto, including its name, description, usage type, and detailed field configurations with transforms. ```json { "name": "example provisioning policy for inactive identities", "description": "this provisioning policy creates access based on an identity going inactive", "usageType": "CREATE", "fields": [ { "name": "userName", "transform": { "type": "rule", "attributes": { "name": "Create Unique LDAP Attribute" } }, "attributes": { "template": "${firstname}.${lastname}${uniqueCounter}", "cloudMaxUniqueChecks": "50", "cloudMaxSize": "20", "cloudRequired": "true" }, "isRequired": false, "type": "string", "isMultiValued": false } ] } ``` -------------------------------- ### OAuth 2.0 Client Configuration Example Source: https://developer.sailpoint.com/docs/api/v2025/authentication An example JSON object representing an OAuth 2.0 client configuration, highlighting key properties like 'enabled', 'grantTypes', and 'redirectUris'. ```JSON { "enabled": true, "created": "2019-05-23T02:06:20.685Z", "name": "My Application", "description": "My Application", "id": "b61429f5-203d-494c-94c3-04f54e17bc5c", "secret": null, "grantTypes": [ "AUTHORIZATION_CODE", "CLIENT_CREDENTIALS" ], ... } ``` -------------------------------- ### SailPoint SDK - Launching a Launcher in Go Source: https://developer.sailpoint.com/docs/api/v2025/start-launcher This Go code snippet demonstrates how to use the SailPoint SDK to start a launcher. It includes setting up the API client, defining the launcher ID, and executing the `StartLauncher` function, with error handling and response printing. ```go package main import ( "context" "fmt" "os" v2025 "github.com/sailpoint-oss/golang-sdk/v2/api_v2025" sailpoint "github.com/sailpoint-oss/golang-sdk/v2" ) func main() { launcherID := `e3012408-8b61-4564-ad41-c5ec131c325b` // string | ID of the Launcher to be launched # string | ID of the Launcher to be launched configuration := sailpoint.NewDefaultConfiguration() apiClient := sailpoint.NewAPIClient(configuration) resp, r, err := apiClient.V2025.LaunchersAPI.StartLauncher(context.Background(), launcherID).Execute() //resp, r, err := apiClient.V2025.LaunchersAPI.StartLauncher(context.Background(), launcherID).Execute() if err != nil { fmt.Fprintf(os.Stderr, "Error when calling `LaunchersAPI.StartLauncher``: %v\n", err) fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r) } // response from `StartLauncher`: StartLauncher200Response fmt.Fprintf(os.Stdout, "Response from `LaunchersAPI.StartLauncher`: %v\n", resp) } ``` -------------------------------- ### SailPoint API v2025: 403 Forbidden Response Example Source: https://developer.sailpoint.com/docs/api/v2025/get-identity-start-date This snippet presents an example of a 403 Forbidden response from the SailPoint API v2025. It outlines the JSON structure for errors indicating insufficient user permissions for an endpoint. ```json { "detailCode": "400.1 Bad Request Content", "trackingId": "e7eab60924f64aa284175b9fa3309599", "messages": [ { "locale": "en-US", "localeOrigin": "DEFAULT", "text": "The request was syntactically correct but its content is semantically invalid." } ], "causes": [ { "locale": "en-US", "localeOrigin": "DEFAULT", "text": "The request was syntactically correct but its content is semantically invalid." } ] } ``` -------------------------------- ### SailPoint API v2025: 200 OK Response Example Source: https://developer.sailpoint.com/docs/api/v2025/get-identity-start-date This snippet shows an example of a successful response (200 OK) from the SailPoint API v2025, specifically for a date field. It includes the expected JSON format for the date. ```json "2017-03-01T13:00:00.000Z" ``` -------------------------------- ### Go SDK Example for Creating a Deployment Source: https://developer.sailpoint.com/docs/api/v2025/create-deploy This Go code snippet demonstrates how to use the SailPoint SDK to create a deployment. It shows how to set up the API client, prepare the deploy request, and execute the API call, including error handling. ```go package main import ( "context" "fmt" "os" "encoding/json" v2025 "github.com/sailpoint-oss/golang-sdk/v2/api_v2025" sailpoint "github.com/sailpoint-oss/golang-sdk/v2" ) func main() { deployrequest := []byte(`{ "draftId" : "3d0fe04b-57df-4a46-a83b-8f04b0f9d10b" }`) // DeployRequest | The deploy request body. var deployRequest v2025.DeployRequest if err := json.Unmarshal(deployrequest, &deployRequest); err != nil { fmt.Println("Error:", err) return } configuration := sailpoint.NewDefaultConfiguration() apiClient := sailpoint.NewAPIClient(configuration) resp, r, err := apiClient.V2025.ConfigurationHubAPI.CreateDeploy(context.Background()).DeployRequest(deployRequest).Execute() //resp, r, err := apiClient.V2025.ConfigurationHubAPI.CreateDeploy(context.Background()).DeployRequest(deployRequest).Execute() if err != nil { fmt.Fprintf(os.Stderr, "Error when calling `ConfigurationHubAPI.CreateDeploy``: %v\n", err) fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r) } // response from `CreateDeploy`: DeployResponse fmt.Fprintf(os.Stdout, "Response from `ConfigurationHubAPI.CreateDeploy`: %v\n", resp) } ``` -------------------------------- ### SailPoint API v2025: 400 Bad Request Response Example Source: https://developer.sailpoint.com/docs/api/v2025/get-identity-start-date This snippet provides an example of a 400 Bad Request response from the SailPoint API v2025. It details the JSON structure for client errors, including detailCode, trackingId, messages, and causes. ```json { "detailCode": "400.1 Bad Request Content", "trackingId": "e7eab60924f64aa284175b9fa3309599", "messages": [ { "locale": "en-US", "localeOrigin": "DEFAULT", "text": "The request was syntactically correct but its content is semantically invalid." } ], "causes": [ { "locale": "en-US", "localeOrigin": "DEFAULT", "text": "The request was syntactically correct but its content is semantically invalid." } ] } ``` -------------------------------- ### Service Desk Integration Provisioning Configuration Example Source: https://developer.sailpoint.com/docs/api/v2025/create-service-desk-integration Illustrates the provisioning configuration for a Service Desk integration, including settings for universal management and managed resources. ```json { "provisioningConfig": { "universalManager": true, "managedResourceRefs": [ { "type": "SOURCE", "id": "2c9180835d191a86015d28455b4b232a", "name": "HR Active Directory" } ], "noProvisioningRequests": false, "provisioningRequestExpiration": 7 } } ``` -------------------------------- ### Service Desk Integration Schema Example Source: https://developer.sailpoint.com/docs/api/v2025/put-service-desk-integration Provides an example of the 'planInitializerScript' for a Service Desk integration, demonstrating a BeforeProvisioning rule in XML format. ```XML Before Provisioning Rule which changes disables and enables to a modify. ``` -------------------------------- ### Date Format Transform Configuration Source: https://developer.sailpoint.com/docs/api/v2025/get-transform Illustrates the configuration for a dateFormat transform, which is used to format date values. This example shows a basic setup for date formatting. ```json { "type": "dateFormat", "attributes": { "format": "yyyy-MM-dd", "input": { "type": "accountAttribute", "attributes": { "attributeName": "hireDate", "sourceName": "Workday" } } } } ``` -------------------------------- ### Get Source Connector Attributes Source: https://developer.sailpoint.com/docs/api/v2025/api/v2025/patch-requests This JSON snippet shows example nested paths within the 'connectorAttributes' of a source resource, illustrating the structure for potential modifications. ```json "connectorAttributes": { "mergeColumns": [ "groups" ], "filterString": "!( id.contains( \"m\" ) ) || !( id.contains( \"d\" ) )", "group.mergeRows": true, "group.delimiter": ",", "mergeRows": true, "group.filetransport": "local", "partitionMode": "disabled", "connectionType": "file", "group.host": "local", "group.indexColumn": "id", "file": "/tmp/source-account-2c91808c771b686101772a91dbd877aa3299228430527475607.csv", "delimiter": ",", "deltaAggregation": null, "host": "local", "cloudExternalId": "23012", "group.indexColumns": [ "id" ], "cloudIdentityProfileName": null, "group.mergeColumns": [ "entitlements", "groups", "permissions" ], "hasHeader": true, "filterEmptyRecords": true, "oauth_body_attrs_to_exclude": "client_secret,client_id", "filetransport": "local", "idnPreviousCorrelationConfig": null, "deleteThresholdPercentage": 10, "group.filterEmptyRecords": true, "group.hasHeader": true, "group.partitionMode": "disabled", "cloudAuthoritativeSourcePrecedence": null, "formPath": null, "group.columnNames": [ "id", "name", "displayName", "created", "description", "modified", "entitlements", "groups", "permissions" ], "templateApplication": "DelimitedFile Template", "group.file": "/var/lib/identityiq_workspace/27c92c24-8681-4574-9453-5c56370b3fc9-groups.csv", "indexColumn": "id", "healthy": false, "cloudDisplayName": "Ubuntu", "connectorName": "Delimited File", "beforeProvisioningRule": null, "cloudOriginalApplicationType": "Delimited File", "since": "2021-01-22T14:48:58.072Z", "status": "SOURCE_STATE_ERROR_ACCOUNT_FILE_IMPORT" } ``` -------------------------------- ### SailPoint Go SDK - Create Uploaded Configuration Example Source: https://developer.sailpoint.com/docs/api/v2025/create-uploaded-configuration Demonstrates how to use the SailPoint Go SDK to create an uploaded configuration. It shows the necessary imports, setting up the API client, and calling the `CreateUploadedConfiguration` method with sample data and context. ```go package main import ( "context" "fmt" "os" v2025 "github.com/sailpoint-oss/golang-sdk/v2/api_v2025" sailpoint "github.com/sailpoint-oss/golang-sdk/v2" ) func main() { data := BINARY_DATA_HERE // *os.File | JSON file containing the objects to be imported. # *os.File | JSON file containing the objects to be imported. name := `name_example` // string | Name that will be assigned to the uploaded configuration file. # string | Name that will be assigned to the uploaded configuration file. configuration := sailpoint.NewDefaultConfiguration() apiClient := sailpoint.NewAPIClient(configuration) resp, r, err := apiClient.V2025.ConfigurationHubAPI.CreateUploadedConfiguration(context.Background()).Data(data).Name(name).Execute() //resp, r, err := apiClient.V2025.ConfigurationHubAPI.CreateUploadedConfiguration(context.Background()).Data(data).Name(name).Execute() if err != nil { fmt.Fprintf(os.Stderr, "Error when calling `ConfigurationHubAPI.CreateUploadedConfiguration``: %v\n", err) fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r) } // response from `CreateUploadedConfiguration`: BackupResponse fmt.Fprintf(os.Stdout, "Response from `ConfigurationHubAPI.CreateUploadedConfiguration`: %v\n", resp) } ``` -------------------------------- ### Get Source Paths Source: https://developer.sailpoint.com/docs/api/v2025/api/v2025/patch-requests This JSON snippet displays example top-level paths available for a source resource, which can be used to identify locations for modification via PATCH requests. ```json { "description": "ubuntu", "owner": { "type": "IDENTITY", "id": "2c91808475b4334b0175e1e005006401", "name": "SailPoint Services" }, "cluster": null, "accountCorrelationConfig": null, "accountCorrelationRule": null, "managerCorrelationMapping": null, "managerCorrelationRule": null, "beforeProvisioningRule": null, "schemas": [ { "type": "CONNECTOR_SCHEMA", "id": "2c91808c771b686101772a91dbd877ab", "name": "account" }, { "type": "CONNECTOR_SCHEMA", "id": "2c91808c771b686101772a91dbd877ac", "name": "group" } ], "passwordPolicies": null, "features": [ "NO_RANDOM_ACCESS", "DISCOVER_SCHEMA", "DIRECT_PERMISSIONS" ] } ``` -------------------------------- ### Define Before Provisioning Rule Source: https://developer.sailpoint.com/docs/api/v2025/create-multi-host-integration Specifies a rule named 'Example Rule' to be executed before provisioning actions. ```json { "beforeProvisioningRule": { "type": "RULE", "id": "2c918085708c274401708c2a8a760001", "name": "Example Rule" } } ``` -------------------------------- ### Get Identity Start Date (HTTP) Source: https://developer.sailpoint.com/docs/api/v2025/get-identity-start-date This snippet shows how to make an HTTP GET request to retrieve the start date of a specific identity. It requires the identity's ID in the path and an experimental header set to true. The necessary authorization scope is 'idn:identity-history:read'. ```HTTP GET https://sailpoint.api.identitynow.com/v2025/historical-identities/:id/start-date Header Parameters: X-SailPoint-Experimental: true Path Parameters: id: 8c190e6787aa4ed9a90bd9d5344523fb ``` -------------------------------- ### Create Source Application using SailPoint Go SDK Source: https://developer.sailpoint.com/docs/api/v2025/create-source-app This snippet demonstrates how to create a source application using the SailPoint Go SDK. It includes setting up the API client, defining the request body for the source application, and making the API call to create it. The example specifies the use of an experimental API feature via the `X-SailPoint-Experimental` header. ```go package main import ( "context" "fmt" "os" "encoding/json" v2025 "github.com/sailpoint-oss/golang-sdk/v2/api_v2025" sailpoint "github.com/sailpoint-oss/golang-sdk/v2" ) func main() { xSailPointExperimental := `true` // string | Use this header to enable this experimental API. (default to "true") # string | Use this header to enable this experimental API. (default to "true") sourceappcreatedto := []byte(`{ "name" : "my app", "description" : "the source app for engineers", "accountSource" : { "name" : "ODS-AD-Source", "id" : "2c9180827ca885d7017ca8ce28a000eb", "type" : "SOURCE" }, "matchAllAccounts" : true }`) // SourceAppCreateDto | var sourceAppCreateDto v2025.SourceAppCreateDto if err := json.Unmarshal(sourceappcreatedto, &sourceAppCreateDto); err != nil { fmt.Println("Error:", err) return } configuration := sailpoint.NewDefaultConfiguration() apiClient := sailpoint.NewAPIClient(configuration) resp, r, err := apiClient.V2025.AppsAPI.CreateSourceApp(context.Background()).XSailPointExperimental(xSailPointExperimental).SourceAppCreateDto(sourceAppCreateDto).Execute() //resp, r, err := apiClient.V2025.AppsAPI.CreateSourceApp(context.Background()).XSailPointExperimental(xSailPointExperimental).SourceAppCreateDto(sourceAppCreateDto).Execute() if err != nil { fmt.Fprintf(os.Stderr, "Error when calling `AppsAPI.CreateSourceApp``: %v\n", err) fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r) } // response from `CreateSourceApp`: SourceApp fmt.Fprintf(os.Stdout, "Response from `AppsAPI.CreateSourceApp`: %v\n", resp) } ``` -------------------------------- ### SailPoint API v2025: 401 Unauthorized Response Example Source: https://developer.sailpoint.com/docs/api/v2025/get-identity-start-date This snippet illustrates a 401 Unauthorized response from the SailPoint API v2025. It shows the JSON format for errors related to missing or expired JWT tokens. ```json { "error": "JWT validation failed: JWT is expired" } ``` -------------------------------- ### Start SailPoint Campaign (Go) Source: https://developer.sailpoint.com/docs/api/v2025/start-campaign Demonstrates how to start a certification campaign using the SailPoint Go SDK. It includes setting up the API client, specifying the campaign ID, and optionally providing activation options like timezone. ```go package main import ( "context" "fmt" "os" v2025 "github.com/sailpoint-oss/golang-sdk/v2/api_v2025" sailpoint "github.com/sailpoint-oss/golang-sdk/v2" ) func main() { id := `ef38f94347e94562b5bb8424a56397d8` // string | Campaign ID. # string | Campaign ID. activatecampaignoptions := []byte(`{ "timeZone" : "-05:00" }`) // ActivateCampaignOptions | 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. (optional) configuration := sailpoint.NewDefaultConfiguration() apiClient := sailpoint.NewAPIClient(configuration) resp, r, err := apiClient.V2025.CertificationCampaignsAPI.StartCampaign(context.Background(), id).Execute() //resp, r, err := apiClient.V2025.CertificationCampaignsAPI.StartCampaign(context.Background(), id).ActivateCampaignOptions(activateCampaignOptions).Execute() if err != nil { fmt.Fprintf(os.Stderr, "Error when calling `CertificationCampaignsAPI.StartCampaign``: %v\n", err) fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r) } // response from `StartCampaign`: map[string]interface{} fmt.Fprintf(os.Stdout, "Response from `CertificationCampaignsAPI.StartCampaign`: %v\n", resp) } ``` -------------------------------- ### Example Source Features Source: https://developer.sailpoint.com/docs/api/v2025/get-sources-within-multi-host An example of how source features are represented, including provisioning, permission handling, and group membership modeling. ```json [ "PROVISIONING", "NO_PERMISSIONS_PROVISIONING", "GROUPS_HAVE_MEMBERS" ] ``` -------------------------------- ### Get 500 Internal Fault Response Example Source: https://developer.sailpoint.com/docs/api/v2025/get-password-change-status Provides an example of a 500 Internal Fault response object, including detailCode, trackingId, and messages. ```json { "detailCode": "500.0 Internal Fault", "trackingId": "b21b1f7ce4da4d639f2c62a57171b427", "messages": [ { "locale": "en-US", "localeOrigin": "DEFAULT", "text": "An internal fault occurred." } ] } ``` -------------------------------- ### SailPoint Connector Configuration Example Source: https://developer.sailpoint.com/docs/api/v2025/create-multi-host-integration Provides examples for configuring a SailPoint connector, including the system type, connector script name, and Java class implementation. This is crucial for integrating external systems with SailPoint. ```json { "type": "Multi-Host - Microsoft SQL Server", "connector": "multihost-microsoft-sql-server", "connectorClass": "sailpoint.connector.OpenConnectorAdapter", "connectorAttributes": {}, "maxAllowedSources": 10 } ``` -------------------------------- ### SailPoint API V2025: 404 Not Found Response Example Source: https://developer.sailpoint.com/docs/api/v2025/get-identity-start-date This JSON object represents a 404 Not Found error, returned when the requested resource or object does not exist. It includes a detailCode, trackingId, and messages indicating that no current representation was found. ```json { "detailCode": "404 Not found", "trackingId": "b21b1f7ce4da4d639f2c62a57171b427", "messages": [ { "locale": "en-US", "localeOrigin": "DEFAULT", "text": "The server did not find a current representation for the target resource." } ] } ``` -------------------------------- ### SailPoint API V2025: 403 Forbidden Response Example Source: https://developer.sailpoint.com/docs/api/v2025/get-identity-start-date This JSON object illustrates a 403 Forbidden error, signifying that the server understood the request but refuses to authorize it. It contains a detailCode, trackingId, and messages detailing the authorization failure. ```json { "detailCode": "403 Forbidden", "trackingId": "b21b1f7ce4da4d639f2c62a57171b427", "messages": [ { "locale": "en-US", "localeOrigin": "DEFAULT", "text": "The server understood the request but refuses to authorize it." } ] } ``` -------------------------------- ### Go SDK: Create Account Source: https://developer.sailpoint.com/docs/api/v2025/create-account This Go code snippet demonstrates how to create an account using the SailPoint Go SDK. It includes setting up the API client, defining account attributes, and making the API call to create the account. Ensure you have the SailPoint Go SDK installed and configured. ```go package main import ( "context" "fmt" "os" "encoding/json" v2025 "github.com/sailpoint-oss/golang-sdk/v2/api_v2025" sailpoint "github.com/sailpoint-oss/golang-sdk/v2" ) func main() { accountattributescreate := []byte(`{ "attributes" : { "sourceId" : "34bfcbe116c9407464af37acbaf7a4dc", "city" : "Austin", "displayName" : "John Doe", "userName" : "jdoe", "sAMAccountName" : "jDoe", "mail" : "john.doe@sailpoint.com" } }`) // AccountAttributesCreate | var accountAttributesCreate v2025.AccountAttributesCreate if err := json.Unmarshal(accountattributescreate, &accountAttributesCreate); err != nil { fmt.Println("Error:", err) return } configuration := sailpoint.NewDefaultConfiguration() apiClient := sailpoint.NewAPIClient(configuration) resp, r, err := apiClient.V2025.AccountsAPI.CreateAccount(context.Background()).AccountAttributesCreate(accountAttributesCreate).Execute() //resp, r, err := apiClient.V2025.AccountsAPI.CreateAccount(context.Background()).AccountAttributesCreate(accountAttributesCreate).Execute() if err != nil { fmt.Fprintf(os.Stderr, "Error when calling `AccountsAPI.CreateAccount``: %v\n", err) fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r) } // response from `CreateAccount`: AccountsAsyncResult fmt.Fprintf(os.Stdout, "Response from `AccountsAPI.CreateAccount`: %v\n", resp) } ``` -------------------------------- ### Go: Configure SailPoint SDK Client Source: https://developer.sailpoint.com/docs/api/v2025/get-all-potential-role-summaries This snippet demonstrates how to initialize the SailPoint SDK client in Go. It shows setting up default configuration and creating an API client instance, which is the first step to interacting with the SailPoint API. ```Go package main import ( "context" "fmt" "os" v2025 "github.com/sailpoint-oss/golang-sdk/v2/api_v2025" sailpoint "github.com/sailpoint-oss/golang-sdk/v2" ) func main() { xSailPointExperimental := `true` sorters := `createdDate` filters := `(createdByName co "int") and (createdById sw "2c9180907") and (type eq "COMMON") and ((name co "entt") or (saved eq true))` offset := 0 limit := 250 count := true configuration := sailpoint.NewDefaultConfiguration() apiClient := sailpoint.NewAPIClient(configuration) ``` -------------------------------- ### SailPoint API V2025: 400 Bad Request Content Example Source: https://developer.sailpoint.com/docs/api/v2025/get-identity-start-date This JSON object represents a 400 Bad Request error, indicating that the request was syntactically correct but semantically invalid. It includes a detailCode, trackingId, and messages explaining the error. ```json { "detailCode": "400.1 Bad Request Content", "trackingId": "e7eab60924f64aa284175b9fa3309599", "messages": [ { "locale": "en-US", "localeOrigin": "DEFAULT", "text": "The request was syntactically correct but its content is semantically invalid." } ], "causes": [ { "locale": "en-US", "localeOrigin": "DEFAULT", "text": "The request was syntactically correct but its content is semantically invalid." } ] } ``` -------------------------------- ### Get Identity Start Date using SailPoint Go SDK Source: https://developer.sailpoint.com/docs/api/v2025/get-identity-start-date This Go code snippet demonstrates how to use the SailPoint Go SDK to retrieve the start date of an identity. It initializes the SDK, sets necessary parameters like identity ID and experimental header, and calls the `GetIdentityStartDate` function. ```go package main import ( "context" "fmt" "os" v2025 "github.com/sailpoint-oss/golang-sdk/v2/api_v2025" sailpoint "github.com/sailpoint-oss/golang-sdk/v2" ) func main() { id := `8c190e6787aa4ed9a90bd9d5344523fb` // string | The identity id # string | The identity id xSailPointExperimental := `true` // string | Use this header to enable this experimental API. (default to "true") # string | Use this header to enable this experimental API. (default to "true") configuration := sailpoint.NewDefaultConfiguration() apiClient := sailpoint.NewAPIClient(configuration) resp, r, err := apiClient.V2025.IdentityHistoryAPI.GetIdentityStartDate(context.Background(), id).XSailPointExperimental(xSailPointExperimental).Execute() //resp, r, err := apiClient.V2025.IdentityHistoryAPI.GetIdentityStartDate(context.Background(), id).XSailPointExperimental(xSailPointExperimental).Execute() if err != nil { fmt.Fprintf(os.Stderr, "Error when calling `IdentityHistoryAPI.GetIdentityStartDate``: %v\n", err) fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r) } // response from `GetIdentityStartDate`: string fmt.Fprintf(os.Stdout, "Response from `IdentityHistoryAPI.GetIdentityStartDate`: %v\n", resp) } ``` -------------------------------- ### Source Application Schema and Example Source: https://developer.sailpoint.com/docs/api/v2025/list-available-source-apps Defines the structure for a source application, including its ID, name, creation/modification timestamps, enabled status, provisioning details, account source information, password policies, and owner. Includes a JSON example. ```json [ { "id": "2c91808874ff91550175097daaec161c", "cloudAppId": "9854520", "name": "my app", "created": "2020-10-08T18:33:52.029Z", "modified": "2020-10-08T18:33:52.029Z", "enabled": true, "provisionRequestEnabled": true, "description": "the source app for engineers", "matchAllAccounts": true, "appCenterEnabled": true, "accountSource": { "id": "2c9180827ca885d7017ca8ce28a000eb", "type": "SOURCE", "name": "ODS-AD-Source", "useForPasswordManagement": "ture", "passwordPolicies": [ { "type": "PASSWORD_POLICY", "id": "006a072ecc6647f68bba9f4a4ad34649", "name": "Password Policy 1" } ] }, "owner": { "id": "85d173e7d57e496569df763231d6deb6a", "type": "IDENTITY", "name": "John Doe" } } ] ``` -------------------------------- ### Get 400 Bad Request Content Response Example Source: https://developer.sailpoint.com/docs/api/v2025/get-password-change-status Provides an example of a 400 Bad Request Content response object, detailing fields like detailCode, trackingId, messages, and causes. ```json { "detailCode": "400.1 Bad Request Content", "trackingId": "e7eab60924f64aa284175b9fa3309599", "messages": [ { "locale": "en-US", "localeOrigin": "DEFAULT", "text": "The request was syntactically correct but its content is semantically invalid." } ], "causes": [ { "locale": "en-US", "localeOrigin": "DEFAULT", "text": "The request was syntactically correct but its content is semantically invalid." } ] } ``` -------------------------------- ### Get 400 Bad Request Content Error Example Source: https://developer.sailpoint.com/docs/api/v2025/get-lifecycle-state This snippet shows an example of a 400 Bad Request Content error response from the SailPoint API. It includes details like detailCode, trackingId, and messages. ```json { "detailCode": "400.1 Bad Request Content", "trackingId": "e7eab60924f64aa284175b9fa3309599", "messages": [ { "locale": "en-US", "localeOrigin": "DEFAULT", "text": "The request was syntactically correct but its content is semantically invalid." } ], "causes": [ { "locale": "en-US", "localeOrigin": "DEFAULT", "text": "The request was syntactically correct but its content is semantically invalid." } ] } ``` -------------------------------- ### Plan Initializer Script Example (XML/Java) Source: https://developer.sailpoint.com/docs/api/v2025/create-service-desk-integration An example of a 'planInitializerScript' using XML and Java code. This script modifies provisioning operations, changing 'Disable' and 'Enable' operations to 'Modify' before provisioning. ```xml Before Provisioning Rule which changes disables and enables to a modify. ``` -------------------------------- ### Start SailPoint Report using Go SDK Source: https://developer.sailpoint.com/docs/api/v2025/start-report This Go code snippet demonstrates how to use the SailPoint SDK to start a report. It includes setting up the API client, defining report details (type and arguments), and executing the report start request. The code handles potential errors during JSON unmarshalling and API calls, and prints the response. ```go package main import ( "context" "fmt" "os" "encoding/json" v2025 "github.com/sailpoint-oss/golang-sdk/v2/api_v2025" sailpoint "github.com/sailpoint-oss/golang-sdk/v2" ) func main() { reportdetails := []byte(`{ "reportType" : "ACCOUNTS", "arguments" : { "application" : "2c9180897e7742b2017e781782f705b9", "sourceName" : "Active Directory" } }`) var reportDetails v2025.ReportDetails if err := json.Unmarshal(reportdetails, &reportDetails); err != nil { fmt.Println("Error:", err) return } configuration := sailpoint.NewDefaultConfiguration() apiClient := sailpoint.NewAPIClient(configuration) resp, r, err := apiClient.V2025.ReportsDataExtractionAPI.StartReport(context.Background()).ReportDetails(reportDetails).Execute() if err != nil { fmt.Fprintf(os.Stderr, "Error when calling `ReportsDataExtractionAPI.StartReport``: %v\n", err) fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r) } fmt.Fprintf(os.Stdout, "Response from `ReportsDataExtractionAPI.StartReport`: %v\n", resp) } ``` -------------------------------- ### Get 500 Internal Fault Error Example Source: https://developer.sailpoint.com/docs/api/v2025/get-lifecycle-state This snippet provides an example of a 500 Internal Fault error response from the SailPoint API. It details the error with a specific code, tracking ID, and a general error message. ```json { "detailCode": "500.0 Internal Fault", "trackingId": "b21b1f7ce4da4d639f2c62a57171b427", "messages": [ { "locale": "en-US", "localeOrigin": "DEFAULT", "text": "An internal fault occurred." } ] } ``` -------------------------------- ### SailPoint Before Provisioning Rule Example Source: https://developer.sailpoint.com/docs/api/v2025/create-service-desk-integration Demonstrates a 'Before Provisioning' rule in XML format for SailPoint, which modifies provisioning operations based on specific conditions. ```xml Before Provisioning Rule which changes disables and enables to a modify. ``` -------------------------------- ### Forbidden Error Response Example with Details Source: https://developer.sailpoint.com/docs/api/v2025/get-approval An example of a Forbidden response, detailing the error with specific codes and messages. ```json { "detailCode": "400.1 Bad Request Content", "trackingId": "e7eab60924f64aa284175b9fa3309599", "messages": [ { "locale": "en-US", "localeOrigin": "DEFAULT", "text": "The request was syntactically correct but its content is semantically invalid." } ], "causes": [ { "locale": "en-US", "localeOrigin": "DEFAULT", "text": "The request was syntactically correct but its content is semantically invalid." } ] } ``` -------------------------------- ### SailPoint Source Application Schema Example Source: https://developer.sailpoint.com/docs/api/v2025/create-source-app Provides an example JSON object representing a source application in the SailPoint API. This includes details such as the application's ID, name, creation and modification timestamps, enabled status, provisioning settings, description, account source information, and owner details. ```json { "id": "2c91808874ff91550175097daaec161c", "cloudAppId": "9854520", "name": "my app", "created": "2020-10-08T18:33:52.029Z", "modified": "2020-10-08T18:33:52.029Z", "enabled": true, "provisionRequestEnabled": true, "description": "the source app for engineers", "matchAllAccounts": true, "appCenterEnabled": true, "accountSource": { "id": "2c9180827ca885d7017ca8ce28a000eb", "type": "SOURCE", "name": "ODS-AD-Source", "useForPasswordManagement": "ture", "passwordPolicies": [ { "type": "PASSWORD_POLICY", "id": "006a072ecc6647f68bba9f4a4ad34649", "name": "Password Policy 1" } ] }, "owner": { "id": "85d173e7d57e496569df763231d6deb6a", "type": "IDENTITY", "name": "John Doe" } } ``` -------------------------------- ### SailPoint SDK Examples Source: https://developer.sailpoint.com/docs/api/v2025/get-bulk-update-status-by-id Examples of using the SailPoint SDK in various programming languages. ```go SailPoint SDK ``` ```powershell SailPoint SDK ``` ```python SailPoint SDK ``` ```csharp SailPoint SDK ``` ```curl SailPoint SDK ``` ```dart SailPoint SDK ``` ```http SailPoint SDK ``` ```java SailPoint SDK ``` ```javascript SailPoint SDK ``` ```kotlin SailPoint SDK ``` ```c SailPoint SDK ``` ```nodejs SailPoint SDK ``` ```objective-c SailPoint SDK ``` ```ocaml SailPoint SDK ``` ```php SailPoint SDK ``` ```r SailPoint SDK ``` ```ruby SailPoint SDK ``` ```rust SailPoint SDK ``` ```shell SailPoint SDK ``` ```swift SailPoint SDK ``` -------------------------------- ### Connector Attributes Example Source: https://developer.sailpoint.com/docs/api/v2025/get-source This example illustrates the structure of the 'connectorAttributes' object, which holds connector-specific configuration. It includes examples like health check timeout and authentication search attributes. ```JSON {"healthCheckTimeout":30,"authSearchAttributes":["cn","uid","mail"]} ``` -------------------------------- ### Define Before Provisioning Rule Source: https://developer.sailpoint.com/docs/api/v2025/get-multi-host-integrations Specifies a rule named 'Example Rule' to be executed before provisioning actions. ```json { "beforeProvisioningRule": { "type": "RULE", "id": "2c918085708c274401708c2a8a760001", "name": "Example Rule" } } ```