WealthMgr Docs

All API key requests must include an Authorization: Bearer <token> header. See API Overview for how to generate a key.

API key access requires a Starter or higher plan. Free tier requests return 403 Forbidden. Each plan includes a monthly call quota.

Accounts

GET /api/accounts

Returns all accounts for the authenticated user.

Response

[
  {
    "id": "acc_abc123",
    "name": "Current Account",
    "type": "asset",
    "subtype": "checking",
    "currency": "GBP",
    "balance": 2450.00,
    "archivedAt": null
  }
]
POST /api/accounts

Creates a new account.

Request body

{
  "name": "Savings",
  "type": "asset",
  "subtype": "savings",
  "currency": "GBP",
  "openingBalance": 1000.00
}

Response

{
  "id": "acc_xyz789",
  "name": "Savings",
  "type": "asset",
  "subtype": "savings",
  "currency": "GBP",
  "balance": 1000.00,
  "archivedAt": null
}

Transactions

GET /api/transactions

Returns transactions for the authenticated user. Supports pagination and filtering.

Parameters

NameInTypeRequiredDescription
accountId query string No Filter by from or to account ID
from query string No Start date (ISO 8601, e.g. 2024-01-01)
to query string No End date (ISO 8601, e.g. 2024-03-31)
limit query number No Max results (default 50, max 200)
offset query number No Pagination offset (default 0)

Response

{
  "transactions": [
    {
      "id": "txn_abc",
      "fromAccountId": "acc_abc123",
      "toAccountId": null,
      "fromAmount": 45.00,
      "fromCurrency": "GBP",
      "toAmount": 45.00,
      "toCurrency": "GBP",
      "description": "Groceries",
      "date": "2024-03-15"
    }
  ],
  "total": 142
}
POST /api/transactions

Creates a new transaction. Use fromAccountId for expenses (money leaving an account) and toAccountId for income (money entering). Set both for transfers between accounts.

Request body

{
  "fromAccountId": "acc_abc123",
  "toAccountId": null,
  "fromAmount": 45.00,
  "fromCurrency": "GBP",
  "toAmount": 45.00,
  "toCurrency": "GBP",
  "description": "Groceries",
  "date": "2024-03-15"
}

Response

{
  "id": "txn_xyz",
  "fromAccountId": "acc_abc123",
  "toAccountId": null,
  "fromAmount": 45.00,
  "fromCurrency": "GBP",
  "toAmount": 45.00,
  "toCurrency": "GBP",
  "description": "Groceries",
  "date": "2024-03-15"
}

Automations

Info

Creates automation rules in your cloud-synced database. Requires cloud sync to be enabled on your account (Starter plan or higher).
POST /api/automations

Creates a new automation rule. The rule is written directly to your cloud database and will be picked up on the next sync.

Request body

{
  "name": "Monthly savings transfer",
  "type": "transfer",
  "fromAccountId": "acc_abc123",
  "toAccountId": "acc_xyz789",
  "amount": 500.00,
  "currency": "GBP",
  "scheduleType": "text",
  "scheduleText": "every 1st day of month",
  "active": true
}

Response

{
  "id": "3f8a1c2d-...",
  "name": "Monthly savings transfer",
  "type": "transfer",
  "active": true,
  "nextRun": "2024-04-01"
}

Rule types

The type field accepts the following values:

TypeDescription
transferScheduled transfer between two accounts
transfer_splittedTransfer split across multiple destination pockets
transfer_remainingTransfer the remaining balance after other rules run
categorizationAuto-categorize matching transactions by keyword

Exchange rates

GET /api/rates

Returns the exchange rate between two currencies. Rates are updated daily.

Parameters

NameInTypeRequiredDescription
from query string Yes Source currency code (e.g. USD)
to query string Yes Target currency code (e.g. GBP)

Response

{ "rate": 0.79143 }

Schedule validation

POST /api/schedule/validate

Validates a schedule expression and returns the next 3 execution dates.

Request body

{
  "scheduleType": "text",
  "scheduleText": "every 1st day of month"
}

Response

{
  "isValid": true,
  "nextExecutions": [
    "1 Apr 2024",
    "1 May 2024",
    "1 Jun 2024"
  ]
}