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
57
0
Share
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
570
Other Decks in Programming
See All in Programming
From Formal Specification to Property Based Test
ohbarye
0
200
〜バイブコーディングを超えて〜 チームで実験し続けたAI駆動開発
tigertora7571
0
150
(Re)make Regexp in Ruby: Democratizing internals for the JIT
makenowjust
3
580
Surviving Black Friday: 329 billion requests with Falcon!
ioquatix
0
750
Agentic Elixir
whatyouhide
0
390
AIエージェントで業務改善してみた
taku271
0
540
ドメインイベントでビジネスロジックを解きほぐす #phpcon_odawara
kajitack
3
790
Claude Code × Gemini × Ebitengine ゲーム制作素人WebエンジニアがGoでゲームを作った話
webzawa
0
150
検索設計から 推論設計への重心移動と Recall-First Retrieval
po3rin
3
970
How We Benchmarked Quarkus: Patterns and anti-patterns
hollycummins
1
150
Kingdom of the Machine
yui_knk
2
790
VueエンジニアがReactを触って感じた_設計の違い
koukimiura
0
180
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
220
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
53k
[SF Ruby Conf 2025] Rails X
palkan
2
970
How to Think Like a Performance Engineer
csswizardry
28
2.6k
Bash Introduction
62gerente
615
210k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
How to Ace a Technical Interview
jacobian
281
24k
Accessibility Awareness
sabderemane
1
100
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
Technical Leadership for Architectural Decision Making
baasie
3
330
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?