> Section "Versioning and changelog" of the AthanLab Developer API documentation (API version 1.0.0). On the web: https://athanlab.com/docs#versioning. Whole documentation as Markdown: https://athanlab.com/docs.md # Versioning and changelog Within `/api/v1`, changes are **additive** only: new endpoints, optional request fields, response fields, error codes and job-failure codes. Build clients that ignore fields they do not know. Handle a code you do not know by its `retryable` flag and, for an HTTP error, its status. Anything that could break a working integration ships as a new version. Every key owner hears about it by email at least **90 days** before the old behavior is removed. ## Changelog - **AthanInbox**: `POST /deliveries` and `GET /deliveries/{id}` send audio to the key owner’s AthanInbox on athanlab.com (see [AthanInbox](https://athanlab.com/docs#athaninbox)). An additive change: the version stays 1.0.0. - **1.0.0**: asynchronous speech jobs (`/speech`), voices, usage and the OpenAPI document. ## Retired endpoints The earlier preview endpoints `POST /generate` and `GET /balance` are retired and return [410 endpoint_removed](https://athanlab.com/docs#errors-endpoint_removed). Sign-in-token access has been removed too: send an API key. Any other credential returns [401 invalid_api_key](https://athanlab.com/docs#errors-invalid_api_key) and counts toward the per-network limit on failed key checks. | Endpoint | Returns | Use instead | Note | | --- | --- | --- | --- | | POST /generate Synchronous generation | [410 endpoint_removed](https://athanlab.com/docs#errors-endpoint_removed) | [POST /speech](https://athanlab.com/docs#endpoint-post-speech) | Create an asynchronous job with `POST /speech`, poll it, then download the audio. | | GET /balance Balance | [410 endpoint_removed](https://athanlab.com/docs#errors-endpoint_removed) | [GET /usage](https://athanlab.com/docs#endpoint-get-usage) | Use `GET /usage`. | The OpenAPI document lists them under `x-removed-endpoints`, not as operations.