REST API Reference > Cloud Data Integration for PowerCenter (CDI-PC) REST API > Domains
  

Domains

Enter a short description of the concept here (required).
This is the start of the concept.

Get Domains

Retrieves a list of domains.

API request

To retrieve All Domains, send a GET request to the following API endpoint:
GET /dms/api/v1/domains

Request parameters

Path parameters
No parameter.
Query parameters
The following table describes the query parameters that you specify in the API request:
Name
Type
Required
Description
sort
String
Optional
Field and direction used to order the returned domain list. Value format is {fieldName},{direction}. Allowed values for direction: asc and desc.
Default value is createdTime,asc. By default, the returned domains are sorted by createdTime in ascending order.
Body Parameters
No parameter.

Request headers

The following table describes the headers that you specify in the API request:
Name
Required or Optional
Description
IDS-SESSION-ID
Optional
Session token to authenticate the request.

Response parameters

The following table describes the parameters that are returned by the API:
Name
Type
Description
domains
Array
Array of domain objects returned by the request, sorted by createdTime in ascending order.
domains.ldoId
String
Unique identifier for the local domain object associated with this domain.
domains.pdoId
String
Unique identifier for the physical domain object associated with the domain entry. pdoId value is null when the domain has not been registered.
domains.createdBy
String
Unique identifier of the user who created the domain.
domains.createdByUserName
String
Username of the user who created the domain.
domains.createdTime
Integer
Unix epoch timestamp in milliseconds indicating when the domain was created.
domains.updatedByUserName
String
Username of the user who last updated the domain record.
domains.updatedTime
Integer
Unix epoch timestamp in milliseconds indicating when the domain was last updated.
domains.orgId
String
Unique identifier for the organization associated with the domain.
domains.isRegistered
Boolean
Indicates whether the domain has been registered.
domains.pdoState
String
Availability state of the registered domain.
domains.kerberos
Boolean
Indicates whether Kerberos authentication is enabled for the domain.
domains.pdoIndicator
String
Operational status indicator for the domain.
domains.registrationState
String
Registration state of the domain.
domains.domainStatus
String
Details of the nodes and services that are available in the domain.
domains.updateAvailable
Boolean
Indicates whether an update is available for the domain.
domains.domainName
String
Name of the domain.
domains.domainDisplayName
String
Display name of the domain.
domains.domainHost
String
Hostname or IP address of the server where the domain is deployed.
domains.domainPort
Integer
Port number on which the domain service listens for incoming connections.
domains.description
String
Description of the domain.
domains.environmentType
String
Type of the domain's deployment environment.
domains.secureAgentGroup
Object
Object containing the secure agent group associated with the domain, identified by its SaaS agent group ID.
domains.domainSecurityInfo
Object
Authentication credentials used to connect to the domain, including the username and security namespace.
domains.registered
Boolean
Indicates whether the domain is registered with the organization.

Sample request

The following is a sample request based on the values provided:

curl -X GET \
"https://qa-pod1-idms.rel.infaqa.com/dms/api/v1/domains?sort=createdTime,asc" \
-H "IDS-SESSION-ID: eyJraW********"

Sample response

200 OK
{
"domains": [
{
"ldoId": "0M0BRzxLmEsfrkjbI3rIoi",
"pdoId": null,
"createdBy": "aAMp82ldq24j5x0tgG3cEd",
"createdByUserName": "wb_rel",
"createdTime": 1752811144598,
"updatedByUserName": null,
"updatedTime": 1752811292795,
"orgId": null,
"isRegistered": false,
"pdoState": null,
"kerberos": false,
"pdoIndicator": null,
"registrationState": "UNREGISTERED",
"domainStatus": null,
"updateAvailable": false,
"domainName": "DOMAIN_1",
"domainDisplayName": "xxxx1902_DOMAIN_1",
"domainHost": "xxxx1902.informatica.com",
"domainPort": 11000,
"description": "",
"environmentType": "NONE",
"secureAgentGroup": {
"agentGroupSaasId": "016JN325000000000006"
},
"domainSecurityInfo": {
"username": "Administrator",
"namespace": "Native"
},
"registered": false
}]}

Registering a domain

Use a POST request to register a CDI-PC domain in IDMC.
Note:
You can't register a Kerberos authenticated CDI-PC domain using REST API. If the domain uses Kerberos authentication, log in to IDMC service and then register the domain in the CDI-PC home page.

POST request

Use the following POST request to register a CDI-PC domain:
POST /public/api/v1/domains

Parameters

To register a CDI-PC domain in IDMC using the REST API, provide a request with specific parameters that detail the domain's configuration and authentication credentials.
The following example demonstrates the structure and content of a typical request to register domain API:
POST /public/api/v1/domains
Content-Type: application/json
IDS-SESSION-ID: <your-session-token>

{
"domainAuthInfo": {
"username": "string",
"password": "string",
"namespace": "string"
},
"domainName": "string",
"domainDisplayName": "string",
"domainHost": "string",
"domainPort": 1,
"description": "string",
"kerberos": false,
"environmentType": "NONE",
"secureAgentGroup": {
"agentGroupSaasId": "string"
}
}
The following table describes the parameters of the header component:
Attribute
Type
Description
IDS-SESSION-ID
String
The IDS-SESSION-ID attribute in the header that holds the session ID value.
If the organization uses the session ID authentication type, session-based authentication is used. The session ID expires after 30 minutes of inactivity. A grace period of up to 2 minutes might be included to account for any network or unexpected delays.

Request body

The following table describes the attributes of the request body:
Attribute
Type
Description
domainAuthInfo
String
Contains the authentication details for the domain.
  • - username: Username for authenticating access to a specific domain. It identifies the user within the domain's authentication system.
  • - password: The corresponding password for the username.
  • - namespace: The namespace associated with the domain authentication.
domainName
String
The name of the CDI-PC domain that you want to register.
domainDisplayName
String
A display name for the CDI-PC domain.
By default, the display name is the same as the domain name.
You can update the name if needed. The name can be different from the domain name, but the name must be unique in the organization.
domainHost
String
Host name or IP address of the gateway node machine.
domainPort
Integer
HTTPS port number used to connect to the domain host
description
String
A brief description of the domain and its purpose.
kerberos
Boolean
A boolean flag indicating whether Kerberos authentication is enabled (true) or not (false).
environmentType
String
Specifies the environment type of the domain, such as NONE, DEV, QA, or PROD.
secureAgentGroup
String
Contains information about the Secure Agent group associated with the domain.
agentGroupSaasId
String
The SaaS ID of the Secure Agent group used for managing data integration tasks.

Responses

The following table describes the common responses to the register API request:
Field
Description
Sample example
200
Success response.
Note:
The response includes a Logical Domain Object ID (ldoId), which is the unique identifier that IDMC assigns to a domain upon registration.
You must include this ldoId in the URL for all future API requests for this domain. Use ldoId to track the domain through various lifecycle actions, such as deregistration and reconciliation.
{
"message": "string",
"domainVersion": "string",
"latestAvailableVersion": "string",
"applyDeadline": 0,
"domainVersionState": "SUPPORTED",
"ldoId": "string",
"pdoId": "string"
}
400
Bad request. Can be a field or format issue, such as an invalid character or incorrect string length.
{
"result": {
"output": {
"errorInfo": {
"error": {
"code": "string",
"message": "string",
"debugMessage": "string",
"requestId": "string",
"details": [
"errorContext": {
"component": "string",
"componentId": "string",
"sanitizedLogDirectoryPaths": string
}
}
}
}
}
401
Authentication issue. For example, invalid credentials or invalid session IDs.
For invalid credentials or invalid session ID, you might see responses,such as Exception encountered while processing JWT or Unauthorized request error.
500
Internal server error when an unexpected condition is encountered.
{
"result": {
"output": {
"status": "string",
"message": "string",
"data": {}
},
"errorInfo": {
"error": {
"code": "string",
"message": "string",
"debugMessage": "string",
"requestId": "string",
"details": [
{
"code": "string",
"message": "string",
"debugMessage": "string"
}
],
"errorContext": {
"component": "string",
"componentId": "string",
"sanitizedLogDirectoryPaths": [
"string"
]
}
}

Getting domain status

Use a GET request to retrieve the real-time status of a CDI-PC domain.

GET request

Use the following GET request to check if a domain is registered and is online:
GET /public/api/v1/domains/{ldoId}
The following table describes the path parameter component:
Attribute
Type
Description
ldoId
String
Unique identifier assigned to a Logical Domain Object within an organization. Replace ldoId with the actual ID of the domain you want to reconcile.

Responses

The API returns a JSON object with the following boolean fields that describe the domain's current state:

Reconciling a domain

Use a PATCH request to reconcile a specified domain in IDMC.

PATCH request

Use the following PATCH request to reconcile a CDI-PC domain:

PATCH /public/api/v1/domains/{ldoId}/reconcile
Note:
The URL paths must include the complete Domain Management Service path for the respective POD. Prefix the request with this path.

Parameters

When you reconcile a domain using a REST API, the request typically includes parameters that identify the domain and provide the necessary information to synchronize its state with a source system.
The following example demonstrates the structure and content of a typical request to reconcile API:
PATCH /public/api/v1/domains/{ldoId}/reconcile HTTP/1.1
Content-Type: application/json
IDS-SESSION-ID: <your-session-token>

{
"domainAuthInfo": {
"username": "admin",
"password": "secretPassword",
"namespace": "Native"
}
}
The following table describes the header and the path parameter components:
Attribute
Type
Description
IDS-SESSION-ID
String
The IDS-SESSION-ID attribute in the header that holds the session ID value.
If the organization uses the session ID authentication type, session-based authentication is used. The session ID expires after 30 minutes of inactivity. A grace period of up to 2 minutes might be included to account for any network or unexpected delays.
ldoId
String
Unique identifier assigned to a Logical Domain Object within an organization. Replace ldoId with the actual ID of the domain you want to reconcile.

Request body

The request body requires a domainAuthInfo object for authentication purposes.

{ "domainAuthInfo": {
"username": "string",
"password": "string",
"namespace": "string"
}
}
The following table describes the fields of domainAuthInfo:
Field
Type
Description
username
String
The username for authenticating access to a specific domain. It identifies the user within the domain's authentication system.
password
String
The corresponding password for the username.
namespace
String
The namespace associated with the domain authentication.

Responses

The following table describes the common responses to the reconcile API request:
Field
Description
200
Success response.
400
Bad request. Can be a field or format issue, such as an invalid character or incorrect string length.
401
Authentication issue. For example, invalid credentials or invalid session IDs.
500
Internal server error when an unexpected condition is encountered.

Deleting a domain

Use a PATCH request to delete a specified domain from IDMC.

PATCH request

Use the following PATCH request to delete a CDI-PC domain:

PATCH /public/api/v1/domains/{ldoId}/delete
Note:
The URL paths must include the complete Domain Management Service path for the respective POD. Prefix the request with this path.

Parameters

The following example demonstrates the structure and content of a typical request to delete domain API:
PATCH /public/api/v1/domains/{ldoId}/delete
Content-Type: application/json
IDS-SESSION-ID: <your-session-token>
The following table describes the header and the path parameter components:
Attribute
Type
Description
IDS-SESSION-ID
String
The IDS-SESSION-ID attribute in the header that holds the session ID value.
If the organization uses the session ID authentication type, session-based authentication is used. The session ID expires after 30 minutes of inactivity. A grace period of up to 2 minutes might be included to account for any network or unexpected delays.
ldoId
String
Unique identifier assigned to a Logical Domain Object within an organization. Replace ldoId with the actual ID of the domain you want to reconcile.

Responses

The following table describes the common responses to the delete API request:
Field
Description
204
Successful deletion of domain.
400
Invalid request.
500
Internal server error when an unexpected condition is encountered.

Deregistering a domain

Use a PATCH request to deregister a CDI-PC domain from IDMC.

PATCH request

Use the following PATCH request to deregister a CDI-PC domain:
PATCH /public/api/v1/domains/{ldoId}/deregister
Note:
The URL paths must include the complete Domain Management Service path for the respective POD. Prefix the request with this path.

Parameters

To deregister a CDI-PC domain in IDMC using the REST API, provide a request with specific parameters that detail the domain's configuration and authentication credentials.
The following example demonstrates the structure and content of a typical request to deregister domain API:
PATCH /public/api/v1/domains/{ldoId}/deregister
Content-Type: application/json
Accept: */*
IDS-SESSION-ID: <your-session-token>

PATCH /public/api/v1/domains/{ldoId}/deregister

{
"domainAuthInfo": {
"username": "admin",
"password": "secretPassword",
"namespace": "Native"
}
The following table describes the parameters of the header component:
Attribute
Type
Description
IDS-SESSION-ID
String
The IDS-SESSION-ID attribute in the header that holds the session ID value.
If the organization uses the session ID authentication type, session-based authentication is used. The session ID expires after 30 minutes of inactivity. A grace period of up to 2 minutes might be included to account for any network or unexpected delays.
ldoId
String
Unique identifier assigned to a Logical Domain Object within an organization. Replace ldoId with the actual ID of the domain you want to reconcile.

Request body

The request body requires a domainAuthInfo object for authentication purposes.

{ "domainAuthInfo": {
"username": "string",
"password": "string",
"namespace": "string"
}
}
The following table describes the fields of domainAuthInfo:
Field
Type
Description
username
String
The username for authenticating access to a specific domain. It identifies the user within the domain's authentication system.
password
String
The corresponding password for the username.
namespace
String
The namespace associated with the domain authentication.

Responses

The following table describes the common responses to the deregister API request:
Field
Description
Sample example
200
Success response.
{
"message": "string"
}
400
Bad request. Can be a field or format issue, such as an invalid character or incorrect string length.
{
"result": {
"output": {
"status": "string",
"message": "string",
"data": {}
},
"errorInfo": {
"error": {
"code": "string",
"message": "string",
"debugMessage": "string",
"requestId": "string",
"details": [
{
"code": "string",
"message": "string",
"debugMessage": "string"
}
],
"errorContext": {
"component": "string",
"componentId": "string",
"sanitizedLogDirectoryPaths": [
"string"
]
}
}
}
}
401
Authentication issue. For example, invalid credentials or invalid session IDs.
For invalid credentials or invalid session ID, you might see responses,such as Exception encountered while processing JWT or Unauthorized request error.
500
Internal server error when an unexpected condition is encountered.
{
"result": {
"output": {
"status": "string",
"message": "string",
"data": {}
},
"errorInfo": {
"error": {
"code": "string",
"message": "string",
"debugMessage": "string",
"requestId": "string",
"details": [
{
"code": "string",
"message": "string",
"debugMessage": "string"
}
],
"errorContext": {
"component": "string",
"componentId": "string",
"sanitizedLogDirectoryPaths": [
"string"
]
}
}
}
}