Olery Developer Portal logo Olery Developer Portal

Method Path
POST https://agora.olery.com/v3/feedback/surveys/:id

This endpoint is used to update an existing survey through the survey ID. It returns the updated survey.

Input Format

The request’s body can have the following fields:

Field Data Types Description
name String Survey’s Name
published Boolean Survey’s status (active or inactive)
languages Array Array of strings where each element is a language code
default_locale String Survey’s default language code
translations Hash See Translations Field section
redirect_url String Survey’s redirection URL
question_ids Array Array of strings. Each string denotes a question ID linked to the survey, it can be used to add existing questions
conditions Array See Conditions section
company_ids Array Array of integers where each element indicates a company linked to the survey
logo MultiFormat Logo image upload (can be done in a separate api call)
bg MultiFormat Background image upload (can be done in a separate api call)
color_hex String Hexadecimal code for the survey’s color

Translations Field

The translation field is a hash where each key is a languages code. Each key has a hash with the following fields:

Field Data Types Description
title String Survey’s title in that language
thankyou String Survey’s thank you message in that language
instructions String Survey’s instructions in that language
redirect_message String Survey’s redirection message in that language

Conditions

The conditions field is an array of hashes where every hash represents a logical condition. Every hash has the following fields:

Field Data Types Description
level String Condition level, it can be question or group
published Boolean Indicates if the logical condition is enabled or not
source Hash Hash with the action, source question’s ID, type of relation between the question’s answers and the value
target String The target question’s ID

The action field inside source is can be one of the following: show, hide or jump, denoted by a string. The value can be a string or a number that denotes a value to be watched in the source question’s answer to perform the action between the source and target questions. The type can be one of the following, according to the type of the source question:

Question Type Compatible Types
date less_than, less_or_equal_to, is_equal_to, is_not_equal_to, more_or_equal_to, more_than
drop_down contains, doesnt_contain
enum is_equal_to, is_not_equal_to
multiple_select contains, doesnt_contain
open_answer contains, doesnt_contain, begins_with, ends_with
open_answer_long contains, doesnt_contain, begins_with, ends_with
past_date less_than, less_or_equal_to, is_equal_to, is_not_equal_to, more_or_equal_to, more_than
rating less_than, less_or_equal_to, is_equal_to, is_not_equal_to, more_or_equal_t, more_than
yes_no is_equal_to, is_not_equal_to

Example Input

{
  "name": "Demo Survey Updated",
  "title": "Give us feedback",
  "published": true,
  "instructions": null,
  "languages": ["en", "es"],
  "default_locale": "en",
  "translations": {
    "en": {
      "title": "Give us feedbacks",
      "thankyou": "Thank you for giving us your opinion!",
      "instructions": "We are very interested to hear what you think. We would appreciate if you could spare a few moments to complete this survey."
    },
    "es": {
      "title": "Danos su opinión",
      "thankyou": "¡Gracias por darnos tu opinión!",
      "instructions": "Estamos muy interesados ​​en escuchar lo que piensas. Le agradeceríamos que nos dedicara unos minutos a completar esta encuesta."
    }
  },
  "redirect_message": "Thank you for answering the survey. You will be redirected to a Google Form.",
  "redirect_url": "https://docs.google.com/forms",
  "question_ids": ["959d32ab8cbfi4b70bff1324e"],
  "conditions": [
    {
      "level": "question",
      "published": true,
      "source": {
        "action": "show",
        "id": "959d32ab8cbfi4b70bffjdnbv7",
        "type": "contains",
        "value": "certain value"
      },
      "target": { "id": "493nmv7lb8cbfi4b70bff1324e" }
    }
  ],
  "company_ids": ["8347788"],
  "color_hex": "#55C5CC"
}

Output Format

The return is the survey created, which has the same fields as stated above, but with an extra questions array

Field Data Types Description
questions Array Array of hashes, each hash follows this structure

Survey Items Fields

This field is an array of hashes. Each hash contains the following fields:

Field Data Types Description
type String Item’s type
object Hash or Array Language code

The item represents a question or a group of questions. If it is a question, the type will be question and the object field will be a hash representing the question with the same fields as in this section. If the item represents a group of questions, the type will be group and the object field will be an array of questions.

Example Output

The output to the input we described is stated below.

{
  "data": {
    "id": "acca563caf73763bc9a018fc9",
    "name": "Demo Survey Updated",
    "title": "Give us feedback",
    "published": true,
    "instructions": null,
    "languages": ["en", "es"],
    "default_locale": "en",
    "translations": {
      "en": {
        "title": "Give us feedbacks",
        "thankyou": "Thank you for giving us your opinion!",
        "instructions": "We are very interested to hear what you think. We would appreciate if you could spare a few moments to complete this survey."
      },
      "es": {
        "title": "Danos su opinión",
        "thankyou": "¡Gracias por darnos tu opinión!",
        "instructions": "Estamos muy interesados ​​en escuchar lo que piensas. Le agradeceríamos que nos dedicara unos minutos a completar esta encuesta."
      }
    },
    "redirect_message": "Thank you for answering the survey. You will be redirected to a Google Form.",
    "redirect_url": "https://docs.google.com/forms",
    "questions": [
      {
        "id": "959d32ab8cbfi4b70bff1324e",
        "question": "Example question",
        "type": "multiple_select",
        "descriptions": [
          {
            "_id": "en",
            "locale": "en",
            "translation": "Example description"
          },
          {
            "_id": "es",
            "locale": "es",
            "translation": "Ejemplo de descripción"
          }
        ],
        "translations": [
          {
            "_id": "en",
            "locale": "en",
            "translation": "Example question"
          },
          {
            "_id": "es",
            "locale": "es",
            "translation": "Ejemplo de pregunta"
          }
        ],
        "max": null,
        "min": null,
        "max_value": null,
        "required": true,
        "enabled_followup": false,
        "links": [
          {
            "en": {
              "url": "https://example.com/terms",
              "title": "Terms and Conditions"
            }
          }
        ],
        "options": [
          {
            "en": "English option 1",
            "es": "Opción española 1",
            "id": "english option 1",
            "default": "English option 1"
          },
          {
            "en": "English option 2",
            "es": "Opción española 2",
            "id": "english option 2",
            "default": "English option 2"
          }
        ],
        "config": {},
        "topics": ["bar", "sanitary_safety"]
      }
    ],
    "settings": null,
    "conditions": [
      {
        "level": "question",
        "source": {
          "id": "959d32ab8cbfi4b70bffjdnbv7",
          "type": "contains",
          "value": "certain value",
          "action": "show"
        },
        "target": {
          "id": "493nmv7lb8cbfi4b70bff1324e"
        },
        "published": true
      }
    ],
    "company_ids": ["8347788"],
    "items": [
      {
        "type": "question",
        "object": {
          "id": "959d32ab8cbfi4b70bff1324e",
          "question": "Example question",
          "type": "multiple_select",
          "descriptions": [
            {
              "_id": "en",
              "locale": "en",
              "translation": "Example description"
            },
            {
              "_id": "es",
              "locale": "es",
              "translation": "Ejemplo de descripción"
            }
          ],
          "translations": [
            {
              "_id": "en",
              "locale": "en",
              "translation": "Example question"
            },
            {
              "_id": "es",
              "locale": "es",
              "translation": "Ejemplo de pregunta"
            }
          ],
          "max": null,
          "min": null,
          "max_value": null,
          "required": true,
          "enabled_followup": false,
          "links": [
            {
              "en": {
                "url": "https://example.com/terms",
                "title": "Terms and Conditions"
              }
            }
          ],
          "options": [
            {
              "en": "English option 1",
              "es": "Opción española 1",
              "id": "english option 1",
              "default": "English option 1"
            },
            {
              "en": "English option 2",
              "es": "Opción española 2",
              "id": "english option 2",
              "default": "English option 2"
            }
          ],
          "config": {},
          "topics": ["bar", "sanitary_safety"]
        }
      }
    ],
    "question_ids": ["959d32ab8cbfi4b70bff1324e"],
    "logo_url": "https://dzm1xrrk9dqdf.cloudfront.net/uploads/company/logo/8347788/37805b128f.png",
    "bg_url": "https://dzm1xrrk9dqdf.cloudfront.net/uploads/company/background/582681/cd274696b7a8cf72be60.jpg",
    "color_hex": "#55C5CC"
  }
}