WealthTrackr

For your own data

WealthTrackr Personal Data API

Read-only REST API for accessing your personal financial data.

Overview

The WealthTrackr Personal Data API exposes your financial data as JSON over HTTPS. All endpoints are read-only and require authentication via a personal API key. Create and revoke keys from Settings → Personal API access in the app. The full wtk_… key is shown once at creation; store it in a secret manager and never commit it.

Base URL

https://server-production-c1e82.up.railway.app

Authentication

Send your API key using either header:

Authorization: Bearer wtk_your_api_key_here

or

X-API-Key: wtk_your_api_key_here

A missing, malformed, or revoked key returns 401 Unauthorized. Keys are read-only: they cannot write, delete, or modify any data. Revocation is immediate.

Example Request

curl --fail --silent --show-error \
  -H "Authorization: Bearer $WEALTHTRACKR_API_KEY" \
  https://server-production-c1e82.up.railway.app/v1/data/metrics

Endpoints

GET/v1/data/summary

Net worth, asset/liability totals and counts, latest snapshot, and as_of timestamp.

Response (200 OK)

{
  "net_worth": 128400.00,
  "total_assets": 145000.00,
  "total_liabilities": 16600.00,
  "asset_count": 5,
  "liability_count": 2,
  "latest_snapshot": {
    "id": "uuid",
    "month": "2026-08",
    "net_worth": 128400.00,
    "total_assets": 145000.00,
    "total_liabilities": 16600.00,
    "category_breakdown": { "bank_accounts": 50000.00 },
    "notes": null,
    "timestamp": "2026-08-01T12:00:00Z"
  },
  "as_of": "2026-09-01T12:00:00Z"
}
GET/v1/data/items

Account categories and items, including ownership-adjusted effective_value.

Parameters

typestring (optional)Filter by account type. One of "asset" or "liability".

Response (200 OK)

{
  "categories": [
    {
      "id": "bank_accounts",
      "title": "Bank Accounts",
      "type": "asset",
      "total": 50000.00,
      "items": [
        {
          "id": "uuid",
          "label": "Checking",
          "value": 5000.00,
          "ownership_percentage": 100,
          "effective_value": 5000.00,
          "liquidity_rating": "high",
          "notes": null,
          "last_updated": "2026-08-01T12:00:00Z"
        }
      ]
    }
  ]
}
GET/v1/data/snapshots

Monthly net-worth snapshots, newest first.

Parameters

limitinteger (optional)Number of snapshots to return. Must be between 1 and 1000. Defaults to all.

Response (200 OK)

{
  "snapshots": [
    {
      "id": "uuid",
      "month": "2026-08",
      "net_worth": 128400.00,
      "total_assets": 145000.00,
      "total_liabilities": 16600.00,
      "category_breakdown": { "bank_accounts": 50000.00 },
      "notes": null,
      "timestamp": "2026-08-01T12:00:00Z"
    }
  ]
}
GET/v1/data/metrics

Monthly check-in history with derived financial metrics. Credit score and each monthly money value are independently optional; every record contains at least one score or money value. Calculated fields are null when their required inputs were not recorded.

Response (200 OK)

{
  "latest": {
    "month": "2026-08",
    "credit_score": null,
    "monthly_income": 7500.00,
    "monthly_expenses": 4000.00,
    "monthly_debt_payments": null,
    "monthly_savings": 1500.00,
    "retirement_savings": null,
    "debt_to_income_ratio": null,
    "monthly_cash_flow": 3500.00,
    "savings_rate": 20.0,
    "updated_at": "2026-08-01T12:00:00Z"
  },
  "history": [/* same shape, newest-first */]
}

Response Format

All responses use JSON with snake_case field names. Monetary values are returned as floating-point numbers in USD. The /v1/data/metrics endpoint returns the newest entry in latest and all entries newest-first in history; calculated fields (debt_to_income_ratio, monthly_cash_flow, savings_rate) are null when their required inputs were not recorded.

Errors

401Missing, malformed, or revoked API key.
422Validation error (e.g. invalid query parameter).
429Rate limit exceeded.
500Internal server error.

Rate Limiting

API endpoints are rate-limited to prevent abuse. If you exceed the limit, you will receive a 429 response. Retry with exponential backoff.

Machine-Readable Spec

An OpenAPI 3.1 specification is available at /openapi.json for code generation and tooling integration. An AI-friendly summary is available at /llms.txt.

Support

GitHub: apercallc/wealthtrackr · Email: security@apercallc.com

© 2026 Apercall LLC · Privacy · Terms

Personal Data API documentation | WealthTrackr