Definition

POST - 3/Surveys?copyOfSurveyId={copyOfSurveyId}

Create a new survey.

Required roles: Survey (write)

Request information

copyOfSurveyId

The id of the original survey if you would like to copy an existing survey.


Type integer
Additional info
Optional

The settings for the new survey.

SurveyTitles

The survey titles.


Type Collection of SurveyTitle
Additional info
Required
MaintainNotificationState

Maintains the notifications status from the original survey.


Type boolean
DefaultLang

Default 2-letter ISO 639-1 language code. The default language for the survey will be used when retrieving questions without passing the lang parameter.


Type string
Additional info
Required, Max length: 2
ClientRef

Your internal reference. The reference will also appear on the invoice next to the project name of your survey.


Type string
Additional info
Max length: 80
SurveyFolderId

The id of the survey folder in which the survey is located.


Type integer
Sample:
{
  "SurveyTitles": [
    {
      "Lang": "sample string 1",
      "Title": "sample string 2"
    },
    {
      "Lang": "sample string 1",
      "Title": "sample string 2"
    }
  ],
  "MaintainNotificationState": true,
  "DefaultLang": "sample string 2",
  "ClientRef": "sample string 3",
  "SurveyFolderId": 1
}
Sample:
<NewSurvey xmlns:i="http://www.w3.org/2001/XMLSchema-instance" z:Id="i1" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/">
  <ClientRef>sample string 3</ClientRef>
  <DefaultLang>sample string 2</DefaultLang>
  <SurveyFolderId>1</SurveyFolderId>
  <MaintainNotificationState>true</MaintainNotificationState>
  <SurveyTitles>
    <SurveyTitle>
      <Lang>sample string 1</Lang>
      <Title>sample string 2</Title>
    </SurveyTitle>
    <SurveyTitle>
      <Lang>sample string 1</Lang>
      <Title>sample string 2</Title>
    </SurveyTitle>
  </SurveyTitles>
</NewSurvey>

Response information


Meta

The metadata such as paging parameters, status code, timestamp,... which are related to this request.


Type MetaData
Data

The actual data returned by the request.


Links

HATEOAS related to this object. It wil contain relevant url's such as previous and next page for paged results, create/update/delete action. These url's can be used in your application for the next steps in your application logic.


Type Hateoas
Note about API metadata
The API uses the same metadata structure for all endpoints, but not every field applies to every endpoint. Fields such as paging details (for example Limit, Offset and TotalRowCount) and IsFiltered are only returned by endpoints that support them. Fields that do not apply are not included in the actual response.
Sample:
{
  "Meta": {
    "Status": 1,
    "TotalRowCount": 1,
    "Limit": 1,
    "Offset": 1,
    "TotalPageCount": 1,
    "StartRec": 1,
    "StopRec": 1,
    "Timestamp": "2026-11-13T20:24:55.6286676Z",
    "IsFiltered": true
  },
  "Data": {
    "SurveyId": 1,
    "Succeeded": true,
    "FailureMessage": "sample string 11"
  }
}
Sample:
<Payload xmlns:i="http://www.w3.org/2001/XMLSchema-instance" z:Id="i1" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/">
  <Data>
    <FailureMessage>sample string 11</FailureMessage>
    <Succeeded>true</Succeeded>
    <SurveyId>1</SurveyId>
  </Data>
  <Meta>
    <IsFiltered>true</IsFiltered>
    <Limit>1</Limit>
    <Offset>1</Offset>
    <StartRec>1</StartRec>
    <Status>1</Status>
    <StopRec>1</StopRec>
    <Timestamp>2026-11-13T20:24:55.6286676+00:00</Timestamp>
    <TotalPageCount>1</TotalPageCount>
    <TotalRowCount>1</TotalRowCount>
  </Meta>
</Payload>