Workday Prism Analytics API
Prism Analytics REST API for working with Workday Prism Analytics tables, data change tasks, and datasets. Enables programmatic creation and management of analytics data.
Prism Analytics REST API for working with Workday Prism Analytics tables, data change tasks, and datasets. Enables programmatic creation and management of analytics data.
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: [email protected]
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.