Workday Integrations Datasets API

Manage Prism Analytics dataset definitions

OpenAPI Specification

workday-integrations-datasets-api-openapi.yml Raw ↑
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