Skip to main content

Overview

This page documents commonly used API endpoints in New Expensify. For the complete list of endpoints, see src/libs/API/types.ts in the repository.
All API endpoints are defined in src/libs/API/types.ts with their parameter types in src/libs/API/parameters/.

Endpoint Categories

Authentication

Reports & Chat

Money Requests (IOU)

Workspaces (Policies)

Transactions

Authentication Endpoints

SignIn

Authenticate a user with email and password. Type: WRITE Parameters:
Example:

SignOut

Sign out the current user. Type: WRITE Parameters: None Example:

Reauthenticate

Refresh authentication token. Type: WRITE Parameters:
Example: Handled automatically by middleware.

ValidateEmail

Validate user’s email with validation code. Type: WRITE Parameters:

Reports & Chat Endpoints

OpenReport

Load report data and mark as read. Type: READ Parameters:
Example:

AddComment

Add a comment/message to a report. Type: WRITE Parameters:
Example:

DeleteComment

Delete a comment from a report. Type: WRITE Parameters:

TogglePinnedChat

Pin or unpin a chat. Type: WRITE Parameters:
Example:

Money Request Endpoints

RequestMoney

Create a money request. Type: WRITE Parameters:
Example:

CreateDistanceRequest

Create a distance-based expense request. Type: WRITE Parameters:

SplitBill

Split an expense among multiple participants. Type: WRITE Parameters:

PayMoneyRequest

Pay a money request. Type: WRITE Parameters:

Workspace Endpoints

CreateWorkspace

Create a new workspace/policy. Type: WRITE Parameters:
Example:

UpdateWorkspace

Update workspace settings. Type: WRITE Parameters:

DeleteWorkspace

Delete a workspace. Type: WRITE Parameters:

InviteMembersToWorkspace

Invite members to a workspace. Type: WRITE Parameters:

Transaction Endpoints

UpdateTransaction

Update transaction details. Type: WRITE Parameters:

DeleteTransaction

Delete a transaction. Type: WRITE Parameters:

HoldRequest

Put a money request on hold. Type: WRITE Parameters:

UnholdRequest

Remove hold from a money request. Type: WRITE Parameters:

Using Endpoints

Basic Pattern

Finding Endpoint Usage

To see how an endpoint is used:

Best Practices

1. Use Defined Types

2. Always Include Onyx Data

3. Generate IDs Client-Side

Next Steps

API Overview

Understand API fundamentals

Authentication

Learn authentication flows

State Management

Understand Onyx integration

Source Code

View all endpoints