Workday Financials Expense Reports API
Create and manage expense reports
Create and manage expense reports
openapi: 3.1.0
info:
title: Workday Financials Workday Cash Management Account Reconciliations Expense Reports API
description: API for managing cash positions, bank accounts, transactions, and cash forecasting within Workday Cash Management.
version: v38.2
contact:
name: Workday Support
url: https://www.workday.com/en-us/company/latest/support.html
termsOfService: https://www.workday.com/en-us/legal.html
servers:
- url: https://{tenant}.workday.com/api/cashManagement/v38.2
description: Workday Cash Management Production
variables:
tenant:
description: Workday tenant identifier
default: your-tenant
security:
- bearerAuth: []
tags:
- name: Expense Reports
description: Create and manage expense reports
paths:
/expenseReports:
get:
operationId: listExpenseReports
summary: Workday Financials List expense reports
description: Retrieve a collection of expense reports with optional filtering.
tags:
- Expense Reports
parameters:
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
- name: status
in: query
description: Filter expense reports by status
schema:
type: string
enum:
- Draft
- Submitted
- Approved
- Paid
- Returned
- Canceled
- name: worker
in: query
description: Filter by worker ID
schema:
type: string
responses:
'200':
description: Expense reports retrieved successfully
content:
application/json:
schema:
type: object
properties:
total:
type: integer
data:
type: array
items:
$ref: '#/components/schemas/ExpenseReport'
'401':
$ref: '#/components/responses/Unauthorized'
post:
operationId: createExpenseReport
summary: Workday Financials Create an expense report
description: Submit a new expense report for approval processing.
tags:
- Expense Reports
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ExpenseReportCreate'
responses:
'201':
description: Expense report created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/ExpenseReport'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/expenseReports/{id}:
get:
operationId: getExpenseReport
summary: Workday Financials Get an expense report
description: Retrieve details of a specific expense report.
tags:
- Expense Reports
parameters:
- $ref: '#/components/parameters/resourceId'
responses:
'200':
description: Expense report details
content:
application/json:
schema:
$ref: '#/components/schemas/ExpenseReport'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
patch:
operationId: updateExpenseReport
summary: Workday Financials Update an expense report
description: Update a draft expense report.
tags:
- Expense Reports
parameters:
- $ref: '#/components/parameters/resourceId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ExpenseReportUpdate'
responses:
'200':
description: Expense report updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/ExpenseReport'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/expenseReports/{id}/submit:
post:
operationId: submitExpenseReport
summary: Workday Financials Submit an expense report for approval
description: Submit a draft expense report into the approval workflow.
tags:
- Expense Reports
parameters:
- $ref: '#/components/parameters/resourceId'
responses:
'200':
description: Expense report submitted successfully
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
components:
schemas:
ExpenseReportUpdate:
type: object
properties:
memo:
type: string
description: Updated memo or description
expenseDate:
type: string
format: date
description: Updated expense date
ExpenseReport:
type: object
properties:
id:
type: string
description: Workday ID (WID) for the expense report
reportNumber:
type: string
description: System-generated report number
memo:
type: string
description: Expense report memo or description
worker:
$ref: '#/components/schemas/WorkerRef'
expenseDate:
type: string
format: date
description: Primary expense date
totalAmount:
type: number
format: double
description: Total expense amount
currency:
$ref: '#/components/schemas/CurrencyRef'
status:
type: string
enum:
- Draft
- Submitted
- Approved
- Paid
- Returned
- Canceled
description: Current status of the expense report
company:
$ref: '#/components/schemas/CompanyRef'
createdOn:
type: string
format: date-time
description: When the report was created
CurrencyRef:
type: object
properties:
id:
type: string
description: Workday ID of the currency
descriptor:
type: string
description: Currency code (e.g., USD, EUR)
ExpenseReportCreate:
type: object
required:
- memo
- expenseDate
- company
properties:
memo:
type: string
description: Expense report memo or description
expenseDate:
type: string
format: date
description: Primary expense date
company:
$ref: '#/components/schemas/CompanyRef'
currency:
$ref: '#/components/schemas/CurrencyRef'
WorkerRef:
type: object
properties:
id:
type: string
description: Workday ID of the worker
descriptor:
type: string
description: Display name of the worker
CompanyRef:
type: object
properties:
id:
type: string
description: Workday ID of the company
descriptor:
type: string
description: Display name of the company
parameters:
offset:
name: offset
in: query
description: Number of results to skip for pagination
schema:
type: integer
default: 0
resourceId:
name: id
in: path
required: true
description: Unique identifier of the resource (WID)
schema:
type: string
limit:
name: limit
in: query
description: Maximum number of results to return
schema:
type: integer
default: 20
maximum: 100
responses:
Unauthorized:
description: Authentication credentials are missing or invalid
NotFound:
description: The requested resource was not found
BadRequest:
description: The request was malformed or contained invalid data
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
description: OAuth 2.0 bearer token obtained from Workday authentication
externalDocs:
description: Workday Cash Management API Documentation
url: https://community.workday.com/sites/default/files/file-hosting/productionapi/index.html