$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Learning to Share APIs
Search
Scott Feinberg
April 14, 2016
Programming
0
55
Learning to Share APIs
Originally Presented at O'Reilly Software Architecture Conf 4/13/2016
Scott Feinberg
April 14, 2016
Tweet
Share
More Decks by Scott Feinberg
See All by Scott Feinberg
Building API Tooling that Doesn't Suck
scottefein
0
530
Other Decks in Programming
See All in Programming
20 years of Symfony, what's next?
fabpot
2
360
AIの誤りが許されない業務システムにおいて“信頼されるAI” を目指す / building-trusted-ai-systems
yuya4
6
3.7k
MAP, Jigsaw, Code Golf 振り返り会 by 関東Kaggler会|Jigsaw 15th Solution
hasibirok0
0
250
マスタデータ問題、マイクロサービスでどう解くか
kts
0
100
Rediscover the Console - SymfonyCon Amsterdam 2025
chalasr
2
170
Navigation 3: 적응형 UI를 위한 앱 탐색
fornewid
1
350
Cap'n Webについて
yusukebe
0
130
【CA.ai #3】Google ADKを活用したAI Agent開発と運用知見
harappa80
0
310
非同期処理の迷宮を抜ける: 初学者がつまづく構造的な原因
pd1xx
1
720
俺流レスポンシブコーディング 2025
tak_dcxi
14
8.9k
リリース時」テストから「デイリー実行」へ!開発マネージャが取り組んだ、レガシー自動テストのモダン化戦略
goataka
0
130
チームをチームにするEM
hitode909
0
340
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
54k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
Making Projects Easy
brettharned
120
6.5k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.3k
Code Review Best Practice
trishagee
74
19k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Transcript
Sanely Sharing APIs
Scott Feinberg
Our Agenda Today
APIs Cause Problems
APIs Divide Us
Friction Across Teams Information Silos Duplication of Effort
The Cause?
We Don’t Know How to Share Our APIs
Team A Team B
Team C Team D
Let’s learn to share
What makes for easy sharing?
If you do all these things I’m about to talk
about...
Pick a Spec Format
What is a Spec?
OpenAPI/Swagger
Other Options
Want to see some specs?
Making Specs
Generate your specs
Generate your specs by proxy
Updating Spec during CI Builds
Why do you need specs?
None
None
None
Generate Good Documentation
Generate Integration Tests
How should your system talk to my system?
Canonical Protocols + Schemas
Pick a Protocol
Standardize Your Schema
Canonical Authentication
Design an Authentication Schema
Ways to Authenticate
Proxy-Based Authentication Proxy Lookup Key `dontshareme` User = Bob api.nytimes.com/svc/service_a/kittens/1?api-key=dontshareme
Service A service_a.consul/kittens/1 header:{User=Bob}
Available Proxy or “API Gateway”
So what should I do?
Your Sharing Checklist
The new process for creating an API...
None
None
New York Times Developer APIs
NYT Developer API Program
Announcing Today... (or when I get around to it)
The New (Open Source) Stack
What can people do w/NYT APIs?
None
Fin
Questions?