Please note the upcoming changes to the deal representation in the API and the required actions to be taken till November 10th.

Getting started and About the API

Getting started with the Base API is easy. Base API allows you to access your data within your Base user account. The API attempts to follow specific rules:

The API is RESTful

Base API does its best to work in accordance with the design principles of Representational State Transfer (REST). There are some small exceptions to that rule, all of which will be listed in the documentation.

Below is an example list of responses you can expect from the API:

GET /resources - index

  • Success: HTTP 200, XML/JSON collection

GET /resources/:id - show

  • Success : HTTP 200, XML/JSON representation of object
  • Missing : HTTP 404

POST /resources - create

  • Success: HTTP 200, XML/JSON representation of object
  • Invalid: HTTP 422, XML/JSON representation of errors

PUT /resources/:id - update

  • Success: HTTP 200, XML/JSON representation of object
  • Invalid: HTTP 422, XML/JSON representation of errors
  • Missing: HTTP 404

DELETE /resources/:id - destroy

  • Success: HTTP 200
  • Missing: HTTP 404

The API supports JSON and XML responses

All calls may return data either in JSON or XML format. Simply change the format extension at the end of the url to change the response format.

The API supports various request types

Request body to the API may be provided in multiple formats. The HTTP params method is default. If you want to make requests in other formats you will have to specify Content-Type header to appropriate value

Content-Type: application/json # JSON request
Content-Type: application/xml # XML request
All of the examples below are equivalent
  • usual HTTP params
  • name=Foo&values%5Bfirst%5D=Bar&values%5Bsecond%5D=Baz
  • JSON request
  • {
      "name" : "Foo",
      "values" :
      {
        "first" : "Bar",
        "second" : "Baz"
      }
    }
  • XML request
  • <name>Foo</name>
    <values>
      <first>Bar</first>
      <second>Baz</second>
    </values>
    

All example request in this document are given in HTTP format.

Below an example to create a contact with request data given in JSON format and response to be returned in XML format.

curl -X POST -H "X-Pipejump-Auth:auth-token" \
-H "Accept:application/xml" \
-H "Content-Type:application/json" \
--data "{\"contact\" : { \"last_name\" : \"Barowsky\", \
  \"first_name\" : \"Foo\", \"is_organisation\" : \"false\" }}" \
  https://sales.futuresimple.com/api/v1/contacts/

The API is HTTP-based

The Base API is accessible at http://sales.futuresimple.com/api and responds to HTTP requests. Methods to retrieve data require a GET request. Methods that create data require a POST request. Methods that update data require a PUT request. Methods that destroy data require a DELETE request. API Methods that require a particular HTTP method will return an error if you do not make your request with the correct method.

The API limits

Currently, there are no limits on the amount of calls you can make to the API.