Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
API Design with Apiary
Search
Z
March 17, 2016
Programming
1
130
API Design with Apiary
As presentent on ofmForum.
Z
March 17, 2016
Tweet
Share
More Decks by Z
See All by Z
Agentic Commerce - arcpay.ai
zdne
1
22
APIs at the Verge of AI
zdne
0
180
Delivering APIs for AI
zdne
0
280
APIs for AI: Have we failed?
zdne
0
300
AI-enabled APIs
zdne
0
140
Autonomous Agents
zdne
0
150
API Documentation & AI
zdne
0
190
APIs in N-tier architecture
zdne
0
530
Autonomous Integration Mesh '21
zdne
0
180
Other Decks in Programming
See All in Programming
React Native New Architecture 移行実践報告
taminif
1
150
これだけで丸わかり!LangChain v1.0 アップデートまとめ
os1ma
6
1.8k
C-Shared Buildで突破するAI Agent バックテストの壁
po3rin
0
380
AIエンジニアリングのご紹介 / Introduction to AI Engineering
rkaga
5
2k
生成AIを利用するだけでなく、投資できる組織へ
pospome
1
310
20251212 AI 時代的 Legacy Code 營救術 2025 WebConf
mouson
0
100
開発に寄りそう自動テストの実現
goyoki
1
860
TUIライブラリつくってみた / i-just-make-TUI-library
kazto
1
380
AIコーディングエージェント(Manus)
kondai24
0
170
20 years of Symfony, what's next?
fabpot
2
350
大体よく分かるscala.collection.immutable.HashMap ~ Compressed Hash-Array Mapped Prefix-tree (CHAMP) ~
matsu_chara
1
220
AIコーディングエージェント(Gemini)
kondai24
0
210
Featured
See All Featured
Thoughts on Productivity
jonyablonski
73
5k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.2k
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
Statistics for Hackers
jakevdp
799
230k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.3k
It's Worth the Effort
3n
187
29k
Facilitating Awesome Meetings
lara
57
6.7k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
BBQ
matthewcrist
89
9.9k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
1k
Transcript
API DESIGN WITH APIARY Z – @zdne Apiary.io
4 STAGES OF API MATURITY API as a by- product
of building apps API documentation generated from code Design-first API Development API Design Consistency
APIARY.IO
DESIGN-FIRST
API DESCRIPTION • API Blueprint • OpenAPI Specification (Swagger) •
Others (RAML, WADL, WSDL, Email, Word document)
API BLUEPRINT
# User [/user] ## Retrieve [GET] Retrieves the . +
Response 200 (application/json) { "name": "John" }
None
None
API LIFECYCLE
Preparation Design Development Delivery Consumption Analysis CLASSIC API LIFECYCLE
Preparation Design & Prototype Development Delivery Consumption Analysis API LIFECYCLE
WITH APIARY
Preparation 1. Define domain semantics 2. Choose architectural style 3.
Define a style guide*
Design & Prototype 1. Formalize API in an API Description
format* 2. Put API Description in a VCS 3. Circulate & Review 4. Apiary Mock Server
Develop 1. API Description in the same repository as implementation
2. Test locally 3. Test with Apiary 4. Test in CI
Deliver 1. Share VCS repository 2. Share Apiary Documentation 3.
Embed Apiary Documentation
Consume 1. Apiary Documentation 2. Apiary Mock Server 3. Documentation
Console 4. Language Examples 5. Apiary Traffic Inspector 6. Apiary Proxy
Analysis
BONUS: GOVERNANCE • Design Rules • Style Guides • Better
DX through CONSISTENCY
BONUS: MSON • Human readable data description • Reusable, format-agnostic
data modeling language • Data is your API
TRY IT NOW http://apiary.io Q&A @apiaryio
None
MIND SHIFT • Describe resource NOT representation • Define domain
semantics • Reuse common semantics • Do NOT focus on technical details • URIs • representations • schema validations
API ISN’T… • API is not pretty URLs • API
is not HTTP Verbs • API is not CRUD • API is not JSON
REST ARCHITECTURAL STYLE • Client–server • Stateless • Cacheable •
Layered system • Code on Demand (optional) • Uniform Interface • Identification of resources • Manipulation through representations • Self-descriptive messages • Hypermedia as the engine of the application state
Feedback Design Delivery Prototype Development SIMPLE API LIFECYCLE
REFERENCE • http://apiary.io • http://apiblueprint.org • https://github.com/apiaryio/mson • http://www.ics.uci.edu/~fielding/pubs/dissertation/ rest_arch_style.htm