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
Learning to Share APIs
Search
Scott Feinberg
April 14, 2016
Programming
66
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Learning to Share APIs
Originally Presented at O'Reilly Software Architecture Conf 4/13/2016
Scott Feinberg
April 14, 2016
More Decks by Scott Feinberg
See All by Scott Feinberg
Building API Tooling that Doesn't Suck
scottefein
0
630
Other Decks in Programming
See All in Programming
[Dev Group Paris Octobre 26] Agentforce, SIforce, Claudeforce, Slackbot… on s'y retrouve ?
nabondance
0
110
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
5
5.2k
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
790
Vue Fes Japan の “作る側”に関わってみて
naokihaba
0
160
IBM Bob Dojo #1 仕様駆動開発入門
oniak3ibm
PRO
0
390
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
220
残高管理から台帳サービスへの進化
artoy
1
200
気持ちぃ〜角丸 Squircle
ryu1013
0
310
動作中のプログラムの中身をリアルタイムに覗く / Realtime Debugger for CSharp with Roslyn
prota
1
1.9k
dotNET_vulnclicker_intro.pdf
deka_morita
0
140
AI時代のコードレビューは人に向けるな、仕組みに向けろ
texmeijin
5
3.7k
AmebaブログはKMPから卒業します
kmars0605
0
190
Featured
See All Featured
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
800
How STYLIGHT went responsive
nonsquared
100
6.3k
Building Adaptive Systems
keathley
44
3.2k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Ethics towards AI in product and experience design
skipperchong
2
430
StorybookのUI Testing Handbookを読んだ
zakiyama
31
7k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
750
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
360
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
520
My Coaching Mixtape
mlcsv
0
360
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?