openapi: 3.1.0 info: title: Workday Integrations Workday Prism Analytics Benefits Datasets API description: API for managing external data in Workday Prism Analytics. Enables creation of datasets, uploading of external data files, and management of data tables for advanced reporting and analytics within Workday. Supports loading CSV and Parquet data into Prism for blending with native Workday data sources. version: v2 contact: name: Workday Support email: support@workday.com url: https://www.workday.com/en-us/customer-experience/support.html termsOfService: https://www.workday.com/en-us/legal.html servers: - url: https://wd2-impl-services1.workday.com/ccx/api/prismAnalytics/v2/{tenant} description: Workday Prism Analytics Endpoint variables: tenant: default: mycompany description: Workday tenant name security: - bearerAuth: [] tags: - name: Datasets description: Manage Prism Analytics dataset definitions paths: /datasets: get: operationId: listDatasets summary: Workday Integrations List datasets description: Retrieve a collection of Prism Analytics datasets available in the tenant. Includes both active and draft datasets. tags: - Datasets parameters: - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' - name: name in: query description: Filter datasets by name schema: type: string responses: '200': description: Collection of datasets returned successfully content: application/json: schema: type: object properties: total: type: integer description: Total number of datasets data: type: array items: $ref: '#/components/schemas/Dataset' '401': $ref: '#/components/responses/Unauthorized' post: operationId: createDataset summary: Workday Integrations Create a dataset description: Create a new Prism Analytics dataset with a defined schema. The dataset is created in draft status and must have data uploaded before it can be published. tags: - Datasets requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateDatasetRequest' responses: '201': description: Dataset created successfully content: application/json: schema: $ref: '#/components/schemas/Dataset' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' /datasets/{datasetId}: get: operationId: getDataset summary: Workday Integrations Get a dataset description: Retrieve details of a specific Prism Analytics dataset by ID, including its schema, status, and row count. tags: - Datasets parameters: - $ref: '#/components/parameters/datasetId' responses: '200': description: Dataset details returned successfully content: application/json: schema: $ref: '#/components/schemas/Dataset' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' put: operationId: updateDataset summary: Workday Integrations Update a dataset description: Update the schema or metadata of an existing dataset. Only draft datasets can be modified. tags: - Datasets parameters: - $ref: '#/components/parameters/datasetId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateDatasetRequest' responses: '200': description: Dataset updated successfully content: application/json: schema: $ref: '#/components/schemas/Dataset' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' delete: operationId: deleteDataset summary: Workday Integrations Delete a dataset description: Delete a Prism Analytics dataset and all associated data. tags: - Datasets parameters: - $ref: '#/components/parameters/datasetId' responses: '204': description: Dataset deleted successfully '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /datasets/{datasetId}/publish: post: operationId: publishDataset summary: Workday Integrations Publish a dataset description: Publish a dataset after data has been uploaded. This makes the data available for use in Prism Analytics reports and dashboards. Publishing replaces any previously published data. tags: - Datasets parameters: - $ref: '#/components/parameters/datasetId' responses: '200': description: Dataset published successfully content: application/json: schema: $ref: '#/components/schemas/Dataset' '400': description: Dataset has no uploaded data to publish content: application/json: schema: $ref: '#/components/schemas/Error' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' components: parameters: offset: name: offset in: query description: Number of results to skip for pagination schema: type: integer minimum: 0 default: 0 datasetId: name: datasetId in: path required: true description: Workday ID of the Prism Analytics dataset schema: type: string limit: name: limit in: query description: Maximum number of results to return per page schema: type: integer minimum: 1 maximum: 100 default: 20 schemas: Error: type: object properties: error: type: string description: Error code message: type: string description: Human-readable error message details: type: array items: type: object properties: field: type: string message: type: string CreateDatasetRequest: type: object required: - name - schema properties: name: type: string description: Name for the dataset minLength: 1 maxLength: 255 description: type: string description: Description of the dataset schema: type: array description: Field definitions for the dataset schema minItems: 1 items: $ref: '#/components/schemas/FieldDefinition' Dataset: type: object properties: id: type: string description: Workday ID of the dataset name: type: string description: Name of the dataset description: type: string description: Description of the dataset status: type: string enum: - Draft - Published - Publishing - Failed description: Current status of the dataset rowCount: type: integer description: Number of rows in the published dataset createdDate: type: string format: date-time description: When the dataset was created modifiedDate: type: string format: date-time description: When the dataset was last modified publishedDate: type: string format: date-time description: When the dataset was last published schema: type: array description: Field definitions for the dataset items: $ref: '#/components/schemas/FieldDefinition' FieldDefinition: type: object required: - name - type properties: name: type: string description: Field name description: type: string description: Field description type: type: string enum: - Text - Numeric - Date - Boolean - Currency description: Data type of the field precision: type: integer description: Decimal precision for numeric fields isRequired: type: boolean description: Whether the field is required default: false responses: Unauthorized: description: Authentication credentials missing or invalid content: application/json: schema: $ref: '#/components/schemas/Error' BadRequest: description: Invalid request parameters content: application/json: schema: $ref: '#/components/schemas/Error' NotFound: description: Requested resource not found content: application/json: schema: $ref: '#/components/schemas/Error' securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT description: OAuth 2.0 bearer token obtained via Workday authentication for Prism Analytics API access. externalDocs: description: Workday Prism Analytics API Documentation url: https://doc.workday.com/admin-guide/en-us/workday-prism-analytics/workday-prism-analytics-api.html