Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Effective API Governance: Lessons Learnt
Search
Alvaro Navarro
October 10, 2019
Programming
3.3k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Effective API Governance: Lessons Learnt
Talk delivered at API the Docs Amsterdam 2019
Alvaro Navarro
October 10, 2019
More Decks by Alvaro Navarro
See All by Alvaro Navarro
Design Your APIs Before Laying the First Brick
alnacle
0
50
No More Post-its: Boost your login security with APIs
alnacle
0
180
Baking a great DX
alnacle
0
170
Designing APIs Like You'd Design Your House
alnacle
0
190
Build your first Spotify App
alnacle
0
64
How to use your API Gateway as Developer Relations Tool
alnacle
0
100
Building awesome SDKs for your APIs: Best Practices
alnacle
0
110
DevRel as Professional Career
alnacle
0
240
Building a partnership that scales through APIs
alnacle
0
140
Other Decks in Programming
See All in Programming
学びを記事・スライド・Xへ高速展開する― AI-assisted Learning Loopで回すコンテンツ生成術
ochtum
0
190
[JA] Domain Modeling with Vanilla Rails: 「操作」から再考するRailsの設計論
yasaichi
4
1.8k
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Kaigi on Rails 2026, Tokyo, Japan
marcoroth
2
410
AIが生成したコードは読むべきか?抽象化設計とコードの品質保証 / abstraction-design-and-quality
minodriven
16
8.6k
クラウドエージェントは、 何がそんなに便利なのか / what makes cloud agents so useful
rkaga
5
770
Spec-Driven Development - Why Vaadin Is the Perfect Fit
simas
PRO
0
230
AIがコードを書いてくれる時代、我々は何を確かめるのか
yosuke_furukawa
PRO
13
5.7k
複数ドメインを一つのアプリに統合するFlutterの設計と運用_FlutterKaigi2026登壇資料(須永高弘)
takahirosunaga
0
150
느린 네트워크와 저사양 디바이스 사용자를 위한 웹뷰 로딩 시간 개선기
kmkim
1
190
Railsバージョンを4倍にした話
optim
0
920
Materialが消えた日 〜真っ白なFlutterキャンバスにRenderObjectで絵を描く〜
umigishiaoi
0
150
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
4
1.5k
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Building an army of robots
kneath
307
47k
How STYLIGHT went responsive
nonsquared
100
6.3k
Git: the NoSQL Database
bkeepers
PRO
433
67k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
Crafting Experiences
bethany
1
420
Automating Front-end Workflow
addyosmani
1370
210k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.7k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Being A Developer After 40
akosma
PRO
92
590k
GitHub's CSS Performance
jonrohan
1033
470k
Design in an AI World
tapps
1
380
Transcript
© 2016 Amadeus IT Group and its affiliates and subsidiaries
Effective API Governance Lessons Learnt Alvaro Navarro Amsterdam, 10th October 2019
Once upon a time
Trip Purpose Prediction API Once upon a time
Once upon a time Returns the forecast purpose of a
trip Business or Leisure based on a search criteria.
GET /flights/predictions/purpose Once upon a time
origin : MAD destination : AMS departure : 20191012 return
: 20191015 Once upon a time
{ "result": { "prediction" : "BUSINESS", "probability": 0.751 } }
Once upon a time
Accept: application/vnd.amadeus.v1.full+json Once upon a time
Once upon a time
You need your API validated by the API Governance Board!
Once upon a time
Once upon a time
Once upon a time
Once upon a time
Once upon a time
Once upon a time
Hello World @alnacle
Motivation More than 20 years working with APIs ◦ EDIFACT
◦ SOAP/XML ◦ REST/JSON ◦ Protobuf ◦ GraphQL
Motivation Many people designing and implementing APIs
Motivation Difficult to reuse across backends
Motivation We need to regulate this!
What is the API Governance?
What is the API Governance? Community of API Designers and
Developers
What is the API Governance? Owners of guidelines, data dictionaries
and processes
What is the API Governance? Support
In Amadeus we introduced the HAPPY principle
What is the API Governance? Homogeneous
What is the API Governance? Homogeneous Active
What is the API Governance? Homogeneous Active Pragmatic
What is the API Governance? Homogeneous Active Pragmatic Positive
What is the API Governance? Homogeneous Active Pragmatic Positive Young
Why API Governance?
Why API Governance? As API Producer
Why API Governance? Design Guidelines and Standardization
Why API Governance? Design Guidelines and Standardization ❏ Errors ❏
Endpoint/parameters naming ❏ Improvements ❏ Data Dictionaries ❏ Versioning
Why API Governance? Using URLs http://api.amadeus.com/v1/flight-search http://api.amadeus.com/2018/flight-search http://api.amadeus.com/2018/02/flight-search Using HTTP
Header Accept: application/vnd.amadeus.v1 Accept-Version: 1 Using a Query parameter $ curl http://api.amadeus.com/flight-search?version=1
Why API Governance? As API Consumer
Why API Governance? Better API integration and consistency
Why API Governance? import amadeus client = amadeus.Client() response =
client.shopping.flight_destinations.get(origin = 'AMS', maxPrice = '500')
How do we make it work?
How do we make it work? Technical discussions: Decision Logs
How do we make it work? API submissions: Review Cards
How do we make it work?
How do we make it work? Under Construction In Progress
Pending Validated Review Process ( 1 week ) 1 to 4 weeks ❏ Validated Review Card ❏ Documentation ❏ Swagger Designer
Lessons Learnt
Lessons Learnt Tools are your friends! ◦ Designing ◦ Documenting
◦ Testing
Lessons Learnt Be an advocate and spread the word!
Lessons Learnt It's not a control entity ! Democratic approach
when designing APIs
Lessons Learnt It is a place to speak and share
knowledge
Thanks! developers.amadeus.com