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.

OpenAPI Specification

prismAnalytics.yml Raw ↑
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.