Overview
Admin Resources
Application Resources
Integration Resources


REST API: REQUEST FORMATS
Credentials

All requests to the REST API require you to authenticate using HTTP basic auth to access the resource. The username is your Login Id. The password is either your password or your session key following the process as described below.

Authentication is a two step process, first login to a session using your Login Id and password as your credentials to retrieve a session key and then using the session key to access APIs. To get a session key do a GET from the Access API which will log you in, refresh your session key and validate you have accepted the current licensing agreement. Once you have logged in your password for the rest of the session for all APIs is the session key returned to you from Access.

In addition to your credentials you must also include your x-api-key value in the Header, your x-api-key validates your abiity to access the APIs and controls the APIs available to you.

Api calls are formatted as:

https://proconanalytics.com/v1.3/{instanceId.applicationId}/{accountId}/{resourceName}
InstanceId

Data is partitioned into Instances. The API queries must designate the InstanceId in order to access the correct data warehouse. The InstanceId is in the format 999 and is assigned during setup.

ApplicationId

APIs may have properties and functions specific to an Application, which is specified by an ApplicationId. The API queries must designate the ApplicationId in order to access the correct version of the API. The ApplicationId is added to the InstanceId in the format 999.9 and is assigned during setup.

AccountId

The hierarchical structure of the data dictates that all REST calls are in an Account Context. One of the resources of the Account are SubAccounts, which are accessed by changing the Account Context to the SubAccount.

ResourceName

The Resource name is the name of the API you are accessing.

Retrieving Resources with the HTTP GET Method

You can retrieve a representation of a resource by GETting its url with any required parameters.

Possible GET Response Status Codes
  • 200 OK: The request was successful and the response body contains the content as defined.
  • 401 UNAUTHORIZED: The credentials provided do not allow access to the requested resource.
  • 404 NOT FOUND: Unable to locate the requested resource.
  • 500 SERVER ERROR: An internal server error has occurred.
  • 503 SERVICE UNAVAILABLE: The requested service is temporarily unavailable, please wait and try again.
Creating or Updating Resources with the HTTP POST and PUT Methods

Create or update a resource by performing an HTTP PUT OR POST and posting as form data the JSON structure specified for the resource. Not all resources support PUT/POST

Possible POST or PUT Response Status Codes
  • 200 OK: The request was successful and the resource is updated and the response body contains information about the update.
  • 201 CREATED: The request was successful, the resource is created and the response body contains information about the update.
  • 400 BAD REQUEST: The data supplied failed validation. The response body contains details about the rejection.
  • 401 UNAUTHORIZED: The credentials provided do not allow access to the requested resource.
  • 404 NOT FOUND: Unable to locate the requested resource.
  • 405 METHOD NOT ALLOWED: This resource cannot be created or updated.
  • 500 SERVER ERROR: An internal server error has occurred.
  • 503 SERVICE UNAVAILABLE: The requested service is temporarily unavailable, please wait and try again.
Deleting Resources with the HTTP DELETE Method

To delete a resource make an HTTP DELETE request to the resource URI. Not all resources support DELETE.

Possible DELETE Response Status Codes
  • 204 OK: The request was successful, the resource was deleted.
  • 401 UNAUTHORIZED: The credentials provided do not allow access to the requested resource.
  • 404 NOT FOUND: Unable to locate the requested resource.
  • 405 METHOD NOT ALLOWED: This resource cannot be deleted.
  • 500 SERVER ERROR: An internal server error has occurred.
  • 503 SERVICE UNAVAILABLE: The requested service is temporarily unavailable, please wait and try again.