openapi: 3.1.0 info: title: Workday Prism Analytics API description: >- Prism Analytics REST API for working with Workday Prism Analytics tables, data change tasks, and datasets. Enables programmatic creation and management of analytics data. version: v3 contact: name: Workday Support email: support@workday.com url: https://www.workday.com/en-us/customer-service/support.html license: name: Proprietary url: https://www.workday.com/en-us/legal.html servers: - url: https://wd2-impl-services1.workday.com/ccx/api/prismAnalytics/v3/{tenant} description: Workday REST API Server variables: tenant: default: tenant_name description: The Workday tenant identifier security: - OAuth2: - r_prism - w_prism paths: /datasets: get: operationId: getDatasets summary: Get Datasets description: Returns a collection of Prism Analytics datasets. tags: - Datasets parameters: - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' - name: name in: query description: Filter datasets by name. schema: type: string example: Example Title responses: '200': description: Successful response containing datasets. content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Dataset' total: type: integer examples: Getdatasets200Example: summary: Default getDatasets 200 response x-microcks-default: true value: data: - id: abc123 descriptor: example_value name: Example Title displayName: example_value description: A sample description. tags: - {} fields: - {} rowCount: 10 createdOn: '2026-01-15T10:30:00Z' updatedOn: '2026-01-15T10:30:00Z' total: 10 '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createDataset summary: Create Dataset description: Creates a new Prism Analytics dataset with a specified schema. tags: - Datasets requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/DatasetCreateRequest' examples: CreatedatasetRequestExample: summary: Default createDataset request x-microcks-default: true value: name: Example Title displayName: example_value description: A sample description. fields: - name: Example Title displayName: example_value ordinal: 10 type: {} required: true externalId: '500123' tags: - example_value responses: '201': description: Dataset created successfully. content: application/json: schema: $ref: '#/components/schemas/Dataset' examples: Createdataset201Example: summary: Default createDataset 201 response x-microcks-default: true value: id: abc123 descriptor: example_value name: Example Title displayName: example_value description: A sample description. tags: - example_value fields: - name: Example Title displayName: example_value ordinal: 10 type: {} required: true externalId: '500123' rowCount: 10 createdOn: '2026-01-15T10:30:00Z' updatedOn: '2026-01-15T10:30:00Z' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /datasets/{ID}: get: operationId: getDatasetById summary: Get Dataset by Id description: Returns detailed information for a specific dataset. tags: - Datasets parameters: - $ref: '#/components/parameters/ID' responses: '200': description: Successful response containing dataset details. content: application/json: schema: $ref: '#/components/schemas/Dataset' examples: Getdatasetbyid200Example: summary: Default getDatasetById 200 response x-microcks-default: true value: id: abc123 descriptor: example_value name: Example Title displayName: example_value description: A sample description. tags: - example_value fields: - name: Example Title displayName: example_value ordinal: 10 type: {} required: true externalId: '500123' rowCount: 10 createdOn: '2026-01-15T10:30:00Z' updatedOn: '2026-01-15T10:30:00Z' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK put: operationId: updateDataset summary: Update Dataset description: Updates a dataset schema or metadata. tags: - Datasets parameters: - $ref: '#/components/parameters/ID' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/DatasetUpdateRequest' examples: UpdatedatasetRequestExample: summary: Default updateDataset request x-microcks-default: true value: displayName: example_value description: A sample description. fields: - name: Example Title displayName: example_value ordinal: 10 type: {} required: true externalId: '500123' tags: - example_value responses: '200': description: Dataset updated successfully. content: application/json: schema: $ref: '#/components/schemas/Dataset' examples: Updatedataset200Example: summary: Default updateDataset 200 response x-microcks-default: true value: id: abc123 descriptor: example_value name: Example Title displayName: example_value description: A sample description. tags: - example_value fields: - name: Example Title displayName: example_value ordinal: 10 type: {} required: true externalId: '500123' rowCount: 10 createdOn: '2026-01-15T10:30:00Z' updatedOn: '2026-01-15T10:30:00Z' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: deleteDataset summary: Delete Dataset description: Deletes a dataset. tags: - Datasets parameters: - $ref: '#/components/parameters/ID' responses: '204': description: Dataset deleted successfully. '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /dataChangeTasks: get: operationId: getDataChangeTasks summary: Get Data Change Tasks description: Returns a collection of data change tasks. tags: - Data Change Tasks parameters: - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' responses: '200': description: Successful response containing data change tasks. content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/DataChangeTask' total: type: integer examples: Getdatachangetasks200Example: summary: Default getDataChangeTasks 200 response x-microcks-default: true value: data: - id: abc123 descriptor: example_value name: Example Title status: id: abc123 descriptor: example_value operation: id: abc123 descriptor: example_value createdOn: '2026-01-15T10:30:00Z' completedOn: '2026-01-15T10:30:00Z' total: 10 '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createDataChangeTask summary: Create Data Change Task description: >- Creates a new data change task to load data into a dataset. The task must be completed with file upload and activation steps. tags: - Data Change Tasks requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/DataChangeTaskCreateRequest' examples: CreatedatachangetaskRequestExample: summary: Default createDataChangeTask request x-microcks-default: true value: name: Example Title targetDataset: id: abc123 descriptor: example_value href: https://www.example.com operation: id: abc123 fileContainer: id: abc123 descriptor: example_value href: https://www.example.com responses: '201': description: Data change task created successfully. content: application/json: schema: $ref: '#/components/schemas/DataChangeTask' examples: Createdatachangetask201Example: summary: Default createDataChangeTask 201 response x-microcks-default: true value: id: abc123 descriptor: example_value name: Example Title targetDataset: id: abc123 descriptor: example_value href: https://www.example.com status: id: abc123 descriptor: example_value operation: id: abc123 descriptor: example_value fileContainer: id: abc123 descriptor: example_value href: https://www.example.com createdOn: '2026-01-15T10:30:00Z' completedOn: '2026-01-15T10:30:00Z' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /dataChangeTasks/{ID}: get: operationId: getDataChangeTaskById summary: Get Data Change Task by Id description: Returns detailed information for a specific data change task. tags: - Data Change Tasks parameters: - $ref: '#/components/parameters/ID' responses: '200': description: Successful response containing data change task details. content: application/json: schema: $ref: '#/components/schemas/DataChangeTask' examples: Getdatachangetaskbyid200Example: summary: Default getDataChangeTaskById 200 response x-microcks-default: true value: id: abc123 descriptor: example_value name: Example Title targetDataset: id: abc123 descriptor: example_value href: https://www.example.com status: id: abc123 descriptor: example_value operation: id: abc123 descriptor: example_value fileContainer: id: abc123 descriptor: example_value href: https://www.example.com createdOn: '2026-01-15T10:30:00Z' completedOn: '2026-01-15T10:30:00Z' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /dataChangeTasks/{ID}/activities: get: operationId: getDataChangeTaskActivities summary: Get Data Change Task Activities description: Returns activities for a specific data change task. tags: - Data Change Tasks parameters: - $ref: '#/components/parameters/ID' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' responses: '200': description: Successful response containing task activities. content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/DataChangeTaskActivity' total: type: integer examples: Getdatachangetaskactivities200Example: summary: Default getDataChangeTaskActivities 200 response x-microcks-default: true value: data: - id: abc123 descriptor: example_value activityType: example_value status: example_value startedOn: '2026-01-15T10:30:00Z' completedOn: '2026-01-15T10:30:00Z' rowsProcessed: 10 rowsFailed: 10 total: 10 '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /fileContainers: post: operationId: createFileContainer summary: Create File Container description: Creates a file container for uploading data files for a data change task. tags: - File Containers requestBody: required: true content: application/octet-stream: schema: type: string format: binary examples: CreatefilecontainerRequestExample: summary: Default createFileContainer request x-microcks-default: true value: example_value responses: '201': description: File container created successfully. content: application/json: schema: $ref: '#/components/schemas/FileContainer' examples: Createfilecontainer201Example: summary: Default createFileContainer 201 response x-microcks-default: true value: id: abc123 descriptor: example_value expirationTime: '2026-01-15T10:30:00Z' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /fileContainers/{ID}: get: operationId: getFileContainerById summary: Get File Container by Id description: Returns details of a file container. tags: - File Containers parameters: - $ref: '#/components/parameters/ID' responses: '200': description: Successful response containing file container details. content: application/json: schema: $ref: '#/components/schemas/FileContainer' examples: Getfilecontainerbyid200Example: summary: Default getFileContainerById 200 response x-microcks-default: true value: id: abc123 descriptor: example_value expirationTime: '2026-01-15T10:30:00Z' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /tables: get: operationId: getTables summary: Get Tables description: Returns a collection of Prism Analytics tables. tags: - Tables parameters: - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' - name: name in: query description: Filter tables by name. schema: type: string example: Example Title responses: '200': description: Successful response containing tables. content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Table' total: type: integer examples: Gettables200Example: summary: Default getTables 200 response x-microcks-default: true value: data: - id: abc123 descriptor: example_value name: Example Title displayName: example_value description: A sample description. fields: - {} isAccessible: true documentCount: 10 total: 10 '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /tables/{ID}: get: operationId: getTableById summary: Get Table by Id description: Returns detailed information for a specific table. tags: - Tables parameters: - $ref: '#/components/parameters/ID' responses: '200': description: Successful response containing table details. content: application/json: schema: $ref: '#/components/schemas/Table' examples: Gettablebyid200Example: summary: Default getTableById 200 response x-microcks-default: true value: id: abc123 descriptor: example_value name: Example Title displayName: example_value description: A sample description. fields: - name: Example Title displayName: example_value ordinal: 10 type: {} required: true externalId: '500123' isAccessible: true documentCount: 10 '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK components: securitySchemes: OAuth2: type: oauth2 flows: authorizationCode: authorizationUrl: https://wd2-impl-services1.workday.com/ccx/oauth2/{tenant}/authorize tokenUrl: https://wd2-impl-services1.workday.com/ccx/oauth2/{tenant}/token scopes: r_prism: Read Prism Analytics data w_prism: Write Prism Analytics data parameters: ID: name: ID in: path required: true description: The Workday ID of the resource. schema: type: string limit: name: limit in: query required: false description: The maximum number of objects in a single response. schema: type: integer default: 20 maximum: 100 offset: name: offset in: query required: false description: The zero-based index of the first object in a response collection. schema: type: integer default: 0 schemas: Dataset: type: object properties: id: type: string description: The Workday ID of the dataset. example: abc123 descriptor: type: string example: example_value name: type: string description: The name of the dataset. example: Example Title displayName: type: string description: The display name of the dataset. example: example_value description: type: string example: A sample description. tags: type: array items: type: string example: [] fields: type: array items: $ref: '#/components/schemas/DatasetField' example: [] rowCount: type: integer description: The number of rows in the dataset. example: 10 createdOn: type: string format: date-time example: '2026-01-15T10:30:00Z' updatedOn: type: string format: date-time example: '2026-01-15T10:30:00Z' DatasetField: type: object properties: name: type: string description: The field name. example: Example Title displayName: type: string description: The display name of the field. example: example_value ordinal: type: integer description: The ordinal position of the field. example: 10 type: type: object properties: id: type: string descriptor: type: string description: The data type of the field. example: example_value required: type: boolean example: true externalId: type: string example: '500123' DatasetCreateRequest: type: object properties: name: type: string description: The name for the new dataset. example: Example Title displayName: type: string description: The display name for the dataset. example: example_value description: type: string example: A sample description. fields: type: array items: $ref: '#/components/schemas/DatasetField' example: [] tags: type: array items: type: string example: [] required: - name - fields DatasetUpdateRequest: type: object properties: displayName: type: string example: example_value description: type: string example: A sample description. fields: type: array items: $ref: '#/components/schemas/DatasetField' example: [] tags: type: array items: type: string example: [] DataChangeTask: type: object properties: id: type: string description: The Workday ID of the data change task. example: abc123 descriptor: type: string example: example_value name: type: string example: Example Title targetDataset: $ref: '#/components/schemas/ResourceReference' status: type: object properties: id: type: string descriptor: type: string description: The status of the task (e.g., New, Processing, Complete, Error). example: example_value operation: type: object properties: id: type: string descriptor: type: string description: The operation type (e.g., FullReplace, Append). example: example_value fileContainer: $ref: '#/components/schemas/ResourceReference' createdOn: type: string format: date-time example: '2026-01-15T10:30:00Z' completedOn: type: string format: date-time example: '2026-01-15T10:30:00Z' DataChangeTaskCreateRequest: type: object properties: name: type: string description: The name for the data change task. example: Example Title targetDataset: $ref: '#/components/schemas/ResourceReference' operation: type: object properties: id: type: string description: The operation type identifier (FullReplace or Append). example: example_value fileContainer: $ref: '#/components/schemas/ResourceReference' required: - name - targetDataset - operation DataChangeTaskActivity: type: object properties: id: type: string example: abc123 descriptor: type: string example: example_value activityType: type: string example: example_value status: type: string example: example_value startedOn: type: string format: date-time example: '2026-01-15T10:30:00Z' completedOn: type: string format: date-time example: '2026-01-15T10:30:00Z' rowsProcessed: type: integer example: 10 rowsFailed: type: integer example: 10 FileContainer: type: object properties: id: type: string description: The Workday ID of the file container. example: abc123 descriptor: type: string example: example_value expirationTime: type: string format: date-time example: '2026-01-15T10:30:00Z' Table: type: object properties: id: type: string description: The Workday ID of the table. example: abc123 descriptor: type: string example: example_value name: type: string description: The name of the table. example: Example Title displayName: type: string example: example_value description: type: string example: A sample description. fields: type: array items: $ref: '#/components/schemas/DatasetField' example: [] isAccessible: type: boolean example: true documentCount: type: integer example: 10 ResourceReference: type: object properties: id: type: string example: abc123 descriptor: type: string example: example_value href: type: string format: uri example: https://www.example.com ErrorResponse: type: object properties: error: type: string example: example_value errors: type: array items: type: object properties: error: type: string field: type: string example: [] responses: BadRequest: description: The request was invalid or malformed. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' Unauthorized: description: Authentication credentials were missing or invalid. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' NotFound: description: The requested resource was not found. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' tags: - name: Datasets description: Endpoints for managing Prism Analytics datasets. - name: Data Change Tasks description: Endpoints for managing data loading tasks. - name: File Containers description: Endpoints for file upload containers. - name: Tables description: Endpoints for managing Prism Analytics tables.