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
API Design with Apiary
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Z
March 17, 2016
Programming
130
1
Share
API Design with Apiary
As presentent on ofmForum.
Z
March 17, 2016
More Decks by Z
See All by Z
Agentic Commerce - arcpay.ai
zdne
1
80
APIs at the Verge of AI
zdne
0
220
Delivering APIs for AI
zdne
0
320
APIs for AI: Have we failed?
zdne
0
340
AI-enabled APIs
zdne
0
160
Autonomous Agents
zdne
0
180
API Documentation & AI
zdne
0
210
APIs in N-tier architecture
zdne
0
560
Autonomous Integration Mesh '21
zdne
0
220
Other Decks in Programming
See All in Programming
mruby on C#: From VM Implementation to Game Scripting (RubyKaigi 2026)
hadashia
2
650
実践CRDT
tamadeveloper
0
590
Claude CodeでETLジョブ実行テストを自動化してみた
yoshikikasama
0
840
Claude Code × Gemini × Ebitengine ゲーム制作素人WebエンジニアがGoでゲームを作った話
webzawa
0
160
検索設計から 推論設計への重心移動と Recall-First Retrieval
po3rin
4
1.1k
GoogleCloudとterraform完全に理解した
terisuke
1
160
AIを導入する前にやるべきこと
negima
2
250
Vibe하게 만드는 Flutter GenUI App With ADK , 박제창, BWAI Incheon 2026
itsmedreamwalker
0
550
Don't Prompt Harder, Structure Better
kitasuke
0
780
Cache-moi si tu peux : patterns et pièges du cache en production - Devoxx France 2026 - Conférence
slecache
0
300
Lightning-Fast Method Calls with Ruby 4.1 ZJIT / RubyKaigi 2026
k0kubun
3
1.3k
ソフトウェア設計の結合バランス #phperkaigi
kajitack
0
150
Featured
See All Featured
How to Talk to Developers About Accessibility
jct
2
180
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.2k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
130
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
430
Paper Plane (Part 1)
katiecoart
PRO
0
6.8k
We Are The Robots
honzajavorek
0
220
Utilizing Notion as your number one productivity tool
mfonobong
4
290
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
190
Designing Powerful Visuals for Engaging Learning
tmiket
1
350
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.5k
So, you think you're a good person
axbom
PRO
2
2k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
170
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