7 habits of highly effective apis
TRANSCRIPT
![Page 1: 7 Habits of Highly Effective APIs](https://reader036.vdocuments.net/reader036/viewer/2022062405/554f93bbb4c905435d8b5201/html5/thumbnails/1.jpg)
![Page 2: 7 Habits of Highly Effective APIs](https://reader036.vdocuments.net/reader036/viewer/2022062405/554f93bbb4c905435d8b5201/html5/thumbnails/2.jpg)
Ole LensmarChief Architect at SmartBear
@Olensmar
![Page 3: 7 Habits of Highly Effective APIs](https://reader036.vdocuments.net/reader036/viewer/2022062405/554f93bbb4c905435d8b5201/html5/thumbnails/3.jpg)
APIs are moving to center-stage for many businesses and technology teams today
![Page 4: 7 Habits of Highly Effective APIs](https://reader036.vdocuments.net/reader036/viewer/2022062405/554f93bbb4c905435d8b5201/html5/thumbnails/4.jpg)
This makes it increasingly important to know what really matters when implementing
your API strategy.
![Page 5: 7 Habits of Highly Effective APIs](https://reader036.vdocuments.net/reader036/viewer/2022062405/554f93bbb4c905435d8b5201/html5/thumbnails/5.jpg)
There are some obvious aspects of your APIs that appeal to both technology and business needs of your API customers
![Page 6: 7 Habits of Highly Effective APIs](https://reader036.vdocuments.net/reader036/viewer/2022062405/554f93bbb4c905435d8b5201/html5/thumbnails/6.jpg)
Choice of Technology
![Page 7: 7 Habits of Highly Effective APIs](https://reader036.vdocuments.net/reader036/viewer/2022062405/554f93bbb4c905435d8b5201/html5/thumbnails/7.jpg)
Choice of Technology
Security
![Page 8: 7 Habits of Highly Effective APIs](https://reader036.vdocuments.net/reader036/viewer/2022062405/554f93bbb4c905435d8b5201/html5/thumbnails/8.jpg)
Choice of Technology
Security
Authorization
![Page 9: 7 Habits of Highly Effective APIs](https://reader036.vdocuments.net/reader036/viewer/2022062405/554f93bbb4c905435d8b5201/html5/thumbnails/9.jpg)
Choice of Technology
Security
Authorization
Naming/Vocabulary
![Page 10: 7 Habits of Highly Effective APIs](https://reader036.vdocuments.net/reader036/viewer/2022062405/554f93bbb4c905435d8b5201/html5/thumbnails/10.jpg)
And then there are some not-so-obvious aspects that, if utilized, could give your
API a head-up on the competition
![Page 11: 7 Habits of Highly Effective APIs](https://reader036.vdocuments.net/reader036/viewer/2022062405/554f93bbb4c905435d8b5201/html5/thumbnails/11.jpg)
Your API can become highly effective if…
![Page 12: 7 Habits of Highly Effective APIs](https://reader036.vdocuments.net/reader036/viewer/2022062405/554f93bbb4c905435d8b5201/html5/thumbnails/12.jpg)
It has a @twitter account
![Page 13: 7 Habits of Highly Effective APIs](https://reader036.vdocuments.net/reader036/viewer/2022062405/554f93bbb4c905435d8b5201/html5/thumbnails/13.jpg)
Communicates feature updates, new versions, etc.
Exposes itself in API directories
Provides health / uptime / downtime info
It has a @twitter account
![Page 14: 7 Habits of Highly Effective APIs](https://reader036.vdocuments.net/reader036/viewer/2022062405/554f93bbb4c905435d8b5201/html5/thumbnails/14.jpg)
It’s beautifully described
![Page 15: 7 Habits of Highly Effective APIs](https://reader036.vdocuments.net/reader036/viewer/2022062405/554f93bbb4c905435d8b5201/html5/thumbnails/15.jpg)
Generous and easily navigable documentation
Code examples for “relevant” languages
Metadata for code generation and testing
It’s beautifully described
![Page 16: 7 Habits of Highly Effective APIs](https://reader036.vdocuments.net/reader036/viewer/2022062405/554f93bbb4c905435d8b5201/html5/thumbnails/16.jpg)
It’s instantly accessible
![Page 17: 7 Habits of Highly Effective APIs](https://reader036.vdocuments.net/reader036/viewer/2022062405/554f93bbb4c905435d8b5201/html5/thumbnails/17.jpg)
Fully automated API key / account creation
Generous developer quota
“Getting Started” tutorials and examples
It’s instantly accessible
![Page 18: 7 Habits of Highly Effective APIs](https://reader036.vdocuments.net/reader036/viewer/2022062405/554f93bbb4c905435d8b5201/html5/thumbnails/18.jpg)
It has a sandbox for experiments
![Page 19: 7 Habits of Highly Effective APIs](https://reader036.vdocuments.net/reader036/viewer/2022062405/554f93bbb4c905435d8b5201/html5/thumbnails/19.jpg)
Limited functionality or content
Simulations of errors and out-of-bounds situations
No limits on usages – doesn’t consume quota
It has a sandbox for experiments
![Page 20: 7 Habits of Highly Effective APIs](https://reader036.vdocuments.net/reader036/viewer/2022062405/554f93bbb4c905435d8b5201/html5/thumbnails/20.jpg)
It has out-of-the-box clients
![Page 21: 7 Habits of Highly Effective APIs](https://reader036.vdocuments.net/reader036/viewer/2022062405/554f93bbb4c905435d8b5201/html5/thumbnails/21.jpg)
Lowers barrier of entry
Adapts API to client paradigms
Hides complexity related to authentication, parsing, etc.
It has out-of-the-box clients
![Page 22: 7 Habits of Highly Effective APIs](https://reader036.vdocuments.net/reader036/viewer/2022062405/554f93bbb4c905435d8b5201/html5/thumbnails/22.jpg)
It knows and serves its user
![Page 23: 7 Habits of Highly Effective APIs](https://reader036.vdocuments.net/reader036/viewer/2022062405/554f93bbb4c905435d8b5201/html5/thumbnails/23.jpg)
Uses the right technologies for the domain
Respects security and authentication requirements
Adopts common nomenclature and naming
It knows and serves its user
![Page 24: 7 Habits of Highly Effective APIs](https://reader036.vdocuments.net/reader036/viewer/2022062405/554f93bbb4c905435d8b5201/html5/thumbnails/24.jpg)
It’s aware of its own constraints
![Page 25: 7 Habits of Highly Effective APIs](https://reader036.vdocuments.net/reader036/viewer/2022062405/554f93bbb4c905435d8b5201/html5/thumbnails/25.jpg)
Continuously evaluates its own performance
Monitors third-party APIs and dependencies
Handles unexpected events gracefully
It’s aware of its own constraints
![Page 26: 7 Habits of Highly Effective APIs](https://reader036.vdocuments.net/reader036/viewer/2022062405/554f93bbb4c905435d8b5201/html5/thumbnails/26.jpg)
It’s prepared for (r)evolution
![Page 27: 7 Habits of Highly Effective APIs](https://reader036.vdocuments.net/reader036/viewer/2022062405/554f93bbb4c905435d8b5201/html5/thumbnails/27.jpg)
Versioned from day one in line with best practices
Communicates and implements a versioning strategy
Handles “old” clients gracefully
It’s prepared for (r)evolution
![Page 28: 7 Habits of Highly Effective APIs](https://reader036.vdocuments.net/reader036/viewer/2022062405/554f93bbb4c905435d8b5201/html5/thumbnails/28.jpg)
It follows the 3:30:3 rule
![Page 29: 7 Habits of Highly Effective APIs](https://reader036.vdocuments.net/reader036/viewer/2022062405/554f93bbb4c905435d8b5201/html5/thumbnails/29.jpg)
3 seconds to understand what the API does
30 seconds to find the endpoint
3 minutes to be up and running
Thanks to Ori Pekelman!
It follows the 3:30:3 rule
![Page 30: 7 Habits of Highly Effective APIs](https://reader036.vdocuments.net/reader036/viewer/2022062405/554f93bbb4c905435d8b5201/html5/thumbnails/30.jpg)
I hope you’ve enjoyed this presentation and that you are able to apply some of
these habits to your own APIs.
![Page 31: 7 Habits of Highly Effective APIs](https://reader036.vdocuments.net/reader036/viewer/2022062405/554f93bbb4c905435d8b5201/html5/thumbnails/31.jpg)
And now that you know how to make your own APIs effective…
![Page 32: 7 Habits of Highly Effective APIs](https://reader036.vdocuments.net/reader036/viewer/2022062405/554f93bbb4c905435d8b5201/html5/thumbnails/32.jpg)
Take a few minutes to learn how to use other people’s APIs safely…
![Page 33: 7 Habits of Highly Effective APIs](https://reader036.vdocuments.net/reader036/viewer/2022062405/554f93bbb4c905435d8b5201/html5/thumbnails/33.jpg)
![Page 34: 7 Habits of Highly Effective APIs](https://reader036.vdocuments.net/reader036/viewer/2022062405/554f93bbb4c905435d8b5201/html5/thumbnails/34.jpg)
Thank you!
#APIStrat