> For clean Markdown content of this page, append .md to this URL. For the complete documentation index, see https://buildwithfern.com/learn/llms.txt.

# Availability in Fern Definition

> Add availability to Fern Definition API services, endpoints, types, or properties to indicate their release status.

Fern Definition isn't recommended for new customers and Fern isn't accepting feature requests for this format. It remains supported for existing users.

You can add `availability` to an endpoint, type, or property within your Fern Definition. You can configure the `availability` of sections in your API Reference documentation in your [`docs.yml` file](/learn/docs/configuration/site-level-settings).

## Endpoints, types, and properties

Availability can be:

| Value                 | Description                            | Tag          |
| --------------------- | -------------------------------------- | ------------ |
| `alpha`               | Early experimental release             | `Alpha`      |
| `in-development`      | Being worked on                        | `Beta`       |
| `beta`                | Available but may change               | `Beta`       |
| `pre-release`         | Available                              | `Beta`       |
| `preview`             | Feature-complete but subject to change | `Preview`    |
| `generally-available` | Stable and available for use           | `GA`         |
| `deprecated`          | Will be removed in the future          | `Deprecated` |
| `legacy`              | Superseded but still supported         | `Legacy`     |

### Endpoint

#### pet.yml

```yaml {6}
service:
  base-path: /pet
  auth: true
  endpoints:
    add:
      availability: deprecated
      display-name: Add pet
      docs: Add a new Pet to the store
      method: POST
      path: ""
      request: AddPetRequest
      response: Pet
```

In Fern Docs, this will look like:

![Screenshot showing a deprecated tag next to an endpoint in API Reference docs](https://fern-image-hosting.s3.amazonaws.com/endpoint-deprecated.png)

### Type

#### pet.yml

```yaml {15}
  Pet:
    properties:
      id: 
        type: integer
        docs: A unique ID for the Pet
      name: 
        type: string
        docs: The first name of the Pet
      photoUrls: 
        type: list<string>
        docs: A list of publicly available URLs featuring the Pet
        availability: generally-available
      category: 
        type: optional<Category>
        availability: pre-release

  Category:
    properties:
      id: optional<integer>
      name: optional<string>
```

In Fern Docs, this will look like:

![Screenshot showing a beta tag next to a type in API Reference docs](https://fern-image-hosting.s3.amazonaws.com/type-beta.png)

### Property

#### pet.yml

```yaml {12}
  Pet:
    properties:
      id: 
        type: integer
        docs: A unique ID for the Pet
      name: 
        type: string
        docs: The first name of the Pet
      photoUrls: 
        type: list<string>
        docs: A list of publicly available URLs featuring the Pet
        availability: deprecated
      category: optional<Category>
```

In Fern Docs, this will look like:

![Screenshot showing a deprecated tag next to a type's property in API Reference docs](https://fern-image-hosting.s3.amazonaws.com/property-deprecated.png)

## Sections

You can set the availability for the entire API reference or for specific sections in your `docs.yml` configuration. Options are: `stable`, `generally-available`, `in-development`, `pre-release`, `deprecated`, `alpha`, `beta`, `preview`, or `legacy`.

When you set the availability of a section, all of the endpoints in that section are automatically marked with that availability unless explicitly set otherwise.

```yaml title="docs.yml" {3, 6}
navigation: 
  - api: API Reference
    availability: generally-available
    layout: 
      - section: My Section
        availability: beta
        icon: flower
        contents: 
        # endpoints here
```