Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Designing APIs Like You'd Design Your House
Search
Alvaro Navarro
January 20, 2023
Technology
0
130
Designing APIs Like You'd Design Your House
Alvaro Navarro
January 20, 2023
Tweet
Share
More Decks by Alvaro Navarro
See All by Alvaro Navarro
No More Post-its: Boost your login security with APIs
alnacle
0
23
Baking a great DX
alnacle
0
140
Build your first Spotify App
alnacle
0
24
How to use your API Gateway as Developer Relations Tool
alnacle
0
49
Building awesome SDKs for your APIs: Best Practices
alnacle
0
92
DevRel as Professional Career
alnacle
0
190
Effective API Governance: Lessons Learnt
alnacle
0
3.1k
Building a partnership that scales through APIs
alnacle
0
110
The Journey of an OpenAPI platform
alnacle
0
150
Other Decks in Technology
See All in Technology
How Community Opened Global Doors
hiroramos4
PRO
1
120
Yamla: Rustでつくるリアルタイム性を追求した機械学習基盤 / Yamla: A Rust-Based Machine Learning Platform Pursuing Real-Time Capabilities
lycorptech_jp
PRO
3
120
“社内”だけで完結していた私が、AWS Community Builder になるまで
nagisa53
1
390
Абьюзим random_bytes(). Фёдор Кулаков, разработчик Lamoda Tech
lamodatech
0
340
CI/CD/IaC 久々に0から環境を作ったらこうなりました
kaz29
1
170
Javaで作る RAGを活用した Q&Aアプリケーション
recruitengineers
PRO
1
110
TechLION vol.41~MySQLユーザ会のほうから来ました / techlion41_mysql
sakaik
0
180
Amazon ECS & AWS Fargate 運用アーキテクチャ2025 / Amazon ECS and AWS Fargate Ops Architecture 2025
iselegant
16
5.5k
Postman AI エージェントビルダー最新情報
nagix
0
110
生成AIでwebアプリケーションを作ってみた
tajimon
2
150
Windows 11 で AWS Documentation MCP Server 接続実践/practical-aws-documentation-mcp-server-connection-on-windows-11
emiki
0
960
セキュリティの民主化は何故必要なのか_AWS WAF 運用の 10 の苦悩から学ぶ
yoh
1
140
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
RailsConf 2023
tenderlove
30
1.1k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
VelocityConf: Rendering Performance Case Studies
addyosmani
330
24k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Designing for humans not robots
tammielis
253
25k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
670
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.8k
Transcript
Designing APIs Like You'd Design Your House Alvaro Navarro 19/01/2023
In 2022 I made a mistake
What if…
…we renovate the kitchen?
None
None
None
None
None
None
None
None
None
None
None
None
What happened? • Wrong design • Customers don't speak the
same language • Release v2 is going to cost money
Alvaro Navarro Developer Advocate @alnacle
Foundation of a sane and healthy API culture Photo by
Dose Juice on Unsplash
API Guidelines
Easy-to-consume references and instructions for all of the important information
that a team will need to create or work with APIs API Guidelines
None
API Governance
What is an API Governance? • Owners of the guidelines,
data dictionaries and processes
What is an API Governance? Example: Track Schema
What is an API Governance? • Owners of the guidelines,
data dictionaries and processes • Technical discussions
What is an API Governance? Example: Versioning Using URLs http://api.spotify.com/v1/albums
http://api.spotify.com/2022/albums http://v1.api.spotify.com/albums HTTP Header Accept: application/vnd.spotify.v1 Accept-Version: 1 Query parameter GET /albums?version=1
What is an API Governance? • Owners of the guidelines,
data dictionaries and processes • Technical discussions • API design review
What is an API Governance? Submitted by: awesome_api_designer Reviewers: reviewer_1,
reviewer_2, reviewer_3 • Define the Use Case of the API • Flow (how to use the API) • Data Dictionary • URI • Examples • OpenAPI Spec
Why do we need an API Governance?
Why API Governance? As API Producer - Guidelines owners -
Standardization: - Errors - Endpoints / parameters naming - Improvements - Data dictionaries - Security - Versioning
Why API Governance? As API Producer - Guidelines owners -
Standardization: - Errors - Endpoints / parameters naming - Improvements - Data dictionaries - Security - Versioning As API Consumer - API consistency - Better API integration
Why API Governance? As API Producer - Guidelines owners -
Standardization: - Errors - Endpoints / parameters naming - Improvements - Data dictionaries - Security - Versioning Low participation could create a bottleneck! As API Consumer - API consistency - Better API integration
API Lifecycle Photo by Brett Jordan on Unsplash
API Lifecycle Idea - Quick wins - Demands from customers
- Innovation trends - Competitors' offering - Business goals
API Lifecycle Idea API Design/ Validation Validated by management and
legal
Design-first approach Design
Design-first approach Design Mocks
Design-first approach Design Mocks Feedback
Design-first approach Design Mocks Feedback
API Lifecycle Idea Development Testing - Beta tester program API
Design/ Validation
API Lifecycle Idea Development Testing Release Promotion API Design/ Validation
API Lifecycle Idea Development Testing Release Promotion Monitor Feedback API
Design/ Validation
API Lifecycle Idea Development Testing Release Promotion Monitor Feedback New
version? API Design/ Validation
API Lifecycle Idea Development Testing Release Promotion Monitor Feedback Decommission
API Design/ Validation New version?
API Lifecycle Breaking vs. non-breaking changes Once released, your API
should be considered a contract and cannot be broken without a new version release
API Lifecycle v1 Obsolete supported Obsolete unsupported deprecated v2 Obsolete
supported Obsolete unsupported deprecated v3 5 months? 5 months?
API Lifecycle v1 Obsolete supported Obsolete unsupported deprecated v2 Obsolete
supported Obsolete unsupported deprecated v3 Migration period: support, comms, tutorials, etc. 5 months 5 months
API Lifecycle v1 Obsolete supported Obsolete unsupported deprecated v2 Obsolete
supported Obsolete unsupported deprecated v3 Migration period: specific comms, implement redirects, add "warnings" to the payload 5 months 5 months
Recap Photo by Júnior Ferreira on Unsplash
Recap • Before delivering top-quality APIs, we need establish guidelines,
tools and processes • API specification is a contract • Always embrace API design-first approach
Resources
Resources
Resources https://apideveloperweekly.com/ https://nordicapis.com/newsletter/ Newsletters: https://apievangelist.com/ https://apihandyman.io/ Blogs:
developer.spotify.com @spotifyplatform Thank you!