Surveys
On this page, we'll dive into the different survey endpoints you can use to schedule surveys to recipients, collect their responses, and manage the reusable forms behind them.
In Babele, a Survey Definition schedules a Survey Form to a set of recipients on a recurring (or one-off) iteration. As recipients answer, their Survey Responses are collected against that definition, and — when kpiConvert is enabled — eligible answers convert into KPI values. A Survey Form is the reusable question template (questions, options, sections) that one or more survey definitions can point at via its formId.
All survey endpoints require an authenticated principal (a Bearer JWT or an API key). There are no community-admin or platform-admin role attributes on these endpoints; access to a specific community, survey, or response is enforced in the service layer, which surfaces a 404 Not Found when the resource is missing or inaccessible to you.
Get a survey definition
This endpoint allows you to fetch a single survey definition (its metadata and scheduling configuration) by its ID.
Path parameters
- Name
id- Type
- integer
- Description
The ID of the survey definition to retrieve.
Possible errors
- Name
401 Unauthorized- Description
The request is missing valid authentication.
- Name
404 Not Found- Description
No survey definition with that ID exists, or it is not accessible to you.
Request
curl -X GET https://api.babele.co/api/Survey/survey-definition/1 \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4"
Response
{
"id": 1,
"title": "Startup Feedback Survey",
"description": "We have selected 12 startups who are currently enrolled in our programme. The programme started in July and will continue until this year's Demo Day...",
"surveyType": 1,
"communityId": 999,
"formId": 1515,
"iterationNumber": 0,
"iterationDuration": 0,
"iterationType": 6,
"kpiConvert": true,
"startDate": "2024-01-01T09:00:00Z",
"startDateTimezoneCode": "Europe/Bucharest",
"endDate": "2024-01-31T18:00:00Z",
"endDateTimezoneCode": "Europe/Bucharest",
"timezone": "Europe/Bucharest",
"surveyPrivacyCircles": [11, 22, 33, 1886],
"surveyCommunityUserTags": ["feedback", "satisfaction", "New2025"],
"surveyMethodologies": [101, 202],
"surveyProjectTags": ["some", "tags"],
"deadline": "2024-03-01T09:00:00Z"
}
List survey definitions
This endpoint allows you to retrieve a paginated, filtered list of survey definitions for a community. Filters are passed in the request body, so although it lists data this is a POST. It is a read, not a mutation.
The response returns a trimmed shape (SurveyDefinitionBaseDto) — id, title, startDate, endDate, and iterationNumber only — not the full definition.
Request body attributes
- Name
communityId- Type
- integer
- Description
The ID of the community to list surveys for. Required.
- Name
take- Type
- integer
- Description
The page size (number of definitions to return). Required.
- Name
skip- Type
- integer
- Description
The number of definitions to skip. Required.
- Name
statusFilters- Type
- object
- Description
Optional filter of shape
{ "type": 0, "values": [..] }, wheretypeis aDynamicFilterType(0IsAnyOf,1IsNoneOf) andvaluesis an integer array.
- Name
iterationFilters- Type
- object
- Description
Optional iteration filter, same shape as
statusFilters.
Possible errors
- Name
401 Unauthorized- Description
The request is missing valid authentication.
Request
curl -X POST https://api.babele.co/api/Survey/survey-definitions \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4" \
-H "Content-Type: application/json" \
-d '{"communityId":999,"skip":0,"take":20}'
Response
{
"count": 12,
"list": [
{
"id": 1,
"title": "Startup Feedback Survey",
"startDate": "2024-01-01T09:00:00Z",
"endDate": "2024-01-31T18:00:00Z",
"iterationNumber": 0
},
{
"id": 2,
"title": "Quarterly Impact Check-in",
"startDate": "2024-04-01T09:00:00Z",
"endDate": "2024-04-30T18:00:00Z",
"iterationNumber": 3
}
]
}
Create a survey definition
This endpoint allows you to create a new survey definition in a community, scheduling a form to its targeted recipients. Creating a definition triggers invitation notifications to the targeted users.
The surveyType enum is 0 Individual / 1 Startup. The iterationType enum is 0 Weekly, 1 Monthly, 2 Quarterly, 3 Semestral, 4 Yearly, 5 Custom, 6 NonRecurrent. Set customIteration only when iterationType is 5 (Custom).
Request body attributes
- Name
communityId- Type
- integer
- Description
The ID of the community. Required.
- Name
title- Type
- string
- Description
The survey title.
- Name
description- Type
- string
- Description
A description of the survey.
- Name
surveyType- Type
- integer
- Description
The
SurveyTypeenum value. Required.
- Name
formId- Type
- integer
- Description
The ID of the form whose questions this survey uses. Required.
- Name
iterationType- Type
- integer
- Description
The
SurveyIterationTypeenum value. Required.
- Name
kpiConvert- Type
- boolean
- Description
Whether responses convert into KPI values. Required.
- Name
startDate- Type
- string
- Description
The survey start date-time (ISO 8601). Required.
- Name
timezone- Type
- string
- Description
The IANA timezone code for the schedule.
- Name
endDate- Type
- string
- Description
The survey end date-time (ISO 8601).
- Name
surveyPrivacyCircles- Type
- array
- Description
Privacy-circle IDs that can see the survey.
- Name
surveyMethodologies- Type
- array
- Description
Methodology IDs associated with the survey.
- Name
deadline- Type
- string
- Description
The response deadline (ISO 8601).
- Name
surveyCommunityUserTags- Type
- array
- Description
Community-user tags the survey targets.
- Name
surveyProjectTags- Type
- array
- Description
Project tags the survey targets.
- Name
customIteration- Type
- integer
- Description
Custom iteration length, used when
iterationTypeis Custom.
Possible errors
- Name
400 Bad Request- Description
The request body failed validation.
- Name
401 Unauthorized- Description
The request is missing valid authentication.
Request
curl -X POST https://api.babele.co/api/Survey/survey-definition \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4" \
-H "Content-Type: application/json" \
-d '{"communityId":999,"title":"Startup Feedback Survey","description":"Quarterly feedback from enrolled startups.","surveyType":1,"formId":1515,"iterationType":2,"kpiConvert":true,"startDate":"2024-01-01T09:00:00Z","timezone":"Europe/Bucharest","endDate":"2024-01-31T18:00:00Z","surveyPrivacyCircles":[11,22,33,1886],"surveyMethodologies":[101,202],"deadline":"2024-03-01T09:00:00Z","surveyCommunityUserTags":["feedback","satisfaction"],"surveyProjectTags":["cohort-2024"],"customIteration":null}'
Response
{
"id": 1771,
"title": "Startup Feedback Survey",
"description": "Quarterly feedback from enrolled startups.",
"surveyType": 1,
"communityId": 999,
"formId": 1515,
"iterationNumber": 0,
"iterationDuration": 0,
"iterationType": 2,
"kpiConvert": true,
"startDate": "2024-01-01T09:00:00Z",
"startDateTimezoneCode": "Europe/Bucharest",
"endDate": "2024-01-31T18:00:00Z",
"endDateTimezoneCode": "Europe/Bucharest",
"timezone": "Europe/Bucharest",
"surveyPrivacyCircles": [11, 22, 33, 1886],
"surveyCommunityUserTags": ["feedback", "satisfaction"],
"surveyMethodologies": [101, 202],
"surveyProjectTags": ["cohort-2024"],
"deadline": "2024-03-01T09:00:00Z"
}
Update a survey definition
This endpoint allows you to update an existing survey definition. Note the path segment is plural (survey-definitions) and the path parameter is named surveyId.
The update body differs from the create body: it has iterationDuration instead of deadline.
Path parameters
- Name
surveyId- Type
- integer
- Description
The ID of the survey definition to update.
Request body attributes
- Name
communityId- Type
- integer
- Description
The ID of the community. Required.
- Name
title- Type
- string
- Description
The survey title.
- Name
description- Type
- string
- Description
A description of the survey.
- Name
surveyType- Type
- integer
- Description
The
SurveyTypeenum value.
- Name
formId- Type
- integer
- Description
The ID of the form whose questions this survey uses.
- Name
iterationDuration- Type
- integer
- Description
The duration of an iteration.
- Name
kpiConvert- Type
- boolean
- Description
Whether responses convert into KPI values.
- Name
startDate- Type
- string
- Description
The survey start date-time (ISO 8601).
- Name
surveyPrivacyCircles- Type
- array
- Description
Privacy-circle IDs that can see the survey.
- Name
surveyMethodologies- Type
- array
- Description
Methodology IDs associated with the survey.
- Name
endDate- Type
- string
- Description
The survey end date-time (ISO 8601).
- Name
surveyCommunityUserTags- Type
- array
- Description
Community-user tags the survey targets.
- Name
surveyProjectTags- Type
- array
- Description
Project tags the survey targets.
- Name
iterationType- Type
- integer
- Description
The
SurveyIterationTypeenum value.
- Name
customIteration- Type
- integer
- Description
Custom iteration length, used when
iterationTypeis Custom.
- Name
timezone- Type
- string
- Description
The IANA timezone code for the schedule.
Possible errors
- Name
400 Bad Request- Description
The request body failed validation.
- Name
401 Unauthorized- Description
The request is missing valid authentication.
- Name
404 Not Found- Description
No survey definition with that
surveyIdexists.
Request
curl -X PUT https://api.babele.co/api/Survey/survey-definitions/1771 \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4" \
-H "Content-Type: application/json" \
-d '{"title":"Startup Feedback Survey (rev 2)","communityId":999,"description":"Updated description.","surveyType":1,"formId":1515,"iterationDuration":90,"kpiConvert":true,"startDate":"2024-01-01T09:00:00Z","surveyPrivacyCircles":[11,22,33,1886],"surveyMethodologies":[101,202],"endDate":"2024-01-31T18:00:00Z","surveyCommunityUserTags":["feedback"],"surveyProjectTags":["cohort-2024"],"iterationType":2,"customIteration":null,"timezone":"Europe/Bucharest"}'
Response
204 No Content
Delete a survey definition
This endpoint allows you to delete a survey definition. The path segment is singular (survey-definition) and the path parameter is named surveyId.
Path parameters
- Name
surveyId- Type
- integer
- Description
The ID of the survey definition to delete.
Possible errors
- Name
401 Unauthorized- Description
The request is missing valid authentication.
- Name
404 Not Found- Description
No survey definition with that
surveyIdexists.
Request
curl -X DELETE https://api.babele.co/api/Survey/survey-definition/1771 \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4"
Response
204 No Content
Get a survey response
This endpoint allows you to fetch a single survey response — one user's answers for one iteration — by its ID. The status field is a SurveyResponseStatus enum (0 Pending/Draft, 1 Submitted).
Path parameters
- Name
id- Type
- integer
- Description
The ID of the survey response to retrieve.
Possible errors
- Name
401 Unauthorized- Description
The request is missing valid authentication.
- Name
404 Not Found- Description
No survey response with that ID exists.
Request
curl -X GET https://api.babele.co/api/Survey/survey-response/5012 \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4"
Response
{
"id": 5012,
"userId": 15,
"userName": "Ana Popescu",
"status": 0,
"iterationDeadline": "2024-03-01T09:00:00Z",
"projectId": 101,
"surveyId": 10,
"surveyTitle": "Startup Feedback Survey",
"iterationNumber": 1,
"iteration": 1,
"projectName": "Project 1",
"tags": ["high-priority", "reviewed"],
"isCurrentIteration": true,
"answers": [
{
"id": 1,
"formQuestionId": 8801,
"formId": 1515,
"userId": 15,
"answer": "Answer 1",
"lastSubmitedTime": "2024-12-01T00:00:00",
"optionAnswerOrder": 1,
"optionRowAnswerOrder": 2
},
{
"id": 2,
"formQuestionId": 8802,
"formId": 1515,
"userId": 15,
"answer": "Answer 2",
"lastSubmitedTime": "2024-12-01T00:00:00",
"optionAnswerOrder": 1,
"optionRowAnswerOrder": 2
}
]
}
List survey responses
This endpoint allows you to retrieve a filtered, paginated list of responses for a given survey definition, plus the available filter facets. Filters are passed in the request body, so although it lists data this is a POST. It is a read, not a mutation.
Each *SurveyFilterDto.type is a DynamicFilterType (0 IsAnyOf, 1 IsNoneOf). The response wraps the responses in a SurveyResponseListDto with count, list, and surveyResponseFilters (the same facet metadata returned by the response-filters endpoint below).
Path parameters
- Name
id- Type
- integer
- Description
The ID of the survey definition whose responses to list.
Request body attributes
- Name
submissionDateFilters- Type
- object
- Description
Optional date filter of shape
{ "type", "values": [..] }with date-time string values.
- Name
tagFilters- Type
- object
- Description
Optional tag filter with string values.
- Name
statusFilters- Type
- object
- Description
Optional status filter with integer (
SurveyResponseStatus) values.
- Name
iterationFilters- Type
- object
- Description
Optional iteration filter with integer values.
- Name
projectFilters- Type
- object
- Description
Optional project filter with integer values.
- Name
userFilters- Type
- object
- Description
Optional user filter with integer values.
- Name
take- Type
- integer
- Description
The page size. Required.
- Name
skip- Type
- integer
- Description
The number of responses to skip. Required.
- Name
includeAnswers- Type
- boolean
- Description
Whether to embed each response's
answers. Required.
Possible errors
- Name
401 Unauthorized- Description
The request is missing valid authentication.
- Name
404 Not Found- Description
No survey definition with that ID exists.
Request
curl -X POST https://api.babele.co/api/Survey/survey-definition/10/survey-responses \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4" \
-H "Content-Type: application/json" \
-d '{"submissionDateFilters":{"type":0,"values":["2024-01-01T00:00:00Z","2024-12-31T23:59:59Z"]},"tagFilters":{"type":0,"values":["high-priority"]},"statusFilters":{"type":0,"values":[1]},"iterationFilters":{"type":0,"values":[1,2]},"projectFilters":{"type":0,"values":[101]},"userFilters":{"type":0,"values":[15,16]},"take":20,"skip":0,"includeAnswers":true}'
Response
{
"count": 2,
"list": [
{
"id": 5012,
"userId": 15,
"userName": "Ana Popescu",
"status": 0,
"iterationDeadline": "2024-03-01T09:00:00Z",
"projectId": 101,
"surveyId": 10,
"surveyTitle": "Startup Feedback Survey",
"iterationNumber": 1,
"iteration": 1,
"projectName": "Project 1",
"tags": ["high-priority"],
"isCurrentIteration": true,
"answers": [
{
"id": 1,
"formQuestionId": 8801,
"formId": 1515,
"userId": 15,
"answer": "Answer 1",
"lastSubmitedTime": "2024-12-01T00:00:00",
"optionAnswerOrder": 1,
"optionRowAnswerOrder": 2
}
]
}
],
"surveyResponseFilters": {
"submissionDateMinimum": "2024-11-01T00:00:00Z",
"submissionDateMaximum": "2024-12-15T00:00:00Z",
"tagFilters": ["high-priority", "reviewed"],
"statusFilters": [0, 1],
"iterationFilters": [1, 2, 3],
"projectFilters": [{ "id": 101, "name": "Project 1" }],
"userFilters": [{ "id": 15, "firstName": "Ana", "lastName": "Popescu" }]
}
}
Create a survey response
This endpoint allows you to submit a new survey response — a user's set of answers, saved either as a draft or fully submitted. The response body is a bare integer: the new survey response ID.
File answers are not uploaded here. Upload the file first, then put the resulting URL into the answer's answer field.
Request body attributes
- Name
surveyId- Type
- integer
- Description
The ID of the survey being answered. Required.
- Name
status- Type
- integer
- Description
The
SurveyResponseStatusenum value (0Pending/Draft,1Submitted). Required.
- Name
projectId- Type
- integer
- Description
The project the response is on behalf of (for Startup surveys).
- Name
tags- Type
- array
- Description
Tags to attach to the response.
- Name
answers- Type
- array
- Description
The answers. Each item has
formQuestionId(integer, required),answer(string — text/value or uploaded file URL),optionAnswerOrder(integer, for choice questions), andoptionRowAnswerOrder(integer, for matrix questions).
Possible errors
- Name
400 Bad Request- Description
The request body failed validation.
- Name
401 Unauthorized- Description
The request is missing valid authentication.
- Name
404 Not Found- Description
No survey with the given
surveyIdexists.
Request
curl -X POST https://api.babele.co/api/Survey/survey-response \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4" \
-H "Content-Type: application/json" \
-d '{"surveyId":10,"status":1,"projectId":101,"tags":["cohort-2024"],"answers":[{"formQuestionId":8801,"answer":"Very satisfied","optionAnswerOrder":1,"optionRowAnswerOrder":0},{"formQuestionId":8802,"answer":"/Images/Uploads/999/survey/pitch-deck.pdf","optionAnswerOrder":0,"optionRowAnswerOrder":0}]}'
Response
5012
Update a survey response
This endpoint allows you to update an existing survey response — edit its answers or change its status to Submitted. The body is the same as the create body but without surveyId.
Path parameters
- Name
surveyResponseId- Type
- integer
- Description
The ID of the survey response to update.
Request body attributes
- Name
status- Type
- integer
- Description
The
SurveyResponseStatusenum value. Required.
- Name
projectId- Type
- integer
- Description
The project the response is on behalf of.
- Name
tags- Type
- array
- Description
The replacement set of tags.
- Name
answers- Type
- array
- Description
The answers (same item shape as the create endpoint).
Possible errors
- Name
400 Bad Request- Description
The request body failed validation.
- Name
401 Unauthorized- Description
The request is missing valid authentication.
- Name
404 Not Found- Description
No survey response with that
surveyResponseIdexists.
Request
curl -X PATCH https://api.babele.co/api/Survey/survey-response/5012 \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4" \
-H "Content-Type: application/json" \
-d '{"status":1,"projectId":101,"tags":["cohort-2024","final"],"answers":[{"formQuestionId":8801,"answer":"Extremely satisfied","optionAnswerOrder":2,"optionRowAnswerOrder":0}]}'
Response
204 No Content
Update survey response tags
This endpoint allows you to bulk-set the tags on one or more survey responses. The body is an array; each item's tags is the full replacement set for that response.
Request body attributes
- Name
surveyResponseId- Type
- integer
- Description
The ID of the response to retag. Required (per array item).
- Name
tags- Type
- array
- Description
The full replacement set of tags for that response.
Possible errors
- Name
400 Bad Request- Description
The request body failed validation.
- Name
401 Unauthorized- Description
The request is missing valid authentication.
- Name
404 Not Found- Description
A referenced response ID does not exist.
Request
curl -X PUT https://api.babele.co/api/Survey/survey-response/tags \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4" \
-H "Content-Type: application/json" \
-d '[{"surveyResponseId":5012,"tags":["reviewed","high-priority"]},{"surveyResponseId":5013,"tags":[]}]'
Response
204 No Content
Get survey response filters
This endpoint allows you to retrieve the available filter facets for a survey's responses — date range, tags, statuses, iterations, projects, and users — so a client can build filter dropdowns.
Path parameters
- Name
id- Type
- integer
- Description
The ID of the survey definition.
Possible errors
- Name
401 Unauthorized- Description
The request is missing valid authentication.
- Name
404 Not Found- Description
No survey definition with that ID exists.
Request
curl -X GET https://api.babele.co/api/Survey/survey-definition/10/survey-response-filters \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4"
Response
{
"submissionDateMinimum": "2024-11-01T00:00:00Z",
"submissionDateMaximum": "2024-12-15T00:00:00Z",
"tagFilters": ["high-priority", "reviewed", "cohort-2024"],
"statusFilters": [0, 1],
"iterationFilters": [1, 2, 3],
"projectFilters": [
{ "id": 101, "name": "Project 1" },
{ "id": 102, "name": "Project 2" }
],
"userFilters": [
{ "id": 15, "firstName": "Ana", "lastName": "Popescu" },
{ "id": 16, "firstName": "Mihai", "lastName": "Ionescu" }
]
}
Export survey responses (CSV)
This endpoint streams all responses for a survey as a CSV file download, with one row per response and columns for user, project, iteration, status, submission date, and each form question's answer.
The response is a binary file (Content-Type: application/octet-stream,
Content-Disposition: attachment; filename=SurveyResponses.csv), not
JSON. Swagger advertises a JSON body for this endpoint, but that is an
artifact of the [ProducesResponseType] attribute — handle the response as
a blob/file, not as parsed JSON.
Path parameters
- Name
surveyId- Type
- integer
- Description
The ID of the survey whose responses to export.
Possible errors
- Name
401 Unauthorized- Description
The request is missing valid authentication.
- Name
404 Not Found- Description
No survey with that
surveyIdexists.
Request
curl -X GET https://api.babele.co/api/Survey/ExportSurveyResponses/10 \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4" \
-o SurveyResponses.csv
Survey Forms
Survey Forms are the reusable question templates referenced by a survey definition's formId. A form holds an ordered set of questions (with options, conditional logic, privacy levels, and limits) and optional sections. These endpoints live on a separate controller, /api/SurveyForm.
The list and get-by-id responses use FormDetailDto. At runtime the survey variant adds one extra field, associatedSurveysCount (integer), counting how many survey definitions reference the form; it is not reflected in the swagger schema. A question's answerType is a FormQuestionAnswerType enum (0 RadioChoice, 1 CheckBox, 2 DropDown, 3 MultipleChoice, 4 AccountMoney, 5 Calendar, 7 ShortText, 8 LongText, 9 File, 10 Scale, 11 Country, 12 Table, 13 Numeric; negative values map to project fields).
List survey forms
This endpoint allows you to retrieve all survey-form definitions belonging to a community, with their full question trees. The literal GetAll segment is part of the URL (it is an action-name route).
Required query parameters
- Name
communityId- Type
- integer
- Description
The ID of the community whose survey forms to list. Required. A missing or invalid value binds to
0and yields an empty list.
Possible errors
- Name
401 Unauthorized- Description
The request is missing valid authentication.
- Name
403 Forbidden- Description
You are not authorized to access this community's forms.
Request
curl -X GET https://api.babele.co/api/SurveyForm/GetAll?communityId=999 \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4"
Response
{
"count": 1,
"list": [
{
"id": 1258,
"name": "Impact Baseline Survey",
"description": "<p>Test all questions</p>",
"communityId": 999,
"creationDate": "2023-05-23T14:19:16.203812Z",
"lastEditionDate": "2024-12-16T23:56:29.628361Z",
"userCreatorId": 398964,
"associatedSurveysCount": 3,
"questions": [
{
"id": 781,
"title": "Short question test",
"description": "<p>Short question description</p>",
"question": "Tell me your hobbies",
"questionOrder": 0,
"mandatoryAnswer": true,
"editableAnswer": false,
"answerType": 7,
"allowMultipleAnswer": false,
"questionLinks": [],
"questionOptions": [
{ "id": 1011, "questionOption": "Cricket", "questionOptionOrder": 0 },
{ "id": 1012, "questionOption": "Programming", "questionOptionOrder": 1 }
],
"isFilterable": false,
"privacyLevel": 1,
"conditionalLogicType": 0,
"formQuestionConditionalLogicList": []
},
{
"id": 1996,
"title": "Account money test",
"description": "<p>Account money description</p>",
"question": null,
"questionOrder": 11,
"mandatoryAnswer": true,
"editableAnswer": false,
"answerType": 4,
"allowMultipleAnswer": false,
"questionLinks": [],
"questionOptions": [],
"isFilterable": null,
"privacyLevel": 1,
"conditionalLogicType": 0,
"formQuestionConditionalLogicList": [
{
"id": 949,
"conditionFormQuestionId": 1989,
"formQuestionOptionId": 3588,
"customValue": "",
"conditionLogic": 1
}
]
}
]
}
],
"filters": null
}
Get a survey form
This endpoint allows you to fetch a single survey-form definition — its full question and section tree — by its ID.
Path parameters
- Name
id- Type
- integer
- Description
The ID of the survey form to retrieve.
Possible errors
- Name
401 Unauthorized- Description
The request is missing valid authentication.
- Name
403 Forbidden- Description
You are not authorized to access this form.
- Name
404 Not Found- Description
No survey form with that ID exists.
Request
curl -X GET https://api.babele.co/api/SurveyForm/1258 \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4"
Response
{
"id": 1258,
"name": "Impact Baseline Survey",
"description": "<p>Test all questions</p>",
"communityId": 999,
"creationDate": "2023-05-23T14:19:16.203812Z",
"lastEditionDate": "2024-12-16T23:56:29.628361Z",
"userCreatorId": 398964,
"associatedSurveysCount": 3,
"questions": [
{
"id": 15,
"title": "First question test?",
"description": "<p>Long question description</p>",
"question": null,
"questionOrder": 1,
"mandatoryAnswer": true,
"editableAnswer": false,
"answerType": 7,
"allowMultipleAnswer": false,
"questionLinks": [],
"questionOptions": [],
"isFilterable": null,
"privacyLevel": 1,
"conditionalLogicType": 0,
"formQuestionConditionalLogicList": []
},
{
"id": 1963,
"title": "Radio button",
"description": "",
"question": "Radio button",
"questionOrder": 3,
"mandatoryAnswer": true,
"editableAnswer": false,
"answerType": 0,
"allowMultipleAnswer": false,
"questionLinks": [],
"questionOptions": [
{ "id": 3529, "questionOption": "Option 1", "questionOptionOrder": 0 },
{ "id": 3530, "questionOption": "Option 2", "questionOptionOrder": 1 }
],
"isFilterable": false,
"privacyLevel": 1,
"conditionalLogicType": 0,
"formQuestionConditionalLogicList": []
}
]
}
Create a survey form
This endpoint allows you to create a new survey form — its questions, options, and sections — in a community. The saved form is returned with server-assigned IDs as a FormDetailDto. Note this responds with 200 OK, not 201 Created.
Use id: 0 for new questions and options. The type field is a FormType enum; survey forms are typically 0 (Undefined).
Request body attributes
- Name
name- Type
- string
- Description
The form title.
- Name
description- Type
- string
- Description
A description of the form. HTML allowed.
- Name
communityId- Type
- integer
- Description
The owning community ID. Required.
- Name
type- Type
- integer
- Description
The
FormTypeenum value. Required.
- Name
questions- Type
- array
- Description
The full set of questions (
FormQuestionDto). Each carriesid(0for new),title,question,questionOrder,mandatoryAnswer,answerType,questionOptions,privacyLevel,conditionalLogicType,convertToKpi, and related fields.
- Name
sections- Type
- array
- Description
The form sections, each of shape
{ id, title, description, order }.
- Name
includeInLandingPage- Type
- boolean
- Description
Whether to show this form on the community landing page.
- Name
isDefaultCommunityProjectForm- Type
- boolean
- Description
Whether this is the default community project form.
Possible errors
- Name
400 Bad Request- Description
The request body failed validation (e.g. invalid enum).
- Name
401 Unauthorized- Description
The request is missing valid authentication.
- Name
403 Forbidden- Description
You are not authorized to create forms in this community.
Request
curl -X POST https://api.babele.co/api/SurveyForm \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4" \
-H "Content-Type: application/json" \
-d '{"name":"Impact Baseline Survey","description":"<p>Annual impact baseline</p>","communityId":999,"type":0,"includeInLandingPage":false,"isDefaultCommunityProjectForm":false,"sections":[],"questions":[{"id":0,"title":"Tell me your hobbies","description":"<p>Short question description</p>","question":"Tell me your hobbies","questionOrder":0,"mandatoryAnswer":true,"editableAnswer":false,"answerType":7,"allowMultipleAnswer":false,"questionLinks":[],"questionOptions":[{"id":0,"questionOption":"Cricket","questionOptionOrder":0},{"id":0,"questionOption":"Programming","questionOptionOrder":1}],"isFilterable":false,"privacyLevel":1,"privacyCirclesIds":[],"conditionalLogicType":0,"formQuestionConditionalLogicList":[],"hasWeightedAverage":false,"convertToKpi":false,"changePermissionPrivacyLevel":0,"questionType":0,"includeInProjectProfile":false,"hasLimit":false,"limitType":null,"limitValue":null,"sectionId":null}]}'
Response
{
"id": 1258,
"name": "Impact Baseline Survey",
"description": "<p>Annual impact baseline</p>",
"communityId": 999,
"creationDate": "2024-12-16T23:56:29.628361Z",
"lastEditionDate": "2024-12-16T23:56:29.628361Z",
"userCreatorId": 398964,
"associatedSurveysCount": 0,
"questions": [
{
"id": 781,
"title": "Tell me your hobbies",
"description": "<p>Short question description</p>",
"question": "Tell me your hobbies",
"questionOrder": 0,
"mandatoryAnswer": true,
"editableAnswer": false,
"answerType": 7,
"allowMultipleAnswer": false,
"questionLinks": [],
"questionOptions": [
{ "id": 1011, "questionOption": "Cricket", "questionOptionOrder": 0 },
{ "id": 1012, "questionOption": "Programming", "questionOptionOrder": 1 }
],
"isFilterable": false,
"privacyLevel": 1,
"conditionalLogicType": 0,
"formQuestionConditionalLogicList": []
}
]
}
Update a survey form
This endpoint allows you to replace an existing survey form definition. It is a full replace of the form, not a patch, and responds with 200 OK returning the saved FormDetailDto. The body is the same FormDto as the create endpoint.
Path parameters
- Name
id- Type
- integer
- Description
The ID of the survey form to update.
Request body attributes
- Name
name- Type
- string
- Description
The form title.
- Name
description- Type
- string
- Description
A description of the form. HTML allowed.
- Name
communityId- Type
- integer
- Description
The owning community ID. Required.
- Name
type- Type
- integer
- Description
The
FormTypeenum value. Required.
- Name
questions- Type
- array
- Description
The full set of questions (
FormQuestionDto). Existing questions keep their IDs; new ones useid: 0.
- Name
sections- Type
- array
- Description
The form sections.
- Name
includeInLandingPage- Type
- boolean
- Description
Whether to show this form on the community landing page.
- Name
isDefaultCommunityProjectForm- Type
- boolean
- Description
Whether this is the default community project form.
Possible errors
- Name
400 Bad Request- Description
The request body failed validation.
- Name
401 Unauthorized- Description
The request is missing valid authentication.
- Name
403 Forbidden- Description
You are not authorized to update this form.
- Name
404 Not Found- Description
No survey form with that ID exists.
Request
curl -X PUT https://api.babele.co/api/SurveyForm/1258 \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4" \
-H "Content-Type: application/json" \
-d '{"name":"Impact Baseline Survey (rev 2)","description":"<p>Annual impact baseline</p>","communityId":999,"type":0,"includeInLandingPage":false,"isDefaultCommunityProjectForm":false,"sections":[],"questions":[{"id":781,"title":"Tell me your hobbies","question":"Tell me your hobbies","questionOrder":0,"mandatoryAnswer":true,"editableAnswer":false,"answerType":7,"allowMultipleAnswer":false,"questionLinks":[],"questionOptions":[{"id":1011,"questionOption":"Cricket","questionOptionOrder":0}],"isFilterable":false,"privacyLevel":1,"privacyCirclesIds":[],"conditionalLogicType":0,"formQuestionConditionalLogicList":[],"hasWeightedAverage":false,"convertToKpi":false,"changePermissionPrivacyLevel":0,"questionType":0,"includeInProjectProfile":false,"hasLimit":false,"limitType":null,"limitValue":null,"sectionId":null}]}'
Response
{
"id": 1258,
"name": "Impact Baseline Survey (rev 2)",
"description": "<p>Annual impact baseline</p>",
"communityId": 999,
"creationDate": "2023-05-23T14:19:16.203812Z",
"lastEditionDate": "2024-12-16T23:56:29.628361Z",
"userCreatorId": 398964,
"associatedSurveysCount": 3,
"questions": [
{
"id": 781,
"title": "Tell me your hobbies",
"question": "Tell me your hobbies",
"questionOrder": 0,
"mandatoryAnswer": true,
"editableAnswer": false,
"answerType": 7,
"allowMultipleAnswer": false,
"questionLinks": [],
"questionOptions": [
{ "id": 1011, "questionOption": "Cricket", "questionOptionOrder": 0 }
],
"isFilterable": false,
"privacyLevel": 1,
"conditionalLogicType": 0,
"formQuestionConditionalLogicList": []
}
]
}
Delete a survey form
This endpoint allows you to permanently remove a survey-form definition.
Deleting a form that has associated survey instances
(associatedSurveysCount > 0) may be blocked or cascade — confirm the
form is unused before deleting.
Path parameters
- Name
id- Type
- integer
- Description
The ID of the survey form to delete.
Possible errors
- Name
401 Unauthorized- Description
The request is missing valid authentication.
- Name
403 Forbidden- Description
You are not authorized to delete this form.
- Name
404 Not Found- Description
No survey form with that ID exists.
Request
curl -X DELETE https://api.babele.co/api/SurveyForm/1258 \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4"
Response
204 No Content
Delete a survey form question
This endpoint allows you to delete a single question from a survey form by its question ID. The literal RemoveQuestionById segment is part of the URL.
Path parameters
- Name
questionId- Type
- integer
- Description
The ID of the form question to delete.
Possible errors
- Name
401 Unauthorized- Description
The request is missing valid authentication.
- Name
403 Forbidden- Description
You are not authorized to modify this form.
- Name
404 Not Found- Description
No form question with that ID exists.
Request
curl -X DELETE https://api.babele.co/api/SurveyForm/RemoveQuestionById/781 \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4"
Response
204 No Content
