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
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
540
Other Decks in Programming
See All in Programming
Raku Raku Notion 20260128
hareyakayuruyaka
0
290
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
580
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
180
今から始めるClaude Code超入門
448jp
8
8.9k
Architectural Extensions
denyspoltorak
0
290
16年目のピクシブ百科事典を支える最新の技術基盤 / The Modern Tech Stack Powering Pixiv Encyclopedia in its 16th Year
ahuglajbclajep
5
1k
開発者から情シスまで - 多様なユーザー層に届けるAPI提供戦略 / Postman API Night Okinawa 2026 Winter
tasshi
0
200
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
690
Basic Architectures
denyspoltorak
0
680
なぜSQLはAIぽく見えるのか/why does SQL look AI like
florets1
0
470
Fluid Templating in TYPO3 14
s2b
0
130
組織で育むオブザーバビリティ
ryota_hnk
0
180
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
430
GraphQLの誤解/rethinking-graphql
sonatard
74
11k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
52k
The Curse of the Amulet
leimatthew05
1
8.6k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Exploring anti-patterns in Rails
aemeredith
2
250
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.2k
Skip the Path - Find Your Career Trail
mkilby
0
57
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
55
How to Think Like a Performance Engineer
csswizardry
28
2.4k
Chasing Engaging Ingredients in Design
codingconduct
0
110
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?