Changelog
Changes to the public REST API, SDKs, MCP server, and documentation. Purely internal changes (infrastructure, tests, refactors) are not listed here. All dates are UTC.
The API version field in webhook payloads is currently 2026-03-18. We will publish a new api_version string whenever a breaking change lands and follow a 6-month deprecation window before the old version stops being served. See Versioning.
2026-04
Added
- Docs: Files API reference page (/api-reference/files) covering
GET /v1/jobs/:id/files,POST /v1/files/:id/refresh_url, and video keyframe retrieval. - Docs: Expanded MCP / AI agent integration guide with accurate 7-tool list (
create_job,create_job_and_wait,get_job,list_jobs,cancel_job,get_job_files,get_credits), Claude Code / Claude Desktop / Cursor configuration snippets, and an end-to-end agent pattern. - Docs: Webhook handling guide now covers 11 event types —
job.flagged,credits.purchased,credits.low_balance,credits.auto_topped_up,credits.expiring_soon,credits.expired. - Docs: Worker Platform overview (/guides/worker-platform) — buyer-facing explanation of worker tiers, priority window, and payout model.
- Docs: Pre-check gates section in the AI Scoring Rubric — explains submissions rejected before scoring (resolution floor, duration bounds, reverse image search, authenticity signals, Whisper hallucination suppression, content-hash dedup).
- API: Account deletion endpoint for workers per Apple Guideline 5.1.1(v).
Fixed
- API:
cancel_jobprotected bySELECT FOR UPDATE— double-cancel on concurrent requests can no longer double-refund. Emits a singlejob.cancelledwebhook. - API:
onSendhooks hardened againstERR_HTTP_HEADERS_SENTduring idempotency cache replay (no more crash-loop on cached-response paths).
2026-03
Added
- API:
submission.scoredwebhook event (fires for every scored submission, approved and rejected) carrying full annotation payload and star rating. - API: Video keyframe extraction — 3 representative frames per video persisted to S3; URLs returned on the file object.
- API: Device info + worker region + tiered worker prioritization (new/bronze/silver/gold/diamond). Buyer-observable via
file.device_infoandfile.worker_region; priority tiers are worker-side. - AI Scoring: 5 audio annotation additions —
emotion_tone,room_acoustics,background_sounds, per-segmentconfidence, andspeaker_demographics. - AI Scoring: Production-grade image annotations — object confidence scores,
safety(nsfw/violence/pii),quality_metrics(blur, exposure, noise). - AI Scoring: Automatic EXIF normalization — images are rotated to correct orientation before scoring and delivery.
- API:
captured_atfield on file responses (device EXIF capture timestamp, distinct fromcreated_at). - API: GPS geotag on submissions (
worker_regionderived server-side from GPS). - API: 8 server-side fraud detection checks on upload (device attestation, content hash, velocity, EXIF consistency, among others).
Fixed
- Billing: Stripe webhook raw body parsing — credits now apply on purchase (previously stuck until manual reconciliation).
- Payouts: Stripe Connect refresh syncs live status from Stripe to DB on poll.
- Race conditions: Timing-safe secret comparison across key rotations; no more race windows on rotate → use-of-old.