Activity Log

Use this resource to request log information for completed jobs from the Monitor service. You can also request error logs and session logs.

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>

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

id

Log entry ID.
Include this attribute if you want to receive information for a specific ID.

runId

Job ID associated with the log entry ID.

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

Field

Type

Description

id

String

Log entry ID.

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 
    

objectId

String

Task ID.

objectName

String

Name of the task.

runId

Long

ID for the task run.

agentId

String

Agent that runs the task.

runtimeEnvironmentId

String

Runtime environment where the task runs.

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 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.

errorMsg

String

Error message associated with the job.

startedBy

String

User who started the task.

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 
    

scheduleName

String

Schedule name, if task was initiated by a schedule.

entries

Indicates the start of information for a child object.

When you request log information for a specific ID, the activityLogEntry object includes the following attributes:

Field

Type

Description

id

String

Log entry ID.

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 
    

objectId

String

Task ID.

objectName

String

Name of the task.

runId

String

ID for the task run.

agentId

String

Agent that runs the task.

runtimeEnvironmentId

String

Runtime environment where the task runs.

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

Start 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.

errorMsg

String

Error message associated with the job.

startedBy

String

User who started the task.

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.
    

scheduleName

String

Schedule name, if task was initiated by a schedule.

orgId

String

Organization ID.

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.

logFilename

String

The name of the generated log file.

errorFilename

String

The name of the generated error file.

errorFileDir

String

The location of the error file on the Secure Agent machine.

connType

String

Connection type.

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. 
    

items

Includes an activityLogEntryItem object for each task.

type

String

Included in the activityLogEntryItem object.
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. 
    

objectId

String

Included in the activityLogEntryItem object.
Task ID.

objectName

String

Included in the activityLogEntryItem object.
Name of the task.

runId

String

Included in the activityLogEntryItem object.
ID for the task run.

agentId

String

Included in the activityLogEntryItem object.
Agent that ran the task.

runtimeEnvironmentId

String

Included in the activityLogEntryItem object.
Runtime environment where the task ran.

startTime

Date/time

Included in the activityLogEntryItem object.
Start time for the task or linear taskflow. Uses Eastern Time Zone (ET).

endTime

Date/time

Included in the activityLogEntryItem object.End time for the task or linear taskflow. Uses Eastern Time Zone (ET).

state

String

Included in the activityLogEntryItem object.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.

errorMsg

String

Included in the activityLogEntryItem object.
Error message associated with the job.

connType

String

Included in the activityLogEntryItem object.
Connection type.

children

String

Included in the activityLogEntryItem object.
Returns an activityLogEntryItem object for each table in the linear taskflow.

startedBy

String

User who started the task.

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. 
    

scheduleName

String

Schedule name, if task was initiated by a schedule.

transformationEntries

Includes information in a transformationLogEntry object for each transformation.

id

String

Included in the transformationLogEntry object.
Transformation ID.

txName

String

Included in the transformationLogEntry object.
Transformation name.

txType

String

Included in the transformationLogEntry object.
Transformation type.

successRows

Long

Included in the transformationLogEntry object.
Number of successful rows for the transformation.

failedRows

Long

Included in the transformationLogEntry object.
Number of failed rows for the transformation.

sequenceValues

Returns information generated from a task that includes the sequence generator transformation. Includes a sequenceValueLogEntry object for each transformation.

txName

String

Included in the sequenceValueLogEntry object.
Transformation name.

nextValue

String

Included in the sequenceValueLogEntry object.
The last value generated by the task.

inOutParameterValues

String

The in-out parameter values used in the task. Includes an inOutParameterValueLogEntry for each parameter.

name

String

Included in the inOutParameterValueLogEntry object.
Parameter name.

value

String

Included in the inOutParameterValueLogEntry object.
Parameter value.

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.
The following text is a sample return in JSON:

[
    {
        "@type": "activityLogEntry",
        "id": "000001C100000000000C",
        "type": "DRS",
        "objectName": "drstask1",
        "runId": 1,
        "runtimeEnvironmentId": "00000C25000000000002",
           "startTime": "2012-07-30T13:30:30.000Z",
        "endTime": "2012-07-30T13:32:30.000Z",
        "state": 1,
        "failedSourceRows": 0,
        "successSourceRows": 39,
        "failedTargetRows": 0,
        "successTargetRows": 39,
        "errorMsg": null,
        "entries": [
            {
                "@type": "activityLogEntry",
                "id": "128964732",
                "type": "DRS",
                "objectName": "Contact",
                "runId": 0,
                "runtimeEnvironmentId": "00000C25000000000002",
                "agentId: "01000008000000000006",
                "startTime": "2012-07-30T13:32:31.000Z",
                "endTime": "2012-07-30T13:35:31.000Z",
                "state": 1,
                "failedSourceRows": 0,
                "successSourceRows": 39,
                "failedTargetRows": 0,
                "successTargetRows": 39,
                "errorMsg": "No errors encountered.",
                "entries": []
            },
        ]
    },
    {
        "@type": "activityLogEntry",
        "id": "010000C1000000000PGP",
        "type": "MTT_TEST",
        "objectId": "0100000Z00000000001N",
        "objectName": "Mapping-MultiSource",
        "runId": 12,
        "startTime": "2020-03-27T08:05:56.000Z",
        "endTime": "2020-03-27T08:06:07.000Z",
        "startTimeUtc": "2020-03-27T12:05:56.000Z",
        "endTimeUtc": "2020-03-27T12:06:07.000Z",
        "state": 2,
        "failedSourceRows": 0,
        "successSourceRows": 800,
        "failedTargetRows": 200,
        "successTargetRows": 600,
        "startedBy": "[email protected]",
        "runContextType": "ICS_UI",
        "entries": [
            {
                "@type": "activityLogEntry",
                "id": "118964723",
                "type": "MTT_TEST",
                "objectName": "",
                "runId": 12,
                "agentId": "01000008000000000004",
                "runtimeEnvironmentId": "01000025000000000004",
                "startTime": "2020-03-27T08:05:56.000Z",
                "endTime": "2020-03-27T08:06:07.000Z",
                "startTimeUtc": "2020-03-27T12:05:56.000Z",
                "endTimeUtc": "2020-03-27T12:06:07.000Z",
                "state": 2,
                "failedSourceRows": 0,
                "successSourceRows": 800,
                "failedTargetRows": 200,
                "successTargetRows": 600,
                "errorMsg": null,
                "startedBy": "[email protected]",
                "runContextType": "ICS_UI",
                "entries": [],
                "subTaskEntries": [],
                "logEntryItemAttrs": {
                    "IS_SERVER_LESS": "false",
                    "Session Log File Name": "s_mtt_0Sr7LdcbAG2ldG33Lp8koQ_2.log"
                },
                "totalSuccessRows": 0,
                "totalFailedRows": 0,
                "stopOnError": false,
                "hasStopOnErrorRecord": false,
                "contextExternalId": "0100000Z00000000001N",
                "transformationEntries": [
                    {
                        "@type": "transformationLogEntry",
                        "id": "141332309",
                        "txName": "FFSource2",
                        "txType": "SOURCE",
                        "successRows": 600,
                        "failedRows": 0
                    },
                    {
                        "@type": "transformationLogEntry",
                        "id": "141332310",
                        "txName": "FFSource1",
                        "txType": "SOURCE",
                        "successRows": 200,
                        "failedRows": 0
                    },
                    {
                        "@type": "transformationLogEntry",
                        "id": "141332311",
                        "txName": "FFTarget",
                        "txType": "TARGET",
                        "successRows": 600,
                        "failedRows": 0
                    },
                    {
                        "@type": "transformationLogEntry",
                        "id": "141332312",
                        "txName": "MYSQLTarget",
                        "txType": "TARGET",
                        "successRows": 0,
                        "failedRows": 200
                    }
                ]
            }
        ]
    }
]

Error Log Requests

You can request an error log from the server.
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"

"05/11/2015 00:00:00.000000000","05/11/2015 00:00:00.000000000","ERROR: Target table [test] has no keys specified."

"05/11/2015 00:00:00.000000000","05/11/2015 00:00:00.000000000","ERROR: Target table [test] has no keys specified."

"05/11/2015 00:00:00.000000000","05/11/2015 00:00:00.000000000","ERROR: Target table [test] has no keys specified."

"05/11/2015 00:00:00.000000000","05/11/2015 00:00:00.000000000","ERROR: Target table [test] has no keys specified."

"05/11/2015 00:00:00.000000000","05/11/2015 00:00:00.000000000","ERROR: Target table [test] has no keys specified."

Session Log Requests

You can download session logs for all task types using the sessionLog API. For tasks that have subtasks such as replication tasks and linear taskflows, you can download a ZIP file that contains all of the session logs in the hierarchy. For replication tasks, which have two levels of tasks, you can specify an itemId to return a session log for a subtask if you do not want all of the session logs. For linear taskflows, which have three levels of tasks, you can specify an itemId or childItemId to return a session log for a particular subtask.

Use the following URI to download session logs:

/saas/api/v2/activity/activityLog/<Top_Level_Log_Entry_Id>/sessionLog?itemId=<child-log-entry-item-id>&childItemId=<child-log-entry-item-id>

The following example requests include a request for a specific session log and requests for session logs for subtasks:

  • 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
  • To request a session log for a particular subtask for a replication task or linear taskflow, you might use the following request:
/saas/api/v2/activity/activityLog/000001C1000000000591/sessionLog?itemId=233

To request a session log for a sub-subtask in a linear taskflow, you might use the following request:

/saas/api/v2/activity/activityLog/000001C1000000000591/sessionLog?itemId=233&childItemId=234