Skip to main content
POST
/
api
/
content
/
surveys
Create Survey
curl --request POST \
  --url https://spaces.nexudus.com/api/content/surveys \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "BusinessId": 123,
  "Name": "<string>",
  "Description": "<string>",
  "NextDeliveryDate": "<string>",
  "DeliveryRate": 123,
  "DeliveryFrequency": 123,
  "DeliveryRateMaximum": 123,
  "DeliveryFrequencyMaximum": 123
}
'
{
  "Status": 123,
  "Message": "<string>",
  "Value": "<any>",
  "WasSuccessful": true,
  "Errors": [
    {
      "AttemptedValue": "<any>",
      "Message": "<string>",
      "PropertyName": "<string>"
    }
  ]
}
A Survey defines a questionnaire that can be delivered to customers on a schedule or triggered by specific events. Surveys support configurable delivery frequency and can target specific customer segments.

Authentication

This endpoint requires OAuth2 authentication. Include a valid bearer token in the Authorization header. The authenticated user must be a full unrestricted administrator or have the Survey-Create role.

Enums

ValueName
1Weeks
2Months
3Years

Request Body

Required Fields

BusinessId
integer
required
ID of the business linked to this record.
Name
string
required
The name value for this survey.
Description
string
required
Free-text description of this survey.
NextDeliveryDate
string
required
Date/time value for next delivery date.
DeliveryRate
integer
required
The delivery rate value for this survey.
DeliveryFrequency
integer
required
The delivery frequency value for this survey.
DeliveryRateMaximum
integer
required
The delivery rate maximum value for this survey.
DeliveryFrequencyMaximum
integer
required
The delivery frequency maximum value for this survey.

Optional Fields

Active
boolean
Whether this survey is currently active.
StartDate
string
Date/time value for start date.
OnlyForContacts
boolean
Whether only for contacts is enabled.
OnlyForMembers
boolean
Whether only for members is enabled.
Tariffs
integer[]
List of tariffs linked to this record.

Code Examples

curl -X POST \
  "https://spaces.nexudus.com/api/content/surveys" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "BusinessId": 0,
    "Name": "",
    "Description": "",
    "NextDeliveryDate": "2025-01-15T10:30:00Z",
    "DeliveryRate": 0,
    "DeliveryFrequency": 0,
    "DeliveryRateMaximum": 0,
    "DeliveryFrequencyMaximum": 0
}'

Response

200

Status
integer
HTTP status code. 200 on success.
Message
string
A human-readable message confirming the creation.
Value
object
Contains the Id of the newly created record.
WasSuccessful
boolean
true if the survey was created successfully.
Errors
array
null on success.
Example Response
{
  "Status": 200,
  "Message": "Survey was successfully created.",
  "Value": {
    "Id": 87654321
  },
  "OpenInDialog": false,
  "OpenInWindow": false,
  "RedirectURL": null,
  "JavaScript": null,
  "UpdatedOn": "2025-01-15T10:30:00Z",
  "UpdatedBy": "admin@example.com",
  "Errors": null,
  "WasSuccessful": true
}

400

Message
string
A summary of the validation error(s), in the format PropertyName: error message.
Value
any
null on validation failure.
Errors
object[]
Array of validation errors.
WasSuccessful
boolean
false when the request fails validation.
Example Response
{
  "Message": "Name: is a required field",
  "Value": null,
  "Errors": [
    {
      "AttemptedValue": null,
      "Message": "is a required field",
      "PropertyName": "Name"
    }
  ],
  "WasSuccessful": false
}