Know of an official OpenAPI document? Contribute it →
For Agents
Drive Expensify export, reconciliation, employee update, and download operations through a single integration-server endpoint by varying the request payload.
Use for: I want to export Expensify reports for last month into our accounting system, Reconcile a batch of Expensify reports against our ledger, Update employee records in Expensify in bulk, Retrieve a previously exported Expensify file
Not supported: Does not handle real-time receipt capture, card issuance, or live approval workflows - use for batch report export, reconciliation, employee updates, and download only.
Jentic publishes the only available OpenAPI specification for Expensify Integration Server API, keeping it validated and agent-ready. The Expensify Integration Server exposes a single endpoint that accepts a JSON request describing the operation to perform - exporting reports, reconciling reports, updating employees, or downloading exported files - with credentials and command parameters bundled inside the request body. Although the surface is one POST, the request payload selects from the Export, Reconciliation, Employee Updater, and Download command families documented by Expensify, making it the canonical hook for finance-tool integrations and accounting exports.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Expensify Integration Server API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fintegrations.expensify.com%2Fexpensify-integrations" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fintegrations.expensify.com%2Fexpensify-integrations" | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Expensify Integration Server API.
Export Expensify reports in configured formats by sending an Export command to /Integration-Server/ExpensifyIntegrations
Reconcile reports against accounting systems via the Reconciliation command
Update employees in bulk via the Employee Updater command
Download previously exported files via the Download command
Submit Expensify partner credentials inside the request to authorise each call
Patterns agents use Expensify Integration Server API for, with concrete tasks.
★ Monthly Report Export to Accounting
Schedule a job that POSTs an Export command to /Integration-Server/ExpensifyIntegrations every month, pulling all approved reports for the period in a configured template and forwarding them into the general ledger. This automates the manual export step that finance teams typically run from the Expensify dashboard.
POST /Integration-Server/ExpensifyIntegrations with an Export command for last month's approved reports and write the resulting file into the accounting integration.
Bulk Employee Updater
When HR rolls out a new policy, push an Employee Updater command through the integration server to update Expensify employee records with the new approver, policy, or department in one call. The single-endpoint design keeps the integration small while still handling bulk changes.
POST an Employee Updater command with a list of employees and their new policy or approver assignments.
Reconciliation Run for Closing the Books
Run a Reconciliation command at month-end that compares Expensify reports against ledger entries and produces a reconciled file. This shortens the close cycle by replacing manual cross-checks with a single automated request.
POST a Reconciliation command for the month's date range and ingest the reconciled file into the close workpapers.
AI Agent Finance Operator via Jentic
An AI agent given access to the Expensify Integration Server through Jentic can dispatch the four command families by intent without crafting raw JSON envelopes. Jentic stores the partner credentials and binds them to the request body, so the agent only specifies the action and parameters.
Through Jentic, call expensify_export_reports with the desired template and date range to retrieve last month's approved reports.
1 endpoints — jentic publishes the only available openapi specification for expensify integration server api, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/Integration-Server/ExpensifyIntegrations
Single integration-server endpoint dispatching Export, Reconciliation, Employee Updater, and Download commands
/Integration-Server/ExpensifyIntegrations
Single integration-server endpoint dispatching Export, Reconciliation, Employee Updater, and Download commands
What agents get from Jentic-routed access to this vendor.
Setup
Wiring the Expensify Integration Server by hand means hand-building its command envelope in the request body and posting everything to the single /Integration-Server/ExpensifyIntegrations endpoint. Through Jentic you install once, import the Expensify Integration Server API from the API Directory, store the partner credentials once, and your agent calls it.
Permission scoping
The Expensify Integration Server takes the command in the request body against one endpoint, so limit the agent to the operations it needs, such as exporting or reconciling reports, rather than to one report. You choose the operations it may call, so employee updates are not included unless you add them.
Credential isolation
Your Expensify partner credentials are stored once, encrypted, by your own Jentic One instance and merged into the integration-server request body at execution time. They never enter the agent's prompt, logs, or context.
Intent-based discovery
Agents search Jentic by intent such as 'export Expensify reports' or 'reconcile Expensify reports', and Jentic returns the integration-server operation pre-shaped for the requested command with its input schema so the agent calls it without browsing the reference docs.
Alternatives and complements available in the Jentic catalogue.
Specific to using Expensify Integration Server API through Jentic.
Why is there no official OpenAPI spec for the Expensify Integration Server API?
Expensify documents the integration server as a JSON-payload contract rather than an OpenAPI spec. Jentic generates and maintains this spec so that AI agents and developers can call Expensify Integration Server API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.
What authentication does the Expensify Integration Server API use?
The spec does not declare a top-level securityScheme on /Integration-Server/ExpensifyIntegrations because Expensify expects partner credentials inside the request body alongside the command. Through Jentic, those partner credentials are stored in your encrypted Jentic One instance and merged into the body at execution time.
Can I export Expensify reports with this API?
Yes. POSTing an Export command to /Integration-Server/ExpensifyIntegrations runs an export against approved reports using a chosen template, returning either the file directly or a handle to fetch it via the Download command.
What are the rate limits for the Expensify Integration Server API?
The OpenAPI specification does not encode explicit rate limits. Exports and reconciliation runs are typically large, infrequent operations, so schedule them rather than polling, and back off on 5xx responses while the integration server processes the job.
How do I run a monthly export through Jentic?
Install with pip install jentic, then have the agent issue the search-load-execute flow with the query 'export Expensify reports for the month'. Jentic returns the operation backed by /Integration-Server/ExpensifyIntegrations with the Export command pre-shaped; the agent supplies the date range and template.
Can I update employees in bulk?
Yes. The Employee Updater command, sent as a payload to /Integration-Server/ExpensifyIntegrations, takes a list of employees plus their policy or approver changes and applies them in one request.
Can I limit what my agent is allowed to do with the Expensify Integration Server API?
Yes. Because you run Jentic One yourself, your own rules decide which of the integration server's command families the agent may send to /Integration-Server/ExpensifyIntegrations. You can allow it to export or reconcile reports while withholding the Employee Updater and Download commands, since the agent only ever calls the operations you grant. Your Expensify partner credentials stay in your self-hosted instance and are merged into the request body at execution time, so the agent never sees them.
GET STARTED