Changelog

Every change, dated.

API contract changes, SDK releases, and model or calibration swaps. A model or calibration entry always links its regenerated curves on /reliability. Notice rules for breaking changes are on Versioning and deprecation.

Calibrator re-stamped: cal-2026.08-1

  • Model

    meta.calibrator_version now reads cal-2026.08-1. The fit is unchanged: identical model, curves and splits to cal-2026.07-6, re-stamped after an internal configuration change to keep the published provenance hash current. Curves for both versions stay published at /reliability.

Free account limits

  • Changed

    An account that has not topped up or saved a card now runs at 2 requests per second and 100 pages per day. A first top-up or a saved card moves it to the default limits (10 requests per second, no daily quota). Per-key limits set for you are unchanged. Docs.

The initial public contract

  • Added

    POST /v1/extract (sync, up to 20 pages), POST /v1/jobs and GET /v1/jobs/:id (async, results by polling or webhooks), POST /v1/uploads for staged documents up to 50 MiB, and GET /v1/health. One error shape with stable codes. Full reference at /docs.

  • Added

    Idempotency-Key on POST /v1/extract and POST /v1/jobs: a retried request replays the stored response for 24 hours instead of running twice; a reused key with a different body returns 409 idempotency_key_conflict. Docs.

  • Added

    Webhook deliveries are signed per the Standard Webhooks scheme: webhook-id, webhook-timestamp and webhook-signature headers over id.timestamp.body, with whsec_ secrets. Docs.

  • Added

    Every response carries an x-request-id header; the same id appears as error.request_id in error bodies and meta.request_id in results. For an async job, the 202 body, the result and the webhook delivery carry one id. Docs.

  • Added

    Every response carries a velrim-version header naming the contract version, currently 2026-08-10. The promise it anchors is on Versioning and deprecation.

  • Added

    @velrim/sdk (npm) and velrim (PyPI): Zod/Pydantic models or plain JSON Schema, automatic retries with backoff and Retry-After, per-request idempotency keys, verifyWebhook / verify_webhook for deliveries, and request_id on errors and job handles.

  • Added

    The enforced limits, documented exactly: 20 MiB inline and 50 MiB staged, the 20-page sync cap, rate limits, the webhook retry schedule and 24-hour result retention.

Served stack: gemini-2.5-flash, calibrator cal-2026.07-6

  • Model

    The stack behind the API today: model gemini-2.5-flash, calibrator cal-2026.07-6. Curves for this calibrator are published at /reliability, and meta.calibrator_version on each response names the stack that produced it. Every model or calibration change gets an entry here with regenerated curves; the wire shape never changes with the stack.