OpenAPI Glossary
This glossary defines terms related to APIs, REST, and the OpenAPI Specification.
API
- /ˌeɪ.piːˈaɪ/ ("ay-pee-eye")
- Pronounced as individual letters A-P-I, not as a word
noun
- application programming interface (API)
- I used the GitHub API to query my repositories.
- APIs are used to interact with software applications.
- I wrote an SDK for the Stripe API.
- This JavaScript module's API is well-designed.
Note: The abbreviation is common enough that it's most often used without explanation
- We don't need to spell out "application programming interface" before mentioning APIs.
- If someone doesn't know that API refers to "application programming interface", they probably need the unabbreviated term explained anyway.
REST
- /rɛst/ ("rest")
- Pronounced like the word "rest"
noun
- representational state transfer (REST)
- REST is a specific software architectural style.
- RESTful APIs are based on the principles of REST.
- REST is a popular design choice for web services (APIs that work over the web via HTTP).
RESTful
- /ˈrɛstfʊl/ ("REST-full")
- Pronounced like the word "restful", with emphasis on "REST"
adjective
- (of an API) conforming to the principles of REST
- RESTful describes an API that follows REST principles.
- RESTful APIs are easy to use and understand.
- Our API is RESTful because we followed the principles of REST when we designed it.
REST API
noun
- API that conforms to the principles of REST
- A REST API is an API that follows the principles of REST.
- REST APIs are, by definition, RESTful.
Note: Most often used to distinguish from APIs that follow other principles
Swagger API
proper noun
- The Swagger API project
- Swagger API was an open-source project that developed tools for designing, building, and documenting APIs.
- The Swagger API project was created in 2011 by Tony Tam but belonged to Reverb Technologies.
- The Swagger API project developed the original Swagger Specification.
- In 2015, SmartBear acquired the Swagger API project from Reverb Technologies.
- In 2016, SmartBear granted only the Swagger Specification to the OpenAPI Initiative.
OpenAPI Specification
proper noun
- The OpenAPI Specification
- The OpenAPI Specification is a specification for designing or describing APIs as OpenAPI documents.
- The OpenAPI Specification is a standard for describing RESTful APIs.
- The latest version of the OpenAPI Specification is published at https://spec.openapis.org/oas/latest.html.
- The text version of the OpenAPI Specification is the definitive source for the specification.
- There is also a JSON Schema version of the OpenAPI Specification.
Note: The OpenAPI Specification is the successor to the Swagger Specification
- After SmartBear donated the Swagger Specification to the OpenAPI Initiative, it was renamed the OpenAPI Specification.
- The OpenAPI Specification is maintained by the OpenAPI Initiative.
- The OpenAPI Specification defines the structure of an OpenAPI document.
Note: The OpenAPI Specification is sometimes referred to as OAS
- The OpenAPI Specification is sometimes referred to as OAS by industry insiders.
- We rarely use the abbreviation when writing for a general audience or even for most technical audiences.
Note: There are multiple versions of the OpenAPI Specification
- The OpenAPI Specification has multiple versions, with the latest (as of October 2024) being 3.1.0.
- When referring to a specific version, include the version number, such as "OpenAPI Specification 3.1.0" or "OAS 3.1.0."
- When referring to multiple versions collectively, use "OpenAPI Specification Versions", or (rarely) the plural "OpenAPI Specifications".
- The singular form "OpenAPI Specification" usually refers to the latest version of the specification.
common forms
- ✅ OpenAPI Specification
- ⚠️ OpenAPI Spec (ambiguous)
- ❌ OpenAPI Definition (ambiguous)
- ❌ OpenAPI Schema (ambiguous)
- ❌ OpenAPI File (ambiguous)
- ❌ Swagger Specification (deprecated)
- ❌ Swagger Spec (deprecated)
- ❌ Swagger Definition (deprecated)
- ❌ Swagger Schema (deprecated)
OAS
- /oʊ.eɪ.ɛs/ ("oh-ay-ess")
- Pronounced as individual letters O-A-S, not as a word
abbreviation
- OpenAPI Specification (OAS)
- The OpenAPI Specification is sometimes referred to as OAS by industry insiders.
- The OAS is a standard for describing RESTful APIs.
Note: The OpenAPI Specification is sometimes referred to as OAS
- We rarely use the abbreviation when writing for a general audience or even for most technical audiences.
OpenAPI document
noun
- A document that conforms to the OpenAPI Specification
- An OpenAPI document is a JSON or YAML file that describes an API according to the OpenAPI Specification.
- OpenAPI documents are used to generate API documentation, client SDKs, and server stubs.
- Our OpenAPI document is the source of truth for our API's design.
- OpenAPI documents are written in either JSON or YAML format.
- OpenAPI documents conform to JSON Schema.
common forms
- ✅ OpenAPI document
- ⚠️ OpenAPI file (ambiguous)
- ⚠️ OpenAPI schema (ambiguous)
- ❌ OpenAPI spec (ambiguous)
- ❌ OpenAPI definition (ambiguous)
- ❌ Swagger specification (deprecated)
- ❌ Swagger document (deprecated)
- ❌ Swagger file (deprecated)
- ❌ Swagger schema (deprecated)
- ❌ Swagger spec (deprecated)
- ❌ Swagger definition (deprecated)
OpenAPI Initiative
proper noun
- The OpenAPI Initiative
- The OpenAPI Initiative is a consortium of industry experts that maintains the OpenAPI Specification.
- The OpenAPI Initiative is a Linux Foundation project.
- The OpenAPI Initiative is responsible for the governance of the OpenAPI Specification.
Note: The OpenAPI Initiative is sometimes referred to as OAI
Arazzo Specification
- /əˈrɑːzoʊ/ ("uh-RAH-zoh")
- Pronounced like "uh-RAH-zoh", with emphasis on the second syllable
proper noun
- A specification for designing or describing API workflows
- The Arazzo Specification is a standard for describing workflows, or sequences of API calls, as Arazzo documents.
- The Arazzo Specification is maintained by the OpenAPI Initiative.
- The Arazzo Specification is designed to reference objects defined in OpenAPI documents.
Note: Arazzo means "tapestry" in Italian
- The name Arazzo was chosen to evoke the idea of weaving together multiple API calls into a single workflow.
common forms
- ✅ Arazzo Specification
- ❌ Arazzo Spec (ambiguous)
- ❌ Arazzo Definition (ambiguous)
- ❌ Arazzo Schema (ambiguous)
- ❌ OpenAPI Workflows Specification (deprecated)
- ❌ OpenAPI Workflows (deprecated)
Arazzo document
noun
- A document that conforms to the Arazzo Specification
- An Arazzo document is a JSON or YAML file that describes a workflow according to the Arazzo Specification.
- Arazzo documents are used to generate workflow documentation and test suites.
- Arazzo documents conform to JSON Schema.
common forms
- ✅ Arazzo document
- ⚠️ Arazzo file (ambiguous)
- ⚠️ Arazzo schema (ambiguous)
- ⚠️ Arazzo spec (ambiguous)
- ⚠️ Arazzo definition (ambiguous)
- ❌ Arazzo workflow (ambiguous - refers to a concept rather than a document)
- ❌ OpenAPI workflow (deprecated)
JSON Schema
proper noun
- A vocabulary that allows you to annotate and validate JSON documents
- JSON Schema is a specification for defining the structure of JSON data.
Note: Capitalization is important to distinguish the specification from instances
- We use JSON Schema to validate our API responses.
JSON schema
noun
- A schema document or JSON object that conforms to the JSON Schema specification
- I wrote a JSON schema to validate our API responses.
- The JSON schema defines the expected structure of our data.
Note: Lowercase "schema" indicates an instance, not the specification
- Our API uses this JSON schema to validate request bodies.
YAML
- /ˈjæməl/ ("YAM-ul")
- Rhymes with "camel", not pronounced as individual letters
noun
- YAML Ain't Markup Language (recursive acronym)
- A human-friendly data serialization language
- YAML is often used to write OpenAPI documents because it's more readable than JSON.
- Many developers prefer YAML over JSON for configuration files.
JSON
- /ˈdʒeɪsən/ ("JAY-sun")
- Pronounced like the name "Jason", not as individual letters
noun
- JavaScript Object Notation (JSON)
- JSON is a lightweight data interchange format.
- JSON is easy for humans to read and write and easy for machines to parse and generate.
- JSON is a common data format with diverse applications.
- JSON is used for serializing and transmitting structured data over a network connection.
- JSON is a popular alternative to XML for APIs.
Swagger
proper noun
- A suite of API developer tools owned by SmartBear
- Swagger includes popular tools like Swagger UI and Swagger Editor.
- SmartBear maintains the Swagger tools while the OpenAPI Specification is managed by the OpenAPI Initiative.
Note: Often confused with OpenAPI Specification, OpenAPI Initiative, Swagger API, and Swagger Specification
Swagger UI
proper noun
- A web-based tool developed by SmartBear for visualizing and interacting with APIs described by OpenAPI documents
- Swagger UI generates interactive API documentation from OpenAPI documents.
- Developers can test API endpoints directly through Swagger UI's interface.
Swagger Editor
proper noun
- A web-based editor developed by SmartBear for creating and editing OpenAPI documents
- Swagger Editor provides real-time validation while writing OpenAPI documents.
- The Swagger Editor preview pane shows how your API documentation will look in Swagger UI.