API

API keys and an MCP server — connect your tasks and finances to automation or to an assistant.

Ordiarion offers two ways in for programs: a simple REST API for tasks, and an MCP server for the financial side — the standard connector through which an assistant (Claude and others) reads and runs your budget, loans, debts, accounts, income and recurring costs. The same key protects both.

Creating a key

In Settings, under "API keys", give the key a name and tick its permissions. The raw key value is shown exactly once, right after creation — save it right away, it can't be recovered later (you can always create a new one or revoke the old one).

Permissions

A key then sits in a config file for months, so it does not get everything your account can do — it gets what you tick:

Permission What it opens
Tasks The task REST API. Can be narrowed further to a single category, and then the key only sees tasks in it.
Finances — read The MCP server, but only the tools that read.
Finances — change The tools that add and change things: transactions, instalments, repayments. Includes reading.
Content and marketing Publishing articles. Only shown on an admin account.

A read-only finance key is not shown the tools that change anything, and one called by name anyway is refused. That is the right choice when you want an assistant to summarise your spending without the right to touch it.

Authentication

Every request must include this header:

Authorization: Bearer <your-key>

The MCP server (finances)

Address: https://ordiarion.com/api/mcp. Streamable HTTP transport, and stateless — every request carries its own key, so there is no session to expire.

Connecting from Claude Code:

claude mcp add --transport http ordiarion \
  https://ordiarion.com/api/mcp \
  --header "Authorization: Bearer <your-key>"

In clients with their own connector dialog (Claude Desktop, other MCP clients) enter the same address and the same header.

What the server offers

Tools — one per action, grouped by module:

Module Tools
Overview finance_overview — everything at once, a good first call
Calendar calendar_month, calendar_upcoming, list_planned, create_planned, update_planned, delete_planned, mark_planned_paid
Budget categories (list_categories, create_category, update_category, delete_category), transactions (list_transactions, create_transaction, update_transaction, delete_transaction), month_summary, list_projects, project_detail
Loans list_loans, loan_detail, loans_summary, create_loan, update_loan, delete_loan, pay_loan_installment, revert_last_loan_payment
Debts list_debts, debt_detail, debts_summary, create_debt, update_debt, delete_debt, repay_debt, revert_debt_repayment
Accounts and net worth list_accounts, create_account, record_account_balance, net_worth, list_assets, reconciliation
Recurring costs list_recurring, recurring_summary, recurring_period, create_recurring, delete_recurring, pay_recurring, recurring_suggestions
Income list_income_sources, list_income_entries, add_income_entry, income_year

Resources — fixed addresses to pin to a conversation: ordiarion://guide (how the modules relate to each other), ordiarion://finance/overview, ordiarion://calendar/upcoming, ordiarion://budget/categories, ordiarion://budget/current-month, ordiarion://loans, ordiarion://debts, ordiarion://accounts.

Ready-made questions — to pick from a list instead of writing from scratch: review the month, find money that left no trace, plan getting out of debt, audit the subscriptions, and what is still coming this month.

Worth knowing

  • A key reaches only the account it belongs to. There is no "whose data" parameter, and a budget someone else shared with you is opened in the app, not through a key.
  • Recording an instalment (pay_loan_installment), ticking off a recurring bill (pay_recurring) and ticking off a calendar entry (mark_planned_paid) write the expense into the budget by themselves. Do not add a matching transaction as well.
  • Amounts travel as strings with a dot ("129.99"), dates as YYYY-MM-DD, months as YYYY-MM. No month means the current one.

Task endpoints

All paths start with https://ordiarion.com/api/public/tasks. Task statuses are TODO or DONE. Creating and deleting tasks is deliberately not part of this API — those two actions stay in the UI; the key is for checking and updating what already exists.

Method Path Description
GET / List tasks (optional status query param)
GET /{id} Single task
PATCH /{id}/status Change status, body {"status":"DONE"}
GET /{id}/comments Task comments
POST /{id}/comments New comment, body {"body":"…"}

A task outside the key's scope (someone else's, or in a different category than the one the key is scoped to) returns 404, same as one that doesn't exist at all.

Example

curl -H "Authorization: Bearer <your-key>" \
     https://ordiarion.com/api/public/tasks?status=TODO

Revoking

In Settings, next to the key, the "Revoke" button — takes effect immediately and can't be undone. Any automation using that key loses access right away, and so does a connected assistant.