Audiences in Fern Definition
Use audiences in your Fern Definition to segment your API for different groups of consumers.
Audiences are a useful tool for segmenting your API for different consumers. You can configure your Fern Docs to publish documentation specific to an Audience
. You can use audiences in your OpenAPI Specification, too.
Common examples of audiences include:
- Internal consumers (e.g., frontend developers who use the API)
- Beta testers
- Customers
By default, if no audience is specified, it will be accessible to all consumers.
Configuration
The Fern Definition has a first-class concept for marking different endpoints, types, and properties for different audiences.
To use audiences in your Fern Definition, add them to api.yml
.
In the example below, we have created audiences for internal
, beta
, and customer
groups:
Audiences for endpoints
To mark an endpoint for a particular consumer, add an audience
with the relevant groups.
In this example, the sendEmail
endpoint is only available to internal consumers:
Audiences for types
Types can also be marked for different audiences.
In this example, the Email
type is available to internal and beta consumers:
Audiences for properties
Properties of a type can also be marked for different audiences.
In this example, the to
property is available to beta consumers only:
Audiences for SDKs
In generators.yml
, you can apply audience filters so that only certain
endpoints are passed to the generators.
The following example configures the SDKs to filter for customers
:
Audiences with docs
If generating Fern Docs, update your docs.yml
configuration to include your audiences.
The following example shows how to configure your docs.yml
to publish documentation for the customers
audience: