Following are some sample API calls and responses. These examples ARE NOT example client code and ARE NOT language-specific. As recommended, try using these with a program like Fiddler (http://www.fiddler2.com) before diving in to writing an actual API client. The below examples are NOT all inclusive, they just highlight the minimum requirements and relevant information. For example, you will get more response headers in any given response than are listed below, they just aren't particularly relevant here. Note: values in brackets [like this] are not actual values, but brief labels of what you'd actually find in that space.
Example 1 - Private Message Inbox
Retrieve a list of messages in the signed-in user's private message inbox.
Request
Request method: GET Request URL: https://api.schoology.com/v1/messages/inbox Request Headers: Authorization: [OAuth header] Accept: text/xml;q=1.0,application/json;q=0.0 Host: api.schoology.com Content-Type: text/xml
Response
Response Code: 200 Response Headers: Content-length: [size of the response body in bytes] Content-type: text/xml; charset=UTF-8 X-Schoology: API Response Body: <?xml version="1.0" encoding="utf-8" ?> <result> <message> <id>4458</id> <subject>Hi there</subject> <recipient_ids>3</recipient_ids> <last_updated>1288992445</last_updated> <author_id>5</author_id> <message_status>read</message_status> <message>Hey there, how are you doing these days? How about that weather!</message> <links> <self>https://api.schoology.com/v1/messages/inbox/4458</self> </links> </message> <message> <id>4455</id> <subject>What's up?</subject> <recipient_ids>3,6</recipient_ids> <last_updated>1287605544</last_updated> <author_id>7</author_id> <message_status>unread</message_status> <message>Don't forget about me!</message> <links> <self>https://api.schoology.com/v1/messages/inbox/4455</self> </links> </message> </result>
Example 2 - User Profile Information
Update user profile information. A few things to note here: (1) The only thing returned in the response is the 204 response code stating that the update was successful. (2) The structure of the request body is verbatim to what you'd receive if you where to make a GET call to the same URL. This is generally always the case. (3) When using the text/xml request format, the outer-most tag name is superfluous, it merely needs to validly and consistently exist.
Request
Request method: PUT Request URL: https://api.schoology.com/v1/users/5 Request Headers: Authorization: [OAuth header] Accept: text/xml;q=1.0,application/json;q=0.0 Host: api.schoology.com Content-Type: text/xml Request Body: <?xml version="1.0" encoding="utf-8" ?> <result> <name_title>Professor</name_title> </result>
Response
Response Code: 204 Response Headers: Content-length: 0 Content-type: text/xml; charset=UTF-8 X-Schoology: API
Example 3 - Discussion Comment
Comment on a group discussion. A few things to note here: (1) In the request body you don't specify the user making the comment because only the signed-in user can comment. (2) Also, as per usual, the only thing you get in response is the 201 code letting you know the comment was successfully created. (3) The request format 'application/json' requires the use of double quotes for all object properties and values.
Request
Request method: POST Request URL: https://api.schoology.com/v1/users/5 Request Headers: Authorization: [OAuth header] Accept: text/xml;q=1.0,application/json;q=0.0 Host: api.schoology.com Content-Type: application/json Request Body: {"comment": "hi mom!"}
Response
Response Code: 201 Response Headers: Content-length: 0 Content-type: text/xml; charset=UTF-8 X-Schoology: API