File: README.md
β οΈ Deprecation Notice
AutoRest is deprecated and will be retired on July 1, 2026.
AutoRest is no longer under active development. No new features, language generators, or plugins will be added.
β Recommended replacement: TypeSpec
The recommended successor to AutoRest is TypeSpec β a modern, actively developed API description language and code generation platform.
π Deprecation tracking issue for more details: https://github.com/Azure/autorest/issues/5175
AutoRest
The AutoRest tool generates client libraries for accessing RESTful web services. Input to AutoRest is a spec that describes the REST API using the OpenAPI Specification format.
Packages
Getting Started using AutoRest
View our docs readme as a starting point to find both general information and language-generator specific information
Contributing
Contributing guide
Check our internal developer docs to learn about our development process, how to propose bugfixes and improvements, and how to build and test your changes to Autorest.
Code of Conduct
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.
File: Readme.md
β οΈ Deprecation Notice
AutoRest is deprecated and will be retired on July 1, 2026.
AutoRest is no longer under active development. No new features, language generators, or plugins will be added.
β Recommended replacement: TypeSpec
The recommended successor to AutoRest is TypeSpec β a modern, actively developed API description language and code generation platform.
π Deprecation tracking issue for more details: https://github.com/Azure/autorest/issues/5175
AutoRest
The AutoRest tool generates client libraries for accessing RESTful web services. Input to AutoRest is a spec that describes the REST API using the OpenAPI Specification format.
Packages
Getting Started using AutoRest
View our docs readme as a starting point to find both general information and language-generator specific information
Contributing
Contributing guide
Check our internal developer docs to learn about our development process, how to propose bugfixes and improvements, and how to build and test your changes to Autorest.
Code of Conduct
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.
File: readme.md
β οΈ Deprecation Notice
AutoRest is deprecated and will be retired on July 1, 2026.
AutoRest is no longer under active development. No new features, language generators, or plugins will be added.
β Recommended replacement: TypeSpec
The recommended successor to AutoRest is TypeSpec β a modern, actively developed API description language and code generation platform.
π Deprecation tracking issue for more details: https://github.com/Azure/autorest/issues/5175
AutoRest
The AutoRest tool generates client libraries for accessing RESTful web services. Input to AutoRest is a spec that describes the REST API using the OpenAPI Specification format.
Packages
Getting Started using AutoRest
View our docs readme as a starting point to find both general information and language-generator specific information
Contributing
Contributing guide
Check our internal developer docs to learn about our development process, how to propose bugfixes and improvements, and how to build and test your changes to Autorest.
Code of Conduct
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.
File: docs/README.md
AutoRest Documentation
Introduction
- Get an introduction to the fundamental concepts of AutoRest
Installing AutoRest
- You can install AutoRest on Windows, Mac, or Linux.
Defining Clients with OpenAPI
- Learn how to define your REST API with OpenAPI
Generating Clients with AutoRest
- How do I generate code? See here
Using Your Generated Client
- How do I use my client now that I've generated it?
Migrating from AutoRest 2.0 to 3.0
- I have old generated code using the previous version of AutoRest. How do I upgrade my generation and use my new code?
Developing with AutoRest
- How do I generate or contribute to AutoRest in dev mode?
Powershelldocumentation- How do I use AutoRest to build
Powershellcmdlets?
- How do I use AutoRest to build
Use
autorestvia docker
File: docs/Readme.md
AutoRest Documentation
Introduction
- Get an introduction to the fundamental concepts of AutoRest
Installing AutoRest
- You can install AutoRest on Windows, Mac, or Linux.
Defining Clients with OpenAPI
- Learn how to define your REST API with OpenAPI
Generating Clients with AutoRest
- How do I generate code? See here
Using Your Generated Client
- How do I use my client now that I've generated it?
Migrating from AutoRest 2.0 to 3.0
- I have old generated code using the previous version of AutoRest. How do I upgrade my generation and use my new code?
Developing with AutoRest
- How do I generate or contribute to AutoRest in dev mode?
Powershelldocumentation- How do I use AutoRest to build
Powershellcmdlets?
- How do I use AutoRest to build
Use
autorestvia docker
File: docs/readme.md
AutoRest Documentation
Introduction
- Get an introduction to the fundamental concepts of AutoRest
Installing AutoRest
- You can install AutoRest on Windows, Mac, or Linux.
Defining Clients with OpenAPI
- Learn how to define your REST API with OpenAPI
Generating Clients with AutoRest
- How do I generate code? See here
Using Your Generated Client
- How do I use my client now that I've generated it?
Migrating from AutoRest 2.0 to 3.0
- I have old generated code using the previous version of AutoRest. How do I upgrade my generation and use my new code?
Developing with AutoRest
- How do I generate or contribute to AutoRest in dev mode?
Powershelldocumentation- How do I use AutoRest to build
Powershellcmdlets?
- How do I use AutoRest to build
Use
autorestvia docker
File: docs/introduction.md
Introduction to AutoRest
The AutoRest tool generates client libraries for accessing RESTful web services. Input to AutoRest is a spec that describes the REST API using the OpenAPI Specification format.
Here we go into some of the general terms you'll see when going through our documentation and interacting with AutoRests.
What is OpenAPI?
OpenAPI is a specification language used to describe a web service API in terms of its operations and the data types it understands. It was originally conceived as a specification called Swagger, so you commonly see these two terms used interchangeably.
OpenAPI is primarily concerned with describing web services that follow the Representational State Transfer (REST) architectural model where operations are exposed via URI paths that accept HTTP verbs like GET, PUT, POST, and DELETE. These URI paths generally refer to βresourcesβ understood by the service where the request and response bodies of most operations contain the details of the resource at that path. For example, a POST request with the body containing the desired state of a resource will create that resource, a PUT request with changes to some properties will update the resource, and a DELETE request will cause the resource to be deleted. OpenAPI provides a schema language which enables this type of API to be described in a machine-readable form, usually encoded in JSON.
The main swagger docs have a good example for the basic structure. For more information on how to write an OpenAPI definition for your service, feel free to refer to the main swagger docs or our own documentation for more AutoRest-specific information.
What is AutoRest?
AutoRest is a tool that provides a code generation framework for converting OpenAPI 2.0 and 3.0 specifications into client libraries for the services described by those specifications. It was developed by Microsoft around the time the OpenAPI Initiative was formed so that Azure service teams could start producing generated client libraries from new Swagger and OpenAPI 2.0 specifications. AutoRest has created a few extensions to augment swagger functionality (a lot were created due to OpenAPI2 shortcomings).
At the core of AutoRest is a flexible pipeline where a series of pre-configured phases transform and merge various OpenAPI input files to produce a βcode modelβ that can be consumed by a language-specific code generator. These code generator extensions will interpret the code model and produce code that aligns with the design guidelines for each language. The generated code for a language will use the corresponding Azure Core implementation so that we can provide configurable behavior for how HTTP requests are made in the generated code.
See our landing page to get started with writing your OpenAPI definitions and generating with AutoRest!