For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Book a demoLog inStart for free
  • Overview
    • Introduction
    • How it works
    • Quickstart
    • Customer showcase
  • Working with SDKs
    • Project structure
    • Adding custom code
    • Migrating to Replay
    • Capabilities
  • Generators
      • Generating an SDK
      • Publishing to PyPI
      • Configuration
      • Adding custom code
      • Dynamic authentication
      • aiohttp support
      • Changelog
      • Customer showcase
  • Reference
    • generators.yml
Checking status...
SOC2Soc 2 Type II
© 2026 Fern • Birch Solutions, Inc., a Postman company

Documentation

SDKsDocsAsk FernCLI Reference

API Definitions

OpenAPIAsyncAPIOpenRPCgRPC

Resources

BlogSupportPricing

Company

Brand KitPrivacy PolicyTerms of Service
LogoLogo
Book a demoLog inStart for free
GeneratorsPython

Changelog

June 1, 2026
June 1, 2026

5.14.8

(fix): Fix construct_type crash on bare unparameterized dict, list, and set types. Previously, get_args() on a bare container returned an empty tuple, causing ValueError (dict) or IndexError (list/set). Now falls back to returning the object unchanged, matching Dict[Any, Any] / List[Any] / Set[Any] semantics.

5.14.7

(fix): Fix offset pagination so generated list endpoints emit a real _has_next instead of the literal True. When the API declares has-next-page on the pagination config, the generator now reads that response field (bool(_parsed_response.<path>)); otherwise it falls back to len(_items or []) > 0, matching the TypeScript generator’s (r?.data ?? []).length > 0 semantics.

Previously every offset-paginated method hardcoded _has_next = True, so while pager.has_next: pager = pager.next_page() loops never terminated. for x in pager worked only because the core paginator stops iteration when get_next() returns an empty page.

Also harden the offset paginator against two latent crashes: nested has-next-page paths (e.g. $response.metadata.hasNext) are now wrapped in a _parsed_response.metadata is not None guard mirroring the cursor paginator, and _has_next/_get_next are pre-initialized so endpoints with an optional response type no longer raise NameError when the server returns a null body.

Was this page helpful?
Edit this page
Previous

Changelog

Next

May 28, 2026