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

import { Tabs, TabItem } from '@astrojs/starlight/components';

TypeSpec library for emitting OpenAPI 3.0 and OpenAPI 3.1 from the TypeSpec REST protocol binding and converting OpenAPI3 to TypeSpec

## Install

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

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

</TabItem>
<TabItem  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)
