Workday Prism Analytics API
REST API for working with Workday Prism Analytics tables, data change tasks, and datasets. Enables programmatic creation of Prism Analytics tables and datasets and modification of data within them.
REST API for working with Workday Prism Analytics tables, data change tasks, and datasets. Enables programmatic creation of Prism Analytics tables and datasets and modification of data within them.
openapi: 3.1.0
info:
title: Workday Integration Workday Prism Analytics API
description: >-
REST API for working with Workday Prism Analytics tables, data change tasks,
and datasets. Enables programmatic creation of Prism Analytics tables and
datasets and modification of data within them.
version: v3
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
servers:
- url: https://{baseUrl}/ccx/api/prismAnalytics/v3/{tenant}
description: Workday Prism Analytics REST API server
variables:
baseUrl:
default: wd2-impl-services1.workday.com
tenant:
default: tenant
security:
- OAuth2:
- r:prismAnalytics
- w:prismAnalytics
paths:
/tables:
get:
operationId: getTables
summary: Workday Integration Retrieve Prism Analytics tables
description: >-
Returns a collection of Prism Analytics tables in the tenant.
tags:
- Tables
parameters:
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/search'
responses:
'200':
description: Successful response with tables
content:
application/json:
schema:
$ref: '#/components/schemas/TablesResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
post:
operationId: createTable
summary: Workday Integration Create a Prism Analytics table
description: >-
Creates a new Prism Analytics table with the specified schema.
tags:
- Tables
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TableRequest'
responses:
'201':
description: Table created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Table'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
/tables/{ID}:
get:
operationId: getTableById
summary: Workday Integration Retrieve a specific Prism Analytics table
description: >-
Returns the specified Prism Analytics table with its schema definition.
tags:
- Tables
parameters:
- $ref: '#/components/parameters/ID'
responses:
'200':
description: Successful response with the table
content:
application/json:
schema:
$ref: '#/components/schemas/Table'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
put:
operationId: updateTable
summary: Workday Integration Update a Prism Analytics table
description: >-
Updates the specified Prism Analytics table schema.
tags:
- Tables
parameters:
- $ref: '#/components/parameters/ID'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TableRequest'
responses:
'200':
description: Table updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Table'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
delete:
operationId: deleteTable
summary: Workday Integration Delete a Prism Analytics table
description: >-
Deletes the specified Prism Analytics table and its data.
tags:
- Tables
parameters:
- $ref: '#/components/parameters/ID'
responses:
'204':
description: Table deleted successfully
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/dataChangeTasks:
get:
operationId: getDataChangeTasks
summary: Workday Integration Retrieve data change tasks
description: >-
Returns a collection of data change tasks for Prism Analytics tables.
tags:
- Data Change Tasks
parameters:
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
responses:
'200':
description: Successful response with data change tasks
content:
application/json:
schema:
$ref: '#/components/schemas/DataChangeTasksResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
post:
operationId: createDataChangeTask
summary: Workday Integration Create a data change task
description: >-
Creates a new data change task to load data into a Prism Analytics table.
tags:
- Data Change Tasks
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DataChangeTaskRequest'
responses:
'201':
description: Data change task created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/DataChangeTask'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
/dataChangeTasks/{ID}:
get:
operationId: getDataChangeTaskById
summary: Workday Integration Retrieve a specific data change task
description: >-
Returns the specified data change task with its status and details.
tags:
- Data Change Tasks
parameters:
- $ref: '#/components/parameters/ID'
responses:
'200':
description: Successful response with the data change task
content:
application/json:
schema:
$ref: '#/components/schemas/DataChangeTask'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/fileContainers:
post:
operationId: createFileContainer
summary: Workday Integration Create a file container for data upload
description: >-
Creates a file container for uploading data files to be processed
by a data change task.
tags:
- File Containers
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/FileContainerRequest'
responses:
'201':
description: File container created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/FileContainer'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
/fileContainers/{ID}:
get:
operationId: getFileContainerById
summary: Workday Integration Retrieve a specific file container
description: >-
Returns the specified file container with its upload status.
tags:
- File Containers
parameters:
- $ref: '#/components/parameters/ID'
responses:
'200':
description: Successful response with the file container
content:
application/json:
schema:
$ref: '#/components/schemas/FileContainer'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/wql:
post:
operationId: executeWQL
summary: Workday Integration Execute a WQL query
description: >-
Executes a Workday Query Language (WQL) query against Prism Analytics
data and returns the results.
tags:
- WQL
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/WQLRequest'
responses:
'200':
description: Successful WQL query response
content:
application/json:
schema:
$ref: '#/components/schemas/WQLResponse'
'400':
$ref: '#/components/responses/BadRequest'
'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
scopes:
r:prismAnalytics: Read Prism Analytics data
w:prismAnalytics: Write Prism Analytics data
parameters:
ID:
name: ID
in: path
required: true
schema:
type: string
limit:
name: limit
in: query
schema:
type: integer
default: 20
maximum: 100
offset:
name: offset
in: query
schema:
type: integer
default: 0
search:
name: search
in: query
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
ResourceReference:
type: object
properties:
id:
type: string
descriptor:
type: string
href:
type: string
format: uri
Table:
type: object
properties:
id:
type: string
descriptor:
type: string
displayName:
type: string
enableForAnalysis:
type: boolean
fields:
type: array
items:
type: object
properties:
name:
type: string
description:
type: string
ordinal:
type: integer
type:
type: object
properties:
id:
type: string
descriptor:
type: string
parseFormat:
type: string
precision:
type: integer
scale:
type: integer
TablesResponse:
type: object
properties:
total:
type: integer
data:
type: array
items:
$ref: '#/components/schemas/Table'
TableRequest:
type: object
required:
- displayName
- fields
properties:
displayName:
type: string
enableForAnalysis:
type: boolean
fields:
type: array
items:
type: object
required:
- name
- type
properties:
name:
type: string
description:
type: string
ordinal:
type: integer
type:
$ref: '#/components/schemas/ResourceReference'
DataChangeTask:
type: object
properties:
id:
type: string
descriptor:
type: string
targetTable:
$ref: '#/components/schemas/ResourceReference'
status:
type: string
enum:
- Processing
- Completed
- Failed
operation:
type: string
enum:
- TruncateAndInsert
- Insert
- Update
- Upsert
- Delete
createdDateTime:
type: string
format: date-time
DataChangeTasksResponse:
type: object
properties:
total:
type: integer
data:
type: array
items:
$ref: '#/components/schemas/DataChangeTask'
DataChangeTaskRequest:
type: object
required:
- targetTable
- operation
properties:
targetTable:
$ref: '#/components/schemas/ResourceReference'
operation:
type: string
enum:
- TruncateAndInsert
- Insert
- Update
- Upsert
- Delete
fileContainer:
$ref: '#/components/schemas/ResourceReference'
FileContainer:
type: object
properties:
id:
type: string
descriptor:
type: string
status:
type: string
FileContainerRequest:
type: object
properties:
name:
type: string
WQLRequest:
type: object
required:
- query
properties:
query:
type: string
description: The WQL query string to execute
WQLResponse:
type: object
properties:
total:
type: integer
data:
type: array
items:
type: object
additionalProperties: true
tags:
- name: Data Change Tasks
- name: File Containers
- name: Tables
- name: WQL