API From API key to first response in minutes

Build your own view of your budget.

The Kualia REST API gives your scripts, spreadsheets, and personal tools direct access to transactions, accounts, merchants, categories, and monthly envelope assignments.

Read and write access Review queue by default Revocable API keys
Kualia API v1
api.kualia.com
Request GET
curl "https://api.kualia.com/v1/
  workspaces/{workspace_id}/transactions
  ?since_date=2026-07-01&limit=3" \
  -H "Authorization: Bearer $KUALIA_API_KEY"
Response 200 OK
{
  "data": {
    "currency": "USD",
    "transactions": [
      {
        "date": "2026-07-12",
        "merchant_name": "Whole Foods",
        "category_name": "Groceries",
        "amount": "-84.26"
      },
      { "merchant_name": "City Bikes", "amount": "-18.00" }
    ],
    "next_cursor": null
  }
}

Budget preview

Recent activity

2 rows

Whole Foods

Groceries · Jul 12

−$84.26

City Bikes

Transport · Jul 11

−$18.00
Returned as JSON
Amounts decimal strings

What you can build

Your budget is not trapped in the app.

Kualia exposes the same core objects you work with every day. Read them, change them, and connect them to the rest of your personal system with a predictable REST interface.

Keep your data in sync

Pull transactions and balances into a spreadsheet, database, dashboard, or personal archive on your schedule.

Build your own reports

Combine normalized transactions, merchants, categories, and account balances into the view that makes sense to you.

Manage the full budget

Create and update transactions, organize categories, maintain manual accounts, and set monthly envelope assignments.

Automate the repetitive parts

Import batches, clean up merchants, watch for spending changes, or connect Kualia to the tools you already run.

Keep writes reviewable

New API transactions enter the review queue by default, so automations can help without quietly taking over your books.

Give each tool its own key

Create read-only or read-write keys per integration, then revoke one without interrupting everything else.

Quick start

From key to useful in three calls.

No SDK is required. Every endpoint uses JSON over HTTPS, bearer authentication, and versioned paths under /v1.

01

Create a key

Open Settings → API Keys in the Kualia web app. Choose read-only or read-write access.

kualia_••••••••••••
02

Find your workspace

Call the workspaces endpoint once to get the id used by the rest of the API.

GET /v1/workspaces
03

Build what you need

Use ordinary HTTP and JSON from any language, automation service, or command line.

GET /v1/workspaces/{id}/transactions
Follow the API quick start
Prefer conversation?

Use the MCP server instead.

The REST API is for code you control. The MCP server connects Kualia directly to Claude, ChatGPT, Cursor, and other AI clients with an OAuth approval flow.

Explore MCP

Who built this

Built by one person, used every day.

I got tired of budgeting apps that were either bloated with team features I would never use or so basic they could not handle real life. So I built the one I wanted, and I use it every day to run my own finances.

Solo built

One developer, no investors. Every decision is made for the person using the app.

Used by its maker

I budget with Kualia every day, so the rough edges get sanded down fast.

Direct support

Every email lands in my inbox. No ticket queues, no chatbots in between.

Public roadmap

Request features, vote on ideas, and follow what is shipping in the open.

No data resale

Your transactions are your business. Kualia never sells your data to anyone, ever.

Ships often

Small updates land most weeks. New features ship every month. Nothing sits in committee.

FAQ

Questions about the REST API.

Keys, access, safe writes, and where the API fits next to MCP.

What can I access through the REST API?

You can read and write transactions, accounts, merchants, categories, category groups, and monthly envelope assignments. You can also list the user and workspaces attached to your key.

How do I create an API key?

Open the Kualia web app, go to Settings → API Keys, and choose Create Key. The full key is shown once, so copy it into your password manager or secret store before closing the dialog.

Can I make a read-only key?

Yes. Read-only keys can call GET endpoints but cannot create, change, or delete anything. Use a separate key for each integration so you can revoke access without interrupting your other tools.

What happens when an automation creates a transaction?

New API transactions enter the in-app review queue by default. You can verify the amount, merchant, and category before treating the transaction as final. You can explicitly mark trusted writes as reviewed when you create them.

Is there a rate limit?

Each API key can make 200 requests per hour. Transaction creation supports batches of up to 100 rows, which makes imports efficient without burning through the limit one row at a time.

How is the REST API different from the MCP server?

Use the REST API when you are writing a script, integration, dashboard, or automation. Use the MCP server when you want an AI assistant such as Claude or ChatGPT to work with your budget through a consent-based OAuth connection.

How should I store my API key?

Treat it like a password. Keep it in an environment variable or secret manager, never commit it to source control, and revoke it immediately if it is exposed.

Get in touch

Still have questions?

Need help getting started or want to suggest a feature? I read every message.

Email me at support@kualia.com

Request features and vote on ideas on the public board