Last night when I sent you a request
You returned a status code, one I didn’t expect
Everything used to be _200 Okay_
But now you’ve _410 Gone Away_
When we first met, you were pretty skeptic
But my _429 Too Many Requests_ were _202 Accepted_!
We started as friends, then became lovers
But now you want to _303 See Others_
I can’t believe you won’t be coming around
Our _403 Forbidden_ love is now _404 Not Found_
Sure, we’d been having a few _409 Conflicts_
But it wasn’t anything a _408 Timeout_ couldn’t fix
Situations change, but I feel the same inside
My love for you is _304 Not Modified_
I hoped this all was just _302 Temporary_
But naw, you’ve _301 Moved on Permanently_
I can’t believe you won’t be coming around
Our _403 Forbidden_ love is now _404 Not Found_
Sure, we’d been having a few _409 Conflicts_
But it wasn’t anything a _408 Timeout_ couldn’t fix
Everything used to be _200 Okay_
But now you’ve _410 Gone Away_
You coded your API and it’s ready to go out
But there’s one thing you completely forgot about
You have no documentation! Your users are confused
Does an API really exist if nobody knows how it’s used?
Welcome to our documentation nation
Saving devs from vexation and frustration
So they can begin creation without stagnation
This is now the documentation nation
Lots of copyable examples are a huge advantage
Show me code samples in my favorite language
Include my API key so I’m ready to go
Make it interactive… don’t tell, just show!
Welcome to our documentation nation
Saving devs from vexation and frustration
So they can begin creation without stagnation
This is now the documentation nation
An onboarding process will help the devs start going
Support forums and changelogs keep the info flowing
Reference and topical guides keep things from going awry,
Don’t forget: your docs are the API’s only U.X. and U.I.
Welcome to our documentation nation
Saving devs from vexation and frustration
So they can begin creation without stagnation
This is now the documentation nation
Just use YAML if it feels right
Or write JSON if you feel like it
Design either way and make it okay
I swear it’ll go great
We started with code, so it’s generated
I parsed the upload to validate it
Look what we did, our API will be big
Our documentation’s a hit… and it goes like this
Build an Open API spec like I’ve told you
Publish your Open API and I'll show you
All the moves like Swagger
It’s got the moves like Swagger
It’s got the moves like Swagger
You’re building an API so it’s time to decide
Where to start and what’s happening on the inside
Choose the product scope and define the range
Design it well to avoid a breaking change
Does this endpoint accept a GET? A PUT or a POST?
Which HTTP protocols are supported by the host?
If an error occurs, what will be the status code?
Does it use XML or JSON for the content payload?
How will your developers send their API keys?
Via basic auth, a header, or in the queries?
Don’t forget to set a limit on the user’s rate
One infinite loop and you’ll suffer a bad fate
Should people curl the URL or hit the official SDK?
Make sure your API docs explain the correct way
Do it all right and you’ll take devs everywhere by storm
You’re more than just an API… now you are a platform!
API Mixtape Volume 2
It's a conference, time to network
Why you waiting… just come through
Come out on October 10th at Folsom St Foundry
I’m telling you it's for everyone working with APIs
Not just developers
We'll have GitHub, Optimizely, Zapier
ReadMe, PagerDuty and Box
That's what's happening
Musical by the tech rap group Rhyme Combinator
Buy your tickets now
October 10th, this is major!