Skip to content

About the Client Server Protocol and System Entities

joshuaselsky edited this page Apr 26, 2012 · 3 revisions

About the Client-Server procol

The client-server protocol uses JSON over HTTP. For domains that have SSL certificates, SSL/TLS 1.0 is supported.

Most server APIs may only be accessed using an HTTP POST. Exceptions are documented in the appropriate API call. Clients that attempt to use GET where it is not allowed will receive an HTTP 405.

All API calls comply with the HTTP Header Content-Encoding: gzip, and similarly all API calls will comply with the HTTP Header Accept-Encoding: gzip.

Data posted to an ohmage server must be encoded using UTF-8.

The out-of-the-box ohmage server install roots the application at /app. Most API calls follow a URI syntax of noun/verb where 'noun' refers to a system entity being acted on by 'verb'. There are exceptions where either nouns or verbs may have specializations e.g., annotation/survey_response/create and mobility/read/chunked.

In the parameter lists for all API documentation, '(r)' specifies a required parameter and '(o)' specifies an optional parameter.

This API documentation is relevant for versions 2.11 of ohmageServer, which can be checked out using the ohmage-2.11 branch.

Each ohmage install comes with an EasyPost page which allows you to access all of the APIs via a simple web page. An example lives here.

APIs by System Entity