# Packages

No description provided by the author

# README

Go API client for v3

Use these APIs to interact with the IdentityNow 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.

Overview

This API client was generated by the OpenAPI Generator project. By using the OpenAPI-spec from a remote server, you can easily generate an API client.

Installation

Install the following dependencies:

go get github.com/stretchr/testify/assert
go get golang.org/x/oauth2
go get golang.org/x/net/context

Put the package under your project folder and add the following in import:

import v3 "github.com/GIT_USER_ID/GIT_REPO_ID"

To use a proxy, set the environment variable HTTP_PROXY:

os.Setenv("HTTP_PROXY", "http://proxy_name:proxy_port")

Configuration of Server URL

Default configuration comes with Servers field that contains server objects as defined in the OpenAPI specification.

Select Server Configuration

For using other server than the one defined on index 0 set context value sw.ContextServerIndex of type int.

ctx := context.WithValue(context.Background(), v3.ContextServerIndex, 1)

Templated Server URL

Templated server URL is formatted using default variables from configuration or from context value sw.ContextServerVariables of type map[string]string.

ctx := context.WithValue(context.Background(), v3.ContextServerVariables, map[string]string{
	"basePath": "v2",
})

Note, enum values are always validated and all unused variables are silently ignored.

URLs Configuration per Operation

Each operation can use different server URL defined using OperationServers map in the Configuration. An operation is uniquely identified by "{classname}Service.{nickname}" string. Similar rules for overriding default operation server index and variables applies by using sw.ContextOperationServerIndices and sw.ContextOperationServerVariables context maps.

ctx := context.WithValue(context.Background(), v3.ContextOperationServerIndices, map[string]int{
	"{classname}Service.{nickname}": 2,
})
ctx = context.WithValue(context.Background(), v3.ContextOperationServerVariables, map[string]map[string]string{
	"{classname}Service.{nickname}": {
		"port": "8443",
	},
})

Documentation for API Endpoints

All URIs are relative to https://sailpoint.api.identitynow.com/v3

ClassMethodHTTP requestDescription
AccessProfilesApiCreateAccessProfilePost /access-profilesCreate an Access Profile
AccessProfilesApiDeleteAccessProfilesInBulkPost /access-profiles/bulk-deleteDelete Access Profile(s)
AccessProfilesApiGetAccessProfileGet /access-profiles/{id}Get an Access Profile
AccessProfilesApiGetAccessProfileEntitlementsGet /access-profiles/{id}/entitlementsList Access Profile's Entitlements
AccessProfilesApiListAccessProfilesGet /access-profilesList Access Profiles
AccessProfilesApiPatchAccessProfilePatch /access-profiles/{id}Patch a specified Access Profile
AccessRequestApprovalsApiApproveAccessRequestPost /access-request-approvals/{approvalId}/approveApproves an access request approval.
AccessRequestApprovalsApiForwardAccessRequestPost /access-request-approvals/{approvalId}/forwardForwards an access request approval.
AccessRequestApprovalsApiGetAccessRequestApprovalSummaryGet /access-request-approvals/approval-summaryGet the number of access-requests-approvals
AccessRequestApprovalsApiListCompletedApprovalsGet /access-request-approvals/completedCompleted Access Request Approvals List
AccessRequestApprovalsApiListPendingApprovalsGet /access-request-approvals/pendingPending Access Request Approvals List
AccessRequestApprovalsApiRejectAccessRequestPost /access-request-approvals/{approvalId}/rejectRejects an access request approval.
AccessRequestsApiCancelAccessRequestPost /access-requests/cancelCancel Access Request
AccessRequestsApiCreateAccessRequestPost /access-requestsSubmit an Access Request
AccessRequestsApiGetAccessRequestConfigGet /access-request-configGet Access Request Configuration
AccessRequestsApiListAccessRequestStatusGet /access-request-statusAccess Request Status
AccessRequestsApiUpdateAccessRequestConfigPut /access-request-configUpdate Access Request Configuration
AccountActivitiesApiGetAccountActivityGet /account-activities/{id}Get an Account Activity
AccountActivitiesApiListAccountActivitiesGet /account-activitiesList Account Activities
AccountsApiCreateAccountPost /accountsCreate Account
AccountsApiDeleteAccountDelete /accounts/{id}Delete Account
AccountsApiDisableAccountPost /accounts/{id}/disableDisable Account
AccountsApiEnableAccountPost /accounts/{id}/enableEnable Account
AccountsApiGetAccountGet /accounts/{id}Account Details
AccountsApiGetAccountEntitlementsGet /accounts/{id}/entitlementsAccount Entitlements
AccountsApiListAccountsGet /accountsAccounts List
AccountsApiPutAccountPut /accounts/{id}Update Account
AccountsApiReloadAccountPost /accounts/{id}/reloadReload Account
AccountsApiUnlockAccountPost /accounts/{id}/unlockUnlock Account
AccountsApiUpdateAccountPatch /accounts/{id}Update Account
CertificationSummariesApiGetIdentityAccessSummariesGet /certifications/{id}/access-summaries/{type}Access Summaries
CertificationSummariesApiGetIdentityDecisionSummaryGet /certifications/{id}/decision-summarySummary of Certification Decisions
CertificationSummariesApiGetIdentitySummariesGet /certifications/{id}/identity-summariesIdentity Summaries for Campaign Certification
CertificationSummariesApiGetIdentitySummaryGet /certifications/{id}/identity-summary/{identitySummaryId}Summary for Identity
CertificationsApiGetIdentityCertificationGet /certifications/{id}Identity Certification by ID
CertificationsApiListIdentityAccessReviewItemsGet /certifications/{id}/access-review-itemsList of Access Review Items
CertificationsApiListIdentityCertificationsGet /certificationsIdentity Campaign Certifications by IDs
CertificationsApiMakeIdentityDecisionPost /certifications/{id}/decideDecide on a Certification Item
CertificationsApiReassignIdentityCertificationsPost /certifications/{id}/reassignReassign Identities or Items
CertificationsApiSignOffIdentityCertificationPost /certifications/{id}/sign-offFinalize Identity Certification Decisions
IdentityProfilesApiExportIdentityProfilesGet /identity-profiles/exportExport Identity Profiles
IdentityProfilesApiGetDefaultIdentityAttributeConfigGet /identity-profiles/{identity-profile-id}/default-identity-attribute-configGet default Identity Attribute Config
IdentityProfilesApiGetIdentityProfileGet /identity-profiles/{identity-profile-id}Get single Identity Profile
IdentityProfilesApiImportIdentityProfilesPost /identity-profiles/importImport Identity Profiles
IdentityProfilesApiListIdentityProfilesGet /identity-profilesIdentity Profiles List
LifecycleStatesApiCreateLifecycleStatePost /identity-profiles/{identity-profile-id}/lifecycle-statesCreate Lifecycle State
LifecycleStatesApiDeleteLifecycleStateDelete /identity-profiles/{identity-profile-id}/lifecycle-states/{lifecycle-state-id}Delete Lifecycle State by ID
LifecycleStatesApiGetLifecycleStateGet /identity-profiles/{identity-profile-id}/lifecycle-states/{lifecycle-state-id}Retrieves Lifecycle State
LifecycleStatesApiListLifecycleStatesGet /identity-profiles/{identity-profile-id}/lifecycle-statesLists LifecycleStates
LifecycleStatesApiSetLifecycleStatePost /identities/{identity-id}/set-lifecycle-stateSet Lifecycle State
LifecycleStatesApiUpdateLifecycleStatesPatch /identity-profiles/{identity-profile-id}/lifecycle-states/{lifecycle-state-id}Update Lifecycle State
NonEmployeeLifecycleManagementApiApproveNonEmployeeRequestPost /non-employee-approvals/{id}/approveApprove a Non-Employee Request
NonEmployeeLifecycleManagementApiCreateNonEmployeeRecordPost /non-employee-recordsCreate Non-Employee Record
NonEmployeeLifecycleManagementApiCreateNonEmployeeRequestPost /non-employee-requestsCreate Non-Employee Request
NonEmployeeLifecycleManagementApiCreateNonEmployeeSourcePost /non-employee-sourcesCreate Non-Employee Source
NonEmployeeLifecycleManagementApiCreateNonEmployeeSourceSchemaAttributesPost /non-employee-sources/{sourceId}/schema-attributesCreate a new Schema Attribute for Non-Employee Source
NonEmployeeLifecycleManagementApiDeleteNonEmployeeRecordDelete /non-employee-records/{id}Delete Non-Employee Record
NonEmployeeLifecycleManagementApiDeleteNonEmployeeRecordsInBulkPost /non-employee-records/bulk-deleteDelete Multiple Non-Employee Records
NonEmployeeLifecycleManagementApiDeleteNonEmployeeRequestDelete /non-employee-requests/{id}Delete Non-Employee Request
NonEmployeeLifecycleManagementApiDeleteNonEmployeeSchemaAttributeDelete /non-employee-sources/{sourceId}/schema-attributes/{attributeId}Delete a Schema Attribute for Non-Employee Source
NonEmployeeLifecycleManagementApiDeleteNonEmployeeSourceDelete /non-employee-sources/{sourceId}Delete Non-Employee Source
NonEmployeeLifecycleManagementApiDeleteNonEmployeeSourceSchemaAttributesDelete /non-employee-sources/{sourceId}/schema-attributesDelete all custom schema attributes for Non-Employee Source
NonEmployeeLifecycleManagementApiExportNonEmployeeRecordsGet /non-employee-sources/{id}/non-employees/downloadExports Non-Employee Records to CSV
NonEmployeeLifecycleManagementApiExportNonEmployeeSourceSchemaTemplateGet /non-employee-sources/{id}/schema-attributes-template/downloadExports Source Schema Template
NonEmployeeLifecycleManagementApiGetNonEmployeeApprovalGet /non-employee-approvals/{id}Get a non-employee approval item detail
NonEmployeeLifecycleManagementApiGetNonEmployeeApprovalSummaryGet /non-employee-approvals/summary/{requested-for}Get Summary of Non-Employee Approval Requests
NonEmployeeLifecycleManagementApiGetNonEmployeeBulkUploadStatusGet /non-employee-sources/{id}/non-employee-bulk-upload/statusObtain the status of bulk upload on the source
NonEmployeeLifecycleManagementApiGetNonEmployeeRecordGet /non-employee-records/{id}Get a Non-Employee Record
NonEmployeeLifecycleManagementApiGetNonEmployeeRequestGet /non-employee-requests/{id}Get a Non-Employee Request
NonEmployeeLifecycleManagementApiGetNonEmployeeRequestSummaryGet /non-employee-requests/summary/{requested-for}Get Summary of Non-Employee Requests
NonEmployeeLifecycleManagementApiGetNonEmployeeSchemaAttributeGet /non-employee-sources/{sourceId}/schema-attributes/{attributeId}Get Schema Attribute Non-Employee Source
NonEmployeeLifecycleManagementApiGetNonEmployeeSourceGet /non-employee-sources/{sourceId}Get a Non-Employee Source
NonEmployeeLifecycleManagementApiGetNonEmployeeSourceSchemaAttributesGet /non-employee-sources/{sourceId}/schema-attributesList Schema Attributes Non-Employee Source
NonEmployeeLifecycleManagementApiListNonEmployeeApprovalsGet /non-employee-approvalsGet List of Non-Employee Approval Requests
NonEmployeeLifecycleManagementApiListNonEmployeeRecordsGet /non-employee-recordsList Non-Employee Records
NonEmployeeLifecycleManagementApiListNonEmployeeRequestsGet /non-employee-requestsList Non-Employee Requests
NonEmployeeLifecycleManagementApiListNonEmployeeSourcesGet /non-employee-sourcesList Non-Employee Sources
NonEmployeeLifecycleManagementApiPatchNonEmployeeRecordPatch /non-employee-records/{id}Patch Non-Employee Record
NonEmployeeLifecycleManagementApiPatchNonEmployeeSchemaAttributePatch /non-employee-sources/{sourceId}/schema-attributes/{attributeId}Patch a Schema Attribute for Non-Employee Source
NonEmployeeLifecycleManagementApiPatchNonEmployeeSourcePatch /non-employee-sources/{sourceId}Patch a Non-Employee Source
NonEmployeeLifecycleManagementApiRejectNonEmployeeRequestPost /non-employee-approvals/{id}/rejectReject a Non-Employee Request
NonEmployeeLifecycleManagementApiUpdateNonEmployeeRecordPut /non-employee-records/{id}Update Non-Employee Record
NonEmployeeLifecycleManagementApiUploadNonEmployeeRecordsInBulkPost /non-employee-sources/{id}/non-employee-bulk-uploadImports, or Updates, Non-Employee Records
OAuthClientsApiCreateOauthClientPost /oauth-clientsCreate OAuth Client
OAuthClientsApiDeleteOauthClientDelete /oauth-clients/{id}Delete OAuth Client
OAuthClientsApiGetOauthClientGet /oauth-clients/{id}Get OAuth Client
OAuthClientsApiListOauthClientsGet /oauth-clientsList OAuth Clients
OAuthClientsApiPatchOauthClientPatch /oauth-clients/{id}Patch OAuth Client
PasswordManagementApiGetPasswordChangeStatusGet /password-change-status/{id}Get Password Change Request Status
PasswordManagementApiQueryPasswordInfoPost /query-password-infoQuery Password Info
PasswordManagementApiSetPasswordPost /set-passwordSet Identity's Password
PersonalAccessTokensApiCreatePersonalAccessTokenPost /personal-access-tokensCreate Personal Access Token
PersonalAccessTokensApiDeletePersonalAccessTokenDelete /personal-access-tokens/{id}Delete Personal Access Token
PersonalAccessTokensApiListPersonalAccessTokensGet /personal-access-tokensList Personal Access Tokens
PersonalAccessTokensApiPatchPersonalAccessTokenPatch /personal-access-tokens/{id}Patch Personal Access Token
PublicIdentitiesApiGetPublicIdentitiesGet /public-identitiesGet a list of public identities
PublicIdentitiesConfigApiGetPublicIdentityConfigGet /public-identities-configGet the Public Identities Configuration
PublicIdentitiesConfigApiUpdatePublicIdentityConfigPut /public-identities-configUpdate the Public Identities Configuration
RequestableObjectsApiListRequestableObjectsGet /requestable-objectsRequestable Objects List
RolesApiCreateRolePost /rolesCreate a Role
RolesApiGetRoleGet /roles/{id}Get a Role
RolesApiGetRoleAssignedIdentitiesGet /roles/{id}/assigned-identitiesList Identities assigned a Role
RolesApiListRolesGet /rolesList Roles
RolesApiPatchRolePatch /roles/{id}Patch a specified Role
SavedSearchApiCreateSavedSearchPost /saved-searchesCreate a saved search
SavedSearchApiDeleteSavedSearchDelete /saved-searches/{id}Delete a document by ID
SavedSearchApiExecuteSavedSearchPost /saved-searches/{id}/executeExecute a saved search by ID
SavedSearchApiGetSavedSearchGet /saved-searches/{id}Return a saved search by ID
SavedSearchApiListSavedSearchesGet /saved-searchesReturn a list of Saved Searches
SavedSearchApiUpdateSavedSearchPut /saved-searches/{id}Updates an existing saved search
ScheduledSearchApiCreateScheduledSearchPost /scheduled-searchesCreate a new scheduled search
ScheduledSearchApiDeleteScheduledSearchDelete /scheduled-searches/{id}Delete a Scheduled Search
ScheduledSearchApiGetScheduledSearchGet /scheduled-searches/{id}Get a Scheduled Search
ScheduledSearchApiListScheduledSearchGet /scheduled-searchesList scheduled searches
ScheduledSearchApiUnsubscribeScheduledSearchPost /scheduled-searches/{id}/unsubscribeUnsubscribe a recipient from Scheduled Search
ScheduledSearchApiUpdateScheduledSearchPut /scheduled-searches/{id}Update an existing Scheduled Search
SearchApiSearchAggregatePost /search/aggregatePerform a Search Query Aggregation
SearchApiSearchCountPost /search/countCount Documents Satisfying a Query
SearchApiSearchGetGet /search/{index}/{id}Get a Document by ID
SearchApiSearchPostPost /searchPerform Search
ServiceDeskIntegrationApiCreateServiceDeskIntegrationPost /service-desk-integrationsCreate a new Service Desk integration
ServiceDeskIntegrationApiDeleteServiceDeskIntegrationDelete /service-desk-integrations/{id}Delete a Service Desk integration by ID
ServiceDeskIntegrationApiGetServiceDeskIntegrationGet /service-desk-integrations/{id}Get a Service Desk integration by ID
ServiceDeskIntegrationApiGetServiceDeskIntegrationTemplateGet /service-desk-integrations/templates/{scriptName}Service Desk integration template by scriptName.
ServiceDeskIntegrationApiGetServiceDeskIntegrationTypesGet /service-desk-integrations/typesService Desk Integration Types List.
ServiceDeskIntegrationApiGetServiceDeskIntegrationsGet /service-desk-integrationsList existing Service Desk Integrations
ServiceDeskIntegrationApiGetStatusCheckDetailsGet /service-desk-integrations/status-check-configurationGet the time check configuration of queued SDIM tickets
ServiceDeskIntegrationApiPatchServiceDeskIntegrationPatch /service-desk-integrations/{id}Service Desk Integration Update - PATCH
ServiceDeskIntegrationApiUpdateServiceDeskIntegrationPut /service-desk-integrations/{id}Update a Service Desk integration by ID
ServiceDeskIntegrationApiUpdateStatusCheckDetailsPut /service-desk-integrations/status-check-configurationUpdate the time check configuration of queued SDIM tickets
SourcesApiCreateProvisioningPolicyPost /sources/{sourceId}/provisioning-policiesCreate Provisioning Policy
SourcesApiCreateSourcePost /sourcesCreates a source in IdentityNow.
SourcesApiCreateSourceSchemaPost /sources/{sourceId}/schemasCreate Schema on a Source
SourcesApiDeleteProvisioningPolicyDelete /sources/{sourceId}/provisioning-policies/{usageType}Delete Provisioning Policy by UsageType
SourcesApiDeleteSourceDelete /sources/{id}Delete Source by ID
SourcesApiDeleteSourceSchemaDelete /sources/{sourceId}/schemas/{schemaId}Delete Source Schema by ID
SourcesApiDownloadSourceAccountsSchemaGet /sources/{id}/schemas/accountsDownloads source accounts schema template
SourcesApiDownloadSourceEntitlementsSchemaGet /sources/{id}/schemas/entitlementsDownloads source entitlements schema template
SourcesApiGetProvisioningPolicyGet /sources/{sourceId}/provisioning-policies/{usageType}Get Provisioning Policy by UsageType
SourcesApiGetSourceGet /sources/{id}Get Source by ID
SourcesApiGetSourceHealthGet /sources/{sourceId}/source-healthThis API fetches source health by source's id
SourcesApiGetSourceSchemaGet /sources/{sourceId}/schemas/{schemaId}Get Source Schema by ID
SourcesApiListProvisioningPoliciesGet /sources/{sourceId}/provisioning-policiesLists ProvisioningPolicies
SourcesApiListSourceSchemasGet /sources/{sourceId}/schemasList Schemas on a Source
SourcesApiListSourcesGet /sourcesLists all sources in IdentityNow.
SourcesApiPutProvisioningPolicyPut /sources/{sourceId}/provisioning-policies/{usageType}Update Provisioning Policy by UsageType
SourcesApiPutSourcePut /sources/{id}Update Source (Full)
SourcesApiPutSourceSchemaPut /sources/{sourceId}/schemas/{schemaId}Update Source Schema (Full)
SourcesApiUpdateProvisioningPoliciesInBulkPost /sources/{sourceId}/provisioning-policies/bulk-updateBulk Update Provisioning Policies
SourcesApiUpdateProvisioningPolicyPatch /sources/{sourceId}/provisioning-policies/{usageType}Partial update of Provisioning Policy
SourcesApiUpdateSourcePatch /sources/{id}Update Source (Partial)
SourcesApiUpdateSourceSchemaPatch /sources/{sourceId}/schemas/{schemaId}Update Source Schema (Partial)
SourcesApiUploadSourceAccountsSchemaPost /sources/{id}/schemas/accountsUploads source accounts schema template
SourcesApiUploadSourceConnectorFilePost /sources/{sourceId}/upload-connector-fileUpload connector file to source
SourcesApiUploadSourceEntitlementsSchemaPost /sources/{id}/schemas/entitlementsUploads source entitlements schema template
TransformsApiCreateTransformPost /transformsCreate transform
TransformsApiDeleteTransformDelete /transforms/{id}Delete a transform
TransformsApiGetTransformGet /transforms/{id}Transform by ID
TransformsApiListTransformsGet /transformsList transforms
TransformsApiUpdateTransformPut /transforms/{id}Update a transform
WorkItemsApiApproveApprovalItemPost /work-items/{id}/approve/{approvalItemId}Approve an Approval Item
WorkItemsApiApproveApprovalItemsInBulkPost /work-items/bulk-approve/{id}Bulk approve Approval Items
WorkItemsApiCompleteWorkItemPost /work-items/{id}Complete a Work Item
WorkItemsApiGetCompletedWorkItemsGet /work-items/completedCompleted Work Items
WorkItemsApiGetCountCompletedWorkItemsGet /work-items/completed/countCount Completed Work Items
WorkItemsApiGetCountWorkItemsGet /work-items/countCount Work Items
WorkItemsApiGetWorkItemGet /work-items/{id}Get a Work Item
WorkItemsApiGetWorkItemsSummaryGet /work-items/summaryWork Items Summary
WorkItemsApiListWorkItemsGet /work-itemsList Work Items
WorkItemsApiRejectApprovalItemPost /work-items/{id}/reject/{approvalItemId}Reject an Approval Item
WorkItemsApiRejectApprovalItemsInBulkPost /work-items/bulk-reject/{id}Bulk reject Approval Items
WorkItemsApiSubmitAccountSelectionPost /work-items/{id}/submit-account-selectionSubmit Account Selections

Documentation For Models

Documentation For Authorization

oauth2

  • Type: OAuth
  • Flow: application
  • Authorization URL:
  • Scopes:
  • sp:scopes:default: default scope
  • sp:scopes:all: access to all scopes

Example

auth := context.WithValue(context.Background(), sw.ContextAccessToken, "ACCESSTOKENSTRING")
r, err := client.Service.Operation(auth, args)

Or via OAuth2 module to automatically refresh tokens and perform user authentication.

import "golang.org/x/oauth2"

/* Perform OAuth2 round trip request and obtain a token */

tokenSource := oauth2cfg.TokenSource(createContext(httpClient), &token)
auth := context.WithValue(oauth2.NoContext, sw.ContextOAuth2, tokenSource)
r, err := client.Service.Operation(auth, args)

oauth2

Example

auth := context.WithValue(context.Background(), sw.ContextAccessToken, "ACCESSTOKENSTRING")
r, err := client.Service.Operation(auth, args)

Or via OAuth2 module to automatically refresh tokens and perform user authentication.

import "golang.org/x/oauth2"

/* Perform OAuth2 round trip request and obtain a token */

tokenSource := oauth2cfg.TokenSource(createContext(httpClient), &token)
auth := context.WithValue(oauth2.NoContext, sw.ContextOAuth2, tokenSource)
r, err := client.Service.Operation(auth, args)

Documentation for Utility Methods

Due to the fact that model structure members are all pointers, this package contains a number of utility functions to easily obtain pointers to values of basic types. Each of these functions takes a value of the given basic type and returns a pointer to it:

  • PtrBool
  • PtrInt
  • PtrInt32
  • PtrInt64
  • PtrFloat
  • PtrFloat32
  • PtrFloat64
  • PtrString
  • PtrTime

Author