Preliminaries
Account methodsRegister accountMethod: POSTURL: /account/register Body: email=<email address>&password=<password>&sitename=<sitename>&confirmurl=<confirmurl>&adminmail=<adminmail>&homeurl=<homeurl> Requires session/auth: no Returns: Success: 201 Created Fail: 412 Precondition Failed if account already exists; 422 Unprocessable Entity for platform error; 400 Bad Request for invalid email address; 403 Forbidden for an invalid password; 410 Gone for rate limit exceeded; 500 Internal Server Error for request timeout Notes:
Confirm account registrationMethod: GETURL: /account/confirm/{confirmationKey} Body: n/a Requires session/auth: no Returns: Success: 201 Created Fail: 404 Not Found for wrong key or confirmation not pending; 422 Unprocessable Entity for platform error; 410 Gone for rate limit exceeded; 500 Internal Server Error for request timeout. Retrieve account information Method: POSTURL: /account/retrieve Body: email=<email address>&password=<password> Requires session/auth: yes Returns: Success: 200 OK Fail: 412 Precondition Failed for failed authentication or user unknown; 410 Gone for rate limit exceeded; 500 Internal Server Error for request timeout. Notes:
Remind passwordMethod: POSTURL: /account/remind Body: email=<email address>&sitename=<sitename>&adminmail=<adminmail>&homeurl=<homeurl> Returns: Success: 200 OK Fail: 412 Precondition Failed for unknown user; 410 Gone for rate limit exceeded; 500 Internal Server Error for request timeout. Notes:
Add a Twitter account to a user profileMethod: POSTURL: /twitter/add Body: email=<email address>&password=<password>&tuid=<Twitter username> Requires auth: yes Returns: Success: 201 CREATED Fail: 412 Precondition failed for authentication failed or unknown user; 410 Gone for rate limit exceeded; 500 Internal Server Error for timeout Notes:
Verify a Twitter accountMethod: POSTURL: /twitter/verify Body: email=<email address>&password=<password> Requires auth: yes Returns: Success: 201 CREATED Fail: 412 Precondition failed for authentication failed or unknown user; 409 Conflict for Twitter send-direct of confirmation pin failed; 400 Bad Request pin slots full; 410 Gone for rate limit exceeded; 500 Internal Server Error for timeout Notes:
Confirm a Twitter accountMethod: POSTURL: /twitter/confirm/{confirmationPin} Body: email=<email address>&password=<password> Requires auth: yes Returns: Success: 201 CREATED Fail: 412 Precondition failed for authentication failed or unknown user; 404 Not Found for confirmation not pending or pin not found; 409 Conflict for platform or db error; 411 Length Requred for invalid pin format; 410 Gone for rate limit exceeded; 500 Internal Server Error for timeout Notes:
Tag methodsCreate a tagMethod: POSTURL: /tag/create/{tagName} Body: email=<email address>&password=<password>&description=<tag description>&comment=<tag comment>&sitename=<sitename>&adminmail=<adminmail>&homeurl=<homeurl> Requires auth: yes Returns: Success: 201 CREATED Fail: 412 Precondition failed for authentication failed or no such user; 400 Bad Request for invalid tag name; 409 Conflict for tag name exists; 410 Gone for rate limit exceeded; 422 Unprocessable Entity for platform error; 500 Internal Server Error for request timeout Notes:
Edit a tag descriptionMethod: POSTURL: /tag/update/{tagname} Body: email=<email address>&password=<password>&description=<new description> Requires auth: yes Returns: Success: 201 CREATED for a successful update Fail: 412 Precondition failed for authentication failure or unknown user; 403 Forbidden for user unauthorized to edit tag; 404 Not Found for tag does not exist; 410 Gone for rate limit exceeded; 500 Internal Server Error for timeout Follow or unfollow a tagMethod: POSTURL: /tag/follow/{tagid} Body: email=<email address>&password=<password>&mode={true | false} Requires auth: yes Returns: Success: 200 OK if the tag is already being followed for mode==true 200 OK if the tag is not being followed for mode==false 200 OK if the tag is followed and mode==false 201 Created if the tag is not being followed and mode==true Fail: 412 Precondition failed for authentication failure or unknown user; 403 Forbidden for invalid follow mode; 404 Not Found for tag does not exist; 410 Gone for rate limit exceeded; 500 Internal Server Error for timeout Notes: mode==true means follow; mode==false means unfollow. Those are the only allowed modes. Get follow status for a tagMethod: POSTURL: /tag/status/{tagid} Body: email=<email address>&password=<password> Requires auth: yes Returns: Success: 200 OK if the tag status can be ascertained Fail: 412 Precondition failed for authentication failed or unknown user; 404 Not Found for tag does not exist; 410 Gone for rate limit exceeded; 500 Internal Server Error for timeout Notes:
Get followed tags for authenticated userMethod: POSTURL: /tag/list Body: email=<email address>&password=<password> Requires auth: yes Returns: Success: 200 OK Fail: 412 Precondition Failed for authentication failed or unknown user; 410 Gone for rate limit exceeded; 500 Internal Server Error for timeout Notes:
Post a comment about a tagMethod: POSTURL: /tag/comment/{tagid} Body: comment=<free form text, 120-130 or so char limit (should fit in a tweet, leaving room for @userid)>&sitename=<sitename>&adminmail=<adminmail>&homeurl=<homeurl> Requires auth: no Returns: Success: 201 Created Fail: 403 Forbidden for tag is suspended for comments; 404 Not Found for tag does not exist; 410 Gone for rate limit exceeded; 500 Internal Server Error for timeout Notes:
Search all tagsMethod: POSTURL: /tag/search Body: email=<email address>&password=<password>&keywords=<space-separated list of keywords> Requires auth: yes Returns: Success: 200 OK Fail: 412 Precondition Failed for authentication failed or unknown user; 410 Gone for rate limit exceeded; 500 Internal Server Error for timeout Notes:
Retrieve a tag Method: GETURL: /tag/retrieve/{tagname} Body: n/a Requires auth: no Returns: Success: 200 OK Fail: 404 Not Found if tag does not exist; 410 Gone for rate limit exceeded; 500 Internal Error for timeout Notes:
Get most commented tags Method: GETURL: /tag/mostcomment/{n} Body: n/a Requires auth: no Returns: Success: 200 OK Fail: 410 Gone for rate limit exceeded; 500 Internal Error for server timeout or other error Notes:
Get most recently created tags
Method: GETURL: /tag/mostrecent/{n} Body: n/a Requires auth: no Returns: Success: 200 OK Fail: 410 Gone for rate limit exceeded; 500 Internal Error for server timeout or other error Notes:
Comment delivery outlet binding methodsBind or Unbind a Comment OutletMethod: POSTURL: /outlet/bind Body: The body for all requests must contain: email=<email address>&password=<password>&tagname=<tagname>&mode={true | false} for an email binding, include &outlet=email
Requires auth: yesfor a Twitter binding, include &outlet=twitter for a web service binding, include &outlet=http&url=<URL to POST to> Returns: Success: 201 Created for adding bindings; 200 OK for successful binding deletions Fail: 412 Precondition failed for authentication failed or unknown user; 415 Unsupported Media Type for user is not following this tag; 400 Bad Request for invalid outlet protocol; 403 Forbidden for invalid binding mode, 404 Not Found for tag does not exist; 406 Not Acceptable for outlet is unconfirmed; 410 Gone for rate limit exceeded; 500 Internal Server Error for timeout Notes:
|