Vendors & Categories
List and create the vendors and expense categories used to classify expenses.
Overview
Vendors are who you pay (Azure, Uber, your accountant). Expense categories group expenses for reports (Travel, Software & subscriptions...). Both are scoped to a company and belong to the Expenses module: if it is turned off, these endpoints return 403 with code expenses_module_disabled.
| Method | Path | Permission | Description |
|---|---|---|---|
GET | /v1/vendors | read | List vendors (cursor pagination, query search by name) |
POST | /v1/vendors | write | Create a vendor, or return the existing one with the same name |
GET | /v1/expense-categories | read | List all expense categories of the company |
List Vendors
Create a Vendor
Only name is required. If a vendor with the same name already exists (case-insensitive), it is returned with status 200 instead of creating a duplicate; a new vendor returns 201.
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Vendor name (max 160 chars) |
tax_id | string | No | Vendor tax / VAT id |
email | string | No | Contact email |
List Expense Categories
Returns every category of the company in display order (it is a short catalog, so has_more is always false). Each company starts with a default set; defaults have a stable system_key (software, payment_fees, meals, travel, marketing, office, professional_services, equipment, taxes_fees, other) while custom categories have system_key: null.
There is no endpoint to create categories directly: send category_name when creating or updating an expense and the category is created if it does not exist.