SlideShare a Scribd company logo
5 Keys to API Design
Daniel Feist @dfeist
Principal Architect, MuleSoft

@MuleSoft
Me?
Me?
Me?
Me?
APIs:
The Cat's Meow
The New Enterprise

All contents Copyright © 2013, MuleSoft
Inc.

7
The New Enterprise

SaaS
Cloud platforms

Social

Mobility and Devices

Customers / Partners
/ Suppliers

Packaged apps

Custom apps

Big Databases / Big Files
The New Enterprise

1,000s
100s

SaaS

Cloud platforms

Social

1,000,000,000s

100,000s

Mobility and Devices

Customers / Partners
/ Suppliers

Packaged apps

1,000,000s

Custom apps

Big Databases / Big Files
The New Enterprise

SaaS
Social

Cloud platforms

Open web APIs
Mobility and Devices

Customers / Partners / Suppliers

B2B APIs

Product APIs
Internal APIs

Packaged apps

Custom apps

The New Enterprise

Databases
API Design
#1
The Contract is Critical
The API Contract Is Critical

•  tells consumer devs what they'll get

•  tells implementer devs what to deliver

•  enables parallel development

•  ensures they'll meet in the end
The Contract is Critical

ü  where consumers touch you
ü  your front door, your lobby, your façade
ü  how you want to be seen; your brand
ü  versioned more carefully than code
ü  better interfaces è better code
ü  an organizing principle; alignment forcing function
ü  the ultimate testing surface
What kind of contract do we want?

1.  Describe APIs simply and clearly

2.  Design APIs easily and soundly
What kind of contract do we want?

Document your API?

or
Model your API?
#2
Design to Delight
The Key to API Success?

how?
• 
• 
• 
• 

design for them
iterate quickly
model cleanly and consistently
gather feedback
#3
Think APX not API
Design For Your Users

UI à UX
Valida
te

API à APX

Capture
Feedback
Think APX!
This is a long-lived interface,
ladies and gentlemen

Don't expose dirty laundry

!

users

products
orders

è

invoices

Craft it for your users:
what will they love?
#4
Use Patterns
Pattern Lifecycle

Define

Share

Reuse
Types of Patterns

•  Resource Types
•  Collection
•  Collection Member
•  Document

•  Traits
•  Secure
•  Paged
#5
Engage Developers
Engage Developers

•  Social Tools
•  Rate, discuss
•  Provide feedback

•  Interactive Console
•  Prototyping Tools
5 Keys to API Design - API Days Paris 2013
What Do People Do Today?
WADL
Reverb Swagger
Mashery IOdocs
Google Discovery Docs
Apiary Blueprint
Verdict:

manifest
structure

capture
patterns

humanly
writeable

let's try
harder…
Start From Scratch?
Really???
No Need to Start From Scratch!

• 
• 
• 
• 
• 
• 

well-known superset of JSON
optimized for human readability
great for hierarchies
cruft-free
broad tooling base
extensible-ish
RAML

RESTful API Modeling Language
A new open spec
for RESTful APIs
that's as clean
and as structured
as REST itself
the RAML Workgroup:
raml.org
RAML: How Clean? How Structured?
RAML: Clean & Structured.
RAML: Reuse

resource type
schema

trait
Covers Full HTTP
optional version in baseUri
template URIs

query parameters

headers (on request and response)
response per status code
example (and schema) per media type
Patterns: Resource Types
externalizable
inheritance
pull in traits

parametrize
Patterns: Method-level traits

mix-ins
Patterns: body schemas
XML schema
JSON schema
or just use good ol'
form data:

examples
Patterns: security schemes
username/password; cleartext or use digest
end user allows app to access their data
better to put token in header, not query

the OAuth multi-step dance
5 Keys to API Design - API Days Paris 2013
What's next?

q growing library of API specs in RAML (e.g. on APIhub)
q converters (import WADL, Swagger etc.)
q client generators
q server frameworks (e.g. MuleSoft APIkit; node.js)
q JAX-RS Support
q testing frameworks
q mocking services (e.g. on APIhub)
q <insert your ideas here>
q evolve RAML spec (RAML workgroup)
5 Keys to API Design - API Days Paris 2013
Interesting?
Thank you!

More Related Content

PDF
排隊 Paiduei App, | React Native | iOS | Android
Liyang Zhang
 
PDF
Work hard and REST
Csaba Csordas
 
PPTX
Open source
Ah Fawad Saiq
 
PDF
Harmony in API Design
Jakub Nesetril
 
PDF
Post-REST Manifesto
Jakub Nesetril
 
PPTX
Api Design
Jason Harmon
 
PPTX
Introduction to Open Source, Apache and Apache Way
Srinath Perera
 
PDF
INTERFACE, by apidays - Low code APIs that don't break by Zdenek Nemec, Supe...
apidays
 
排隊 Paiduei App, | React Native | iOS | Android
Liyang Zhang
 
Work hard and REST
Csaba Csordas
 
Open source
Ah Fawad Saiq
 
Harmony in API Design
Jakub Nesetril
 
Post-REST Manifesto
Jakub Nesetril
 
Api Design
Jason Harmon
 
Introduction to Open Source, Apache and Apache Way
Srinath Perera
 
INTERFACE, by apidays - Low code APIs that don't break by Zdenek Nemec, Supe...
apidays
 

What's hot (20)

PPTX
Open Source And the Internet Of Things
ProgrammableWeb
 
PPTX
Google v Oracle: The Future of Software and Fair Use
Aurora Consulting
 
PDF
API Description Languages
Akana
 
PDF
Life After Microservices – Shifting the Boundaries
Nordic APIs
 
PPTX
Operational API design anti-patterns (Jason Harmon)
Nordic APIs
 
PPT
API 101 - Understanding APIs
3scale
 
PPTX
API Trends: What to expect in 2012
Apigee | Google Cloud
 
PDF
Rest api best practices – comprehensive handbook
Katy Slemon
 
PPTX
GitHub Copilot.pptx
Luis Beltran
 
PPTX
API Description Languages: Which is the Right One for Me?
Akana
 
PDF
Docs Like Code
Anne Gentle
 
PDF
Docs Like Code: Strategies and Stories
Anne Gentle
 
PDF
apidays LIVE Paris 2021 - Privacy Engineering by Ian Oliver, Nokia Bell Labs
apidays
 
PDF
How And Why To Dogfood Your API
ProgrammableWeb
 
PPTX
Pain Points In API Development? They’re Everywhere
Nordic APIs
 
PPTX
Pie for Sale: Timeless Lessons in API Advocacy (Adam DuVander)
Nordic APIs
 
PDF
Eight Hours to API Literacy: A Fast, Fun On-ramp for Writers
Pronovix
 
PPTX
Scaling API Design
Jason Harmon
 
PPTX
STC Summit 2015: API Documentation, an Example-Based Approach
Lois Patterson
 
PDF
ProgrammableWeb's eSignature API Research Report
ProgrammableWeb
 
Open Source And the Internet Of Things
ProgrammableWeb
 
Google v Oracle: The Future of Software and Fair Use
Aurora Consulting
 
API Description Languages
Akana
 
Life After Microservices – Shifting the Boundaries
Nordic APIs
 
Operational API design anti-patterns (Jason Harmon)
Nordic APIs
 
API 101 - Understanding APIs
3scale
 
API Trends: What to expect in 2012
Apigee | Google Cloud
 
Rest api best practices – comprehensive handbook
Katy Slemon
 
GitHub Copilot.pptx
Luis Beltran
 
API Description Languages: Which is the Right One for Me?
Akana
 
Docs Like Code
Anne Gentle
 
Docs Like Code: Strategies and Stories
Anne Gentle
 
apidays LIVE Paris 2021 - Privacy Engineering by Ian Oliver, Nokia Bell Labs
apidays
 
How And Why To Dogfood Your API
ProgrammableWeb
 
Pain Points In API Development? They’re Everywhere
Nordic APIs
 
Pie for Sale: Timeless Lessons in API Advocacy (Adam DuVander)
Nordic APIs
 
Eight Hours to API Literacy: A Fast, Fun On-ramp for Writers
Pronovix
 
Scaling API Design
Jason Harmon
 
STC Summit 2015: API Documentation, an Example-Based Approach
Lois Patterson
 
ProgrammableWeb's eSignature API Research Report
ProgrammableWeb
 
Ad

Similar to 5 Keys to API Design - API Days Paris 2013 (20)

PPTX
RAML - APIs By Design
Uri Sarid
 
ODP
Mulesoft Raml APIs
akshay yeluru
 
PPTX
Building a REST API for Longevity
MuleSoft
 
PDF
Building the Eventbrite API Ecosystem
Mitch Colleran
 
PPTX
Cloud Services UX
Ross Jimenez
 
PDF
6 Reasons Why APIs Are Reshaping Your Business
Fabernovel
 
PPTX
Neev Open Source Contributions
Neev Technologies
 
PDF
The next generation of google APIs (Ade Oshineye)
Ontico
 
PPTX
Scaling API Design
Jason Harmon
 
PPTX
Scaling API Design - Nordic APIs 2014
Jason Harmon
 
PDF
Building A Great API - Evan Cooke, Cloudstock, December 2010
Twilio Inc
 
PPTX
Developer Experience (DX) for UX Professionals
Ian Jennings
 
PPSX
APIs as a Product Strategy
Ravi Kumar
 
PDF
Unlocking Generative AI in your Web Apps
Maximiliano Firtman
 
PDF
Popular App Development Frameworks used by App Developers.
Techugo
 
PPTX
OS Accelerate London - 09/16/15
Appnovation Technologies
 
PPTX
Reaching 1 Million APIs and what to do when we get there
3scale
 
PPT
Six Principles of Software Design to Empower Scientists
David De Roure
 
PDF
API Introduction - API Management Workshop Munich from Ronnie Mitra
CA API Management
 
PDF
API Description Languages: Which Is The Right One For Me?
ProgrammableWeb
 
RAML - APIs By Design
Uri Sarid
 
Mulesoft Raml APIs
akshay yeluru
 
Building a REST API for Longevity
MuleSoft
 
Building the Eventbrite API Ecosystem
Mitch Colleran
 
Cloud Services UX
Ross Jimenez
 
6 Reasons Why APIs Are Reshaping Your Business
Fabernovel
 
Neev Open Source Contributions
Neev Technologies
 
The next generation of google APIs (Ade Oshineye)
Ontico
 
Scaling API Design
Jason Harmon
 
Scaling API Design - Nordic APIs 2014
Jason Harmon
 
Building A Great API - Evan Cooke, Cloudstock, December 2010
Twilio Inc
 
Developer Experience (DX) for UX Professionals
Ian Jennings
 
APIs as a Product Strategy
Ravi Kumar
 
Unlocking Generative AI in your Web Apps
Maximiliano Firtman
 
Popular App Development Frameworks used by App Developers.
Techugo
 
OS Accelerate London - 09/16/15
Appnovation Technologies
 
Reaching 1 Million APIs and what to do when we get there
3scale
 
Six Principles of Software Design to Empower Scientists
David De Roure
 
API Introduction - API Management Workshop Munich from Ronnie Mitra
CA API Management
 
API Description Languages: Which Is The Right One For Me?
ProgrammableWeb
 
Ad

Recently uploaded (20)

PDF
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PDF
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
PDF
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
PPTX
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
PDF
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
PDF
Doc9.....................................
SofiaCollazos
 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
PDF
Software Development Methodologies in 2025
KodekX
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PDF
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
PDF
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
PPTX
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
PDF
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
PDF
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
PPTX
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
PDF
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
PDF
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
Doc9.....................................
SofiaCollazos
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
Software Development Methodologies in 2025
KodekX
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 

5 Keys to API Design - API Days Paris 2013