Skip to main content
1.2.5
Current

Added

The envelope now includes schema_version to make compatibility rules explicit across client versions. A deprecation_warnings array is present for non-breaking notices that require developer attention without altering runtime behavior.

Changed

Cache metadata was expanded; request.cache_info now reports is_cached, cached_at, and expires_at where applicable. Documentation was updated across Quickstart, Authentication, Caching, Endpoints, and Types to reflect the single-header model and the simplified cache API.

Fixed

Status codes and envelope fields are now strictly aligned for error cases that previously returned partial metadata in rare edge conditions during upstream failures.
1.2.4

Added

Additional request timing fields improved end-to-end latency analysis in high-volume scenarios.

Changed

Authentication was simplified in practice to a single required header, X-API-Key. The Server-Token header is no longer required by the API. Documentation and examples were adjusted to default to the single-header flow while still accepting dual headers from older clients during the sunset period.
1.2.3

Added

Introduced the /v1/perform endpoint in limited beta.

Changed

Search response titles in data.sources now prefer canonical documentation URLs when multiple equivalents are available.
1.2.2

Added

Caching behavior was clarified and enforced per API key. The x-cache-ttl request header became the single interface for freshness control. Valid values are 0 to 3600 seconds. Setting 0 disables caching for the request. Caching remains isolated to the caller’s API key.

Changed

Quickstart and Endpoint pages added explicit examples for x-cache-ttl usage in Python, Node.js, and cURL.
1.2.1

Added

The request object in the envelope gained endpoint and method fields to simplify server-side analytics. The request.id now uses a uniform format for easier correlation across logs and dashboards.

Fixed

Improved handling of long query strings in /v1/search by normalizing encoding rules to prevent accidental truncation in certain HTTP clients.
1.2.0

Added

Introduced the request object in all responses. It includes params, payload (for POST), status_code, requested_at, served_at, and elapsed_ms. This unifies telemetry and simplifies instrumentation. A new status page entry in the docs highlights real-time uptime and incident history.

Changed

Top-level response remained backward compatible during this release, with request metadata available in parallel ahead of future consolidation.
1.1.6

Added

The Types reference page documents normalization guarantees for field names, timestamps, numbers, booleans, arrays, and currencies. The Reference section gained dedicated pages for Errors and Caching.

Fixed

Corrected a serialization issue where empty arrays could be emitted as null in rare upstream formats; arrays are now preserved even when empty.
1.1.5

Added

Expanded data.sources entries in /v1/search to always include title and url. The endpoint now returns stable answer_text for identical queries under consistent content conditions.

Fixed

Eliminated a timing discrepancy that could report served_at earlier than requested_at under clock skew on certain edge nodes.
1.1.4

Added

API Reference playground pages received live examples for /v1/extract and /v1/search with copy-paste code for Python, Node.js, and cURL. The Support page now recommends including request.id and UTC timestamps for faster triage.
1.1.3

Added

Introduced stable error codes for common scenarios including INVALID_OR for malformed or unreachable URLs and DATABASE_CONNECTION for transient data-store issues. These codes are now guaranteed to remain stable across minor releases.

Fixed

Resolved inconsistent percent_change rounding that could display a difference of 0.01 in specific locales.
1.1.2

Added

Initial rollout of per-key caching controls with the x-cache-ttl header. Allowed values from 0 to 3600 seconds, applied only to successful GET requests. The feature shipped in opt-in mode with explicit documentation examples.

Changed

The Quickstart guide added environment variable conventions for UAPI_API_KEY.
1.1.1

Added

Search endpoint results now include a consistent array structure for sources with stable key order to improve deterministic snapshots in tests.

Fixed

Corrected HTTP 429 messaging to provide clearer retry-after guidance where rate limits were exceeded.
1.1.0

Added

Introduced the /v1/search endpoint. Responses include data.answer_text and a data.sources array of citations. This enables question-answer workflows with traceable references.

Changed

Docs navigation gained dedicated Endpoints and Reference groups to separate task-oriented guides from API contracts.
1.0.5

Added

Top-level uapi_version was added to all responses to help clients pin behavior. Error envelope shape was finalized with success, data, and error objects always present even on non-2xx statuses.

Fixed

Improved Unicode handling for titles and names to avoid accidental normalization of special characters.
1.0.3

Fixed

Stabilized id generation to avoid collisions under extremely high concurrency in load tests.
1.0.1

Fixed

Hardened input validation for the url parameter in /v1/extract, returning clear 400 errors on unsupported schemes and malformed inputs.
1.0.0

Added

Initial GA release with the /v1/extract endpoint. Responses returned a consistent envelope including id, success, data, and error. Authentication required an API key via the X-API-Key header. The first iteration of the documentation included Quickstart and Endpoint basics for immediate integration.