Enalyzer API

Welcome to the API Documentation page for Enalyzer. Our API is designed to provide developers with easy access to the functionality and data of the application. This page serves as an introduction to our API and provides guidance on how to use it.  

Getting started

The Enalyzer API is composed of two distinct parts: a collection of REST-based endpoints that return responses in JSON format, and a separate section for outgoing webhooks. We have included a "get started" section for each component, which aims to guide developers through the initial steps of implementing the relevant functionality. This makes it easy for programmers to begin working with our API and integrating it into their own applications. 

API endpoints 

All endpoints can be accessed under the domain https://developer.enalyzer.com. To access an endpoint, you must enable the API access to one or more specific surveys from within the Enalyzer platform. 

Invite

This endpoint allows users to invite new respondents to their surveys. Users provide a set of respondent data in the request body, which adds the respondents to a specific survey and sends the invitation emails. 

Authentication

Access is given per survey and is authenticated through an API key. Please follow the online guide for Incoming webhooks on how to generate an API key. The key must be passed as a URL-parameter for each request.

Request parameters

Name

Required

Type

Description

API Key

True

String

An API key from an incoming webhook automation for a specific survey

Request body

An array of respondents to be invited. The data required for each respondent is specific to the corresponding automation:

Example

[{
"EmailAddress": "john.doe@email.com",
"FirstName": "John",
"LastName": "Doe",
"Language": "en"
}, {
"EmailAddress": "jane.doe@email.com",
"FirstName": "Jane",
"LastName": "Doe",
"Language": "dk"
}]

Responses

200 - OK

Returned when the automation has executed successfully. 

400 - Bad request

The provided API key or data are invalid. 

Possible error messages: 

  • API key missing.

  • Payload not received. Ensure that request body is valid JSON.

  • The format of the API-Key is not valid base64 value.

  • Invalid API-Key.

  • Payload is not in the correct format. Check the Enalyzer documentation for at valid body for the request. Error: <ERROR>.

  • Integration is inactive. 

404 - Not found

The targeted automation no longer exists or has been disabled.

413 - Request Entity Too Large

The payload size exceeded the limit of 100 kB or the number of respondents was greater than 500. 

Quick start

Tip

The easiest way to get started is to follow the guide for Incoming webhooks to configure a new automation for the target survey.

First you need to define the data fields that will be included in the request. Only email is mandatory.  

When the data field definition is done, you will be provided with an API-key, and you will be able to test an incoming call to the endpoint. To help you with this, we have provided you with some Curl and PowerShell examples that you can use to easily test the automation, or you can get an example of the data payload needed in the “raw” section of the test page. 

When set up, you must configure your external system to send the data with the defined payload, and you can trigger new respondents to the survey. 

If the automation fails for whatever reason, you will be able to find detailed error descriptions in the automation log. 

Data download

This endpoint allows users to download respondent data in a CSV format from their surveys. Users can filter the respondents on response status, time, background data etc. 

Authentication

Access is given per survey and is authenticated through an API key. Please follow the online guide for Download Response Data on how to generate an API key. The key must be passed as a URL-parameter in each request. 

Request parameters

Name

Required

Type

Description

Default value
apiKey
True
string
An API key from an activated “CSV link” for a specific survey.
from
False
A Unix timestamp defining a lower bound for a filter on the “last updated” parameter for the respondents.
to
False
A Unix timestamp defining an upper bound for a filter on the “last updated” parameter for the respondents.
includeBackgroundVariables 
False
boolean
If true: Include background variable data. 
True
includeText
False
boolean
If true: Include open-ended data. 

True

includeCompleted
False
boolean
If true: Include completed respondents.
False
includeNotCompleted
False
boolean
If true: Include in-complete respondents.
False
includeNotAnswered
False
boolean
If true: Include respondents that have not answered.
False
includeRefused
False
boolean
If true: Include respondents that have refused to participate. 
False
questionOutputFormatContract
False
string
A data format string generated using the “Edit formats” feature in the CSV download settings page. 
False

Responses

200 - OK

Returned when the automation has executed successfully.

400 - Bad request

The provided API key or request parameters are invalid.

404 - Not found

The targeted CSV link no longer exists or has been disabled.

Quick start 

Tip

Follow the guide for Download Response Data to enable the CSV link on a target survey and construct an example link to download the data. The link can be tested directly in the address bar of a standard browser. 

Outgoing webhooks

Our webhooks can be used to automatically push data to external systems. We support a single outgoing webhook. You need to define the webhook for one or more specific surveys from within the Enalyzer platform before you can get the data. 

Respondent completed

This webhook allows users to get data each time a respondent completes a specific survey. Data is sent using a POST request in a JSON format.  

Whenever a respondent completes a survey with a defined outgoing webhook, the event is queued along with all the respondent data. Every 5 minutes the queue is emptied, and any events will be sent as a batch to the defined external systems. It is possible to follow the status for each event and see any error messages in the “Runs” section of the webhook automation. 

Please follow the online guide for Outgoing webhooks on how to define the outgoing webhook for a specific survey. 

Authentication

Any authentication information must be passed as URL parameters in the “outgoing URL” definition. We do not support header-based authentications. 

Request body

An array of respondents who completed the associated survey since the last automation run. The data sent for each respondent is specific to the corresponding automation. 

Example

[{
"Email": "john.doe@email.com",
"First name": "John",
"Last name": "Doe",
"Department": "IT",
"1": 3
}, {
"Email": "jane.doe@email.com",
"First name": "Jane",
"Last name": "Doe",
"1": 9
}]

Quick start

Tip

The easiest way to get started is to follow the guide for Outgoing webhooks to configure a new automation for the target survey.  

First you need to define which data fields will be included in the request.  

When the data field definition is done, you will be able to define the target URL to push the data to. If you go to https://webhook.site/ you can easily get an example URL that you can use for testing. It is possible to send test calls from the automation setup pages, and by using webhook.site you can make test requests to see the data we provide. It is important, though, to you use the correct URL for the target external system, before finalizing the automation and going live. .