Workday Reporting Reports API

Execute and retrieve data from custom and standard Workday reports configured as web services

OpenAPI Specification

workday-reporting-reports-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Workday Reporting Workday Report-as-a-Service (RaaS) Report Metadata Reports API
  description: REST API for accessing Workday custom and standard reports as RESTful web services. Enables external systems to consume report data in JSON, CSV, or XML formats. Reports must be configured as Advanced type reports with web service enabled in Workday before they can be accessed through this API. Supports prompt-based filtering through query parameters matching report prompt names configured in the report definition.
  version: v1
  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/service/customreport2/{tenant}
  description: Workday Custom Reports Endpoint
  variables:
    tenant:
      default: mycompany
      description: Workday tenant name
security:
- basicAuth: []
- bearerAuth: []
tags:
- name: Reports
  description: Execute and retrieve data from custom and standard Workday reports configured as web services
paths:
  /{reportOwner}/{reportName}:
    get:
      operationId: getReport
      summary: Workday Reporting Get report data
      description: Execute a Workday custom report and retrieve its data. The report must have web service enabled in its report definition. Returns data in JSON format by default, with support for CSV, XML, and GData formats via the format parameter. Supports prompt-based filtering through query parameters that match the report prompt names configured in Workday. Pagination is supported through limit and offset parameters for large result sets.
      tags:
      - Reports
      parameters:
      - name: reportOwner
        in: path
        required: true
        description: Username of the report owner in Workday, typically the integration system user (ISU) account 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 in place of spaces.
        schema:
          type: string
      - name: format
        in: query
        description: Response format for the report data. Determines the Content-Type of the response body.
        schema:
          type: string
          enum:
          - json
          - csv
          - simplexml
          - gdata
          default: json
      - name: Employee_ID
        in: query
        description: Example prompt parameter for filtering by Employee ID. Actual parameters depend on the prompts configured in the report definition.
        schema:
          type: string
      - name: Effective_Date
        in: query
        description: Example prompt parameter for filtering by effective date in YYYY-MM-DD format. Actual parameters depend on the prompts configured in the report definition.
        schema:
          type: string
          format: date
      - name: Organization
        in: query
        description: Example prompt parameter for filtering by organization WID or reference ID. Actual parameters depend on the prompts configured in the report definition.
        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 with headers
            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 for this report
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  parameters:
    limit:
      name: limit
      in: query
      description: Maximum number of rows to return per page
      schema:
        type: integer
        minimum: 1
        default: 100
    offset:
      name: offset
      in: query
      description: Number of rows to skip for pagination
      schema:
        type: integer
        minimum: 0
        default: 0
  schemas:
    ReportResponse:
      type: object
      description: Response object containing report data rows and pagination information. The Report_Entry array contains objects whose properties correspond to the report columns configured in Workday.
      properties:
        Report_Entry:
          type: array
          description: Array of report data rows
          items:
            type: object
            additionalProperties: true
            description: A single report row. Properties vary based on the report columns configured in the Workday report definition.
        Report_Has_More_Rows:
          type: boolean
          description: Indicates whether additional rows are available beyond the current page for pagination
        Report_Total_Rows:
          type: integer
          description: Total number of rows matching the report filter criteria
    Error:
      type: object
      description: Error response returned by the Workday RaaS API
      properties:
        error:
          type: string
          description: Error code identifying the type of error
        message:
          type: string
          description: Human-readable error message with details about the failure
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: HTTP Basic authentication using Workday integration system user credentials (ISU username and password).
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: OAuth 2.0 bearer token obtained via Workday authentication for report access.
externalDocs:
  description: Workday RaaS Documentation
  url: https://community.workday.com/sites/default/files/file-hosting/productionapi/Reporting/v1/index.html