---
nav: wcp_docs
parent_url: /wcp_docs/
title: Integration Insights REST API
layout: subsection
---

This topic provides an overview and usage guidance on the Integration Insights REST API.

## Overview

The Integration Insights REST API provides programmatic access to raw integration event data for your Workday tenants. The API is available to all Extend and Extend Pro Workday customers on both IMPL and PROD tenants.

Key features:

-   <b>Performance monitoring:</b> Access integration performance telemetry for analysis in your observability platform.
-   <b>Cross-platform visibility:</b> Combine Workday integration performance data with your existing enterprise data sources for comprehensive observability.
-   <b>Direct REST access:</b> Query integration events directly from your tooling without an orchestration wrapper, enabling integration with platforms such as Splunk, Datadog, or custom pipelines.


<b>Note:</b> Integration Insights event data is retained for 14 days from execution. After this period, data is purged and is no longer accessible. We recommend scheduling regular pulls to extract and store data before it is purged.

For reference documentation about the Integration Insights REST API, see <i>Integration Insights</i> in the [REST API Explorer on the Developer Site](https://developer.workday.com/rest-api-explorer) or [Workday REST Services Directory](https://community.workday.com/sites/default/files/file-hosting/restapi/index.html).

## URL Base Path

<b>Workday API Gateway Base Path</b>

For REST API calls in Workday Extend and Orchestrate for Integrations, use the regional API Gateway base URL for your account. See [Reference: Workday Extend API Gateways and Authorization Base URLs](https://developer.workday.com/documentation/dlh1653340161856) on the Developer Site. Note that the API Gateway base URL doesn’t include the tenant name.

Example:

```
https://api.us.wcp.workday.com/integration/insights/reporting/v1/tenanted/raw
```

## Security Considerations

The Integration Insights REST API uses OAuth and API client credentials for authentication. Supply a valid API token as a Bearer token in the Authorization header of each request.

To obtain an API token, create an API client on the Workday Developer Site. See [Create Your API Client](/wcp_docs/zwx1518028675482.html).

## Prerequisites

<b>PROD Environments</b>

In PROD environments, the Integration Insights API automatically captures data for Extend and Extend Pro customers. You can turn this off in the <b>Edit Tenant Setup - Integrations</b> task.

<b>IMPL Environments</b>

In IMPL environments:

1.  Access the <b>Edit Tenant Setup - Integrations</b> task.
2.  Select the <b>Insights Events Enabled</b> check box.
3.  Click <b>OK</b>.
4.  Obtain an API token through the Workday Developer Site. See [Create Your API Client](/wcp_docs/zwx1518028675482.html).
5.  Call the Integration Insights REST API endpoint to retrieve event data.
6.  Configure onward delivery to your observability platform.


## Querying Integration Events

To retrieve a paginated list of integration events for the specified tenant, use this endpoint:

```
GET /reporting/v1/tenanted/raw
```

<b>Query Parameters</b>

<table><thead><tr><th>Parameter</th><th>Type</th><th>Required</th><th>Description</th></tr></thead><tbody><tr><td><code>limit</code></td><td>integer</td><td>No</td><td>Number of results to return. Min 1, max 10,000. Default 100</td></tr><tr><td><code>cursor</code></td><td>string</td><td>No</td><td>Cursor token from the previous response. Omit for the first request</td></tr><tr><td><code>startedAt</code></td><td>string (date-time)</td><td>No</td><td>Inclusive ISO 8601 lower bound for event start time</td></tr><tr><td><code>completedAt</code></td><td>string (date-time)</td><td>No</td><td>Inclusive ISO 8601 upper bound for event completion time</td></tr><tr><td><code>eventType</code></td><td>array of strings</td><td>No</td><td>Repeatable filter that restricts results to one or more event types.</td></tr></tbody></table><br/>

<b>Sample Response</b>

```
{
  "total": 218,
  "nextCursor": "eyJvZmZzZXQiOjIwfQ==",
  "data": [ ...events... ]
}
```

<table><thead><tr><th>Field</th><th>Description</th></tr></thead><tbody><tr><td><code>total</code></td><td>Total number of events available for the tenant.</td></tr><tr><td><code>nextCursor</code></td><td>Cursor token for the next page. Absent when all events have been retrieved.</td></tr><tr><td><code>data</code></td><td>Array of event objects.</td></tr></tbody></table><br/>

## Event Types

All events share a common set of fields, with additional fields specific to each event type.

<b>Common Fields</b>

<table><thead><tr><th>Field</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td><code>eventType</code></td><td>string</td><td>Identifies the type of event.</td></tr><tr><td><code>friendlyName</code></td><td>string</td><td>The human-readable name for the event.</td></tr><tr><td><code>eventId</code></td><td>string</td><td>Unique identifier for this event — use this to deduplicate events in downstream systems.</td></tr><tr><td><code>correlationId</code></td><td>string</td><td>Identifies all events belonging to the same integration execution tree.</td></tr><tr><td><code>startedAt</code></td><td>string (ISO 8601)</td><td>Time the event started.</td></tr><tr><td><code>completedAt</code></td><td>string (ISO 8601)</td><td>Time the event completed.</td></tr><tr><td><code>durationMillis</code></td><td>integer</td><td>Duration of the event in milliseconds.</td></tr><tr><td><code>status</code></td><td>string</td><td>COMPLETED or FAILED.</td></tr><tr><td><code>processWid</code></td><td>string</td><td>WID of the process in Process Monitor.</td></tr></tbody></table><br/>

<b>IntegrationProcess</b>

<table><thead><tr><th>Field</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td><code>integrationWid</code></td><td>string</td><td>Unique ID of the integration system.</td></tr><tr><td><code>triggerType</code></td><td>string</td><td>BulkRelaunch, Launched Programmatically, ManualRelaunch, Scheduled, BusinessProcessStep, ManualLaunch, WebServiceLaunch, BackgroundProcessResume, Subscription, JobDefinition, or Other.</td></tr></tbody></table><br/>

<b>IntegrationEvent</b>

No additional fields beyond the common fields above.

<b>StudioIntegration</b>

<table><thead><tr><th>Field</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td><code>collection</code></td><td>string</td><td>The name of the collection called.</td></tr><tr><td><code>assembly</code></td><td>string</td><td>The name of the assembly called.</td></tr><tr><td><code>startingPoint</code></td><td>string</td><td>The name of the starting point called.</td></tr></tbody></table><br/>

<b>PackagedIntegration</b>

<table><thead><tr><th>Field</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td><code>integrationName</code></td><td>string</td><td>The name of the integration template.</td></tr></tbody></table><br/>

<b>DataInitService</b>

<table><thead><tr><th>Field</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td><code>dataInitName</code></td><td>string</td><td>The name of the data initialisation service.</td></tr></tbody></table><br/>

<b>ReportRetrieval</b>

<table><thead><tr><th>Field</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td><code>reportName</code></td><td>string</td><td>The name of the report.</td></tr></tbody></table><br/>

<b>TransportSummary</b>

When an integration invokes a transport connector (example: HTTP, FTP, email) multiple times in a single run, Workday groups these invocations by their destination. Instead of publishing one event for each call, it publishes one summary event for the destination group. Calls to distinct destinations produce separate summaries. This reduces event volume for loops while keeping the full statistical picture. These summaries are emitted only when the integration run explicitly flushes or reaches an inactivity timeout.

Status is COMPLETED if every invocation in the group succeeded, or FAILED if any invocation failed. For HTTP-based transports, success is determined by the HTTP response code (2xx/3xx = success).

<b>CommonSummary</b>

These fields are present on every summary event type. They extend the common event fields (eventType, eventId, correlationId, processWid), which are omitted here.

<table><thead><tr><th>Field</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>startedAt</td><td>ISO-8601 string</td><td>Timestamp of the first invocation in this group.</td></tr><tr><td>completedAt</td><td>ISO-8601 string</td><td>Timestamp of the last invocation in this group.</td></tr><tr><td>durationMillis</td><td>long</td><td>Wall-clock time span from startedAt to completedAt.</td></tr><tr><td>status</td><td><ul><li>COMPLETED
</li><li>FAILED
</li></ul></td><td>COMPLETED if all invocations succeeded. FAILED if any failed.</td></tr><tr><td>friendlyName</td><td>string</td><td>Human-readable label including destination and call count. Example: GET https://api.example.com (42 calls).</td></tr><tr><td>invocationCount</td><td>long</td><td>Total number of invocations in this group.</td></tr><tr><td>completedCount</td><td>long</td><td>Number of invocations that succeeded.</td></tr><tr><td>failedCount</td><td>long</td><td>Number of invocations that failed.</td></tr><tr><td>totalDurationMillis</td><td>long</td><td>Sum of individual invocation durations.</td></tr><tr><td>minDurationMillis</td><td>long</td><td>Shortest individual invocation duration.</td></tr><tr><td>maxDurationMillis</td><td>long</td><td>Longest individual invocation duration.</td></tr></tbody></table><br/>

<b>HTTPOutSummary</b>

These fields relate to outbound HTTP calls to arbitrary external endpoints (not Workday APIs). The aggregation key is correlationId + method + protocol + hostname. Calls to the same host using the same method are merged regardless of path or query string. Status is derived from the HTTP response code: 2xx/3xx is a success, anything else is a failure.

<table><thead><tr><th>Field</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>method</td><td>string</td><td>HTTP method. Examples: GET, POST.</td></tr><tr><td>protocol</td><td>string</td><td>HTTP or HTTPS.</td></tr><tr><td>hostname</td><td>string</td><td>Target host. Example: api.company.com</td></tr><tr><td>totalRequestBytes</td><td>long</td><td>Sum of request payload sizes across all invocations.</td></tr><tr><td>totalResponseBytes</td><td>long</td><td>Sum of response payload sizes across all invocations.</td></tr><tr><td>totalRetries</td><td>int</td><td>Sum of retry attempts across all invocations.</td></tr><tr><td>responseCodeCounts</td><td>map</td><td>Frequency map of HTTP response codes. Example: {"200": 40, "500": 2}.</td></tr></tbody></table><br/>

<b>WorkdayOutRestSummary</b>

These fields apply to outbound REST calls made to Workday APIs using the Workday Out REST connector. The aggregation key is correlationId + method + path. Calls to the same API endpoint with the same method are merged. Status is derived from HTTP response code: 2xx/3xx is a success, anything else is a failure.

<table><thead><tr><th>Field</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>method</td><td>string</td><td>HTTP method. Examples: GET, POST.</td></tr><tr><td>path</td><td>string</td><td>HTTP or HTTPS.</td></tr><tr><td>totalRequestBytes</td><td>long</td><td>Sum of request payload sizes across all invocations.</td></tr><tr><td>totalResponseBytes</td><td>long</td><td>Sum of response payload sizes across all invocations.</td></tr><tr><td>totalRetries</td><td>int</td><td>Sum of retry attempts across all invocations.</td></tr><tr><td>responseCodeCounts</td><td>map</td><td>Frequency map of HTTP response codes. Example: {"200": 40, "500": 2}.</td></tr></tbody></table><br/>

<b>WorkdayOutSoapSummary</b>

These fields apply to outbound SOAP calls made to Workday APIs using the Workday Out connector. The aggregation key is correlationId + application + version. Calls to the same API endpoint with the same SOAP service version are merged. Status is derived from HTTP response code: 2xx/3xx is a success, anything else is a failure.

<table><thead><tr><th>Field</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>application</td><td>string</td><td>Workday service name. Example: Recruiting.</td></tr><tr><td>version</td><td>string</td><td>Service version. Example: v40.</td></tr><tr><td>totalRequestBytes</td><td>long</td><td>Sum of request payload sizes across all invocations.</td></tr><tr><td>totalResponseBytes</td><td>long</td><td>Sum of response payload sizes across all invocations.</td></tr><tr><td>totalRetries</td><td>int</td><td>Sum of retry attempts across all invocations.</td></tr><tr><td>responseCodeCounts</td><td>map</td><td>Frequency map of HTTP response codes. Example: {"200": 40, "500": 2}.</td></tr></tbody></table><br/>

<b>FTPOutSummary</b>

These fields apply to outbound FTP transfer operations. The aggregation key is correlationId + common + protocol + hostname. Transfers using the same command to the same server are merged. Different commands (examples: PUT, GET) to the same host produce separate summary events. Status is derived from the connector's success flag.

<table><thead><tr><th>Field</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>command</td><td>string</td><td>FTP command in uppercase. Examples: PUT, GET.</td></tr><tr><td>hostname</td><td>string</td><td>FTP server hostname.</td></tr><tr><td>protocol</td><td>string</td><td>Transfer protocol. Examples: FTP, FTPS, SFTP.</td></tr><tr><td>totalBytesTransferred</td><td>long</td><td>Sum of bytes transferred across all invocations.</td></tr></tbody></table><br/>

<b>EmailOutSummary</b>

These fields apply to email messages sent using the email connector. The aggregation key is correlationId + hostname (SMTP server address). All messages sent to the same SMTP server within a run are merged. Status is derived from the connector's success flag

<table><thead><tr><th>Field</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>hostname</td><td>string</td><td>SMTP server address.</td></tr><tr><td>total</td><td>long</td><td>Sum of message sizes in bytes across all invocations.</td></tr></tbody></table><br/>

