openapi: 3.1.0 info: title: Workday Integrations Workday Report-as-a-Service (RaaS) API description: >- 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 with web service enabled in Workday before they can be accessed through this API. 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 externalDocs: description: Workday RaaS Documentation url: https://doc.workday.com/admin-guide/en-us/integration/workday-reports/report-as-a-service-raas.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 tags: - name: Report Metadata description: Retrieve report field definitions and filter parameters - name: Reports description: Access custom and standard Workday reports security: - basicAuth: [] - bearerAuth: [] 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' /{reportOwner}/{reportName}/fields: get: operationId: getReportMetadata summary: Workday Integrations Get report field metadata description: >- Retrieve metadata about a report including available fields, field types, and prompt parameters that can be used for filtering. tags: - Report Metadata parameters: - name: reportOwner in: path required: true description: Username of the report owner schema: type: string - name: reportName in: path required: true description: Name of the custom report schema: type: string responses: '200': description: Report metadata returned successfully content: application/json: schema: $ref: '#/components/schemas/ReportMetadata' '401': description: Authentication credentials missing or invalid '404': description: Report not found components: 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 for report access parameters: limit: name: limit in: query description: Maximum number of rows to return 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 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 ReportMetadata: type: object properties: reportName: type: string description: Name of the report reportOwner: type: string description: Owner of the report fields: type: array description: Report column definitions items: type: object properties: fieldName: type: string description: Column field name fieldType: type: string description: Data type of the field isRequired: type: boolean description: Whether the field is required in prompts prompts: type: array description: Available filter prompt parameters items: type: object properties: promptName: type: string description: Name of the prompt parameter promptType: type: string description: Data type expected for the prompt isRequired: type: boolean description: Whether the prompt is required defaultValue: type: string description: Default value for the prompt Error: type: object properties: error: type: string description: Error code message: type: string description: Human-readable error message