SDKs
Official client libraries for the Expensicat API
TypeScript REST Client
The generated TypeScript REST client provides type-safe access to the Expensicat API.
npm install @ex/restQuick start
import { Expensicat } from '@ex/rest';
const client = new Expensicat({
security: { bearerAuth: 'YOUR_TOKEN' },
});
const { data } = await client.transactions.list();Features
- Full TypeScript types generated from the OpenAPI spec
- Automatic request/response validation
- Built-in retry logic with configurable backoff
- ESM and CommonJS support
Resources
Every API operation has a method named by its operationId, so invoices.payments.record in the API reference is client.invoices.payments.record() in the SDK:
client.transactions— Transaction operationsclient.inbox— Inbox operationsclient.invoices— Invoice management, withpayments,templates,artifactsandtransmissionsclient.quotesandclient.creditNotes— Quotes and credit notesclient.contacts— Customers and suppliersclient.projects— Project managementclient.bank.accountsandclient.bank.connections— Bank accounts and connectionsclient.categories— Category managementclient.timeEntries— Time tracking, withtimerclient.documents— Document managementclient.recurringInvoices— Recurring invoice seriesclient.metrics— Financial analyticsclient.organizations— Organization settingsclient.members— Team member managementclient.integrations— Integration managementclient.billing— Usage billing: events, meters, products, prices, subscriptions