HBOspiegel.nl API v1.5.1

This RESTful API allows developers to access user functions in HBOspiegel.nl programmatically. The access to the API is granted to anyone with a valid user account to the HBOspiegel.nl. All access rights linked to that account will also apply to any actions carried out via the API. API calls must be used providing a X-API-KEY header with each request. If you log on the site your personal key will be provided on this page. Alternatively a working key can also be requested using the API, however it is not recommended to store your credentials in application code.

In case a new API version is made available you will be notified on the email address of the user account you are using to access the API.

The API provides Json only and supports only GET and POST request. All requests will be answered with a HTTP 200 status header. All response bodies will be wrapped in a status layer.

{
   "status": 200,
   "message": "ok"
}
The requested payload will be provided in the "data" attribute. Some responses deliver additional metadata which will be placed outside the data container.
{
   "status": 200,
   "message": "ok",
   "data": {
        Any data goes here
    },
    "meta": "data"
}

All requests require a x-api-key header. A working key can be requested using the API. Keys will expire in 30 days or when a new key is requested.

/api/key
POST

Keys will be valid for approximately 30 days. Once an key expires it can still be used to renew it. If a key is renewed the old key is removed.

/api/key/renew
GET

Gives you a list of available inquiries. The maximum number of results returned is 15, the total number of items mathching the search wil be returned as well.

  • The 'q' parameter is a free text search string, searching in inquiry name, unit name and owner names.
  • With 'state' inquiries can be filtered by their current status
  • With 'year' only inquiries created in a specific scholar year can be retrieved. With year=2010 only inquiries created between september 2009 till august 2010 will be shown.
  • The 'skip' parameter can be used to access the other items.
/api/inquiry
GET

This get details about a single inquiry.

/api/inquiry/view
GET

This copy's an existing inquiry.

/api/inquiry/copy
POST

This get details about the inquiry labels.

/api/inquiry/label
GET

This creates new access link(s) for inquiry external access.

/api/inquiry/elo
POST
*) Will result in a 400 bad request if empty or invalid format.

This get details about the inquiry questions.

/api/inquiry/questions
GET

This gets the aggregated result of the inquiry.

/api/inquiry/result
GET

This gets the raw result data of the inquiry. You can should to have the data grouped by question or by respondent.

/api/inquiry/group-response
GET

This gets the raw result data of the inquiry. You can should to have the data grouped by question or by respondent.

/api/inquiry/data
GET

This get details about the inquiry groups.

/api/group
GET

This get details about a single inquiry group.

/api/group/view
GET

This get details about the inquiry group labels. Inquiry labels with no value will not be listed here.

/api/group/label
GET

This methods get response details for each respondent in group.

/api/group/response
GET

Via this call a new inquiry group can be created.

  • Inquiry: the inquiry the group should be linked to.
  • Name: the name of the new group (required).
  • Code: the call allows you to create group access code on-the-fly.
    • None: no code is created
    • Oncall: a code with activation code is created, the group can be activated via the website.
    • Timed: a code is created, the group is activated on the given time (start & stop)
    • Activate: a code is created, the group is activated immediately until an hour from now.
  • Start: Only for use with code=timed. Start must be in the future.
  • Stop: Only for use with code=timed. Stop must be after start but within the same day.
  • Labels: (not available in form below) Group labels can be set using name-value pairs.
    The label names can be obtained using the inquiry-labels API call. There is currently no work around to set labels with the same name as other parameters needed for the create request.

/api/group/create
POST

This gets all available scales.

/api/scale
GET

This get details about a single scale.

/api/scale/view
GET