Skip to content
Pitch2SaleDevelopers
Open the app
Early access: these pages are being written and reviewed. Facts in the header boxes come straight from the product.

Update survey

PUT
/api/v1/surveys/{id}
curl --request PUT \
--url https://api.pitch2sale.com/api/v1/surveys/example \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "title": "example", "description": "example", "questions": [ { "text": "example", "type": "text", "choices": [ "example" ], "is_required": true, "order": 1, "show_if": { "question_id": "example", "operator": "eq", "value": "example" } } ], "pages": [ { "id": "example", "title": "example", "question_ids": [] } ], "target_audience": "all_contacts", "target_lead_ids": [ "example" ], "allow_anonymous": true, "thank_you_message": "example", "expires_at": "2026-04-15T12:00:00Z" }'
id
required
string
Media typeapplication/json
object
title
string
>= 1 characters <= 500 characters
description
Any of:
string
<= 5000 characters
questions
Array<object>
>= 1 items
object
text
required
string
>= 1 characters <= 2000 characters
type
required
string
Allowed values: text textarea rating choice multi_choice nps yes_no
choices
Array<string>
is_required
boolean
order
integer
show_if
Any of:
object
question_id
required
string
>= 1 characters <= 64 characters
operator
required
string
Allowed values: eq neq contains
value
required
string
<= 2000 characters
pages
Array<object>
object
id
required
string
>= 1 characters <= 64 characters
title
Any of:
string
<= 200 characters
question_ids
Array<string>
default:
target_audience
string
Allowed values: all_contacts specific_leads post_deal customers tickets_closed project_completed event_triggered
target_lead_ids
Array<string>
allow_anonymous
boolean
thank_you_message
string
<= 2000 characters
expires_at
Any of:
string format: date-time

OK

Validation failed

Media typeapplication/json
object
error
required
string
code
string
message
string
details
Array<object>
object
field
required
string
message
required
string
code
required
string
Examplegenerated
{
"error": "example",
"code": "example",
"message": "example",
"details": [
{
"field": "example",
"message": "example",
"code": "example"
}
]
}

Authentication required or token invalid

Media typeapplication/json
object
error
required
string
code
string
message
string
details
Array<object>
object
field
required
string
message
required
string
code
required
string
Examplegenerated
{
"error": "example",
"code": "example",
"message": "example",
"details": [
{
"field": "example",
"message": "example",
"code": "example"
}
]
}

Feature not available on the organization plan

Media typeapplication/json
object
error
required
string
code
string
message
string
details
Array<object>
object
field
required
string
message
required
string
code
required
string
Examplegenerated
{
"error": "example",
"code": "example",
"message": "example",
"details": [
{
"field": "example",
"message": "example",
"code": "example"
}
]
}

Role permission or token scope missing

Media typeapplication/json
object
error
required
string
code
string
message
string
details
Array<object>
object
field
required
string
message
required
string
code
required
string
Examplegenerated
{
"error": "example",
"code": "example",
"message": "example",
"details": [
{
"field": "example",
"message": "example",
"code": "example"
}
]
}

Rate limit exceeded

Media typeapplication/json
object
error
required
string
code
string
message
string
details
Array<object>
object
field
required
string
message
required
string
code
required
string
Examplegenerated
{
"error": "example",
"code": "example",
"message": "example",
"details": [
{
"field": "example",
"message": "example",
"code": "example"
}
]
}