Adversus API v1 documentation

 

Welcome to the Adversus API documentation.

The Adversus API is organized around REST principles. JSON is returned by all API responses including errors.

We are continually expanding with more endpoints, feel free to ask for a specific need. If you have any questions or feedback please don’t hesitate to ask us at support@adversus.dk.


Endpoint

The API is located at https://api.adversus.dk/v1.


Authentication

Adversus API uses HTTP Basic AuthYou can use your normal email and password for authentication, but you have to get API permissions first by contacting Adversus support. 

All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail.


Errors

Adversus uses conventional HTTP response codes to indicate the success or failure of an API request. In general, codes in the 2xx range indicate success, codes in the 4xx range indicate an error that failed given the information provided (e.g., a required parameter was omitted etc.), and codes in the 5xx range indicate an error with Adversus servers (these are rare).

ATTRIBUTES

  •  code

    The code of error returned.

  •  message

    A human-readable message providing more details about the error.


Pagination

All top-level API resources have support for bulk fetches via “list” API methods. For instance you can list leads and list sessions. These list API methods share a common structure, taking these parameters: page and pageSize.

ARGUMENTS
  •  page

    Page number

  •  pageSize

    A limit on the number of objects to be returned, between 1 and 100. Default is 1000.

Pagination header

Pagination meta data can be found in the meta key in the response, by setting the parameter includeMeta: true. It will look something like:

{
"meta": {
  "pagination": {
  "page": 3,
  "pageCount": 8,
  "pageSize": 1000,
  "total": 7764,
  "firstUrl": "https://api.adversus.dk/v1/sessions?pageSize=1000",
  "previousUrl": "https://api.adversus.dk/v1/sessions?page=2&pageSize=1000",
  "nextUrl": "https://api.adversus.dk/v1/sessions?page=4&pageSize=1000",
  "lastUrl": "https://api.adversus.dk/v1/sessions?page=8&pageSize=1000"
}
},
"sessions": [ ... ]
}

Sort

When listing most resources, you can sort the results using the sortProperty and sortDirection URL params. Each resource only allows sorting by specific properties. Those properties are noted in each resource’s documentation. The sortDirection must be either ASC (default) or DESC.


Filters

Row filters enable parametric searches. Row filters enable you to selectively filter read API requests to only data which fits constraints defined in your filters query parameter, similar to the where clause of a SQL query. Factual row filters are implemented as JSON.

Comparison operators

Operator Description Operates on Datatype of Field… Examples
$eq equal to text, numeric, datetime, boolean
filters={"name":{"$eq":"Campaign A"}}
$gt greater than numeric,datetime
filters={"startTime":{"$gt":"2016-06-22T09:35:49Z"}}
$lt less than numeric,datetime
filters={"leadId":{"$lt":204010037}}
$c contains text, numeric
filters={"name":{"$c":"A"}}
$nc not contains text, numeric
filters={"name":{"$nc":"A"}}
$neq not equal to text, numeric, datetime, boolean
filters={"name":{"$neq":"Campaign A"}}

 

It is possible to use multiple filters, eg. {"contactAttempts":{"$neq":0},"lastContactTime":{"$gt":"2016-06-22T12:35:29Z"}}.

Furthermore it is possible to use multiple filters on the same field, eg. {"startTime":{"$gt":"2016-11-29T14:51:37Z","$lt":"2016-11-30T14:51:37Z"}}


DateTime format

DateTime uses format “string”. DateTime objects are encoded as ISO 8601 combined date and time representations, eg. 2016-06-26T11:21:32Z.


Endpoints