API Changelog
This page documents all changes to the Portfolio Tracker Consumer API. We follow semantic versioning. Breaking changes are announced at least 90 days.
Last reviewed
v1.2.0: Estate and Residency Agent Tools (September 2026)
Two new read-only tools on the MCP server, each behind its own scope. Neither scope is added to an existing key: tick it on the Developer Page when you create or edit a key.
- get_estate_status (
estate:read): which estate documents you have on TheWILL.ai, the status of each and a suggested next step as a link. Statuses only, never document content. - get_residency_day_counts (
residency:read): days present per country over a date range, with threshold proximity, from Expat183. Counts only, never your location history.
v1.1.0: Namespaced Scopes and Developer Hub (June 2026)
This release tidies up API key scopes and gives the developer tools a canonical home. Neither change affects your existing integrations.
- Namespaced scopes: API key scopes are now namespaced, so
readbecomesportfolio:readandwritebecomesportfolio:write. This is a non-breaking change. Existing keys were updated automatically, so no action is required. - Developer hub: the developer tools now have a canonical home at
/account/developer. The Portfolio Tracker routes/assets/portfolio/developerand/assets/portfolio/api-docsremain live and show the same tools (they are not deprecated), so your bookmarks will continue to work.
v1.0.0: Initial Release (April 2026)
This is the initial public release of the Portfolio Tracker Consumer API. The following endpoints and features are now available:
- Holdings endpoint: Read-only aggregated holdings priced from delayed market feeds
- Transaction endpoints: Record buy, sell, dividend, and transfer transactions
- Analytics endpoints: Portfolio performance, allocation breakdown, and gain/loss summaries
- Import endpoints: Upload brokerage statements (Interactive Brokers, Schwab, Zerodha formats)
- Webhook endpoints: Register HTTPS endpoints for real-time event notifications on webhook-enabled plans
- Security and watchlist endpoints: Look up securities, retrieve prices, and view or add items to your watchlists
- Account endpoints: List and view your tracked portfolio accounts (read-only)
- Tax endpoints: Access tax lot calculations and capital gains reports
- Authentication: Personal API keys with Argon2 hashing and Bearer token auth
- Rate limiting: Tier-based rate limits; the figures at release were Silver: 50/hr, Gold+: 2,000/hr, VIP: unlimited (historical, see the live Rate Limits section for current figures)
Versioning and Deprecation Policy
The Portfolio Tracker Consumer API uses URL versioning: every endpoint is prefixed with /api/v1/portfolio/ext/. The same rules apply to every external surface, including the tools our MCP server offers AI agents.
What counts as a breaking change
- Additive (not breaking): new fields on responses, new endpoints, new optional query parameters, new webhook events and new MCP tools. These can arrive at any time and do not change the version.
- Breaking: a removed or renamed field, endpoint or MCP tool, a changed field type, a new required parameter, or a change to how you authenticate.
Notice and support periods
- A breaking change is announced at least 90 days before it takes effect.
- When a new API version is released, the previous version keeps working at least 180 days afterwards.
- Security fixes and legal requirements may need shorter notice; we will say so here and explain why.
How you are told
- This changelog: every deprecation is listed here with its retirement date.
- Response headers: every response from a deprecated path carries
Deprecation,Sunset(the retirement date) and aLinkheader withrel="deprecation"pointing back to this page. - Machine-readable policy:
/api/v1/api-policy/returns these periods and every live deprecation as JSON.
At the retirement date
From the date in the Sunset header, the retired path answers 410 Gone with the code api_sunset and the replacement to move to. Your API key keeps working for everything that has not been retired.
Deprecation header. Together they keep an additive change from breaking you and make sure a deprecation does not go unnoticed.Staying Informed
There are several ways to stay up to date with changes to the API:
- This page: Bookmark this changelog and check back regularly for updates
- Webhooks: Webhook subscriptions notify your application about activity in your portfolio, such as new transactions, corporate actions and completed imports. They do not carry API version or deprecation notices, so use this page for those. The webhook reference below lists every event you can subscribe to
- Contact support: If you have questions about upcoming changes or need migration assistance, reach out via the contact form below
Related Topics
Getting Started
Set up your API key and make your first request
Code Examples
Sample code in Python, JavaScript, and cURL
Webhook Reference
Configure real-time event notifications
API Documentation
Full interactive API reference
Professional API Changelog
The same versioning and deprecation rules, for the Professional API
Can’t find what you’re looking for?
Our support team is here to help. Contact us and we’ll get back to you as soon as possible.
Contact Support
