Inngest 1.45 returns 400 for unknown v2 fields: treat a Sume 400 alike

Inngest v1.45.0 rejects unmapped REST v2 request fields with HTTP 400. A Sume 400 invalid_request is the same fix-the-request signal; do not retry it.

5 min readSume
All posts

Inngest v1.45.0 (2026-09-17) now returns HTTP 400 for REST v2 requests with fields it does not map, instead of ignoring them, and a Sume 400 invalid_request carries the same instruction: fix the request before retrying. In an Inngest function that calls Sume, a 400 should end the step, not use up its retries.

The Inngest detail is from an aggregator of its release notes, so treat it as secondary: Releasebot's Inngest page, read 2026-10-03. The Sume rules are from Errors and rate limits and Generation admission. Sume's docs do not say whether it rejects unknown fields, and I did not test it.

What changed in Inngest 1.45?

Per that page, v1.45.0 also adds CEL filtering to REST v2 run-list endpoints, stores CLI OAuth credentials in the operating system's credential store, and makes CEL filter errors name unsupported fields. For v2 clients the migration note is to remove unsupported query parameters, since invalid fields now fail with 400. v1.45.1 the same day adds an option to drop permanently unroutable queue items.

What should a function do with a Sume 400?

Fail the step without retries, log error.code and error.request_id, and fix the request. Retrying cannot change a request body that is wrong. Retry only capacity and rate cases, and when you do, reuse the same Idempotency-Key so the retry returns the original job instead of billing twice.

Retry guidance from Sume's errors and admission pages, read 2026-10-03.
Status and codeRetry in the function?
400 invalid_requestNo, fix the request
401 unauthorizedNo, fix the key
402 insufficient_creditsNo, add funds or lower the cost
409 idempotency_conflictNo, the key was reused for a different payload
429 queue_fullLater, same key, after a job finishes or is canceled
429 rate_limitedAfter retry-after, same key
503 provider_capacity_exceededLater, same key

Sources

Related posts

More in Developers

All Developers posts

Written by Sume