Skip to main content
Additive changes may ship without notice; anything that can break an integration is listed here first.

2026-10-05

  • Deprecated: POST /v1/wastes, superseded by POST /v2/wastes. It keeps working and now answers with Deprecation and Link: </v2/wastes>; rel="successor-version" headers. No removal date yet; it will be announced here with notice.
  • Deprecated: POST /v1/waste/bulk-delete, superseded by POST /v2/wastes/delete (asynchronous, idempotent). Same headers, no removal date yet.
  • New: Errors in v2 follow RFC 9457 problem details (application/problem+json) for /v2/wastes, /v2/ingest-jobs and /v2/webhook-endpoints. Breaking for those BETA endpoints: rejected records moved from detail.records to errors, and validation errors from detail to errors.
  • New: v2 timestamps are UTC with Z (2026-10-05T09:35:07.921Z).
  • New: GET /v2/ingest-jobs lists your jobs; POST /v2/wastes?dry_run=true validates without writing.
  • Fixed: X-RateLimit-Limit now reports the bucket capacity, so X-RateLimit-Remaining never exceeds it; the IETF RateLimit and RateLimit-Policy headers are added (Rate limits).
  • New: OpenAPI document of the v2 API, for SDKs and Postman.
  • New: POST /v2/wastes/delete: asynchronous bulk delete as an ingest job.
  • New: Retry Webhook Delivery, and api_version in every event.

2026-10-01

  • New: Webhooks: signed ingest_job.finished events with retries.
  • Breaking (BETA): Idempotency-Key is required on POST /v2/wastes; the same key with a different body is 422 IDEMPOTENCY_KEY_REUSED.

2026-09-29

  • New: POST /v2/wastes (BETA): up to 5,000 wastes per request, validated as a whole, calculated asynchronously as an ingest job.