> For clean Markdown content of this page, append .md to this URL. For the complete documentation index, see https://buildwithfern.com/learn/llms.txt. # Audiences in Fern Definition Fern Definition isn't recommended for new customers and Fern isn't accepting feature requests for this format. It remains supported for existing users. #### Enterprise feature for SDKs Using this feature in generated SDKs requires the [Enterprise plan](https://buildwithfern.com/pricing). To get started, reach out to [support@buildwithfern.com](mailto:support@buildwithfern.com). 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](/learn/api-definitions/openapi/extensions/audiences), 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: ```yaml title='api.yml' {2-5} name: api audiences: - internal - beta - customers ``` ## 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: ```yaml title='user.yml' {6-7} service: base-path: /users auth: true endpoints: sendEmail: audiences: - internal path: /send-email ... ``` ## Audiences for types Types can also be marked for different audiences. In this example, the `Email` type is available to internal and beta consumers: ```yaml title='user.yml' {5-7} Email: properties: subject: string body: optional audiences: - internal - beta ``` ## 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: ```yaml title='user.yml' {8-9} Email: properties: subject: string body: optional to: type: string docs: The recipient of the email audiences: - beta ``` ## Filter your SDKs and docs After marking your API elements, filter each output to the audiences you want: [SDKs in `generators.yml`](/learn/sdks/deep-dives/audiences) and your [API Reference in `docs.yml`](/learn/docs/api-references/audiences). > Use audiences in your Fern Definition to segment your API for different groups of consumers.