Chronr RESTful API

The RESTful URL structure is shown below. More details to follow soon.

GET chronr.com/events
GET chronr.com/events/<id>

POST chronr.com/events -> GET chronr.com/events/<id>
PUT chronr.com/events/<id>    (update event)
DELETE chronr.com/events/<id>
POST chronr.com/events/<id>/tagged  (update tags for user)

GET chronr.com/new-event (form) -> POST chronr.com/events
GET chronr.com/edit-event?id=<id> (form) -> POST chronr.com/events/<id> [_method=PUT]
GET chronr.com/delete-event?id=<id> (confirm) -> POST chronr.com/events/<id> [_method=DELETE]
GET chronr.com/edit-tags?id=<id> (form) -> POST chronr.com/events/<id>/tagged

GET chronr.com/tagged
GET chronr.com/tagged/<tag>[/<tag> ...]

GET chronr.com/people
GET chronr.com/people/<username>
GET chronr.com/people/<username>/events
GET chronr.com/people/<username>/tagged
GET chronr.com/people/<username>/tagged/<tag>[/<tag> ...]

Set the "Accept" header to "application/json" to get back a JSON representation.

For example:

cmmbp[~] telnet chronr.com 80
Trying 67.15.84.19...
GET /tagged/2008 HTTP/1.1
Host: chronr.com
Accept: application/json

Connected to chronr.com.
Escape character is '^]'.
HTTP/1.1 200 OK
Date: Fri, 28 Nov 2008 04:37:27 GMT
Server: CherryPy/2.3.0
Content-Length: 773
Content-Type: application/json
Set-Cookie: tg-visit=36f581191e54d1159db5de2b80c91100f96bcdd0; Path=/;
Vary: User-Agent

{"tags": "2008", "tg_flash": null, "event_list_widget": null, "grouped_events": [{"group": "December", "events": 
[{"description": "http://www.osdc.com.au/2008/", "title": "Open Source Developers' Conference 2008 - Day 1", 
"time_remaining": "five days", "timezone": "Australia/Sydney", "id": 63, "duedate": "2008-12-02 22:00:00"}, 
{"description": "http://www.osdc.com.au/2008/", "title": "Open Source Developers' Conference 2008 - Day 2", 
"time_remaining": "six days four hours", "timezone": "Africa/Abidjan", "id": 64, "duedate": "2008-12-04 09:00:00"}, 
{"description": "http://www.osdc.com.au/2008/", "title": "Open Source Developers' Conference 2008 - Day 3", 
"time_remaining": "seven days", "timezone": "Australia/Sydney", "id": 65, "duedate": "2008-12-04 22:00:00"}]}]}