You're viewing old version number 73. - Current version
Grebe API
Grebe is the name of a blogging app. This is Grebe's API description. It's currently used at http://maketoledo.com.
It uses REST and JSON.
Each function below is preceded with /api/v1 in the URI. So for Make Toledo, it would be http://maketoledo.com/api/v1.
Example of activating a new user account: 
http://maketoledo.com/api/v1/users/activate/ru8wkn0ol2ql3bm9
At the moment, I don't have SSL enabled for MakeToledo.com, and OAuth is not used.
Users
Except for activating a user account, URIs for GETs and PUTs end with the query string: 
/?user_name=[user_name]&user_id=[user_id]&session_id=[session_id]
- Retrieve profile page info for user name JR. 
 GET request.
 - /users/JR
- Create a new user account. 
 POST request.
 - /users
 Client sends JSON to the API:
 - { "user_name" : "userA", "email" : "usera@usera.com" }
- Activate user account. 
 GET request.
 - /users/activate/[user_digest]
- Logout user JR. 
 GET request.
 - /users/JR/logout
- Login user. 
 Post request.
 - /users/login
 Client sends JSON to the API:
 - { "email" : "usera@usera.com", "password" : "plaintextpwd" }
- Retrieve new password for existing account. User would not be logged in. This would be executed for someone who forgot or lost a password. 
 POST request.
 - /users/password
 Client sends JSON to the API:
 - { "user_name" : "userA", "email" : "usera@usera.com" }
- Change password for existing account. User must be logged-in. 
 PUT request.
 - /users/passwordClient sends JSON to the API:
 - { "old_password" : "oldpwdtext", "new_password" : "newpwdtxt", "verify_password" : "newpwdtxt", "user_name" : "userA", "user_id" : 123 }
 Client code also packages up the login data for user_name, user_id, and session_id into the PUT request. To-Do: remove the redundant information.
- Update e-mail and/or profile description for the user. 
 PUT request.
 - /usersClient sends JSON to the API:
 - { "old_password" : "oldpwdtext", "new_password" : "newpwdtxt", "verify_password" : "newpwdtxt", "user_name" : "userA", "user_id" : 123 }
 Client code also packages up the login data for user_name, user_id, and session_id into the PUT request. To-Do: remove the redundant information.
From JR's : articles
300 words - 2160 chars 
 - 1 min read
created on  
updated on  
 - #
 source
 - versions