Specification

The eHive API is designed to be modern and secure. It follows RESTful methodologies and uses the OAuth 2.0 authorization framework.

RESTful

The eHive API is a RESTful API and as such all requests to the API use one of four HTTP request protocols (GET, POST, PUT, DELETE). The resource endpoints are designed to adhere to the RESTful API best practices and general URI design best practices. As such we define http://www.ehive.com/api/v2/ as the base URL for the API and each URI segment following that points to collections, and resources within those collections. For instance if we wa nt to retrieve an Object Record from an Account that belongs to a particular Community then we can say that the:

  1. Object Record resource belongs to the  Object Records collection
  2. The Object Records collection belongs to the Account resource
  3. The Account resource belongs to the Accounts collection
  4. The Accounts resource belongs to the Community resource
  5. The Community resource belongs to the Communities collection
For this example the URI would look like:
/communities/1001/accounts/3406/objectrecords/2509
and the request to the eHive API would look like this:
GET /api/v2/communities/1001/accounts/3406/objectrecords/2509 HTTP/1.1
Host: www.ehive.com

Note: none of the required OAuth 2.0 headers are present in this example.

OAuth 2.0

All communication between clients and the eHive API are secured with an OAuth 2.0 protocol, which is based on revision 31 of the OAuth 2.0 draft specification. When a client wants to send a request to the eHive API they must pass valid authentication credentials in the header section of their request otherwise they will get an HTTP 401 response.

JSON

Data is passed in and out of the API in Domain Objects. All domain objects are in JSON format. This means if you are PUTting or POSTing data to eHive through the API you will send an appropriate JSON object in the body of your request. Likewise, if you are GETting any data from the API the returned data will be in JSON format.