Skip to content
Switch branches/tags
Go to file
Cannot retrieve contributors at this time

User Driven APIs

Brenton Cleeland /

Web APIs

(REST, GraphQL, RPC, whatever...)

Command Line Interfaces

Utilities & library code

API Driven Startups

Twilio, Stripe, Sendgrid

They make developer lives easier

They care about ease of integration

Great APIs Drive Growth

Twitter, Google, Slack

Create growth with third party integrations

Developers == evangelists

Command Line Focussed Products

Docker, Ansible,

Developer experience driven by command line UX

Confusing interfaces make adoption hard

5 simple tips to get you going

#1: Understand your consumers

  • Find ways to talk to your users
  • Write user-focussed stories
  • Think about the tasks they are doing

#2: Build what they want

  • Give them the data they need as quickly as possible
  • Consistency is key
  • Discoverability of new features is important

#3: Document and test it

  • An API is nothing without documentation
  • Unit tests, integration tests & smoke tests, are great but think about user testing too!

#4: Follow standards

  • Use status codes and headers
  • Tell the user what they did wrong
  • Standard authenication methods
  • Return valid responses
  • Choose a style guide

#5: Release, iterate and release

  • Your users will change, so should your API
  • Communicate features and ask for feedback
  • Don't be afraid to release new versions

  • Understand your consumers
  • Build what they want
  • Document and test it
  • Follow standards
  • Release, iterate and release


Brenton Cleeland /