Expensicat

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/rest

Quick 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 operations
  • client.inbox — Inbox operations
  • client.invoices — Invoice management, with payments, templates, artifacts and transmissions
  • client.quotes and client.creditNotes — Quotes and credit notes
  • client.contacts — Customers and suppliers
  • client.projects — Project management
  • client.bank.accounts and client.bank.connections — Bank accounts and connections
  • client.categories — Category management
  • client.timeEntries — Time tracking, with timer
  • client.documents — Document management
  • client.recurringInvoices — Recurring invoice series
  • client.metrics — Financial analytics
  • client.organizations — Organization settings
  • client.members — Team member management
  • client.integrations — Integration management
  • client.billing — Usage billing: events, meters, products, prices, subscriptions

On this page