API Documentation

MoneyBloomr API

Build financial workflows, synchronize data, and automate insights across MoneyBloomr. Use our APIs to manage accounts, transactions, dashboards, and templates with a secure, versioned interface.

Base URLhttps://api.moneybloomr.com/v1

Quickstart

Follow these steps to authenticate and confirm your integration is working.

  1. 1Create an API key in your MoneyBloomr workspace.
  2. 2Authenticate with Authorization: Bearer <key>.
  3. 3Make your first request to the /me endpoint.

Example: Fetch current workspace

curl -X GET   https://api.moneybloomr.com/v1/me   -H "Authorization: Bearer YOUR_API_KEY"
{
  "id": "wk_8f39a",
  "name": "MoneyBloomr Workspace",
  "currency": "USD",
  "timezone": "America/New_York",
  "plan": "Pro"
}

Authentication

MoneyBloomr supports API keys for server integrations and OAuth 2.0 for user-authorized access. Use the method that matches your app model.

API Keys

Send your API key in the Authorization header.

Authorization: Bearer YOUR_API_KEY

OAuth 2.0

Use OAuth for user-based permissions. Exchange an authorization code for an access token on your backend.

POST https://api.moneybloomr.com/oauth/token

{
  "grant_type": "authorization_code",
  "code": "AUTH_CODE",
  "redirect_uri": "https://moneybloomr.com/callback",
  "client_id": "CLIENT_ID",
  "client_secret": "CLIENT_SECRET"
}

Scopes & Permissions

OAuth tokens can be restricted to specific scopes.

  • accounts:readAvailable
  • transactions:readAvailable
  • transactions:writeAvailable
  • dashboards:readAvailable
  • dashboards:writeAvailable
  • templates:readAvailable
  • insights:readAvailable

Endpoints

Explore the core resources you can access with the MoneyBloomr API. Each group includes a minimal request and response example.

Accounts

Manage connected accounts and balances.

GET/accountsGET/accounts/{id}

Request

GET /accounts
Authorization: Bearer YOUR_API_KEY

Response

{
  "data": [
    {
      "id": "acct_01",
      "name": "Primary Checking",
      "type": "bank",
      "balance": 14250.32,
      "currency": "USD"
    }
  ]
}

Transactions

Sync and create transaction data.

GET/transactionsPOST/transactions

Request

POST /transactions
Authorization: Bearer YOUR_API_KEY

{
  "account_id": "acct_01",
  "amount": -42.5,
  "currency": "USD",
  "description": "Cafe Milano",
  "category": "Dining"
}

Response

{
  "id": "txn_93",
  "status": "created",
  "created_at": "2026-02-12T14:22:00Z"
}

Dashboards

Build dashboards and KPI layouts.

GET/dashboardsPOST/dashboards

Request

POST /dashboards
Authorization: Bearer YOUR_API_KEY

{
  "name": "Executive Overview",
  "layout": "grid",
  "widgets": ["net_worth", "cashflow", "alerts"]
}

Response

{
  "id": "dash_84",
  "status": "ready",
  "updated_at": "2026-02-12T14:30:00Z"
}

Templates

Access curated templates and metadata.

GET/templatesGET/templates/{id}

Request

GET /templates
Authorization: Bearer YOUR_API_KEY

Response

{
  "data": [
    {
      "id": "tpl_monthly_summary",
      "name": "Monthly Summary",
      "category": "Budget",
      "updated_at": "2026-01-15"
    }
  ]
}

Insights

Deliver smart insights and anomaly detection.

GET/insights

Request

GET /insights
Authorization: Bearer YOUR_API_KEY

Response

{
  "data": [
    {
      "id": "ins_77",
      "type": "spend_drop",
      "summary": "Dining spend decreased 12%",
      "severity": "low"
    }
  ]
}

Webhooks

Subscribe to real-time events.

POST/webhooks

Request

POST /webhooks
Authorization: Bearer YOUR_API_KEY

{
  "url": "https://moneybloomr.com/webhooks",
  "events": ["transaction.created", "insight.created"]
}

Response

{
  "id": "wh_31",
  "status": "active",
  "secret": "whsec_..."
}

Categories

Access category definitions for consistency.

GET/categories

Request

GET /categories
Authorization: Bearer YOUR_API_KEY

Response

{
  "data": [
    {
      "id": "cat_dining",
      "name": "Dining",
      "group": "Lifestyle"
    }
  ]
}

Rate limits

The API enforces rate limits to keep performance consistent for all customers. Limits reset every minute and can be increased for enterprise plans.

  • Standard limit600 requests/minute
  • Burst allowance100 requests
  • Enterprise limitCustom

Rate limit headers

x-ratelimit-limit: 600
x-ratelimit-remaining: 512
x-ratelimit-reset: 1707744000

When the limit is exceeded the API returns a 429. Wait for the reset timestamp before retrying.

Pagination

List endpoints use cursor-based pagination. Pass the cursor token to fetch the next page without missing results.

  • limit1-200
  • starting_aftercursor token

Example request

GET /transactions?limit=25&starting_after=txn_220
Authorization: Bearer YOUR_API_KEY
{
  "data": [{ "id": "txn_221" }],
  "next_cursor": "txn_221",
  "has_more": true
}

Errors

The API uses conventional HTTP response codes. Error responses are structured JSON with a code, message, and request ID.

400Invalid request

Missing or invalid parameters.

401Unauthorized

API key is missing or invalid.

403Forbidden

Insufficient scope for this action.

404Not found

The resource does not exist.

429Rate limited

Too many requests.

500Server error

Unexpected error. Retry later.

Error payload

{
  "error": {
    "code": "invalid_request",
    "message": "account_id is required",
    "request_id": "req_94d1c"
  }
}

Include the request_id when contacting support for faster resolution.

Webhooks

Receive real-time event notifications when transactions post or insights are generated. Webhooks are delivered with retries and signed payloads.

Events

transaction.created, insight.created

Retries

Up to 5 retries with exponential backoff over 24 hours.

Signature

Verify with the X-MB-Signatureheader using your webhook secret.

Webhook payload

{
  "id": "evt_812",
  "type": "transaction.created",
  "created_at": "2026-02-12T15:10:00Z",
  "data": {
    "transaction_id": "txn_93",
    "amount": -42.5,
    "currency": "USD"
  }
}

Respond with a 2xx status code to acknowledge receipt.

SDKs

Use the MoneyBloomr SDK to simplify authentication and request handling. The SDK wraps common endpoints with typed helpers.

JavaScript

npm install @moneybloomr/sdk

Python (beta)

pip install moneybloomr-sdk

Example usage

import { MoneyBloomr } from "@moneybloomr/sdk";

const client = new MoneyBloomr({
  apiKey: process.env.MONEYBLOOMR_API_KEY,
});

const accounts = await client.accounts.list();
console.log(accounts.data);

Changelog

Track new capabilities, improvements, and fixes to the MoneyBloomr API.

v1.12.0

Feb 12, 2026

  • Added dashboard widget endpoints for KPI blocks.
  • Improved webhook delivery retry visibility.

v1.11.0

Jan 18, 2026

  • New insight types for anomaly detection.
  • Expanded templates metadata fields.

v1.10.3

Dec 02, 2025

  • Bug fixes for transaction categorization.
  • Stability improvements for OAuth token refresh.

Clarity Creates Growth.

Build your personalized financial workspace today.