naftiko: 1.0.0-alpha2 info: label: Workday Reporting Workday Report-as-a-Service (RaaS) 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. tags: - Workday - Reporting - API created: '2026-05-06' modified: '2026-05-06' capability: consumes: - type: http namespace: workday-reporting baseUri: https://wd2-impl-services1.workday.com/ccx/service/customreport2/mycompany description: Workday Reporting Workday Report-as-a-Service (RaaS) API HTTP API. authentication: type: basic username: '{{WORKDAY_REPORTING_USERNAME}}' password: '{{WORKDAY_REPORTING_PASSWORD}}' resources: - name: reportowner-reportname path: /{reportOwner}/{reportName} operations: - name: getreport method: GET description: Workday Reporting Get report data inputParameters: - name: reportOwner in: path type: string required: true description: Username of the report owner in Workday, typically the integration system user (ISU) account that owns the report - name: reportName in: path type: string required: true description: Name of the custom report as defined in Workday. Must match the report name exactly, using underscores in place of spaces. - name: format in: query type: string description: Response format for the report data. Determines the Content-Type of the response body. - name: Employee_ID in: query type: string description: Example prompt parameter for filtering by Employee ID. Actual parameters depend on the prompts configured in the report definition. - name: Effective_Date in: query type: string 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. - name: Organization in: query type: string description: Example prompt parameter for filtering by organization WID or reference ID. Actual parameters depend on the prompts configured in the report definition. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: reportowner-reportname-fields path: /{reportOwner}/{reportName}/fields operations: - name: getreportmetadata method: GET description: Workday Reporting Get report field metadata inputParameters: - name: reportOwner in: path type: string required: true description: Username of the report owner - name: reportName in: path type: string required: true description: Name of the custom report outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest port: 8080 namespace: workday-reporting-rest description: REST adapter for Workday Reporting Workday Report-as-a-Service (RaaS) API. resources: - path: /{reportOwner}/{reportName} name: getreport operations: - method: GET name: getreport description: Workday Reporting Get report data call: workday-reporting.getreport with: reportOwner: rest.reportOwner reportName: rest.reportName outputParameters: - type: object mapping: $. - path: /{reportOwner}/{reportName}/fields name: getreportmetadata operations: - method: GET name: getreportmetadata description: Workday Reporting Get report field metadata call: workday-reporting.getreportmetadata with: reportOwner: rest.reportOwner reportName: rest.reportName outputParameters: - type: object mapping: $. - type: mcp port: 9090 namespace: workday-reporting-mcp transport: http description: MCP adapter for Workday Reporting Workday Report-as-a-Service (RaaS) API for AI agent use. tools: - name: getreport description: Workday Reporting Get report data hints: readOnly: true destructive: false idempotent: true call: workday-reporting.getreport with: reportOwner: tools.reportOwner reportName: tools.reportName format: tools.format Employee_ID: tools.Employee_ID Effective_Date: tools.Effective_Date Organization: tools.Organization inputParameters: - name: reportOwner type: string description: Username of the report owner in Workday, typically the integration system user (ISU) account that owns the report required: true - name: reportName type: string description: Name of the custom report as defined in Workday. Must match the report name exactly, using underscores in place of spaces. required: true - name: format type: string description: Response format for the report data. Determines the Content-Type of the response body. - name: Employee_ID type: string description: Example prompt parameter for filtering by Employee ID. Actual parameters depend on the prompts configured in the report definition. - name: Effective_Date type: string 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. - name: Organization type: string description: Example prompt parameter for filtering by organization WID or reference ID. Actual parameters depend on the prompts configured in the report definition. outputParameters: - type: object mapping: $. - name: getreportmetadata description: Workday Reporting Get report field metadata hints: readOnly: true destructive: false idempotent: true call: workday-reporting.getreportmetadata with: reportOwner: tools.reportOwner reportName: tools.reportName inputParameters: - name: reportOwner type: string description: Username of the report owner required: true - name: reportName type: string description: Name of the custom report required: true outputParameters: - type: object mapping: $. binds: - namespace: env keys: WORKDAY_REPORTING_USERNAME: WORKDAY_REPORTING_USERNAME WORKDAY_REPORTING_PASSWORD: WORKDAY_REPORTING_PASSWORD