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

## TypeSpec.Http

### Decorators

- [`@statusCode`](./decorators.md#@TypeSpec.Http.statusCode)
- [`@body`](./decorators.md#@TypeSpec.Http.body)
- [`@header`](./decorators.md#@TypeSpec.Http.header)
- [`@query`](./decorators.md#@TypeSpec.Http.query)
- [`@path`](./decorators.md#@TypeSpec.Http.path)
- [`@get`](./decorators.md#@TypeSpec.Http.get)
- [`@put`](./decorators.md#@TypeSpec.Http.put)
- [`@post`](./decorators.md#@TypeSpec.Http.post)
- [`@patch`](./decorators.md#@TypeSpec.Http.patch)
- [`@delete`](./decorators.md#@TypeSpec.Http.delete)
- [`@head`](./decorators.md#@TypeSpec.Http.head)
- [`@server`](./decorators.md#@TypeSpec.Http.server)
- [`@useAuth`](./decorators.md#@TypeSpec.Http.useAuth)
- [`@includeInapplicableMetadataInPayload`](./decorators.md#@TypeSpec.Http.includeInapplicableMetadataInPayload)

### Models

- [`Response`](./data-types.md#TypeSpec.Http.Response)
- [`Body`](./data-types.md#TypeSpec.Http.Body)
- [`LocationHeader`](./data-types.md#TypeSpec.Http.LocationHeader)
- [`HeaderOptions`](./data-types.md#TypeSpec.Http.HeaderOptions)
- [`OkResponse`](./data-types.md#TypeSpec.Http.OkResponse)
- [`CreatedResponse`](./data-types.md#TypeSpec.Http.CreatedResponse)
- [`AcceptedResponse`](./data-types.md#TypeSpec.Http.AcceptedResponse)
- [`NoContentResponse`](./data-types.md#TypeSpec.Http.NoContentResponse)
- [`MovedResponse`](./data-types.md#TypeSpec.Http.MovedResponse)
- [`NotModifiedResponse`](./data-types.md#TypeSpec.Http.NotModifiedResponse)
- [`BadRequestResponse`](./data-types.md#TypeSpec.Http.BadRequestResponse)
- [`UnauthorizedResponse`](./data-types.md#TypeSpec.Http.UnauthorizedResponse)
- [`ForbiddenResponse`](./data-types.md#TypeSpec.Http.ForbiddenResponse)
- [`NotFoundResponse`](./data-types.md#TypeSpec.Http.NotFoundResponse)
- [`ConflictResponse`](./data-types.md#TypeSpec.Http.ConflictResponse)
- [`PlainData`](./data-types.md#TypeSpec.Http.PlainData)
- [`QueryOptions`](./data-types.md#TypeSpec.Http.QueryOptions)
- [`BasicAuth`](./data-types.md#TypeSpec.Http.BasicAuth)
- [`BearerAuth`](./data-types.md#TypeSpec.Http.BearerAuth)
- [`ApiKeyAuth`](./data-types.md#TypeSpec.Http.ApiKeyAuth)
- [`OAuth2Auth`](./data-types.md#TypeSpec.Http.OAuth2Auth)
- [`AuthorizationCodeFlow`](./data-types.md#TypeSpec.Http.AuthorizationCodeFlow)
- [`ImplicitFlow`](./data-types.md#TypeSpec.Http.ImplicitFlow)
- [`PasswordFlow`](./data-types.md#TypeSpec.Http.PasswordFlow)
- [`ClientCredentialsFlow`](./data-types.md#TypeSpec.Http.ClientCredentialsFlow)

## TypeSpec.Rest

### Decorators

- [`@autoRoute`](./decorators.md#@TypeSpec.Rest.autoRoute)
- [`@segment`](./decorators.md#@TypeSpec.Rest.segment)
- [`@segmentOf`](./decorators.md#@TypeSpec.Rest.segmentOf)
- [`@actionSeparator`](./decorators.md#@TypeSpec.Rest.actionSeparator)
- [`@resource`](./decorators.md#@TypeSpec.Rest.resource)
- [`@readsResource`](./decorators.md#@TypeSpec.Rest.readsResource)
- [`@createsResource`](./decorators.md#@TypeSpec.Rest.createsResource)
- [`@createsOrReplacesResource`](./decorators.md#@TypeSpec.Rest.createsOrReplacesResource)
- [`@createsOrUpdatesResource`](./decorators.md#@TypeSpec.Rest.createsOrUpdatesResource)
- [`@updatesResource`](./decorators.md#@TypeSpec.Rest.updatesResource)
- [`@deletesResource`](./decorators.md#@TypeSpec.Rest.deletesResource)
- [`@listsResource`](./decorators.md#@TypeSpec.Rest.listsResource)
- [`@action`](./decorators.md#@TypeSpec.Rest.action)
- [`@collectionAction`](./decorators.md#@TypeSpec.Rest.collectionAction)

## TypeSpec.Rest.Resource

### Interfaces

- [`ResourceRead`](./interfaces.md#TypeSpec.Rest.Resource.ResourceRead)
- [`ResourceCreateOrReplace`](./interfaces.md#TypeSpec.Rest.Resource.ResourceCreateOrReplace)
- [`ResourceCreateOrUpdate`](./interfaces.md#TypeSpec.Rest.Resource.ResourceCreateOrUpdate)
- [`ResourceCreate`](./interfaces.md#TypeSpec.Rest.Resource.ResourceCreate)
- [`ResourceUpdate`](./interfaces.md#TypeSpec.Rest.Resource.ResourceUpdate)
- [`ResourceDelete`](./interfaces.md#TypeSpec.Rest.Resource.ResourceDelete)
- [`ResourceList`](./interfaces.md#TypeSpec.Rest.Resource.ResourceList)
- [`ResourceInstanceOperations`](./interfaces.md#TypeSpec.Rest.Resource.ResourceInstanceOperations)
- [`ResourceCollectionOperations`](./interfaces.md#TypeSpec.Rest.Resource.ResourceCollectionOperations)
- [`ResourceOperations`](./interfaces.md#TypeSpec.Rest.Resource.ResourceOperations)
- [`SingletonResourceRead`](./interfaces.md#TypeSpec.Rest.Resource.SingletonResourceRead)
- [`SingletonResourceUpdate`](./interfaces.md#TypeSpec.Rest.Resource.SingletonResourceUpdate)
- [`SingletonResourceOperations`](./interfaces.md#TypeSpec.Rest.Resource.SingletonResourceOperations)
- [`ExtensionResourceRead`](./interfaces.md#TypeSpec.Rest.Resource.ExtensionResourceRead)
- [`ExtensionResourceCreateOrUpdate`](./interfaces.md#TypeSpec.Rest.Resource.ExtensionResourceCreateOrUpdate)
- [`ExtensionResourceCreate`](./interfaces.md#TypeSpec.Rest.Resource.ExtensionResourceCreate)
- [`ExtensionResourceUpdate`](./interfaces.md#TypeSpec.Rest.Resource.ExtensionResourceUpdate)
- [`ExtensionResourceDelete`](./interfaces.md#TypeSpec.Rest.Resource.ExtensionResourceDelete)
- [`ExtensionResourceList`](./interfaces.md#TypeSpec.Rest.Resource.ExtensionResourceList)
- [`ExtensionResourceInstanceOperations`](./interfaces.md#TypeSpec.Rest.Resource.ExtensionResourceInstanceOperations)
- [`ExtensionResourceCollectionOperations`](./interfaces.md#TypeSpec.Rest.Resource.ExtensionResourceCollectionOperations)
- [`ExtensionResourceOperations`](./interfaces.md#TypeSpec.Rest.Resource.ExtensionResourceOperations)

### Models

- [`ResourceError`](./data-types.md#TypeSpec.Rest.Resource.ResourceError)
- [`KeysOf`](./data-types.md#TypeSpec.Rest.Resource.KeysOf)
- [`ParentKeysOf`](./data-types.md#TypeSpec.Rest.Resource.ParentKeysOf)
- [`ResourceParameters`](./data-types.md#TypeSpec.Rest.Resource.ResourceParameters)
- [`ResourceCollectionParameters`](./data-types.md#TypeSpec.Rest.Resource.ResourceCollectionParameters)
- [`ResourceCreatedResponse`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreatedResponse)
- [`ResourceCreateModel`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreateModel)
- [`ResourceCreateOrUpdateModel`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreateOrUpdateModel)
- [`ResourceDeletedResponse`](./data-types.md#TypeSpec.Rest.Resource.ResourceDeletedResponse)
- [`CollectionWithNextLink`](./data-types.md#TypeSpec.Rest.Resource.CollectionWithNextLink)
- [`ResourceCreateModel`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreateModel)
- [`ResourceCreatedResponse`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreatedResponse)
- [`ResourceCreateOrUpdateModel`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreateOrUpdateModel)
- [`ResourceCreatedResponse`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreatedResponse)
- [`ResourceCreateModel`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreateModel)
- [`ResourceCreatedResponse`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreatedResponse)
- [`ResourceCreateOrUpdateModel`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreateOrUpdateModel)
- [`CollectionWithNextLink`](./data-types.md#TypeSpec.Rest.Resource.CollectionWithNextLink)
- [`ResourceCreateOrUpdateModel`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreateOrUpdateModel)
- [`ResourceCreateModel`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreateModel)
- [`ResourceCreatedResponse`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreatedResponse)
- [`CollectionWithNextLink`](./data-types.md#TypeSpec.Rest.Resource.CollectionWithNextLink)
- [`ResourceCreateOrUpdateModel`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreateOrUpdateModel)
- [`ResourceCreateModel`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreateModel)
- [`ResourceCreatedResponse`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreatedResponse)
- [`CollectionWithNextLink`](./data-types.md#TypeSpec.Rest.Resource.CollectionWithNextLink)
- [`ResourceCreateOrUpdateModel`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreateOrUpdateModel)
- [`ResourceCreateOrUpdateModel`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreateOrUpdateModel)
- [`ResourceCreateOrUpdateModel`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreateOrUpdateModel)
- [`ResourceCreatedResponse`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreatedResponse)
- [`ResourceCreateModel`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreateModel)
- [`ResourceCreatedResponse`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreatedResponse)
- [`ResourceCreateOrUpdateModel`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreateOrUpdateModel)
- [`CollectionWithNextLink`](./data-types.md#TypeSpec.Rest.Resource.CollectionWithNextLink)
- [`ResourceCreateOrUpdateModel`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreateOrUpdateModel)
- [`ResourceCreateModel`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreateModel)
- [`ResourceCreatedResponse`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreatedResponse)
- [`CollectionWithNextLink`](./data-types.md#TypeSpec.Rest.Resource.CollectionWithNextLink)
- [`ResourceCreateOrUpdateModel`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreateOrUpdateModel)
- [`ResourceCreateModel`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreateModel)
- [`ResourceCreatedResponse`](./data-types.md#TypeSpec.Rest.Resource.ResourceCreatedResponse)
- [`CollectionWithNextLink`](./data-types.md#TypeSpec.Rest.Resource.CollectionWithNextLink)
