API update

Lots of organisations are looking at ways of bringing data from all their systems together to provide whole-business dashboards and reporting. Avius survey responses can be integrated with other systems easily using our API.

There have been some updates to the Avius API including some additional features as requested by our clients:

 

Compression support

GZip and Brotli compression is supported by the API when the client sends the correct Accept-Encoding headers. Example:

  • Accept-Encoding: gzip
  • Accept-Encoding: br

New 422 HTTP status code

In addition to the current HTTP status codes the API returns – 503 for busy try again later, 401 for Unauthorised and 404 for Not Found, we are introducing 422 if a parameter is incorrect or out of range. Examples of this include the Page Size being out of range or the SurveyId being empty.

Page size control

Clients can request a page size they would like returned from the API, the currently supported range is 1-10000 responses per page, anything outside this range will return a HTTP 422 code. The API may choose a smaller page size than the one requested. The page size parameter can be included after the watermark when using the /Changes/{watermark}/{pagesize} endpoint. If omitted the API reverts to the previous behaviour of returning up to 250 responses per page.

Avius Client SDK

We are providing a .NET Client for accessing the API to accelerate customer integration, it is currently in preview, you can find it here.

See an example usage to get you started. This library is still in preview and subject to change.

Additional Question Support

The following question types are now supported in metadata and responses so if you use this question types in your survey they will now be available via the API.

  • AddressQuestion
  • DateTimePickerQuestion

Deprecation of UnderlyingQuestionType property and MessageScreen question type

The survey metadata endpoint has some minor changes with this update. The MessageScreen question type is no longer returned as it does not collect data and is therefore redundant.

 This update begins the process of deprecating the ‘UnderlyingQuestionType’ property. The basic question type can be inferred from whether it contains responses and sub questions, and ultimately the responses from it.


UnderlyingQuestionType will be removed from the API after 31st March 2020


Language Changes

The following language codes are being updated with this release, to align with our other systems:

Rate Limiting


We are considering introducing API rate limiting in a future update, please prepare your systems to gracefully handle a HTTP 429 and back-off if the rate limit is exceeded. The rate limiting thresholds are yet to be decided and may be different per client or dynamic depending on load.

We are looking at returning Retry-After or Rate Limiting information headers in the response so callers can adapt, and we will publish this information ahead of rate limiting being switched on. 

If you have any comments or concerns about this please contact us.

By Will Gunaratne