OpenAPI, formerly known as Swagger, is a specification for building and documenting APIs. This talk is about the significance of OpenAPI in the world of API development and when a lot of people suddenly realised its importance for modern-day software development. We'll explore the technical aspects, wider ecosystem, and future of OpenAPI in the world of API development and discuss the benefits of OpenAPI, its role in API documentation, and its importance in building robust and scalable APIs used by leading companies (e.g. OpenAI).
Human Factors of XR: Using Human Factors to Design XR Systems
How ChatGPT led OpenAPI's Recent Spike in Popularity
1. All rights reserved by Postman Inc
How ChatGPT led
OpenAPI's Spike
in Popularity
W. Ian Douglas
Sr Developer Advocate
2. All rights reserved by Postman Inc
27+ years in tech industry
(engineer, mgmt, director)
8 years in advocacy
4 years as an educator
hobbies:
- dog training
- 3d printing, airbrushing
- career coaching
- dad jokes
Yesterday, I was washing the car with my son. He said, "Dad, can't you just use a sponge?"/
@getpostman @iandouglas736
3. All rights reserved by Postman Inc
Let’s go back in time …
… to 2010
@getpostman @iandouglas736
I bought Spotify premium for an uninterrupted music experience.
But I still hear my wife nagging me between songs.
5. ● API Blueprint
2013 Apiary, acquired by
Oracle
● Format
Markdown to describe and
generate documentation
@getpostman @iandouglas736
6. ● RESTful API Modeling
Language (RAML)
2013 Mulesoft, acquired by
Salesforce
● Format
JSON or YAML to model and
design APIs
@getpostman @iandouglas736
7. ● Swagger
2010 Wordnik, acquired by
Smartbear
2015 renamed OpenAPI
● Format
JSON or YAML to describe
APIs
@getpostman @iandouglas736
8. ● Swagger
2010 Wordnik, acquired by
Smartbear
2015 renamed OpenAPI
● Format
JSON or YAML to describe
APIs
@getpostman @iandouglas736
10. 2010 The Specification Wars
2015 Swagger (Wordnik) acquired by Smartbear and donated to Linux
Foundation; OpenAPI Initiative (OAI) formed
2016 Apiary (API Blueprint) joins OAI
2017 Mulesoft (RAML) joins OAI
2016 Swagger renamed OpenAPI Specification (OAS)
@getpostman @iandouglas736
11. 2010 The Specification Wars
2015 Swagger (Wordnik) acquired by Smartbear and donated to Linux
Foundation; OpenAPI Initiative (OAI) formed
2016 Apiary (API Blueprint) joins OAI
2017 Mulesoft (RAML) joins OAI
2016 Swagger renamed OpenAPI Specification (OAS)
@getpostman @iandouglas736
12. ● Tooling agnostic
No concern for vendor
lock-in
● Open-source ecosystem
and community
Contribute to OpenAPI
specification, but also tools,
code generation, and client
SDKs
Why did OpenAPI win the war?
@getpostman @iandouglas736 The umbrella was originally going to be called just "brella" but the inventor hesitated.
13. It’s pointless to argue the
merits of each format, when
you consider the degree of
usage and interoperability
that OpenAPI offers.
Kevin Swiber, Chair of Outreach for OpenAPI Initiative and
API Lifecycle Integration Specialist at Postman
@getpostman @iandouglas736 My shopping list includes donuts, bagels, spaghettios, and swiss cheese ... where's the nearest Hole Foods?
20. @getpostman @iandouglas736
I want to hear ninety-nine men sing "Africa" by Toto.
It's something that a hundred men or more could never do.
21. Third-party plugins are described by a manifest file, which includes a
machine-readable description of the plugin’s capabilities and how
to invoke them, as well as user-facing documentation.
1. Build an API with endpoints you’d like a language model to call
Third-party plugins for OpenAI
@getpostman @iandouglas736
22. Third-party plugins are described by a manifest file, which includes a
machine-readable description of the plugin’s capabilities and how
to invoke them, as well as user-facing documentation.
1. Build an API with endpoints you’d like a language model to call
2. Create an OpenAPI specification documenting your API, and a
manifest file that links to the OpenAPI spec and includes some
plugin-specific metadata.
Third-party plugins for OpenAI
@getpostman @iandouglas736
24. Abhinav Asthana, CEO and founder, Postman
Companies that don’t have APIs
will be invisible to AI.
@getpostman @iandouglas736
25. March 23, 2023
● OpenAI announced support for Third Party Plugins
● OpenAPI became a lot more important to a lot more people to
integrate with LLMs
This is the day
@getpostman @iandouglas736
26. This is the day
@getpostman @iandouglas736
Google Trends “OpenAI API”, April 2022 to April 2023
I only seem to get sick on weekdays. I must have a weekend immune system.
28. What’s Needed
@getpostman @iandouglas736
1. Define the OpenAPI Specification
2. Implement the API
3. Set Up the Extension
4. Test
5. Deployment
6. Security
7. Rate Limiting
8. Continuous Iteration
I can always tell when my wife is lying just by looking at her. I can also tell when she's standing.
31. Plugin Manifest Requirements
@getpostman @iandouglas736
1. Must be in JSON format
2. … be hosted on an HTTPS domain or subdomain
3. ... be called ai-plugin.json
4. … be accessible at yourdomain.com/.well-known/ai-plugin.json
5. … contain the plugin's metadata and auth type
6. … be hosted on the API's domain
7. … have a name that's no longer than 20 characters
8. … have a clear description (no punctuation or grammar mistakes)
(It can be up to ~8kb of text)
9. … have a logo URL that's 512 x 512 and has a transparent background
10. … have an email contact for safety/moderation
11. … have a link to your OpenAPI specification, which is served from
the API itself
32. Submittal and Review
@getpostman @iandouglas736
1. Sign up for a developer account and join the waitlist for making
plugins
2. Sign into your developer dashboard and register the new plugin
3. Wait for your plugin to be approved (hours or days)
4. Users activate your plugin
5. Users can use your plugin in a GPT conversation
More information can be found at:
https://platform.openai.com/docs/plugins/introduction
Why did the farmer decide to try a career in music after a failed harvest? Because he had a ton of sick beets.
33. … but why OpenAPI?
@getpostman @iandouglas736
… and why do we need to specify a path to our
OpenAPI specification file?
The Bermuda Orchestra keeps having to cancel their concerts. Their triangle player is always disappearing.
34. Thank You
The best time of day to go see a dentist is tooth-hurty.
@getpostman @iandouglas736