Skip to content

Publish a survey: its page goes live (logged)

POST
/api/v1/workspaces/{workspace}/surveys/{surveyId}/publish
curl --request POST \
--url https://reputecast.example.com/api/v1/workspaces/acme-newsletter/surveys/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/publish \
--header 'Authorization: Bearer <token>'

Permission: forms:edit

Every question must be complete. The page records answers only when someone presses Send.

workspace
required

Workspace slug

string
/^[a-z0-9][a-z0-9-]{1,62}$/

Workspace slug

surveyId
required

Survey id

string format: uuid

Survey id

OK

Media typeapplication/json
object
canEdit
required
boolean
closedAt
string format: date-time
closedBy
string
closesAt
string format: date-time
completed
required
integer format: int64
createdAt
required
string format: date-time
createdBy
required
string
description
required
string
editHelpers
required
Array<string>
id
required
string
linked
required
Array<object>
object
campaignId
required
string
name
required
string
recipients
integer format: int64
sentAt
string format: date-time
status
required
string
via
required
string
Allowed values: link poll
name
required
string
number
required
integer format: int64
problems
required
Array<object>
object
field
required
string
message
required
string
question
string
publishedAt
string format: date-time
publishedBy
string
questions
required
Array<object>
object
answers
required
Array<object>
object
key
required
integer format: int64
>= 1
label
required
string
<= 200 characters
tag
string
<= 64 characters
description
string
<= 1000 characters
faces
integer format: int64
high
string
<= 60 characters
key
required
string
/^q[0-9]{1,3}$/
low
string
<= 60 characters
nps
boolean
required
required
boolean
requiredText
string
<= 200 characters
save
required
object
field
string
<= 64 characters
to
required
string
Allowed values: none field tags
text
required
string
<= 500 characters
type
required
string
Allowed values: single multi scale emoji short long
settings
required
object
acceptNonContacts
required
boolean
close
required
object
date
string
mode
required
string
Allowed values: date manual
time
string
oneResponse
required
boolean
thanks
string
<= 1000 characters
timezone
string
<= 64 characters
slug
required
string
started
required
integer format: int64
status
required
string
Allowed values: draft open closed
updatedAt
required
string format: date-time
url
required
string
variable
required
string

Example

{
"linked": [
{
"via": "link"
}
],
"questions": [
{
"save": {
"to": "none"
},
"type": "single"
}
],
"settings": {
"close": {
"mode": "date"
}
},
"status": "draft"
}

Error

Media typeapplication/problem+json
object
code

Stable error code, e.g. permission_denied

string
detail

A human-readable explanation specific to this occurrence of the problem.

string
errors

Optional list of individual error details

Array<object>
object
location

Where the error occurred, e.g. ‘body.items[3].tags’ or ‘path.thing-id’

string
message

Error message text

string
value

The value at the given location

helpers

Members who hold the missing permission

Array<string>
instance

A URI reference that identifies the specific occurrence of the problem.

string format: uri
meta
object
key
additional properties
permission

The missing permission key

string
status

HTTP status code

integer format: int64
title

A short, human-readable summary of the problem type. This value should not change between occurrences of the error.

string
type

A URI reference to human-readable documentation for the error.

string format: uri
default: about:blank

Example

{
"detail": "Property foo is required but is missing.",
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "about:blank"
}