Workday Report Writer Tables API

Create and manage Prism Analytics tables that define the schema for external data loaded into Workday for reporting and analytics

OpenAPI Specification

workday-report-writer-tables-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Workday Report Writer Workday Prism Analytics Buckets Tables API
  description: REST API for working with Workday Prism Analytics tables, datasets, and data change tasks. Enables programmatic loading of external data into Prism Analytics for advanced reporting and analytics that combines internal Workday data with external sources. Supports creating tables with schema definitions, uploading compressed data files via buckets, and executing data change tasks to apply inserts, updates, upserts, and deletes.
  version: v3
  contact:
    name: Workday Support
    url: https://www.workday.com/en-us/company/contact-us.html
  termsOfService: https://www.workday.com/en-us/legal.html
servers:
- url: https://{hostname}/api/prismAnalytics/v3/{tenant}
  description: Workday Prism Analytics Production
  variables:
    hostname:
      description: Workday data center hostname, varies by tenant deployment
      default: wd2-impl-services1.workday.com
    tenant:
      description: Workday tenant name
      default: your-tenant
security:
- bearerAuth: []
tags:
- name: Tables
  description: Create and manage Prism Analytics tables that define the schema for external data loaded into Workday for reporting and analytics
paths:
  /tables:
    get:
      operationId: listTables
      summary: Workday Report Writer List Prism Analytics Tables
      description: Retrieve a collection of Prism Analytics tables available in the tenant. Tables define the schema for external data loaded into Workday.
      tags:
      - Tables
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/offset'
      - name: name
        in: query
        description: Filter tables by name
        schema:
          type: string
      responses:
        '200':
          description: Tables retrieved successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  total:
                    type: integer
                    description: Total number of tables
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Table'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createTable
      summary: Workday Report Writer Create a Prism Analytics Table
      description: Create a new Prism Analytics table with a defined schema. The table schema specifies the fields, data types, and constraints for the external data that will be loaded.
      tags:
      - Tables
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TableCreateRequest'
      responses:
        '201':
          description: Table created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Table'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /tables/{tableId}:
    get:
      operationId: getTable
      summary: Workday Report Writer Get a Prism Analytics Table
      description: Retrieve details of a specific Prism Analytics table including its schema definition, field mappings, and current state.
      tags:
      - Tables
      parameters:
      - $ref: '#/components/parameters/tableId'
      responses:
        '200':
          description: Table details retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Table'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    patch:
      operationId: updateTable
      summary: Workday Report Writer Update a Prism Analytics Table
      description: Update the display name or description of an existing Prism Analytics table. Schema changes require creating a new table version.
      tags:
      - Tables
      parameters:
      - $ref: '#/components/parameters/tableId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TableUpdateRequest'
      responses:
        '200':
          description: Table updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Table'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    TableUpdateRequest:
      type: object
      description: Request body for updating a Prism Analytics table
      properties:
        displayName:
          type: string
          description: Updated display name
        description:
          type: string
          description: Updated description
    TableField:
      type: object
      description: A field definition within a Prism Analytics table schema
      properties:
        name:
          type: string
          description: Field name used in data files and queries
        displayName:
          type: string
          description: Display name shown in the Prism Analytics UI
        fieldId:
          type: string
          description: Unique identifier of the field
        ordinal:
          type: integer
          description: Position index of the field in the schema
        type:
          $ref: '#/components/schemas/FieldType'
        required:
          type: boolean
          description: Whether the field is required for data loading
        externalId:
          type: boolean
          description: Whether this field serves as a unique identifier for upsert and delete operations
        precision:
          type: integer
          description: Number of decimal places for numeric fields
    FieldType:
      type: object
      description: Data type specification for a table field
      properties:
        id:
          type: string
          description: Type identifier
          enum:
          - Text
          - Numeric
          - Date
          - Boolean
          - Instance
        descriptor:
          type: string
          description: Display name of the field type
    Table:
      type: object
      description: A Prism Analytics table defining the schema for external data loaded into Workday
      properties:
        id:
          type: string
          description: Unique identifier (WID) of the table
        displayName:
          type: string
          description: Display name of the table
        name:
          type: string
          description: API name of the table
        description:
          type: string
          description: Description of the table purpose and contents
        enableForAnalysis:
          type: boolean
          description: Whether the table is enabled for use in Prism reports
        fields:
          type: array
          items:
            $ref: '#/components/schemas/TableField'
          description: Schema field definitions for the table
        rowCount:
          type: integer
          description: Current number of rows in the table
        createdOn:
          type: string
          format: date-time
          description: Timestamp when the table was created
        updatedOn:
          type: string
          format: date-time
          description: Timestamp when the table was last modified
    TableCreateRequest:
      type: object
      description: Request body for creating a new Prism Analytics table
      required:
      - displayName
      - fields
      properties:
        displayName:
          type: string
          description: Display name for the new table
        description:
          type: string
          description: Description of the table purpose
        enableForAnalysis:
          type: boolean
          description: Whether to enable the table for Prism reports
          default: true
        fields:
          type: array
          items:
            $ref: '#/components/schemas/TableField'
          description: Schema field definitions
  parameters:
    tableId:
      name: tableId
      in: path
      required: true
      description: Unique identifier (WID) of the Prism Analytics table
      schema:
        type: string
    offset:
      name: offset
      in: query
      description: Number of results to skip for pagination
      schema:
        type: integer
        default: 0
    limit:
      name: limit
      in: query
      description: Maximum number of results to return per page
      schema:
        type: integer
        default: 20
        maximum: 100
  responses:
    Unauthorized:
      description: Authentication credentials are missing or invalid
    NotFound:
      description: The specified resource was not found
    BadRequest:
      description: The request was malformed or contained invalid data
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: OAuth 2.0 bearer token obtained from Workday token endpoint. Requires the Prism Analytics scope.
externalDocs:
  description: Workday Prism Analytics API Documentation
  url: https://doc.workday.com/admin-guide/en-us/workday-prism-analytics/workday-prism-analytics-api.html