naftiko: 1.0.0-alpha2 info: label: Workday Financials Workday Expenses API — Expense Reports description: 'Workday Financials Workday Expenses API — Expense Reports. 5 operations. Lead operation: Workday Financials List expense reports. Self-contained Naftiko capability covering one Workday Financials business surface.' tags: - Workday Financials - Expense Reports created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: WORKDAY_FINANCIALS_API_KEY: WORKDAY_FINANCIALS_API_KEY capability: consumes: - type: http namespace: expenses-expense-reports baseUri: https://{tenant}.workday.com/api/expenses/v38.2 description: Workday Financials Workday Expenses API — Expense Reports business capability. Self-contained, no shared references. resources: - name: expenseReports path: /expenseReports operations: - name: listexpensereports method: GET description: Workday Financials List expense reports outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: status in: query type: string description: Filter expense reports by status - name: worker in: query type: string description: Filter by worker ID - name: createexpensereport method: POST description: Workday Financials Create an expense report outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: expenseReports-id path: /expenseReports/{id} operations: - name: getexpensereport method: GET description: Workday Financials Get an expense report outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateexpensereport method: PATCH description: Workday Financials Update an expense report outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: expenseReports-id-submit path: /expenseReports/{id}/submit operations: - name: submitexpensereport method: POST description: Workday Financials Submit an expense report for approval outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer token: '{{env.WORKDAY_FINANCIALS_API_KEY}}' exposes: - type: rest namespace: expenses-expense-reports-rest port: 8080 description: REST adapter for Workday Financials Workday Expenses API — Expense Reports. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/expensereports name: expensereports description: REST surface for expenseReports. operations: - method: GET name: listexpensereports description: Workday Financials List expense reports call: expenses-expense-reports.listexpensereports with: status: rest.status worker: rest.worker outputParameters: - type: object mapping: $. - method: POST name: createexpensereport description: Workday Financials Create an expense report call: expenses-expense-reports.createexpensereport with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/expensereports/{id} name: expensereports-id description: REST surface for expenseReports-id. operations: - method: GET name: getexpensereport description: Workday Financials Get an expense report call: expenses-expense-reports.getexpensereport outputParameters: - type: object mapping: $. - method: PATCH name: updateexpensereport description: Workday Financials Update an expense report call: expenses-expense-reports.updateexpensereport with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/expensereports/{id}/submit name: expensereports-id-submit description: REST surface for expenseReports-id-submit. operations: - method: POST name: submitexpensereport description: Workday Financials Submit an expense report for approval call: expenses-expense-reports.submitexpensereport outputParameters: - type: object mapping: $. - type: mcp namespace: expenses-expense-reports-mcp port: 9090 transport: http description: MCP adapter for Workday Financials Workday Expenses API — Expense Reports. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: workday-financials-list-expense-reports description: Workday Financials List expense reports hints: readOnly: true destructive: false idempotent: true call: expenses-expense-reports.listexpensereports with: status: tools.status worker: tools.worker outputParameters: - type: object mapping: $. - name: workday-financials-create-expense-report description: Workday Financials Create an expense report hints: readOnly: false destructive: false idempotent: false call: expenses-expense-reports.createexpensereport with: body: tools.body outputParameters: - type: object mapping: $. - name: workday-financials-get-expense-report description: Workday Financials Get an expense report hints: readOnly: true destructive: false idempotent: true call: expenses-expense-reports.getexpensereport outputParameters: - type: object mapping: $. - name: workday-financials-update-expense-report description: Workday Financials Update an expense report hints: readOnly: false destructive: false idempotent: true call: expenses-expense-reports.updateexpensereport with: body: tools.body outputParameters: - type: object mapping: $. - name: workday-financials-submit-expense-report description: Workday Financials Submit an expense report for approval hints: readOnly: false destructive: false idempotent: false call: expenses-expense-reports.submitexpensereport outputParameters: - type: object mapping: $.