List of EFS Service-Layer (API) services

List of EFS Service-Layer (API) services

This document provides a list of all EFS Service-Layer services. To have general information on the EFS Service-Layer, please go to this page.

As mentioned in the EFS Service-Layer overview, all requests should use the token URL parameter to authenticate the service user, for example GET https://your-efs.com/service/survey/surveys/?token=1234567890. An alternative to using the provided token, is to create a basic authentication request as specified in the HTTP protocol.

REST status codes

When using REST to access the Service Layer, the service will use the following HTTP status codes, 500 being the most common error status code and 200 being used for all successful requests.

Status

Description

Status

Description

200

The request has been processed, see end point description for expected response body

400

The validation of the entity given in the body of the request failed. Can also be caused by a malformed JSON request.

401

Can be caused by missing, invalid or expired token or username/password combination.

403

The user does not have the permission to execute this service or service is unknown or not enabled/available.

500

All regular errors and exceptions will use this status code, please see the message for additional information. In some rare exceptions, the returned value may not be json encoded.

Example for response body of a error status code:

{ "error": { "message": "REST route [efs/test] not found, not activated or no access", "code": 403 } }

The title of the expandable area uses the following format:
Description | {REST method} | {SOAP method}

The examples provided are REST requests, our recommended method for accessing the Service-Layer. The list of services omits the mandatory /service/ base path. All service layer requests need to use this base path, e.g. GET /survey/surveys/ should be GET https://efs-installation.com/service/survey/surveys/ in your application.

When requesting services to be activated through the support, it is best to provide the SOAP method names, as these are unique and avoid confusion.



EFS

Email blocklist, global and survey based

DELETE /efs/mailblacklist/

Deletes a list of email addresses from blocklist

Request body

{ "emailList": [ { "email": "example@domain.tld", "surveyId": 1234 } ] }

Response body

[ { "email": "example@domain.tld", "surveyId": 1234, "result": 1 } ]

GET /efs/mailblacklist/

Get a list of all blocklisted email addresses (both global and survey). Global entries have surveyId 0.

Response body

[ { "email": "example@domain.tld", "surveyId": 0, "createdAt": "2020-07-02T12:53:50+00:00", "createdBy": "SERVICE" } ]

POST /efs/mailblacklist/

Add a list of email addresses to blocklist. If surveyId is specified the email will be blocked for given survey, otherwise if omitted or if surveyId is 0, the email will be added to global blocklist.

Request body

{ "emailList": [ { "email": "example@domain.tld", "surveyId": 1234 } ] }

Response body

[ { "email": "example@domain.tld", "surveyId": 1234, "result": 1 } ]

POST /efs/mailblacklist/check

If surveyId is not specified, or the id is 0, only the global blocklist will be checked. By providing a surveyId, the system will check if the email is blocked in the given survey only. The return value is a boolean.

Request body

{ "emailAddress": "example@domain.tld", "surveyId": 1234 }

Response body

true

POST /efs/mailblacklist/getListByDateRange

Get a list of blocklisted email addresses (both global and survey related) restricted by date range.

Request body

{ "dateRange": { "from": "2020-07-01T12:53:50+00:00", "to": "2020-07-03T12:53:50+00:00" } }

Response body

[ { "email": "example@domain.tld", "surveyId": 1234, "result": 1 } ]

POST /efs/mailblacklist/getListByEmailAddress

Returns a list of all surveys where given email is blacklisted. In case of global blacklist the surveyId is 0.

Request body

{ "emailAddress": "example@domain.tld" }

Response body

[ { "email": "example@domain.tld", "surveyId": 0, "createdAt": "2020-08-26T11:01:22+00:00", "createdBy": "SERVICE" } ]

Mail templates

POST /efs/mailtemplates/

Add mail template. Please see the mail template form in EFS for required and optional information. Returns the id of the newly created mail template. Use GET /efs/mailtemplates/{id} on an existing template, if unsure about the correct parameters and also have a look at the mail template editor in EFS for optional and required parameters and supported wildcards, specific to your mail template type.

Option

Valid values

Option

Valid values

type

default_mail, invitation_mail, reminder_mail, survey_ends_mailtype, welcome_mail, pwrecovery_mail, doub_check_mail, register_check_mail, md_invitation_mail, md_reminder_mail, winner_mail, promotion_mail, bonus_mail, exchange_mail, orgprocessor_mail, website_notifications, system_mail, eat_your_own_dogfood, result_mail, reportnotification_mail

site_id

ID of Panel Website language version, on installations without Panel Website, please use 0.

format

TEXT, HTML, TEXT_AND_HTML

charset

UTF-8, UTF-16, ISO-8859-1, ISO-8859-2, ISO-8859-3, ISO-8859-4, ISO-8859-5, ISO-8859-6, ISO-8859-7, ISO-8859-8, ISO-8859-9, ISO-8859-13, ISO-8859-15, US-ASCII, KOI8-R, GB18030, x-EUC-CN, GBK, x-EUC-TW, Big5, Big5-HKSCS, EUC-JP, Shift_JIS, ISO-2022-JP, EUC-KR, ISO-2022-KR, TIS-620

priority

NO_PRIORITY, HIGHEST, HIGH, NORMAL, LOW, LOWEST

sensitivity

NORMAL, PRIVATE, PERSONAL, COMPANY

notify

NO_NOTIFICATION, WITH_RETURN_PATH, WITH_FROM_PATH

localeString

See EFS mail template interface for a current list of locales.

from

from needs to be one of registered sender email addresses in EFS. See: Libraries > Mail templates > Mail senders.

Request body

{ "mailtemplate": { "meta": { "description": "Example description", "type": "default_mail", "site_id": "123", "active": true }, "content": { "from": "example@domain.tld", "subject": "Example", "format": "TEXT_AND_HTML", "text_content": "Example", "html_content": "<h1>Example</h1>" }, "options": { "charset": "UTF-8", "reply_to": "example@domain.tld", "return_path": "example@domain.tld", "to_realname": true, "send_copy": true, "cc": "example@domain.tld", "bcc": "example@domain.tld", "priority": "NO_PRIORITY", "sensitivity": "NORMAL", "notify": "NO_NOTIFICATION", "sms_from": "+491234567890", "sms_content": "Example" }, "translations": [ { "localeString": "de_DE", "subject": "Beispiel", "text_content": "Beispiel", "html_content": "<h1>Beispiel</h1>", "sms_content": "Beispiel" } ] } }

Response body

1

DELETE /efs/mailtemplates/{id}

Delete mail template by id. Successful requests have no response body.

URI Parameters

Name

Type

Required

Description

Name

Type

Required

Description

id

integer

true

The mail-template id Examples: 2.

GET /efs/mailtemplates/{id}

Get mail template by id

Response body

{ "meta": { "description": "Example message", "type": "default_mail", "site_id": "7", "active": true }, "content": { "from": "example@domain.tld", "subject": "Example message", "format": "TEXT", "text_content": "Dear #u_firstname#, \r\n\r\nyou have a new message.", "attachments": false }, "options": { "charset": "ISO-8859-1", "reply_to": "example@domain.tld", "return_path": "example@domain.tld", "to_realname": false, "send_copy": false, "priority": "NO_PRIORITY", "sensitivity": "NORMAL", "notify": "NO_NOTIFICATION" }, "id": 1234 }

URI Parameters

Name

Type

Required

Description

Name

Type

Required

Description

id

integer

true

The mail-template id Examples: 2.

GET /efs/mailtemplates/withAttachments/{id}

Get mail template by id with attachments. The content of attachment is gzip and base64 encoded.

Response body

{ "meta": { "description": "Example message", "type": "default_mail", "site_id": "7", "active": true }, "content": { "from": "example@domain.tld", "subject": "Example message", "format": "TEXT", "text_content": "Dear #u_firstname#, \r\n\r\nyou have a new message.", "attachments": false }, "options": { "charset": "ISO-8859-1", "reply_to": "example@domain.tld", "return_path": "example@domain.tld", "to_realname": false, "send_copy": false, "priority": "NO_PRIORITY", "sensitivity": "NORMAL", "notify": "NO_NOTIFICATION" }, "attachments": [ {"name":"example.jpg", "content":"skkfdsjksdjkfsd..."} ] "id": 1234 }

URI Parameters

Name

Type

Required

Description

Name

Type

Required

Description

id

integer

true

The mail-template id Examples: 2.

PUT /efs/mailtemplates/{id}

Change mail template data, returns the mail id

Request body

{ "mailtemplate": { "meta": { "description": "Example message", "type": "default_mail", "site_id": "7", "active": true }, "content": { "from": "example@domain.tld", "subject": "Example message", "format": "TEXT", "text_content": "Dear #u_firstname#, \r\n\r\nyou have a new message.", "attachments": false }, "options": { "charset": "ISO-8859-1", "reply_to": "example@domain.tld", "return_path": "example@domain.tld", "to_realname": false, "send_copy": false, "priority": "NO_PRIORITY", "sensitivity": "NORMAL", "notify": "NO_NOTIFICATION" } } }

Response body

1234

URI Parameters

Name

Type

Required

Description

Name

Type

Required

Description

id

integer

true

The mail-template id Examples: 2.

POST /efs/mailtemplates/list

Get a list of mailtemplates. You can restrict the list of templates, by providing a POST body with the list of types.

Request body

{ "mailTemplateTypes": [ "default_mail" ] }

Response body

[ { "meta": { "description": "Example message", "type": "default_mail", "site_id": "7", "active": true }, "content": { "from": "example@domain.tld", "subject": "Example message", "format": "TEXT", "text_content": "Dear #u_firstname#, \r\n\r\nyou have a new message.", "attachments": false }, "options": { "charset": "ISO-8859-1", "reply_to": "example@domain.tld", "return_path": "example@domain.tld", "to_realname": false, "send_copy": false, "priority": "NO_PRIORITY", "sensitivity": "NORMAL", "notify": "NO_NOTIFICATION" }, "id": 1234 } ]

 

POST /efs/mailtemplates/listWithAttachments

Get a list of mailtemplates. You can restrict the list of templates, by providing a POST body with the list of types.

Request body

{ "mailTemplateTypes": [ "default_mail" ] }

Response body

[ { "meta": { "description": "Example message", "type": "default_mail", "site_id": "7", "active": true }, "content": { "from": "example@domain.tld", "subject": "Example message", "format": "TEXT", "text_content": "Dear #u_firstname#, \r\n\r\nyou have a new message.", "attachments": false }, "attachments": [ ] "options": { "charset": "ISO-8859-1", "reply_to": "example@domain.tld", "return_path": "example@domain.tld", "to_realname": false, "send_copy": false, "priority": "NO_PRIORITY", "sensitivity": "NORMAL", "notify": "NO_NOTIFICATION" }, "id": 1234 } ]

 

POST /efs/mailtemplates/send

Send a preview email. Similar to the mail template preview send functionality in the EFS UI.

Request body

{ "id": 353, "recieverMails":"example@example.tld", "localeString":"de_DE", "placeholders": [ {"placeholderName":"#test#", "placeholderValue":"Test"} ] }

Response body

{ "success": true }

 

 

Management of EFS organisations

DELETE /efs/organizations/

Deletes an EFS admin organisation.

Request body

{ "adminOrgIdentifierType": "id", "adminOrgIdentifierValue": "1234" }

Response body

true

PATCH /efs/organizations/

Sets an organization's value. See POST /efs/organizations/ for possible adminOrgField names.

Request body

{ "adminOrgIdentifierType": "id", "adminOrgIdentifierValue": "1234", "adminOrgField": "customer_no_common", "adminOrgValue": "KD1234" }

Response body

true

POST /efs/organizations/

Adds an EFS admin organization.

Request body

{ "adminOrgRecord": { "name": "Example", "description": "Example org", "contract_start": "2020-07-02T12:53:50+00:00", "contract_end": "2022-07-02T12:53:50+00:00", "customer_no_common": "Example", "max_active_projects_allowed": "Example", "max_archived_projects_allowed": "Example", }, "adminOrgIdentifierReturnType": "id" }

Response body

1234

PUT /efs/organizations/

Add an existing staff member to an organization.

Request body

{ "adminUserIdentifierType": "u_email", "adminUserIdentifierValue": "example@domain.tld", "adminOrgIdentifierType": "id", "adminOrgIdentifierValue": "1234" }

Response body

true

POST /efs/organizations/details

Returns an organization.

Request body

{ "adminOrgIdentifierType": "id", "adminOrgIdentifierValue": "1234" }

Response body

{ "name": "Example", "description": "Example org", "contract_start": "2019-07-01T00:00:00+00:00", "contract_end": "2023-12-30T00:00:00+00:00", "customer_no_common": "KD1234" }

POST /efs/organizations/list

Returns a list of organizations specified by a search value.

Request body

{ "adminOrgField": "name", "adminOrgValue": "Example", "pageFrom": 0, "pageLimit": 100 }

Response body

[ { "name": "Example", "description": "Example org", "contract_start": "2019-07-01T00:00:00+00:00", "contract_end": "2023-12-30T00:00:00+00:00", "customer_no_common": "KD1234" } ]

PATCH /efs/organizations/templates

Changes an admin organization's Reporting+ export templates configuration for one file type format. Possible values for reportingExportFormat are: html, ppt, pdf, pptx and pptxpdf. To disable an export, send "reportingExportTemplates": [], otherwise provide a list of export template ids to be enabled.

Request body

{ "adminOrgIdentifierType": "id", "adminOrgIdentifierValue": "1234", "reportingExportFormat": "pptxpdf", "reportingExportTemplates": [ 123, 124 ] }

Response body

true

Management of EFS teams

POST /efs/teams/

Adds a new EFS team, returns the id of the team.

Request body

{ "team": { "teamName": "Example", "teamTitle": "Example", "teamDesription": "Example description", "teamAccessability": [ 1 ], "areasAccessable": [ "www" ], "rightTemplateId": 1 } }

Response body

1

POST /efs/teams/list

Retrieves a list of teams matching given search criteria

Request body

{ "identifierType": "teamName", "identifierValue": "Example", "page": 0, "limit": 100 }

Response body

[ { "teamId": 1, "teamName": "Example", "teamTitle": "Example", "teamDesription": "Example description" } ]

DELETE /efs/teams/{teamId}

Deletes an EFS team

Response body

true

URI Parameters

Name

Type

Required

Description

Name

Type

Required

Description

teamId

integer

true

team id Examples: 2.

GET /efs/teams/{teamId}

Retrieves the data of an EFS team

Response body

{ "teamId": 1, "teamName": "Example", "teamTitle": "Example", "teamDesription": "Example description" }

URI Parameters

Name

Type

Required

Description

Name

Type

Required

Description

teamId

integer

true

team id Examples: 2.

PATCH /efs/teams/{teamId}

Changes the EFS team details

Request body

{ "team": { "teamName": "Example", "teamTitle": "Example", "teamDescription": "Example", "teamAccessability": [ 1 ], "areasAccessable": [ "www" ], "rightTemplateId": 1 } }

Response body

true

URI Parameters

Name

Type

Required

Description

Name

Type

Required

Description

teamId

integer

true

team id Examples: 2.

Object rights

DELETE /efs/privileges/

Removes the right from the object for the given team.

Request body

{ "objectId": 1, "groupId": 1, "right": "read" }

Response body

true

PATCH /efs/privileges/

Sets a right on an object for given team, replaces any existing condition

Request body

{ "objectId": 1, "groupId": 1, "right": "read" }

Response body

true

POST /efs/privileges/addright

Adds the right to the object for the given team.

Request body

{ "objectId": 1, "groupId": 1, "right": "read" }

Response body

true

POST /efs/privileges/features

Tells if current user has access to a specific access right (team rights). Valid parameters for right: read, write. The parameter feature accepts a string containing the name of an act right, please see team rights management in System > Users > Teams in EFS or the online manual.

Request body

{ "feature": "ct42partadm", "right": "read" }

Response body

true

POST /efs/privileges/object

Tells if current user has access to an object. See Options > ACL Rights > Object instances

Request body

{ "objectId": 1, "right": "read" }

Response body

true

EFS admin user management

DELETE /efs/staff/

Deletes a staff member. A successful request has no response body.

Request body

{ "identifierType": "email", "identifier": "example@domain.tld" }

GET /efs/staff/

Return information about the current admin user thats using the service. This method also keeps admin-session alive.

Response body

{ "adminUserId": 1234, "accountName": "Example", "firstName": "First", "lastName": "Last", "email": "example@domain.tld", "language": "EN", "expireDate": "2020-07-02T12:53:50+00:00", "organisation": 1, "primaryGroup": 1, "groups": [ 1 ] }

PATCH /efs/staff/

Changes a staff members data. You only need to provide the fields you want to change.

Request body

{ "identifierType": "email", "identifier": "example@domain.tld", "changes": { "firstName": "First", "lastName": "Last", "email": "example@domain.tld", "password": "New Password", "gender": "NOT_SPECIFIED", "street": "None", "zip": "12345", "city": "Example", "phone": "+491234567890", "country": "Germany", "mobile": "+491234567890", "language": "EN", "expireDate": "2024-07-02T12:53:50+00:00", "organisation": 1, "primaryTeam": 1, "teams": [ 1 ], "enabled": true, "mobile2": "+491234567891", "www": "Some URL", "comment": "Additional Comment", "department": "Department info" } }

POST /efs/staff/

Create a new staff member for the EFS admin interface. To set the staff members organization you need to have the appropriate right. If no organization is set the staff member will inherit the creating staff members organization. Returns the user id.

Request body

{ "staffMember": { "identifierType": "email", "identifier": "example@domain.tld", "changes": { "account": "Example", "firstName": "First", "lastName": "Last", "email": "example@domain.tld", "password": "New Password", "gender": "NOT_SPECIFIED", "street": "None", "zip": "12345", "city": "Example", "phone": "+491234567890", "country": "Germany", "mobile": "+491234567890", "language": "EN", "expireDate": "2024-07-02T12:53:50+00:00", "organisation": 1, "primaryTeam": 1, "teams": [ 1 ], "enabled": true, "mobile2": "+491234567891", "www": "Some URL", "comment": "Additional Comment", "department": "Department info" } } }

Response body

1234

POST /efs/staff/details

Return information about a staff member

Request body

{ "identifierType": "email", "identifier": "example@domain.tld" }

Response body

{ "userId": 1234, "account": "Example", "firstName": "First", "lastName": "Last", "email": "example@domain.tld", "password": "New Password", "gender": "NOT_SPECIFIED", "street": "None", "zip": "12345", "city": "Example", "phone": "+491234567890", "country": "Germany", "mobile": "+491234567890", "language": "EN", "expireDate": "2020-07-02T12:53:50+00:00", "organisation": 1, "primaryTeam": 1, "teams": [ 1 ], "enabled": true, "mobile2": "Example", "www": "Example", "comment": "Example", "department": "Example" }

GET /efs/staff/list

Returns a list of all EFS staff members

Response body

[ { "adminUserId": 1234, "accountName": "Example", "firstName": "First", "lastName": "Last", "email": "example@domain.tld", "language": "EN", "expireDate": "2020-07-02T12:53:50+00:00", "organisation": 1, "primaryGroup": 1, "groups": [ 1 ] } ]

POST /efs/staff/mail

Sends email to the specified EFS admin user

Request body

{ "identifierType": "email", "identifierValue": "example@domain.tld", "mailTemplateData": { "meta": { "description": "Example message", "type": "default_mail", "site_id": "7", "active": true }, "content": { "from": "example@domain.tld", "subject": "Example message", "format": "TEXT", "text_content": "Dear user, \r\n\r\nyou have a new message.", "attachments": false }, "options": { "charset": "ISO-8859-1", "reply_to": "example@domain.tld", "return_path": "example@domain.tld", "to_realname": false, "send_copy": false, "priority": "NO_PRIORITY", "sensitivity": "NORMAL", "notify": "NO_NOTIFICATION" } } }

Response body

true

PATCH /efs/staff/role

Alters a staff members role within a given team

Request body

{ "userId": 1, "teamId": 1, "newRole": "MEMBER", "newOwnerUserId": 1 }

Response body

true

System information

GET /efs/system/

determine the version number of the EFS installation

Response body

"20.1"

POST /efs/system/

Returns the current server time, use format to provide a formatting string (see PHP date() formatting options), otherwise the current unix timestamp will be returned.

Request body

{ "format": "Y-m-d H:i:s" }

Response body

"2020-08-26 13:35:26"

GET /efs/system/load

query the current system's 1-minute load average

Response body

1.345

Other

GET /efs/session/{sessionId}

Get the admin user id for an admin session id Will throw an exception if the session id is invalid or the session is expired

Response body

1234

URI Parameters

Name

Type

Required

Description

Name

Type

Required

Description

sessionId

string

true

id of admin session.

GET /efs/taskqueue/{taskId}

Returns json encoded array with either execution-status or (if available) result of asynchronous service-calls for given taskId. Possible values for status: 1 - Task is pending for execution, 2 - Task is currently running, 3 - Task execution failed;

Response body

"2"

URI Parameters

Name

Type

Required

Description

Name

Type

Required

Description

taskId

integer

true

id of taskqueue task Examples: 2.

GET /efs/jobs/{jobId}

Query the status of a single EFS job maker job. This service is only enabled in certain use cases for customers.

Response body

"2"

URI Parameters

Name

Type

Required

Description

Name

Type

Required

Description

jobId

string

true

job id, Example: 10898768285f48e49c0d49f.

 

Employee

POST /employee/reports/

Adds a report

Request body

{ "report": { "report_definition_id": 1234, "pid": 1234, "lang_id": 1234, "report_type": "pdf", "unit_metaname": "Example", "file_content": "QmFzZTY0IGVuY29kZWQgYmluYXJ5IGRhdGE=", "report_label": "Example", "replace": true, "report_filename": "Example.pdf" } }

Response body

{ "report_definition_id": 1234, "pid": 1234, "lang_id": 1234, "report_type": "pdf", "unit_metaname": "Example", "file_content": "QmFzZTY0IGVuY29kZWQgYmluYXJ5IGRhdGE=", "report_label": "Example", "replace": true, "report_filename": "Example.pdf", "rid": "1234" }

GET /employee/reports/{surveyId}

Returns the List of Report definitions including report versions for surveyId

Response body

[ { "report_id": 1234, "pid": 1234, "name": "Example", "title_pattern": "Example", "template": "Example", "cat": "Example", "download_status": "Example", "file_download_pattern": "Example", "report_type": 1234, "number_of_reports": 1234, "min_participants": 1234, "min_item": 1234 } ]

URI Parameters

Name

Type

Required

Description

Name

Type

Required

Description

surveyId

integer

true

id of the panel or masterdata survey Examples: 2.

GDPR

GET /gdpr/panel/getConsentForm/{localeString}

Returns GDPR consent for given locale string

Response body

{ "content_value": "Example", "welcome_text_value": "Example", "title_headline": "Example", "contact_us_headline_headline": "Example", "company_name_value": "Example", "contact_detail_value": "Example", "representative_headline": "Example", "representative_value": "Example", "data_scope_headline": "Example", "data_scope_value": "Example", "data_category_headline": "Example", "data_category_value": "Example", "legal_basis_headline": "Example", "legal_basis_value": "Example", "recipient_headline": "Example", "recipient_value": "Example", "transfer_data_headline": "Example", "transfer_data_value": "Example", "contractual_requirement_headline": "Example", "contractual_requirement_value": "Example", "auto_decision_headline": "Example", "auto_decision_value": "Example", "info_subject_headline": "Example", "info_subject_value": "Example", "info_withdrawal_headline": "Example", "info_withdrawal_value": "Example", "info_supervisor_headline": "Example", "info_supervisor_value": "Example", "contact_officer_headline": "Example", "contact_officer_value": "Example", "data_retention_headline": "Example", "data_retention_value": "Example" }

URI Parameters

Name

Type

Required

Description

Name

Type

Required

Description

localeString

string

true

Language string, Examples: de_DE, en_GB.

POST /gdpr/panel/setConsentForm

Set content of GDPR consent for given locale string

Request body

{ "localeString": "de_DE", "consentData": { "content_value": "Example", "welcome_text_value": "Example", "title_headline": "Example", "contact_us_headline_headline": "Example", "company_name_value": "Example", "contact_detail_value": "Example", "representative_headline": "Example", "representative_value": "Example", "data_scope_headline": "Example", "data_scope_value": "Example", "data_category_headline": "Example", "data_category_value": "Example", "legal_basis_headline": "Example", "legal_basis_value": "Example", "recipient_headline": "Example", "recipient_value": "Example", "transfer_data_headline": "Example", "transfer_data_value": "Example", "contractual_requirement_headline": "Example", "contractual_requirement_value": "Example", "auto_decision_headline": "Example", "auto_decision_value": "Example", "info_subject_headline": "Example", "info_subject_value": "Example", "info_withdrawal_headline": "Example", "info_withdrawal_value": "Example", "info_supervisor_headline": "Example", "info_supervisor_value": "Example", "contact_officer_headline": "Example", "contact_officer_value": "Example", "data_retention_headline": "Example", "data_retention_value": "Example" } }

Response body

true

GET /gdpr/survey/{surveyId}/{languageId}

Returns GDPR consent for given surveyId and languageId

Response body

{ "content_value": "Example", "welcome_text_value": "Example", "title_headline": "Example", "contact_us_headline_headline": "Example", "company_name_value": "Example", "contact_detail_value": "Example", "representative_headline": "Example", "representative_value": "Example", "data_scope_headline": "Example", "data_scope_value": "Example", "data_category_headline": "Example", "data_category_value": "Example", "legal_basis_headline": "Example", "legal_basis_value": "Example", "recipient_headline": "Example", "recipient_value": "Example", "transfer_data_headline": "Example", "transfer_data_value": "Example", "contractual_requirement_headline": "Example", "contractual_requirement_value": "Example", "auto_decision_headline": "Example", "auto_decision_value": "Example", "info_subject_headline": "Example", "info_subject_value": "Example", "info_withdrawal_headline": "Example", "info_withdrawal_value": "Example", "info_supervisor_headline": "Example", "info_supervisor_value": "Example", "contact_officer_headline": "Example", "contact_officer_value": "Example", "data_retention_headline": "Example", "data_retention_value": "Example", "data_retention_type": "YEAR", "data_retention_amount": 1 }

URI Parameters

Name

Type

Required

Description

Name

Type

Required

Description

surveyId

integer

true

Survey Id Examples: 2.

languageId

integer

true

Language Id Examples: 2.

POST /gdpr/survey/{surveyId}/{languageId}

Set content of GDPR consent for given surveyId and languageId

Request body

{ "consentData": { "content_value": "Example", "welcome_text_value": "Example", "title_headline": "Example", "contact_us_headline_headline": "Example", "company_name_value": "Example", "contact_detail_value": "Example", "representative_headline": "Example", "representative_value": "Example", "data_scope_headline": "Example", "data_scope_value": "Example", "data_category_headline": "Example", "data_category_value": "Example", "legal_basis_headline": "Example", "legal_basis_value": "Example", "recipient_headline": "Example", "recipient_value": "Example", "transfer_data_headline": "Example", "transfer_data_value": "Example", "contractual_requirement_headline": "Example", "contractual_requirement_value": "Example", "auto_decision_headline": "Example", "auto_decision_value": "Example", "info_subject_headline": "Example", "info_subject_value": "Example", "info_withdrawal_headline": "Example", "info_withdrawal_value": "Example", "info_supervisor_headline": "Example", "info_supervisor_value": "Example", "contact_officer_headline": "Example", "contact_officer_value": "Example", "data_retention_headline": "Example", "data_retention_value": "Example", "data_retention_type": "YEAR", "data_retention_amount": 1 } }

Response body

true

URI Parameters

Name

Type

Required

Description

Name

Type

Required

Description

surveyId

integer

true

Survey Id Examples: 2.

languageId

integer

true

Language Id Examples: 2.

DELETE /gdpr/survey/{surveyId}

Deletes personal data of all participants for given surveyId

Response body

true

URI Parameters

Name

Type

Required

Description

Name

Type

Required

Description

surveyId

integer

true

Survey Id Examples: 2.

Leadership

POST /loft/participants/pool/{sampleId}

add multiple feedback-participants from a CSV file to the participants pool using data from a CSV file. note this operation works on surveys of type "leadership" only

Request body

{ "csvData": "CSV content", "returnIdentifierType": "u_email", "mappingColumn": "u_email" }

Response body

{ "successful": 1, "failed": 1, "failedRows": [ { "line": 1234, "value": "Example", "errors": [ { "column": "Example", "value": "Example", "details": [ { "code": "Example", "translated": "Example", "type": 1234 } ] } ] } ], "returnIdentifiers": [ { "internalReturnValue": "u_email", "externalReturnValue": "u_email" } ] }

URI Parameters

Name

Type

Required

Description

Name

Type

Required

Description

sampleId

integer

true

id of sample to add the participants to Examples: 2.

POST /loft/participants/{sampleId}

add multiple feedback-provider and -receiver from a CSV file to a feedback-wave using data from a CSV file. note this operation works on surveys of type "leadership" only

Request body

{ "waveId": 1, "csvData": "CSV Import data", "returnIdentifierType": "u_email", "mappingColumn": "Mail" }

Response body

{ "successful": 1, "failed": 1, "failedRows": [ { "line": 1, "value": "Example", "errors": [ { "column": "Example", "value": "Example", "details": [ { "code": "Example", "translated": "Example", "type": 1234 } ] } ] } ], "returnIdentifiers": [ { "internalReturnValue": "u_email", "externalReturnValue": "Mail" } ] }

URI Parameters

Name

Type

Required

Description

Name

Type

Required

Description

sampleId

integer

true

id of sample to add the participants to Examples: 2.

GET /loft/participants/{project_id}/{fid}

Get feedback center user data

Response body

"Encoded Feedback Center data"

URI Parameters

Name

Type

Required

Description

Name

Type

Required

Description

project_id

integer

true

Efs project id Examples: 2.

fid

integer

true

Feedback center user id Examples: 2.

GET /loft/participants/{project_id}/{fid}/{token}

Check if user has access to feedback center for project

Response body

true

URI Parameters

Name

Type

Required

Description

Name

Type

Required

Description

project_id

integer

true

Efs project id Examples: 2.

fid

integer

true

Feedback center user id Examples: 2.

token

string

true

token to validate request at data voyager Examples: Example.

MySight

PATCH /mysight/groups/{instanceId}

Updates additional data of configured panel groups for given mySight instance

Response body

true

URI Parameters

Name

Type

Required

Description

Name

Type

Required

Description

instanceId

integer

true

mySight instanceId Examples: 2.

People Module / Panel

Panel circles

POST /panel/circles/

Adds a new panel circle (portals group), used in Portals

Request body

{ "circleInitData": { "title": "People in my organization", "circleAccessType": "PRIVATE", "matchVar": "m_gcid_recode", "matchAgainstVar": "m_gcid_recode", "panelGroupId": 1, "startDateTime": "2021-01-09 09:00:00", "intervalType": "DAY", "intervalValue": 1 } }

Response body

{ "circleId": 123, "title": "People in my organization", "circleType": "COMPANY_MANAGED", "circleAccessType": "PRIVATE", "circleProcessStatus": "IDLE" }

POST /panel/circles/generate/{id}

Generates a company managed panel circle (portals group)

Response body

true

URI Parameters

Name

Type

Required

Description

Name

Type

Required

Description

id

integer

true

id of panel circle Examples: 2.

POST /panel/circles/listByCondition

Returns a list of panel circle objects to given logical condition. See filtering results with conditions for help on building conditions.

Request body

{ "condition": { "join": { "operator": "AND", "condition1": { "comparison": { "variable" : "circleType", "operator" : "EQUAL", "value" : "USER_MANAGED" } }, "condition2": { "inComparison": { "variable": "circleAccessType", "operator": "IN", "value": ["PUBLIC", "PRIVATE"] } } } }, "offset": 0, "limit": 10 }

Response body

[ { "circleId": 1, "title": "Example", "circleType": "USER_MANAGED", "circleAccessType": "PRIVATE", "circleProcessStatus": "IDLE" } ]

DELETE /panel/circles/{id}

Deletes a panel circle

Response body

true

URI Parameters

Name

Type

Required

Description

Name

Type

Required

Description

id

integer

true

id of panel circle Examples: 2.

GET /panel/circles/{id}

Returns panel circle object to given circle ID

Response body

{ "circleId": 1, "title": "Example", "circleType": "USER_MANAGED", "circleAccessType": "PRIVATE", "circleProcessStatus": "IDLE" }

URI Parameters

Name

Type

Required

Description

Name

Type

Required

Description

id

integer

true

id of panel circle Examples: 2.

Related content

© 2024 Tivian XI GmbH