Surveys
Returns all surveys for the organization.
Rate limit: 300 requests per minute
Authorization: Bearer
The request ID for tracking.
The request was invalid or could not be completed.
The request could not be authenticated for this API.
The authenticated caller or organization is not allowed to access this endpoint or operation.
The request exceeded the applicable rate limit.
An unexpected internal error occurred.
GET /surveys HTTP/1.1
Host: api.usepylon.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"data": [
{
"id": "text",
"name": "text",
"type": "text",
"updated_at": "2026-01-01T00:00:00.000Z"
}
],
"request_id": "text"
}Returns a single survey by ID.
Rate limit: 300 requests per minute
Authorization: Bearer
The ID of the survey.
The request ID for tracking.
The request was invalid or could not be completed.
The request could not be authenticated for this API.
The authenticated caller or organization is not allowed to access this endpoint or operation.
The request exceeded the applicable rate limit.
An unexpected internal error occurred.
GET /surveys/{id} HTTP/1.1
Host: api.usepylon.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"data": {
"id": "text",
"name": "text",
"type": "text",
"updated_at": "2026-01-01T00:00:00.000Z"
},
"request_id": "text"
}Returns paginated survey responses visible to the caller, optionally filtered by time range, account, or contact.
Rate limit: 300 requests per minute
Authorization: Bearer
The ID of the survey.
Filter responses submitted after this time (RFC3339 format).
Filter responses submitted before this time (RFC3339 format).
Filter responses by account ID. Required with contact_id when the caller has scoped account or contact access.
Filter responses by contact ID. Required with account_id when the caller has scoped account or contact access.
The cursor for pagination.
The number of responses to fetch. Defaults to 100. Must be greater than 0 and less than 1000.
The request ID for tracking.
The request was invalid or could not be completed.
The request could not be authenticated for this API.
The authenticated caller or organization is not allowed to access this endpoint or operation.
The request exceeded the applicable rate limit.
An unexpected internal error occurred.
GET /surveys/{id}/responses HTTP/1.1
Host: api.usepylon.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"data": [
{
"account_id": "text",
"answers": [
{
"prompt": "text",
"question_id": "text",
"question_type": "text",
"value": "text"
}
],
"contact_id": "text",
"excluded_at": "2026-01-01T00:00:00.000Z",
"id": "text",
"issue_id": "text",
"submitted_at": "2026-01-01T00:00:00.000Z",
"survey_id": "text",
"survey_instance_id": "text",
"survey_type": "text"
}
],
"pagination": {
"cursor": "text",
"has_next_page": true
},
"request_id": "text"
}Filterable fields and their allowed operators:
updated_at
time_is_after, time_is_before, time_range
Timestamp values use RFC3339 format.
Rate limit: 120 requests per minute
Authorization: Bearer
The number of surveys to fetch. Defaults to 100. Must be between 1 and 1000.
The request was invalid or could not be completed.
The request could not be authenticated for this API.
The authenticated caller or organization is not allowed to access this endpoint or operation.
The request exceeded the applicable rate limit.
An unexpected internal error occurred.
POST /surveys/search HTTP/1.1
Host: api.usepylon.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 157
{
"filter": {
"field": "text",
"operator": "equals",
"subfilters": [
{
"field": "state",
"operator": "equals",
"value": "new"
}
],
"value": "text",
"values": [
"text"
]
},
"limit": 1
}{
"data": [
{
"id": "text",
"name": "text",
"type": "text",
"updated_at": "2026-01-01T00:00:00.000Z"
}
],
"request_id": "text"
}Returns paginated CSAT and custom survey responses associated with an issue.
Rate limit: 300 requests per minute
Authorization: Bearer
The ID or number of the issue.
Filter responses by survey template ID.
Filter responses submitted after this time (RFC3339 format).
Filter responses submitted before this time (RFC3339 format).
The cursor for pagination.
The number of responses to fetch. Defaults to 100. Must be greater than 0 and less than 1000.
The canonical issue ID.
The request ID for tracking.
The request was invalid or could not be completed.
The request could not be authenticated for this API.
The authenticated caller or organization is not allowed to access this endpoint or operation.
The request exceeded the applicable rate limit.
An unexpected internal error occurred.
GET /issues/{id}/survey-responses HTTP/1.1
Host: api.usepylon.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"data": [
{
"account_id": "text",
"answers": [
{
"prompt": "text",
"question_id": "text",
"question_type": "text",
"value": "text"
}
],
"contact_id": "text",
"excluded_at": "2026-01-01T00:00:00.000Z",
"id": "text",
"issue_id": "text",
"submitted_at": "2026-01-01T00:00:00.000Z",
"survey_id": "text",
"survey_instance_id": "text",
"survey_type": "text"
}
],
"issue_id": "text",
"pagination": {
"cursor": "text",
"has_next_page": true
},
"request_id": "text"
}Last updated
Was this helpful?

