Partnership API Documentation
  1. API Integration
Partnership API Documentation
  • Introduction
  • API Integration
    • Overview
    • Flowchart
    • Authentication
    • Participant Criteria
    • Publish Study
    • Get Criteria
      GET
    • Publish Study
      POST
    • Get Study Details
      GET
    • Update Study Status
      PATCH
    • Download Report
      GET
  • iFrame Integration
    • Overview
    • Request Token
      POST
    • Get Studies
      GET
  1. API Integration

Publish Study

Description#

Make a POST request to this endpoint to publish a new survey. Users can send a survey that includes a title, description, questions, and participant criteria. Please, validate your request before you call this endpoint, because you can not edit the survey after publish.

Endpoint#

Refer to Publish Study

Fields#

The request body contains the necessary information to create and publish a new survey. It includes the following key sections:
title
Type: string
Description: The title of the survey
Required: true
description
Type: string
Description: A description of the survey
Required: true
isScreeningQuestion
Type: boolean
Description: Indicates whether the survey includes a screening question
Required: false (default: false)
requiredParticipants
Type: integer
Description: The number of participants required for the survey and the minimum value is 30 and the maximum value is 1000
Required: true
questionnaire
Type: object
Description: Defines the questions included in the survey
Required: true
pages
Type: array
Description: A list of pages that make up the survey
Required: true
questions
Type: array
Description: A list of questions on a page
Required: true
Fields:
name: string — Unique name for the question
type: string — Question type (radiogroup, checkbox, rating, imagepicker, text, comment, matrix, matrixdropdown, multipletext, image, file, signaturepad, ranking)
title: object — The text of the question
isRequired: boolean — If the question is mandatory
choices: array — The list of possible choices for the question (relevant for radiogroup, checkbox, imagepicker, etc.)
rateValues: array — For rating type questions
populixType: string — Additional type classification for the question
showOtherItem: boolean — Whether to show an "Other" option for the question
showNoneItem: boolean — Whether to show a "None" option for the question
noneText: object — The text for the "None" option
otherText: object — The text for the "Other" option
selectAllText: object — The text for the "Select All" option
imageLink: string — The image link for image-based questions (relevant for imagepicker, image)
contentMode: string — Defines the mode for content display for image questions (e.g., image)
imageHeight: string — The height of the image for image-based questions
imageWidth: string — The width of the image for image-based questions
columns: array — For matrix and matrixdropdown questions, defines the column options
rows: array — For matrix and matrixdropdown questions, defines the row options
eachRowRequired: boolean — For matrix type questions, whether each row must be answered
showLabel: boolean — Whether to show the label for image-based questions
criteria
Type: object
Description: Demographic criteria for participant selection
Required: true
Basic Criteria:
Gender
Type: array
Description: Required genders
Required: true
Allowed values:
Laki-Laki
Perempuan
Age
Type: array
Description: Age range start from 10 - 80 years old
Required: true
Province
Type: array
Description: Participant's residence location
Required: true
SocialEconomicStatusGroup
Type: array
Description: SES group
Required: true
Allowed values:
Upper
Middle
Lower
Additional Criteria:
Description: Optional extra filters (max 2)
Examples:
SmokingKey
MaritalStatusKey
Car
For complete list of additional criteria, refer to Get Criteria endpoint response.
Note: Max 2 additional criteria allowed.

Example#

{
    "title": "Contoh Survei",
    "description": "Ini adalah survei yang mencakup semua tipe pertanyaan",
    "isScreeningQuestion": false,
    "requiredParticipants": 10,
    "questionnaire": {
        "locale": "id",
        "title": "Semua Jenis Pertanyaan Survei",
        "description": "Menguji semua jenis pertanyaan yang tersedia",
        "pages": [
            {
                "id": 1,
                "title": "",
                "description": "",
                "questions": [
                    {
                        "type": "radiogroup",
                        "name": "question1",
                        "title": "Pilih salah satu",
                        "isRequired": true,
                        "choices": [
                            {
                                "value": "Jawaban1",
                                "text": "Pilihan A"
                            },
                            {
                                "value": "Jawaban2",
                                "text": "Pilihan B"
                            }
                        ],
                        "showOtherItem": true,
                        "showNoneItem": true,
                        "noneText": "Tidak ada"
                    },
                    {
                        "type": "checkbox",
                        "name": "question2",
                        "title": "Pilih beberapa opsi",
                        "isRequired": true,
                        "choices": [
                            {
                                "value": "Jawaban1",
                                "text": "Opsi 1"
                            },
                            {
                                "value": "Jawaban2",
                                "text": "Opsi 2"
                            },
                            {
                                "value": "Jawaban3",
                                "text": "Opsi 3"
                            }
                        ],
                        "showOtherItem": true,
                        "showSelectAllItem": true,
                        "otherText": "Lainnya",
                        "selectAllText": "Pilih Semua"
                    },
                    {
                        "type": "rating",
                        "name": "question3",
                        "title": "Seberapa puas Anda?",
                        "isRequired": true,
                        "rateValues": [
                            {
                                "value": 1,
                                "text": "1"
                            },
                            {
                                "value": 2,
                                "text": "2"
                            },
                            {
                                "value": 3,
                                "text": "3"
                            },
                            {
                                "value": 4,
                                "text": "4"
                            },
                            {
                                "value": 5,
                                "text": "5"
                            }
                        ],
                        "minRateDescription": "Buruk",
                        "maxRateDescription": "Bagus"
                    },
                    {
                        "type": "imagepicker",
                        "name": "question4",
                        "title": "Pilih gambar favorit Anda",
                        "isRequired": true,
                        "choices": [
                            {
                                "value": "Jawaban1",
                                "imageLink": "https://example.com/image1.png",
                                "text": "Gambar 1"
                            },
                            {
                                "value": "Jawaban2",
                                "imageLink": "https://example.com/image2.png",
                                "text": "Gambar 2"
                            }
                        ],
                        "showLabel": true
                    },
                    {
                        "type": "text",
                        "name": "question5",
                        "title": "Tuliskan nama Anda",
                        "isRequired": true
                    },
                    {
                        "type": "comment",
                        "name": "question6",
                        "title": "Berikan komentar Anda",
                        "isRequired": true
                    },
                    {
                        "type": "matrix",
                        "name": "question7",
                        "title": "Nilai fitur berikut",
                        "isRequired": true,
                        "columns": [
                            {
                                "value": "Column 1",
                                "text": "Baik"
                            },
                            {
                                "value": "Column 2",
                                "text": "Biasa"
                            },
                            {
                                "value": "Column 3",
                                "text": "Buruk"
                            }
                        ],
                        "rows": [
                            {
                                "value": "Row 1",
                                "text": "Fitur 1"
                            },
                            {
                                "value": "Row 2",
                                "text": "Fitur 2"
                            }
                        ],
                        "eachRowRequired": true
                    },
                    {
                        "type": "matrixdropdown",
                        "name": "question8",
                        "title": "Pilih opsi untuk tiap kategori",
                        "isRequired": true,
                        "columns": [
                            {
                                "name": "opsi",
                                "title": "Opsi",
                                "cellType": "dropdown",
                                "isRequired": true,
                                "choices": [
                                    {
                                        "value": "Column 1",
                                        "text": "Ya"
                                    },
                                    {
                                        "value": "Column 2",
                                        "text": "Tidak"
                                    }
                                ]
                            }
                        ],
                        "rows": [
                            {
                                "value": "Row 1",
                                "text": "Kategori 1"
                            },
                            {
                                "value": "Row 2",
                                "text": "Kategori 2"
                            }
                        ]
                    },
                    {
                        "type": "multipletext",
                        "name": "question9",
                        "title": "Masukkan informasi kontak Anda",
                        "isRequired": true,
                        "items": [
                            {
                                "name": "text1",
                                "title": "Email"
                            },
                            {
                                "name": "text2",
                                "title": "No. HP"
                            }
                        ]
                    },
                    {
                        "type": "image",
                        "name": "question10",
                        "title": "Logo Populix",
                        "imageLink": "https://example.com/logo.png",
                        "contentMode": "image",
                        "imageHeight": "300px",
                        "imageWidth": "100%"
                    },
                    {
                        "type": "ranking",
                        "name": "question11",
                        "title": "Urutkan preferensi Anda",
                        "isRequired": true,
                        "choices": [
                            {
                                "value": "Jawaban1",
                                "text": "Item A"
                            },
                            {
                                "value": "Jawaban2",
                                "text": "Item B"
                            },
                            {
                                "value": "Jawaban3",
                                "text": "Item C"
                            }
                        ]
                    }
                ]
            }
        ]
    },
    "criteria": {
        "Gender": [
            "Laki-Laki",
            "Perempuan"
        ],
        "Age": [
            18,
            35
        ],
        "SocialEconomicStatusGroup": [
            "Upper",
            "Middle",
            "Lower"
        ]
    }
}

Limitation of Media Type Question#

When publishing a question with a media type (video or image), the link provided must be a direct URL to the file. Links to platforms like Google Drive or TikTok, which are essentially online media viewers or file-sharing services with integrated viewers, do not work as expected. These platforms typically require additional access controls or have an embedded viewer, which prevents the API from properly retrieving and processing the video.
For successfull uploads:
Ensure the image or video URL points directly to the file itself (e.g., https://example.com/video.mp4), not to a media viewer or sharing page.
For example, a direct link to a video file hosted on a server is required, such as a .mp4 or .mov file, which can be directly streamed or downloaded.
Modified at 2025-08-20 10:06:41
Previous
Participant Criteria
Next
Get Criteria
Built with