IICS November2021 (REST-API) Reference en
IICS November2021 (REST-API) Reference en
November 2021
This software and documentation are provided only under a separate license agreement containing restrictions on use and disclosure. No part of this document may be
reproduced or transmitted in any form, by any means (electronic, photocopying, recording or otherwise) without prior consent of Informatica LLC.
U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial
computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such,
the use, duplication, disclosure, modification, and adaptation is subject to the restrictions and license terms set forth in the applicable Government contract, and, to the
extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License.
Informatica, Informatica Cloud, Informatica Intelligent Cloud Services, PowerCenter, PowerExchange, and the Informatica logo are trademarks or registered trademarks
of Informatica LLC in the United States and many jurisdictions throughout the world. A current list of Informatica trademarks is available on the web at https://
www.informatica.com/trademarks.html. Other company and product names may be trade names or trademarks of their respective owners.
Portions of this software and/or documentation are subject to copyright held by third parties. Required third party notices are included with the product.
The information in this documentation is subject to change without notice. If you find any problems in this documentation, report them to us at
[email protected].
Informatica products are warranted according to the terms and conditions of the agreements under which they are provided. INFORMATICA PROVIDES THE
INFORMATION IN THIS DOCUMENT "AS IS" WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING WITHOUT ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ANY WARRANTY OR CONDITION OF NON-INFRINGEMENT.
Table of Contents 3
loginSf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
logout. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
logoutall. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
org. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
runtimeEnvironment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
schedule. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
serverTime. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
task. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
user. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
4 Table of Contents
checkin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
sourceControlAction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
commitHistory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Pull status. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Tags. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Assigning tags. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Removing tags. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Users. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Getting user details. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Creating and deleting users. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Passwords and security questions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Changing a password. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Resetting a password. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Getting a security question and setting a security answer. . . . . . . . . . . . . . . . . . . . . . . . 181
userGroups. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Table of Contents 5
View file listener. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
Create a file listener. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
Update a file listener. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Delete a file listener. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
Start a file listener. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Stop a file listener. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
View the status of a file listener. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
View the details of a file listener job. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
File transfer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
sendfiles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
receivefiles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
job. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
filetransferTask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
HTTPS file transfer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
fwConfig. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
mapping. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
masterTemplate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
mttask. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
Mask Rule Parameter Attributes for Masking Techniques. . . . . . . . . . . . . . . . . . . . . . . . 319
Mask Rule Parameter Attribute Values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
workflow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
Data Integration REST API supplemental information. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Connector data types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Connection user interface fields to REST API attributes mapping. . . . . . . . . . . . . . . . . . . 332
6 Table of Contents
Chapter 7: REST API codes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
State codes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
Country codes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
Time zone codes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
Table of Contents 7
Preface
Refer to the REST API Reference to learn how you can use the Informatica Intelligent Cloud Services℠ REST
API to interact with your Informatica Intelligent Cloud Services organization.
Informatica Resources
Informatica provides you with a range of product resources through the Informatica Network and other online
portals. Use the resources to get the most from your Informatica products and solutions and to learn from
other Informatica users and subject matter experts.
Informatica Documentation
Use the Informatica Documentation Portal to explore an extensive library of documentation for current and
recent product releases. To explore the Documentation Portal, visit https://docs.informatica.com.
If you have questions, comments, or ideas about the product documentation, contact the Informatica
Documentation team at [email protected].
https://network.informatica.com/community/informatica-network/products/cloud-integration
Developers can learn more and share tips at the Cloud Developer community:
https://network.informatica.com/community/informatica-network/products/cloud-integration/cloud-
developers
https://marketplace.informatica.com/
8
Data Integration connector documentation
You can access documentation for Data Integration Connectors at the Documentation Portal. To explore the
Documentation Portal, visit https://docs.informatica.com.
To search the Knowledge Base, visit https://search.informatica.com. If you have questions, comments, or
ideas about the Knowledge Base, contact the Informatica Knowledge Base team at
[email protected].
Subscribe to the Informatica Intelligent Cloud Services Trust Center to receive upgrade, maintenance, and
incident notifications. The Informatica Intelligent Cloud Services Status page displays the production status
of all the Informatica cloud products. All maintenance updates are posted to this page, and during an outage,
it will have the most current information. To ensure you are notified of updates and outages, you can
subscribe to receive updates for a single component or all Informatica Intelligent Cloud Services
components. Subscribing to all components is the best way to be certain you never miss an update.
For online support, click Submit Support Request in Informatica Intelligent Cloud Services. You can also use
Online Support to log a case. Online Support requires a login. You can request a login at
https://network.informatica.com/welcome.
The telephone numbers for Informatica Global Customer Support are available from the Informatica web site
at https://www.informatica.com/services-and-training/support-services/contact-us.html.
Preface 9
Chapter 1
To use the Informatica Intelligent Cloud Services REST API, you need a valid Informatica Intelligent Cloud
Services login and an understanding of REST API guidelines.
To configure a request using the REST API, use the appropriate resource and method, along with the
applicable objects. Informatica Intelligent Cloud Services returns the requested information, performs the
requested task, or returns an error and related messages.
Informatica Intelligent Cloud Services REST API supports the Transport Layer Security (TLS) version 1.2
protocol.
Note that some of the features and functionality mentioned in this guide might not be available to your
organization due to licensing.
For example, tasks are applicable to most services in Informatica Intelligent Cloud Services. To get a list of
tasks in your organization, you use the platform resource, task. A mapping task is a type of task that is only
applicable to the Data Integration service. To get details about a mapping task or create a mapping task, you
use the Data Integration resource, mttask.
There are two versions of the Informatica Intelligent Cloud Services platform REST API. Use the version that
includes the resource you need. You can use both versions in the same session however the base URL and
headers are slightly different. For more information, see Chapter 2, “Platform REST API version 2
resources” on page 22 and Chapter 3, “Platform REST API version 3 resources” on page 85.
For information about Data Integration resources, see Chapter 4, “Data Integration REST API” on page 187.
10
REST API versions
Informatica Intelligent Cloud Services supports the platform REST API version 2 and version 3 resources, and
service-specific resources.
You can log in to Informatica Intelligent Cloud Services using the platform REST API version 2 or version 3
login resource. The version of any subsequent resource that you use does not need to match the version of
the login resource that you use to log in.
Note the following differences between REST API version 2 and version 3 calls:
Format
You can use the following formats depending upon which API version you use:
Login URL
Your POD (Point of Deployment) region is based on the location of your Informatica Intelligent Cloud
Services data center. Use one of the following POD regions:
The POD region is included in the URL you receive when you register with Informatica Intelligent Cloud
Services.
Base URL
The login response includes the base URL that you must include in subsequent calls.
• The name and region of the POD that your organization uses, for example, usw3.dm-us.
• The Informatica Intelligent Cloud Services domain, informaticacloud.com.
• The internal service that manages the API calls, for example, saas.
The following example is a base URL for an organization on the usw3.dm-us POD:
https://usw3.dm-us.informaticacloud.com/saas
In the login response, the attribute that provides the base URL depends on the API version that you use
to log in. For example:
Request URL
The URL that you use in requests differs between the version 2 and version 3 resources, for example:
The login response includes a session ID that you must include in headers during the session. You can
use the same session ID for version 2 and version 3 resources. In the login response, the name of the
attribute for session ID depends on the API version that you use to log in. Use one of the following
attributes:
Request header
The request header is slightly different for version 2 and version 3 resources.
For version 2 calls, use the following format in the REST API request header:
<METHOD> <serverUrl>/<URI> HTTP/<HTTP version>
Content-Type: application/<json | xml>
Accept: application/<json | xml>
icSessionId: <SessionId>
For version 3 calls, use the following format in the REST API request header:
<METHOD> <baseApiUrl>/<URI> HTTP/<HTTP version>
Content-Type: application/json
Accept: application/json
INFA-SESSION-ID: <SessionId>
Note that if you use a tool such as Postman, requests automatically include the HTTP version. If you enter
the HTTP version in the URL, the request is not successful because the HTTP version occurs twice in the
URL.
The following list describes the attributes of the version 2 and version 3 request header formats:
METHOD Yes Method you want to use, such as GET, POST, or DELETE.
serverUrl Required for Base URL for all version 2 resources except login and register.
most v2 Use a placeholder for serverUrl, and replace the placeholder with the
resources Informatica Intelligent Cloud Services URL returned by the login resource.
For the login and register resources, use the URL listed in the resource.
baseApiUrl Required for Base URL for all version 3 resources except login.
most v3 Use a placeholder for baseApiUrl, and replace the placeholder with the
resources Informatica Intelligent Cloud Services URL returned by the login resource.
For the login resource, use the URL listed in the resource definition.
Content-Type Required for Format of the request. Use one of the following options:
POST requests - application/json. Reads request as JSON.
- application/xml. Reads request as XML. Only applicable to version 2
resources.
Default is json.
Accept No Request format that you want to receive. Use one of the following options:
- application/json. Sends response as JSON.
- application/xml. Sends response as XML. Only applicable to version 2
resources.
Default is json.
icSessionId Required for Informatica Intelligent Cloud Services session ID. Required for all version 2
most v2 resources except login and register.
resources Use a placeholder for sessionId, and replace the placeholder with the session ID
returned by the login resource.
INFA- Required for Informatica Intelligent Cloud Services session ID. Required for all version 3
SESSION-ID most v3 resources except login.
resources Use a placeholder for sessionId, and replace the placeholder with the session ID
returned by the login resource.
Request body
Use the request body to pass additional attributes for the resource. When you pass attributes in a request
body, you pass the attributes as part of an object.
For example, to log in with the login resource, you pass the required username and password attributes in a
login object.
Some requests include sub-objects for attributes. Declare the sub-objects before listing the related attributes.
JSON format
When you use the JSON format for version 2 REST API calls, you can optionally define a request object with
the @type attribute, as shown in the following examples:
{
"@type": "<request object>",
"<attribute1>": "<value1>",
"<attribute2>": "<value2>",
}
XML format
When you use the XML format, define a request object as an enclosing set of tags, as follows:
<request object>
<attribute1>value1</attribute1>
<attribute2>value2</attribute2>
</request object>
When an attribute includes an object, enclose the attribute object within the attribute tags as follows:
<request object>
<attribute1>value1</attribute1>
<attribute2>
<attribute object>
<attributeA>valueA</attributeA>
<attributeB>valueB</attributeB>
</attribute object>
<attribute object>
<attributeC>valueC</attributeC>
<attributeD>valueD</attributeD>
</attribute object>
</attribute2>
<attribute3>value3</attribute3>
</request object>
Return lists
When the REST API returns a series of objects in XML, it encloses the list in the root tag, as follows:
<root>
<return object 1>
<attribute1>value1</attribute1>
<attribute2>value2</attribute2>
</return object 1>
<return object 2>
<attribute1>value1</attribute1>
<attribute2>value2</attribute2>
</return object 2>
</root>
In JSON, no additional attributes are used. The REST API encloses the list in square brackets ( [ ] ), as
follows:
[
{
"<attribute1>": "<value1>",
"<attribute2>": "<value2>",
}{
"<attribute1>": "<value1>",
"<attribute2>": "<value2>",
}
]
{
"username": "[email protected]",
"password": "mypassword"
}
The login might return the following information:
{
"products": [
{
"name": "Integration Cloud",
"baseApiUrl": "https://pod.clouddev.informaticacloud.com/saas"
}
],
"userInfo": {
"sessionId": "9KA11tLGqxVcGeul8SQBK3",
"id": "9L1GFroXSDHe2IIg7QhBaT",
"name": "user",
"parentOrgId": "52ZSTB0IDK6dXxaEQLUaQu",
"orgId": "0cuQSDTq5sikvN7x8r1xm1",
"orgName": "MyOrg_INFA",
"groups": {},
"status": "Active"
}
}
You can then use the sessionId and the baseapiUrl to construct a request to obtain your organization's
license information, for example:
GET https://pod.clouddev.informaticacloud.com/saas/public/core/v3/license/org/{orgId}
Content-Type: application/json
Accept: application/json
INFA-SESSION-ID: IV4wOrJmd6YUtmKa8t
To log in using XML, you might use the following header and body:
POST https://dm-us.informaticacloud.com/ma/api/v2/user/login
Content-Type: application/xml
Accept: application/xml
<login>
<username>[email protected]</username>
<password>mypassword</password>
</login>
The login might return the following information:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<user>
<id>00000B03000000000001</id>
<orgId>00000B</orgId>
<name>[email protected]</name>
<createTime>2012-06-14T15:00:00.000Z</createTime>
<updateTime>2012-06-14T15:00:00.000Z</updateTime>
<createdBy>System</createdBy>
<updatedBy>[email protected]</updatedBy>
<firstName>Firstname</firstName>
Update modes
For Data Integration calls, you can submit a POST request using full update mode or partial update mode.
Use partial mode to submit a POST request that only includes the changed object fields, instead of including
all of the object fields. For example, if you want to update the connection in an mttask object, you can submit
a POST request using partial mode that might look like the following example:
POST api/v2/mttask/<taskId>
Content-Type: application/json
Accept: application/json
icSessionId: <icSessionId>
Update-Mode: PARTIAL
{
"@type": "mtTask",
"parameters": [
{
"@type": "mtTaskParameter",
"name": "$NewSource$",
"type": "EXTENDED_SOURCE",
"sourceConnectionId": "<sourceConnectionId>"
}
]
}
If you do not use partial mode, you need to include the entire object in the request. By default, the REST API
uses full mode.
• connection
• fwConfig
• masterTemplate
• mttask
• schedule
• workflow
When you submit a POST request in partial mode, format the request using JSON and include the following
line in the header:
Update-Mode=PARTIAL
Some fields are grouped in collections. To update a field that resides in a collection, include the key field for
the collection in the POST request. The following table lists the collections and corresponding key fields:
Date/time values
With the REST API, Informatica Intelligent Cloud Services uses the UTC date format to pass all date/time
values.
Use the following UTC date format for all date/time values that you pass in requests. The same format is
used for all date/time values returned from Informatica Intelligent Cloud Services.
<yyyy>-<MM>-<dd>T<HH>:<mm>:<ss>.<SSS>Z
The following list describes the attributes of the UTC date format:
yyyy
MM
dd
HH
Hour in the 24-hour format. For example, 0 for 12:00:00 a.m. and 23 for 11:00:00 p.m.
mm
Date/time values 17
ss
SSS
For example, the following date string represents 3:00 pm on December 14, 2012:
2012-12-14T15:00:00.000Z
Object IDs
Many requests require an object ID, such as a connection ID or linear taskflow ID. To find the object ID that
you need, you can use the related GET request.
For example, to determine the linear taskflow ID that you need to update a linear taskflow, you can use a
workflow GET request to view the details of all linear taskflows in the organization. The return list of linear
taskflow details includes the linear taskflow ID. Similarly, to determine the ID of a user, you can perform a
user GET request.
Object IDs are not always readily available through the Informatica Intelligent Cloud Services user interface.
Session IDs
When you log in to a Informatica Intelligent Cloud Services organization using the REST API, the login
resource returns the REST API session ID. You include this session ID in most subsequent REST API requests
during the session. The session ID expires after 30 minutes of inactivity.
You can use the same session ID for version 2 and version 3 resources. For example, if you log in using the
version 2 login resource, you can use the session ID that was returned in the login response in a request that
uses a version 3 resource.
To make a call that uses a REST API version 2 resource, use the icSessionId attribute to include the session
ID in the header. To make a call that uses a REST API version 3 resource, use the INFA-SESSION-ID attribute
to include the session ID in the header.
The following example shows how icSessionId is used in the header for a REST API version 2 call::
GET https://app.informaticacloud.com/saas/api/v2/licenseInfo/org/<id>
Content-Type: application/xml
Accept: application/xml
icSessionId: IV4wOrJmd6YUtmKa8t
The following example shows how INFA-SESSION-ID is used in the header for a REST API version 3 call:
GET https://app.informaticacloud.com/saas/public/core/v3/license/org/{orgId}
Content-Type: application/json
Accept: application/json
INFA-SESSION-ID: 9KA11tLGqxVcGeul8SQBK3
{
"@type": "validatedToken",
"userName": "[email protected]",
"icToken": "9KA11tLGqxVcGeul8SQBK3"
}
The response returns whether the session ID is valid or not and the number of minutes left before the session
ID expires. For example, you might receive the following response:
{
"@type": "validatedToken",
"timeUntilExpire": 29,
"isValidToken": true
}
GET For an information request, HTTP 403 error, including a REST API error
returns the requested object or object.
an array of objects when
applicable.
For an action request, returns
the HTTP 200 success code.
Can also return the REST API
success object.
POST The object that you created or HTTP 403 error, including a REST API error
updated. Can also return the object.
HTTP 201 success code.
DELETE HTTP 200 success code. Can HTTP 403 error, including a REST API error
also return the REST API object.
success object.
For example, if you use a GET request to view a schedule, a successful response is the schedule object that
you requested. Or, if you use a POST request to update the time that the schedule runs, a successful
response is the schedule object that you updated, including the update. If you use a DELETE request to delete
a schedule that is no longer being used, a successful response is the 200 success code.
Error object
When the REST API encounters an error, it returns a REST API error object.
For REST API version 2 calls, the error object has the following structure:
{
"code": "UI_10000",
"description": "User name or password is not valid.",
"statusCode": 403,
"@type": "error"
}
For REST API version 3 calls, the error object has the following structure:
{
"error": {
"code": "IDS_085",
"message": "User name or password is not valid.",
"requestId": "9hr8e2ObIcChbwYftgDui7",
"details": null
}
}
Documentation conventions
Informatica Intelligent Cloud Services REST API documentation uses the following conventions:
Documentation conventions 21
Chapter 2
activityLog
Use this resource to request log information for completed jobs from the Monitor service. You can also
request error logs and session logs. To request log information for jobs that are running, use the
activityMonitor resource.
GET Request
You can request all of the log information or filter the log response. To request information from the log, use
the following URI:
/api/v2/activity/activityLog
To request information for a specific log ID, use the following URI:
/api/v2/activity/activityLog/<id>
22
To request information for a specific run ID, use the following URI:
/api/v2/activity/activityLog?runId=<runId>
To request information for a specific task, include the task ID in the following URI:
/api/v2/activity/activityLog?taskId=<taskId>
To specify the number of rows to skip, use the following URI:
/api/v2/activity/activityLog?offset=<offset>
To specify a row limit, use the following URI:
/api/v2/activity/activityLog?rowLimit=<rowLimit>
You can use any combination of these options. For example, you can use the following URI:
/api/v2/activity/activityLog?
offset=<offset>&rowLimit=<rowLimit>&taskId=<taskId>&runId=<runId>
You can also use the activityLog resource to get a session log. To get a session log, use the following URI:
/api/v2/activity/activityLog/<id>/sessionLog
You can use the following optional attributes in the activityLog GET URI:
Field Description
taskId Task ID associated with the log entry ID. If taskId is not specified, all activityLog entries for all tasks are
returned.
offset The number of rows to skip. For example, you might want to skip the first three rows.
rowLimit The maximum number of rows to return. The maximum number you can specify is 1000.
If you omit this attribute, the activityLog returns all available rows, up to a maximum of 200 rows.
GET Response
Returns an activityLogEntry object for each row in the log or returns an activityLogEntry object for the
specified ID. Returns the error object if errors occur.
When you request information for each row in the log, the activityLogEntry object includes the following
attributes:
type String The type of task. For Data Integration, returns one of the following codes:
- DMASK. Masking task.
- DRS. Replication task.
- DSS. Synchronization task.
- MTT. Mapping task.
- PCS. PowerCenter task.
- WORKFLOW. Linear taskflow.
activityLog 23
Field Type Description
startTime Date/time Start time for the task or linear taskflow. Uses Eastern Time Zone (ET).
endTime Date/time End time for the task or linear taskflow. Uses Eastern Time Zone (ET).
startTimeUtc Date/time Start time for the task or linear taskflow. Uses Coordinated Universal Time
(UTC).
endTimeUtc Date/time End time for the task or linear taskflow. Uses Coordinated Universal Time
(UTC).
state String Whether the task completed successfully. Returns one of the following codes:
- 1. The task completed successfully.
- 2. The task completed with errors.
- 3. The task failed to complete.
failedSourceRows Long Number of rows that were not read from the source.
successSourceRows Long Number of rows that were successfully read from the source.
failedTargetRows Long Number of rows that were not written to the target.
successTargetRows Long Number of rows that were successfully written to the target.
When you request log information for a specific ID, the activityLogEntry object includes the following
attributes:
type String The type of task. For Data Integration, returns one of the following codes:
- DMASK. Masking task.
- DRS. Replication task.
- DSS. Synchronization task.
- MTT. Mapping task.
- PCS. PowerCenter task.
- WORKFLOW. Linear taskflow.
startTime Date/time Start time for the task or linear taskflow. Uses Eastern Time Zone (ET).
endTime Date/time End time for the task or linear taskflow. Uses Eastern Time Zone (ET).
startTimeUtc Date/time Start time for the task or linear taskflow. Uses Coordinated Universal Time
(UTC).
endTimeUtc Date/time End time for the task or linear taskflow. Uses Coordinated Universal Time
(UTC).
state String Whether the task completed successfully. Returns one of the following codes:
- 1. The task completed successfully.
- 2. The task completed with errors.
- 3. The task failed to complete.
- 4. The task has not started.
failedSourceRows Long Number of rows that were not read from the source.
successSourceRows Long Number of rows that are successfully read from the source.
failedTargetRows Long Number of rows that were not written to the target.
successTargetRows Long Number of rows that were successfully written to the target.
runContextType String Method through which the task was initiated. Includes the following values:
-UI. Task was initiated through the user interface.
-SCHEDULER. Task was initiated through the task scheduler.
-REST-API. Task was initiated through the REST API.
-OUTBOUND MESSAGE. Task was initiated through an outbound message.
totalSuccessRows Long Total number of rows that were successfully read from the source and written
to the target.
totalFailedRows Long Total number of rows that were not read from the source and written to the
target.
activityLog 25
Field Type Description
errorFileDir String The location of the error file on the Secure Agent machine.
stopOnError Boolean Determines the runtime environment action to take when an nonfatal error
occurs. Includes the following values:
- True. The linear taskflow stops when an error occurs.
- False. The linear taskflow continues to process when an error occurs.
endTime Date/time Included in the activityLogEntryItem object.End time for the task or linear
taskflow. Uses Eastern Time Zone (ET).
runContextType String Method through which the task was initiated. Includes the following values:
-UI. Task was initiated through the user interface.
-SCHEDULER. Task was initiated through the task scheduler.
-REST-API. Task was initiated through the REST API.
-OUTBOUND MESSAGE. Task was initiated through an outbound message.
sequenceValues Returns information generated from a task that includes the sequence
generator transformation. Includes a sequenceValueLogEntry object for each
transformation.
activityLog 27
Field Type Description
GET Example
To request 20 rows of information returned from the log in JSON format, you might use the following request:
GET <serverUrl>/api/v2/activity/activityLog?rowLimit=20 HTTP/1.0
Accept:application/json
icSessionId: <icSessionId>
A successful request returns a list: an activityLogEntry object for each entry returned from the log.
activityLog 29
"@type": "transformationLogEntry",
"id": "141332312",
"txName": "MYSQLTarget",
"txType": "TARGET",
"successRows": 0,
"failedRows": 200
}
]
}
]
}
]
To request an error log from the server for a specific log ID, use the following URI:
/api/v2/activity/errorLog/id
To retrieve an error log from the server, you might use the following request:
GET <server URL>/api/v2/activity/errorLog/000002C10000000002BG HTTP/1.0
Accept:application/json
icSessionId: <icSessionId>
The server returns the error log as a string, as shown in the following example:
"Col1","Col2","Error"
• To request a session log, which may return a ZIP file if the task is a replication task or linear taskflow, you
might use the following request:
/saas/api/v2/activity/activityLog/000001C1000000000591/sessionLog
activityMonitor
Use this resource to request log information for running jobs from the Monitor service. To request log
information for completed jobs, use the activityLog resource.
GET Request
To request log information about running jobs, use the following URI:
/api/v2/activity/activityMonitor?details=<true|false>
You can use the following attribute in the activityMonitor GET URI:
details
Optional.
Log detail to be returned from Informatica Intelligent Cloud Services. Use one of the following options:
• true. Returns log information for tasks, linear taskflows, and child objects. Child objects can include
tasks within linear taskflows, and objects within replication tasks.
• false. Returns log information for tasks and linear taskflows.
Default is false. If you omit this optional attribute, Monitor does not return additional details.
GET Response
Returns an activityMonitorEntry object for each row in the log. Returns the error object if errors occur.
type String The type of task. Returns one of the following codes:
- DMASK. Masking task.
- DRS. Replication task.
- DSS. Synchronization task.
- MTT. Mapping task.
- PCS. PowerCenter task.
- WORKFLOW. Linear taskflow.
objectName String Source object used in the task, or the replication object being processed.
activityMonitor 31
Field Type Description
executionState String State of the task. Returns one of the following codes:
- QUEUED
- INITIALIZED
- RUNNING
- STOPPING
- FAILED
FAILED can be returned for linear taskflow subtasks only.
failedSourceRows Long Number of rows that were not read from the source.
successSourceRows Long Number of rows that were successfully read from the source.
failedTargetRows Long Number of rows that were not written to the target.
successTargetRows Long Number of rows that were successfully written to the target.
entries Indicates the start of information for a child object. A child object might be a
task within a linear taskflow, or an object in a replication task.
runContextType String Method through which the task was initiated. Includes the following values:
-UI. Task was initiated through the Data Integration user interface.
-SCHEDULER. Task was initiated through the task scheduler.
-REST-API. Task was initiated through the REST API.
-OUTBOUND MESSAGE. Task was initiated through an outbound message.
GET Example
To return log information including details about child objects in XML, you might use the following request:
GET <serverUrl>/api/v2/activity/activityMonitor?details=true
Content-Type: application/xml
Accept: application/xml
icSessionId: <icSessionId>
A successful request returns an activityMonitorEntry object for each item returned from Monitor.
agent
Use this resource to receive an install token to register a Secure Agent, request the details about Informatica
Cloud Secure Agents or Secure Agent services, or delete a Secure Agent.
• win64
• linux64
agent 33
AAuq1sflw0oH9t1O6VUNRJ6OtoGqnwaCj49qBa4W8Giv8jXil7LkESCs"
}
To request the details about all Secure Agents in the organization, use the following URI:
/api/v2/agent
To request the details about a particular Secure Agent, you can include the Secure Agent ID or the
Secure Agent name in the URI. Use one of the following URIs:
/api/v2/agent/<id>
/api/v2/agent/name/<name>
If you use the Secure Agent name in the request and the Secure Agent name includes a space, replace
the space with %20. For example:
/api/v2/agent/name/special%20agent
Secure Agent services details
To request the details about the services that run on all of the Secure Agents in the organization, use the
following URI:
/api/v2/agent/details
To request the details about the services that run on a particular Secure Agent, include the agent ID in
the URI as follows:
/api/v2/agent/details/<id>
If you request information for all Secure Agents in the organization, returns an agent object without the
packages and agentConfigs attributes for each Secure Agent in the organization.
If you request information for agent services, returns an AgentEngine object in addition to the agent object.
active Boolean Whether the Secure Agent is active. Returns true or false.
readyToRun Boolean Whether the Secure Agent is ready to run a task. Returns true or false.
platform String Platform of the Secure Agent machine. Returns one of the following values:
- win64
- linux64
proxyHost String Host name of the outgoing proxy server that the Secure Agent uses.
spiUrl String This field is no longer applicable and has been deprecated.
lastUpgradeCheck Date/time Last time the Secure Agent was checked for upgrade.
lastStatusChange Date/time Last time the Secure Agent status was updated.
agent 35
Field Type Description
If you request details for the services that run on Secure Agents, the agent object also includes the
AgentEngine object. The AgentEngine object includes the following attributes:
agentEngineStatus Status of the agent service, which includes information in the AgentEngineStatus
object.
agent 37
"agentHost": "agentHost5",
"serverUrl": "https://na4.dm-us.informaticacloud.com/saas",
"proxyPort": "0",
"upgradeStatus": "NotUpgrading",
"federatedId": "6iPQuOsH1YAfnJvhZWPZjI",
"packages": "[]",
"createTimeUTC": "2021-02-25T00:42:39:000Z",
"updateTimeUTC": "2021-02-25T00:42:39:000Z",
"agentGroupId": "01000125000000000002"
}
DELETE request
You can delete a Secure Agent if it is not associated with any connections. Before you delete a Secure Agent,
update associated connections to use another Secure Agent.
To delete a Secure Agent, use the Secure Agent ID in the following URI:
/api/v2/agent/<id>
DELETE response
Returns the 200 response code if the request is successful.
auditlog
Use this resource to request entries from the audit log.
GET Request
To request the most recent 200 entries in the audit log, use the following URI.
/api/v2/auditlog
To request a specific batch of audit log entries, define the batch size and request a batch number with the
following URI.
/api/v2/auditlog?batchId=<batchId>&batchSize=<batchSize>
Include the following information in the GET URI:
GET Response
Returns an auditLogEntry object for each audit log entry returned. Returns the error object if errors occur.
auditlog 39
Field Type Description
category String Category of audit log entry. Returns one of the following codes:
- AUTH. Authorization.
- AGREEMENT. Subscription agreement.
- SYSTEM_INFO
- ADMIN_REPORT
- ORG. Organization.
- USER
- AGENT. Secure Agent.
- CONNECTION
- SCHEDULE
- DRS. Replication.
- DQA. Data assessment.
- DMASK.Masking.
- DSS. Synchronization.
- DATA_FILE. File.
- WORKFLOW. Linear taskflow.
- PCS. PowerCenter.
- MTT. Mapping task.
- MI_TASK. File ingestion task.
- CUSTOM_FUNC. Mapplet.
- MIGRATE. Migration.
- CUSTOM_SOURCE. Saved query.
- SUBSCRIPTION_BILLING
- USER_GROUP
- SUB_ORG. Sub-organization.
- OBJECT_ACL. Object permissions.
- PACKAGE
- TEMPLATE. Visio template.
- DTEMPLATE. Mappings.
- CONNECTOR. Informatica Cloud Connector.
- EDITION. Informatica Cloud edition.
- SCHEDULE_BLACKOUT. Schedule blackout period.
- EXT_CONNECTION. Connections stored on a local Secure Agent.
- BUNDLE.
- ORG_EDITION. Information about changes to organization edition association. For example,
when the organization is reassigned a new edition.
- RUNTIME_ENVIRONMENT.
- B2BGW_MONITOR
- B2BGW_CUSTOMER
- B2BGW_SUPPLIER
- TASKFLOW
- PROCESS
- GUIDE
- AI_CONNECTION
- AI_SERVICE_CONNECTOR
- PROCESS_OBJECT
event String Type of action performed. Returns one of the following codes:
- CREATE
- UPDATE
- DELETE
- DISABLE
- RUN
- VERSION1
- VERSION2
- VERSION3
- VERSION4
- VERSION5
- VERSION6
- VERSION7
- DOWNLOAD
- EXPORT
- IMPORT
- FETCHSTATE
- LOADSTATE
- MAKE_DEFAULT
- LINK
- ENCRYPT
- MOVE_CONNS_TO_AGENT
- MOVE_CONNS_TO_IOD
- STOP
GET Example
To view rows 21-40, you might use the following URI.
/api/v2/auditlog?batchId=1&batchSize=20
bundleObject
Use this resource to request the details for a specific bundle or the details for all bundles published by the
organization or installed by the organization. You can also push a published private bundle to sub-
organizations.
GET Request
To request the details of a particular bundle, you can include the bundle ID or the bundle name in the URI. Use
one of the following URIs:
/api/v2/bundleObject/<id>
/api/v2/bundleObject/name/<name>
If you use the bundle name in the URI and the bundle name includes a space, replace the space with %20. For
example:
/api/v2/bundleObject/name/first%20bundle
bundleObject 41
To request the details for all bundles published by the organization, use one of the following URIs:
/api/v2/bundleObject/?published=true
/api/v2/bundleObject/?published=true&installed=false
To request the details for all bundles installed by the organization, use one of the following URIs:
/api/v2/bundleObject/?installed=true
/api/v2/bundleObject/?published=false&installed=true
GET Response
When you request the details for a bundle, returns the bundleObject for the bundle.
When you request a list of published bundles, returns a bundleObject for each bundle that the organization
published.
When you request a list of installed bundles, returns a bundleObject for each bundle that the organization
installed.
paid Boolean Whether the bundle was purchased. Returns true for paid, false for free.
copyable Boolean Determines whether users can download the contents of the bundle locally. Returns
true or false.
accessType String Access type for the bundle. Returns the following codes in the
BundleObjectAccessType object:
- PUBLIC. Available to all Informatica Intelligent Cloud Services organizations.
- SUBORGS. Available to sub-organizations of the publishing organization.
- ACCESS_LIST. Available to the organization IDs in the sharedWith attribute.
objects Objects in the bundle. Includes information for each object in the bundleRefObject
object.
POST Request
As part of a parent organization, you can share a private bundle with sub-organizations.
You can push a published private bundle to install the bundle on all sub-organizations. Push a published
private bundle when you want the objects in the bundle to be immediately available to all sub-organizations.
To push a bundle to a sub-organization, use the ID of the bundle object in the following URI:
/api/v2/bundleObject/push/<bundleId>
POST Response
Returns the success response if the request is successful. Returns the error object if errors occur.
bundleObjectLicense
Use this resource to request license information about bundles installed on or available to the organization.
You can also install a bundle and uninstall a bundle.
GET Request
To request license information for a bundle associated with to the organization, use the bundle ID in the
following URI:
/api/v2/bundleObjectLicense/<bundleObjectId>
To request license information for all bundles associated with the organization, omit the optional bundle ID.
bundleObjectLicense 43
GET Response
If successful, returns the BundleObjectLicenseType for the requested bundle.
If you request license information for all bundles, returns the bundleObjectLicense object for all bundles
associated with the organization.
endDate Date/time Date the license expires. Returns NULL for free public bundles.
installed Boolean Indicates if the organization installed the bundle. Returns TRUE for installed
bundles and FALSE for available bundles.
active Boolean Indicates that the bundle is available and active. Returns TRUE.
accessCode String Required to install a licensed bundle. Used for sharing private bundles. Read
only.
POST Request
To install a bundle on the organization, use the following URI:
/api/v2/bundleObjectLicense
With this URI, use the following attribute in a bundleObjectLicense object:
POST Response
Returns the success response if the request is successful. Returns the error object if errors occur.
updateOption String Defines what happens if objects in the bundle are used. Use one of the
following options:
- DELETE_EXISTING_OBJECTS. Deletes the objects that use the bundle
object.
- UPDATE_EXISTING_OBJECTS. Updates the object that uses the bundle
object.
- EXCEPTION_IF_IS_USED. Returns a message when a bundle object is used
and cancels the uninstallation.
DELETE Response
Returns the success response if the request is successful. Returns the error object if errors occur.
job
Use this resource to start or stop a task based on ID or name. You can also retrieve job completion status.
Alternatively, you can use the task resource to retrieve the task ID. However, the task resource returns a task
ID that you can only use to run tasks located in the Default folder.
Do not use this resource for a Mass Ingestion file ingestion task. Instead, use the file ingestion job resource.
For more information, see Chapter 5, “ Mass Ingestion Files REST API” on page 333.
taskId String Required if taskName or Task or linear taskflow ID. Use taskId or taskName in the
taskFederatedId is not URI.
included. You can include this task ID when the task is located in
the Default folder.
taskFederatedId String Required if the task is not Task ID that includes the folder path to the task.
located in the Default folder.
job 45
Field Type Required Description
taskName String Required if taskId or Task or linear taskflow name. Use taskId or taskName in
taskFederatedId is not the URI.
included.
taskType String Yes The type of task. For Data Integration, use one of the
following codes:
- DMASK. Masking task.
- DRS. Replication task.
- DSS. Synchronization task.
- MTT. Mapping task.
- PCS. PowerCenter task.
- WORKFLOW. Linear taskflow.
callbackURL String - A valid, publicly available URL. The service posts the job
status to the callbackURL.
taskFederatedId String Task ID that includes the folder path to the task.
taskType String The type of task. Returns one of the following codes for Data Integration:
- DMASK. Masking task.
- DRS. Replication task.
- DSS. Synchronization task.
- MTT. Mapping task.
- PCS. PowerCenter task.
- WORKFLOW. Linear taskflow.
{
"taskId": "0034J90000000M",
"taskType": "Workflow",
"callbackURL": "https://MyIICSJobStatus.com",
}
{
"@type": "job",
"taskId": "0100000Z000009",
"taskType": "MTT",
"runtime": {
"@type": "mtTaskRuntime"
}
}
taskId String Required if taskName not Task or linear taskflow ID. Use taskId or taskName in the
included. URI.
taskFederatedId String Required if the task is Task ID that includes the folder path to the task.
not located in the Default
folder.
taskName String Required if taskId not Task or linear taskflow name. Use taskId or taskName in the
included. URI.
taskType String Yes The type of task. For Data Integration, use one of the
following codes:
- DMASK. Masking task.
- DRS. Replication task.
- DSS. Synchronization task.
- MTT. Mapping task.
- PCS. PowerCenter task.
- WORKFLOW. Linear taskflow.
{
"@type": "job",
"taskId": "0034J90000000M",
"taskType": "Workflow"
}
job 47
Job Status
When you include the callbackURL in the job request, the service sends a request to the callback URL when
the job completes. The service always uses a JSON request for callbacks.
A callback might be called multiple times. For example, multiple callbacks might occur in the following
situations:
• Your callback server returns an HTTP status code other than 200.
• Your callback server doesn't respond within 30 seconds.
• Your callback server is down.
• There is a transient network failure.
In any of these situations, the URL connection breaks and the service counts the break as a failed attempt.
The service will make three immediate attempts to receive a successful response. Afterward, the attempts
will occur in exponential increments. For example, the attempts might begin with a 30-second interval and
progress up to a maximum 3-minute interval, until the total time reaches 30 minutes.
The service executes the POST request from the callback URL. The following text is a sample return:
{
@type:"callbackUrlResponse"
endTime: "2013-02-27T18:57:52.000Z",
objectId: "0034J90000000M",
objectName: "taskName",
runId: 5,
status: "COMPLETED" // or “FAILED”
}
login
You can use this resource to log in to your organization using your Informatica Intelligent Cloud Services user
account.
Use the base URL and session ID returned in the response for subsequent requests during this session.
POST Request
Use one of the following URLs:
• North America:
https://dm-us.informaticacloud.com/ma/api/v2/user/login
• Europe:
https://dm-em.informaticacloud.com/ma/api/v2/user/login
• Asia Pacific:
https://dm-ap.informaticacloud.com/ma/api/v2/user/login
POST Response
Returns the user object if the request is successful. Returns the error object if errors occur.
The response includes the following information that you need to include in the header of subsequent REST
API calls:
• icSessionId. A REST API session ID that you include in the header for version 2 REST API calls.The
session ID expires after 30 minutes of inactivity. After the session ID expires, log in again to continue
working with the REST API.
For information on retrieving session status details, see “Session IDs” on page 18.
• serverUrl. The base URL that you use in all version 2 resource URIs except for login, for example:
<serverUrl>/api/v2/job
createdBy String Informatica Intelligent Cloud Services user who created the user account.
updatedBy String Informatica Intelligent Cloud Services user who last updated the user account.
sfUsername String Salesforce user name. Included when user is configured to authenticate through
Salesforce.
password String Salesforce user password. Included when user is configured to authenticate
through Salesforce.
login 49
Field Type Description
emails String Email address to be notified when the user changes the account password.
timezone String Time zone of the user. Time zone honors Daylight Saving Time.
For more information, see “Time zone codes” on page 366 .
serverUrl String Informatica Intelligent Cloud Services URL for the organization the user belongs
to. Use the serverUrl as a base for most version 2 REST API resource URIs.
spiUrl String This field is no longer applicable and has been deprecated.
icSessionId String Informatica Intelligent Cloud Services session ID for version 2 REST API session.
Use in most version 2 REST API request headers.
forceChangePassword Boolean Determines if the user must reset the password after the user logs in for the first
time. Includes the following values:
- True. The user must reset the password.
- False. The user is not forced to reset the password.
POST Example
To log in to your Informatica Intelligent Cloud Services organization, you might use the following request:
POST https://dm-us.informaticacloud.com/ma/api/v2/user/login
Content-Type: application/json
{
"@type": "login",
"username": "[email protected]",
"password": "mypassword"
}
The response returns the user object which contains the serverUrl and icSessionId values to use in
subsequent calls, as shown in the following example:
{
"id": "0101TQ03000000000007",
"orgId": "0101TQ",
"orgUuid": "3FNFLs1uHe2IIgTs8tRjSJ",
"name": "[email protected]",
"description": "",
"createTime": "2018-02-16T00:20:07.000Z",
"updateTime": "2018-07-17T22:45:50.000Z",
"createdBy": "System built-in user",
"updatedBy": "[email protected]",
"sfUsername": null,
"firstName": "John",
"lastName": "Randall",
"title": "IICS Admin",
"password": "**********",
"phone": "123-456-7899",
"emails": "[email protected]",
"timezone": null,
"serverUrl": "https://na4.dm-us.informaticacloud.com/saas",
"icSessionId": "1Ckv5VDHe2IICHi2hq04EF",
"securityQuestion": "In what city were you born?",
"securityAnswer": "********",
"uuid": "a51jk7TB0IDcnWLwJdLaW2",
"forceChangePassword": false,
"roles": [
{
"name": "Admin",
"description": "Role for performing administrative tasks for an
organization. Has full access to all licensed services."
},
{
"name": "Data Preview",
"description": "Role to preview data"
},
{
"name": "Designer",
"description": "Role for creating assets, tasks, and processes. Can
configure connections, schedules, and runtime environments. Has access to the
Application Integration Console."
}
],
}
Using the above response as an example, to send a GET request to obtain Secure Agent information, you
might use the following request:
GET https://na4.dm-us.informaticacloud.com/saas/api/v2/agent
Content-Type: application/json
Accept: application/json
icSessionId: 1Ckv5VDHe2IICHi2hq04EF
login 51
loginSaml
Use this version 2 API resource to log in to Informatica Intelligent Cloud Services using a Security Assertion
Markup Language (SAML) token. The SAML token is a SAML response generated by your identity provider
that contains a SAML assertion.
The loginSaml response includes the session ID and base URL that you include in subsequent REST API calls.
Use values from the following fields returned in the response:
• icSessionId. A two hour REST API session ID that you include in the header for version 2 REST API calls.
After the session ID expires, log in again to continue working with the REST API.
For information on retrieving session status details, see “Session IDs” on page 18.
• serverUrl. The base URL that you use in all version 2 resource URIs except for loginSaml, for example:
<serverUrl>/api/v2/job
POST Request
The login request must include a SAML token. To get a SAML token, see the documentation provided by your
identity provider. To see an example of a SAML token or SAML response, see
https://www.samltool.com/generic_sso_res.php.
POST Response
Returns the user object if the request is successful. Returns the error object if errors occur.
Use the base URL and session ID returned in the response for subsequent requests during this session.
createdBy String Informatica Intelligent Cloud Services user who created the user account.
updatedBy String Informatica Intelligent Cloud Services user who last updated the user account.
email String Email address to be notified when the user changes the account password.
timezone String Time zone of the user. Time zone honors Daylight Saving Time.
For more information, see “Time zone codes” on page 366 .
serverUrl String Informatica Intelligent Cloud Services URL for the organization the user belongs to. Use the
serverUrl as a base for most version 2 REST API resource URIs.
icSessionId String Informatica Intelligent Cloud Services session ID for version 2 REST API session. Use in most
version 2 REST API request headers.
spiUrl String This field is no longer applicable and has been deprecated.
POST Example
To log in to Informatica Intelligent Cloud Services using SAML single sign-on, you might use the following
request:
POST https://dm-us.informaticacloud.com/ma/api/v2/user/loginSaml
Content-Type: application/json
Accept: application/json
{
"@type": "login",
"samlToken": "<SAML token>",
"orgId": "003420"
}
loginSaml 53
The response returns the user object which contains the serverUrl and icSessionId values to use in
subsequent calls, as shown in the following example:
{
"id": "0101TQ03000000000007",
"orgId": "003420",
"orgUuid": "3FNFLs1uHe2IIgTs8tRjSJ",
"name": "[email protected]",
"description": "",
"createTime": "2018-02-16T00:20:07.000Z",
"updateTime": "2018-07-17T22:45:50.000Z",
"createdBy": "System built-in user",
"updatedBy": "[email protected]",
"sfUsername": null,
"firstName": "John",
"lastName": "Randall",
"title": "IICS Admin",
"phone": "123-456-7899",
"emails": "[email protected]",
"timezone": null,
"serverUrl": "https://na4.dm-us.informaticacloud.com/saas",
"icSessionId": "1Ckv5VDHe2IICHi2hq04EF",
"securityQuestion": "In what city were you born?",
"securityAnswer": "********",
"uuid": "a51jk7TB0IDcnWLwJdLaW2",
"forceChangePassword": false,
"roles": [
{
"name": "Admin",
"description": "Role for performing administrative tasks for an
organization. Has full access to all licensed services."
},
{
"name": "Data Preview",
"description": "Role to preview data"
},
{
"name": "Designer",
"description": "Role for creating assets, tasks, and processes. Can
configure connections, schedules, and runtime environments. Has access to the
Application Integration Console."
}
],
}
Using the above response as an example, to send a GET request to obtain Secure Agent information, you
might use the following request:
GET https://na4.dm-us.informaticacloud.com/saas/api/v2/agent
Content-Type: application/json
Accept: application/json
icSessionId: 1Ckv5VDHe2IICHi2hq04EF
loginSf
Use this resource to log in to an Informatica Intelligent Cloud Services organization using Salesforce
credentials.
The login response includes the session ID and base URL that you need to include in subsequent REST API
calls.
Note: You must activate your Informatica Intelligent Cloud Services user account before you can log in using
the loginSf resource.
POST Request
To log in using Salesforce credentials, use one of the following URLs:
• North America:
https://dm-us.informaticacloud.com/ma/api/v2/user/loginSf
• Europe:
https://dm-em.informaticacloud.com/ma/api/v2/user/loginSf
• Asia Pacific:
https://dm-ap.informaticacloud.com/ma/api/v2/user/loginSf
Use the following attributes in a loginSf object:
sfSessionId String Yes Salesforce session ID. For information about generating the Salesforce session
ID, see the login resource in the Salesforce Web Services API Developer's Guide.
POST Response
Returns the user object if the request is successful. Returns the error object if errors occur.
The response includes the following information that you need to include in the header of subsequent REST
API calls:
• icSessionId. A REST API session ID that you include in the header for version 2 REST API calls. The
session ID expires after 30 minutes of inactivity. After the session ID expires, log in again to continue
working with the REST API.
For information on retrieving session status details, see “Session IDs” on page 18.
• serverUrl. The base URL that you use in all version 2 resource URIs except for login, for example:
<serverUrl>/api/v2/job
loginSf 55
Field Type Description
createdBy String Informatica Intelligent Cloud Services user who created the user account.
updatedBy String Informatica Intelligent Cloud Services user who last updated the user account.
sfUsername String Salesforce user name. Included when user is configured to authenticate through
Salesforce.
password String Salesforce user password. Included when user is configured to authenticate
through Salesforce.
emails String Email address to be notified when the user changes the account password.
timezone String Time zone of the user. Time zone honors Daylight Saving Time.
For more information, see “Time zone codes” on page 366 .
serverUrl String Informatica Intelligent Cloud Services URL for the organization the user belongs
to. Use the serverUrl as a base for most version 2 REST API resource URIs.
spiUrl String This field is no longer applicable and has been deprecated.
icSessionId String Informatica Intelligent Cloud Services session ID for version 2 REST API session.
Use in most version 2 REST API request headers.
forceChangePassword Boolean Determines if the user must reset the password after the user logs in for the first
time. Includes the following values:
- True. The user must reset the password.
- False. The user is not forced to reset the password.
POST Example
To log in to your Informatica Intelligent Cloud Services organization, you might use the following request:
POST https://dm-us.informaticacloud.com/ma/api/v2/user/loginSf
Content-Type: application/json
Accept: application/json
{
"@type": "loginSf",
"sfSessionId": "00Df40000000coF!ARYAQDO2SvoD3eRXOrNaiOb9a3Pp",
"sfServerUrl": "https://c.na41.visual.force.com/services/Soap/u/27.0/00Df40000000coF"
}
The response returns the user object which contains the serverUrl and icSessionId values to use in
subsequent calls, as shown in the following example:
{
"id": "0101TQ03000000000007",
"orgId": "0101TQ",
"orgUuid": "3FNFLs1uHe2IIgTs8tRjSJ",
"name": "[email protected]",
"description": "",
"createTime": "2018-02-16T00:20:07.000Z",
"updateTime": "2018-07-17T22:45:50.000Z",
"createdBy": "System built-in user",
"updatedBy": "[email protected]",
"sfUsername": "JohnR",
"firstName": "John",
"lastName": "Randall",
"title": "IICS Admin",
"password": "**********",
"phone": "123-456-7899",
"emails": "[email protected]",
"timezone": null,
"serverUrl": "https://na4.dm-us.informaticacloud.com/saas",
"icSessionId": "1Ckv5VDHe2IICHi2hq04EF",
"securityQuestion": "In what city were you born?",
"securityAnswer": "********",
"uuid": "a51jk7TB0IDcnWLwJdLaW2",
"forceChangePassword": false,
"roles": [
{
"name": "Admin",
"description": "Role for performing administrative tasks for an
organization. Has full access to all licensed services."
},
{
"name": "Data Preview",
"description": "Role to preview data"
},
loginSf 57
{
"name": "Designer",
"description": "Role for creating assets, tasks, and processes. Can
configure connections, schedules, and runtime environments. Has access to the
Application Integration Console."
}
],
}
Using the above response as an example, to send a GET request to obtain Secure Agent information, you
might use the following request:
GET https://na4.dm-us.informaticacloud.com/saas/api/v2/agent
Content-Type: application/json
Accept: application/json
icSessionId: 1Ckv5VDHe2IICHi2hq04EF
logout
Use this resource to log out of an organization and end the version 2 REST API session specified in the
request.
POST Request
To log out an organization and end the version 2 REST API session, include the Informatica Intelligent Cloud
Services session ID in the request header with the following URI.
/api/v2/user/logout
POST Response
Returns the 200 response code if the request is successful.
POST Example
To log out of your Informatica Intelligent Cloud Services organization, you might use the following request:
POST <serverURL>/api/v2/user/logout
Content-Type: application/json
Accept: application/json
icSessionId: <icSessionId>
logoutall
Use this resource to log out of an organization and end all version 2 REST API sessions for the organization.
POST Request
To log out of an organization and end all version 2 REST API sessions for the organization, use the following
URL:
https://dm-us.informaticacloud.com/ma/api/v2/user/logoutall
With this URL, use the following attributes in a logout object:
password
POST Response
Returns the success object if the request is successful.
POST Example
To log out of an organization and all version 2 REST API sessions, you might use the following request:
POST https://dm-us.informaticacloud.com/ma/api/v2/user/logoutall
Content-Type: application/json
Accept: application/json
{
"@type": "logout",
"username": "[email protected]",
"password": "mypassword"
}
org
Use this resource to request the details of your Informatica Intelligent Cloud Services organization or a
related sub-organization. You can use this resource to update an organization or related sub-organization.
You can also delete a sub-organization.
GET Request
To request the details of your organization, use the following URI:
/api/v2/org
To request the details of a sub-organization related to your organization, you can include the sub-
organization ID or sub-organization name in the URI. Use one of the following URIs:
/api/v2/org/<sub-organization ID>
/api/v2/org/name/<sub-organization name>
If you use the task name in the URI and the task name includes a space, replace the space with %20. For
example:
/api/v2/org/name/my%20suborg
GET Response
When you request the details of an organization, Informatica Intelligent Cloud Services returns the org object
in list format.
If the organization is a parent organization in an organization hierarchy, the org object includes the IDs and
names of all sub-organizations.
org 59
The org object includes the following attributes:
state String State where the organization is based. Returns a state code.
For more information, see “State codes” on page 358 .
zipcode String Postal code of the area where the organization is based.
timezone String Time zone of the organization. For more information, see “Time zone
codes” on page 366 .
country String Country where the organization is based. Returns a country code.
For more information, see “Country codes” on page 359 .
offerCode String Offer code assigned to Informatica Intelligent Cloud Services partners.
successEmails String Email address to receive notification of tasks that complete successfully.
warningEmails String Email address to receive notification of tasks that complete with errors.
errorEmails String Email address to receive notification of tasks that fail to complete.
spiUrl String This field is no longer applicable and has been deprecated.
passwordReuseInDays Int Number of days until a previous password can be used again.
A value of 0 means a password can always be reused.
subOrgLimit Int Number of sub-organizations allowed. If the limit has been customized, the
REST API returns the custom limit. Otherwise, the REST API returns the limit
associated with the edition.
restApiSessionLimit Int Number of concurrent REST API sessions allowed. If the limit has been
customized, the REST API returns the custom limit. Otherwise, the REST API
returns the limit associated with the edition.
jobExecUserProfile String Informatica Intelligent Cloud Services user account configured to run
contact validation tasks.
org 61
POST Request
You can update an Informatica Intelligent Cloud Services organization if the user that started the REST API
session has the Admin role and belongs to either the organization that you want to update or the parent
organization.
You can update a sub-organization if your organization has the appropriate license and if the user that
started the REST API session has the Admin role in the parent organization.
To update the details of a sub-organization related to your parent organization, use the organization ID in the
following URI. To update the details of your organization, omit the optional ID.
/api/v2/org/<id>
Note: When you update an organization through the REST API, the action is a full update. If a field isn't
included in the request, the value resets to the default.
You cannot update the organization ID, offer code, or organization administrator user account created with
the organization.
With this URI, you can use the following attributes in the org object:
state String Required State where the organization is based. Use the appropriate
when Country state code.
is US Required when Country is set to US.
For more information, see Appendix A , “State codes” on page
358 .
zipcode String Required Postal code of the area where the organization is based.
when Country Required when Country is set to US
is US
country String Yes Country where the organization is based. Use the appropriate
country code.
For more information, see Appendix A , “Country codes” on page
359 .
timezone String Time zone of the organization. Time zone honors Daylight
Saving Time.
For more information, see Appendix A , “Time zone codes” on
page 366 .
warningEmails String Default email addresses for warnings about job completion.
errorEmails String Default email address for notification about job failure.
employees String Yes Range of employees in the organization. Use one of the
following ranges:
- "0_10"
- "11_25"
- "26_50"
- "51_100"
- "101_500"
- "501_1000"
- "1001_5000"
- "5001_"
passwordReuseInDays Int Number of days until a previous password can be used again.
Maximum number of days is 730 (2 years).
A value of 0 means a password can always be reused.
POST Response
If successful, returns the org request object for the organization that you created or updated.
DELETE Request
You can delete an Informatica Intelligent Cloud Services sub-organization if the user that started the REST
API session has the Admin role and belongs the parent organization.
To delete an Informatica Intelligent Cloud Services organization, use the organization ID with the following
URI:
/api/v2/org/<id>
DELETE Response
Returns the 200 response code if the request is successful.
POST Example
To update a sub-organization with an ID of 02340000, you might use the following request:
POST <serverUrl>/api/v2/org/02340000
Content-Type: application/xml
Accept: application/xml
icSessionId: <icSessionId>
org 63
<org>
<name>Dev Org</name>
<address1>333 Main Street</address1>
<city>City</city>
<state>MD</state>
<zipcode>90001</zipcode>
<country>US</country>
<timezone>America/Chicago</timezone>
</org>
A successful request returns the org request object for the sub-organization that you updated.
register
Use this resource to create an Informatica Intelligent Cloud Services sub-organization. For Informatica
Intelligent Cloud Services partners only.
You can create an Informatica Intelligent Cloud Services sub-organization if your organization has the
appropriate license and if the user that started the REST API session has the Admin role in the parent
organization.
register 65
Field Type Required Description
sendEmail Boolean When registration completes, sends an email to the user email
address with temporary login information. Use TRUE to send an
email.
POST Response
Returns the user object if the request is successful. Returns the error object if errors occur.
createdBy String Informatica Intelligent Cloud Services user who created the user account.
updatedBy String Informatica Intelligent Cloud Services user who last updated the user account.
sfUsername String Salesforce user name. Included when user is configured to authenticate through
Salesforce.
password String Salesforce user password. Included when user is configured to authenticate
through Salesforce.
register 67
Field Type Description
emails String Email address to be notified when the user changes the account password.
timezone String Time zone of the user. Time zone honors Daylight Saving Time.
For more information, see “Time zone codes” on page 366 .
serverUrl String Informatica Intelligent Cloud Services URL for the organization the user belongs
to. Use the serverUrl as a base for most version 2 REST API resource URIs.
spiUrl String This field is no longer applicable and has been deprecated.
icSessionId String Informatica Intelligent Cloud Services session ID for version 2 REST API session.
Use in most version 2 REST API request headers.
forceChangePassword Boolean Determines if the user must reset the password after the user logs in for the first
time. Includes the following values:
- True. The user must reset the password.
- False. The user is not forced to reset the password.
POST Examples
To register an organization in JSON, you might use the following request:
POST <serverUrl>/api/v2/user/register
Content-Type: application/json
Accept: application/json
{
"@type" : "registration",
"user" : {
"@type" : "user",
"name" : "[email protected]",
"emails" : "[email protected]",
"firstName" : "firstName",
"lastName" : "lastName",
"title" : "jobTitle",
"phone" : "(0)1234 567 890",
"timezone" : null,
"forceChangePassword" : "true"
"optOutOfEmails" : "true"
},
"org" : {
"@type" : "org",
"offerCode" : "PPC30daytrial",
"campaignCode" : "PPC",
"name" : "myOrg",
"address1" : "1 Main St",
"city" : "Mycity",
"state" : "CA",
"zipcode" : "90210",
"country" : "US",
"employees" : "5001_"
},
"registrationCode" : "ics-standard",
"sendEmail" : true
}
A successful request returns the user object that was created, which includes the organization ID for the
organization that was created.
GET Response
Returns runtime environment information for the requested runtime environment. The runtimeEnvironment
object includes the following attributes:
createTime Date/time Date and time the runtime environment was created.
updateTime Date/time Date and time that the runtime environment was last updated.
isShared Boolean Indicates whether the Secure Agent group is shared. Returns one of the following
values:
- true. The Secure Agent group is shared.
- false. The Secure Agent group is not shared.
runtimeEnvironment 69
If you get information about a serverless runtime environment, the runtimeEnvironment object also includes
the serverlessConfig object. The serverlessConfig object includes the following attributes:
platform String Cloud platform that hosts the serverless runtime environment.
applicationType String Application that can use the serverless runtime environment.
statusMessageDetails String Validation error data from AWS for the serverless runtime environment.
maxComputeUnits String Maximum number of serverless compute units that a task can use.
Get Example
To request the details of a particular runtime environment, you might use the following request:
GET <serverUrl>/api/v2/runtimeEnvironment/00000425000000000004
Accept:application/json
icSessionId: <icSessionId>
The following text is a sample return in JSON:
{
"@type": "runtimeEnvironment",
"id": "00000425000000000004",
"orgId": "000004",
"name": "SUT_Agent",
"createTime": "2016-12-09T12:34:01.000Z",
"updateTime": "2016-12-09T17:54:00.000Z",
"createdBy": "[email protected]",
"updatedBy": "[email protected]",
"agents": [],
"isShared": true,
"federatedId": "6iPQuOsH1YAfnJxhZWPZjI"
}
The following text is a sample return for a serverless runtime environment:
{
"@type": "runtimeEnvironment",
"id": "01000000000000000039",
"orgId": "010211",
"name": "Serverless runtime environment 1",
"description": "My serverless runtime environment",
"createTime": "2020-08-25T13:21:16.000Z",
"updateTime": "2020-08-25T13:29:43.000Z",
"createdBy": "admin",
runtimeEnvironment 71
"updatedBy": "admin",
"agents": [],
"isShared": false,
"federatedId": "4sddtYsgbpnpTBjSZB12fs",
"serverlessConfig": {
"platform": "AWS",
"applicationType": "CDI",
"status": "RUNNING",
"statusMessage": "Serverless runtime is running",
"cloudProviderConfig": {
"cloudConfig": [
{
"infaAccountNumber": "064942996470",
"externalId": "7eeafa7c-6dd1-4666-8ac8-7431b1d72def",
"configurationName": "Serverless runtime environment 1",
"configurationDescription": "My serverless runtime environment",
"params": {
"s3": "s3://discale-qa-west2/test1",
"subnet": "subnet-08123adayy51ed327",
"role": "CDI_Serverless_Role",
"vpc": "vpc-02ef05yy73fb7f063",
"externalId": "7eeafa7c-6dd1-4666-8ac8-7431b1d72def",
"securityGroup": "sg-025d67343b0655372",
"accountNumber": "778525666549",
"referenceId": "4sddtYsgbpnpTBjSZB12fs",
"computeUnits": "1",
"executionTimeout": "2880",
"cloudInstanceId": "i-0e3e6g02r1g1364a3",
"zone": "usw2-az3",
"region": "us-west-2",
"infaAccountNumber": "064942996470",
"awsTags": "Key=NAME,Value=test1
Key=EMAIL,[email protected]"
}
}
]
},
"maxComputeUnits": "1",
"executionTimeout": "2880"
}
schedule
Use this resource to request the details of a schedule or the details of all schedules in the organization. You
can create or update a schedule. You can also delete a schedule.
Note: To leverage full scheduling capabilities, use the version 3 schedule resource instead of the version 2
schedule resource.
GET Request
To view the details of all schedules in the organization, use the following URI:
/api/v2/schedule
To request the details of a particular schedule, you can include the schedule ID or schedule name in the URI.
Use one of the following URIs:
/api/v2/schedule/<id>
/api/v2/schedule/name/<name>
GET Response
If successful, returns the schedule object for the requested schedule. Or, if you request the details for all
schedules, returns the schedule object for each schedule in the organization.
startTime Date/time Date and time when the schedule starts running.
startTimeUTC Date/time Date and time when the schedule starts running the tasks. Uses Coordinated Universal
Time (UTC).
endTime Date/time Date and time when the schedule stops running .
interval String Interval or repeat frequency at which the schedule runs. Returns one of the following
codes:
- None. The schedule does not repeat.
- Minutely. Tasks run on an interval based on the specified number of minutes, days,
and time range.
- Hourly. Tasks run on an hourly interval based on the start time of the schedule.
- Daily. Tasks run on a daily interval based on the start time of the schedule.
- Weekly. Tasks run on a weekly interval based on the start time of the schedule.
- Biweekly. Tasks run every two weeks based on the start time of the schedule.
- Monthly. Tasks run on a monthly interval based on the start time of the schedule.
frequency Int Frequency that the schedule runs for the specified interval. For example, if the interval
is Hourly, a frequency of 2 means the task runs every 2 hours.
Returned for Minutely, Hourly, and Daily intervals only.
rangeStartTime Date/time The start of the time range within a day that tasks run.
Returned for Minutely and Hourly intervals only.
schedule 73
Field Type Description
rangeEndTime Date/time The end of the time range within a day that tasks run.
Returned for Minutely and Hourly intervals only.
weekDay Boolean Tasks run on weekdays only. Returns one of the following codes:
- true
- false
Returned for Daily interval only.
dayOfMonth Int Date of the month that tasks run. Returns a date between 1-28.
Returned for Monthly interval only.
weekOfMonth String Week of the month that tasks run. Returns one of the following codes:
- First. The tasks run in the first week of the month.
- Second. The tasks run in the second week of the month.
- Third. The tasks run in the third week of the month.
- Fourth. The tasks run in the fourth week of the month.
- Last. The tasks run in the last week of the month.
Returned for Monthly interval only.
dayOfWeek String Day of the week that tasks run. Returns one of the following codes:
- Day. Tasks run on the first day or last day of the month, based on the selected
weekOfMonth option.
- Sunday
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
Returned for Monthly interval only.
timeZone String Time zone of the user who last updated the schedule. Time zone honors Daylight
Saving Time.
POST Request
To update a schedule, use the schedule ID with the following URI. To create a schedule, omit the optional
schedule ID.
/api/v2/schedule/<id>
You can submit a partial update using partial mode. To submit a request using partial mode, use a JSON
request and include the following line in the header:
Update-Mode=PARTIAL
You can use the following attributes in a schedule object:
startTime Date/time Yes Date and time when the schedule starts running.
startTimeUTC Date/time Yes Date and time when the schedule starts running. Uses Coordinated
Universal Time (UTC).
endTime Date/time Date and time when the schedule stops running. If you do not use this
parameter, the schedule runs indefinitely.
schedule 75
Field Type Required Description
interval String Yes Interval or repeat frequency at which the schedule runs. Use one of the
following options:
- None. Tasks run at the schedule start time. The schedule does not
repeat.
- Minutely. Tasks run on an interval based on the specified number of
minutes, days, and time range. You can use the following parameters:
- frequency. Frequency in minutes that tasks run.
- sun, mon, tue, wed, thu, fri, sat. The days of the week that tasks
run.
- startTimeRange and endTimeRange. The time range within a day
tasks should run. Do not use if you want tasks to run all day.
- endTime. When the schedule should stop running. Do not use if you
want the schedule to run indefinitely.
- Hourly. Tasks run on an hourly interval based on the start time of the
schedule. You can use the following parameters:
- frequency. Frequency in hours that tasks run.
- sun, mon, tue, wed, thu, fri, sat. The days of the week that tasks
run.
- startTimeRange and endTimeRange. The time range within a day
tasks should run. Do not use if you want tasks to run all day.
- endTime. When the schedule should stop running. Do not use if you
want the schedule to run indefinitely.
- Daily. Tasks run on a daily interval based on the start time configured
for the schedule. You can use the following parameters:
- frequency. Frequency in days that tasks run.
- weekDay. Runs the tasks every weekday. Do not use if you want the
tasks to run every day.
- endTime. When the schedule should stop running. Do not use if you
want the schedule to run indefinitely.
- Weekly. Tasks run on a weekly interval based on the start time of the
schedule. You can use the following parameters:
- sun, mon, tue, wed, thu, fri, sat. The days of the week that tasks
run.
- endTime. When the schedule should stop running. Do not use if you
want the schedule to run indefinitely.
- Biweekly. Tasks run every two weeks based on the start time of the
schedule. You can use the following parameters:
- sun, mon, tue, wed, thu, fri, sat. The days of the week that tasks
run.
- endTime. When the schedule should stop running. Do not use if you
want the schedule to run indefinitely.
- Monthly. Tasks run on a monthly interval based on the start time of
the schedule. You can use the following parameters:
- dayOfMonth. Day of the month when you want tasks to run,
between 1-28.
- dayOfWeek. Day of the week when you want tasks to run.
- weekOfMonth. Week of the month when you want tasks to run.
- endTime. When the schedule should stop running. Do not use if you
want the schedule to run indefinitely.
To indicate when tasks should run, use dayOfWeek with
weekOfMonth, such as the First Monday. Or use dayOfMonth, such as
1.
Tip: To run tasks on the last day of the month, use the Last
weekOfMonth parameter with the Day dayOfWeek parameter.
frequency Int Yes Repeat frequency for tasks. Use one of the following values:
- For the Minutely interval, use one of the following options: 5, 10, 15,
20, 30, 45.
- For the Hourly interval, use one of the following options: 1, 2, 3, 4, 6,
8, 12.
- For Daily intervals, use number of days between 1 -30.
Default is 1.
Use with Minutely, Hourly, and Daily intervals only.
rangeStartTime Date/time The start of the time range within a day that you want tasks to run.
Enter a date and time using standard date/time format. Only the time
portion is used.
Use with Minutely and Hourly intervals only.
rangeEndTime Date/time The end of the time range within a day that you want tasks to run. Enter
a date and time using standard date/time format. Only the time portion
is used.
Use with Minutely and Hourly intervals only.
weekDay Boolean Runs tasks on weekdays. Use one of the following options:
- True. Run tasks on Monday through Friday. Does not run tasks on the
weekend.
- False. Run tasks every day.
Use with the Daily interval only.
dayOfMonth Int Date of the month that tasks should run. Use a date between 1-28.
Use with the Monthly interval only.
Tip: To run tasks on the last day of the month, use the Last
weekOfMonth parameter with the Day dayOfWeek parameter.
schedule 77
Field Type Required Description
weekOfMonth String Week of the month that tasks should run. Use with dayOfWeek to
specify the day and week of the month that tasks should run. For
example, the First Day or the Last Wednesday of the month.
Use one of the following options:
- First
- Second
- Third
- Fourth
- Last
Use with the Monthly interval only.
dayOfWeek String Day of the week that tasks should run. Use with weekOfMonth to specify
the day and week of the month that tasks should run. For example, the
First Day or the Last Wednesday of the month.
Use one of the following options:
- Day
- Sunday
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
Use with the Monthly interval only.
timeZone String Time zone to use for the schedule. If no valid time zone is passed,
Informatica Intelligent Cloud Services uses the user's time zone.
For more information, see Appendix A, “Time zone codes” on page 366
POST Response
Returns the schedule response object for the schedule that you created or updated.
DELETE Request
To delete a schedule, use the schedule ID with the following URI:
/api/v2/schedule/<id>
DELETE Response
Returns the 200 response code if the request is successful.
GET Example
To request information about all schedules in the organization, you might use the following request:
GET <serverUrl>/api/v2/schedule
Accept: application/json
icSessionId: <icSessionId>
A successful request returns a schedule object for each schedule in the organization.
GET Request
To request the local time of the Informatica Intelligent Cloud Services server, use the following URI.
/api/v2/server/serverTime
GET Response
Returns the serverTime object if the request is sucessful. Returns an error object if errors occur.
GET Example
To check the local time of the Informatica Intelligent Cloud Services server, you might use the following
request:
GET <serverUrl>/api/v2/server/serverTime
Accept: application/xml
icSessionId: <icSessionId>
task
Use this resource to request a list of tasks of a specified type. You can use this resource to retrieve the name
and ID for a task.
Do not use this resource to obtain a task ID to run a job. Instead, use the lookup resource. The lookup
resource returns the federated task ID which is required to run a task that is not located in the Default folder.
Do not use this resource for a file ingestion task. Instead, use the file ingestion job resource. For more
information see, “tasks” on page 338.
GET Request
To request a list of tasks of a specified type, use the task type code in the following URI.
/api/v2/task?type=<type>
Use the following attribute in the URI:
type Yes For Data Integration, use one of the following codes:
- DMASK. Masking task.
- DRS. Replication task.
- DSS. Synchronization task.
- MTT. Mapping task.
- PCS. PowerCenter task.
serverTime 79
GET Response
If the request is successful, returns the task object for every task of the requested type. Returns the error
object if errors occur.
GET Example
To view a list of all synchronization tasks, use the following request.
/api/v2/task?type=DSS
user
Use this resource to request the details of an Informatica Intelligent Cloud Services user account or the
details of all user accounts in the organization. If you have administrator privileges, you can also use this
resource to create or update a user account and to delete a user account. To ensure organization security,
this resource does not display or update the password for a user account.
Note: To leverage full user management capabilities, use the version 3 users resource instead of the version
2 user resource. The version 3 users resource supports users, user groups, and roles. The version 2 user
resource does not support user groups and roles, and a GET request might not return all users in the
organization.
GET Request
To request the details of all Informatica Intelligent Cloud Services user accounts, use the following URI:
/api/v2/user
To request the details of a particular Informatica Intelligent Cloud Services user account, you can include the
user account ID or user name in the URI. Use one of the following URIs:
/api/v2/user/<id>
/api/v2/user/name/<name>
GET Response
When you request the details for a user account, Informatica Intelligent Cloud Services returns the user
object for the requested user account. When you request the details of all user accounts, Informatica
Intelligent Cloud Services returns the user object for each user account in the organization.
createdBy String Informatica Intelligent Cloud Services user who created the user account.
updatedBy String Informatica Intelligent Cloud Services user who last updated the user account.
sfUsername String Salesforce user name. Included when user is configured to authenticate through
Salesforce.
password String Salesforce user password. Included when user is configured to authenticate
through Salesforce.
user 81
Field Type Description
emails String Email address to be notified when the user changes the account password.
timezone String Time zone of the user. Time zone honors Daylight Saving Time.
For more information, see “Time zone codes” on page 366 .
serverUrl String Informatica Intelligent Cloud Services URL for the organization the user belongs
to. Use the serverUrl as a base for most version 2 REST API resource URIs.
spiUrl String This field is no longer applicable and has been deprecated.
icSessionId String Informatica Intelligent Cloud Services session ID for version 2 REST API session.
Use in most version 2 REST API request headers.
forceChangePassword Boolean Determines if the user must reset the password after the user logs in for the first
time. Includes the following values:
- True. The user must reset the password.
- False. The user is not forced to reset the password.
POST Request
You must be logged in as an administrator in order to create users or update user details. To update the
details of an existing user account, use the user account ID in the following URI.
/api/v2/user/<id>
To create a new Informatica Intelligent Cloud Services user account, omit the optional user account ID in the
URI.
orgId String Yes ID of the organization the user will belong to.
22 characters.
Note: Organizations that were created in legacy Informatica Cloud
might have an organization ID of 6 characters. You can find the
organization ID using the login resource.
name String Yes Informatica Intelligent Cloud Services user name. Must be a valid
email address when creating a user account using this resource.
Maximum length is 255 characters.
emails String - Email address to be notified when the user changes the account
password.
timezone String - Time zone of the user. Time zone honors Daylight Saving Time. Use
the appropriate time zone code.
If no valid time zone is passed, Informatica Intelligent Cloud
Services uses America/Los_Angeles by default.
For more information, see “Time zone codes” on page 366 .
securityQuestion String - Security question. Use one of the following codes to select the
security question:
- SPOUSE_MEETING_CITY
- FIRST_JOB_CITY
- CHILDHOOD_FRIEND
- MOTHER_MAIDEN_NAME
- PET_NAME
- CHILDHOOD_NICKNAME
- CUSTOM_QUESTION:"<question>"
user 83
Field Type Required Description
roles Yes Role for the user. Use one of the following codes:
- Service Consumer
- Designer
- Admin
forceChangePassword String - Determines if the user must reset the password after the user logs
in for the first time. Includes the following values:
- True. The user must reset the password.
- False. The user is not forced to reset the password.
POST Response
Returns the user response object for the requested user account. Or, if you requested information for all user
accounts, returns the user response object for each user account in the organization.
DELETE Request
To delete a user, use the user account ID in the following URI.
/api/v2/user/<id>
DELETE Response
Returns the 200 response code if the request is successful.
POST Example
To create a new user, you might use the following request:
POST <serverUrl>/api/v2/user/
Content-Type: application/xml
Accept: application/xml
icSessionId: <icSessionId>
<user>
<orgId>00342000</orgId>
<name>[email protected]</name>
<firstName>User</firstName>
<lastName>Name</lastName>
<title>developer</title>
<timezone>America/Chicago</timezone>
</user>
agentservice
Use this resource to stop or start a Secure Agent service.
After you send a POST request to start or stop a Secure Agent service, you can check the status of the
service using the REST API V2 agent resource.
POST request
To stop or start a Secure Agent service, use the following URI:
public/core/v3/agent/service
85
Include the following fields in the request:
serviceName String Yes Display name of the Secure Agent service to start or stop.
serviceAction String Yes Action to perform on the Secure Agent service. Include one of the following
values:
- start. Start the latest version of the Secure Agent service.
- stop. Stop all versions of the Secure Agent service.
agentId String Yes The ID of the agent on which the Secure Agent service is located.
To find the ID, send a lookup POST request that includes the agent path.
POST response
If the request is successful, the response includes one of the following states for the service:
State Description
UNKNOWN Status is unknown. Check the status using the REST API version 2 agent resource.
To find the status, send a lookup POST request that includes the agent path.
To use the export and import resources, the source and target organizations must have the appropriate
license.
To migrate objects, you export them from the source organization and then import them into the target
organization.
When you export assets, you can choose whether to include dependent objects. During the import operation,
you can choose which assets to import.
Informatica Intelligent Cloud Services does not include schedule information when you export an asset. After
the import operation, you can associate the imported assets with schedules. Also, when you export and
import schedules, the schedules are not associated with any assets.
The export and import resources do not migrate the associated state of the objects from the source
organization to the target organization. To migrate the state of the objects that you migrate, use the
fetchState and loadState resources.
After you export the Secure Agent configuration, you can make revisions to the configuration in the JSON file
that's included in the export package before you import it.
• Mappings
• Tasks
• Advanced taskflows
• Linear taskflows
• Business services
• Fixed-width configuration files
• Hierarchical schemas
• Mapplets
• Processes
• Guides
• Connections
• Service connectors
• Process objects
• Secure Agent configuration
export
Use this resource with the import resource to migrate objects from one organization to another.
Exporting objects includes a series of requests and responses. The end result is a ZIP file that contains the
exported objects. To export objects, you perform the following tasks:
POST request
You can export objects such as assets, connections, Secure Agent configurations, and schedules. To specify
the objects to export and start the export job, use the following URI:
/public/core/v3/export
Include the following fields in the request:
name String Name of the export job. If a name is not specified, the default
name will be used in the following format: job-
<currentTimeInMilliseconds>
{
"name" : "testJob1",
"objects" : [
{
"id": "l7bgB85m5oGiXObDxwnvK9",
"includeDependencies" : true
},
{
"id": "1MW0GDAE1sFgnvWkvom7mK",
"includeDependencies" : false
},
{
"id": "iIVBNZSpUKFg4N6g2PKUox"
}
]
}
export 89
POST response
If successful, returns the following information for the export job:
GET request
To obtain status of the export job, use one of the following URIs:
• To receive status of the export job, use the following URI, where <id> is the export job ID:
/public/core/v3/export/<id>
• To receive status for each object in the export job, use the following URI:
/public/core/v3/export/<id>?expand=objects
Continue polling the request until the state is SUCCESSFUL.
GET response
A request for an export job log returns the log in a text file.
objects Collection Objects in the export job. Returned only when the URI includes ?expand=objects
export 91
Field Type Description
export 93
}
},
{
"id": "fIQLvhNnsqBjXKNfjyZFaH",
"name": "ICS Taskflow",
"path": "/",
"type": "Project",
"description": "",
"status": {
"state": "SUCCESSFUL",
"message": null
}
},
{
"id": "hGrgtrajWMUjNIsnLKQCAi",
"name": "SQL Server Linux",
"path": null,
"type": "SAAS_CONNECTION",
"description": null,
"status": {
"state": "SUCCESSFUL",
"message": null
}
},
{
"id": "iIVBNZSpUKFg4N6g2PKUox",
"name": "abc_map",
"path": "/Default",
"type": "MAPPING",
"description": "",
"status": {
"state": "SUCCESSFUL",
"message": null
}
},
{
"id": "l7bgB85m5oGiXObDxwnvK9",
"name": "DSS",
"path": "/",
"type": "Project",
"description": "",
"status": {
"state": "SUCCESSFUL",
"message": null
}
},
{
"id": "lOqsFQE4OSWeyg77AeWwK2",
"name": "Linux",
"path": null,
"type": "SAAS_RUNTIME_ENVIRONMENT",
"description": null,
"status": {
"state": "SUCCESSFUL",
"message": null
}
}
]
}
If you requested an export job log, the contents of the text file might be similar to the following example:
> OIE_002 INFO 2019-02-05T22:50:08.788Z Starting export operation.
Execution Client: API
Job Name: m_RegionTotalNew-1549407002393
Organization: infa2.doc
RequestId: iklHoZTokKAiNO95Cw9NG3
User: janer2
> OIE_004 INFO 2019-02-05T22:50:09.042Z Successfully exported object [/SYS/
_SYSTEM_PROJECT] of type [Project] id [5UrdDrgV5yKerYgtJAA4IU]> OIE_004 INFO
2019-02-05T22:50:09.042Z Successfully exported object [/Explore/Accounts] of type
GET request
To download the export package, use the following URI:
/public/core/v3/export/<id>/package
The <id> is the export job ID.
GET response
If successful, you receive the ZIP stream in the response body and the response type will be application/zip.
import
Use this resource with the export resource to migrate objects from one organization to another.
Importing objects includes a series of requests and responses. To import objects, you perform the following
tasks:
import 95
resolution might be if you try to import an asset that has the same name as another asset in the import
location.
You can specify a runtime environment that exists in the target organization to use instead of a source
runtime environment. To find a list of the runtime environments in the target organization, you can use
the lookup resource.
Informatica Intelligent Cloud Services returns the status of the import such as In Progress or Success, or
returns an error message. The response also includes the source organization ID for the organization
that created the export package.
See “Starting an import job” on page 97.
4. Send an import GET request to get the status of the import job. You can also request status at the object
level.
Informatica Intelligent Cloud Services returns the status of the import job and if requested, status of
each object in the package.
See “Getting the import job status” on page 100.
POST request
To upload the import package, use the following URI:
/public/core/v3/import/package
For Content-Type, use
multipart/form-data
In the request body, include a part with the name of package. For its content, use the export ZIP file that you
want to import.
By default, Informatica Intelligent Cloud Services uses checksum validation to verify that no changes were
made to the contents of the export ZIP file after it was created. If you want to upload an import package that
contains a modified export ZIP file, include the relaxChecksum parameter and set the value to True.
POST response
If successful, returns the following information for the import job:
checksumValid Boolean Indicates whether the import package has valid checksum.
POST request
You can import objects such as assets, connections, Secure Agent configurations, and schedules. To specify
the import objects and start the import job, use the following URI:
/public/core/v3/import/<id>
The <id> is the import job ID received in the POST response for the import package upload.
To get the object IDs that you want to include in the request, you can use the lookup resource. For more
information, see “lookup” on page 110.
import 97
Field Type Required Description
POST response
If successful, returns the following information for the import job:
sourceOrgId String Organization ID of the organization that created the export package that was imported.
import 99
"sourceOrgId": "0VOx1gScNH7dlDyA4tD8yX"
}
If you receive an error, you might see a response similar to the following example:
{
"error": {
"code": "MigrationSvc_040",
"message": "User does not have required permissions.",
"requestId": "2ataXVlgw3ydI1Yb2MA4sq"
}
}
GET request
To obtain status of the import job, use one of the following URIs, where <id> is the import job ID:
GET response
A request for an import job log returns the log in a text file.
sourceOrgId String ID of the organization that created the export package that was imported.
import 101
GET response example
If your request for an import job's status is successful, you might receive a response similar to the following
example:
{
"id": "2oZb7vFI2QQg4ncd4AyCGn",
"createTime": "2017-10-26T08:40:09.000Z",
"updateTime": "2017-10-26T08:55:56.000Z",
"name": "ImportName",
"startTime": "2017-10-26T08:55:53.000Z",
"endTime": "2017-10-26T08:55:56.000Z",
"status": {
"state": "SUCCESSFUL",
"message": "Import completed successfully."
},
"objects": null,
"sourceOrgId": "0VOx1gScNH7dlDyA4tD8yX"
}
If your request included import status for individual objects, a successful response might be similar to the
following example:
{
"id": "2oZb7vFI2QQg4ncd4AyCGn",
"createTime": "2017-10-26T08:40:09.000Z",
"updateTime": "2017-10-26T08:55:56.000Z",
"name": "ImportName",
"startTime": "2017-10-26T08:55:53.000Z",
"endTime": "2017-10-26T08:55:56.000Z",
"status": {
"state": "SUCCESSFUL",
"message": "Import completed successfully."
},
"objects": [
{
"sourceObject": {
"id": "ejZY66c19YUccBdbGwKG4P",
"name": "M1",
"path": "/Default",
"type": "MAPPING",
"description": "ab"
},
"targetObject": {
"id": null,
"name": "M1",
"path": "/default1",
"type": "MAPPING",
"description": null,
"status": null
},
"status": {
"state": "SUCCESSFUL",
"message": "Reuse existing."
}
},
{
"sourceObject": {
"id": "iIVBNZSpUKFg4N6g2PKUox",
"name": "abc_map",
"path": "/Default",
"type": "MAPPING",
"description": ""
},
"targetObject": {
"id": null,
"name": "abc_map",
"path": "/default1",
"type": "MAPPING",
"description": null,
Key rotation
Use the key resource to get information about the organization's encryption key rotation settings and to
change the settings.
You must have the Key Admin role to view or change key rotation settings.
GET request
To get key rotation interval details, use the following URI:
/public/core/v3/key/rotationSettings
validRotationIntervals List <String> Valid key rotation intervals. To change the current key rotation interval to one
of these values, send a PATCH request.
rotationInterval String The current key rotation interval used for the organization.
PATCH request
To change the key rotation interval, send a PATCH request using the following URI:
/public/core/v3/key/rotationSettings
Include the following information:
rotationInterval String Yes The key rotation interval to use for the organization. Use one of the following
values:
- 90_DAYS
- 120_DAYS
- 180_DAYS
- 365_DAYS
Default is 365_DAYS.
PATCH response
Returns a success code if successful or an error object if errors occur.
PATCH example
To change the key rotation interval for an organization, you might send a request similar to the following
example:
POST <baseApiUrl>/public/core/v3/key/rotationSettings
Content-Type: application/json
license
Use this resource to get license information about organizations and assign licenses to sub-organizations. In
order to assign licenses to a sub-organization, you must log in to the parent organization as an administrator.
You can use the license resource to send the following requests:
• GET request to obtain an organization's editions, custom licenses, and custom limits.
• PUT request to update a sub-organization's license information.
GET request
To request license information for an organization or sub-organization, use the following URI:
/public/core/v3/license/org/<orgId>
GET response
Returns requested license information if successful or an error object if errors occur.
If successful, returns the following license information for the specified organization ID:
assignedEditions List Information about the organization's editions in the edition object.
license 105
Field Type Description
GET example
The following example shows a request for an organization's license information:
GET <baseApiUrl>/public/core/v3/license/org/1ax3wad2FEsz35asd2892s
Content-Type: application/json
Accept: application/json
INFA-SESSION-ID: <sessionId>
The response includes license information for the organization as shown in the following example:
{
"id": "1ax3wad2FEsz35asd2892s",
"parentOrg": null,
"customLicenses": [
{
"licenseType": "SUBSCRIPTION",
"expirationDate": "2017-11-05T18:01:24Z",
"licenseDef": "a5Xjp3VF3sjcyZUDa6UaWh"
}
],
"assignedEditions": [
{
"expirationDate": "2017-11-05T18:01:24Z",
"edition": "4sdvnCrYEjfcKjTvAoigEF"
},
{
"expirationDate": "2018-10-06T18:00:08Z",
"edition": "5SPzPwEFvBEds8LzVwXX4K"
}
],
"customLimits": [
{
"value": -1,
"limitDefinition": "09cX4Tmi1qSfrS997ORMYl"
}
]
}
PUT request
Use a PUT request to update a sub-organization's license information. In order to update licenses for a sub-
organization, you must log in to the parent organization as an administrator.
This request overwrites the sub-organization's licenses with the licenses in the request. To make changes to
a sub-organization's licenses, first request license information for the sub-organization, make your
modifications in the object, and then use it as the request body.
PUT response
Returns a success code if successful or an error object if errors occur.
{
"customLicenses": [
{
"licenseType": "SUBSCRIPTION",
"expirationDate": "2017-11-05T18:01:24Z",
"licenseDef": "a5Xjp3VF3sjcyZUDa6UaWh"
}
],
"assignedEditions": [
{
"expirationDate": "2017-11-05T18:01:24Z",
"edition": "4sdvnCrYEjfcKjTvAoigEF"
},
{
"expirationDate": "2018-10-06T18:00:08Z",
"edition": "5SPzPwEFvBEds8LzVwXX4K"
}
],
"customLimits": [
{
"value": -1,
"limitDefinition": "09cX4Tmi1qSfrS997ORMYl"
}
]
}
login
Use this resource to log in to Informatica Intelligent Cloud Services to use version 3 REST API resources.
The login response includes the session ID and base URL that you need to include in subsequent REST API
calls. Use values from the following fields:
• sessionId. A REST API session ID that you include in the header for version 3 REST API calls. The session
ID expires after 30 minutes of inactivity. After the session ID expires, log in again to continue working with
the REST API.
For information on retrieving session status details, see “Session IDs” on page 18.
• baseApiUrl. The base URL that you use in all version 3 resource URIs except for login, for example:
<baseApiUrl>/public/core/v3/lookup
POST request
To log in using version 3 of the Informatica Intelligent Cloud Services API, use one of the following URLs:
• North America:
https://dm-us.informaticacloud.com/saas/public/core/v3/login
• Europe:
https://dm-em.informaticacloud.com/saas/public/core/v3/login
• Asia Pacific:
https://dm-ap.informaticacloud.com/saas/public/core/v3/login
login 107
Use the following fields in a login object:
POST response
Returns user information if the request is successful. Returns the error object if errors occur.
Use the base URL and session ID returned in the response for subsequent requests during this session.
{
"username": "[email protected]",
"password": "mypassword"
}
If successful, the response includes the products and userInfo objects which contain the baseApiUrl and
sessionId values to use in subsequent calls, as shown in the following example:
{
"products": [
{
"name": "Integration Cloud",
"baseApiUrl": "https://pod.clouddev.informaticacloud.com/saas"
}
],
"userInfo": {
"sessionId": "9KA11tLGqxVcGeul8SQBK3",
"id": "9L1GFroXSDHe2IIg7QhBaT",
"name": "user",
"parentOrgId": "52ZSTB0IDK6dXxaEQLUaQu",
"orgId": "0cuQSDTq5sikvN7x8r1xm1",
"orgName": "MyOrg_INFA",
"groups": {},
"status": "Active"
}
}
Using the above response as an example, to send a GET request to obtain license information, you might use
the following request:
GET https://pod.clouddev.informaticacloud.com/saas/public/core/v3/license/org/
0cuQSDTq5sikvN7x8r1xm1
Content-Type: application/json
Accept: application/json
INFA-SESSION-ID: 9KA11tLGqxVcGeul8SQBK3
logout
Use this resource to log out of an organization and end the version 3 REST API session specified in the
request.
POST request
To log out of an organization and end the version 3 REST API session, include the Informatica Intelligent
Cloud Services session ID in the request header with the following URI:
https://dm-us.informaticacloud.com/saas/public/core/v3/logout
POST response
Returns the 200 response code if the request is successful or an error object if errors occur.
logout 109
POST example
To log out of your Informatica Intelligent Cloud Services organization, use the following request:
POST https://dm-us.informaticacloud.com/saas/public/core/v3/logout
Content-Type: application/json
Accept: application/json
INFA-SESSION-ID: <sessionId>
lookup
Use the lookup resource to look up an object's ID, name, path, or type attributes.
POST request
This resource is usually used to obtain an object's ID to use in an export request or job request. When you
use this resource to obtain an object's ID, include the object path and type in the lookup request.
For a job request, use the value of the id field returned in the lookup response for the federated task ID field
in the job request.
path String Required with type if Full path of the object including project, folder, and object name.
object ID not included.
POST response
Returns object information if successful or an error object if errors occur.
id String Global identifier of the object. Use the value of this field as the value for taskFederatedId
when you submit a job request.
lookup 111
Field Type Description
path String Full path of the object including project, folder, and object name.
POST example
The following example shows a lookup request for eight objects:
POST <baseApiUrl>/public/core/v3/lookup
Content-Type: application/json
Accept: application/json
INFA-SESSION-ID: 9KA11tLGqxVcGeul8SQBK3
{
"objects": [{
"id" : "2iXOKghGpySlgv6ifQImyl"
}, {
"path" : "Default/Synchronization Task1",
"type" : "DSS"
}, {
"id" : "hTrrjm1kawScIm1BGEj6UV"
}, {
"path" : "My Project",
"type" : "Project"
}, {
"path" : "My Project/DSS Tasks Folder",
"type" : "Folder"
}, {
"path": "USW1R90FPZXD",
"type": "Agent"
}, {
"path": "USW1R90FPZXD",
"type": "AgentGroup"
}, {
"path": "FF_Conn_1",
"type": "Connection"
}]
}
The response includes lookup information for each object as shown in the following example:
{
"objects": [
{
"id": "2iXOKghGpySlgv6ifQImyl",
"path": "Default/Mapping1",
"type": "DTEMPLATE",
"description": "My Mapping 1",
"updateTime": "2018-04-13T20:44:37Z"
},
{
"id": "1fOqrwpFvLkimAkFFvIiwl",
"path": "Default/Synchronization Task1",
"type": "DSS",
"description": "Sync Data Task",
"updateTime": "2018-04-13T20:45:44Z"
},
{
For example, in Organization A, a mapping task with a Sequence Generator transformation has a NEXTVAL
value of 3270. The same task was migrated to Organization B, however the NEXTVAL value in Organization B
is 0. You want to synchronize the task's state between Organization A and Organization B so that the
NEXTVAL value in both organizations has a value of 3270. You use the fetchState and loadState resources to
synchronize the NEXTVAL value so that you can run the task in Organization B while preserving the sequence
of numbers.
You can make up to 100 fetchState and 100 loadState calls each day.
To use the fetchState and loadState resources, the organizations must have the appropriate license.
The process of synchronizing object states is similar to the process of migrating objects. To synchronize
object states, you fetch the states in the primary organization using the fetchState resource, and you load
them into the target organization using the loadState resource.
Use the fetchState resource to create an object states package that you upload into other organizations
using the loadState resource.
Creating the object states package includes a series of requests and responses, similar to the process of
exporting assets. The end result is a ZIP file that contains the object states that you want to load to other
organizations. To create the object states package, you perform the following tasks:
1. Send a lookup GET request to receive the object IDs for the object states you want to synchronize.
Informatica Intelligent Cloud Services returns the object IDs.
See “lookup” on page 110.
2. Send a fetchState POST request to start the job, using the object IDs returned in the lookup response.
Informatica Intelligent Cloud Services returns the job ID for the fetchState job.
See “Starting a fetchState job” on page 115.
3. Send a fetchState GET request to get the status of the job, using the fetchState job ID for the object state
package.
Informatica Intelligent Cloud Services returns the job ID and status. The response can also include a list
of the object IDs and associated object states that are in the package.
See “Getting the fetchState job status” on page 117.
4. Send a fetchState GET request to download the package.
Informatica Intelligent Cloud Services returns the package in a ZIP file.
See “Downloading an object states package” on page 119.
The object states package contains state information in a JSON file for each object. Each file name uses the
following format:
<task name>.<task type>.runtime.json
For example, a file with the name of mt_MappingTask106.MTT.runtime.json might contain the following
data:
{
"taskRun" : {
"lastRuntime" : "2018-12-13T09:05:17.000Z"
},
"taskStateVariables" : [ {
"category" : "TX_VARIABLE",
"name" : "Sequence",
"value" : "26908"
} ]
}
You can change the following attributes in an object state file if required:
POST request
To start the job, use the following URI:
/public/core/v3/fetchState
Include the following fields in the request:
objects Collection Yes Object IDs for the states to include in the object state package.
<complex Note: Informatica recommends that you include no more than
type> 1000 objects in a package.
{
"name" : "fetchStateJob1",
"objects" : [
{
"id": "l7bgB85m5oGiXObDxwnvK9",
"includeDependencies" : true
},
{
"id": "1MW0GDAE1sFgnvWkvom7mK",
"includeDependencies" : false
},
{
"id": "iIVBNZSpUKFg4N6g2PKUox"
}
]
}
objects Collection Collection of objects and object level status. Returns null if blank.
GET request
To get status of the fetchState job, use one of the following URIs:
• To receive status of the fetchState job, use the following URI, where <id> is the fetchState job ID:
/public/core/v3/fetchState/<job id>
• To receive status for each object's state in the fetchState job, use the following URI:
/public/core/v3/fetchState/<job id>?expand=objects
Continue polling the request until the state is SUCCESSFUL.
GET response
A request for status returns the following status information:
objects Collection Objects in the fetchState job. Returned when the URI includes ?expand=objects
GET request
To download the object states package, use the following URI:
/public/core/v3/fetchState/<id>/package
The <id> is the fetchState job ID.
GET response
If successful, you receive the ZIP stream in the response body and the response type is application/zip.
loadState
Use this resource with the fetchState resource to synchronize object states across multiple organizations.
Loading object states includes a series of requests and responses. To load states into an organization, you
perform the following tasks:
POST request
To upload the object states package, use the following URI:
/public/core/v3/loadState/package
For Content-Type, use
multipart/form-data
In the request body, include a part with the name of package. For its content, use the object states ZIP file
that you want to upload.
POST response
If successful, returns the following information for the loadState job:
checksumValid Boolean Indicates whether the object states package has valid checksum.
POST request
To specify the objects and start the loadState job, use the following URI:
/public/core/v3/loadState/<id>
The <id> is the loadState job ID received in the POST response for the object states package upload.
{
"name" : "stateImportJob",
"importSpecification" : {
"includeObjects" : ["iIVBNZSpUKFg4N6g2PKUox","ejZY66c19YUccBdbGwKG4P"],
"objectSpecification" : [{
"sourceObjectId" : "iIVBNZSpUKFg4N6g2PKUox"
},
{
"sourceObjectId" : "5FA0DnMzeuDbYZnn3hdto9",
"targetObjectId" : "5KgUiEkW95NkjLRRefWKiG"
}]
}
}
POST response
If successful, returns the following information for the loadState job:
objects Collection Objects included in the loadState job and object level status.
sourceOrgId String Organization ID of the organization that created the object states package.
checksumValid Boolean Indicates whether the import package has valid checksum.
GET request
To get status of the loadState job, use one of the following URIs, where <id> is the loadState job ID:
updateTime String Last time the object states package was updated.
sourceOrgId String ID of the organization that created the object states package.
objects
Use the objects resource to get a list of an organization's assets. You might use this resource to find assets
to export.
You can also use this resource to find object dependencies for an asset.
Finding assets
Use the objects resource to find assets in an organization using query parameters.
Query parameters include filters for asset type, tag, folder location, last update time, the user who last
updated the asset, and source control metadata. Query parameters also include the maximum number of
assets to return and the number of elements to skip.
The response does not include assets that you do not have privileges to read.
GET request
To request a list of assets, use the following URI:
/public/core/v3/objects?<query parameters>
skip Int Number of elements to skip. For example, a value of 4 excludes the first four assets in the
folder.
You can use the following fields to define the query filter:
location String == The project and folder path where the assets are
located, such as Default/Sales.
updateTime Date < The last time the assets were updated.
<=
==
=>
>
!=
objects 127
Field Type Operators Description
updatedBy String == The user who last updated the assets. Use the
!= userName value for the user.
sourceControl.hash String ==, != Source control hash. Supports partial hash using a
wildcard ( * ).
sourceControl.lastCheckinTime Date <,<=,==,=>,>, != The last time the asset was checked in.
sourceControl.lastPullTime Date <,<=,==,=>,>, != The last time the asset was pulled.
To request a list of Data Integration mapping tasks that were last updated November 21, 2018 or later, you
might use the following URI:
/public/core/v3/objects?q=type=='MTT' and updateTime>=2018-11-21T12:00.00Z
To request a list of assets located in the Default/SalesOpps folder that were last updated before March 27,
2018, you might use the following URI:
/public/core/v3/objects?q=location=='Default/SalesOpps' and
updateTime<2018-03-27T12:00.00Z
To request a list of assets associated with the UpsellOpps tag that were last updated January 10, 2018 or
later, you might use the following URI:
/public/core/v3/objects?q=tag=='UpsellOpps' and updateTime>=2018-01-10T12:00.00Z
To request a list of up to 150 assets that were last updated December 30, 2017, excluding Data Integration
mappings, you might use the following URI:
/public/core/v3/objects?q=type!='MAPPING' and updateTime=2017-12-30T12:00.00Z&max=150
GET response
Returns the object if successful or an error object if errors occur.
id String Global identifier of the asset. Use the value of this field as the value
for taskFederatedId when you submit a job request.
path String Full path of the asset including project, folder, and object name.
updatedBy String User who last updated the asset. If the asset is a system-created
object such as the Default project and the Add-On Bundles folder, the
value for this field is Informatica.
GET example
The following example shows a request to receive a list of assets that are in the P1 folder and limit the
response to two assets:
GET /saas/public/core/v3/objects?q=location=='P1'&limit=2
Content-Type: application/json
Accept: application/json
INFA-SESSION-ID: 3H05q5PicfolyDXnp3N06c
objects 129
The response includes information for the first two assets as shown in the following example:
{
"count": 4,
"objects": [
{
"id": "1a3TnUrT2cfiwQGtkWQEUy",
"path": "P1/F1",
"type": "Folder",
"description": "",
"updatedBy": "[email protected]",
"updateTime": "2018-12-17T00:29:29Z"
"tags": [
"tag3",
"tag4"
],
"sourceControl": {
"checkedOutBy": "[email protected]",
"checkedOutTime": "2020-05-05T17:37:13Z",
"hash": "3e082fb9bcb2349e9f0a4fb516c739610c869391",
"lastCheckinTime": "2020-05-05T04:51:09Z",
"lastCheckinBy": "[email protected]",
"lastPullTime": null,
"sourceControlled": true
},
"customAttributes": {
"publishedBy": "[email protected]"
}
},
{
"id": "0dGB1jBDWcuhrTxG9Gy1Kh",
"path": "P1/Mapping1",
"type": "DTEMPLATE",
"description": "",
"updatedBy": "[email protected]",
"updateTime": "2018-12-10T02:25:14Z"
"tags": [
"tag3",
"tag4"
],
"sourceControl": {
"checkedOutBy": null,
"checkedOutTime": null,
"hash": "a98327e09883bb30583574b48113bf1d3ab9d494",
"lastCheckinTime": "2020-05-27T20:43:05Z",
"lastCheckinBy": "[email protected]",
"lastPullTime": null,
"sourceControlled": true
},
"customAttributes": {
"publishedBy": "[email protected]",
"publicationDate": "2020-05-25T11:43:12Z"
}
}
]
}
GET request
To request a list of dependencies for an asset, use the following URI:
/public/core/v3/objects/<objectId>/references?<parameters>
GET response
Returns a list of objects if successful or an error object if errors occur.
references Collection Includes information for each object that uses or is used by the asset.
<complex type>
objects 131
Field Type Description
GET example
The following example is a request to receive a list of objects that an asset uses with a limit of 25 objects in
the response:
GET /saas/public/core/v3/objects/1a3TnUrT2cfiwQGtkWQEUy/references?
refType=Uses&skip=0&limit=25
Content-Type: application/json
Accept: application/json
INFA-SESSION-ID: 3H05q5PicfolyDXnp3N06c
The response includes a list of objects that the asset uses, as shown in the following example:
{
"id": "1a3TnUrT2cfiwQGtkWQEUy",
"count": 2,
"references": [
{
"id": "2iXOKghGpySlgv6ifQImyl",
"appContextId": "N0A1700000000001J",
"path": "Default/Mapping1",
"type": "DTEMPLATE",
"description": "My Mapping 1",
"updateTime": "2018-04-12T21:34:11Z"
}
{
"id": "1fOqrwpFvLkimAkFFvIiwl",
"appContextId": "N0A1700000000001K",
"path": "FF_Conn_1",
"type": "Connection",
"description": null,
"updateTime": "2018-04-12T21:33:11Z"
}
]
}
Orgs
Use this resource to get a list of trusted IP address ranges for an organization or a sub-organization. You can
also use this resource to enable or disable trusted IP address filtering and add trusted IP address ranges.
Note: A sub-organization's trusted IP ranges are independent of the parent organization's trusted IP ranges.
GET request
To request a list of trusted IP address ranges for an organization or a sub-organization, use the following URI:
/public/core/v3/Orgs/<organization ID>/TrustedIP
GET example
To get a list of trusted IP ranges for an organization, you might send a request similar to the following
example:
GET <baseApiUrl>/public/core/v3/Orgs/6MRgiMIfvdRfUuCCCLICcI/TrustedIP
You might receive a response similar to the following example:
{
"id": "6MRgiMIfvdRfUuCCCLICcI",
"enableIP": false,
"ipRanges": [
{
"startIP": "10.29.5.1",
"endIP": "10.29.5.2"
}
]
}
PUT request
To enable or disable trusted IP ranges and add values of trusted IP ranges for an organization or a sub-
organization, send a PUT request using the following URI:
/public/core/v3/Orgs/<organization ID>/TrustedIP
Note: If you add trusted IP address ranges for an organization, existing trusted IP address ranges are
overwritten.
enableIP Boolean No Whether to enable IP address filtering. If enabled, at least one IP address range
must be specified.
Orgs 133
Field Type Required Description
PUT response
If the request is successful, the response includes trusted IP address information for the specified
organization.
PUT example
To enable the trusted IP addresses feature for an organization and add a range of trusted IP addresses, you
might send a request similar to the following example:
PUT <baseApiUrl>/public/core/v3/Orgs/6MRgiMIfvdRfUuCCCLICcI/TrustedIP
Content-Type: application/json
Accept: application/json
INFA-SESSION-ID: 9KA11tLGqxVcGeul8SQBK3
{
"enableIP": "true",
"ipRanges": [
{
"startIP": "10.29.4.5",
"endIP": "10.29.5.2"
}
]
}
You might receive a response similar to the following example:
{
"id": "6MRgiMIfvdRfUuCCCLICcI",
"enableIP": true,
"ipRanges": [
{
"startIP": "10.29.4.5",
"endIP": "10.29.5.2"
}
]
}
To add multiple ranges of trusted IP addresses, you might send a request similar to the following example:
PUT <baseApiUrl>/public/core/v3/Orgs/6MRgiMIfvdRfUuCCCLICcI/TrustedIP
Content-Type: application/json
Accept: application/json
INFA-SESSION-ID: 9KA11tLGqxVcGeul8SQBK3
{
"enableIP": true,
"ipRanges": [{"startIP": "10.29.4.5", "endIP":"10.29.5.2"}, {"startIP":
"10.29.10.1", "endIP":"10.29.10.5"}, {"startIP": "10.29.11.1", "endIP":"10.29.11.5"}]
}
You might receive a response similar to the following example:
{
"id": "6MRgiMIfvdRfUuCCCLICcI",
"enableIP": true,
"ipRanges": [
{
"startIP": "10.29.4.5",
"endIP": "10.29.5.2"
},
privileges
Use this resource to obtain a list of privileges that you can use for custom roles.
GET request
You can request a list of the privileges that you are currently licensed to use. Or, you can request a list of all
of the privileges, including the privileges that are disabled due to expired licenses.
GET response
If successful, returns the following information for each privilege:
service String The Informatica Intelligent Cloud Services service that applies to the privilege.
status String Status of the privilege. Returns one of the following values:
- Enabled. License to use the privilege is valid.
- Disabled. License to use the privilege has expired.
- Unassigned. No license to use this privilege.
- Default. Privilege included by default.
privileges 135
},
{
"id": "0bsvE8I4soacaMt8RHx1yT",
"name": "update.RULE_SPECIFICATION",
"description": "update RULE_SPECIFICATION",
"service": "DQ",
"status": "Unassigned"
},
{
"id": "0CFJVGBp7Cae8o9EVFakYz",
"name": "view.RULE_SPECIFICATION",
"description": "view RULE_SPECIFICATION",
"service": "DQ",
"status": "Disabled"
},....
]
roles
Use this resource to get the details for roles in your organization. You can also use this resource to create
and delete custom roles.
GET request
You can request the details for all of your organization's roles or request the details for a particular role.
q String Query filter. You can filter using one of the following fields:
- roleId. Unique identifier for the role.
- roleName. Name of the role.
expand String Returns the privileges associated with the role specified in the query filter.
Include the following phrase in the query:
expand=privileges
For example, to get details for the Business Manager role including privileges, you might use the following
request:
/public/core/v3/roles?q=roleName=="Business Manager"&expand=privileges
GET response
If successful, returns the following information for each role:
updateTime String Date and time the role was last updated.
systemRole Boolean Whether the role is a system-defined role. Returns one of the following values:
- True. Role is a system-defined role.
- False. Role is a custom role.
status String Whether the organization's license to use the role is valid or has expired. Returns one
of the following values:
- Enabled
- Disabled
roles 137
"updatedBy": "ops-post-deploy-user",
"createTime": "2019-03-22T21:26:46.000Z",
"updateTime": "2019-03-22T21:26:52.000Z",
"roleName": "Business Manager",
"description": "Role used for business managers",
"displayName": "Application Integration Business Manager",
"displayDescription": "Role used for business managers",
"systemRole": true,
"status": "Disabled",
"privileges": [
{
"id": "5Cgp0GcsmRejyxIgV4eXy1",
"name": "view.ai.console",
"description": "View application integration console",
"service": "ApplicationIntegration",
"status": "Disabled"
},
{
"id": "aReU2uciLYglcq0Ntvc2Ob",
"name": "view.ai.assets",
"description": "View application integration assets",
"service": "ApplicationIntegration",
"status": "Disabled"
},
{
"id": "8zDel5v89cKfeMtM2FHFEw",
"name": "view.ai.designer",
"description": "View application integration designer",
"service": "ApplicationIntegration",
"status": "Disabled"
}
]
}
]
POST request
To create a custom role, send a POST request using the following URI:
/public/core/v3/roles
Note: The number of users, user groups, and roles combined cannot exceed 1000 for an organization.
POST response
If successful, returns the roles object with the details you included in the POST request.
POST example
To create a custom role, you might send a request similar to the following example:
POST <baseApiUrl>/public/core/v3/roles
Content-Type: application/json
Accept: application/json
INFA-SESSION-ID: <sessionId>
{
DELETE request
To delete a role, use the following URI:
/public/core/v3/roles/<roleId>
schedule
Use this resource to request details of the schedules in the organization. You can also use this resource to
create, update, or delete schedules.
Note: To leverage full scheduling capabilities, use this resource instead of the version 2 schedule resource.
GET request
To get the details of all schedules in the organization, use the following URI:
/public/core/v3/schedule
To get the details of a schedule using the schedule ID, use the following URI:
/public/core/v3/schedule/<id>
schedule 139
You can use a query parameter to get the details for specific schedules. For example, to get the details of all
disabled schedules created by the user jdoe, you might use the following URI:
/public/core/v3/schedule/q=status=='Disabled' and createdBy=='jdoe'
You can use the following query parameters in the URI:
updateTime Date Last time the schedule was updated, in UTC format.
You can use the following operators:
- <
- <=
- ==
- =>
- >
- !=
interval String Interval or repeat frequency at which the schedule runs. You can use the following
values:
- None
- Minutely
- Hourly
- Daily
- Weekly
- Biweekly
- Monthly
You can use the following operators:
- ==
- !=
GET response
If successful, returns the schedules object for the requested schedule. If you request the details for all
schedules, the schedules object contains details for each schedule in the organization.
status String Status of the schedule. Returns one of the following values:
- enabled
- disabled
startTime Date/time Date and time when the schedule starts running, in UTC format.
endTime Date/time Date and time when the schedule stops running.
interval String Interval or repeat frequency at which the schedule runs tasks. Returns one of the
following codes:
- None. The schedule does not repeat.
- Minutely. Tasks run on an interval based on the specified number of minutes,
days, and time range.
- Hourly. Tasks run on an hourly interval based on the start time of the schedule.
- Daily. Tasks run on a daily interval based on the start time of the schedule.
- Weekly. Tasks run on a weekly interval based on the start time of the schedule.
- Biweekly. Tasks run every two weeks based on the start time of the schedule.
- Monthly. Tasks run on a monthly interval based on the start time of the
schedule.
frequency Int Frequency that the schedule runs for the specified interval. For example, if the
interval is Hourly, a frequency of 2 means the task runs every 2 hours.
Returned for Minutely, Hourly, and Daily intervals only.
rangeStartTime Date/time The start of the time range within a day that tasks run.
Returned for Minutely and Hourly intervals only.
rangeEndTime Date/time The end of the time range within a day that tasks run.
Returned for Minutely and Hourly intervals only.
sun Boolean Tasks run on Sunday. Returns one of the following codes:
- true
- false
Returned for Minutely, Hourly, Weekly, and Biweekly intervals only.
schedule 141
Field Type Description
weekDay Boolean Tasks run on weekdays only. Returns one of the following codes:
- true
- false
Returned for the Daily interval only.
dayOfMonth Int Date of the month that tasks run. Returns a date between 1-28.
Returned for the Monthly interval only.
weekOfMonth String Week of the month that tasks run. Returns one of the following codes:
- First. The tasks run in the first week of the month.
- Second. The tasks run in the second week of the month.
- Third. The tasks run in the third week of the month.
- Fourth. The tasks run in the fourth week of the month.
- Last. The tasks run in the last week of the month.
Returned for the Monthly interval only.
dayOfWeek String Day of the week that tasks run. Returns one of the following codes:
- Day. Tasks run on the first day or last day of the month, based on the selected
weekOfMonth option.
- Sunday
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
Returned for the Monthly interval only.
GET example
To request information about a schedule using the schedule ID, you might use the following request:
GET <baseApiUrl>/public/core/v3/schedule/0An1v84VPL3k6kypOlxq06D0000000000003
Accept: application/json
INFA-SESSION-ID: <sessionId>
A successful response might look like the following example:
{
"id": "0An1v84VPL3k6kypOlxq06D0000000000003",
POST request
To create a schedule, use the following URI:
/public/core/v3/schedule
You can use the following fields in a schedules object:
status String - Status of the schedule. Use one of the following values:
- enabled
- disabled
Default is enabled.
startTime Date/time Yes Date and time when the schedule starts running, in UTC format.
endTime Date/time - Date and time when the schedule stops running. If you do not use this
parameter, the schedule runs indefinitely.
schedule 143
Field Type Required Description
interval String Yes Interval or repeat frequency at which the schedule runs tasks. Use one of
the following options:
- None. Tasks run at the schedule start time. The schedule does not
repeat.
- Minutely. Tasks run on an interval based on the specified number of
minutes, days, and time range. You can use the following parameters:
- frequency. Frequency in minutes that tasks run.
- sun, mon, tue, wed, thu, fri, sat. The days of the week that tasks run.
- startTimeRange and endTimeRange. The time range within a day
tasks should run. Do not use if you want tasks to run all day.
- endTime. When the schedule should stop running. Do not use if you
want the schedule to run indefinitely.
- Hourly. Tasks run on an hourly interval based on the start time of the
schedule. You can use the following parameters:
- frequency. Frequency in hours that tasks run.
- sun, mon, tue, wed, thu, fri, sat. The days of the week that tasks run.
- startTimeRange and endTimeRange. The time range within a day
tasks should run. Do not use if you want tasks to run all day.
- endTime. When the schedule should stop running. Do not use if you
want the schedule to run indefinitely.
- Daily. Tasks run on a daily interval based on the start time configured
for the schedule. You can use the following parameters:
- frequency. Frequency in days that tasks run.
- weekDay. Runs the tasks every weekday. Do not use if you want the
tasks to run every day.
- endTime. When the schedule should stop running. Do not use if you
want the schedule to run indefinitely.
- Weekly. Tasks run on a weekly interval based on the start time of the
schedule. You can use the following parameters:
- sun, mon, tue, wed, thu, fri, sat. The days of the week that tasks run.
- endTime. When the schedule should stop running. Do not use if you
want the schedule to run indefinitely.
- Biweekly. Tasks run every two weeks based on the start time of the
schedule. You can use the following parameters:
- sun, mon, tue, wed, thu, fri, sat. The days of the week that tasks run.
- endTime. When the schedule should stop running. Do not use if you
want the schedule to run indefinitely.
- Monthly. Tasks run on a monthly interval based on the start time of the
schedule. You can use the following parameters:
- dayOfMonth. Day of the month when you want tasks to run, between
1-28.
- dayOfWeek. Day of the week when you want tasks to run.
- weekOfMonth. Week of the month when you want tasks to run.
- endTime. When the schedule should stop running. Do not use if you
want the schedule to run indefinitely.
To indicate when tasks should run, use dayOfWeek with weekOfMonth,
such as the First Monday. Or use dayOfMonth, such as 1.
Tip: To run tasks on the last day of the month, use the Last weekOfMonth
parameter with the Day dayOfWeek parameter.
Default is no interval.
frequency Int Yes Repeat frequency for tasks. Use one of the following values:
- For Minutely intervals, use one of the following options: 5, 10, 15, 20,
30, 45.
Default is 5.
- For Hourly intervals, use one of the following options: 1, 2, 3, 4, 6, 8, 12.
Default is 1.
- For Daily intervals, use number of days between 1 -30.
Default is 1.
Use with Minutely, Hourly, and Daily intervals only.
rangeStartTime Date/time - The start of the time range within a day that you want tasks to run. Enter
a date and time using standard date/time format. Only the time portion is
used.
Use with Minutely, Hourly, and Daily intervals only.
rangeEndTime Date/time - The end of the time range within a day that you want tasks to run. Enter a
date and time using standard date/time format. Only the time portion is
used.
Use with Minutely, Hourly, and Daily intervals only.
weekDay Boolean - Runs tasks on weekdays. Use one of the following options:
- True. Run tasks on Monday through Friday. Does not run tasks on the
weekend.
- False. Run tasks every day.
Use with the Daily interval only.
schedule 145
Field Type Required Description
dayOfMonth Int - Date of the month that tasks should run. Use a date between 1-28.
Use with the Monthly interval only.
Tip: To run tasks on the last day of the month, use the Last weekOfMonth
parameter with the Day dayOfWeek parameter.
weekOfMonth String - Week of the month that tasks should run. Use with dayOfWeek to specify
the day and week of the month that tasks should run. For example, the
First Day or the Last Wednesday of the month.
Use one of the following options:
- First
- Second
- Third
- Fourth
- Last
Use with the Monthly interval only.
dayOfWeek String - Day of the week that tasks should run. Use with weekOfMonth to specify
the day and week of the month that tasks should run. For example, the
First Day or the Last Wednesday of the month.
Use one of the following options:
- Day
- Sunday
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
Use with the Monthly interval only.
POST response
Returns the schedules response object for the schedule that you created or updated.
PATCH request
To update a schedule, use the following URI:
/public/core/v3/schedule/<id>
You can use this request to update, enable, or disable a schedule. Include the following fields in the request
body:
status String - Status of the schedule. Use one of the following values:
- enabled
- disabled
Default is enabled.
startTime Date/time - Date and time when the schedule starts running the tasks, in UTC
format.
endTime Date/time - Date and time when the schedule stops running the tasks. If you do
not use this parameter, the schedule runs indefinitely.
schedule 147
Field Type Required Description
interval String - Interval or repeat frequency at which the schedule runs tasks. Use
one of the following options:
- None. Tasks run at the schedule start time. The schedule does
not repeat.
- Minutely. Tasks run on an interval based on the specified number
of minutes, days, and time range. You can use the following
parameters:
- frequency. Frequency in minutes that tasks run.
- sun, mon, tue, wed, thu, fri, sat. The days of the week that tasks
run.
- startTimeRange and endTimeRange. The time range within a
day tasks should run. Do not use if you want tasks to run all
day.
- endTime. When the schedule should stop running. Do not use if
you want the schedule to run indefinitely.
- Hourly. Tasks run on an hourly interval based on the start time of
the schedule. You can use the following parameters:
- frequency. Frequency in hours that tasks run.
- sun, mon, tue, wed, thu, fri, sat. The days of the week that tasks
run.
- startTimeRange and endTimeRange. The time range within a
day tasks should run. Do not use if you want tasks to run all
day.
- endTime. When the schedule should stop running. Do not use if
you want the schedule to run indefinitely.
- Daily. Tasks run on a daily interval on the start time configured
for the schedule. You can use the following parameters:
- frequency. Frequency in days that tasks run.
- weekDay. Runs the tasks every weekday. Do not use if you want
the tasks to run every day.
- endTime. When the schedule should stop running. Do not use if
you want the schedule to run indefinitely.
- Weekly. Tasks run on a weekly interval based on the start time of
the schedule. You can use the following parameters:
- sun, mon, tue, wed, thu, fri, sat. The days of the week that tasks
run.
- endTime. When the schedule should stop running. Do not use if
you want the schedule to run indefinitely.
- Biweekly. Tasks run every two weeks based on the start time of
the schedule. You can use the following parameters:
- sun, mon, tue, wed, thu, fri, sat. The days of the week that tasks
run.
- endTime. When the schedule should stop running. Do not use if
you want the schedule to run indefinitely.
- Monthly. Tasks run on a monthly interval based on the start time
of the schedule. You can use the following parameters:
- dayOfMonth. Day of the month when you want tasks to run,
between 1-28.
- dayOfWeek. Day of the week when you want tasks to run.
- weekOfMonth. Week of the month when you want tasks to run.
- endTime. When the schedule should stop running. Do not use if
you want the schedule to run indefinitely.
To indicate when tasks should run, use dayOfWeek with
weekOfMonth, such as the First Monday. Or use dayOfMonth, such
as 1.
Tip: To run tasks on the last day of the month, use the Last
weekOfMonth parameter with the Day dayOfWeek parameter.
Default is no interval.
frequency Int - Repeat frequency for tasks. Use one of the following values:
- For Minutely intervals, use one of the following options: 5, 10, 15,
20, 30, 45.
Default is 5.
- For Hourly intervals, use one of the following options: 1, 2, 3, 4, 6,
8, 12.
Default is 1.
- For Daily intervals, use number of days between 1 -30.
Default is 1.
Use with Minutely and Hourly intervals only.
rangeStartTime Date/time - The start of the time range within a day that you want tasks to run.
Enter a date and time using standard date/time format. Only the
time portion is used.
Use with Minutely and Hourly intervals only.
rangeEndTime Date/time - The end of the time range within a day that you want tasks to run.
Enter a date and time using standard date/time format. Only the
time portion is used.
Use with Minutely and Hourly intervals only.
weekDay Boolean - Runs tasks on weekdays. Use one of the following options:
- True. Run tasks on Monday through Friday. Does not run tasks on
the weekend.
- False. Run tasks every day.
Use with the Daily interval only.
schedule 149
Field Type Required Description
dayOfMonth Int - Date of the month that tasks should run. Use a date between 1-28.
Use with the Monthly interval only.
Tip: To run tasks on the last day of the month, use the Last
weekOfMonth parameter with the Day dayOfWeek parameter.
weekOfMonth String - Week of the month that tasks should run. Use with dayOfWeek to
specify the day and week of the month that tasks should run. For
example, the First Day or the Last Wednesday of the month.
Use one of the following options:
- First
- Second
- Third
- Fourth
- Last
Use with the Monthly interval only.
dayOfWeek String - Day of the week that tasks should run. Use with weekOfMonth to
specify the day and week of the month that tasks should run. For
example, the First Day or the Last Wednesday of the month.
Use one of the following options:
- Day
- Sunday
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
Use with the Monthly interval only.
PATCH example
To update a schedule, your request might look something like the following example:
PATCH <baseApiUrl>/public/core/v3/schedule/0An1v84VPL3k6kypOlxq06D0000000000003
Accept: application/json
INFA-SESSION-ID: <sessionId>
{
"schedules": [
{
"id": "{{scheduleId}}",
"scheduleFederatedId" : "{{scheduleFrsId}}",
"name": "V3_Test_CreateSchedule_{{$timestamp}}",
"status":"disabled",
"description": "Update version 2",
"sat" : true
}
]
}
A successful response might look like the following example:
{
"id": "8oKIw0ib9qMg1lGIWNPzkdD0000000000006",
"createTime": "2019-09-24T15:34:36.000Z",
"updateTime": "2019-10-01T15:47:59.442Z",
"createdBy": "demo_schedule",
"updatedBy": "demo_schedule",
"name": "V3_Test_CreateSchedule_1569944878",
"rangeStartTime": null,
DELETE request
To delete a schedule, use the following URI:
/public/core/v3/schedule/<id>
DELETE response
Returns the 204 response code if the request is successful.
securityLog
Use this resource to receive security log entries. Security logs include information about events such as login
actions and creating, updating, and deleting users, user groups, and roles. To use this resource, you must be
logged in with an administrator role.
GET request
To request entries for the last 24 hours with a maximum of 200 entries, use the following URI.
/public/core/v3/securityLog
Alternatively, you can use query parameters to specify which entries to return. For example, the following URI
returns entries created on July 26, 2019 between 8:00AM and 5:00PM:
/public/core/v3/securityLog?
q=entryTime>="2019-07-26T08:00:00.000Z";entryTime<="2019-07-26T17:00:00.000Z"
securityLog 151
You can include the following query parameters in the URI:
entryTime String Start time or end time of the entry in UTC format.
Use one of the following formats:
- yyyy-MM-dd'T'HH:mm:ss'Z'
- yyyy-MM-dd'T'HH:mm:ssZ
- yyyy-MM-dd'T'HH:mm:ss.SSS'Z'
- yyyy-MM-dd'T'HH:mm:ss.SSSZ
The maximum date range is 14 days.
You can use the following operators:
- <=
- =>
- >
- ==
- !=
Default is to return entries for the last 24 hours with a maximum of 200.
GET response
Returns a securityLogEntry object for each security log entry returned. Returns the error object if errors occur.
actionCategory String Category of security log entry. Returns one of the following codes:
- Authentication
- Organization
- Sub-organization
- User
- Group
- Role
- Privilege
- Agent
- Privilege-Category
- Preference
actionEvent String Type of action performed. Returns one of the following codes:
- CREATE
- UPDATE
- DELETE
- DISABLE
- AGENT_LOGIN
- USER_LOGIN
- LOGOUT
- PASSWORD_RESET
GET example
To view entries for the actions that the user "admin" performed on July 26, 2019 between 8:00AM and
5:00PM, you might use the following URI:
GET <baseApiUrl>/public/core/v3/securityLog?
q=entryTime>="2019-07-26T08:00:00.000Z";entryTime<="2019-07-26T17:00:00.000Z";actor=='adm
in'
Content-Type: application/json
Accept: application/json
INFA-SESSION-ID: <sessionId>
The response might look similar to the following example:
{
"entries": [
{
"id": "1AoqT9lYsrUhu7kl49kGsx",
"orgId": "9l10ywsSnqadMx1NtEEbKT",
"actor": "admin",
"entryTime": "2019-07-23T22:28:07.000Z",
"objectId": "9l10ywsSnqadMx1NtEEbKT",
"objectName": "idsv3_org_1563920884151",
"actionCategory": "Organization",
"actionEvent": "CREATE"
securityLog 153
},
{
"id": "595EZai5YqFi6X8GIpVVu0",
"orgId": "9l10ywsSnqadMx1NtEEbKT",
"actor": "admin",
"entryTime": "2019-07-23T22:28:13.000Z",
"objectId": "9pieratUfEWkhFHnzY1r49",
"objectName": "idsv3_user_1563920884151",
"actionCategory": "User",
"actionEvent": "CREATE"
}
]
}
Source control
You can use a cloud-based Azure DevOps Git or GitHub source control repository to manage and track
changes made to Informatica Intelligent Cloud Services objects such as projects, folders, and assets.
• pull. Use to load objects to the Informatica Intelligent Cloud Services organization.
• checkout. Use to check objects out of the repository.
• checkin. Use to check updated objects in to the repository.
• sourceControlAction. Use to get the status of a source control operation.
• commitHistory. Use to receive commit history for all of the objects or a specific object in the organization.
pull
Use the pull resource to retrieve objects from your repository and load them into your organization. You can
pull a single asset or pull any number of projects.
When you pull a project, all of the source-controlled assets in the project's folders are included in the pull.
Dependent objects that are located in other projects are not included.
POST request
To load the latest version of objects from your repository to your organization, use the following URI:
/public/core/v3/pull
Note: You might receive a response to the POST request before the pull operation completes.
id String Yes, if path and type are Include in the target object.
not included ID of the target object.
POST response
If successful, a POST request returns the following information:
{
"commitHash": "7c525831c247cf792f595d1663396d1ae2c85033",
"objects": [
{
"path": ["Project2"]
},
{
"path": ["Default"]
}
{
"commitHash": "7c525831c247cf792f595d1663396d1ae2c85033",
"objects": [
{
"id": "4gmWUVziA1qe7zXbyN1l6E"
},
{
"id": "4TjbmrAGrk2eal3DOwdIk8"
}
]
}
For either of these POST request examples, the response might look like the following example:
{
"pullActionId": "iW5TmGqUjmUcdZKk4c4VQH",
"status": {
"state": "NOT_STARTED",
"message": "Initialized"
}
}
{
"commitHash": "1013f61bf318758cccec08f2165f59bbbb41e8f0",
"objects": [
{
"path": ["Default","Test_Mapping"],
"type": "DTEMPLATE"
}
]
}
To request a pull operation using the asset ID, you might send a request that's similar to the following
example:
POST <baseApiUrl>/public/core/v3/pull
Content-Type: application/json
Accept: application/json
INFA-SESSION-ID: <sessionId>
{
"commitHash": "1013f61bf318758cccec08f2165f59bbbb41e8f0",
"objects": [
{
"id": "6wLjSK4tS4rdjKq5uGuC0T"
}
]
}
"commitHash": "1013f61bf318758cccec08f2165f59bbbb41e8f0",
"objects": [
{
"id": "6wLjSK4tS4rdjKq5uGuC0T"
}
],
"objectSpecification":[
{
"source":
{
"path":["ff"],
"type":"Connection"
},
"target":
{
"path":["target_connection"],
"type":"Connection"
}
}
]
}
To request a pull operation using the asset ID, the source runtime environment, and the target ID, you might
send a request that's similar to the following example:
POST <baseApiUrl>/public/core/v3/pull
Content-Type: application/json
Accept: application/json
INFA-SESSION-ID: <sessionId>
"commitHash": "1013f61bf318758cccec08f2165f59bbbb41e8f0",
"objects": [
{
"id": "6wLjSK4tS4rdjKq5uGuC0T"
}
],
"objectSpecification":[
{
"source":
{
"path":["USW1MJ02YNFB"],
"type":"AgentGroup"
},
"target":
{
"id":"7UPtJVbrESTj0VkCBYAcUv"
}
}
]
}
checkout
Use the checkout resource to check out a source-controlled object so that you can make changes to it. When
you check out an object, the object is locked so that other users can't make changes to it.
You can check out multiple projects, folders, or assets in one request.
If multiple objects are included in the checkout and the checkout fails for any of them, none of the objects
will be checked out. The objects that would have been successful will have a status of CANCELLED.
For more information about the checkout status, see “sourceControlAction” on page 164.
POST request
To check objects out of the repository, use the following URI:
/public/core/v3/checkout
In the request, you must provide either the object ID or the full path and object type.
objects List<Object> Yes Contains a list of all the objects to be checked out.
POST response
If successful, a POST request returns the following information:
{
"objects": [
{
"id": "ejZY66c19YUccBdbGwKG4P",
"includeContainerAssets": true
}
],
"summary": "Revised mappings",
"description": "Revised m_custArch and m_custNew"
}
To request a checkout operation for a project and include two of the assets in the project, you might send a
request that's similar to the following example:
POST <baseApiUrl>/public/core/v3/checkout
Content-Type: application/json
{
"objects": [
{
"id": "iIVBNZSpUKFg4N6g2PKUox",
"includeContainerAssets": false
},
{
"id": "l7bgB85m5oGiXObDxwnvK9"
},
{
"id": "1MW0GDAE1sFgnvWkvom7mK"
}
],
"summary": "summary",
"description": "description"
}
To request a checkout operation for an asset named Test_Mapping that's in the Default project, you might
send a request that's similar to the following example:
POST <baseApiUrl>/public/core/v3/checkout
Content-Type: application/json
Accept: application/json
INFA-SESSION-ID: <sessionId>
{
"objects": [
{
"path": [
"Default",
"Test_Mapping"
],
"type": "DTEMPLATE"
}
]
}
To request a checkout operation using the asset ID, you might send a request that's similar to the following
example:
POST <baseApiUrl>/public/core/v3/checkout
Content-Type: application/json
Accept: application/json
INFA-SESSION-ID: <sessionId>
{
"objects": [
{
"id": "3iWWHkLbM2giVppBmJmZgV"
}
],
"summary": "Revised Revised m_custArch"
}
POST request
To check objects in to the repository, use the following URI:
/public/core/v3/checkin
In the request, you must provide either the object ID or the full path and object type.
objects List<Object> Yes Contains a list of all the objects to be checked in. You
can check in a single asset or check in any number of
projects or folders.
POST response
If successful, a POST request returns the following information:
{
"objects": [
{
"id": "3iWWHkLbM2giVppBmJmZgV",
"includeContainerAssets": true
}
],
"summary": "Revised mappings",
"description": "Revised m_custArch and m_custNew"
}
To request a check-in operation for a project and include one of the assets in the project, you might send a
request that's similar to the following example:
POST <baseApiUrl>/public/core/v3/checkin
Content-Type: application/json
Accept: application/json
INFA-SESSION-ID: <sessionId>
???
{
"objects": [
{
"path": [
"Default",
"Test_Mapping"
],
"type": "DTEMPLATE"
}
]
}
To request a check-in operation using the asset ID, you might send a request that's similar to the following
example:
POST <baseApiUrl>/public/core/v3/checkin
Content-Type: application/json
Accept: application/json
INFA-SESSION-ID: <sessionId>
{
"objects": [
{
"id": "3iWWHkLbM2giVppBmJmZgV"
}
],
"summary": "Revised Revised m_custArch"
}
sourceControlAction
Use the sourceControlAction resource to get the status of a source control operation.
GET request
To receive the status of a source control action, include the action ID in the following URI::
/public/core/v3/sourceControlAction/<action ID>
To receive the status for each object in the source control action, use the following URI:
/public/core/v3/sourceControlAction/<action ID>?expand=objects
commitHash String Unique commit hash. Included when the request is for checkin and pull operations.
You can request commit history for all source-controlled objects, specific projects or folders, or specific
assets. You can also use query parameters to request commit history for all objects on a particular Explore
page or a specified number of pages.
GET request
You can request the commit history for all of your organization's projects and assets or request the history
for a particular project or asset.
To get the commit history for a particular project or asset, you can include the following query parameters in
the URI:
q String Query filter string. Include an object ID, project or folder name, or asset type.
perPage String Number of entries to include per page. Maximum of entries is 100.
Default is 100.
You can use the following fields to define the query filter:
type String == Asset type. Required to receive commit history for an asset.
Can be one of the following types:
- DTEMPLATE. Mapping.
- MTT. Mapping task.
- DSS. Synchronization task.
- DMASK. Masking task.
- DRS. Replication task.
- MAPPLET.
- BSERVICE. Business service definition.
- HSCHEMA. Hierarchical schema.
- PCS. PowerCenter task.
- FWCONFIG. Fixed width configuration.
- CUSTOMSOURCE. Saved query.
- MI_TASK. Mass ingestion task.
- WORKFLOW. Linear taskflow.
- VISIOTEMPLATE
- TASKFLOW
GET response
Returns a list of commits with the latest commit listed first. Returns an error if errors occur.
If successful, returns the following information for each commit in the commits object:
email String Email address of the user who performed the commit.
date Date The timestamp when the commit was submitted in the following format: yyyy-MM-
dd'T'HH:mm:ss.SSSZ
hasNext Boolean Whether there is another page after the current page.
Pull status
To receive the status of a pull operation, you can include the pullActionId in a pull request. However, this
method is deprecated. Use the sourceControlAction resource to get the status of a source control operation.
For more information about the sourceControlAction resource, see “sourceControlAction” on page 164
GET request
To receive status of a pull operation using the pull resource, include the pull action ID in the request URI. The
pull action ID is returned in the response when you send a pull request.
GET response
The response includes the following information:
Status Object Includes pull status information for the pull operation.
state String Status of the pull operation. Included in the Status object.
Includes one of the following values:
- NOT_STARTED
- IN_PROGRESS
- SUCCESSFUL
- FAILED
- WARNING
A WARNING value indicates that the pull succeeded but a review of the result might be
warranted. For example, a WARNING value can indicate that an asset was deleted as a
result of the pull operation.
message String Descriptive status message for the pull operation. Included in the Status object.
path List<String> Complete path of the target object. For example, "Default" , "mt_MappingTask1".
Included in the target object.
status Object Includes pull status information for each object in the pull operation.
state String Pull status for the object. Included in the status object.
Includes one of the following values:
- NOT_STARTED
- IN_PROGRESS
- SUCCESSFUL
- FAILED
- SKIPPED
- CANCELLED
- WARNING
A WARNING value indicates that the pull succeeded but a review of the result might be
warranted. For example, a WARNING value can indicate that an asset was deleted as a
result of the pull operation.
{
"pullActionId":"drLV4N8PFiuhAbcprrur2W",
"startTime": "2020-03-24T22:07:44Z",
"endTime": "2020-03-24T22:08:14Z",
"status": {
"state": "WARNING",
"message": "Pull Succeeded with Warnings"
},
"objects": [
{
"target": {
"path": [
"Versioned_Project",
"Versioned_Folder",
"Versioned Mapping - Rename"
],
"id": "2CefbUuBsYxhG6eeKXvGmh",
"type": "MAPPING"
},
"status": {
"state": "SUCCESSFUL",
"message": "Overwrite existing object"
}
},
{
"target": {
"path": [
"Versioned_Project",
"Versioned_Folder"
],
"id": "jHM0CWxwTkuivWNBE7y22l",
"type": "Folder"
},
"status": {
"state": "SUCCESSFUL",
"message": "Reuse existing object"
}
},
{
"target": {
"path": null,
"id": "gSkynhxE4wWjZlRQ163fE0",
"type": "MAPPING"
},
"status": {
Tags
A tag is an asset property that you can use to group assets.
Assigning tags
Use the TagObjects resource to assign tags to an asset.
POST request
To assign a tag to an asset, use the following URI:
/public/core/v3/TagObjects
Include the following information:
POST example
To assign tags to two assets, you might use a POST request similar to the following example:
POST <baseApiUrl>/public/core/v3/TagObjects
Content-Type: application/json
Accept: application/json
INFA-SESSION-ID: <sessionId>
[{
"id":"5kuZuAC3Os0dycZuqGpqmM",
"tags": ["R12 Tag", "DevQA"]
}, {
"id":"7feHjtC50mLb44CTW4Xmon",
"tags": ["Prod", "DevQA", "R12 Tag"]
}]
Returns the 204 response code if the request is successful. Returns errors if the request is unsuccessful. If
the request is partially successful, returns information for the successful and unsuccessful transactions, as
shown in the following example:
[{
"id": "9WfGCcHsygueFigGhAdWqh",
Removing tags
Use the UntagObjects to remove tags from an asset.
POST request
To remove a tag from an asset, use the following URI:
/public/core/v3/UntagObjects
Include the following information:
POST example
To remove tags from two assets, you might use a POST request similar to the following example:
POST <baseApiUrl>/public/core/v3/UntagObjects
Content-Type: application/json
Accept: application/json
INFA-SESSION-ID: <sessionId>
[{
"id":"5kuZuAC3Os0dycZuqGpqmM",
"tags": ["R12 Tag", "DevQA"]
}, {
"id":"7feHjtC50mLb44CTW4Xmon",
"tags": ["DevQA", "R12 Tag"]
}]
Returns the 204 response code if the request is successful. Returns errors if the request is unsuccessful. If
the request is partially successful, returns information for the successful and unsuccessful transactions, as
shown in the following example:
[{
"id": "9WfGCcHsygueFigGhAdWqh",
"status": "FAILED",
"msg": "Object: 9WfGCcHsygueFigGhAdWqh skipped, missing READ/UPDATE permissions."
}, {
"id": "0cLD48xB4TOgm8cNjP2kmJ",
"status": "SUCCESS",
"msg": "Object: 0cLD48xB4TOgm8cNjP2kmJ Operation Message: [Tag assignment succeeded
for artifact 0cLD48xB4TOgm8cNjP2kmJ.]"
}]
Tags 173
Users
Use this resource to request Informatica Intelligent Cloud Services user details, create users, and delete
users. You can also use the Users resource to change or reset passwords, get security questions, and set
security answers.
Use the Users resource along with the userGroups and roles resources to manage user privileges for
Informatica Intelligent Cloud Services tasks and assets. Users and groups can perform tasks and access
assets based on the roles that you assign to them.
For information about using the userGroups and roles REST API resources, see the following topics:
For general information about users, user groups, and roles, see the Administrator help.
GET request
To get user details, use the following URI:
/public/core/v3/users
To get the details for a particular user, you can include the following query parameters in the URI:
q String Query filter. You can filter using one of the following fields:
- userId. Unique identifier for the user.
- userName. Informatica Intelligent Cloud Services user name.
For example, to get details for a particular user based on the user's ID, you might use the following request:
/public/core/v3/users?q=userId==5N9JGth6pRYfOGjGKv3Q2D &limit=1 &skip=0
GET response
If successful, returns the following information for each user:
updateTime String Date and time the user was last updated.
state String State of the user account. Returns one of the following values:
- Active. User account exists and user has activated the account.
- Provisioned. User account exists but the user has not activated the account.
- Disabled. User account is disabled because the user exceeded the maximum
number of login attempts.
Note: If the user's password is expired, the value is null.
maxLoginAttempts Int Number of times a user can attempt to log in before the account is locked.
authentication String Whether the user accesses Informatica Intelligent Cloud Services through single
sign-in (SAML).
Returns one of the following values:
- 0. Native.
- 1. SAML.
forcePasswordChange Boolean Whether the user must reset the password after the user logs in for the first time.
lastLoginTime String The date and time that the user last logged in.
lastLoginMode String Whether the user logged in through a REST API call or through the UI.
Users 175
Field Type Description
POST request
To create a user, send a POST request using the following URI:
/public/core/v3/users
Note: The number of users, user groups, and roles combined cannot exceed 1000 for an organization.
Users 177
Include the following information:
forcePasswordChange Boolean - Determines whether the user must reset the password
after the user logs in for the first time.
aliasName String Required when The user identifier or user name in the 3rd party
authentication is not 0. system.
roles Array Required when no IDs of the roles to assign to the user.
group IDs are included.
groups Array Required when no role IDs of the user groups to assign to the user.
IDs are included.
POST response
If successful, returns the users object with the details you included in the POST request.
POST example
To create a user, you might send a request similar to the following example:
POST <baseApiUrl>/public/core/v3/users
Content-Type: application/json
Accept: application/json
INFA-SESSION-ID: <sessionId>
{
DELETE request
To delete a user account, use the following URI:
/public/core/v3/users/<userId>
For example, you might send a request similar to the following example:
DELETE <baseApiUrl>/public/core/v3/users/5N9JGth6pRYfOGdGKv3Q2D
Users 179
Passwords and security questions
You can manage passwords and security questions using the Informatica Intelligent Cloud Services REST
API.
• ChangePassword. Use this resource to change your Informatica Intelligent Cloud Services password if
your current password has not expired. If you have administrator privileges, you can change other users'
passwords.
• ResetPassword. Use this resource to reset a password if it has expired or if you forgot your password.
• UserProfile. Use this resource to get your security question or specify a security answer.
Changing a password
You can change your Informatica Intelligent Cloud Services password if your current password has not
expired. If you have administrator privileges, you can change other users' passwords.
POST request
To change your password, use the following URI:
/public/core/v3/Users/ChangePassword
Include the following information in the request:
oldPassword String Required if you are changing your own password. Current password.
userId String Required if an administrator is changing the password Informatica Intelligent Cloud
for another user. Services user ID.
POST example
To change your password, you might send a request similar to the following example:
POST <baseApiUrl>/public/core/v3/Users/ChangePassword
Content-Type: application/json
Accept: application/json
INFA-SESSION-ID: <sessionId>
{
"newPassword" : "<new password>",
"oldPassword" : "<old password>"
}
A successful request will not return a response. An unsuccessful request will return an error.
POST request
To reset your password, include the security answer in the request. Use the following URI:
/public/core/v3/Users/ResetPassword
Include the following information in the request:
POST example
To reset your password, you might send a request similar to the following example:
POST <baseApiUrl>/public/core/v3/Users/ResetPassword
Content-Type: application/json
Accept: application/json
INFA-SESSION-ID: <sessionId>
{
"userId" : "5N9JGth6pRYfOGjGKv3Q2D",
"securityAnswer" : "Simba",
"newPassword" : "<password>"
}
A successful request will not return a response. An unsuccessful request will return an error.
GET request
To get your security question, use the following URI:
/public/core/v3/Users/<user ID>/UserProfile
GET example
To get your security question, you might send a request similar to the following example:
GET <baseApiUrl>/public/core/v3/Users/382e4ba6cd2511ef00242a/UserProfile/UserProfile
The response might look like the following example:
{
"userId" : "5N9JGth6pRYfOGjGKv3Q2D",
"userName" : "[email protected]",
"securityQuestion" : "What is your pet's name?"
}
PATCH request
To set a security answer, use the following URI:
/public/core/v3/Users/UserProfile
Include the securityAnswer field in the request.
PATCH response
A successful response returns the following information:
PATCH example
To set a security answer, you might send a request similar to the following example:
POST <baseApiUrl>/public/core/v3/Users/UserProfile
Content-Type: application/json
Accept: application/json
INFA-SESSION-ID: <sessionId>
{
"securityAnswer" : "Simba",
}
The response might look like the following example:
{
"userId" : "5N9JGth6pRYfOGjGKv3Q2D",
"userName" : "[email protected]",
userGroups
Use this resource to create and delete user groups.
Use the userGroups resource along with the users and roles resources to manage user privileges for
Informatica Intelligent Cloud Services tasks and assets. Users and groups can perform tasks and access
assets based on the roles that you assign to them.
For information about using the users and roles REST API resources, see the following topics:
For general information about users, user groups, and roles, see the Administrator help.
GET request
You can request the details for all user groups in the organization or request the details for a particular user
group.
q String Query filter. You can filter using one of the following fields:
- userGroupId. Unique identifier for the user group.
- userGroupName. Name of the user group.
For example, to get details for a particular user group using the user group's name, you might use the
following request:
public/core/v3/userGroups?q=userGroupName=="group_a"
GET response
If successful, returns the following information for each user group:
userGroups 183
Field Type Description
createTime String Date and time the user group was created.
updateTime String Date and time the user group was last updated.
POST request
To create a user group, send a POST request using the following URI:
/public/core/v3/userGroups
Note: The number of users, user groups, and roles combined cannot exceed 1000 for an organization.
roles Array Yes IDs of the roles to assign to the user group.
POST response
If successful, returns the userGroups object with the details you included in the POST request.
POST example
To create a user group, you might send a request similar to the following example:
POST <baseApiUrl>/public/core/v3/userGroups
Content-Type: application/json
Accept: application/json
INFA-SESSION-ID: <sessionId>
{
"name" : "user_group_1",
"roles" : ["5IPgtye09EbiWqz5XXuzwC", "9gedBDoYQoQibNMohf5KCh"],
"users" : ["9EcgvBYZ9GGflOYr98GzOH"]
}
You might receive a response similar to the following example:
{
"id": "0TLmCMwX0jNdJ5SzlQC2CW",
"orgId": "cPYWk02I4aBeuLEvYRtaMS",
"createdBy": "[email protected]",
"updatedBy": "[email protected]",
"createTime": "2019-03-20T18:30:32.457Z",
"updateTime": "2019-03-20T18:30:32.472Z",
userGroups 185
"userGroupName": "user_group_1",
"description": null,
"roles": [
{
"id": "9gedBDoYQoQibNMohf5KCh",
"roleName": "Admin",
"description": "Role for performing administrative tasks for an
organization. Has full access to all licensed services."
"displayName": "Admin",
"displayDescription": "Role for performing administrative tasks for an
organization. Has full access to all licensed services."
},
{
"id": "5IPgtye09EbiWqz5XXuzwC",
"roleName": "test_user_1",
"description": ""
"roleName": "test_user_1",
"description": ""
}
],
"users": [
{
"id": "9EcgvBYZ9GGflOYr98GzOH",
"userName": "test_user_2",
"description": null
}
]
}
DELETE request
To delete a user group, use the following URI:
/public/core/v3/userGroups/<user group Id>
In addition to platform REST API resources, you can use the following resources when you interact with Data
Integration through the REST API:
• For most calls, use Data Integration REST API version 2 resources.
• For file transfer calls, use the File Transfer REST API resources. File Transfer REST API resources include
the filelistener resource and the sendfiles resource.
When you use Data Integration REST API version 2 resources, note the following rules:
When you use File Transfer REST API resources, note the following rules:
When you use dynamic mapping task REST API resources, note the following rules:
187
• Use the following base URL:
<baseURL>/batch-mapping/api/v1/<API name>
• Use the following request header format:
<METHOD> <serverUrl>/<URI> HTTP/<HTTP version>
Content-Type: application/json
Accept: application/json
IDS-SESSION-ID: <SessionId>
Note: If you use a tool such as Postman that automatically includes the HTTP version, do not enter the
HTTP version in the URL. If the HTTP version appears twice in the URL, the request fails.
connection
Use this resource to request connection details for an organization. You can also use this resource to create,
update, test, and delete a connection.
Note: Do not use connections with names that begin with "DI Data Preview_".
To request the details of all connections in the organization, use the following URI:
/api/v2/connection
Details of a particular connection
To request the details of a particular connection, include the connection ID or name in the URI. Use one
of the following URIs:
/api/v2/connection/<id>
/api/v2/connection/name/<name>
If you use the connection name in the URI and the connection name includes a space, replace the space
with %20. For example:
/api/v2/connection/name/my%20connection
List of objects that you can use as a source or target
You can request the objects that you can use as a source or target. To request source or target objects,
you can include either the connection ID or connection name in the URI. Use one of the following URIs:
/api/v2/connection/source/<id>
/api/v2/connection/target/<id>
/api/v2/connection/source/name/<name>
/api/v2/connection/target/name/<name>
• searchPattern. Use the searchPattern parameter to filter the results so that only the objects with the
specified string in the object name are included in the response. To use the searchPattern parameter,
use the following URI:
/api/v2/connection/<source or target>/<id>?searchPattern=<pattern>
For example, the following request returns source objects that include "abc" in the object name:
/api/v2/connection/source/002D420000000J?searchPattern=abc
• maxRecordsCount. Use the maxRecordsCount parameter to set the maximum number of objects to
return. To use the maxRecordsCount, use the following URI:
/api/v2/connection/<source or target>/<id>?maxRecordsCount=<max number of objects>
For example, the following request returns a maximum of 5000 source objects:
/api/v2/connection/source/002D420000000J?maxRecordsCount=5000
If you don't include the maxRecordsCount parameter, a maximum of 200 objects can be returned for
the request.
List of connections of a specified type associated with a Secure Agent or runtime environment
To request a list of connections by Secure Agent ID and connection type, use the following URI:
/api/v2/connection/search?agentId=<agentId>&uiType=<uiType>
To request a list of connections by runtime environment ID and connection type, use the following URI:
/api/v2/connection/search?runtimeEnvironmentId=<runtimeEnvironmentId>&uiType=<uiType>
If you pass both agentId and runtimeEnvironmentId, the service uses runtimeEnvironmentId and ignores
agentId. If you pass only agentId, the service translates agentId into its corresponding
runtimeEnvironmentId before it saves the resource to the repository.
To request metadata details for a specified connection, use the following URI:
/api/v2/connection/source/<connection ID>/metadata
/api/v2/connection/target/<connection ID>/metadata
The metadata is returned in the runtimeAttribute object which contains the following attributes:
• name
• dataType
• defaultValue
• label
• mandatory
• maxLength
• sessionVarAllowed
• possibleValues
connection 189
Use the following connection request URI attributes:
uiType String Yes Connection type. Use one of the following options:
- CSVFile. CSV flat file.
- FTP.
- MS_ACCESS.
- MSD. Microsoft Dynamics CRM.
- MySQL.
- ODBC.
- Oracle.
- OCOD. Oracle CRM On Demand.
- Salesforce.
- SFTP. Secure FTP.
- SAP_ALE_IDoc_Reader. SAP IDoc Reader.
- SAP_ALE_IDoc_Writer. SAP IDoc Writer.
- SqlServer. Microsoft SQL Server 2000.
- SqlServer2005. Microsoft SQL Server 2005.
- SqlServer2008. Microsoft SQL Server 2008.
- SqlServer2012. Microsoft SQL Server 2012.
- SqlServer2014. Microsoft SQL Server 2014.
- SqlServer2016. Microsoft SQL Server 2016.
- SqlServer2017. Microsoft SQL Server 2017.
- TOOLKIT. Informatica Cloud Connector. Also use for NetSuite
connections.
- WebServicesConsumer. Web Service.
If you request a list of connections based on the runtime environment ID and connection type, returns a
connection object for each connection that matches the requirements.
If you request a list of source or target objects available for the requested connection ID, returns the
connListItem object for each available object.
agentId String Secure Agent ID for Flat File, FTP/SFTP, Microsoft SQL Server, MS Access,
MySQL, ODBC, Oracle, and Web Service connections.
runtimeEnvironmentId String Runtime environment used by the connection. This is the Runtime
Environment field in the user interface. In the response returned to the user
interface, this attribute is named agentGroupId.
host String Host name for FTP/SFTP, Microsoft SQL Server, MySQL, and Oracle
connections.
domain String Domain name for Microsoft Dynamics CRM connections that use IFD or Active
Directory authentication, and Web Service connections.
dateFormat Date format for Flat File, FTP, and SFTP connections.
codepage Code page for Flat File, FTP, SFTP, Microsoft SQL Server, MySQL, MS Access,
ODBC, Oracle, and SAP.
authenticationType String Authentication type for Microsoft Dynamics CRM, Microsoft SQL Server, and
Web Service connections.
adjustedJdbcHostName String Host name. Or host and instance name for Microsoft SQL Server connections.
schema String Schema name for Microsoft SQL Server, ODBC, Oracle, and Web Service
connections.
connection 191
Field Type Description
serviceUrl String Service URL for Microsoft Dynamics CRM, Oracle CRM On Demand, and
Salesforce connections.
port Int Port number for FTP/SFTP, Microsoft SQL Server, MySQL, and Oracle
connections.
stsUrl String Security token service URL for Microsoft Dynamics CRM connections that use
Active Directory authentication.
trustCertificatesFile String Trust certificates file name for Web Service connections.
privateKeyFile String Private key file name for Web Service connections.
privateKeyFileType String Private key file type for Web Service connections.
POST Request
You can create or update connections. To update a connection, use the connection ID with the following URI.
To create a connection, omit the optional connection ID.
/api/v2/connection/<id>
You can submit a partial update using partial mode. To submit a request using partial mode, use a JSON
request and include the following line in the header:
Update-Mode=PARTIAL
In a connection POST request, use the additional attributes in the connection object. The attributes used by
Informatica Cloud Connector connections vary by connection type.
To create or update an Informatica Cloud Connector connection, consult the Informatica Cloud application
for the attributes used by the connection. Enclose any attributes that are not listed in the following tables in a
connParam object.
To get a list of connectors that are available to the organization and attribute information for a specific
connector type, see “connector” on page 207.
For more information about attributes and data types used for creating connections through the REST API,
see “Connection user interface fields to REST API attributes mapping” on page 332 and “Connector data
types” on page 330.
POST Response
If successful, returns the connection object for the connection that was created or updated.
connection 193
DELETE Request
To delete a connection, use the connection ID in the following URI.
/api/v2/connection/<id>
DELETE Response
Returns the 200 response code if the request is successful.
POST Example
To update an SAP Table connection, you might use the following request, enclosing SAP attributes in the
connParam object:
POST <serverUrl>/api/v2/connection/0002D420000000J
Content-Type: application/xml
Accept: application/xml
icSessionId: <icSessionId>
<connection>
<id>0002D420000000J</id>
<orgId>00342000</orgId>
<name>test dir</name>
<type>TOOLKIT</type>
<agentId>00001Y08000000000002</agentId>
<username>username</username>
<password>password</password>
<instanceName>SAPTableConnector</instanceName>
<connParams>
<agentId>00001Y08000000000002</agentId>
<username>username</username>
<password>password</password>
<client>800</client>
<language>EN</language>
<Saprfc Ini Path>C:\\Windows\\SysWOW64</Saprfc Ini Path>
<Destination>GE6</Destination>
</connParams>
<runtimeEnvironmentId>00000C25000000000002</runtimeEnvironmentId>
</connection>
A successful request returns the connection object that you updated.
The following table describes attributes that you can use for CSV flat file connections:
Attribute Description
id Connection ID.
database Directory where flat files are stored. In the user interface, this attribute is the Directory field. In the
REST API response that populates the value in the user interface, the name of this attribute is dirName.
dateFormat Date format for date fields in the flat file. Use one of the following formats:
- MM/dd/yyyy
- MM-dd-yyyy
- MM.dd.yyyy
- dd/MM/yyyy
- dd-MM-yyyy
- dd.MM.yyyy
- MM/dd/yyyy HH:mm
- MM-dd-yyyy HH:mm
- MM.dd.yyyy HH:mm
- dd/MM/yyyy HH:mm
- dd-MM-yyyy HH:mm
- dd.MM.yyyy HH:mm
- MM/dd/yyyy HH:mm:ss
- MM-dd-yyyy HH:mm:ss
- MM.dd.yyyy HH:mm:ss
- dd/MM/yyyy HH:mm:ss
- dd-MM-yyyy HH:mm:ss
- dd.MM.yyyy HH:mm:ss
- yyyy-MM-dd
- yyyy-MM-dd HH:mm
- yyyy-MM-dd HH:mm:ss
- yyyy-MM-ddTHH:mm:ss.SSSZ
Default is MM/dd/yyyy HH:mm:ss.
codepage The code page of the system that hosts the flat file. Use one of the following options:
- UTF-8. Unicode Transformation Format, multibyte.
- MS1252. MS Windows Latin 1 (ANSI), superset of Latin 1.
- ISO-8859-15. Latin 9, Western European.
- ISO-8859-2. Eastern European.
- ISO-8859-3. Southeast European.
- ISO-8859-5. Cyrillic.
- ISO-8859-9. Latin 5, Turkish.
- IBM500. IBM EBCDIC International Latin-1.
The following table describes attributes that you can use for FTP or SFTP file connections:
Attribute Description
id Connection ID.
connection 195
Attribute Description
password Password.
host Name of the machine hosting the database server or FTP/SFTP host. For a FTP/SFTP connection,
enter the host name of IP address.
port Network port number used to connect to FTP/SFTP connection. Default port is 21 for FTP and 22
for SFTP.
database Directory on a local machine that stores the local file. In the user interface, this attribute is the
Directory field. In the REST API response that populates the value in the user interface, the name of
this attribute is dirName.
The local machine must also run the Secure Agent used to run the corresponding task. Enter a local
directory or use the Browse button to select a local directory.
remoteDirectory Directory on the FTP/SFTP host that stores the remote flat file.
Depending on the FTP/SFTP server, you may have limited options to enter directions. For more
information, see the FTP/SFTP server documentation.
dateFormat Date format for date fields in the flat file. Use one of the following formats:
- MM/dd/yyyy
- MM-dd-yyyy
- MM.dd.yyyy
- dd/MM/yyyy
- dd-MM-yyyy
- dd.MM.yyyy
- MM/dd/yyyy HH:mm
- MM-dd-yyyy HH:mm
- MM.dd.yyyy HH:mm
- dd/MM/yyyy HH:mm
- dd-MM-yyyy HH:mm
- dd.MM.yyyy HH:mm
- MM/dd/yyyy HH:mm:ss
- MM-dd-yyyy HH:mm:ss
- MM.dd.yyyy HH:mm:ss
- dd/MM/yyyy HH:mm:ss
- dd-MM-yyyy HH:mm:ss
- dd.MM.yyyy HH:mm:ss
- yyyy-MM-dd
- yyyy-MM-dd HH:mm
- yyyy-MM-dd HH:mm:ss
- yyyy-MM-ddTHH:mm:ss.SSSZ
codepage The code page of the system that hosts the flat file. Use one of the following options:
- UTF-8. Unicode Transformation Format, multibyte.
- MS1252. MS Windows Latin 1 (ANSI), superset of Latin 1.
- ISO-8859-15. Latin 9, Western European.
- ISO-8859-2. Eastern European.
- ISO-8859-3. Southeast European.
- ISO-8859-5. Cyrillic.
- ISO-8859-9. Latin 5, Turkish.
- IBM500. IBM EBCDIC International Latin-1.
The following table describes attributes that you can use for Microsoft Access connections:
Attribute Description
id Connection ID.
database Data source name. In the user interface, this is the Data Source Name field.
codepage The code page compatible with the MS Access database. Use one of the following options:
- UTF-8. Unicode Transformation Format, multibyte.
- MS1252. MS Windows Latin 1 (ANSI), superset of Latin 1.
- ISO-8859-15. Latin 9, Western European.
- ISO-8859-2. Eastern European.
- ISO-8859-3. Southeast European.
- ISO-8859-5. Cyrillic.
- ISO-8859-9. Latin 5, Turkish.
- IBM500. IBM EBCDIC International Latin-1.
The following table describes attributes that you can use for Microsoft Dynamics CRM connections:
Attribute Description
id Connection ID.
connection 197
Attribute Description
authenticationType Authentication type for the connection. Select a valid authentication type. Use one of the
following authentication types:
- LIVE. Microsoft Live. Use for synchronization tasks or PowerCenter tasks.
- IFD. Internet Facing Development (IFD). Use for synchronization tasks or PowerCenter tasks.
- AD. Active Directory. Use for PowerCenter tasks only.
stsURL Microsoft Dynamics CRM security token service URL. For example, https:// sts1.company.com.
Required for IFD authentication.
The following table describes attributes that you can use for Microsoft SQL Server connections:
Attribute Description
id Connection ID.
authenticationType Authentication method for the connection. Use one of the following options:
- Windows. Use Microsoft Windows authentication to access Microsoft SQL Server. Available
when users access Data Integration in Windows.
- SqlServer. Use Microsoft SQL Server authentication to access Microsoft SQL Server.
username User name for the database login. Use when authenticationType is SqlServer.
password Password for the database login. Use when authenticationType is SqlServer.
port Network port number used to connect to the database server. Default port number is 1433.
database Database name for the Microsoft SQL Server target. Database name is case sensitive if the
database is case sensitive. Maximum length is 100 characters.
Database names can include alphanumeric and underscore characters.
codepage The code page of the Microsoft SQL Server database. Use one of the following options:
- UTF-8. Unicode Transformation Format, multibyte.
- MS1252. MS Windows Latin 1 (ANSI), superset of Latin 1.
- ISO-8859-15. Latin 9, Western European.
- ISO-8859-2. Eastern European.
- ISO-8859-3. Southeast European.
- ISO-8859-5. Cyrillic.
- ISO-8859-9. Latin 5, Turkish.
- IBM500. IBM EBCDIC International Latin-1.
MySQL Connections
When you create or update a MySQL connection, you can configure additional attributes, such as the
connection ID and the connection name.
The following table describes attributes that you can use for MySQL connections:
Attribute Description
id Connection ID.
connection 199
Attribute Description
port Network port number used to connect to the database server. Default is 3306.
database Database name for the MySQL database target. Database name is case sensitive if the database is case
sensitive.
codepage The code page for the database server. Use one of the following options:
- UTF-8. Unicode Transformation Format, multibyte.
- MS1252. MS Windows Latin 1 (ANSI), superset of Latin 1.
- ISO-8859-15. Latin 9, Western European.
- ISO-8859-2. Eastern European.
- ISO-8859-3. Southeast European.
- ISO-8859-5. Cyrillic.
- ISO-8859-9. Latin 5, Turkish.
- IBM500. IBM EBCDIC International Latin-1.
NetSuite Connections
When you create or update a NetSuite connection, you can configure additional attributes, such as the
connection ID and the connection name.
The following table describes attributes that you can use for NetSuite connections:
Attribute Description
id Connection ID.
accountNumber NetSuite account ID. To locate your account ID, log in to NetSuite and navigate to Setup >
Integration > Web Services Preferences.
serviceURL WSDL URL. If your NetSuite account does not use the default NetSuite WSDL URL, enter the WSDL
URL used by your NetSuite account.
ODBC Connections
When you create or update an ODBC connection, you can configure additional attributes, such as the
connection ID and the connection name.
The following table describes attributes that you can use for OBDC connections:
Attribute Description
id Connection ID.
codepage The code page of the database server or flat file defined in the connection. Use one of the following
options:
- UTF-8. Unicode Transformation Format, multibyte.
- MS1252. MS Windows Latin 1 (ANSI), superset of Latin 1.
- ISO-8859-15. Latin 9, Western European.
- ISO-8859-2. Eastern European.
- ISO-8859-3. Southeast European.
- ISO-8859-5. Cyrillic.
- ISO-8859-9. Latin 5, Turkish.
- IBM500. IBM EBCDIC International Latin-1.
connection 201
Oracle Connections
When you create or update an Oracle connection, you can configure additional attributes, such as the
connection ID and the connection name.
The following table describes attributes that you can use for Oracle connections:
Attribute Description
id Connection ID.
port Network port number used to connect to the database server. Default is 1521.
database Service name that uniquely identifies the Oracle database. This attribute is the Service Name field in the
user interface.
If the connection fails, contact the database administrator.
codepage The code page of the database server. Use one of the following options:
- UTF-8. Unicode Transformation Format, multibyte.
- MS1252. MS Windows Latin 1 (ANSI), superset of Latin 1.
- ISO-8859-15. Latin 9, Western European.
- ISO-8859-2. Eastern European.
- ISO-8859-3. Southeast European.
- ISO-8859-5. Cyrillic.
- ISO-8859-9. Latin 5, Turkish.
- IBM500. IBM EBCDIC International Latin-1.
agentId Secure Agent that Data Integration uses to access the database in the local area network.
The following tables describes attributes that you can use for Oracle CRM On Demand connections:
Attribute Description
id Connection ID.
username Oracle CRM On Demand user name. Use the following format:
<domain>/<user name>
For example: domain/[email protected].
Salesforce Connections
When you create or update a Salesforce connection, you can configure additional attributes, such as the
connection ID and the connection name.
The following table describes attributes that you can use for Salesforce connections:
Attribute Description
id Connection ID.
connection 203
Attribute Description
securityToken Security token associated with the user name and password. Optional.
The following table describes attributes that you can use for SAP IDoc Reader connections:
Attribute Description
id Connection ID.
username SAP user name with authorization on S_DATASET, S_TABU_DIS, S_PROGRAM, and B_BTCH_JOB objects.
database Type A DEST entry in the saprfc.ini file. This attribute is the Destination Entry field in the user interface.
codepage The code page compatible with the SAP source. Use one of the following options:
- UTF-8. Unicode Transformation Format, multibyte.
- MS1252. MS Windows Latin 1 (ANSI), superset of Latin 1.
- ISO-8859-15. Latin 9, Western European.
- ISO-8859-2. Eastern European.
- ISO-8859-3. Southeast European.
- ISO-8859-5. Cyrillic.
- ISO-8859-9. Latin 5, Turkish.
- IBM500. IBM EBCDIC International Latin-1.
The following table describes attributes that you can use for SAP IDoc Writer connections:
Attribute Description
id Connection ID.
username SAP user name with authorization on S_DATASET, S_TABU_DIS, S_PROGRAM, and B_BTCH_JOB
objects.
database Type A DEST entry in the saprfc.ini file. This attribute is the Connection String field in the user
interface.
languageCode Language code that corresponds to the SAP language. A two-letter code, such as en for English.
codepage The code page compatible with the SAP target. Use one of the following options:
- UTF-8. Unicode Transformation Format, multibyte.
- MS1252. MS Windows Latin 1 (ANSI), superset of Latin 1.
- ISO-8859-15. Latin 9, Western European.
- ISO-8859-2. Eastern European.
- ISO-8859-3. Southeast European.
- ISO-8859-5. Cyrillic.
- ISO-8859-9. Latin 5, Turkish.
- IBM500. IBM EBCDIC International Latin-1.
The following table describes attributes that you can use for Web Service connections:
Attribute Description
id Connection ID.
connection 205
Attribute Description
username SAP user name with authorization on S_DATASET, S_TABU_DIS, S_PROGRAM, and
B_BTCH_JOB objects.
password Password for the web service login. If the web service does not require a user name, leave
this field empty. Optional.
serviceUrl Endpoint URL for the web service that you want to access. The WSDL file specifies this URL
in the location element. This attribute is the Endpoint URL field in the user interface.
Optional.
trustCertificatesFile File containing the bundle of trusted certificates that Informatica Intelligent Cloud Services
uses when authenticating the SSL certificate of the web services provider. Default is ca-
bundle.crt. Optional.
certificateFile Client certificate that a web service provider uses when authenticating a client. You specify
the client certificate file if the web service provider needs to authenticate Informatica
Intelligent Cloud Services. Optional.
certificateFilePassword Password for the client certificate. You specify the certificate file password if the web
service provider needs to authenticate Informatica Intelligent Cloud Services. Optional.
certificateFileType File type of the client certificate. You specify the certificate file type if the web service
provider needs to authenticate the Integration Service. Use one of the following codes:
- PEM
- DER
Optional.
privateKeyFile Private key file for the client certificate. You specify the private key file if the web service
provider needs to authenticate Informatica Intelligent Cloud Services. Optional.
privateKeyPassword Password for the private key of the client certificate. You specify the key password if the
web service provider needs to authenticate Informatica Intelligent Cloud Services. Optional.
privateKeyFileType File type of the private key of the client certificate. You specify the key file type if the web
service provider needs to authenticate Informatica Intelligent Cloud Services.
If necessary, use PEM. Optional.
authenticationType Authentication type to use when the web service provider does not return an authentication
type to Informatica Intelligent Cloud Services. Use one of the following options:
- Auto. The Integration Service attempts to determine the authentication type of the web
service provider.
- Basic. Based on a non-encrypted user name and password.
- Digest. Based on an encrypted user name and password.
- NTLM. Based on encrypted user name, password, and domain.
Default is Auto. Optional.
agentId ID for the Secure Agent that Informatica Intelligent Cloud Services uses to access the
database in the local area network.
connector
Use this resource to request a list of connectors that are available to an organization along with connector
details. You can also use this resource to get attribute information for a specific connector type. You can use
the list of attributes that this resource provides when you create a connection for a specific connector type
since you need to provide these attributes when you create a connection of a certain type.
connector 207
Field Type Description
isPublic Boolean Whether the connector is a public or private connector. If you are interested in a
connector that is private, contact Informatica Global Customer Support.
isStandardConnType Boolean Whether the connector is standard or custom. A "True" value indicates the
connector is standard.
attributes Connector attributes for the specified connector type. Includes information in the
attribute object for each connector object.
customFunc
Use this resource to request the details of a mapplet or to request a list of all mapplets in the organization.
You can also use this resource to upload a PowerCenter mapplet or delete a mapplet.
GET request
To request a list of all mapplets in the organization, use the following URI:
/api/v2/customFunc
To request the details of a single mapplet, you can use the mapplet ID or mapplet name in the request. Use
one of the following URIs:
/api/v2/customFunc/<id>
/api/v2/customFunc/name/<name>
If you use the mapplet name and the mapplet name includes a space, replace the space with %20. For
example:
/api/v2/customFunc/name/my%20mapplet
GET response
If the request for a list of mapplets is successful, returns the customFunc object for every mapplet in the
organization without the input, output, and connection details.
If the request for the details of a single mapplet is successful, returns the customFunc object.
customFunc 209
Field Type Description
inputs String Input fields for the mapplet. Includes the following information for each field in the
field object:
- id
- name
- type
- label
- parentObject
- precision
- pcType
- scale
- columnIndex
- isKey
- isExternalId
- isNullable
- isUnique
- isCreateable
- isCalculated
- isUpdateable
- isFilterable
- linkedFields
- relatedInfos. Includes the following information in the fieldRelatedInfo object:
- id
- referenceObject
- relationshipName
- javaType
- showLabel
- naturalOrder
- customProperties
outputs String Output fields for the mapplet. Includes the following information for each field in the
field object:
- id
- name
- type
- label
- parentObject
- precision
- pcType
- scale
- columnIndex
- isKey
- isExternalId
- isNullable
- isUnique
- isCreateable
- isCalculated
- isUpdateable
- isFilterable
- linkedFields
- relatedInfos. Includes the following information in the fieldRelatedInfo object:
- id
- referenceObject
- relationshipName
- javaType
- showLabel
- naturalOrder
- customProperties
connections Connection information for the mapplet. Includes a pcsConnection object for each
connection.
POST request
To upload a new PowerCenter mapplet, use the following URI:
/api/v2/customFunc
customFunc 211
If you want to specify a location for the mapplet, include the container ID in the request. If the container ID
isn't included in the request, the mapplet is created in the Default folder. You can find the container ID for a
project or folder in the Data Integration user interface. On the Explore page, select the folder. In the URL, the
last string of characters is the container ID.
With this URI, you can use the following attributes in the request body:
file String Yes The mapplet XML file exported from Informatica PowerCenter. File content should
be in binary format, UTF-8 encoding.
In addition to the POST attributes, pass the following information in the request body:
Content-Type:multipart/form-data;boundary=<boundary value>
--<boundary value>
Content-Disposition:form-data; name="file";filename="<filename.XML>";Content-Type:text/
<xml|json>
--<boundary value>
Content-Disposition: form-data; name="name"
<mapplet name>
--<boundary value>
Content-Disposition: form-data; name="desc"
DELETE request
To delete a mapplet, use the mapplet ID in the following URI:
/api/v2/customFunc/<id>
DELETE response
Returns the 200 response code if the request is successful.
POST example
To update a mapplet with an ID of 3 with an icSessionId of IV4wOrJmd6YUtmKa8t, you might use the
following request. The updated mapplet is named Lookup Mapplet and uses the lookup_mapplet.xml file.
XML data should be encoded in UTF-8.
URL: https://example.informatica.com/saas/api/v2/customFunc/3
HTTP method: POST
Content-Type:multipart/form-data;boundary=243553118520053
--243553118520053
Content-Disposition:form-data; name="file";filename="<lookup_mapplet.xml>";Content-
Type:text/xml
customFunc 213
</REPOSITORY>
</POWERMART>
--243553118520053
Content-Disposition: form-data; name="name"
Lookup Mapplet
--243553118520053
Content-Disposition: form-data; name="icSessionId"
IV4wOrJmd6YUtmKa8t
--243553118520053--
A successful request returns the customFunc response object for the mapplet that you updated,
dataPreview
Use this resource to preview data during mapping design. By default, the response returns up to ten rows of
data for the specified object.
GET request
To request preview data, specify the connection ID or connection name and the object name in the URI.
Optionally, you can include field format information in the request.
For flat file format, you can include the following information in the flatFileAttrs object:
textQualifier String Yes Quote character that defines the boundaries of text strings.
escapeChar String Yes Character immediately preceding a field delimiter character embedded in an
unquoted string, or immediately preceding the quote character in a quoted
string.
firstDataRow Int Yes The row number where the data begins in the file.
For Avro, Parquet, Orc, or JSON formats, include the following information in the dataFormat object:
By default, the dataPreview response returns 10 rows. For flat file connections, you can specify the number
of rows using the numRows parameter as shown in the following example:
/api/v2/connection/source/<id>/datapreview/?objectName=<object name>&numRows=<number of
rows to view>
You can also specify the beginning row using the startRowNum parameter as shown in the following
example:
/api/v2/connection/source/<id>/datapreview/?objectName=<object name>&startRowNum=<row
number of row to begin with>
Note: If you use the connection name in the URI and the connection name includes a space, replace the
space with %20. For example:
/api/v2/connection/target/name/my%20connection/datapreview/SF_ACCOUNT.csv
GET response
Returns the dataPreview object for the requested connection ID or connection name and object name.
values String Included in the dataPreviewEntry object. Field values from the source or target object.
dataPreview 215
GET request examples
The following example shows a request to preview data from the SF_ACCOUNT.csv object:
GET <serverUrl>/api/v2/connection/target/0000010B000000000003/datapreview/SF_ACCOUNT.csv
HTTP/1.0
Accept:application/json
icSessionId: <icSessionId>
The following example shows a request to preview data from the customer.parquet object.
POST <serverUrl>/api/v2/connection/source/0000010B000000000009/datapreview?
objectName=customer.parquet
1.0
Content-Type: application/xml
Accept: application/xml
icSessionId: <icSessionId>
{
"@type": "dataFormat",
"dformatId": "Parquet",
"schema": "message AllData_root { optional int32 c_custkey; optional binary c_name
(UTF8); optional binary c_address (UTF8); optional int64 c_nationkey; optional binary
c_phone (UTF8); optional double c_acctbal; optional binary c_mktsegment (UTF8); required
binary c_comment (UTF8);}"
}
"@type": "dataPreview",
"connId": "0000010B000000000003",
"objectName": "SF_ACCOUNT.csv",
"header": [
"ID",
"ISDELETED",
"MASTERRECORDID",
"NAME",
"TYPE",
"PARENTID",
"BILLINGSTREET",
"BILLINGCITY",
"BILLINGSTATE",
"BILLINGPOSTALCODE",
"BILLINGCOUNTRY",
"BILLINGLATITUDE",
"BILLINGLONGITUDE",
"SHIPPINGSTREET",
"SHIPPINGCITY",
"SHIPPINGSTATE",
"SHIPPINGPOSTALCODE",
"SHIPPINGCOUNTRY",
"SHIPPINGLATITUDE",
"SHIPPINGLONGITUDE",
"PHONE",
"FAX",
"ACCOUNTNUMBER",
"WEBSITE"
],
"fieldName": [
"ID",
"ISDELETED",
"MASTERRECORDID",
"NAME",
"TYPE",
"PARENTID",
"BILLINGSTREET",
"BILLINGCITY",
"fieldBusinessName": [
"ID",
"ISDELETED",
"MASTERRECORDID",
"NAME",
"TYPE",
"PARENTID",
"BILLINGSTREET",
"BILLINGCITY",
"BILLINGSTATE",
"BILLINGPOSTALCODE",
"BILLINGCOUNTRY",
"BILLINGLATITUDE",
"BILLINGLONGITUDE",
"SHIPPINGSTREET",
"SHIPPINGCITY",
"SHIPPINGSTATE",
"SHIPPINGPOSTALCODE",
"SHIPPINGCOUNTRY",
"SHIPPINGLATITUDE",
"SHIPPINGLONGITUDE",
"PHONE",
"FAX",
"ACCOUNTNUMBER",
"WEBSITE"
],
"rows": [
{
"@type": "dataPreviewEntry",
"values": [
"001i000000KIAQGAA5",
"0",
"",
"ABCPoint",
"Customer - Channel",
"",
"345 ABC Park",
"Mountain View",
"CA",
"94063",
"",
"",
"",
"345 ABC Park",
"Mountain View",
"CA",
"94063",
"",
"",
"",
"(650) 555-3450",
"(650) 555-9895",
dataPreview 217
"CC978213",
"www.ABCpoint.com"
]
},
{
"@type": "dataPreviewEntry",
"values": [
"001i000000KIAQHAA5",
"0",
"",
"123 United, UK",
"Customer - Direct",
"",
"123 Estate,\nGateshead, Tyne and Wear NE26 3HS\nUnited Kingdom",
"",
"UK",
"94063",
"",
"",
"",
"123 Estate,\nGateshead, Tyne and Wear NE26 3HS\nUnited Kingdom",
"",
"",
"94063",
"",
"",
"",
"+44 123 4567899",
"+44 123 4567899",
"CD355119-A",
"http://www.123United.com"
]
• Login. Use to log in to Informatica Intelligent Cloud Services and get the session ID to use in dynamic task
REST API calls.
• dynamictask. Use to create, view, update, or delete a dynamic mapping task.
• job. Use to start, stop, or get details about a dynamic mapping task run instance.
Login
Use this resource to log into Informatica Intelligent Cloud Services to use batch-mapping APIs. The response
includes the IDS-SESSION-ID that you must include in the header of subsequent REST API calls.
POST request
Use the following URL:
<login URL>/identity-service/api/v1/Login
The login URL includes the region where your organization is located and the Informatica Intelligent Cloud
Services domain, informaticacloud.com. You can find your organization's login region by opening the
Informatica Intelligent Cloud Services log in page. The regional login URL is located in the browser's address
bar before you log in to Informatica Intelligent Cloud Services.
POST response
Returns the user object if the request is successful. Returns the error object if errors occur.
sessionId String REST API session ID for the current session. Use in most REST API request headers.
timeZoneId String Time zone of the user. Time zone honors Daylight Saving Time. For more information,
see “Time zone codes” on page 366 .
dynamictask
Use this resource to request the details of a dynamic mapping task. You can also create, update, or delete a
dynamic mapping task.
To request details or to update a dynamic task that already exists, you need the task ID. You can get the task
ID using the V3 lookup resource. To lookup object details with the V3 lookup resource, use the following URI:
/saas/public/core/v3/lookup
Include BATCH_MAPPING as the object type as shown in the following example:
{
"objects": [
{
"path": "Default/DMT_API",
"type": "BATCH_MAPPING"
}
]
}
The response returns details about the objects in the path as shown in the following example:
{
"objects": [
{
"id": "7H67JPHH9Y4g7Hm7JyL5K2",
"path": "Default/DMT_API",
"type": "BATCH_MAPPING",
"description": "",
"updatedBy": "rl.ma",
"updateTime": "2021-08-27T23:45:14Z"
}
]
}
You can also find the task ID by opening the task in the Data Integration user interface. In the URL, the last
string of characters in the task ID.
GET request
To request the details of a dynamic mapping task, use the task ID.
Use the following URI to request the details of a dynamic mapping task:
/batch-mapping/api/v1/dynamictask/<id>
GET response
Returns the dynamictask object for the requested task ID.
POST request
To create a dynamic mapping task, use the following URI:
/batch-mapping/api/v1/dynamictask
If you want to specify a location for the task, include the container ID as a query parameter in the request. If
the container ID isn't included in the request, the task is created in the Default folder. You can find the
container ID for a project or folder in the Data Integration user interface. On the Explore page, select the
folder. In the URL, the last string of characters in the container ID.
mappingDocType String Yes Type of mapping used in the task. Include one of the following
types:
- MAPPING. Use for non-elastic mappings.
- AT_SCALE_MAPPING. Use for elastic mappings.
POST response
If successful, returns the dynamictask object that you created or updated. Returns the error object if errors
occur.
PUT request
To update a dynamic mapping task, include the task ID as shown in the following example:
/batch-mapping/api/v1/dynamictask/<Id>
When you update a dynamic mapping task, include the same attributes as a POST request.
PUT response
Returns the task ID, state, and any validation errors as shown in the following example:
{
"frsId": "1JVMWZjVPMhKY4SdxcGd60",
"state": "VALID",
"validationErrors": []
}
DELETE request
To delete a dynamic mapping task, use the task ID in the following URI:
/batch-mapping/api/v1/dynamictask/<id>
DELETE response
Returns the 200 response code if the request is successful.
POST example
To create a new dynamic mapping task with the REST API, you might use the following request:
POST https://na1.dm-us.informaticacloud.com/batch-mapping/api/v1/dynamictask
Content-Type: application/json
Accept: application/json
IDS-SESSION-ID: jpaybAKQMsmdt7vLJ02z0s
{
"orgId": "2ij4X7Pd63ibnquEQyy9wA",
"name": "DMT_API",
"description": "",
"mappingId": "01003Y1700000000005X",
"mappingDocType": "MAPPING",
job
When you use the REST API to run a dynamic mapping task, use the REST API version 1 job resource to start
or stop the job. You can also get details about the job.
Do not use the platform REST API version 2 job resource to get the status of a dynamic mapping task.
If your organization uses projects and folders, use the REST API version 3 lookup resource to retrieve the
task ID. This ID is the federated task ID, which you must include in the POST request.
GET request
To get details of a dynamic mapping task run, use the following URI:
/batch-mapping/api/v1/Job/monitor/task/<Id>/run/<runId>
GET response
If successful, returns the job status.
For example, you might get the following response when you request details of a completed dynamic
mapping task:
{
"taskId": "jUJNIX39Z6ZbR8KZCm2ieS",
"taskFrsId": "k2AE77O06oYg6NvrOtKt6t",
"taskName": "Dynamic Mapping Task2",
"instanceId": 1,
"startedBy": "[email protected]",
"startTime": "2021-08-26T16:28:11.000Z",
"updateTime": "2021-08-26T16:28:35.000Z",
"endTime": "2021-08-26T16:28:35.000Z",
"runtimeEnvironment": "test1",
"runtimeEnvironmentId": "01000025000000000002",
"status": "COMPLETED",
"successRows": 3,
"errorRows": 0,
"saasMappingId": "01000017000000000007",
"mappingName": "dsst__copy_data_new_tgt_With_SortList",
"mappingFrsId": "5A90bRPboO0dpMQ8F2nkgy",
"mappingDocType": "MAPPING",
"runContext": "API",
"scheduleName": null,
"jobs": [
{
"jobName": "Job_1",
"jobUUID": "78OZ7JlUNSCd09kwQWXbUf",
"groupName": "Group_1",
"saasJobRunId": 52,
"saasLogId": "010000C100000000040H",
"startTime": "2021-08-26T16:28:18.000Z",
"updateTime": "2021-08-26T16:28:33.000Z",
"endTime": "2021-08-26T16:28:33.000Z",
"errorMessage": null,
"status": "COMPLETED",
"failedSourceRows": 0,
"successSourceRows": 3,
"failedTargetRows": 0,
"successTargetRows": 3,
For example, if you run a dynamic mapping task for the second time, you get the following response:
{
"runId": 2,
"taskFrsId": "k2AE77O06oYg6NvrOtKt6t"
}
expressionValidation
Use this resource to validate expressions.
POST Request
To validate an expression, use the following URI:
/saas/api/v2/expression/validate
Use the following attributes in the request body:
expressionValidation 237
Field Type Required Description
isSourceType Boolean Yes Whether the expression is for a source object. Values are True or False.
If the expression is valid, the response returns a message that says the expression is valid. If the expression
is not valid, the response returns an error.
POST Example
To validate an expression, you might use the following request:
POST <serverURL>/api/v2/expression/validate
Content-Type: application/json
Accept: application/json
{
"@type":"expressionValidation",
"expr":"REPVERSION",
"connectionId":"0000010B000000000004",
"objectName":"OPB_REPOSIT",
"isSourceType":true
}
field
A field is a subset of a data structure that represents a single data item. For example, a database table
column is a field. Use this resource to request field details for a source or target object and to update the flat
file attributes for a source or target object.
GET request
Request field details of a source object or a target object.
• To request the field details of a source object, use the source connection ID or source connection name
and the source object name. Use one of the following URIs:
/api/v2/connection/source/<id>/field/<object name>
/api/v2/connection/source/name/<name>/field/<object name>
• To request the field details of a target object, use the target connection ID or target connection name and
the target object name. Use one of the following URIs:
/api/v2/connection/target/<id>/field/<object name>
/api/v2/connection/target/name/<name>/field/<object name>
If you use the connection name in the URI and the connection name includes a space, replace the space with
%20. For example:
/api/v2/connection/source/name/my%20connection/field/customer
You can also use the following URI, which accommodates searching for an object that includes a forward
slash (/):
/api/v2/connection/<source or target>/<id>/fields?objectName=<objectName>
Note: The object name is case-sensitive.
The field object includes different information based on the connection type. The following are the attributes
of a field object:
scale Int Number of digits after the decimal point for numeric values.
linkedFields String For a masking task, the source field mapped to the input field of the mapplet.
relatedInfos Information about related fields included in a fieldRelatedInfo object for each related
field.
referenceObject String Included in the fieldRelatedInfo object. Object that includes the field.
field 239
Field Type Description
references Reference information included in a fieldRelatedInfo object for each related field.
GET example
To use XML to get the field details for the Customer object available through the source connection (ID:
0002D420000000J), you might use the following request:
GET <serverUrl>/api/v2/connection/source/0002D420000000J/field/Customer
Content-Type: application/xml
Accept: application/xml
icSessionId: <icSessionId>
A successful request returns the fields object for each field in the Customer source object.
To change flat file attributes, include the following information in the flatFileAttrs object:
textQualifier String Yes Quote character that defines the boundaries of text strings.
escapeChar String Yes Character immediately preceding a field delimiter character embedded in an
unquoted string, or immediately preceding the quote character in a quoted
string.
firstDataRow Int Yes The row number where the data begins in the file.
field 241
A successful response might look like the following example:
[
{
"@type": "field",
"id": -1,
"name": "c_custkey",
"type": "parquet_int32",
"uniqueName": "c_custkey",
"label": "c_custkey",
"parentObject": "customer_tgt.parquet",
"pcType": "INTEGER",
"precision": 10,
"scale": 0,
"columnIndex": -1,
"isKey": false,
"isExternalId": false,
"isSfIdLookup": false,
"isNullable": true,
"isUnique": false,
"isCreateable": false,
"isUpdateable": true,
"isFilterable": true,
"isCalculated": false,
"javaType": "java.lang.Integer",
"showLabel": true,
"naturalOrder": 0,
"linkedFields": [],
"relatedInfos": [],
"references": []
},
{
"@type": "field",
"id": -1,
"name": "c_address",
"type": "parquet_string",
"uniqueName": "c_address",
"label": "c_address",
"parentObject": "customer_tgt.parquet",
"pcType": "NSTRING",
"precision": 4000,
"scale": 0,
"columnIndex": -1,
"isKey": false,
"isExternalId": false,
"isSfIdLookup": false,
"isNullable": true,
"isUnique": false,
"isCreateable": false,
"isUpdateable": true,
"isFilterable": true,
"isCalculated": false,
"javaType": "java.lang.String",
"showLabel": true,
"naturalOrder": 2,
"linkedFields": [],
"relatedInfos": [],
"references": []
},
{
"@type": "field",
"id": -1,
"name": "c_nationkey",
"type": "parquet_int64",
"uniqueName": "c_nationkey",
"label": "c_nationkey",
"parentObject": "customer_tgt.parquet",
"pcType": "BIGINT",
"precision": 19,
"scale": 0,
"columnIndex": -1,
"isKey": false,
fileRecord
Use this resource to upload a Visio template XML file or image file to your organization. You can also use this
resource to delete a Visio template XML file or image file from the organization.
POST Request
To upload a Visio template XML file or image file, use the following URI.
/api/v2/fileRecord
You can upload a file up to 5 MB in size.
fileRecord 243
Use the following attributes in the request body:
file Yes Content of the file that you want to upload. File content should be in binary format,
UTF-8 encoding.
type String Yes Type of file that you want to upload. Use one of the following values:
- MAPPING. Use to upload a Visio template XML file. Use for XML files only.
- IMAGE. Use to update an image file for a Visio template. Use for JPEG or PNG files
only.
In addition to the POST attributes, pass the following information in the request body:
Content-Type:multipart/form-data;boundary=<boundary value>
--<boundary value>
Content-Disposition:form-data; name="file";filename="<filename.ext>";Content-Type:text/
<xml|json>
--<boundary value>
Content-Disposition: form-data; name="type"
<MAPPING | IMAGE>
--<boundary value>
Content-Disposition: form-data; name="icSessionId"
POST Response
Returns the fileRecord object if the upload is successful. Returns the error object if errors occur.
createTime Date/time Time that the file was uploaded to the organization.
attachTime String Time the file was associated with a Visio template.
DELETE Request
You can delete a Visio template XML or image file if the Visio template is not used by a Visio template.
DELETE Response
Returns the 200 response code if the request is successful.
POST Example
To upload the VisioTemplate.xml file with an icSessionId of IV4wOrJmd6YUtmKa8t, you might use the
following request. XML data should be encoded in UTF-8.
URL: https://example.informatica.com/saas/api/v2/fileRecord/
HTTP method: POST
Content-Type:multipart/form-data;boundary=243553118520053
--243553118520053
Content-Disposition:form-data; name="file";filename="<VisioTemplate.xml>";Content-
Type:text/xml
fileRecord 245
<CustomProperty Name="Database Type" Value="" isParameterized="False" />
<CustomProperty Name="Is ShortCut" Value="False" isParameterized="False" />
</Node>
.
.
.
<Link Name="Sheet.7" FromNameID="Aggregator" ToNameID="Target Definition"
MasterInputSet="False" isParameterized="False">
<Rule Text="Datatype:string" isParameterized="False" />
<Rule Text="EXCLUDE Named:AUTO__C (TO) AUTO__C" isParameterized="False" />
<Rule Text="Datatype:date/time" isParameterized="False" />
<Rule Text="Pattern:_o$" isParameterized="False" />
<Rule Text="Datatype:nstring" isParameterized="False" />
<Rule Text="Datatype:ntext" isParameterized="False" />
<Rule Text="Datatype:text" isParameterized="False" />
</Link>
</Graph>
--243553118520053
Content-Disposition: form-data; name="type"
MAPPING
--243553118520053
Content-Disposition: form-data; name="icSessionId"
IV4wOrJmd6YUtmKa8t
--243553118520053--
If the upload is successful, returns the fileRecord response object.
filelisteners
Use the filelisteners resource to create, update, delete, and run a file listener. Informatica Intelligent Cloud
Services can use file listeners to monitor specific folders. Informatica Intelligent Cloud Services are notified
by using a call-back API when new files arrive at a monitored folder and when files in the folder are updated
or deleted.
• Send a GET request to view details of a file listener. See “View file listener” on page 247.
• Send a POST request to create a file listener. See “Create a file listener” on page 251.
• Send a PUT request to update an existing file listener. See “Update a file listener” on page 257.
• Send a start POST request to start a file listener job. See “Start a file listener” on page 262.
• Send a stop POST request to stop the file listener job manually. See “Stop a file listener” on page 262.
GET request
To view the details of a particular file listener, include the file listener ID in the following URI:
To view the details for all of the file listeners in the organization, omit the file listener ID.
GET response
A request for file listener details returns the following information:
type String Type of the connection to which the file listener listens.
folderPath String Path to the folder on the connection to which the file
listener listens.
filePattern String File name pattern to which the file listener listens.
Post Action String Determines the action the file listener must perform
after the file listener listens to the events.
You can select the post action as Delete only if the file
pattern is an indicator file. Default is None.
The following connection types support the Post Action
option:
- Local folder
- Advanced FTP V2
- Advanced FTPS V2
- Advanced SFTP V2
- Azure Data Lake Store Gen2
filelisteners 247
Field Type Description
type String Frequency at which the file listener runs, daily, weekly, or
monthly.
timezone String Time zone that refers to the start and end time.
runIndefinitely String Whether the file listener runs without an end date.
startsAt Date/Time Time of day when the file listener starts running.
endsAt Date/Time Time of day when the file listener stops running.
frequency Numeric Frequency at which the file listener checks for files in
the folder.
frequencyUnit String Unit of frequency to which file listener checks for files in
the folder, by seconds, minutes, or hours.
stopWhenRulesMet String Whether the file listener stops listening to the folder
when the listener rules are met. Set to one of the
following values:
- false. The file listener notifies the registered
application on events and continues to listen for
subsequent events.
- true. The file listener stops listening to the folder
when the first event of file deletion occurs in the
folder.
stabilityCheckInterval Time Time in seconds that a file listener waits to check for file
stability.
You can specify a value in the stabilityCheckInterval field
only if the checkFileStability option is set to true.
notifyExistingFiles String The first time the file listener runs, it sends a
notification if files exist in the folder to which it listens,
of the parameter is set to true.
excludeFileEventsWhenNotRun String Determines if you want to exclude file events that occur
ning when a file listener is not running.
location String Location of the project folder that contains the file
listener component.
filelisteners 249
"rules": [
{
"id": 10052,
"folderPath": "C:\\temp1",
"filePattern": "*.txt",
"postAction": "NONE",
"patternType": "wildcard",
"mandatory": false,
"recursive": false
}
],
"scheduleDefinition": {
"type": "DAILY_WITH_INTERVAL",
"timezone": "IST",
"startDate": "20181227",
"endDate": "20181227",
"runIndefinitely": false,
"startsAt": "1015",
"endsAt": "2355",
"frequency": 15,
"frequencyUnit": "SECONDS"
},
"stopWhenRulesMet": false,
"listenerEvents": {
"arrive": true,
"update": true,
"delete": true
},
"checkFileStability": true,
"stabilityCheckInterval": 10,
"notifyExistingFiles": false,
"excludeFileEventsWhenNotRunning": true,
"continueOnError": true,
"location": {
"folderId": "avVCKODMM0RdSmcNWDnrKi",
"folderName": "New",
"projectId": "3iWWHkLbM2giVppBmJmZgV",
"projectName": "Default"
},
"createTime": "2019-02-12T07:03:49Z",
"lastUpdatedTime": "2019-02-12T07:03:49Z"
}
POST request
Use the following URI to create a file listener and an event listener:
POST <serverUrl>/mftsaas/api/v1/filelisteners
Use the following fields in the POST request:
filelisteners 251
Field Type Required Description
agentGroup Numeric Yes Runtime environment that contains the Secure Agent
used to run the file listener.
connectionType String Yes Type of the connection to which the file listener
listens.
folderPath String Yes Path to the folder on the connection to which the file
listener listens.
filePattern String Yes File name pattern to which the file listener listens.
Post Action String - Determines the action the file listener must perform
after the file listener listens to the events.
You can select the post action as Delete only if the
file pattern is an indicator file. Default is None.
The following connection types support the Post
Action option:
- Local folder
- Advanced FTP V2
- Advanced FTPS V2
- Advanced SFTP V2
- Azure Data Lake Store Gen2
scheduleDefinition String Yes Defines the frequency in which the file listener must
run.
type String Yes Frequency at which the file listener runs, daily, weekly,
or monthly.
timezone String Yes Time zone that refers to the start and end time.
startDate Date/ Yes Date on which the file listener starts running.
Time
endDate Date/ Yes Date until which the file listener runs.
Time
startsAt Date/ Yes Time of day when the file listener starts running.
Time
endsAt Date/ Yes Time of day when the file listener stops running.
Time
frequency Numeric Yes Frequency at which the file listener checks for files in
the folder.
frequencyUnit String Yes Unit of frequency to which file listener checks for files
in the folder, by seconds, minutes, or hours.
listenerEvents String Yes Determines when the file listener sends notifications
to the services that are registered to it. Response to
each event, when the event is set to true is as follows:
- arrive. Send notifications when files arrive at the
folder to which the file listener listens.
- update. Send notifications when files in the folder
to which the file listener listens are updated.
- delete. Send notifications when files in the folder to
which the file listener listens are deleted.
stopWhenRulesMet String - The file listener stops listening to the folder when the
listener rules are met.
- false. The file listener notifies the registered
application on events and continues to listen for
subsequent events.
- true. The listener stops listening to the folder
when the first event of file deletion occurs in the
folder.
checkFileStability String - The file listener verifies that the entire file is copied to
the folder before notifying the registered services.
stabilityCheckInterval Time - Time in seconds that a file listener waits to check for
file stability.
You can specify a value in the stabilityCheckInterval
field only if the checkFileStability option is set to
true.
notifyExistingFiles String - The first time the file listener runs, it sends a
notification if files exist in the folder to which it
listens.
filelisteners 253
Field Type Required Description
location String - Location of the project folder that contains the file
listener component.
filelisteners 255
POST request example
Use this sample as a reference to create an event listener.
POST <serverUrl>/public/core/v1/filelisteners
Content-Type: application/json
Accept:application/json
Content-Type:application/json
IDS-SESSION-ID:{{IDS-SESSION-ID}}
{
"name": "{{NEWEVENTLISTENER-NAME}}",
"description": "",
"agentGroup": "01000025000000000003",
"sourceType": "Server",
"location": {
"projectId": "1UNDIQkHQYKcNLPdxeR56p",
"projectName": "overRide"
},
"eventProvider": "AS2",
"eventType": "as2_message_receive_failed",
"rules": [
{
"key": "event.userName",
"value": "Suraj",
"operator": "NONE",
"type": "CONTAINS"
},
{
"key": "event.fileName",
"value": "Test",
"operator": "AND",
"type": "STRING_EQUALS"
},
{
"key": "event.fileSize",
"value": "89",
"operator": "OR",
"type": "INTEGER_EQUALS"
}
]
}
PUT Request
Use the following URI to update an existing file listener.
PUT <server URL>/mftsaas/api/v1/filelisteners/<filelistener ID>
Use the following fields in the PUT request:
agentGroup Numeric Yes Runtime environment that contains the Secure Agent
used to run the file listener.
connectionType String Yes Type of the connection to which the file listener
listens.
folderPath String Yes Path to the folder on the connection to which the file
listener listens.
filePattern String Yes File name pattern to which the file listener listens.
filelisteners 257
Field Type Required Description
Post Action String - Determines the action the file listener must perform
after the file listener listens to the events.
You can select the post action as Delete only if the
file pattern is an indicator file. Default is None.
The following connection types support the Post
Action option:
- Local folder
- Advanced FTP V2
- Advanced FTPS V2
- Advanced SFTP V2
- Azure Data Lake Store Gen2
scheduleDefinition String Yes Defines the frequency in which the file listener must
run.
type String Yes Frequency at which the file listener runs, daily, weekly,
or monthly.
timezone String Yes Time zone that refers to the start and end time.
startDate Date/ Yes Date on which the file listener starts running.
Time
endDate Date/ Yes Date until which the file listener runs.
Time
startsAt Date/ Yes Time of day when the file listener starts running.
Time
endsAt Date/ Yes Time of day when the file listener stops running.
Time
frequency Numeric Yes Frequency at which the file listener checks for files in
the folder.
frequencyUnit String Yes Unit of frequency to which file listener checks for files
in the folder, by seconds, minutes, or hours.
listenerEvents String Yes Determines when the file listener sends notifications
to the services that are registered to it. Response to
each event, when the event is set to true is as follows:
- arrive. Send notifications when files arrive at the
folder to which the file listener listens.
- update. Send notifications when files in the folder
to which the file listener listens, are updated.
- delete. Send notifications when files in the folder to
which the file listener listens are deleted.
stopWhenRulesMet String - The file listener stops listening to the folder when the
listener rules are met.
- false. The file listener notifies the registered
application on events and continues to listen for
subsequent events.
- true. The listener stops listening to the folder
when the first event of file deletion occurs in the
folder.
checkFileStability String - The file listener verifies that the entire file is copied to
the folder before notifying the registered services.
stabilityCheckInterval Time - Time in seconds that a file listener waits to check for
file stability.
You can specify a value in the stabilityCheckInterval
field only if the checkFileStability option is set to
true.
notifyExistingFiles String - The first time the file listener runs, it sends a
notification if files exist in the folder to which it
listens.
excludeFileEventsWhenNotRunning String - Determines if you want to exclude the file events that
occur when a file listener is not running.
filelisteners 259
"folderId": "avVCKODMM0RdSmcNWDnrKi",
"folderName": "New",
"projectId": "3iWWHkLbM2giVppBmJmZgV",
"projectName": "Default"
},
"agentGroup": "01000025000000000002",
"connection": {
"type": "local",
"name": "",
"connId": "",
"local": true
},
"listenerEvents":{
"arrive":true,
"update":true,
"delete":true},
"checkFileStability": true,
"stabilityCheckInterval": 10,
"notifyExistingFiles": false,
"excludeFileEventsWhenNotRunning": true,
"continueOnError": true,
"emailIDs":"[email protected],[email protected]"
"rules": [
{
"id": 10070,
"folderPath": "C:\\temp1",
"patternType":"wildcard",
"filePattern": "*.txt",
"postAction": "NONE",
"mandatory": false,
"recursive": false
}
],
"scheduleDefinition": {
"type": "DAILY_WITH_INTERVAL",
"timezone": "IST",
"startDate": "20181227",
"endDate": "20181227",
"runIndefinitely": false,
"startsAt": "1015",
"endsAt": "2355",
"frequency": 15,
"frequencyUnit": "SECONDS",
"dayOfMonth": 0
},
"stopWhenRulesMet": false
PUT response
If the request to update the file listener is successful, you receive the response similar to the following
example:
{
"id": "eX5qlosUfEHbwvNwGpRwQd",
"name": "FL512087",
"description": "Demo",
"status": "ENABLE",
"agentGroup": "01000025000000000002",
"connection": {
"type": "local",
"name": "",
"connId": ""
},
"rules": [
{
"id": 10070,
"folderPath": "C:\\temp1",
"filePattern": "*.txt",
DELETE request
Use the following URI to delete a file listener:
DELETE <server URL>/mftsaas/api/v1/filelisteners/<file listener ID>
Use the following fields in the delete request:
filelisteners 261
Delete response example
If the delete request is unsuccessful, you receive a response similar to the following example:
{
"responseCode": "NOT_FOUND",
"message": "Document Artifact with Id = bQdKQmGlFUUgS85AevLkqi3 not found."
}
POST request
To start a file listener, use the following URI:
POST <server URL>/mftsaas/api/v1/filelisteners/<file listener ID>/start
Include the following field in the request:
POST request
To stop a file listener, use the following URI:
POST <server URL>/mftsaas/api/v1/filelisteners/<file listener ID>/stop
GET request
To view the status of a file listener, use the following URI:
GET <server URL>/mftsaas/api/v1/filelisteners/job/<Job ID>/status
Include the following field in the request:
filelisteners 263
GET response example
If the request to view the status of a file listener job is unsuccessful, you might receive a response similar to
the following example:
{
"responseCode": "NOT_FOUND",
"message": "File listener not found for TaskId: 1079"
}
GET request
To view the details of a file listener job, use the following URI:
GET <server URL>/mftsaas/api/v1/filelisteners/<Run ID>/activityLog
Include the following field in the request:
File transfer
You can send files to a remote server or receive files from a remote server, and get the job status through the
REST API.
sendfiles
Use the sendfiles resource to transfer files to a remote server.
The following connection types use the sendfiles resource to transfer files to the remote server:
• AS2
• Advanced FTP V2
• Advanced FTPS V2
• Advanced SFTP V2
Before you construct a sendfiles request to transfer files, obtain the identifier of the connection that provides
access to the server. To get the connection ID, you can send a GET request using the connection resource.
The connection resource can return information for each of your organization's connections.
POST Request
To transfer files, include the connection ID in the following URI.
mftsaas/api/v1/sendfiles/<connection ID>
Include the following information in the request:
srcDirectoryPath String Yes Directory path from where files are transferred.
srcFilePattern String Yes Source file name pattern. Specify a file name pattern to identify which
files to send. You can use the regular expression type.
deleteSourceFiles String - Whether to delete source files after a successful POST request. Use
one of the following values:
- true. Delete source files.
- false. Save source files.
Default is true.
For example, to transfer the files that begin with "file_" that are located in the workspace directory, you might
use the following request:
POST <serverUrl>/mftsaas/api/v1/sendfiles/<connection ID>
Accept:application/json
IDS-SESSION-ID: <icSessionId or INFA-SESSION-ID>
{
"targetConnectionType": "as2",
"srcDirectoryPath": "C:\\server\\userdata\\workspace",
"srcFilePattern": "file_*“
}
For example, to transfer the files with ".txt" pattern, you might use the following request:
POST <serverUrl>/mftsaas/api/v1/sendfiles/<connection ID>
Accept:application/json
IDS-SESSION-ID: <icSessionId or INFA-SESSION-ID>
{
"targetConnectionType": "Advanced SFTP V2",
"srcDirectoryPath": "C:\\docstoreLocal2",
"tgtDirectoryPath": "C:\\server\\userdata\\workspace",
"srcFilePattern": ".*txt“
POST Response
If successful, Informatica Intelligent Cloud Services returns the run ID for the job. Use the run ID to monitor
the job status.
The following connection types use the receivefiles resource to transfer files to the remote server:
• Advanced FTP V2
• Advanced FTPS V2
• Advanced SFTP V2
Before you construct a receivefiles request to receive files, obtain the identifier of the connection that
provides access to the server. To get the connection ID, you can send a GET request using the connection
resource. The connection resource can return information for each of your organization's connections.
POST Request
To receive files, include the connection ID in the following URI.
mftsaas/api/v1/receivefiles/<connection ID>
Include the following information in the request:
srcFilePattern String Yes Source file name pattern. Specify a file name pattern to identify
which files to send. You can use the regular expression type.
processFilesRecursively String - Whether to process files from all sub-folders within the base
directory. Default is false.
afterFilePickupAction String - Determines what to do with source files after the files transfer. The
following options are available:
- Keep the files in the source directory.
- Delete the files from the source directory.
- Rename the files in the source directory. You must specify a file
name suffix that adds to the file name when renaming the files.
- Archive the files to a different location. You must specify an
archive directory.
Default is KEEP.
skipDuplicateFiles String - Do not transfer duplicate files. If files with the same name and
creation date were transferred, the task does not transfer them
again, and the files are marked as duplicate in the job log. If this
option is not selected the task transfers all files.
Default is false.
whenFileExists String - Determines what to do with a file if a flat file with the same name
exists in the target directory. The following options are available:
- rename
- overwrite
- skip
- stop
- error
Default is rename.
For example, to transfer the files with ".txt" pattern, and rename the file if a flat file with same name exists in
the target directory, you might use the following request:
POST <serverUrl>/mftsaas/api/v1/sendfiles/<connection ID>
Accept:application/json
IDS-SESSION-ID: <icSessionId or INFA-SESSION-ID>
{
"sourceConnectionType": "Advanced SFTP V2",
"tgtDirectoryPath": "C:\\docstoreLocal2",
"srcDirectoryPath": "C:\\server\\userdata\\workspace",
"srcFilePattern": ".*txt“,
"processFilesRecursively": false,
"afterFilePickupAction": "KEEP",
"skipDuplicateFiles": false,
"whenFileExists": "rename",
}
POST Response
If successful, Informatica Intelligent Cloud Services returns the run ID for the job. Use the run ID to monitor
the job status.
Do not use the platform REST API version 2 job resource to get the status of an file transfer job.
Get Request
When you send the request for status of an file transfer job, include the run ID returned in the sendfiles POST
response. Use the following URI:
mftsaas/api/v1/job/<runID>/status
Get Response
If successful, Data Integration returns the job status.
filetransferTask
Use the filetransferTask resource to decrypt or decompress inbound files and to encrypt or compress
outbound files.
• Compress and transfer files to or within a folder in the home directory of the file server user.
• Decompress uploaded files and transfer them from the home directory of file server user to the target
location.
• Encrypt and transfer files from source location to the home directory of the file server user.
• Decrypt and transfer files from the file server user's home directory to the target location.
Compress and transfer files
Compress and transfer inbound files to or within a folder specified in the home directory of the file server
user.
POST Request
To compress and transfer files, include the connection ID in the following URI.
mftsaas/api/v1/filetransferTask/execute/1003
relativeTargetLocation String - The relative target location within the file server user’s home directory.
pattern String Yes The file pattern to identify the files to collect for compression. The
regular expression pattern is supported.
sourceLocation String Yes The source directory that contains the files that you want to compress.
COMPRESSION_TYPE String Yes The format of the files that you want to compress.
Select one of the following compression methods:
- Zip
- Tar
- Gzip
The values are not case sensitive.
For example, to compress and transfer a file, you might use the following request:
POST <serverUrl>/mftsaas/api/v1/filetransferTask/execute/1003
Accept:application/json
IDS-SESSION-ID: <icSessionId or INFA-SESSION-ID>
{
"agentGroupId": "01000125000000000002",
"fileServerUsername": "arun",
"portalUser":true,
"relativeTargetLocation":"",
"pattern":"arun.csv",
"sourceLocation":"C:\\Informatica_Source",
"taskVariables": {
"COMPRESSION_TYPE": "zip"
}
}
POST Response
If successful, Informatica Intelligent Cloud Services returns the run ID for the job. Use the run ID to monitor
the job status.
Decompress and transfer the uploaded files from the home directory of file server user to the target location.
POST Request
To decompress and transfer files, include the connection ID in the following URI.
mftsaas/api/v1/filetransferTask/execute/1004
Include the following information in the request:
pattern String Yes The file pattern of the file to release to the specified target
location after decompressing the file. The regular expression
pattern is supported.
targetLocation String Yes The target directory to which the file is moved after
decompressing.
DECOMPRESSION_TYPE String Yes The format of the files that you want to decompress.
Select one of the following decompression methods:
- Zip
- Tar
- Gzip
The values are not case sensitive.
PATTERN_CASE_SENSITIVE String - Whether the file pattern is case sensitive. The values are not case
sensitive. Default is false.
PATTERN _TO_COLLECT String Yes The pattern of the file that you want to collect to decompress
from the file server user’s home directory. Use a regular
expression to match the file name pattern.
For example, to decompress and transfer a file, you might use the following request
POST <serverUrl>/mftsaas/api/v1/filetransferTask/execute/1004
Accept:application/json
IDS-SESSION-ID: <icSessionId or INFA-SESSION-ID>
{
"agentGroupId": "01000125000000000002",
"fileServerUsername": "arun",
"pattern":".*csv",
"targetLocation":"C:\\Informatica_Target",
"taskVariables": {
"PATTERN_CASE_SENSITIVE": "false",
"DECOMPRESSION_TYPE": "unzip",
"PATTERN_TO_COLLECT": ".*zip"
}
}
POST Response
If successful, Informatica Intelligent Cloud Services returns the run ID for the job. Use the run ID to monitor
the job status.
Encrypt and transfer files from the source location to the home directory of the file server user or the
directory specified in the REST API param within the file server user’s home directory.
POST Request
To encrypt and transfer files, include the connection ID in the following URI.
mftsaas/api/v1/filetransferTask/execute/1001
Include the following information in the request:
relativeTargetLocation String - The relative target location within the file server user’s home
directory.
pattern String Yes The file pattern to identify the files to collect for encryption. The
regular expression pattern is supported.
sourceLocation String Yes The source directory that contains the files you want to encrypt.
SIGN String - Whether the file is signed by PGP. The values are not case
sensitive.
Default is false.
PUBLIC_KEY_ID String Yes The ID of the key that is used to encrypt the file.
SECRET_KEY_ID String Yes The ID of the secret key that is used to sign the file, if the value of
the SIGN variable is true.
SECRET_KEY_PASSPHRASE String Yes The passphrase used to access the secret key if the value of the
SIGN variable is true.
POST Response
If successful, Informatica Intelligent Cloud Services returns the run ID for the job. Use the run ID to monitor
the job status.
Decrypt and transfer files from the file server user’s home directory to the target location.
POST Request
To decrypt and transfer files, include the connection ID in the following URI.
mftsaas/api/v1/filetransferTask/execute/1002
Include the following information in the request:
pattern String Yes The file pattern of the file to release to the specified target
location after decrypting the file. The regular expression pattern
is supported.
targetLocation String Yes The target directory to which the file is moved after decryption.
PATTERN_CASE_SENSITIVE String Yes Whether the file pattern is case sensitive. The values are not case
sensitive.
Default is false.
PATTERN _TO_COLLECT String Yes The file name pattern of the files that PGP has to collect and
decrypt. Use a regular expression to match the file name pattern.
For example, to decrypt and transfer a file, you might use the following request:
POST <serverUrl>/mftsaas/api/v1/filetransferTask/execute/1002
Accept:application/json
IDS-SESSION-ID: <icSessionId or INFA-SESSION-ID>
{
"agentGroupId": "01000125000000000002",
"fileServerUsername": "arun",
"pattern":".*csv",
"targetLocation":"C:\\Informatica_Target",
"taskVariables": {
"PATTERN_CASE_SENSITIVE": "false",
"PGP_PASSPHRASE": "TESTER",
"PATTERN_TO_COLLECT": ".*pgp"
}
}
POST Response
If successful, Informatica Intelligent Cloud Services returns the run ID for the job. Use the run ID to monitor
the job status.
• Compress and transfer files to or within a folder in the home directory of the file server user.
Compress and transfer inbound files to or within a folder specified in the home directory of the file server
user.
POST Request
To compress and transfer files, include the connection ID in the following URI.
mftsaas/api/v1/filetransferTask/execute/1003
Include the following information in the request:
connectionId String Yes The connection ID of the Advanced FTP, Advanced FTPS, or Advanced
SFTP V2 connector.
relativeTargetLocation String - The relative target location within the file server user’s home directory.
pattern String Yes The file pattern to identify the files to collect for compression. The
regular expression pattern is supported.
sourceLocation String Yes The source directory that contains the files that you want to compress.
COMPRESSION_TYPE String Yes The format of the files that you want to compress.
Select one of the following compression methods:
- Zip
- Tar
- Gzip
The values are not case sensitive.
For example, to compress and transfer a file, you might use the following request:
POST <serverUrl>/mftsaas/api/v1/filetransferTask/execute/1003
Accept:application/json
IDS-SESSION-ID: <icSessionId or INFA-SESSION-ID>
{
"agentGroupId": "01000125000000000002",
"portalUser": "false",
"connectionId": "0100010B000000000002",
"pattern":"arun_zip.txt",
"relativeTargetLocation":"/",
"sourceLocation":"C:\\FIS_Home\\DOCSTORE",
"taskVariables": {
"COMPRESSION_TYPE": "gzip"
}
}
Decompress and transfer the uploaded files from the home directory of file server user to the target location.
POST Request
To decompress and transfer files, include the connection ID in the following URI.
mftsaas/api/v1/filetransferTask/execute/1004
Include the following information in the request:
relativeSourceLocation String - The relative source location within the file server user's home
directory.
pattern String Yes The file pattern of the file to release to the specified target location
after decompressing the file. The regular expression pattern is
supported.
targetLocation String Yes The target directory to which the file is moved after decompressing.
relativeTargetLocation String - The relative target location within the file server user's home
directory.
connectionId String Yes The connection ID of the Advanced FTP, Advanced FTPS, or
Advanced SFTP V2 connector.
afterFilePickupAction String - Determines what to do with the source files after the files are
transferred.
Select one of the following filter options:
- KEEP. Keep the files in the source directory.
- DELETE. Delete the files from the source directory.
- RENAME. Rename the files in the source directory.
- ARCHIVE. Archive the files to a different location. You must
specify an archive directory
Default is KEEP.
renameSuffix String Yes If afterFilePickupAction is selected as RENAME, the file name suffix
to append to the files in the source directory.
You can use the following suffix types:
- $date
- $time
- $runId
- $timestamp
skipDuplicateFiles String - Indicates whether to skip the source files which are already present
in the docstore location. Default is false.
processFilesRecursively String - Indicates whether to process files from all sub-folders within the
base directory. Default is false.
DECOMPRESSION_TYPE String Yes The format of the files that you want to decompress.
Select one of the following decompression methods:
- Zip
- Tar
- Gzip
The values are not case sensitive.
PATTERN _TO_COLLECT String Yes The pattern of the file that you want to collect to decompress from
the file server user’s home directory. Use a regular expression to
match the file name pattern.
For example, to decompress and transfer a file, you might use the following request:
POST <serverUrl>/mftsaas/api/v1/filetransferTask/execute/1004
Accept:application/json
IDS-SESSION-ID: <icSessionId or INFA-SESSION-ID>
{
"agentGroupId": "01000125000000000002",
"portalUser": "false",
"pattern": "arun_zip.txt",
"relativeSourceLocation": "/",
"targetLocation": "C:\\Informatica_Target",
"relativeTargetLocation": "",
"connectionId": "0100010B000000000002",
"afterFilePickupAction": "RENAME",
"renameSuffix":"_RENAME_",
"archiveDirectoryPath" :"",
"skipDuplicateFiles": true,
"processFilesRecursively": false,
"taskVariables": {
"DECOMPRESSION_TYPE": "gunzip",
POST Response
If successful, Informatica Intelligent Cloud Services returns the run ID for the job. Use the run ID to monitor
the job status.
Encrypt and transfer files from the source location to the home directory of the file server user or the
directory specified in the REST API param within the file server user’s home directory.
POST Request
To encrypt and transfer files, include the connection ID in the following URI.
mftsaas/api/v1/filetransferTask/execute/1001
Include the following information in the request:
connectionId String Yes The connection ID of the Advanced FTP, Advanced FTPS, or
Advanced SFTP V2 connector.
relativeTargetLocation String - The relative target location within the file server user’s home
directory.
pattern String Yes The file pattern to identify the files to collect for encryption. The
regular expression pattern is supported.
sourceLocation String Yes The source directory that contains the files you want to encrypt.
SIGN String - Whether the file is signed by PGP. The values are not case
sensitive.
Default is false.
PUBLIC_KEY_ID String Yes The ID of the key that is used to encrypt the file.
SECRET_KEY_ID String Yes The ID of the secret key that is used to sign the file, if the value of
the SIGN variable is true.
SECRET_KEY_PASSPHRASE String Yes The passphrase used to access the secret key if the value of the
SIGN variable is true.
For example, to encrypt and transfer a file, you might use the following request:
POST <serverUrl>/mftsaas/api/v1/filetransferTask/execute/1001
Accept:application/json
IDS-SESSION-ID: <icSessionId or INFA-SESSION-ID>
{
"agentGroupId": "01000125000000000002",
"portalUser": "false",
"connectionId": "0100010B000000000002",
"pattern":"arun.txt",
"relativeTargetLocation":"/",
"sourceLocation":"C:\\FIS_Home\\DOCSTORE",
"taskVariables": {
"SIGN":"true",
"PUBLIC_KEY_ID":"0x51986F687ADACBE1",
"SECRET_KEY_ID":"0x51986F687ADACBE1",
"SECRET_KEY_PASSPHRASE":"TESTER"
}
}
POST Response
If successful, Informatica Intelligent Cloud Services returns the run ID for the job. Use the run ID to monitor
the job status.
Decrypt and transfer files from the file server user’s home directory to the target location.
POST Request
To decrypt and transfer files, include the connection ID in the following URI.
mftsaas/api/v1/filetransferTask/execute/1002
relativeSourceLocation String - The relative source location within the file server user's home
directory.
pattern String Yes The file pattern of the file to release to the specified target
location after decrypting the file. The regular expression pattern
is supported.
targetLocation String Yes The target directory to which the file is moved after decrypting.
relativeTargetLocation String - The relative target location within the file server user's home
directory.
connectionId String Yes The connection ID of the Advanced FTP, Advanced FTPS, or
Advanced SFTP V2 connector.
afterFilePickupAction String - Determines what to do with the source files after the files are
transferred.
Select one of the following filter options:
- KEEP. Keep the files in the source directory.
- DELETE. Delete the files from the source directory.
- RENAME. Rename the files in the source directory.
- ARCHIVE. Archive the files to a different location. You must
specify an archive directory
Default is KEEP.
skipDuplicateFiles String - Indicates whether to skip the source files which are already
present in the docstore location. Default is false.
processFilesRecursively String - Indicates whether to process files from all sub-folders within the
base directory. Default is false.
PATTERN_CASE_SENSITIVE String Yes Whether the file pattern is case sensitive. The values are not case
sensitive.
Default is false.
PATTERN _TO_COLLECT String Yes The pattern of the file that you want to collect to decompress
from the file server user’s home directory. Use a regular
expression to match the file name pattern.
For example, to decrypt and transfer a file, you might use the following request:
POST <serverUrl>/mftsaas/api/v1/filetransferTask/execute/1002
Accept:application/json
IDS-SESSION-ID: <icSessionId or INFA-SESSION-ID>
{
"agentGroupId": "01000125000000000002",
"portalUser": "false",
"pattern": "arun.txt",
"relativeSourceLocation": "/",
"targetLocation": "C:\\Informatica_Target",
"relativeTargetLocation": "",
"connectionId": "0100010B000000000002",
"afterFilePickupAction": "ARCHIVE",
"renameSuffix":"_RENAME_",
"archiveDirectoryPath" :"/ARCH",
"skipDuplicateFiles": false,
"processFilesRecursively": false,
"taskVariables": {
"PATTERN_CASE_SENSITIVE": "false",
"PGP_PASSPHRASE": "TESTER",
"PATTERN_TO_COLLECT": "arun.txt.pgp"
}
}
POST Response
If successful, Informatica Intelligent Cloud Services returns the run ID for the job. Use the run ID to monitor
the job status.
Consider the following when you use the resources for HTTPS file transfer:
• You must have the HTTPS license to exchange files through HTTPS servers.
• You should log in to the HTTPS server to perform the API operations.
You can use the following resources for HTTPS file transfer:
Authentication
Use the following resources to log in to the HTTP server and log out.
login
You should log in to the HTTPS server to perform any HTTPS API operations. Use this command to lg in
to the HTTPS server. To log in to the Informatica Managed File Transfer HTTPS Server send a POST
request using the login resource. You must send a login request to start a user session if you don't use
client certificate authentication.
logout
Use the logout resource to log out and end the user session on the Informatica Managed File Transfer
HTTPS Server. You can make a GET or POST request.
Standard operations
You can use the following standard operational commands:
PWD
Use the PWD (Print Working Directory) command to retrieve the current working directory on the server.
The response includes the absolute path to the current working directory as part of the X-GDX-Reply
header message. The path is enclosed in double quotes.
delete
Use this command to remove files from the server. Include the relative or absolute file path to delete in
the file parameter.
rename
Use this command to rename files on the server. If the current working directory contains the files that
you want to rename, then the from and to parameters might contain only the file names. You can also
use the rename command to move files on the server. To move files, include the full paths in the from
and to parameters.
For example, the following command changes the name of the newInput.txt file to Input.txt:
https://10.60.40.11:15400/fileservers/rename?from=/newInput.txt&;to=/Input.txt
For example, the following command moves the newInput.txt file from the current working directory to
the parent directory:
https://10.60.40.11:15400/fileservers/rename?from=/newInput.txt&to=/aa/newInput.txt
GET or POST - from: The relative or absolute path of the file or directory to rename.
- to: The relative or absolute path of the new name.
list
Use this command to list the contents of a directory on the server. Include the target directory as a
parameter to this command. If you do not include the directory, the command lists the contents of the
current working directory.
The response body includes the contents of the directory in content type text/plain. The following
example shows the format of the directory listing:
The response includes the following information delimited by a tab (\t) character:
• The last modified date of the file or directory. The timestamp is in ISO format yyyy-MM-dd HH:mm:ss.
The hour(hh) is displayed as a 24-hour clock.
• Whether the content type is a file, a directory, or unknown.
• The size of the file in bytes.
• The name of the file or directory.
checksum
Use this command to calculate the hash of a remote file. The reply is returned on the first line of the
response body. You can compare the response with the hash value of the downloaded local file to verify
data integrity.
Request Parameters
Type
GET or POST - file: Required. The path relative to the current working directory, or an absolute path to the
file.
- algorithm: The hash algorithm to use when calculating a checksum. Valid values are SHA1,
MD5, or CRC32. Default is SHA1.
- length: The starting position within the file. This value is used for calculating partial file
checksums. The default value is 0, which performs the checksum on the entire file.
CD (Change Directory)
Use this command to change the current working directory. The absolute path to the new working
directory returns as part of the X-GDX-Reply header message. The path is enclosed in double quotes.
Use this command to change the current working directory to the parent directory. The absolute path to
the new working directory returns as part of the X-GDX-Reply header message. The path is enclosed in
double quotes.
Use this command to create a new directory on the server. The absolute path to the newly created
directory returns as part of the X-GDX-Reply header message. The path is enclosed in double quotes.
file information
Use this command to retrieve information about a specific file or directory. The response includes the
information in the response body with content type text/plain. The format of the file information is
identical to the listing returned from the List command. If no information is returned in the response
body, then the file or directory does not exist.
File transfer
Use the following commands to transfer an HTTPS file to or from a server:
upload
Use this command to transfer a file to the server. The request must be a multipart POST request and
only one file is uploaded per request. A file is a required part of the multipart request, but any parameter
name given to the file part is ignored.
upload2
Use this command to transfer a file to the server. The request must be a multipart POST request and
only one file is uploaded per request. A file is a required part of the multipart request, but any parameter
name given to the file part is ignored.
Request Parameters
Type
upload3
Use this command to transfer a file to the server. The request must be a multipart POST request and
only one file is uploaded per request. A file is a required part of the multipart request, but any parameter
name given to the file part is ignored.
You must provide the fileserver username and password for basic authorization.
Request Parameters
Type
uploadRawData
Use this command to upload data directly to the server where the data is the content of the request
body. The request must be a POST request. The name of the file is automatically derived and returned as
part of the X-GDX-Reply header message. This is a special command where the request body must
contain the file data being uploaded.
Use this command to upload data directly to the server where the data is the content of the request
body. The request must be a POST request. The name of the file is automatically derived and returned as
part of the X-GDX-Reply header message. This is a special command where the request body must
contain the file data being uploaded.
You must provide the fileserver username and password for basic authorization.
download
Use this command to download a file from the server. The file is returned as the response body. The
content type is always an application or force download, along with the content disposition field
containing the name of the file. The content-length header is also included in the response indicating the
size of the file.
GET or POST - file: Required. The file to download. This can be a path relative to the current working
directory, or an absolute path to the file.
- offset: For downloading partial files. Enter the starting position from where the file must
begin to download.
- transferMode: Use B for binary transfers or A for ascii transfers. Default is B.
Server responses
For every request, the server responds with success or error codes and messages specific to the HTTPS
service in the X-CDX-Reply header. The format of the header message is a status code followed by a single
white space, followed by the message details.
You can use header codes and messages to determine the success or failure of an operation.
Status codes
A response might include any of the following HTTPS file transfer status codes:
200-299
Informational or success status codes: Successful operation performed against the server .
500-509
Internal server error: The server experienced a critical error. Contact the server’s administrator
immediately.
510-519
Bad or Invalid request: The server could not process the request due to invalid or incomplete
information. See the X-GDX-Reply header message for more details.
Login or account related errors: Indicates that an error occurred with the account or login, such as invalid
login or account disabled. See the X-GDX-Reply header message for more details.
550-559
Permission errors: The user does not have permission or authority to perform the requested action. See
the X-GDX-Reply header message for more details.
560-569
Errors related to files or directories on the system: An error occurred while accessing a file or directory
on the server, such as a file or directory does not exist.
580-589
File I/O Errors: An internal server error occurred while trying to access a file or directory.
590
Unknown error: An unexpected error occurred while trying to process the command. See the X-GDX-Reply
header message for more details.
fwConfig
Use the fwConfig resource to configure column widths for flat file source, lookup, and target objects.
GET request
To request all of the fixed-width formats, use the following URI:
/api/v2/fwConfig
To request the details of a particular fixed-width format, you can include the fixed-width format ID or fixed-
width format name in the URI. Use one of the following URIs:
/api/v2/fwConfig/<id>
/api/v2/fwConfig/name/<name>
If you use the fixed-width format name in the URI and the fixed-width format name includes a space, replace
the space with %20. For example:
/api/v2/fwConfig/name/my%20fixedwidth%20format
GET response
The fwConfig object returns the following attributes:
fwConfig 287
Field Type Description
updateTime Date/time Last time that the fixed-width format was updated.
padBytes Int Number of bytes between the last column of one row and the first column of the
next.
skipRows Int Number of rows to skip. You can skip blank or header rows.
dateFormat String Default date format to use when a date format is not specified in the flat file
connection.
GET example
The following example shows a request to get details for a fixed-width format using the fixed-width format
ID:
GET <serverUrl>/api/v2/fwConfig/00001R29000000000002
Accept:application/json
icSessionId: <icSessionId>
The following text is a sample response:
{
"@type": "fwConfig",
"id": "00001R29000000000002",
"orgId": "00001R",
"name": "item",
"description": "",
"createTime": "2016-10-06T17:08:09.000Z",
"updateTime": "2016-10-06T17:08:09.000Z",
"createdBy": "[email protected]",
"updatedBy": "[email protected]",
"lineSequential": true,
"padBytes": 0,
POST request
To create a fixed-width format, use the following URI:
/api/v2/fwConfig
If you want to specify a location for the fixed-width format, include the container ID in the request. If the
container ID isn't included in the request, the fixed-width format is created in the Default folder. You can find
the container ID for a project or folder in the Data Integration user interface. On the Explore page, select the
folder. In the URL, the last string of characters is the container ID.
fwConfig 289
Field Type Required Description
lineSequential Boolean Yes Whether each row ends with a newline character.
- True. Line sequential is enabled.
- False. Line sequential is not enabled.
padBytes Int Yes Number of bytes between the last column of one row and the first column
of the next.
skipRows Int Yes Number of rows to skip. You can skip blank or header rows.
dateFormat String Yes Default date format to use when a date format is not specified in the flat
file connection.
repeatNullChar Boolean Yes Determines how to treat null characters in a single field.
- True. Read repeat null characters as a single null value.
- False. does not read repeat null characters as a single null value.
stripTrailingBlank Boolean Yes Determines how to treat trailing blanks in string values.
- True. Removes trailing blanks from string values.
- False. Does not remove trailing blanks in string values.
columns String Yes Includes the following attributes for each column:
- name. Name of the column.
- nativeType. Native data type.
- precision. Length of the field in bytes.
- scale. Number of digits after the decimal point for numeric values.
POST response
If successful, returns the fwConfig object that you created or updated. Returns the error object if errors
occur.
POST example
POST <serverURL>/api/v2/fwConfig/00000103000000000004
Content-Type: application/json
Accept: application/json
{
"@type": "fwConfig",
"name": "FW_FILE_CONFIG_1",
"description": "Test description",
"lineSequential": false,
"padBytes": 1,
"skipRows": 2,
"nullChar": "*",
"nullCharType": "ASCII",
"repeatNullChar": false,
"stripTrailingBlank": false,
"columns": [
{
DELETE request
To delete a fixed-width format, use the fixed-width format ID in the following URI:
/api/v2/fwConfig/<id>
DELETE response
Returns the 200 response code if the request is successful.
mapping
Use this resource to request the details for a mapping or the details of all mappings in the organization.
GET Request
You can request the following information using a mapping GET request:
To request the details of all mappings in the organization, use the following URI:
/api/v2/mapping
Details for a particular mapping
To request the details of a particular mapping, include the mapping ID or mapping name in the URI. Use
one of the following URIs:
/api/v2/mapping/<id>
/api/v2/mapping/name/<name>
If you use the mapping name in the URI and the mapping name value includes a space, replace the space
with %20. For example:
/api/v2/mapping/name/my%20mapping
You can also request a specific mapping by name with the following URI:
/api/v2/mapping/search?name=<name>
Image of a mapping
To request an image of a mapping, specify the mapping ID and whether the mapping is deployed or not.
Use the following URI:
/api/v2/mapping/<id>/image?deployed=<true|false>
mapping 291
For example:
/api/v2/mapping/N0A1700000000001J/image?deployed=true
GET Response
If successful, returns the mapping object for the requested mapping.
If you request the details for all mappings, returns the mapping object for every mapping in the organization
without parameter details.
bundleVersion String Version of the bundle that includes the mapping, if applicable.
fixedConnection Boolean Indicates if the mapping has fixed connections. Returns true or
false.
hasParametersDeployed Boolean Indicates if the mapping has parameters deployed. Returns true
or false.
mapping 293
Field Type Description
mappingPreviewFileRecordId String ID of the image file that is used when previewing a mapping.
deployedMappingPreviewFileRecordId String ID of the image file that is used when previewing a deployed
mapping.
GET Example
To request mapping details for all mappings in the organization, you might use the following request:
GET <serverUrl>/api/v2/mapping
Accept: application/xml
icSessionId: <icSessionId>
GET Request
To request the details of all Visio templates in the organization, use the following URI:
/api/v2/masterTemplate
To request the details of a particular Visio template, include the Visio template ID or Visio template name in
the URI. Use one of the following URIs:
/api/v2/masterTemplate/<id>
/api/v2/masterTemplate/name/<name>
If you use the Visio template name in the URI and the Visio template name includes a space, replace the
space with %20. For example:
/api/v2/masterTemplate/name/my%20Visio%20template
To request a list of mapping tasks that use a Visio template, use the Visio template ID in the following URI:
/api/v2/masterTemplate/<id>/tasks
GET Response
If successful, returns the masterTemplate object for the requested Visio template. If you request the details
for all Visio templates, returns the masterTemplate object without parameter details for every Visio template
in the organization.
masterTemplate 295
Field Type Description
parameters Parameters used in the Visio template. Includes an mtParameter object for each
parameter.
sessionAttrs String General and performance session properties for the task. Can include values for the
following attributes:
- Write Backward Compatible Session Log File. Writes the session log to a file
- Session Log File Name. Name for the session log.
- Session Log File Directory. Directory where the session log is saved.
- $Source Connection Value. Source connection name.
- $Target Connection Value. Target connection name.
- Treat Source Rows as. When the mapping task reads source data, it marks each
row with an indicator to specify the operation to perform when the row reaches the
target:
- Insert. All rows are marked for insert into the target.
- Update. All rows are marked for update in the target.
- Delete. All rows are marked for delete from the target.
- Data Driven. The task uses the Update Strategyobject in the data flow to mark
the operation for each source row.
- Commit Type. Commit type to use:
- Source. Performs commits based on the number of source rows.
- Target. Performs commits based on the number of target rows.
- User Defined. Performs commits based on the commit logic defined in the Visio
template.
If you do not configure a commit type, the task performs a target commit.
- Commit Interval. Interval in rows between commits. If you do not configure a
commit interval, the task commits every 10,000 rows.
- Commit on End of File. Commits data at the end of the file. Returns true or false.
- Rollback Transactions on Errors. If the task encounters a non-fatal error, you can
choose to roll back the transaction at the next commit point.
When the task encounters a transformation error, it rolls back the transaction if the
error occurs after the effective transaction generator for the target.
- Java Classpath. Java classpath to use.
- DTM Buffer Size. Amount of memory allocated to the task from the DTM process.
- Incremental Aggregation. Performs incremental aggregation. Returns true or false.
- Reinitialize Aggregate Cache. Overwrites existing aggregate files for an
incremental aggregation task. Returns true or false.
- Enable High Precision. Processes the Decimal data type to a precision of 28.
Returns true or false.
- Session Retry on Deadlock. The mapping task retries a write on the target when a
deadlock occurs. Returns true or false.
wizardMetadata Metadata for the mapping task wizard steps. Includes an mtWizardStep object for
each step.
POST Request
To update a Visio template, use the Visio template ID in the following URI. To create a new Visio template,
omit the optional Visio template ID.
/api/v2/masterTemplate/<id>
masterTemplate 297
You can submit a partial update using partial mode. If you want to update a field in the mtParameter object
using partial mode, you must include the name or type fields. To submit a request using partial mode, use a
JSON request and include the following line in the header:
Update-Mode=PARTIAL
You can use the following attributes in a masterTemplate object:
parameters Object that defines parameters associated with the template. Use an
mtParameter object to define each parameter.
masterTemplate 299
Field Type Required Description
wizardMetadata Metadata for the mapping task wizard steps. Include an mtWizardStep
object for each step.
POST Response
If the request to create or update a Visio template is successful, returns the master template object for the
Visio template that you created or updated.
DELETE Request
To delete a Visio template, use the Visio template ID in the following URI:
/api/v2/masterTemplate/<id>
DELETE Response
Returns the 200 response code if the request is successful.
GET Example
To request a list of tasks that use a Visio template with an ID of 000043T1000003G, you might use the
following request:
GET <serverUrl>/api/v2/masterTemplate/000043T1000003G/tasks
Accept: application/xml
icSessionId: <icSessionId>
If successful, returns the mtTask object with id, orgId, name, and masterTemplateId for each task that uses
the Visio template.
mttask
Use this resource to request the details of a mapping task. You can also create, update, or delete a mapping
task.
Note: You cannot use the REST API to create a mapping task based on a mapping that includes a mapplet.
GET request
To request the details of a mapping task, you can use the task ID, federated task ID, or task name. To find the
federated task ID, use the lookup resource. The federated task ID is the value of the id field in the lookup
response.
mttask 301
If you use the task name in the URI and the task name includes a space, replace the space with %20. For
example:
/api/v2/mttask/name/task%20name
GET response
Returns the mtTask object for the requested task ID or task name.
maxLogs Long Number of session log files and import log files Data Integration retains.
schemaMode String Mode in which Data Integration refreshes the data object schema.
errorTaskEmail Object that includes the taskEmail object for error notifications
successTaskEmail Object that includes the taskEmail object for success notifications.
warningTaskEmail Object that includes the taskEmail object for warning notifications.
mttask 303
Field Type Description
flatFileAttrs Object that includes attributes for the source, target, and lookup files.
mttask 305
Field Type Description
sequences Defines values for the Sequence Generator transformation. Includes the
sequenceDefinition object for each sequence transformation.
mttask 307
Field Type Description
masterTemplateId String Visio template ID. Returned when a Visio template is the basis of the task.
mappingId String Mapping ID. Returned when a mapping is the basis for the task.
outboundMessageUrlTo String Outbound message URL token for the task, if it exists.
ken
outboundMessageUrlQ Long Outbound message URL queue time for the task, if it exists.
ueueTime
parameterFileName String The name of the parameter file used in the task.
verbose Boolean Whether Data Integration generates additional data in the logs to use for
troubleshooting purposes. Returns True or False.
POST request
To create a mapping task, use the following URI:
/api/v2/mttask/
If you want to specify a location for the task, include the container ID in the request. If the container ID isn't
included in the request, the task is created in the Default folder. You can find the container ID for a project or
folder in the Data Integration user interface. On the Explore page, select the folder. In the URL, the last string
of characters is the container ID.
mtTaskInOutParameter name
sequenceDefinition txName
mtTaskOverriddenField name
mtTaskParameter name
type
To submit a request using partial mode, use a JSON request and include the following line in the header:
Update-Mode=PARTIAL
The following table describes the attributes you can include in an mtTask object:
mappingId String Required when a mapping ID of the mapping used in the task.
is the basis for task.
mttask 309
Field Type Required Description
mttask 311
Field Type Required Description
mttask 313
Field Type Required Description
mttask 315
Field Type Required Description
masterTemplateId String Required when task uses ID of the Visio template used in the task.
a Visio template.
mttask 317
Field Type Required Description
POST response
If successful, returns the mtTask object that you created or updated. Returns the error object if errors occur.
DELETE request
To delete a mapping task, use the task ID in the following URI:
/api/v2/mttask/<id>
Note: You cannot use the federated task ID to delete a mapping task.
DELETE response
Returns the 200 response code if the request is successful.
POST example
To create a new mapping task with XML, you might use the following request:
POST <serverUrl>/api/v2/mttask
Content-Type: application/xml
Accept: application/xml
icSessionId: <icSessionId>
For example, to mask a billing city field with the Substitution City masking technique, define the following
attributes:
[
{
"referenceField": "BillingCity",
mttask 319
"pcType": "string",
"precision": 40,
"paramMap": {
"isSeeded": "TRUE",
"seedValue": "190",
"dicName": "informatica_mask_us_towns.dic",
"outputPort": "TOWNNAMES",
},
"maskingType": "Substitution City"
}
]
The following table lists the attributes that you define for each masking technique:
IP address - isSeeded
- seedValue
Phone - isSeeded
- seedValue
SIN - isSeeded
- seedValue
- startDigit
- startDigitValue
SSN - isSeeded
- seedValue
mttask 321
Masking Technique Attributes
URL - isSeeded
- seedValue
The following table describes the attributes and values that you define for the mask rule parameter:
Attribute Description
blurHigh Required. The higher bound for blurring. You can specify the value in digits.
Default is 0.
blurLow Required. The lower bound for blurring. You can specify the value in digits.
Default is 0.
blurringOption Required. The unit of blurring for a numeric port. You can specify the
following values:
- Percent. Blurs the data based on a percent value.
- Fixed. Blurs the data based on a fixed value.
blurringUnit Required. The unit of blurring for a date port. You can specify the following
values:
- Year. Blurs the year value.
- Month. Blurs the month value.
- Day. Blurs the day value.
- Hour. Blurs the hour value.
- Minute. Blurs the minute value.
- Second. Blurs the second value.
Default is Year.
delimiter Delimiter to separate the first name and last name in a masked email
address. You can specify the value as:
- .
- -
- _
DicConn The connection that contains the dictionary files. Create a flat file connection
that points to the directory with the dictionary files. Specify the flat file
connection name.
dicName The name of the flat file dictionary file. The dictionary file must be present in
the rdtmDir directory of the Secure Agent.
firstNameColumn The first name column to use in masked email addresses. Specify the name
of the port.
firstNameLength The length of the first name in a masked email address. You can specify the
value in digits.
Default is 5.
isSeeded An attribute to configure repeatable output. You can specify the following
values:
- TRUE. Masks the data with repeatable output. When true, specify a seed
value.
- FALSE. Masks the data with random output.
Default is TRUE.
keepCardIssuer Masks a credit card field with a credit card number from the same issuer.
You can specify the following values:
- TRUE. Retains the same card issuer in the masked data.
- FALSE. Uses a specified card issuer in the masked data.
When false, define the targetIssuer attribute.
Default is TRUE.
lastNameColumn The last name column to use in masked email addresses. Specify the name
of the port.
lastNameLength The maximum length of the last name in masked email addresses. You can
enter the value in digits.
Default is 5.
mttask 323
Attribute Description
maskFormat Defines the type of character to substitute for each character in the input
data. You can limit each character to an alphabetic, numeric, or alphanumeric
character type.
Use the following characters to define a mask format:
- A. Alphabetic
- D. Digits 0-9
- N. Alphanumeric
- X. Any character
- R. Rest of the characters.
Specify the value as ADNX+R. R must appear as the last character. For
example, to ensure the masked output begins with an alphabet, enter the
value as A+R.
Default is R.
maxWidth Required. The minimum value for the range. Enter the value in digits.
Default is 0.
maxWidth Required. The maximum value for the range. Enter the datetime value.
Default is 01/19/2038 03:13:59.
minWidth Required. The minimum value for the range. Enter the datetime value.
Default is 01/01/1970 00:00:00.
minWdth Required. The minimum value for the range. Enter the value in digits.
Default is 0.
srcFilterOption Required. The type of filter to apply to source filter characters. You can
specify the following values:
- Mask Only. Masks only the specified characters in the source.
- Mask all except. Masks all characters in the source except the characters
specified.
srcFilterStr Required. Defines the characters in the source string that you want to mask.
startDigit Required. Defines the first digit of the masked SIN. You can specify the
following values:
- TRUE. Uses the digit that you specify as the first digit of the masked SIN.
- FALSE. Uses a random digit as the first digit of the masked SIN.
Default is FALSE. When true, define the startDigitValue attribute.
startDigitValue Required. Defines the first digit of the masked SIN. Specify a value between 0
and 9.
Default is 0.
targetFilterOption Required. The type of filter to apply on target filter characters. You can
specify the following values:
- Use Only. Uses only the target characters that you specify.
- Use All Except. Uses all characters in the target except what you specify.
targetFilterStr Required. Substitutes the characters in a target string with the characters
that you define in target filter characters. For example, enter the following
characters to configure the masked output to contain all uppercase
alphabetic characters: ABCDEFGHIJKLMNOPQRSTUVWXYZ.
targetIssuer Required. Masked values contain credit card numbers from the issuer that
you select. You can specify the following values:
- ANY
- JCB
- VISA
- AMEX
- DISCOVER
- MASTERCARD
useBlurring Required. Masks dates based on a variance that you apply to a unit of the
date. The masked date is within the variance. You can specify the following
values:
- TRUE. Applies a variance that you specify on a unit of the date.
- FALSE. Does not apply a variance.
Default is FALSE.
useMaskFormat Specifies a mask format. You can specify the following values:
- TRUE. Masks the data based on a format that you specify.
- FALSE. Masks the data in a random format.
Default is TRUE. If true, define the maskFormat attribute.
useRange Required. Specifies a return value between the minimum and maximum
values of the range based on field precision. You can specify the following
values:
- TRUE. Masks the data within a range that you specify.
- FALSE. Does not use a specified range to mask the data.
To define the range, configure the minimum and maximum ranges or
configure a blurring range based on a variance from the original source
value.
Default is FALSE.
useSrcFilter Specifies the characters in the source string that you want to mask. You can
specify the following values:
- TRUE. Masks the characters in the source string that you specify.
- FALSE. Masks random characters in the source string.
Default is FALSE.
useTargetFilter Specifies the characters to use in the masked string. You can specify the
following values:
- TRUE. Uses characters that you specify in the masked string.
- FALSE. Uses random characters in the masked string.
Default is FALSE.
mttask 325
workflow
Use this resource to request the details of a linear taskflow or the details of all linear taskflows in the
organization. You can also create, update, or delete a linear taskflow.
GET request
To request the details of a particular linear taskflow, include the linear taskflow ID or linear taskflow name in
the URI. Use one of the following URIs:
/api/v2/workflow/<id>
/api/v2/workflow/name/<name>
If you use the linear taskflow name in the URI and the linear taskflow name includes a space, replace the
space with %20. For example:
/api/v2/workflow/name/my%20linear%20taskflow
To request the details of all linear taskflows in the organization, use the following URI:
/api/v2/workflow
Optionally, you can receive the response in simple mode which significantly improves performance. When
you enable simple mode, the response does not include the ScheduleId attribute and the email attributes. To
receive the response in simple mode, include simpleMode=true in the request. Use the following URI to
receive details of all linear taskflows using simple mode:
/api/v2/workflow/?simpleMode=true
GET response
If successful, returns the workflow object for the requested linear taskflow. Or, if you request the details for
all linear taskflows in the organization, returns a workflow object for each linear taskflow in the organization.
errorTaskEmail Object that includes the taskEmail object for error notifications.
successTaskEmail Object that includes the taskEmail object for success notifications.
warningTaskEmail Object that includes the taskEmail object for warning notifications.
tasks Defines each task associated with the linear taskflow. Includes a workflowTask
object for each task.
workflow 327
Field Type Description
POST request
To create a linear taskflow, use the following URI:
/api/v2/workflow
If you want to specify a location for the linear taskflow, include the container ID in the request. If the
container ID isn't included in the request, the linear taskflow is created in the Default folder. You can find the
container ID for a project or folder in the Data Integration user interface. On the Explore page, select the
folder. In the URL, the last string of characters is the container ID.
You can submit a partial update using partial mode. If you want to update a field in the workflowTask object
using partial mode, you must include the taskId field. To submit a request using partial mode, use a JSON
request and include the following line in the header:
Update-Mode=PARTIAL
With this URI, you can use the following attributes in the workflow object:
errorTaskEmail Object that includes the taskEmail object for error notifications.
successTaskEmail Object that includes the taskEmail object for success notifications.
warningTaskEmail Object that includes the taskEmail object for warning notifications.
tasks Use a workflowTask object to define the following attributes for each
task you want to include in the linear taskflow.
POST response
If successful, returns the workflow response object for the linear taskflow that you created or updated.
workflow 329
DELETE request
To delete a linear taskflow, use the linear taskflow ID in the following URI:
/api/v2/workflow/<id>
DELETE response
Returns the 200 response code if the request is successful.
POST example
To update an existing linear taskflow with an ID of 0000342J0000K, you might use the following request:
POST <serverUrl>/api/v2/workflow/0000342J0000K
Content-Type: application/json
Accept: application/json
icSessionId: <icSessionId>
{
"@type": "workflow",
"name": "linear taskflow",
"tasks":[{
"@type":"workflowTask",
"taskId":"0000100I00000000001G",
"type":"DSS",
"name":"DSS_DQ5",
"stopOnError":"false"
},{
"@type":"workflowTask",
"taskId":"0000100Z0000000000B8",
"type":"MTT",
"name":"CIT_SimpleTemplate2",
"stopOnError":"false"
},{
"@type":"workflowTask",
"taskId":"0000100G000000000002",
"type":"DRS",
"name":"SF2File",
"stopOnError":"false"
}]
}
A successful request returns the workflow object that you updated.
The following table lists the numeric values that might be included in the response and the corresponding
data type:
6 ALPHABET_TYPE/ Attribute value can only contain alphabetic characters and symbols.
SYMBOLS_TYPE
7 NUMERIC_TYPE/ Attribute value can only contain alphabetic characters, numbers, and symbols.
ALPHABET_TYPE/
SYMBOLS_TYPE
8 LIST_TYPE Attribute value can only contain values from a predefined list.
9 NUMERIC_TYPE/ Attribute value can only contain values from a predefined list and the value
LIST_TYPE contains only numbers.
10 ALPHABET_TYPE/ Attribute value can only contain values from a predefined list and the value
LIST_TYPE contains only numbers.
11 NUMERIC_TYPE/ Attribute value can only contain values from a predefined list and the value
ALPHABET_TYPE/ contains only alphabetic characters and numbers.
LIST_TYPE
12 SYMBOLS_TYPE/ Attribute value can only contain values from a predefined list and the value
LIST_TYPE contains only symbols.
13 NUMERIC_TYPE/ Attribute value can only contain values from a predefined list and the value
SYMBOLS_TYPE/ contains only numbers and symbols.
LIST_TYPE
14 ALPHABET_TYPE/ Attribute value can only contain values from a predefined list and the value
SYMBOLS_TYPE/ contains only alphabetic characters and symbols.
LIST_TYPE
15 NUMERIC_TYPE/ Attribute value can only contain values from a predefined list and the value
ALPHABET_TYPE/ contains only alphabetic characters, numbers, and symbols.
SYMBOLS_TYPE/
LIST_TYPE
For more information about requesting connector metadata, see “connector” on page 207.
The following tables map user interface fields with attributes used for REST API GET and POST calls and the
REST API response to the user interface, where the correlation between these fields might be confusing.
SAP IDoc Writer and SAP RFC/ Connection String database database
BAPI
When you use file ingestion resources, note the following rules:
job
Use the job resource to start a file ingestion task. You can also use the job resource to retrieve job status or
job logs for a file ingestion task. Use the file ingestion REST API version 1 task resource to retrieve the ID and
name of the task.
RUN Request
To start a file ingestion task job, use the following URI:
mftsaas/api/v1/job
Include the following information in the request:
Use the following sample as a reference to start a file ingestion task job:
{
"taskId": "k1YHA1blhcBjbJvCIRQX2s",
"taskName": "localtolocal_param2"
}
333
Use the following sample request to overwrite the source option values that were passed in the user
interface:
"variables": [{
"variable": "<string>",
"value": "<string>"
}]
}
In the following example, the parameter value /${Parentfolder}/test2 that was passed in the user interface
is overwritten to root using REST API:
{
"taskId": "k1YHA1blhcBjbJvCIRQX2s",
"taskName": "localtolocal_param2",
"parameters": {
"category": [{
"id": "Source",
"parameter": [{
"id": "sourceDirectory",
"value": "/${Parentfolder}/test1"
},
{
"id": "filePattern",
"value": "*.txt"
},
{
"id": "batchSize",
"value": "5"
}
]
},
{
"id": "Target",
"parameter": [{
"id": "targetDirectory",
"value": "/${Parentfolder}/test2"
}]
}
]
},
"variables": [{
"variable": "Parentfolder",
"value": "root"
}]
RUN Response
If successful, file ingestion returns the run ID for the job. Use the run ID to monitor the job status and request
log files for the job.
activityLog
Use the job resource to retrieve details for completed job using the task ID, run ID, or both.
GET Request
To request all of the completed jobs in a file ingestion task, use the following URI:
mftsaas/api/v1/mitasks/activityLog
To request the details of an active job using the task ID, use the following URI:
mftsaas/api/v1/mitasks/activityLog?taskId=<taskId>
To request the details of an active job using the run ID, use the following URI:
mftsaas/api/v1/mitasks/activityLog?runId=<runId>
To specify the number of rows to skip, use the following URI:
mftsaas/api/v1/mitasks/activityLog?taskId={{taskID}}&<offset>
To specify a row limit, use the following URI:
mftsaas/api/v1/mitasks/activityLog?taskId={{taskID}}&<rowLimit>
You can use a combination of these options. For example, you can use the following URI:
/api/v1/activity/activityLog?
offset=<offset>&rowLimit=<rowLimit>&taskId=<taskId>&runId=<runId>
You can use the following attributes in the activityLog GET URI:
Field Description
offset The number of rows to skip. For example, you might want to skip the first three rows.
rowLimit The maximum number of rows to return. The maximum number you can specify is 100. Default is 25.
activityLog 335
GET Response
The activityLog object returns the following attributes:
Field Description
startTime Start time for the job. Uses Coordinated Universal Time (UTC).
endTime End time for the job. Uses Coordinated Universal Time (UTC).
successFiles The number of files that are successfully transferred from source to target.
failedFiles The number of files that were not transferred from source to target.
GET Example
The following example shows a response to get details for a file ingestion job using task ID:
{
"totalJobCount": 7,
"jobActivityLog": [
{
"id": 1000000200272,
"taskId": 89882,
"runId": 137205,
"startedBy": "b2b_pod1",
"startTime": "2021-09-13T09:55:13Z",
"endTime": "2021-09-13T09:55:15Z",
"status": "FAILED"
},
{
"id": 1000000200270,
"taskId": 89882,
"runId": 137204,
"startedBy": "b2b_pod1",
"startTime": "2021-09-13T09:52:44Z",
"endTime": "2021-09-13T09:53:02Z",
"status": "SUCCESS"
},
{
"id": 1000000200268,
"taskId": 89882,
"runId": 137202,
"startedBy": "b2b_pod1",
"startTime": "2021-09-13T09:49:55Z",
"endTime": "2021-09-13T09:50:12Z",
"status": "SUCCESS"
},
{
"id": 1000000200264,
"taskId": 89882,
"runId": 137199,
{
"jobActivityLog": [
{
"jobStatusResponse": {
"jobStatus": "FAILED",
"errorMessage": "[8008 - Create File List] Directory '/root/testnot' not
found ",
"jobDetails": {
"jobNumber": 1000000200262,
"status": "Failed",
activityLog 337
"startTime": "2021-09-13T09:13:58Z",
"endTime": "2021-09-13T09:14:04Z",
"messageText": "[8008 - Create File List] Directory '/root/testnot'
not found ",
"successFiles": 0,
"failedFiles": 0,
"fileDetails": []
}
}
}
]
}
tasks
Use the tasks resource to create, update, delete, and view file ingestion tasks.
Running and monitoring file ingestion tasks involves a series of requests and responses. Use the followings
methods to perform file ingestion tasks:
• Send a tasks GET request to view a list of all file ingestion tasks. See “View file ingestion tasks” on page
338.
• Send a tasks POST request to create a file ingestion task. See “Create a file ingestion task” on page 342.
• Send a tasks PUT request to update a file ingestion task. See “Update a file ingestion task” on page 348.
• Send a tasks GET request to view the location of a file ingestion task. See “View the location of a file
ingestion task” on page 350.
• Send a tasks DELETE request to delete a file ingestion task. See “Delete a file ingestion task” on page 351.
GET request
To view the details of a particular file ingestion task, include the file ingestion in the following URI:
mftsaas/api/v1/mitasks/{{TASK-ID}}
To view the details for all file ingestion tasks in the organization, omit the file ingestion ID.
mftsaas/api/v1/mitasks
For example:
GET https://na1.dm-us.informaticacloud.com/mftsaas/api/v1/mitasks
GET response
Returns the task object if successful or an error object if errors occur.
location String Project and folder path where the task exists.
Note: The create and update time in the response are in UTC time.
{
"mitasks": [
{
"id": "1ONE5Vewzztl0tuKR0EDum",
"name": "A01_UMAR_MITASK2318",
"description": "",
"sourceType": "CONNECTION",
"sourceConnection": {
"id": "",
"name": "",
"type": "local"
},
"targetConnection": {
"id": "0100000B000000000002",
"name": "ftps",
"type": "Advanced FTPS"
},
"agentGroupId": "01000025000000000002",
"updatedTime": "2019-01-30T11:17:49Z"
},
{
"id": "9D1tGkAxopJeFmUWoG4s48",
"name": "A01_UMAR_MITASK3354",
"description": "",
"sourceType": "CONNECTION",
"sourceConnection": {
"id": "0100000B00000000000M",
"name": "AzureBlob",
"type": "Azure Blob"
},
"targetConnection": {
"id": "0100000B00000000000L",
"name": "SFTP_Conn",
"type": "Advanced SFTP"
},
"agentGroupId": "01000025000000000002",
"updatedTime": "2019-01-30T06:42:19Z"
},
{
"id": "4hcTFqKVOQrl1z4d6pGUMP",
"name": "A01_UMAR_MITASK5124",
"description": "",
"sourceType": "CONNECTION",
tasks 339
"sourceConnection": {
"id": "0100000B0000000004IO",
"name": "S3",
"type": "AmazonS3"
},
"targetConnection": {
"id": "",
"name": "",
"type": "local"
},
"agentGroupId": "01000025000000000002",
"updatedTime": "2019-01-30T06:35:01Z"
}]
}
Get response example showing a file ingestion task with file pattern as the file pickup option
The following sample response shows details of a file ingestion task.
IDS-SESSION-ID:{{IDS-SESSION-ID}}
Accept:application/json
{
"id": "j9OLB12nqYObykdFSUMpO2",
"name": "FTPSrcTarget",
"location": {
"projectId": "dNC6zbp2lI8ghrKPo6hpwn",
"projectName": "Hardening"
},
"description": "",
"sourceType": "CONNECTION",
"sourceConnection": {
"id": "0100000B00000000028M",
"name": "CCI_FTPS",
"type": "Advanced FTPS V2"
},
"targetConnection": {
"id": "0100000B0000000001JR",
"name": "CCI_FTP_Lin",
"type": "Advanced FTP V2"
},
"sourceParameters": {
"filePattern": "*.txt",
"sourceTransferMode": "AUTO",
"filePatternType": "WILDCARD",
"includeSubfolder": "false",
"sourceDirectory": "/root/suraj/qa/test/automation/RSFiles",
"checkDuplicate": "false",
"fileStability": "true",
"stabilityCheckInterval": "60",
"postPickupAction": "KEEP"
},
"targetParameters": {
"fileExistsAction": "APPEND_TIMESTAMP",
"targetDirectory": "/",
"targetTransferMode": "AUTO"
},
"agentGroupId": "01000025000000000003",
"createdTime": "2019-02-04T10:34:08Z",
"updatedTime": "2019-02-04T11:04:02Z",
"filePickupOption": "PATTERN"
}
{
"id": "aFHWKrr1RwycuBRBLTtt2t",
"name": "FilePath_CheckStability",
"location": {
"projectId": "0ggRhrI8ZziguyBxHBzuG0",
"projectName": "Default"
},
"description": "",
"sourceType": "CONNECTION",
"sourceConnection": {
"id": "",
"name": "",
"type": "local"
},
"targetConnection": {
"id": "",
"name": "",
"type": "local"
},
"sourceParameters": {
"filePickupFilePath": "test.txt",
"sourceDirectory": "/root/test",
"checkDuplicate": "false",
"stabilityCheckInterval": "60",
"postPickupAction": "KEEP",
"filepickupByName": "FILEPATH",
"batchSize": "5",
"fileStability": "true",
"stabilityCheckInterval": "60"
},
"targetParameters": {
"fileExistsAction": "OVERWRITE",
"targetDirectory": "/root/testCheckStability"
},
"agentGroupId": "01001D25000000000002",
"createdTime": "2021-08-13T09:38:03Z",
"updatedTime": "2021-08-13T09:39:02Z",
"logLevel": "NORMAL",
"filePickupOption": "FILELIST"
}
GET response example showing a file ingestion tasks with file list as the file pickup option
The following sample response shows a file ingestion task with filePickupOption type as FILELIST,
filepickupByName as LISTOFFILES, and a filePickupFileList in its sourceParameters, indicating that this task
reads and identifies the designated pickup files to be processed.
{
"id": "2bTlAolXbAGlE7I5qauSAW",
"name": "DedupFilelist_pushdown",
"location": {
"projectId": "0ggRhrI8ZziguyBxHBzuG0",
"projectName": "Default"
},
"description": "",
"sourceType": "CONNECTION",
"sourceConnection": {
"id": "01001D0B0000000005PP",
"name": "ADLSGen2",
"type": "Azure Data Lake Gen2"
},
tasks 341
"targetConnection": {
"id": "01001D0B0000000005PU",
"name": "AzureDW_Gen2",
"type": "Azure DW"
},
"sourceParameters": {
"sourceDirectory": "/B2B/MI",
"checkDuplicate": "true",
"postPickupAction": "KEEP",
"filepickupByName": "LISTOFFILES",
"blockSize": "8388608",
"filePickupFileList": "File1.txt,File2.txt",
"batchSize": "5",
"timeoutInterval": "60",
"fileStability": "true",
"stabilityCheckInterval": "60"
},
"targetParameters": {
"commandType": "auto",
"targetTableName": "test1234",
"isPushdown": "true",
"ingestionMethod": "polybase",
"targetSchemaName": "testing",
"isTruncateTarget": "true"
},
"agentGroupId": "01001D25000000000002",
"createdTime": "2021-04-29T08:47:57Z",
"updatedTime": "2021-04-29T08:47:57Z",
"logLevel": "NORMAL",
"filePickupOption": "FILELIST"
}
POST request
To create a file ingestion task through the API, use the following URI:
mftsaas/api/v1/mitasks
Include the following fields in the request:
sourceType String Yes Determines the type where files are transferred. Enter one of the
following options:
- CONNECTION. Use connection as a source.
- FILELISTENER. Use file listener as a source.
checkDuplicate String - Determines whether to check for duplicate files. Values are true
or false. Set the value to true to check duplicate files and deny
file transfer. If the value is set to false all files are transferred.
filePickupOption String Yes Determines the file pickup method. Enter one of the following
options:
- FILELIST. The file ingestion task picks up files based on a file
list.
- PATTERN. The file ingestion task picks up files by pattern.
allowConcurrency String - Determines whether to run multiple jobs concurrently. Set the
value to true to run multiple jobs concurrently, else set the value
to false.
Warning: Running concurrent jobs might cause unexpected
results if the targets include duplicates.
filePatternType String Yes This applies when filePickupOption is PATTERN. File pattern type
used to select files to transfer. Enter one of the following
options:
- wildcard
- regex
filePattern String Yes Enter file pattern types, depending on the file pattern that you
have selected.
- wildcard. You can use the following wildcard character filters:
- An asterisk (*) matches any number of characters.
- A question mark (?) matches a single character.
- regex. Use regular expression to match the file pattern.
Consider the following examples:
- Use the following syntax to listen to all files except for files
with a name that contains out, foo, and baz:
^(?!.*(?:out|baz|foo)).*$ all except
- Use the following syntax to listen to all files with doc, docx,
and pdf extensions: ([a-zA-Z0-9\s_\\.\-\(\):])+
(.doc|.docx|.pdf)$
filepickupByName String Yes This applies when filePickupOption is FILELIST. Enter one of the
following options:
- filepath. Provide the path that contains the list of files to
pick up and enter the file path.
- listoffiles. Provide the list of files to pick up and enter a
comma-separated list of file names. Ensure there is no space
before or after specifying the file name.
fileStability Boolean - Determines if the task verifies whether the file is stable before
picking it up. Enter one of the following values.
- true. The file ingestion task verifies whether the file is stable
before picking it up.
- false. The file ingestion task does not verify whether the file
is stable before picking it up.
Default is false.
tasks 343
Field Type Required Description
stabilityCheckInter Int - Time in seconds that a file ingestion task waits to check the file
val stability.
You can specify a value in the stabilityCheckInterval field only if
the fileStability option is set to true.
The stability check interval ranges between 10 seconds to 300
seconds.
postPickupAction String - Determines what to do with source files after the transfer of files.
The following options are available:
- KEEP. Keep the files in the source directory.
- DELETE. Delete the files from the source directory.
- RENAME. Rename the files in the source directory. You must
specify a file name suffix that File ingestion adds to the file
name when renaming the files.
- ARCHIVE. Archive the files to a different location. You must
specify an archive directory.
taskActions String - Actions to process files in the file ingestion task. If you add
multiple actions, file ingestion processes files in a sequence.
action type Enter the action type depending on the action that you add.
To compress files use one of the following methods.
- Zip
- Tar
- Gzip
To decompress files use one of the following methods.
- Unzip
- Untar
- Gunzip
To encrypt files add PGP. Enter the key ID in the properties.
Note: The file ingestion task uses the PGP method to encrypt
files. Generate a key ring using the CLI. Enter the key ring in the
Key ID. For more information about the keyring CLIs, refer to key
ring command reference in Tasks.
To decrypt files, add PGP. Enter the key passphrase in the
properties.
Note: The file ingestion task uses the PGP method to encrypt
files. Generate the key passphrase using the CLI. Enter the key
passphrase in the Key Passphrase. For more information about
the keyring CLIs, refer to key ring command reference in Tasks.
},
"targetConnection": {
"id": "0100000B000000000002",
"name": "ADLS",
"type": "Azure Data Lake"
},
"targetParameters": {
"adlsTargetLocation": "/satyen/green"
},
"agentGroupId": "01000025000000000002",
"filePickupOption": "PATTERN",
"logLevel": "NORMAL",
"allowConcurrency": "true",
taskActions":[
{
"action": "Compression",
"actionType": "Zip",
"properties": {}
}
]
}
Use this sample as a reference to create a file ingestion task with file path as the file pickup option.
POST <serverURL>/public/core/v1/mitasks
Content-Type: application/json
Accept:application/json
Content-Type:application/json
IDS-SESSION-ID:{{IDS-SESSION-ID}}
{
"name": "FilePath_RestAPI1",
"location": {
"projectId": "0ggRhrI8ZziguyBxHBzuG0",
"projectName": "Default"
},
"description": "",
"sourceType": "CONNECTION",
"sourceConnection": {
"id": "",
"name": "",
"type": "local"
},
"targetConnection": {
tasks 345
"id": "",
"name": "",
"type": "local"
},
"sourceParameters": {
"filePickupFilePath": "test.txt",
"sourceDirectory": "/root/test",
"checkDuplicate": "false",
"fileStability": "true",
"stabilityCheckInterval": "60",
"postPickupAction": "KEEP",
"filepickupByName": "FILEPATH",
"batchSize": "5"
},
"targetParameters": {
"fileExistsAction": "OVERWRITE",
"targetDirectory": "/root/testCheckStability"
},
"agentGroupId": "01001D25000000000002",
"logLevel": "NORMAL",
"filePickupOption": "FILELIST",
"allowConcurrency": "true"
}
Use this sample as a reference to create a file ingestion task with file list as the file pickup option.
POST <serverURL>/public/core/v1/mitasks
Content-Type: application/json
Accept:application/json
Content-Type:application/json
IDS-SESSION-ID:{{IDS-SESSION-ID}}
{
"name": "DedupFilelist_RestAPI",
"location": {
"projectId": "0ggRhrI8ZziguyBxHBzuG0",
"projectName": "Default"
},
"description": "",
"sourceType": "CONNECTION",
"sourceConnection": {
"id": "01001D0B0000000005PP",
"name": "ADLSGen2",
"type": "Azure Data Lake Gen2"
},
"targetConnection": {
"id": "01001D0B0000000005PU",
"name": "AzureDW_Gen2",
"type": "Azure DW"
},
"sourceParameters": {
"sourceDirectory": "/B2B/MI",
"checkDuplicate": "true",
"postPickupAction": "KEEP",
"filepickupByName": "LISTOFFILES",
"blockSize": "8388608",
"filePickupFileList": "File1.txt,File2.txt",
"batchSize": "5",
"timeoutInterval": "60",
"fileStability": "true",
"stabilityCheckInterval": "60"
},
"targetParameters": {
"commandType": "auto",
"targetTableName": "test1234",
"isPushdown": "true",
"ingestionMethod": "polybase",
"targetSchemaName": "testing",
"isTruncateTarget": "true"
{
"id": "cEMWKpibm44bNf5aMjbJ4U",
"name": "Green Green v2",
"location": {
"projectId": "9JDNOBX9M31e2AD1dIUv6M",
"projectName": "Default"
},
"description": "",
"sourceType": "CONNECTION",
"sourceConnection": {
"id": "",
"name": "",
"type": "local"
},
"sourceParameters": {
"filePattern": "*.txt",
"filePatternType": "WILDCARD",
"includeSubfolder": "false",
"sourceDirectory": "C:\\Monitor",
"checkDuplicate": "false",
"fileStability": "true",
"stabilityCheckInterval": "60",
"postPickupAction": "KEEP"
},
"targetConnection": {
"id": "0100000B000000000002",
"name": "ADLS",
"type": "Azure Data Lake"
},
"targetParameters": {
"adlsTargetLocation": "/satyen/green"
},
"agentGroupId": "01000025000000000002",
"createdTime": "2018-08-27T07:03:32Z",
"updatedTime": "2018-08-29T12:14:58Z""
taskActions":[
{
"action": "Compression",
"actionType": "Zip",
"properties": {}
}
]
}
}
Note: The created and updated time in the response is displayed in the UTC time.
tasks 347
Update a file ingestion task
Use a PUT request to update a file ingestion task.
PUT request
To update a file ingestion task, use the following URI:
mftsaas/api/v1/mitasks/<taskID>
Include the following fields in the PUT request:
sourceType String Yes Determines the type where files are transferred. Enter one of the
following options:
- CONNECTION. Use connection as a source.
- FILELISTENER. Use file listener as a source.
includeSubfolder String - Values are true or false. Set the value to true to transfer files
from all sub-folders under the defined source directory.
checkDuplicate String - Values are true or false. Set the value to true to check
duplicate files and deny file transfer. If the value is set to false
all files are transferred.
filePatternType String Yes File name pattern used to select the files to transfer. Enter one
of the following options:
- Wildcard
- Regex
filePattern String Yes Enter pattern types, depending on the file pattern that you have
selected.
- wildcard. You can use the following wildcard character filters:
- An asterisk (*) matches any number of characters.
- A question mark (?) matches a single character.
- Regex. Use regular expression to match the file pattern.
Consider the following examples:
- Use the following syntax to listen to all files except for files
with a name that contains out, foo, and baz:
^(?!.*(?:out|baz|foo)).*$ à all except
- Use the following syntax to listen to all files with doc and
docx, pdf extensions: ([a-zA-Z0-9\s_\\.\-\(\):])+
(.doc|.docx|.pdf)$ à
fileStability Boolean - Determines if the task verifies whether the file is stable before
picking it up. Enter one of the following values.
- true. The file ingestion task verifies whether the file is stable
before picking it up.
- false. The file ingestion task does not verify whether the file
is stable before picking it up.
Default is false.
stabilityCheckInter Int - Time in seconds that a file ingestion task waits to check the file
val stability.
You can specify a value in the stabilityCheckInterval field only if
the fileStability option is set to true.
The stability check interval ranges between 10 seconds to 300
seconds.
postPickupAction String - Determines what to do with source files after the files transfer.
The following options are available:
- KEEP. Keep the files in the source directory.
- DELETE. Delete the files from the source directory.
- RENAME. Rename the files in the source directory. You must
specify a file name suffix that file ingestion adds to the file
name when renaming the files.
- ARCHIVE. Archive the files to a different location. You must
specify an archive directory.
},
"targetConnection": {
"id": "0100000B000000000002",
"name": "ADLS",
"type": "Azure Data Lake"
tasks 349
},
"targetParameters": {
"adlsTargetLocation": "/satyen/green"
},
"agentGroupId": "01000025000000000002
}
},
"targetConnection": {
"id": "0100000B000000000002",
"name": "ADLS",
"type": "Azure Data Lake"
},
"targetParameters": {
"adlsTargetLocation": "/satyen/green"
},
"agentGroupId": "01000025000000000002",
"createdTime": "2018-08-27T07:03:32Z",
"updatedTime": "2018-08-29T12:14:58Z"
}
Note: The created and updated time in the response is displayed in the UTC time.
GET request
Use the following URI to get the location of a file ingestion task.
/api/v1/mitasks?resolveLocation=true
DELETE request
To delete a file ingestion include the task ID of the task through the API, in the following URI:
mftsaas/api/v1/mitasks/<taskID>
tasks 351
Chapter 6
RunAJob utility
You can use the RunAJob utility to run jobs or check job status instead of making calls directly through the
Informatica Intelligent Cloud Services REST API.
The RunAJob utility runs a JAR file that calls an Informatica Intelligent Cloud Services REST API to run a job.
After the job completes, the utility provides the following job details:
You can use the RunAJob utility for certain Data Integration and Mass Ingestion asset types.
For Data Integration, you can run jobs for the following tasks and taskflows:
• Mapping tasks
• Synchronization tasks
• Replication tasks
• Masking tasks
• PowerCenter tasks
• Linear taskflows
• Published taskflows
For Mass Ingestion, you can run file ingestion task jobs.
You must have the RunAJobCli package enabled in your Informatica Intelligent Cloud Services organization
to use the RunAJob utility.
To see if your organization is licensed to use the utility, log in to your organization and click Administrator >
Licenses, and then look for the RunAJobCli package toward the bottom of the page. If you do not see the
package, contact Informatica Global Customer Support to enable it.
When the package is enabled, the utility can be found in the following location:
<Secure Agent installation directory>\apps\runAJobCli
To use the RunAJob utility, the Secure Agent host must have Java version 1.8 or higher installed.
352
RunAJob utility setup
To set up the RunAJob utility, create copies of the RunAJob properties template files that are included with
the utility and configure the new files.
To customize the RunAJob properties, copy the template files to create a restenv.properties file and a
log4j.properties file and then configure the properties. Or, you can update existing restenv.properties
and log4j.properties files if you already have them. Use the template files that are included with the utility
as a reference.
Login properties
Specify Informatica Intelligent Cloud Services login credentials in the restenv.properties file. Or, you can
include the login parameters as arguments in a task command.
You can use a password string or an encrypted password for the password parameter value.
The following example shows the restenv.properties file with an encrypted password and the
use.encryption flag set to true:
username=saki
password=:1xCGDTC0oD9B2Rmd8Sr4IZWaWWkcEmiK5fy+GkycA==
ACTIVITYMONITORWAIT=2000
TOTALWAIT=60000
PROXYHOST=
PROXYPORT=
RETRYCOUNT=30
use.encryption=true
Include the following parameters in the restenv.properties file or in task commands:
Parameter Description
use.encryption Enables use of an encrypted password. To use an encrypted password, set the value to true.
Parameter Description
ACTIVITYMONITORWAIT The amount of time the utility waits before retrying if an internal exception occurs, such as
a login failure or network problem.
Default is 5000 milliseconds.
TOTALWAIT The maximum amount of time the utility waits for a job to complete before polling the
activity monitor and activity log again for status.
Default is 5000 milliseconds.
RETRYCOUNT The number of times the utility polls for status. This parameter is used for polling the
activity monitor and activity log for job status and for internal exceptions such as login
failure or network problems.
Default is 6.
Note: Informatica Intelligent Cloud Services adds 10 seconds between each API call to
prevent server issues.
When configuring the restenv.properties file for polling job status, consider the values you set for
TOTALWAIT in conjunction with RETRYCOUNT, keeping in mind the amount of time you expect a job to run.
For example, if you expect a job to run for approximately 25 minutes, you might want to set the parameters
as follows:
TOTALWAIT=60000
RETRYCOUNT=30
With these settings, the utility polls for the job status every 60 seconds up to 30 times with 10 seconds
between each retry, which totals 35 minutes. If the job executes more than 35 minutes, the command will exit
with return code 6 (which means the job is running) and the job will continue to run in Informatica Intelligent
Cloud Services.
When configuring the restenv.properties file for internal exceptions, consider the values you set for
ACTIVITYMONITORLOG in conjunction with RETRYCOUNT.
For example, if you want the log to return basic information about the job such as user ID, job ID, and time the
task was initiated, set the level of detail to Info.
If you want the log to return all of the job details for debugging purposes, set the level of detail to Debug. You
can also set this property as an argument in a job command. For more information, see “RunAJob utility
arguments” on page 356.
Running tasks
The following command is an example of the syntax you can use to run a task using the task name and
location to specify the task:
cli.bat runAJobCli -t <tasktype> -n <task name> -fp <folder path to the task>
For example, to run a Mass Ingestion file ingestion task, you might use the following command:
cli.bat runAJobCli -t MI_TASK -n mitask_Arch_2308 -fp myproject/folder1
The following command is an example of the syntax you can use to run a job using the federated task ID to
specify the task:
cli.bat runAJobCli -t <tasktype> -fi <federated task ID>
For example, to run a Data Integration synchronization task using the federated task ID, you might use the
following command:
cli.bat runAJobCli -t DSS -fi kvOF40yLXyUihm7wYYskmh
For each job, you must specify the taskflow to run using the taskflow's name.
Task location
If you do not include a folder path or federated task ID in the command, the utility runs the task in the Default
folder.
If the task is not located in the Default folder or you have multiple tasks with the same name located in
different folders, be sure to include the folder path or federated task ID in the command.
To find the federated task ID, send a POST request using the REST API version 3 lookup resource.
folderPath -fp --folderPath Folder path to the location of the task, such as
myproject/folder1.
Required when the task is not in the Default folder
and the command does not include the federated
task ID.
parameterFile -pf --parameterFile Parameter file. Can be used for mapping tasks.
waitFlag -w --waitFlag Wait flag. Determines whether to wait for the job to
complete or run the job in the background.
Code Description
-1 Exception
0 Success
1 Warning
2 No wait
3 Failure
4 Timeout
5 Error
6 Running
If any required parameters are missing or are not valid in a command, an error message displays and the
REST API call does not run.
The Informatica Intelligent Cloud Services REST API uses codes for the following information:
State codes
The Informatica Intelligent Cloud Services REST API uses the following codes to represent the names of the
United States.
• AL. Alabama.
• AK. Alaska.
• AZ. Arizona.
• AR. Arkansas.
• CA. California.
• CO. Colorado.
• CT. Connecticut.
• DE. Delaware.
• FL. Florida.
• GA. Georgia.
• HI. Hawaii.
• ID. Idaho.
• IL. Illinois.
• IN. Indiana.
• IA. Iowa.
• KS. Kansas.
• KY. Kentucky.
• LA. Louisiana.
358
• ME. Maine.
• MD. Maryland.
• MA. Massachusetts.
• MI. Michigan.
• MN. Minnesota.
• MS. Mississippi.
• MO. Missouri.
• MT. Montana.
• NE. Nebraska.
• NV. Nevada.
• NH. New Hampshire.
• NJ. New Jersey.
• NM. New Mexico.
• NY. New York.
• NC. North Carolina.
• ND. North Dakota.
• OH. Ohio.
• OK. Oklahoma.
• OR. Oregon.
• PA. Pennsylvania.
• RI. Rhode Island.
• SC. South Carolina.
• SD. South Dakota.
• TN. Tennessee.
• TX. Texas.
• UT. Utah.
• VT. Vermont.
• VA. Virginia.
• WA. Washington.
• WV. West Virginia.
• WI. Wisconsin.
• WY. Wyoming.
Country codes
The Informatica Cloud REST API uses the following codes to represent country names.
• AF. Afghanistan.
• AX. Aland Islands.
• Pacific/Apia
• Pacific/Tahiti
• HST
• Pacific/Gambier
• AST
• America/Vancouver
• America/Tijuana
• America/Los_Angeles
• America/Phoenix
• America/Dawson_Creek
• America/Denver
• America/El_Salvador
• America/Costa_Rica
• America/Mexico_City
• America/Chicago
• America/Jamaica
• America/Panama
• America/Montreal
• America/Havana
• America/New_York
• America/Barbados
• America/Bogota
• America/Caracas
• America/Dominica
• America/Guadeloupe
• America/La_Paz
activityLog GET
Version 2 resource.
Use the serverUrl from the login response as the base URL for one of the following URIs:
/api/v2/activity/activityLog/<id>
/api/v2/activity/activityLog?rowLimit=<row limit>
/api/v2/activity/activityLog?offset=<offset>
/api/v2/activity/activityLog?taskId=<taskId>
/api/v2/activity/activityLog?runId=<runId>
You can also use the activityLog to download error logs and session logs from the server.
Use the serverUrl from the login response for one of the following URIs:
/api/v2/activity/errorLog/<id>
/api/v2/activity/activityLog/<Top_Level_Log_Entry_Id>/sessionLog?itemId=<child-log-
entry-item-id>&childItemId=<child-log-entry-item-id>
activityMonitor GET
Version 2 resource.
Use the serverUrl from the login response as the base URL for the following URI:
/api/v2/activity/activityMonitor?details=<true|false>
agent GET
Version 2 resource.
Returns the details of a Secure Agent or of all Secure Agents in the organization.
369
To get Secure Agent details, use the serverUrl from the login response as the base URL for one of the
following URIs:
/api/v2/agent/<id>
/api/v2/agent/name/<name>
To get a Secure Agent install token, use the serverUrl from the login response as the base URL in the
following URI:
/api/v2/agent/installerInfo/<install platform>
agent DELETE
Version 2 resource.
Use the serverUrl from the login response as the base URL for the following URI:
/api/v2/agent/<id>
agentservice POST
Version 3 resource
Use the baseApiUrl from the login response as the base URL for the following URI:
public/core/v3/agent/service
auditlog GET
Version 2 resource.
Use the serverUrl from the login response as the base URL for one of the following URIs:
/api/v2/auditlog
/api/v2/auditlog?batchId=<batchId>&batchSize=<batchSize>
bundleObject GET
Version 2 resource.
Returns the details of a bundle or the details of all published or installed bundles in the organization.
Use the serverUrl from the login response as the base URL for one of the following URIs:
/api/v2/bundleObject/<id>
/api/v2/bundleObject/name/<name>
/api/v2/bundleObject/?published=true
/api/v2/bundleObject/?published=true&installed=false
/api/v2/bundleObject/?installed=true
/api/v2/bundleObject/?published=false&installed=true
bundleObject POST
Version 2 resource.
Use the serverUrl from the login response as the base URL in the following URI:
/api/v2/bundleObject/push/<bundleId>
bundleObjectLicense GET
Version 2 resource.
Use the serverUrl from the login response as the base URL in the following URI:
/api/v2/bundleObjectLicense/
Use a bundleObjectLicense object to define attributes. Include the following required attribute: bundleId.
bundleObjectLicense DELETE
Version 2 resource.
Uninstalls a bundle.
Use the serverUrl from the login response as the base URL in the following URI:
/api/v2/bundleObjectLicense?bundleObjectId=<bundleId>&updateOption=<updateOption>
ChangePassword POST
Version 3 resource.
Changes the password for the user who initiated the session or for a specified user.
Use the baseApiUrl from the login response as the base URL for the following URI:
/public/core/v3/Users/ChangePassword
checkin POST
Version 3 resource.
Use the baseApiUrl from the login response as the base URL for the following URI:
/public/core/v3/checkin
checkout POST
Version 3 resource.
Use the baseApiUrl from the login response as the base URL for the following URI:
/public/core/v3/checkout
commitHistory GET
Version 3 resource.
Returns commit history for source-controlled objects with the latest commit listed first.
Use the baseApiUrl from the login response as the base URL for the following URI:
/public/core/v3/commitHistory
export POST
Version 3 resource.
Use the baseApiUrl from the login response as the base URL for the following URI:
/public/core/v3/export
Version 3 resource.
• To receive status of an export job, use the baseApiUrl from the login response as the base URL for
one of the following URIs:
/public/core/v3/export/<id>
/public/core/v3/export/<id>?expand=objects
• To receive a ZIP stream of the export package, use the baseApiUrl from the login response as the
base URL for the following URI:
/public/core/v3/export/<id>/package
fetchState POST
Version 3 resource.
Use the baseApiUrl from the login response as the base URL for the following URI:
/public/core/v3/fetchState
fetchState GET
Version 3 resource.
Returns the status of the fetchState job or the object states package.
• To receive status of a fetchState job, use the baseApiUrl from the login response as the base URL for
one of the following URIs:
/public/core/v3/fetchState/<id>
/public/core/v3/fetchState/<id>?expand=objects
• To receive a ZIP stream of the object states package, use the baseApiUrl from the login response as
the base URL for the following URI:
/public/core/v3/fetchState/<id>/package
import POST
Version 3 resource.
• To upload an import package, use the baseApiUrl from the login response as the base URL for the
following URI:
/public/core/v3/import/package
For Content-Type, use multipart/form-data.
• To specify details for an import job and start the job, use the baseApiUrl from the login response as
the base URL for the following URI:
/public/core/v3/import/<id>
import GET
Version 3 resource.
Starts or stops a task and optionally provides job status. You can perform the following actions:
• To start a task, use the serverUrl from the login response as the base URL for the following URI:
/api/v2/job
• To stop a task, use the serverUrl from the login response as the base URL for the following URI:
/api/v2/job/stop
Do not use this resource for a file ingestion task. Instead, use the file ingestion job resource. For more
information, see “job” on page 333.
license GET
Version 3 resource.
Returns the license details for the organization that you are logged in to or a specified sub-organization.
Use the baseApiUrl from the login response as the base URL in the following URI:
/public/core/v3/license/org/<id>
license PUT
Version 3 resource.
Use the baseApiUrl from the login response as the base URL in the following URI:
/public/core/v3/license/org/<id>
Use the orgLicenseAssignment object to update license information.
loadState POST
Version 3 resource.
Uploads an object states package ZIP file or loads the object states.
• To upload an object states package, use the baseApiUrl from the login response as the base URL for
the following URI:
/public/core/v3/loadState/package
For Content-Type, use multipart/form-data.
• To specify details for a loadState job and start the job, use the baseApiUrl from the login response as
the base URL for the following URI:
/public/core/v3/loadState/<id>
loadState GET
Version 3 resource.
Logs into an organization and returns a session ID that you can use for other resource calls.
Use a login object and include the following fields: username, password.
logout POST
Version 3 resource.
Logs out of an organization and ends the REST API session included in the request header.
Use the same URL used for the login POST except for the API name. Use the following URI:
https://dm-us.informaticacloud.com/saas/public/core/v3/logout
login POST
Version 2 resource.
Logs into an organization and returns a session ID that you can use for other resource calls.
To log in with your Informatica Intelligent Cloud Services account, use the following URL:
https://dm-<region>.informaticacloud.com/ma/api/v2/user/login
Use one of the following values for the region:
Use a login object and include the following fields: username, password.
loginSAML POST
Version 2 resource.
For SAML single sign-on users, logs into an organization and returns a session ID that you can use for
other resource calls.
Include the following required attributes in the login object: orgId, samlToken.
Version 2 resource.
Logs into an organization using Salesforce credentials and returns a session ID that you can use for
other resource calls.
Include the following required attributes in the login object: sfSessionId, sfServerUrl.
logout POST
Version 2 resource.
Logs out of an organization and ends the REST API session included in the request header.
Use the serverUrl from the login response as the base URL for the following URI:
/api/v2/user/logout
logoutall POST
Version 2 resource.
Logs out of an organization and ends all version 2 REST API sessions for the organization.
lookup POST
Version 3 resource.
Use the serverUrl from the login response as the base URL for the following URI:
/public/core/v3/lookup
objects GET
Version 3 resource.
Returns a list of an organization's assets based on query parameters and returns a list of object
dependencies for a specified asset.
To get a list of an organization's assets, use the serverUrl from the login response as the base URL for
the following URI:
/public/core/v3/objects?<parameters>
To get a list of object dependencies for an asset, use the serverUrl from the login response as the base
URL for the following URI:
/public/core/v3/objects/<objectId>/references?<parameters>
org GET
Version 2 resource.
Returns the details of your Informatica Intelligent Cloud Services organization or a related sub-
organization.
Updates the details of an Informatica Intelligent Cloud Services organization or a related sub-
organization.
Use the serverUrl from the login response as the base URL for the following URI:
/api/v2/org/<id>
Use an org object to define attributes.
org DELETE
Version 2 resource.
Use the serverUrl from the login response as the base URL for the following URI:
/api/v2/org/<id>
Orgs GET
Version 3 resource.
Returns a list of trusted IP address ranges for an Informatica Intelligent Cloud Services organization or
sub-organization.
Use the serverUrl from the login response as the base URL for one of the following URI:
/public/core/v3/Orgs/<orgId>/TrustedIP
Orgs PUT
Version 3 resource.
Enables or disables trusted IP ranges and adds values of trusted IP ranges for an Informatica Intelligent
Cloud Services organization or sub-organization.
Use the serverUrl from the login response as the base URL for the following URI:
/public/core/v3/Orgs<orgId>/TrustedIP
privileges GET
Version 3 resource.
Use the baseApiUrl from the login response as the base URL for the following URI:
/public/core/v3/privileges
pull GET
Version 3 resource.
Use the baseApiUrl from the login response as the base URL for the following URI:
/public/core/v3/pull/<pullActionId>
Note: The pull status GET request is deprecated. Use a sourceControlAction GET request to receive the
status for a source control operation.
Version 3 resource.
Retrieves objects from your repository and loads them into your organization.
Use the baseApiUrl from the login response as the base URL for the following URI:
/public/core/v3/pull
register POST
Version 2.
ResetPassword
Version 3 resource.
Resets the password for the user who initiated the session.
Use the baseApiUrl from the login response as the base URL for the following URI:
/public/core/v3/Users/ResetPassword
roles GET
Version 3 resource.
Use the baseApiUrl from the login response as the base URL for the following URI:
/public/core/v3/roles
roles POST
Version 3 resource.
Use the baseApiUrl from the login response as the base URL in one of the following URIs:
/public/core/v3/roles
/public/core/v3/roles/<roleId>
roles DELETE
Version 3 resource.
Use the baseApiUrl from the login response as the base URL for the following URI:
/public/core/v3/roles/<roleId>
runtimeEnvironment GET
Version 2 resource.
Use the serverUrl from the login response as the base URL for the following URI:
/api/v2/runtimeEnvironment
Version 3 resource.
Use the baseApiUrl from the login response as the base URL for one of the following URIs:
/public/core/v3/schedule
/public/core/v3/schedule/<id>
schedule POST
Version 3 resource.
Use to create a schedule.
Use the baseApiUrl from the login response as the base URL in the following URI:
/public/core/v3/schedule
schedule PATCH
Version 3 resource.
Use the baseApiUrl from the login response as the base URL in the following URI:
/public/core/v3/schedule/<id>
schedule DELETE
Version 3 resource.
Use the baseApiUrl from the login response as the base URL in the following URI:
/public/core/v3/schedule/<id>
schedule GET
Version 2 resource.
Use the serverUrl from the login response as the base URL for one of the following URIs:
/api/v2/schedule/<id>
/api/v2/schedule/name/<name>
schedule POST
Version 2 resource.
Use the serverUrl from the login response as the base URL for the following URI:
/api/v2/schedule/<id>
Note: We recommend that you use the version 3 schedule resource, instead of using the version 2
schedule resource. The version 2 schedule resource doesn't support full scheduling functionality.
schedule DELETE
Version 2 resource.
Deletes a schedule.
Use the serverUrl from the login response as the base URL for the following URI:
/api/v2/schedule/<id>
Version 3 resource.
Returns security log entries that include events such as login actions and permission changes.
Use the baseApiUrl from the login response as the base URL for the following URI:
/public/core/v3/securityLog
serverTime GET
Version 2 resource.
Returns the local time for the Informatica Intelligent Cloud Services server.
Use the serverUrl from the login response as the base URL for the following URI:
/api/v2/server/serverTime
sourceControlAction GET
Version 3 resource.
Returns the status of a source control action for the specified object.
Use the baseApiUrl from the login response as the base URL for the following URI:
/public/core/v3/sourceControlAction/<actionId>
TagObject POST
Version 3 resource.
Use the baseApiUrl from the login response as the base URL for the following URI:
/public/core/v3/TagObject
task GET
Version 2 resource.
Use the serverUrl from the login response as the base URL for the following URI:
/api/v2/task?type=<type>
UntagObject POST
Version 3 resource.
Use the baseApiUrl from the login response as the base URL for the following URI:
/public/core/v3/UntagObject
user GET
Version 2 resource.
Returns the details of an Informatica Intelligent Cloud Services user account or of all user accounts in
the organization.
Use the serverUrl from the login response as the base URL for one of the following URIs:
/api/v2/user/<id>
/api/v2/user/name/<name>
Note: We recommend that you use the version 3 users resource, instead of using the version 2 user
resource. The version 2 user resource doesn't support user groups or user roles.
Version 2 resource.
Use the serverUrl from the login response as the base URL for the following URI:
/api/v2/user/<id>
Note: We recommend that you use the version 3 users resource, instead of using the version 2 user
resource. The version 2 user resource doesn't support user groups or user roles.
user DELETE
Version 2 resource.
Use the serverUrl from the login response as the base URL for the following URI:
/api/v2/user/<id>
userGroups GET
Version 3 resource.
Returns details for all user groups in the organization or the details for a particular user group.
Use the baseApiUrl from the login response as the base URL for the following URI:
/public/core/v3/userGroups
userGroups POST
Version 3 resource.
Use the baseApiUrl from the login response as the base URL for one of the following URIs:
/public/core/v3/userGroups
/public/core/v3/userGroups/<usergroupId>
userGroups DELETE
Version 3 resource.
Use the baseApiUrl from the login response as the base URL for the following URI:
/public/core/v3/userGroups/<usergroupId>
UserProfile GET
Version 3 resource.
Use the baseApiUrl from the login response as the base URL for the following URI:
public/core/v3/Users/<userId>/UserProfile
UserProfile PATCH
Version 3 resource.
Sets the security answer for the user who initiated the session.
Use the baseApiUrl from the login response as the base URL for the following URI:
public/core/v3/Users/UserProfile
Version 3 resource.
Returns details for all users in the organization or the details for a particular user.
Use the baseApiUrl from the login response as the base URL for the following URI:
/public/core/v3/users
users POST
Version 3 resource.
Creates an Informatica Intelligent Cloud Services user account, and changes and resets user passwords.
Use the baseApiUrl from the login response as the base URL for one of the following URIs:
/public/core/v3/users
/public/core/v3/users/<userId>
users DELETE
Version 3 resource.
Use the baseApiUrl from the login response as the base URL for the following URI:
/public/core/v3/users/<userId>
connection GET
Version 2 resource.
Use the serverUrl from the login response as the base URL.
• Connection details. To request the details of a connection or of all connections in the organization,
use one of the following URIs:
/api/v2/connection
/api/v2/connection/<id>
/api/v2/connection/name/<name>
• Connection objects. To request a list of objects that you can use as a source or target for the
specified connection, use one of the following URIs:
/api/v2/connection/source/<id>
/api/v2/connection/target/<id>
• Connection details by runtime environment. To request a list of all connections in the organization
that use a particular runtime environment, use the following URI:
/api/v2/connection/<runtimeEnvironmentId>
• Connections by Secure Agent and connection type. To request a list of connections by Secure Agent
ID and connection type, use the following URI:
/api/v2/connection/search?agentId=<agent ID>&uiType=<uiType>
Version 2 resource.
Use the serverUrl from the login response as the base URL for the following URI:
/api/v2/connection/<id>
Use a connection object to define attributes.
connection DELETE
Version 2 resource.
Deletes a connection.
Use the serverUrl from the login response as the base URL for the following URI:
/api/v2/connection/<id>
connector GET
Version 2 resource.
Returns a list of connectors available to the organization or attribute values for a specified connector
type.
Use the serverUrl from the login response as the base URL for the following URI:
/api/v2/connector
/api/v2/connector/metadata?connectorType=<connectorType>
customFunc GET
Version 2 resource.
Use the serverUrl from the login response as the base URL for one of the following URIs:
/api/v2/customFunc/<id>
/api/v2/customFunc/name/<name>
customFunc POST
Version 2 resource.
Use the serverUrl from the login response as the base URL for the following URI:
/api/v2/customFunc/<id>
Define attributes in the request body and encode the request body as multipart/form-data. Include the
following required attributes: file, name.
customFunc DELETE
Version 2 resource.
Deletes a mapplet.
Use the serverUrl from the login response as the base URL for the following URI:
/api/v2/customFunc/<id>
Version 2 resource.
Use to preview data during mapping design. Specify the number of rows to return of source or target
data for a specified object.
Use the serverUrl from the login response as the base URL for one of the following URIs:
/api/v2/connection/<source or target>/<connId>/datapreview/<object name>
/api/v2/connection/<source or target>/name/<name>/datapreview/<object name>
expressionValidation POST
Version 2 resource.
Use the serverUrl from the login response as the base URL for the following URI:
/api/v2/expression/validate
field GET
Version 2 resource.
Use the serverUrl from the login response as the base URL for one of the following URIs:
/api/v2/connection/<source or target>/<id>/field/<objectName>
/api/v2/connection/<source or target>/name/<name>/field/<objectName>
/api/v2/connection/<source or target>/<id>/fields?objectName=<objectName>
field POST
Version 2 resource.
Use the serverUrl from the login response as the base URL for one of the following URIs:
/api/v2/connection/<source or target>/<id>/field/<objectName>
The flat file attributes provided in the request override the default attributes specified in the connection
object.
filelisteners GET
Version 1 resource.
To get file listener details, use the serverUrl from the login response as the base URL for the following
URI:
api/v1/filelisteners/<filelistener ID>
To get the status of a file listener job, use the serverUrl from the login response as the base URL for the
following URI:
mftsaas/api/v1/filelisteners/job/<job ID>/status
filelisteners POST
Version 1 resource.
To create a file listener, use the serverUrl from the login response as the base URL for the following URI:
api/v1/filelisteners
Version 1 resource.
Use the serverUrl from the login response as the base URL for the following URI:
mftsaas/api/v1/filelisteners/<filelistener ID>
filelisteners DELETE
Version 1 resource.
Use the serverUrl from the login response as the base URL for the following URI:
mftsaas/api/v1/filelisteners/<filelistener ID>
fileRecord POST
Version 2 resource.
Use the serverUrl from the login response as the base URL for the following URI:
/api/v2/fileRecord
Define attributes in the request body and encode the request body as multipart/form-data. Include the
following required attributes: file, name.
fileRecord DELETE
Version 2 resource.
Use the serverUrl from the login response as the base URL for the following URI:
/api/v2/fileRecord/<id>
fwConfig GET
Version 2 resource.
Use the serverUrl from the login response as the base URL for one of the following URIs:
/api/v2/fwConfig/<id>
/api/v2/fwConfig/name/<name>
fwConfig POST
Version 2 resource.
Use the serverUrl from the login response as the base URL for the following URI:
/api/v2/fwConfig/<id>
fwConfig DELETE
Version 2 resource.
Use the serverUrl from the login response as the base URL for the following URI:
/api/v2/fwConfig/<id>
mapping GET
Version 2 resource.
Returns the details of a mapping or of all mappings in the organization. Can also return an image of a
mapping.
Use the serverUrl from the login response as the base URL for one of the following URIs:
/api/v2/mapping/<id>
/api/v2/mapping/name/<name>
/api/v2/mapping/search?name=<name>
/api/v2/mapping/<id>/image?deployed=<true|false>
masterTemplate GET
Version 2 resource.
Returns information about Visio templates. You can request the following information:
• Visio templates. You can request the details of a Visio template or of all Visio templates in the
organization. Use the serverUrl from the login response as the base URL for one of the following URIs:
/api/v2/masterTemplate/<id>
/api/v2/masterTemplate/name/<name>
• Mapping tasks. You can request a list of mapping tasks that use a Visio template. Use the serverUrl
from the login response as the base URL for the following URI:
/api/v2/masterTemplate/<id>/tasks
masterTemplate POST
Version 2 resource.
Use the serverUrl from the login response as the base URL for the following URI:
/api/v2/masterTemplate/<id>
Use a masterTemplate object to define attributes.
masterTemplate DELETE
Version 2 resource.
Use the serverUrl from the login response as the base URL for the following URI:
/api/v2/masterTemplate/<id>
mttask GET
Version 2 resource.
Use the serverUrl from the login response as the base URL for one of the following URIs:
/api/v2/mttask/<id>
/api/v2/mttask/frs/<federated task ID>
/api/v2/mttask/name/<name>
mttask POST
Version 2 resource.
Use the serverUrl from the login response as the base URL for one of the following URIs:
/api/v2/mttask/<id>
/api/v2/mttask/frs/<federated task ID>
Use an mttask object to define attributes.
mttask DELETE
Version 2 resource.
Use the serverUrl from the login response as the base URL for the following URI:
/api/v2/mttask/<id>
sendfiles POST
Use the serverUrl from the login response as the base URL for the following URI:
mftsaas/api/v1/sendfiles/<connection name>
workflow GET
Version 2 resource.
Returns the details of a linear taskflow or of all linear taskflows in the organization.
Use the serverUrl from the login response as the base URL for one of the following URIs:
/api/v2/workflow/<id>
/api/v2/workflow/name/<name>
/api/v2/workflow/?simpleMode=true
workflow POST
Version 2 resource.
Use the serverUrl from the login response as the base URL for the following URI:
/api/v2/workflow/<id>
Use a workflow object to define attributes.
workflow DELETE
Version 2 resource.
Use the serverUrl from the login response as the base URL for the following URI:
/api/v2/workflow/<id>
A connections
available connectors for an organization 207
activityLog connector 207
REST API resource 22 connector type data types 330
activityMonitor connectors
REST API resource 31 available for an organization 188
Advanced FTP V2 274 customFunc
agent REST API resource 209
REST API resource 33
arguments
RunAJob utility 356
AS2 server
D
sendfiles resource 265 Data Integration community
asset migration URL 8
exporting 88 dataPreview
importing 95 REST API resource 214
assets date/time format
dependencies 130 REST API 17
finding 126 decompress
in an organization 126 REST API resource 271
auditlog decrypt
REST API resource 38 REST API resource 273
B E
base URL 12 encrypt
base URLs REST API resource 272, 278
difference for REST API versions 11 error logs 22
body configuration error object
REST API 13 REST API 20
bundleObject export
REST API resource 41 REST API v3 resource 88
bundleObjectLicense expressionValidation
REST API resource 43 REST API resource 237
C F
ChangePassword resource 180 fetchState
changing passwords 180 REST API v3 resource 114
checkin resource 162 field
checkout resource 159 REST API resource 238
Cloud Application Integration community file ingestion tasks
URL 8 REST API 338, 342, 348, 351
Cloud Developer community file listener 246
URL 8 file transfer
commitHistory resource 167 monitoring using REST API 269
common resources 10 fileRecord
compress REST API resource 243
REST API resource 269 format
compress file transfer task 275 difference for REST API versions 11
connection fwConfig
REST API resource 188 REST API resource 287
connection attributes and user interface fields 332
387
G M
guidelines maintenance outages 9
REST API 20 mapping
REST API resource 291
masterTemplate
import
REST API v3 resource 95
Informatica Global Customer Support
O
contact information 9 object configuration
Informatica Intelligent Cloud Services REST API, in XML and JSON 13
web site 8 object dependencies 130
IP address filtering 132 object IDs
retrieving for the REST API 18
object migration
J exporting 88
importing 95
job object state synchronization
REST API resource 45 fetchState resource 114
job status loading states 120
job resource 45 objects
RunAJob utility 354 REST API v3 resource 126
org
REST API resource 59
key rotation
changing key rotation intervals 104
getting key rotation interval settings 103
P
REST API v3 resource 103 partial updates 16
passwords
changing 180
L resetting 181
platform REST API resources 10
license PODs 11
REST API v3 resource 105 privileges resource 135
linear taskflows pull resource
workflow resource 326 getting pull status 169
loadState pulling objects 154
REST API v3 resource 120
log file detail
RunAJob utility 354
logging in
Q
using Salesforce credentials 54 quick reference
using V2 login resource 48 Data Integration resources 381
login platform resources 369
REST API resource 48, 107
loginSaml
REST API resource 52
loginSf
R
REST API resource 54 receivefiles
logout REST API resource 267
REST API resource 58 register
REST API v3 resource 109 REST API resource 64
logoutall remote
REST API resource 58 REST API resource 275
lookup remote file transfer task
REST API v3 resource 110 REST API resource 274
removing tags 173
ResetPassword resource 181
388 Index
resetting passwords 181 REST API v3 (continued)
responses lookup resource 110
REST API 19 objects resource 126
REST API schedule resource 139
activityLog resource 22 securityLog 151
activityMonitor resource 31 return list configuration
agent resource 33 REST API in XML and JSON 14
agent service 85 roles resource 136
auditlog resource to view audit entries 38 RunAJob utility
body configuration 13 arguments 356
bundleObject resource to view bundle details 41 job status 354
bundleObjectLicense resource 43 job status codes 357
codes 358 log file detail 354
connection resource 188 login properties 353
create file ingestion tasks 342 overview 352
customFunc resource to work with mapplets 209 running jobs 355
dataPreview resource 214 setup 353
date/time values 17 task folder 355
delete file ingestion tasks 351 runtimeEnvironment
documentation conventions 21 REST API resource 69
error object 20
expressionValidation 237
field resource 238
file ingestion tasks 338
S
fileRecord resource 243 schedule
fwConfig resource 287 REST API resource 72
guidelines 20 REST API v3 resource 139
header configuration 12 Secure Agent service
job resource 45 starting 85
JSON example 15 stopping 85
login resource 48, 107 security questions and answers 180, 181
loginSaml 52 securityLog
loginSf resource 54 REST API v3 resource 151
logout resource 58 sendfiles
logoutall resource 58 REST API resource 265
mapping resource for working with mappings 291 serverTime
masterTemplate resource for working with Visio templates 295 REST API resource 79
mttask resource to work with mapping tasks 301 serverURL 11
org resource 59 service REST API resources 10
quick reference for Data Integration 381 session IDs
quick reference for platform 369 difference for REST API versions 11
receivefiles resource 267 session logs 22
register resource 64 session status 18
responses 19 source control
retrieving and using object IDs 18 checking in objects 162
return lists 14 checking out objects 159
runtimeEnvironment resource 69 getting commit history 167
schedule resource 72 getting pull status 169
sendfiles resource 265 pulling objects 154
serverTime resource 79 status 164
state codes 358, 359 sourceControlAction resource 164
task resource to view task details 79 state codes
time zone codes 366 REST API 358, 359
update file ingestion tasks 348 state synchronization 113
user resource 80 status
versions 11 Informatica Intelligent Cloud Services 9
workflow resource for linear taskflows 326 synchronizing object states
XML example 15 exporting states 114
REST API resources loading states 120
types of 10 system status 9
REST API v3
export resource 88
fetchState resource 114
import resource 95
T
key resource 103 TagObjects resource 172
license resource 105 tags
loadState resource 120 assigning to assets 172
logout resource 109 removing from assets 173
Index 389
task users (continued)
REST API resource 79 deleting 177
time zone codes getting user details 174
REST API 366 Users resource 174
trust site
description 9
@type
use with JSON REST API 13
V
version control 154
Visio templates 295
U
UntagObjects resource 173
update modes 16
W
upgrade notifications 9 web site 8
user workflow
REST API resource 80 REST API resource 326
userGroups resource 183
users
creating 177
390 Index