# Changelog

> API version: v1

While v1 is in beta we may change it in place, and every change is listed here. After the beta, breaking changes will go to a new version (`v2`) and v1 will keep working for an announced period.

Response objects are closed in the OpenAPI document: every field is described. New fields are announced here, and clients should tolerate added fields (ignore what they do not know) instead of failing on them.

The `contract:` line of an entry is the SHA-256 fingerprint of the API description (the OpenAPI document) as it was after that change, so you can tell whether the API you integrated against has changed.

## 2026-10-16: unknown query parameters are rejected

contract: 64cca979b4bf3195cdbdca7b3197ae33a35a176561c0164e225c3a6542c54f99

Every endpoint now answers `422 invalid_parameter` for a query parameter it does not document (see [errors](https://studyingstocks.com/developers/errors#invalid_parameter)). Before, unknown parameters were ignored. The OpenAPI document also describes every response object completely (`additionalProperties: false`), lists the always-present fields as `required`, and documents the 422 response of every endpoint.

## 2026-10-16: v1 beta

contract: ce6c85c7a0e302ee7a49df902e7e01605008bacda1198729ab1b60f675e49c7e

The first release of the API.

- Endpoints: `GET /companies`, `GET /companies/{symbol}`, `GET /companies/{symbol}/financials`, `GET /companies/{symbol}/financials/revisions`, `GET /companies/{symbol}/valuation` and `GET /status`.
- Line items: `revenue`, `net_income`, `eps_basic`, `dividends_per_share`, `free_cash_flow`, `shares_basic`, `shares_diluted`, `total_debt`, `cash_and_equivalents`, `roic` and `debt_to_fcf`.
- Periods: `ttm` and `annual`. Discrete quarters (`period=quarter`) and the items `eps_diluted`, `operating_cash_flow` and `capital_expenditure` are planned and not available yet.
- Authentication with the `X-Api-Key` header; limits of 60 requests per minute and 10,000 per day per key.
- OpenAPI 3.1 document, interactive reference, `llms.txt` and `skill.md`.
