Comparison

Which SDK generator supports OpenAPI 3.1 webhooks?

Speakeasy, Stainless, Fern, and APIMatic all generate webhook-handling code from an OpenAPI spec today; OpenAPI Generator has partial, generator-by-generator support with open bugs. None of the five reads a bare 3.0 spec for this — Speakeasy and Fern specifically require the OpenAPI 3.1 top-level webhooks: keyword, and three of the five gate the feature behind a paid plan. Below is what each vendor's own docs said when checked on 2026-09-16.

Which generators support 3.1 webhooks? (verified table)

Speakeasy, Stainless, Fern and APIMatic read a native 3.1 webhooks: block; OpenAPI Generator reads it, but its output varies by language target.

Generator Reads native 3.1 webhooks:? What it generates Plan required Source (checked 2026-09-16)
Speakeasy Yes — docs state "You must use OpenAPI 3.1.0 or higher" Typed request/response objects per webhook, plus signature verification Business or Enterprise (paid add-on) speakeasy.com/docs/sdks/customize/webhooks
Stainless Yes — reads the top-level webhooks section client.webhooks.unwrap(payload) helper that parses + verifies signed events (Standard Webhooks spec) Paid feature stainless.com/docs/sdks/configure/webhooks
Fern Yes, natively for 3.1; 3.0 needs the x-fern-webhook: true extension instead WebhooksHelper class for signature verification, generated docs reference Enterprise plan (stated on the same cited page) buildwithfern.com — webhooks
APIMatic Yes (added October 2025) Type-safe webhook handlers with built-in HMAC signature verification, across C#, Java, Python, Ruby, and TypeScript Not published on this page apimatic.io — Oct 2025 highlights
OpenAPI Generator Partial — a 3.1 webhooks: block is read, but per-language output is inconsistent Varies by generator target; the C# generator has an open bug producing code that doesn't compile for root-level webhooks Free, open source github.com/OpenAPITools/openapi-generator

Do any of them read OpenAPI 3.0 webhooks?

No — 3.0 has no top-level webhooks: field to read, so every generator on this list treats webhook generation as a 3.1-plus feature (with Fern's x-fern-webhook extension as the one documented 3.0 workaround). This is a spec-text limitation, not a tooling gap: OpenAPI 3.0's Schema Object has no equivalent of the 3.1 webhooks: block, which sits at the same document level as paths:. If your spec is still on 3.0 and you need generated webhook handlers, either upgrade to 3.1 (see our 3.0-vs-3.1 guide) or use Fern's extension-based path.

What "supports webhooks" actually means, per vendor

It's not one feature — check which of these three you actually need before picking a generator:

  1. Type generation. Turning the webhook's requestBody schema into a typed object in the target language. All five do this once they recognize the webhook.
  2. Signature verification. Verifying the payload actually came from the API provider (HMAC or the Standard Webhooks spec). Stainless, Speakeasy, and APIMatic build this in; Fern's WebhooksHelper covers it via the x-fern-webhook-signature extension; OpenAPI Generator does not — you write verification by hand against the generated types.
  3. A dispatch/unwrap helper. A single method that takes a raw payload and returns the correctly-typed event (Stainless's client.webhooks.unwrap(payload) is the clearest example). Not every generator ships one — some just give you the types and leave routing to you.

Should this change which generator you pick?

Only if webhooks are a significant part of your API surface and you're already choosing between two otherwise-equal generators — in that case, the paid-plan gating on Speakeasy and Stainless is the more consequential fact than the type-generation itself, since both are capable once you're paying for the tier. If webhooks are a minor part of your spec, generate the types with whichever tool you'd otherwise pick and hand-write verification, which is a small amount of code against a documented HMAC scheme.

For a broader look at what generators handle beyond webhooks — language coverage, docs, release workflow — see Swagger Codegen vs modern SDK generators. For the spec side of modeling webhooks correctly before you generate anything, see OpenAPI webhooks: the right pattern in 3.1.

Sourced's SDK generator reads OpenAPI 3.1 specs including webhooks: and previews the generated TypeScript and Python surface before anything publishes — start free, no credit card required.