Step 2: The info object (OpenAPI tutorial)
The info object contains basic information about your API, including the title, a description, version, link to the license, link to the terms of service, and contact information. Many of the properties are optional.
Sample info object
Here’s an example of the info
object and its properties. (The openapi
object and the empty paths
object are commented out to maintain the focus on the info
object.)
# openapi: 3.0.2
info:
title: "OpenWeatherMap API"
description: "Get the current weather, daily forecast for 16 days, and a three-hour-interval forecast for 5 days for your city. Helpful stats, graphics, and this day in history charts are available for your reference. Interactive maps show precipitation, clouds, pressure, wind around your location stations. Data is available in JSON, XML, or HTML format. **Note**: This sample Swagger file covers the `current` endpoint only from the OpenWeatherMap API. <br/><br/> **Note**: All parameters are optional, but you must select at least one parameter. Calling the API by city ID (using the `id` parameter) will provide the most precise location results."
version: "2.5"
termsOfService: "https://openweathermap.org/terms"
contact:
name: "OpenWeatherMap API"
url: "https://openweathermap.org/api"
email: "[email protected]"
license:
name: "CC Attribution-ShareAlike 4.0 (CC BY-SA 4.0)"
url: "https://openweathermap.org/price"
# paths: {}
If you get stuck, see the sample OpenAPI spec here for the fully working sample. This will help you spot and troubleshoot indentation or other errors.
Description properties and Markdown
Note that in any description
property, you can use CommonMark Markdown, which is much more precise, unambiguous, and robust than the original Markdown.
For example, CommonMark markdown offers some backslash escapes, and it specifies exactly how many spaces you need in lists and other punctuation. You can also break to new lines with \n
and escape problematic characters like quotation marks or colons with a backslash.
As you write content in description
properties, note that colons are problematic in YAML because they signify new levels. Either enclose the description
value in quotation marks or escape colons with a backslash. (If you enclose the values in quotation marks, syntax highlighters in text editors can display better color coding between the properties and values.)
Update your file in Swagger Editor
To update the spec file in Swagger Editor:
- Paste the code from the preceding section (“Sample info object”) containing the
info
object into the Swagger Editor. -
Uncomment the
openapi
andpaths
objects (remove the “#
”). The display looks as follows:In the Swagger UI display, the
info
object’s information appears below the title.
In the description
property, in addition to describing your overall API, you might want to provide some basic instructions to users on how to use Swagger UI. If there’s a test account they should use, you can provide the information they need in this space.
About Tom Johnson
I'm an API technical writer based in the Seattle area. On this blog, I write about topics related to technical writing and communication — such as software documentation, API documentation, AI, information architecture, content strategy, writing processes, plain language, tech comm careers, and more. Check out my API documentation course if you're looking for more info about documenting APIs. Or see my posts on AI and AI course section for more on the latest in AI and tech comm.
If you're a technical writer and want to keep on top of the latest trends in the tech comm, be sure to subscribe to email updates below. You can also learn more about me or contact me. Finally, note that the opinions I express on my blog are my own points of view, not that of my employer.
51/165 pages complete. Only 114 more pages to go.