List All Existing Multi-Host Integrations
GET/multihosts
Get a list of Multi-Host Integrations.
A token with Org Admin or Multi-Host Admin authority is required to access this endpoint.
Request
Query Parameters
Default value: 0
Offset into the full result set. Usually specified with limit to paginate through the results. See V3 API Standard Collection Parameters for more information.
Possible values: <= 250
Default value: 250
Max number of results to return. See V3 API Standard Collection Parameters for more information.
Sort results using the standard syntax described in V3 API Standard Collection Parameters
Sorting is supported for the following fields: name
Filter results using the standard syntax described in V3 API Standard Collection Parameters
Filtering is supported for the following fields and operators:
type: in
forSubAdminId: in
If true it will populate the X-Total-Count response header with the number of results that would be returned if limit and offset were ignored.
Since requesting a total count can have a performance impact, it is recommended not to send count=true if that value will not be used.
See V3 API Standard Collection Parameters for more information.
If provided, filters the returned list according to what is visible to the indicated ROLE_SUBADMIN Identity 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.
A 400 Bad Request error is returned if the for-subadmin parameter is specified for an Identity that is not a subadmin.
Responses
- 200
- 400
- 401
- 403
- 404
- 429
- 500
OK. Returned if the request was successfully accepted into the system.
- application/json
- Schema
- Example (from schema)
Schema
Array [
]
Multi-Host Integration ID.
Multi-Host Integration's human-readable name.
Multi-Host Integration's human-readable description.
owner
object
required
Reference to identity object who owns the source.
Possible values: [IDENTITY
]
Type of object being referenced.
Owner identity's ID.
Owner identity's human-readable display name.
cluster
object
nullable
Reference to the source's associated cluster.
Possible values: [CLUSTER
]
Type of object being referenced.
Cluster ID.
Cluster's human-readable display name.
Specifies the type of system being managed e.g. Workday, Multi-Host - Microsoft SQL Server, etc.. If you are creating a delimited file source, you must set the provisionasCsv
query parameter to true
.
Connector script name.
Last successfully uploaded source count of given Multi-Host Integration.
Maximum sources that can contain in a aggregation group of Multi-Host Integration.
Fully qualified name of the Java class that implements the connector interface.
connectorAttributes
object
Connector specific configuration. This configuration will differ for Multi-Host Integration type.
Maximum sources allowed count of a Multi-Host Integration
Last upload sources count of a Multi-Host Integration
connectorFileUploadHistory
object
File name of the connector JAR
Possible values: [ready
, processing
, fileUploadInProgress
, sourceCreationInProgress
, aggregationGroupingInProgress
, aggregationScheduleInProgress
, deleteInProgress
, deleteFailed
]
Multi-Host integration status.
Default value: true
Show account schema
Default value: true
Show entitlement schema
multiHostAttributes
object
Attributes of Multi-Host Integration
Password.
Connector file.
Authentication type.
Username.
Possible values: <= 100
Number from 0 to 100 that specifies when to skip the delete phase.
When this is true, it indicates that the source is referenced by an identity profile.
managementWorkgroup
object
nullable
Reference to management workgroup for the source.
Possible values: [GOVERNANCE_GROUP
]
Type of object being referenced.
Management workgroup ID.
Management workgroup's human-readable display name.
When this is true, it indicates that the source is healthy.
Possible values: [SOURCE_STATE_ERROR_ACCOUNT_FILE_IMPORT
, SOURCE_STATE_ERROR_CLUSTER
, SOURCE_STATE_ERROR_SOURCE
, SOURCE_STATE_ERROR_VA
, SOURCE_STATE_FAILURE_CLUSTER
, SOURCE_STATE_FAILURE_SOURCE
, SOURCE_STATE_HEALTHY
, SOURCE_STATE_UNCHECKED_CLUSTER
, SOURCE_STATE_UNCHECKED_CLUSTER_NO_SOURCES
, SOURCE_STATE_UNCHECKED_SOURCE
, SOURCE_STATE_UNCHECKED_SOURCE_NO_ACCOUNTS
]
Status identifier that gives specific information about why a source is or isn't healthy.
Timestamp that shows when a source health check was last performed.
Connector ID
Name of the connector that was chosen during source creation.
Possible values: [direct
, file
]
Type of connection (direct or file).
Connector implementation ID.
Date-time when the source was created
Date-time when the source was last modified.
If this is true, it enables a credential provider for the source. If credentialProvider is turned on, then the source can use credential provider(s) to fetch credentials.
Source category (e.g. null, CredentialProvider).
[
{
"id": "2c91808568c529c60168cca6f90c1324",
"name": "My Multi-Host Integration",
"description": "This is a Multi-Host Integration.",
"owner": {
"type": "IDENTITY",
"id": "2c91808568c529c60168cca6f90c1313",
"name": "MyName"
},
"cluster": {
"type": "CLUSTER",
"id": "2c9180866166b5b0016167c32ef31a66",
"name": "Corporate Cluster"
},
"type": "Multi-Host - Microsoft SQL Server",
"connector": "multihost-microsoft-sql-server",
"lastSourceUploadSuccessCount": 50,
"maxSourcesPerAggGroup": 10,
"connectorClass": "sailpoint.connector.OpenConnectorAdapter",
"connectorAttributes": {
"multiHostAttributes": {
"password": "Password",
"user": "Username",
"connector_files": "mssql-jdbc-8.4.1.jre8.jar",
"authType": "SQLAuthentication"
},
"connectorFileUploadHistory": {
"connectorFileNameUploadedDate": "2024-08-29T10:20:38.896479Z"
},
"maxAllowedSources": 30,
"lastSourceUploadCount": 50,
"showEntitlementSchema": true,
"showAccountSchema": true,
"multihost_status": "ready"
},
"deleteThreshold": 10,
"authoritative": false,
"managementWorkgroup": {
"type": "GOVERNANCE_GROUP",
"id": "2c91808568c529c60168cca6f90c2222",
"name": "My Management Workgroup"
},
"healthy": true,
"status": "SOURCE_STATE_HEALTHY",
"since": "2021-09-28T15:48:29.3801666300Z",
"connectorId": "multihost-microsoft-sql-server",
"connectorName": "Multi-Host Microsoft SQL Server",
"connectionType": "direct",
"connectorImplementationId": "multihost-microsoft-sql-server",
"created": "2022-02-08T14:50:03.827Z",
"modified": "2024-01-23T18:08:50.897Z",
"credentialProviderEnabled": false,
"category": "CredentialProvider"
}
]
Client Error - Returned if the request body is invalid.
- application/json
- Schema
- Example (from schema)
Schema
Array [
]
Array [
]
Fine-grained error code providing more detail of the error.
Unique tracking id for the error.
messages
object[]
Generic localized reason for error
The locale for the message text, a BCP 47 language tag.
Possible values: [DEFAULT
, REQUEST
, null
]
An indicator of how the locale was selected. DEFAULT means the locale is the system default. REQUEST means the locale was selected from the request context (i.e., best match based on the Accept-Language header). Additional values may be added in the future without notice.
Actual text of the error message in the indicated locale.
causes
object[]
Plain-text descriptive reasons to provide additional detail to the text provided in the messages field
The locale for the message text, a BCP 47 language tag.
Possible values: [DEFAULT
, REQUEST
, null
]
An indicator of how the locale was selected. DEFAULT means the locale is the system default. REQUEST means the locale was selected from the request context (i.e., best match based on the Accept-Language header). Additional values may be added in the future without notice.
Actual text of the error message in the indicated locale.
{
"detailCode": "400.1 Bad Request Content",
"trackingId": "e7eab60924f64aa284175b9fa3309599",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
],
"causes": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
]
}
Unauthorized - Returned if there is no authorization header, or if the JWT token is expired.
- application/json
- Schema
- Example (from schema)
Schema
A message describing the error
{
"error": "JWT validation failed: JWT is expired"
}
Forbidden - Returned if the user you are running as, doesn't have access to this end-point.
- application/json
- Schema
- Example (from schema)
- 403
Schema
Array [
]
Array [
]
Fine-grained error code providing more detail of the error.
Unique tracking id for the error.
messages
object[]
Generic localized reason for error
The locale for the message text, a BCP 47 language tag.
Possible values: [DEFAULT
, REQUEST
, null
]
An indicator of how the locale was selected. DEFAULT means the locale is the system default. REQUEST means the locale was selected from the request context (i.e., best match based on the Accept-Language header). Additional values may be added in the future without notice.
Actual text of the error message in the indicated locale.
causes
object[]
Plain-text descriptive reasons to provide additional detail to the text provided in the messages field
The locale for the message text, a BCP 47 language tag.
Possible values: [DEFAULT
, REQUEST
, null
]
An indicator of how the locale was selected. DEFAULT means the locale is the system default. REQUEST means the locale was selected from the request context (i.e., best match based on the Accept-Language header). Additional values may be added in the future without notice.
Actual text of the error message in the indicated locale.
{
"detailCode": "400.1 Bad Request Content",
"trackingId": "e7eab60924f64aa284175b9fa3309599",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
],
"causes": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
]
}
An example of a 403 response object
{
"detailCode": "403 Forbidden",
"trackingId": "b21b1f7ce4da4d639f2c62a57171b427",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The server understood the request but refuses to authorize it."
}
]
}
Not Found - returned if the request URL refers to a resource or object that does not exist
- application/json
- Schema
- Example (from schema)
- 404
Schema
Array [
]
Array [
]
Fine-grained error code providing more detail of the error.
Unique tracking id for the error.
messages
object[]
Generic localized reason for error
The locale for the message text, a BCP 47 language tag.
Possible values: [DEFAULT
, REQUEST
, null
]
An indicator of how the locale was selected. DEFAULT means the locale is the system default. REQUEST means the locale was selected from the request context (i.e., best match based on the Accept-Language header). Additional values may be added in the future without notice.
Actual text of the error message in the indicated locale.
causes
object[]
Plain-text descriptive reasons to provide additional detail to the text provided in the messages field
The locale for the message text, a BCP 47 language tag.
Possible values: [DEFAULT
, REQUEST
, null
]
An indicator of how the locale was selected. DEFAULT means the locale is the system default. REQUEST means the locale was selected from the request context (i.e., best match based on the Accept-Language header). Additional values may be added in the future without notice.
Actual text of the error message in the indicated locale.
{
"detailCode": "400.1 Bad Request Content",
"trackingId": "e7eab60924f64aa284175b9fa3309599",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
],
"causes": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
]
}
An example of a 404 response object
{
"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."
}
]
}
Too Many Requests - Returned in response to too many requests in a given period of time - rate limited. The Retry-After header in the response includes how long to wait before trying again.
- application/json
- Schema
- Example (from schema)
Schema
A message describing the error
{
"message": " Rate Limit Exceeded "
}
Internal Server Error - Returned if there is an unexpected error.
- application/json
- Schema
- Example (from schema)
- 500
Schema
Array [
]
Array [
]
Fine-grained error code providing more detail of the error.
Unique tracking id for the error.
messages
object[]
Generic localized reason for error
The locale for the message text, a BCP 47 language tag.
Possible values: [DEFAULT
, REQUEST
, null
]
An indicator of how the locale was selected. DEFAULT means the locale is the system default. REQUEST means the locale was selected from the request context (i.e., best match based on the Accept-Language header). Additional values may be added in the future without notice.
Actual text of the error message in the indicated locale.
causes
object[]
Plain-text descriptive reasons to provide additional detail to the text provided in the messages field
The locale for the message text, a BCP 47 language tag.
Possible values: [DEFAULT
, REQUEST
, null
]
An indicator of how the locale was selected. DEFAULT means the locale is the system default. REQUEST means the locale was selected from the request context (i.e., best match based on the Accept-Language header). Additional values may be added in the future without notice.
Actual text of the error message in the indicated locale.
{
"detailCode": "400.1 Bad Request Content",
"trackingId": "e7eab60924f64aa284175b9fa3309599",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
],
"causes": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "The request was syntactically correct but its content is semantically invalid."
}
]
}
An example of a 500 response object
{
"detailCode": "500.0 Internal Fault",
"trackingId": "b21b1f7ce4da4d639f2c62a57171b427",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "An internal fault occurred."
}
]
}