---
title: Overview
sidebar_position: 0
toc_min_heading_level: 2
toc_max_heading_level: 3
---

import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

# Overview

TypeSpec library for emitting OpenAPI 3.0 from the TypeSpec REST protocol binding

## Install

<Tabs>
<TabItem value="spec" label="In a spec" default>

```bash
npm install @typespec/openapi3
```

</TabItem>
<TabItem value="library" label="In a library" default>

```bash
npm install --save-peer @typespec/openapi3
```

</TabItem>
</Tabs>

## Emitter usage

[See documentation](./emitter.md)

## TypeSpec.OpenAPI

### Decorators

- [`@oneOf`](./decorators.md#@TypeSpec.OpenAPI.oneOf)
- [`@useRef`](./decorators.md#@TypeSpec.OpenAPI.useRef)
