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