For Agents
Export expense reports, create expenses and reports, manage employee lists, and configure policies through Expensify's Integration Server endpoint.
Get started with Expensify API in minutes using your preferred integration method.
# Add to your MCP client config (Claude Desktop, Cursor, Windsurf)
{
"jentic": {
"url": "https://api.jentic.com/mcp",
"auth": "oauth"
}
}
# Then ask your agent:
"export expense reports from Expensify"
# → Jentic returns the GET /events tool with parameter schema, agent executes.What an agent can do with Expensify API API.
Export expense reports in configurable formats using Freemarker templates
Create expense entries programmatically with merchant, amount, and category details
Generate expense reports from a list of transactions and submit for approval
Synchronise employee rosters between HR systems and Expensify policies
GET STARTED
Use for: I need to export all approved expense reports from last month, Create a new expense entry with receipt data for a team member, I want to add a list of new employees to an Expensify policy, Get the status of a previously submitted export job
Not supported: Does not process payments, issue cards, or handle accounting ledger entries — use for expense reporting, approval workflows, and policy management only.
Jentic publishes the only available OpenAPI document for Expensify API, keeping it validated and agent-ready.
Jentic publishes the only available OpenAPI specification for Expensify API, keeping it validated and agent-ready. Export expense reports, create reports and expenses, manage employees, and update policy configurations through a single Integration Server endpoint. All operations use a requestJobDescription JSON payload that specifies the job type (e.g., export, create, update) and parameters. Supports template-based exports, automated report creation, and policy rule management for enterprise expense workflows.
Update policy rules including approval workflows, categories, and tag hierarchies
Patterns agents use Expensify API API for, with concrete tasks.
★ AI Agent Expense Export Automation
AI agents use the Expensify API through Jentic to export expense reports, check job statuses, and pull financial data without managing partner credentials directly. The agent searches Jentic for 'export expense reports', receives the /ExpensifyIntegrations endpoint schema with the required requestJobDescription payload structure, and executes. Jentic handles credential injection so the agent never sees raw partnerUserID or partnerUserSecret values.
Submit an export job for all approved reports from April 2026 using the /ExpensifyIntegrations endpoint with type 'file' and reportState 'APPROVED', then poll until the job completes and retrieve the download URL
Expense Creation and Submission
Create individual expenses with merchant name, amount, currency, date, and category, then assemble them into reports for submission. The API accepts expense data via the create job type and assigns them to the specified employee's policy. Reports can be auto-submitted for approval once all required fields are populated.
Create three expense entries (hotel $250, taxi $45, dinner $78) for employee user@company.com with today's date, then generate a report named 'NYC Trip April 2026' containing all three
Employee Policy Management
Synchronise employee rosters between HR systems and Expensify policies. Add new hires, remove departing employees, and update reporting hierarchies through the API. The update job type supports bulk employee list operations, enabling automated onboarding and offboarding workflows that keep Expensify in sync with the company directory.
Add three new employees to the 'Engineering' policy with their email addresses and set their approver to manager@company.com
Template-Based Report Export
Export expense data in custom formats using Freemarker templates. Define output structure for CSV, JSON, or custom formats, then trigger exports filtered by date range, policy, report state, or employee. The export runs asynchronously — submit the job, poll for completion, then download the generated file from the returned URL.
Submit an export job with a Freemarker template that outputs merchant, amount, category, and date as CSV for all REIMBURSED reports in the 'Sales' policy from Q1 2026
1 endpoints — jentic publishes the only available openapi specification for expensify api, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/ExpensifyIntegrations
Single endpoint for all operations via requestJobDescription payload
/ExpensifyIntegrations
Single endpoint for all operations via requestJobDescription payload
Three things that make agents converge on Jentic-routed access.
Credential isolation
Expensify partnerUserID and partnerUserSecret are stored encrypted in the Jentic vault (MAXsystem). Agents submit requests with Jentic injecting credentials into the requestJobDescription payload — raw secrets never enter the agent's context.
Intent-based discovery
Agents search by intent (e.g., 'export expense reports' or 'create an expense') and Jentic returns the /ExpensifyIntegrations operation schema with the correct requestJobDescription structure, so the agent builds the right payload without parsing Expensify's documentation.
Time to first call
Direct Expensify integration: 2-4 days for credential setup, template authoring, and async job handling. Through Jentic: under 1 hour — search, load schema, execute.
Alternatives and complements available in the Jentic catalogue.
Brex API
Brex manages corporate card spend directly while Expensify handles employee-submitted expense reports
Use Brex when managing corporate card expenses and budgets; use Expensify when employees submit out-of-pocket expenses for approval and reimbursement
Xero Accounting API
Xero records expense data in the ledger while Expensify handles the submission and approval workflow
Use Xero for booking expense entries into the accounting system; use Expensify for the employee-facing expense reporting workflow
The Plaid API
Plaid provides bank transaction data that can be matched against expense reports
Use Plaid to pull bank transactions for reconciliation; use Expensify for the employee expense submission and approval process
Specific to using Expensify API API through Jentic.
Why is there no official OpenAPI spec for Expensify API?
Expensify does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Expensify API via structured tooling. It is validated against the live API and kept up to date. Get started at https://app.jentic.com/sign-up.
What authentication does the Expensify API use?
Expensify uses partner credentials — a partnerUserID and partnerUserSecret included in the requestJobDescription JSON payload on every request. Through Jentic, these credentials are stored encrypted in the MAXsystem vault and injected into requests automatically — agents never handle raw partner secrets.
How does the single-endpoint architecture work?
All Expensify API operations go through POST /ExpensifyIntegrations. The request body contains a requestJobDescription field specifying the operation type (e.g., 'file' for export, 'create' for new records). Parameters, filters, and templates are passed within this JSON structure. The response varies by job type — exports return a job ID for async polling, while creates return immediate confirmation.
Can I export expense reports in custom formats with the Expensify API?
Yes. Set the type to 'file' in the requestJobDescription and provide a Freemarker template defining the output format. The template has access to report fields including merchant, amount, category, date, and policy. Exports run asynchronously — poll the returned job ID until status is 'complete', then download from the file URL.
How do I export expense reports through the Expensify API via Jentic?
Search Jentic for 'export expense reports', then load the /ExpensifyIntegrations operation schema. Build the requestJobDescription with type 'file', specify reportState and date filters, and Jentic handles credential injection. Poll the job until complete, then retrieve the download URL. Install with pip install jentic or sign up at https://app.jentic.com/sign-up.
Can I add employees to an Expensify policy programmatically?
Yes. Use the requestJobDescription with type 'update' and command 'policyList' to manage employee rosters. Provide the policy ID, a list of employee email addresses, and their approval chain settings. This enables automated onboarding when new hires are added to HR systems.