Workday Financials Expense Reports API
Create and manage expense reports
Create and manage expense reports
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/workday-financials:workday-financials-expense-reports-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Workday Financials Workday Expenses Expense Reports API
description: API for expense report submission, approval workflows, receipt management, and expense policy enforcement within Workday Expense 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/expenses/v38.2
description: Workday Expenses 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:
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:
BadRequest:
description: The request was malformed or contained invalid data
NotFound:
description: The requested resource was not found
Unauthorized:
description: Authentication credentials are missing or invalid
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
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
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'
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
description: OAuth 2.0 bearer token obtained from Workday authentication
externalDocs:
description: Workday Expenses API Documentation
url: https://community.workday.com/sites/default/files/file-hosting/productionapi/index.html