Browse Source

removed the token from the URLs

master
Julio Biason 11 years ago
parent
commit
12705d36b5
  1. 45
      apiary.apib

45
apiary.apib

@ -14,6 +14,10 @@ Request an access token. Almost all requests from here will require that a
token is provided; this API will return the required token, which will token is provided; this API will return the required token, which will
identify the user in further requests. identify the user in further requests.
Once a token has been acquired, you must use it as a HTTP BasicAuth value:
The token must be used in the username and the password will be ignored. All
authenticated requests must authenticate the user in this form.
### Request a token [POST] ### Request a token [POST]
+ Request (application/json) + Request (application/json)
@ -54,18 +58,17 @@ forbidden to create new groups. They can still vote, though.
{ "status": "ERROR", "error": "username already exists" } { "status": "ERROR", "error": "username already exists" }
## Single User [/user/{token}/] ## Single User [/user/]
Manage a single user. **Authenticated**
+ Parameters Manage a single user.
+ token ... The user token
### Update information [POST] ### Update information [POST]
Partial requests are valid (e.g., a request with a single "full\_name" -- and Partial requests are valid (e.g., a request with a single "full\_name" will
"token", obviously -- will update only the full\_name for that user; a password update only the full\_name for that user; a password change will require only
change will require only the "token" and "password" fields. the "password"field.
+ Request (application/json) + Request (application/json)
@ -105,6 +108,8 @@ Places to have lunch.
## Places [/places/] ## Places [/places/]
**Authenticated**
Retrieve the list of all places the user has access. This is directly tied Retrieve the list of all places the user has access. This is directly tied
to the Group management and will return all the places the user have access to the Group management and will return all the places the user have access
in their groups. in their groups.
@ -210,11 +215,13 @@ ownership to another user, immediatelly.
# Group Groups # Group Groups
**Authenticated**
Groups are used to combine a group of users and their favorite places. A location Groups are used to combine a group of users and their favorite places. A location
will be considered "selected" when all users in that group have voted (or will be considered "selected" when all users in that group have voted (or
abstain in voting). abstain in voting).
## Groups [/groups/{token}/] ## Groups [/groups/]
Group management. Only users with verified accounts can create new groups. Once Group management. Only users with verified accounts can create new groups. Once
a group is created, the user becomes the "maintainer" of the group and only this a group is created, the user becomes the "maintainer" of the group and only this
@ -254,7 +261,9 @@ The user will become the maintainer of the group once it is created.
{ "status": "ERROR", "error": "Account not verified" } { "status": "ERROR", "error": "Account not verified" }
## Group management [/group/{token}/{groupId}/] ## Group management [/group/{groupId}/]
**Authenticated**
Only the maintainer of the group can change the information for the group. As usual, Only the maintainer of the group can change the information for the group. As usual,
only the required fields are necessary. Passing "maintainer" will change the only the required fields are necessary. Passing "maintainer" will change the
@ -307,7 +316,12 @@ maintenance ownership to another user, immediatelly.
{ "status": "ERROR", "error": "Group not found" } { "status": "ERROR", "error": "Group not found" }
## Adding other users to the group [/group/{token}/{groupId}/users/] ## Adding other users to the group [/group/{groupId}/users/]
**Authenticated**
Manages the users in the group. The only user that can do these kind of
changes is the owner of the group.
### Adding members [PUT] ### Adding members [PUT]
@ -332,7 +346,7 @@ maintenance ownership to another user, immediatelly.
{ "status": "ERROR", "error": "Group not found" } { "status": "ERROR", "error": "Group not found" }
## Users in the group [/group/{token}/{groupId}/users/{username}/] ## Users in the group [/group/{groupId}/users/{username}/]
Manage users in the group. The user (token owner) must be the maintainer of the Manage users in the group. The user (token owner) must be the maintainer of the
group. group.
@ -364,14 +378,15 @@ group.
{ "status": "ERROR", "error": "User is not a member of this group" } { "status": "ERROR", "error": "User is not a member of this group" }
## Places in the group [/group/{token}/{groupId}/places/] ## Places in the group [/group/{groupId}/places/]
**Authenticated**
The places the group has already selected as their prefered/nearby places The places the group has already selected as their prefered/nearby places
for lunching. for lunching.
+ Parameters + Parameters
+ groupId ... The group ID. + groupId ... The group ID.
+ token ... The user token.
### Retrieve the places for the group [GET] ### Retrieve the places for the group [GET]
@ -420,6 +435,8 @@ for lunching.
## Managing places in the group [/group/{groupId}/places/{placeId}] ## Managing places in the group [/group/{groupId}/places/{placeId}]
**Authenticated**
### Removing a place [DELETE] ### Removing a place [DELETE]
+ Request (application/json) + Request (application/json)
@ -448,6 +465,8 @@ User voting.
## Voting [/vote/{groupId}/] ## Voting [/vote/{groupId}/]
**Authenticated**
Make a vote for the day (controlled by the server). The user must selected in Make a vote for the day (controlled by the server). The user must selected in
which group they are voting, which will block voting in any other groups, unless which group they are voting, which will block voting in any other groups, unless
the vote is removed; voting in the same group again will only update the vote. the vote is removed; voting in the same group again will only update the vote.

Loading…
Cancel
Save