PlayNicely - Beautiful collaboration for software developers

Introduction

The PlayNice.ly API has been designed to be simple, obvious, and predictable. We use standard HTTP GET/POST requests and clearly understood URLs. We also use HTTP Basic authentication, but will be providing OAuth 2.0 support in the near future.

A quick example

# Replace 'myuser' & 'mypass' with your username & password respectively
curl --basic -u "myuser:mypass" \
https://api.playnice.ly/v1/user/current/show/?detail=full

This will return a JSON data structure containing your user’s full information. For example:

{
   "user_id":1,
   "username":"adamcharnock",
   "first_name":"Adam",
   "surname":"Charnock",
   "image":"http://playnicely.owdev.co.uk:8000/user/1/image/",
   "project_ids":[1, 2, 3, 4],
   "updated_at":"2010-12-16T14:44:28+00:00",
   "created_at":"2010-12-16T14:44:28+00:00"
}

Rate limiting

We currently rate limit API calls to a maximum of 30 every minute per user.

If you exceed the rate limit the API will return error code 503 Service Unavailable. A Retry-After response header will indicate the number of seconds until the rate limit will reset.

General principles

We have tried to follow a number of general principles and conventions in the creation of the PlayNice.ly API. Our goal has been to keep the API as simple and consistent as possible. Of course, if you think we have missed the mark anywhere then please drop us an email.

Dates – All dates are in ISO 8601 format. For example, 2010-12-12T18:08:31+00:00.

URLs – All URLs end in a verb which indicates its action (show, list, update, create etc.)

HTTP Methods – We use only GET and POST methods in the API. The former is used for read requests and the latter for write requests.