How SDKs work

Fern combines your API specifications with generator configurations and custom code to produce SDKs in multiple languages. By default, SDK generation runs on Fern’s managed cloud infrastructure.

Alternatively, you can run SDK generation on your own infrastructure to meet specific security or compliance requirements.

Generation workflow

Before generating SDKs, you’ll configure your fern/ folder with SDK generators specified in generators.yml and connect your API specification. You can also add custom code, tests, and other configuration as needed.

Running fern generate kicks off the cloud generation process and involves a few key steps:

1

Cloud execution

Fern allocates compute resources and pulls the appropriate Docker image for your specified generator version.

2

Generate core SDK

The Docker container executes the generation logic and produces your SDK’s core files (models, client code, API methods).

3

Verify organization

Fern verifies your organization registration to ensure the complete SDK can be generated. Without organization verification, only partial SDK files (core code without package metadata) are produced.

4

Add package metadata

Fern completes the SDK by adding package distribution files such as pyproject.toml, package.json, README, and any dependencies.

5

Output to destination

Fern publishes or saves the complete SDK to your configured location (local filesystem, GitHub repository, package registry). After publication, developers can use your SDKs to integrate with your APIs.