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
      • Global headers
      • Dynamic authentication
      • Auto-pagination
      • Idempotency headers
      • Retries with backoff
  • 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
On this page
  • Retryable status codes
  • Overriding the retry limit
Request behavior

Retries with backoff

||View as Markdown|
Was this page helpful?
Edit this page
Previous

Configure idempotency headers

Next

Set up local SDK previews

Enterprise feature

This feature is available only for the Enterprise plan. To get started, reach out to support@buildwithfern.com.

Fern SDKs will automatically retry failed requests with exponential backoff. A request will be retried as long as the request is deemed retryable and the number of retry attempts has not grown larger than the configured retry limit.

Retryable status codes

A request is deemed retryable when any of the following HTTP status codes is returned:

  • 408 (Timeout)
  • 429 (Too Many Requests)
  • 5XX (Internal Server Errors)

Note that you can configure the list of retryable status codes as well. For example, if you want to remove the 429 status code from the list of retryable status codes, you can do so.

Overriding the retry limit

By default, the SDK will retry a failed request up to 2 times. SDK users can override the global default retry limit when instantiating the client.

1import { ImdbClient } from "imdb";
2
3const client = new ImdbClient({
4 maxRetries: 1 // overrides the default retry limit to 1
5});

It’s also possible to override the retry limit on a per-request basis.

1 client.movie.get("tt0111161", {
2 maxRetries: 3 // overrides the default retry limit to 3
3 });