Advanced features
Depending on other APIs
Advanced features
Depending on other APIs
Fern allows you to import other APIs into your API.
This is often useful if:
- you want to reuse another API’s types in your API
- you want to combine multiple microservices’ APIs into one SDK (similar to the AWS SDK)
Registering the dependency API
The first step is to register the API you want to depend on. To do this, use
the register
compiler command:
$ fern register
[some-dependency]: Uploading definition...
[some-dependency]: Registered @fern/some-dependency:0.0.1
Depending on the registered API
To add a dependency on another API, you simply create a folder in your Fern
Definition to “house” the dependency. Inside the folder, create a special file
__package__.yml
which specifies the dependency and version you want to add.
fern/
├─ fern.config.json
└─ api/ # your API
├─ generators.yml
└─ definition/
├─ api.yml
├─ imdb.yml
└─ my-folder
└─ __package__.yml
__package__.yml
export:
name: @fern/some-dependency
version: 0.0.1
When you compile the API with fern generate
, the __package__.yml
file will
effectively be replaced with the API you’re depending on.