Workday Integrations Reports API

Access custom and standard Workday reports

OpenAPI Specification

workday-integrations-reports-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Workday Integrations Workday Prism Analytics Benefits Reports 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: Reports
  description: Access custom and standard Workday reports
paths:
  /{reportOwner}/{reportName}:
    get:
      operationId: getReport
      summary: Workday Integrations Get report data
      description: Execute a Workday custom report and retrieve its data. The report must have web service enabled. Returns data in JSON format by default, with support for CSV and XML via the format parameter. Supports prompt-based filtering through query parameters matching report prompt names.
      tags:
      - Reports
      parameters:
      - name: reportOwner
        in: path
        required: true
        description: Username of the report owner in Workday (the ISU account or integration system user that owns the report)
        schema:
          type: string
      - name: reportName
        in: path
        required: true
        description: Name of the custom report as defined in Workday. Must match the report name exactly, using underscores for spaces.
        schema:
          type: string
      - name: format
        in: query
        description: Response format for the report data
        schema:
          type: string
          enum:
          - json
          - csv
          - simplexml
          - gdata
          default: json
      - name: Employee_ID
        in: query
        description: Filter by Employee ID (example prompt parameter; actual parameters depend on report configuration)
        schema:
          type: string
      - name: Effective_Date
        in: query
        description: Filter by effective date in YYYY-MM-DD format (example prompt parameter)
        schema:
          type: string
          format: date
      - name: Organization
        in: query
        description: Filter by organization WID or reference ID (example prompt parameter)
        schema:
          type: string
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/offset'
      responses:
        '200':
          description: Report data returned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportResponse'
            text/csv:
              schema:
                type: string
                description: Report data in CSV format
            application/xml:
              schema:
                type: string
                description: Report data in XML format
        '400':
          description: Invalid report parameters or prompt values
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Authentication credentials missing or invalid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Insufficient permissions to access the report
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Report not found or web service not enabled
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  parameters:
    offset:
      name: offset
      in: query
      description: Number of rows to skip for pagination
      schema:
        type: integer
        minimum: 0
        default: 0
    limit:
      name: limit
      in: query
      description: Maximum number of rows to return
      schema:
        type: integer
        minimum: 1
        default: 100
  schemas:
    ReportResponse:
      type: object
      properties:
        Report_Entry:
          type: array
          description: Array of report rows
          items:
            type: object
            additionalProperties: true
            description: Report row data. Properties vary based on the report columns configured in Workday.
        Report_Has_More_Rows:
          type: boolean
          description: Whether additional rows are available for pagination
        Report_Total_Rows:
          type: integer
          description: Total number of rows matching the report criteria
    Error:
      type: object
      properties:
        error:
          type: string
          description: Error code
        message:
          type: string
          description: Human-readable error message
  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