openapi: 3.1.0 info: title: Workday Studio Integration API description: >- API for building and deploying custom integrations using Workday Studio, an Eclipse-based IDE that provides a graphical development environment with drag-and-drop reusable components for creating sophisticated integrations with flow control, data transformation, error handling, and scripting. Enables programmatic management of integration systems, events, assemblies, and launch parameters within the Workday platform. version: v1 contact: name: Workday API Support email: api-support@workday.com url: https://community.workday.com license: name: Proprietary url: https://www.workday.com/en-us/legal/site-terms.html termsOfService: https://www.workday.com/en-us/legal.html externalDocs: description: Workday Studio Integration Documentation url: https://doc.workday.com/reader/wsiU0cnNjCc_k7shLNxLEA/HdIduH8HQGat1qdv1nXNVQ servers: - url: https://{baseUrl}/ccx/service/{tenant} description: Workday Integration Services Server variables: baseUrl: default: wd2-impl-services1.workday.com description: The Workday data center hostname tenant: default: tenant description: The Workday tenant name tags: - name: Integration Assemblies description: >- Manage Studio integration assemblies, which are the graphical representations of integration logic composed of configurable components. - name: Integration Events description: >- Monitor and retrieve integration execution events including run status, processing statistics, and error details. - name: Integration Systems description: >- Manage integration systems configured in the Workday tenant, including Studio-built integrations and core connector configurations. - name: Integration Templates description: >- Access available integration templates and core connectors that serve as starting points for building new integrations. - name: Launch Parameters description: >- Configure and retrieve launch parameters used to control integration execution behavior at runtime. security: - OAuth2: - r:integrations - w:integrations paths: /integrationSystems: get: operationId: listIntegrationSystems summary: Workday Studio List Integration Systems description: >- Returns a collection of integration systems configured in the tenant, including Studio-built integrations, core connectors, and document transformation integrations. Supports filtering by system name, type, and active status. tags: - Integration Systems parameters: - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' - $ref: '#/components/parameters/search' responses: '200': description: Successful response with integration systems content: application/json: schema: $ref: '#/components/schemas/IntegrationSystemsResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /integrationSystems/{ID}: get: operationId: getIntegrationSystem summary: Workday Studio Retrieve a Specific Integration System description: >- Returns the specified integration system with its full configuration details including template reference, launch parameters, schedule settings, and notification configuration. tags: - Integration Systems parameters: - $ref: '#/components/parameters/ID' responses: '200': description: Successful response with the integration system content: application/json: schema: $ref: '#/components/schemas/IntegrationSystem' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /integrationSystems/{ID}/launch: post: operationId: launchIntegration summary: Workday Studio Launch an Integration System description: >- Triggers execution of the specified integration system. Accepts optional launch parameters to control runtime behavior. Returns the newly created integration event representing the running integration instance. tags: - Integration Systems parameters: - $ref: '#/components/parameters/ID' requestBody: description: Optional launch parameters for the integration execution content: application/json: schema: $ref: '#/components/schemas/IntegrationLaunchRequest' responses: '201': description: Integration launched successfully content: application/json: schema: $ref: '#/components/schemas/IntegrationEvent' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /integrationEvents: get: operationId: listIntegrationEvents summary: Workday Studio List Integration Events description: >- Returns a collection of integration event records showing the status and details of integration runs. Includes information about start time, end time, records processed, and any errors encountered during execution. tags: - Integration Events parameters: - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' - name: status in: query description: Filter events by execution status schema: type: string enum: - Completed - Failed - In_Progress - Cancelled - name: fromDate in: query description: Filter events starting from this date schema: type: string format: date-time - name: toDate in: query description: Filter events up to this date schema: type: string format: date-time responses: '200': description: Successful response with integration events content: application/json: schema: $ref: '#/components/schemas/IntegrationEventsResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /integrationEvents/{ID}: get: operationId: getIntegrationEvent summary: Workday Studio Retrieve a Specific Integration Event description: >- Returns the specified integration event including run status, start time, end time, records processed, records failed, and any error messages generated during integration execution. tags: - Integration Events parameters: - $ref: '#/components/parameters/ID' responses: '200': description: Successful response with the integration event content: application/json: schema: $ref: '#/components/schemas/IntegrationEvent' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /integrationEvents/{ID}/logs: get: operationId: getIntegrationEventLogs summary: Workday Studio Retrieve Logs for an Integration Event description: >- Returns the execution logs for the specified integration event, including step-by-step processing details, warning messages, and error traces useful for debugging Studio integration assemblies. tags: - Integration Events parameters: - $ref: '#/components/parameters/ID' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' responses: '200': description: Successful response with integration event logs content: application/json: schema: $ref: '#/components/schemas/IntegrationLogsResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /integrationAssemblies: get: operationId: listIntegrationAssemblies summary: Workday Studio List Integration Assemblies description: >- Returns a collection of Studio integration assemblies deployed to the tenant. Assemblies are the graphical representations of integration logic composed of configurable components such as mediation steps, transformations, and connectors. tags: - Integration Assemblies parameters: - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' - $ref: '#/components/parameters/search' responses: '200': description: Successful response with integration assemblies content: application/json: schema: $ref: '#/components/schemas/IntegrationAssembliesResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /integrationAssemblies/{ID}: get: operationId: getIntegrationAssembly summary: Workday Studio Retrieve a Specific Integration Assembly description: >- Returns the specified integration assembly with its component configuration, mediation chain details, and transformation mappings. tags: - Integration Assemblies parameters: - $ref: '#/components/parameters/ID' responses: '200': description: Successful response with the integration assembly content: application/json: schema: $ref: '#/components/schemas/IntegrationAssembly' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /integrationTemplates: get: operationId: listIntegrationTemplates summary: Workday Studio List Integration Templates description: >- Returns a collection of available integration templates including core connectors and document transformation templates that can be used as starting points for building new Studio integrations. tags: - Integration Templates parameters: - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' - $ref: '#/components/parameters/search' responses: '200': description: Successful response with integration templates content: application/json: schema: $ref: '#/components/schemas/IntegrationTemplatesResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /integrationTemplates/{ID}: get: operationId: getIntegrationTemplate summary: Workday Studio Retrieve a Specific Integration Template description: >- Returns the specified integration template with its configuration schema, supported services, and parameter definitions. tags: - Integration Templates parameters: - $ref: '#/components/parameters/ID' responses: '200': description: Successful response with the integration template content: application/json: schema: $ref: '#/components/schemas/IntegrationTemplate' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /launchParameters: get: operationId: listLaunchParameters summary: Workday Studio List Available Launch Parameters description: >- Returns a collection of launch parameter definitions that can be configured for integration systems to control runtime behavior such as date ranges, file paths, and processing options. tags: - Launch Parameters parameters: - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' responses: '200': description: Successful response with launch parameters content: application/json: schema: $ref: '#/components/schemas/LaunchParametersResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' components: securitySchemes: OAuth2: type: oauth2 flows: authorizationCode: authorizationUrl: https://{baseUrl}/authorize tokenUrl: https://{baseUrl}/oauth2/{tenant}/token refreshUrl: https://{baseUrl}/oauth2/{tenant}/token scopes: r:integrations: Read integration data w:integrations: Write integration data parameters: ID: name: ID in: path required: true description: The Workday ID of the resource schema: type: string limit: name: limit in: query description: >- The maximum number of objects in a single response. Default is 20, maximum is 100. schema: type: integer default: 20 maximum: 100 offset: name: offset in: query description: The zero-based index of the first object in a response collection schema: type: integer default: 0 search: name: search in: query description: Search string used to filter results by name or descriptor schema: type: string responses: BadRequest: description: Invalid request parameters content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' Unauthorized: description: Authentication required content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' Forbidden: description: Insufficient permissions content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' NotFound: description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' schemas: ErrorResponse: type: object properties: error: type: string description: A high-level error message errors: type: array description: Detailed list of validation or processing errors items: type: object properties: error: type: string description: Error code or type field: type: string description: The field that caused the error message: type: string description: Human-readable error message ResourceReference: type: object description: A reference to a Workday resource with its identifier and display name properties: id: type: string description: The Workday ID of the referenced resource descriptor: type: string description: The display name of the referenced resource href: type: string format: uri description: The API URL to retrieve the full resource IntegrationSystem: type: object description: >- An integration system configured in the Workday tenant, representing a deployed Studio integration or core connector configuration. properties: id: type: string description: The unique Workday identifier for the integration system descriptor: type: string description: The display name of the integration system integrationSystemName: type: string description: The configured name of the integration system template: $ref: '#/components/schemas/ResourceReference' integrationServiceProvider: $ref: '#/components/schemas/ResourceReference' isActive: type: boolean description: Whether the integration system is currently active lastRunDateTime: type: string format: date-time description: The date and time of the last successful execution scheduleFrequency: type: string description: The configured schedule frequency for automatic execution notificationRecipients: type: array description: Users or groups who receive notifications about integration events items: $ref: '#/components/schemas/ResourceReference' IntegrationSystemsResponse: type: object properties: total: type: integer description: Total number of integration systems matching the query data: type: array items: $ref: '#/components/schemas/IntegrationSystem' IntegrationEvent: type: object description: >- A record of an integration execution, tracking the run status, timing, and processing statistics of an integration system run. properties: id: type: string description: The unique Workday identifier for the integration event descriptor: type: string description: The display name of the integration event integrationSystem: $ref: '#/components/schemas/ResourceReference' status: type: string enum: - Completed - Failed - In_Progress - Cancelled description: The execution status of the integration startDateTime: type: string format: date-time description: The date and time the integration started endDateTime: type: - string - 'null' format: date-time description: The date and time the integration completed recordsProcessed: type: integer description: The number of records successfully processed recordsFailed: type: integer description: The number of records that failed processing initiatedBy: $ref: '#/components/schemas/ResourceReference' errorMessage: type: string description: Summary error message if the integration failed IntegrationEventsResponse: type: object properties: total: type: integer description: Total number of integration events matching the query data: type: array items: $ref: '#/components/schemas/IntegrationEvent' IntegrationLogEntry: type: object description: A single log entry from an integration execution properties: timestamp: type: string format: date-time description: The time the log entry was created severity: type: string enum: - INFO - WARNING - ERROR description: The severity level of the log entry message: type: string description: The log message text componentName: type: string description: The name of the assembly component that generated the log entry IntegrationLogsResponse: type: object properties: total: type: integer description: Total number of log entries for the integration event data: type: array items: $ref: '#/components/schemas/IntegrationLogEntry' IntegrationAssembly: type: object description: >- A Studio integration assembly representing the graphical integration logic composed of configurable components, mediation chains, and transformation mappings. properties: id: type: string description: The unique Workday identifier for the assembly descriptor: type: string description: The display name of the assembly assemblyName: type: string description: The configured name of the assembly version: type: string description: The version of the assembly integrationSystem: $ref: '#/components/schemas/ResourceReference' deployedDateTime: type: string format: date-time description: The date and time the assembly was last deployed components: type: array description: The list of components configured in the assembly items: $ref: '#/components/schemas/AssemblyComponent' IntegrationAssembliesResponse: type: object properties: total: type: integer description: Total number of assemblies matching the query data: type: array items: $ref: '#/components/schemas/IntegrationAssembly' AssemblyComponent: type: object description: >- A configurable component within a Studio assembly, such as a mediation step, XSLT transformation, connector, or flow control element. properties: id: type: string description: The unique identifier of the component within the assembly componentType: type: string description: The type of assembly component enum: - Mediation - Transformation - Connector - FlowControl - ErrorHandler - Script - Variable name: type: string description: The configured name of the component description: type: string description: A description of the component purpose IntegrationTemplate: type: object description: >- An integration template providing a starting point for building new integrations, including core connectors and document transformation templates. properties: id: type: string description: The unique Workday identifier for the template descriptor: type: string description: The display name of the template templateName: type: string description: The configured name of the template category: type: string description: The category of the template enum: - Core_Connector - Document_Transformation - Studio - Cloud_Connect supportedServices: type: array description: The Workday services supported by this template items: $ref: '#/components/schemas/ResourceReference' IntegrationTemplatesResponse: type: object properties: total: type: integer description: Total number of templates matching the query data: type: array items: $ref: '#/components/schemas/IntegrationTemplate' IntegrationLaunchRequest: type: object description: Request body for launching an integration system properties: launchParameters: type: array description: Key-value pairs of launch parameters for the integration run items: type: object properties: name: type: string description: The name of the launch parameter value: type: string description: The value to set for the launch parameter LaunchParameter: type: object description: A launch parameter definition that controls integration runtime behavior properties: id: type: string description: The unique Workday identifier for the launch parameter descriptor: type: string description: The display name of the launch parameter parameterName: type: string description: The configured name of the parameter dataType: type: string description: The data type of the parameter value enum: - Text - Date - DateTime - Boolean - Integer - Decimal defaultValue: type: string description: The default value for the parameter isRequired: type: boolean description: Whether the parameter is required at launch time LaunchParametersResponse: type: object properties: total: type: integer description: Total number of launch parameters matching the query data: type: array items: $ref: '#/components/schemas/LaunchParameter'