# Capabilities

> Fern SDK capabilities include type safety, auto-pagination, OAuth token refresh, retries with backoff, webhook verification, and more.

<CardGroup cols={3}>
  <Card title="Strongly typed" icon="fa-duotone fa-shield-halved">
    Move fast and break nothing with type safety
  </Card>

  <Card title="IDE support" icon="fa-duotone fa-lightbulb" href="/learn/sdks/deep-dives/sdk-user-features#ide-support-and-intellisense">
    Rich autocomplete and inline documentation in your editor

    <p>
      Learn more

      <img src="https://files.buildwithfern.com/fern.docs.buildwithfern.com/learn/2025-09-30T17:39:54.370Z/products/home/pages/images/arrow-right-black.svg" alt="Arrow right light" noZoom />

      <img src="https://files.buildwithfern.com/fern.docs.buildwithfern.com/learn/2025-09-30T17:39:54.370Z/products/home/pages/images/arrow-right-white.svg" alt="Arrow right light" noZoom />
    </p>
  </Card>

  <Card title="Idiomatic method names" icon="fa-duotone fa-code" href="/sdks/deep-dives/customize-method-names">
    Fine-tune SDK resources and method names

    <p>
      Learn more

      <img src="https://files.buildwithfern.com/fern.docs.buildwithfern.com/learn/2025-09-30T17:39:54.370Z/products/home/pages/images/arrow-right-black.svg" alt="Arrow right light" noZoom />

      <img src="https://files.buildwithfern.com/fern.docs.buildwithfern.com/learn/2025-09-30T17:39:54.370Z/products/home/pages/images/arrow-right-white.svg" alt="Arrow right light" noZoom />
    </p>
  </Card>

  <Card title="Schema validation" icon="fa-duotone fa-check-circle" href="/sdks/deep-dives/testing#mock-server-tests">
    Fail fast if payloads diverge from your schema

    <p>
      Learn more

      <img src="https://files.buildwithfern.com/fern.docs.buildwithfern.com/learn/2025-09-30T17:39:54.370Z/products/home/pages/images/arrow-right-black.svg" alt="Arrow right light" noZoom={false} />

      <img src="https://files.buildwithfern.com/fern.docs.buildwithfern.com/learn/2025-09-30T17:39:54.370Z/products/home/pages/images/arrow-right-white.svg" alt="Arrow right light" />
    </p>
  </Card>

  <Card title="Discriminated unions" icon="fa-duotone fa-code-branch" href="/api-definitions/ferndef/types#discriminated-unions">
    Fern SDKs include support for discriminated unions

    <p>
      Learn more

      <img src="https://files.buildwithfern.com/fern.docs.buildwithfern.com/learn/2025-09-30T17:39:54.370Z/products/home/pages/images/arrow-right-black.svg" alt="Arrow right light" noZoom />

      <img src="https://files.buildwithfern.com/fern.docs.buildwithfern.com/learn/2025-09-30T17:39:54.370Z/products/home/pages/images/arrow-right-white.svg" alt="Arrow right light" noZoom />
    </p>
  </Card>

  <Card title="Multipart form data" icon="fa-duotone fa-upload" href="https://github.com/cohere-ai/cohere-typescript/blob/8541d1e5df40c1d225e2dc7901a25fbb1019e817/src/api/resources/datasets/client/Client.ts#L202">
    SDKs that handle multipart form data

    <p>
      Learn more

      <img src="https://files.buildwithfern.com/fern.docs.buildwithfern.com/learn/2025-09-30T17:39:54.370Z/products/home/pages/images/arrow-right-black.svg" alt="Arrow right light" noZoom />

      <img src="https://files.buildwithfern.com/fern.docs.buildwithfern.com/learn/2025-09-30T17:39:54.370Z/products/home/pages/images/arrow-right-white.svg" alt="Arrow right light" noZoom />
    </p>
  </Card>

  <Card title="Forward compatibility" icon="fa-duotone fa-arrow-right">
    SDKs that are fault-tolerant as your API evolves
  </Card>

  <Card title="Automated releases" icon="fa-duotone fa-box" href="/learn/sdks/overview/autorelease">
    Fern Autorelease automatically detects API changes, regenerates SDKs, and publishes to registries.

    <p>
      Learn more

      <img src="https://files.buildwithfern.com/fern.docs.buildwithfern.com/learn/2025-09-30T17:39:54.370Z/products/home/pages/images/arrow-right-black.svg" alt="Arrow right light" noZoom />

      <img src="https://files.buildwithfern.com/fern.docs.buildwithfern.com/learn/2025-09-30T17:39:54.370Z/products/home/pages/images/arrow-right-white.svg" alt="Arrow right light" noZoom />
    </p>
  </Card>

  <Card title="Auto-pagination" icon="fa-solid fa-list" href="/sdks/deep-dives/auto-pagination">
    Paginate through API responses easily with offset, cursor, and link-based pagination.

    <p>
      Learn more

      <img src="https://files.buildwithfern.com/fern.docs.buildwithfern.com/learn/2025-09-30T17:39:54.370Z/products/home/pages/images/arrow-right-black.svg" alt="Arrow right light" noZoom />

      <img src="https://files.buildwithfern.com/fern.docs.buildwithfern.com/learn/2025-09-30T17:39:54.370Z/products/home/pages/images/arrow-right-white.svg" alt="Arrow right light" noZoom />
    </p>
  </Card>

  <Card title="OAuth token refresh" icon="fa-duotone fa-arrows-rotate" href="/sdks/reference/generators-yml#oauth">
    Fern supports OAuth as a first class citizen

    <p>
      Learn more

      <img src="https://files.buildwithfern.com/fern.docs.buildwithfern.com/learn/2025-09-30T17:39:54.370Z/products/home/pages/images/arrow-right-black.svg" alt="Arrow right light" noZoom />

      <img src="https://files.buildwithfern.com/fern.docs.buildwithfern.com/learn/2025-09-30T17:39:54.370Z/products/home/pages/images/arrow-right-white.svg" alt="Arrow right light" noZoom />
    </p>
  </Card>

  <Card title="Retries with backoff" icon="fa-duotone fa-repeat" href="/sdks/deep-dives/retries-with-backoff">
    Automatically retry failed requests with exponential backoff

    <p>
      Learn more

      <img src="https://files.buildwithfern.com/fern.docs.buildwithfern.com/learn/2025-09-30T17:39:54.370Z/products/home/pages/images/arrow-right-black.svg" alt="Arrow right light" noZoom />

      <img src="https://files.buildwithfern.com/fern.docs.buildwithfern.com/learn/2025-09-30T17:39:54.370Z/products/home/pages/images/arrow-right-white.svg" alt="Arrow right light" noZoom />
    </p>
  </Card>

  <Card title="Webhook signature verification" icon="fa-duotone fa-key" href="/learn/sdks/deep-dives/sdk-user-features#webhook-signature-verification">
    Verify the signature of incoming webhook requests

    <p>
      Learn more

      <img src="https://files.buildwithfern.com/fern.docs.buildwithfern.com/learn/2025-09-30T17:39:54.370Z/products/home/pages/images/arrow-right-black.svg" alt="Arrow right light" noZoom />

      <img src="https://files.buildwithfern.com/fern.docs.buildwithfern.com/learn/2025-09-30T17:39:54.370Z/products/home/pages/images/arrow-right-white.svg" alt="Arrow right light" noZoom />
    </p>
  </Card>

  <Card title="Idempotency headers" icon="fa-solid fa-shield" href="/sdks/deep-dives/idempotency">
    Built-in protection against duplicate submissions

    <p>
      Learn more

      <img src="https://files.buildwithfern.com/fern.docs.buildwithfern.com/learn/2025-09-30T17:39:54.370Z/products/home/pages/images/arrow-right-black.svg" alt="Arrow right light" noZoom />

      <img src="https://files.buildwithfern.com/fern.docs.buildwithfern.com/learn/2025-09-30T17:39:54.370Z/products/home/pages/images/arrow-right-white.svg" alt="Arrow right light" noZoom />
    </p>
  </Card>

  <Card title="Server-sent events" icon="fa-duotone fa-broadcast-tower" href="/api-definitions/openapi/endpoints/sse">
    Stream JSON data from your server to your client (i.e. chat completions)

    <p>
      Learn more

      <img src="https://files.buildwithfern.com/fern.docs.buildwithfern.com/learn/2025-09-30T17:39:54.370Z/products/home/pages/images/arrow-right-black.svg" alt="Arrow right light" noZoom={false} />

      <img src="https://files.buildwithfern.com/fern.docs.buildwithfern.com/learn/2025-09-30T17:39:54.370Z/products/home/pages/images/arrow-right-white.svg" alt="Arrow right light" />
    </p>
  </Card>

  <Card title="Testing" icon="fa-duotone fa-flask" href="/sdks/deep-dives/testing">
    Auto-generated and handwritten tests to ensure your SDK works in production

    <p>
      Learn more

      <img src="https://files.buildwithfern.com/fern.docs.buildwithfern.com/learn/2025-09-30T17:39:54.370Z/products/home/pages/images/arrow-right-black.svg" alt="Arrow right light" noZoom />

      <img src="https://files.buildwithfern.com/fern.docs.buildwithfern.com/learn/2025-09-30T17:39:54.370Z/products/home/pages/images/arrow-right-white.svg" alt="Arrow right light" noZoom />
    </p>
  </Card>

  <Card title="Code snippets" icon="fa-duotone fa-brackets-curly" href="/docs/api-references/sdk-snippets">
    No longer depend on manually written code snippets

    <p>
      Learn more

      <img src="https://files.buildwithfern.com/fern.docs.buildwithfern.com/learn/2025-09-30T17:39:54.370Z/products/home/pages/images/arrow-right-black.svg" alt="Arrow right light" noZoom />

      <img src="https://files.buildwithfern.com/fern.docs.buildwithfern.com/learn/2025-09-30T17:39:54.370Z/products/home/pages/images/arrow-right-white.svg" alt="Arrow right light" noZoom />
    </p>
  </Card>

  <Card title="Augment with custom code" icon="fa-duotone fa-puzzle-piece" href="/sdks/overview/custom-code">
    Extend the generated SDK to provide additional functionality

    <p>
      Learn more

      <img src="https://files.buildwithfern.com/fern.docs.buildwithfern.com/learn/2025-09-30T17:39:54.370Z/products/home/pages/images/arrow-right-black.svg" alt="Arrow right light" noZoom />

      <img src="https://files.buildwithfern.com/fern.docs.buildwithfern.com/learn/2025-09-30T17:39:54.370Z/products/home/pages/images/arrow-right-white.svg" alt="Arrow right light" noZoom />
    </p>
  </Card>

  <Card title="Merging multiple APIs" icon="fa-duotone fa-code-merge" href="/api-definitions/overview/project-structure#multiple-apis">
    Multiple API definitions. One SDK.

    <p>
      Learn more

      <img src="https://files.buildwithfern.com/fern.docs.buildwithfern.com/learn/2025-09-30T17:39:54.370Z/products/home/pages/images/arrow-right-black.svg" alt="Arrow right light" noZoom={false} />

      <img src="https://files.buildwithfern.com/fern.docs.buildwithfern.com/learn/2025-09-30T17:39:54.370Z/products/home/pages/images/arrow-right-white.svg" alt="Arrow right light" noZoom={false} />
    </p>
  </Card>

  <Card title="WebSockets" icon="fa-duotone fa-bolt" href="/api-definitions/ferndef/websockets">
    Send and receive messages over WebSockets

    <p>
      Learn more

      <img src="https://files.buildwithfern.com/fern.docs.buildwithfern.com/learn/2025-09-30T17:39:54.370Z/products/home/pages/images/arrow-right-black.svg" alt="Arrow right light" noZoom />

      <img src="https://files.buildwithfern.com/fern.docs.buildwithfern.com/learn/2025-09-30T17:39:54.370Z/products/home/pages/images/arrow-right-white.svg" alt="Arrow right light" noZoom />
    </p>
  </Card>
</CardGroup>