Applications
Applications are used in the Babele platform to evaluate users and projects wanting to join the communities.
Every endpoint on this page except the applicant preview requires an authenticated request (a Bearer JWT or an API key); an unauthenticated call is rejected with 401 Unauthorized. The caller's role is then used to scope what comes back: List a community's application definitions returns every definition to a community administrator and only the ones the caller evaluates or may view responses for to anyone else, and the application listing endpoints narrow the rows and the evaluation data they embed the same way. Get an application response, Get round responses for a group and Delete an application return a 500 carrying the exception type name when the caller is not permitted to perform the action.
Several DTOs are reused across endpoints. The roundType enum (ApplicationDefinitionRoundType) is 0 Form, 1 InterviewAndForm, 2 InterviewOnly, 3 EvaluationOnly. The status enum (ApplicationStatus) is 0 Apply, 1 Draft, 2 Pending, 3 Accepted, 4 Denied.
Get an application definition
Fetch a single application definition's full configuration — the admin/management view, with privacy-restricted data intact.
Path parameters
- Name
id- Type
- integer
- Description
The application definition ID.
Response attributes
- Name
id- Type
- integer
- Description
The application definition ID.
- Name
communityId- Type
- integer
- Description
The community that owns this application definition. It is read from the stored definition — this endpoint takes no community-scope input, so there is nothing to supply or omit on the request.
- Name
communityMainImage- Type
- string | null
- Description
Relative path to the owning community's cover image.
- Name
communityLogoImage- Type
- string | null
- Description
Relative path to the owning community's logo.
- Name
name- Type
- string | null
- Description
The application name shown to applicants.
- Name
description- Type
- string | null
- Description
The application description shown to applicants.
- Name
startDate- Type
- string | null
- Description
Date-time the application opens (ISO-8601, UTC).
- Name
endDate- Type
- string | null
- Description
Date-time the application closes (ISO-8601, UTC).
- Name
timezone- Type
- string | null
- Description
The IANA timezone the start and end dates are displayed in.
- Name
acceptedEmail- Type
- string | null
- Description
HTML body of the email sent when an application is accepted.
- Name
rejectedEmail- Type
- string | null
- Description
HTML body of the email sent when an application is rejected.
- Name
startedEmail- Type
- string | null
- Description
HTML body of the email sent when an applicant starts an application.
- Name
submittedEmail- Type
- string | null
- Description
HTML body of the email sent when an applicant submits an application.
- Name
notifyApplicants- Type
- boolean
- Description
Whether accept/reject emails are sent to applicants. Defaults to
true.
- Name
createProject- Type
- boolean
- Description
Whether accepting an application creates a project.
- Name
formId- Type
- integer | null
- Description
The application form ID, or
nullwhen the definition has no application form.
- Name
form- Type
- object | null
- Description
The application form definition, populated when
formIdis set. Described under theformobject below.
- Name
creatorUserId- Type
- integer
- Description
The user who created the definition.
- Name
creationDate- Type
- string | null
- Description
When the definition was created (ISO-8601, UTC).
- Name
lastEditionDate- Type
- string | null
- Description
When the definition was last edited (ISO-8601, UTC).
- Name
acceptedMethodologyId- Type
- integer | null
- Description
The methodology (program) assigned to the project on acceptance.
- Name
acceptedCircleId- Type
- integer | null
- Description
The community circle the applicant is added to on acceptance.
- Name
applicationDefinitionCriterias- Type
- array | null
- Description
The evaluation criteria evaluators score against. Described under the
applicationDefinitionCriteriasarray items below.
- Name
applicationDefinitionEvaluators- Type
- array | null
- Description
The users assigned to evaluate this definition's applications. Described under the
applicationDefinitionEvaluatorsarray items below.
- Name
evalutatorCircleIds- Type
- array | null
- Description
Community-circle IDs whose members act as evaluators, as an array of integers. Always
nullon this endpoint — the community list endpoint is the only one that populates it.
- Name
applicationDefinitionResponseViewers- Type
- array | null
- Description
The users granted read-only access to the submitted responses. Described under the
applicationDefinitionResponseViewersarray items below.
- Name
allowAccessToResponses- Type
- boolean
- Description
Whether the listed response viewers may see the submitted responses.
- Name
currentUserIsResponseViewerOnly- Type
- boolean
- Description
truewhen the calling user reaches this definition only as a response viewer — responses and export, but no ratings, comments or applicant contact.falsefor community administrators and for evaluators.
- Name
projectForm- Type
- object | null
- Description
The project form filled in as part of the application, populated when
createProjectistrue. The custom form whenprojectFormIdis set, otherwise the community's default project form. Described under theprojectFormobject below.
- Name
projectFormId- Type
- integer | null
- Description
The custom project form ID, or
nullwhen the community's default project form is used.
- Name
isEvaluatorSetByCircle- Type
- boolean
- Description
truewhen the evaluator list was derived from circles rather than named users.
- Name
language- Type
- string | null
- Description
The definition's language tag, e.g.
"en-EN".
- Name
trackUserAccess- Type
- string | null
- Description
Tracking snippet fired when an applicant opens the application.
- Name
trackApplicationSave- Type
- string | null
- Description
Tracking snippet fired when an applicant saves a draft.
- Name
trackApplicationSubmission- Type
- string | null
- Description
Tracking snippet fired when an applicant submits.
- Name
applicationDefinitionGroupId- Type
- integer | null
- Description
The group that links the rounds of a multi-round application;
nullfor standalone definitions.
- Name
round- Type
- integer | null
- Description
The round number within the group;
nullfor standalone definitions.
- Name
roundType- Type
- integer
- Description
0Form,1InterviewAndForm,2InterviewOnly,3EvaluationOnly.
- Name
evaluationFormId- Type
- integer | null
- Description
The evaluation form ID used to score applications.
- Name
evaluationForm- Type
- object | null
- Description
The evaluation form definition, populated when the definition has one. Described under the
evaluationFormobject below.
- Name
questionOrders- Type
- array | null
- Description
The interleaved display order of application-form and project-form questions. Described under the
questionOrdersarray items below.
- Name
allowEvaluatorsToViewOtherRoundsEvaluations- Type
- boolean
- Description
Whether evaluators can read evaluations recorded in other rounds of the group.
- Name
usesDefaultProjectForm- Type
- boolean
- Description
truewhen the definition falls back to the community's default project form.
- Name
evaluatorAccessMode- Type
- integer
- Description
0AllAccess — every evaluator sees every application;1ManualAssignment — evaluators are assigned per application.
- Name
allowEvaluatorsToMessageApplicants- Type
- boolean
- Description
Whether evaluators may message applicants.
- Name
allowEvaluatorsToScheduleMeeting- Type
- boolean
- Description
Whether evaluators may schedule meetings with applicants. Forced to
truefor interview rounds (roundType1or2).
applicationDefinitionCriterias array items
- Name
evaluationCriteria- Type
- string | null
- Description
The name of one scoring criterion evaluators rate the application against.
applicationDefinitionEvaluators array items
- Name
userId- Type
- integer
- Description
The evaluator's user ID.
- Name
user- Type
- object | null
- Description
The evaluator's display name and photo.
nullwhen the user record was not loaded. Described under theapplicationDefinitionEvaluators[].userobject below.
applicationDefinitionEvaluators[].user object
- Name
name- Type
- string | null
- Description
The evaluator's full name — first and last name joined by a space, trimmed.
- Name
photoUrl- Type
- string | null
- Description
Relative path to the evaluator's profile photo. Falls back to the first non-empty photo on the user's linked social accounts, and is
nullwhen they have no picture at all.
applicationDefinitionResponseViewers array items
- Name
userId- Type
- integer
- Description
The response viewer's user ID.
- Name
user- Type
- object | null
- Description
The viewer's display name and photo. Described under the
applicationDefinitionResponseViewers[].userobject below.
applicationDefinitionResponseViewers[].user object
- Name
name- Type
- string | null
- Description
The viewer's full name.
- Name
photoUrl- Type
- string | null
- Description
Relative path to the viewer's profile photo.
questionOrders array items
- Name
questionType- Type
- integer
- Description
Which form the question belongs to:
1ProjectForm,2ApplicationForm. There is no0.
- Name
projectFormQuestionId- Type
- integer | null
- Description
The project-form question ID. Set only when
questionTypeis1.
- Name
applicationFormQuestionId- Type
- integer | null
- Description
The application-form question ID. Set only when
questionTypeis2.
- Name
order- Type
- integer
- Description
The question's position in the merged applicant-facing question list.
form object
form, projectForm and evaluationForm are all the same FormDetailDto shape.
- Name
id- Type
- integer
- Description
The form ID.
- Name
name- Type
- string | null
- Description
The form name.
- Name
description- Type
- string | null
- Description
The form description.
- Name
communityId- Type
- integer
- Description
The community the form belongs to.
- Name
type- Type
- integer
- Description
Reserved:
0Undefined,1ApplicationDefinition,2Tab,3Evaluation. The API never populates it, so it is always0.
- Name
creationDate- Type
- string | null
- Description
When the form was created (ISO-8601, UTC).
- Name
lastEditionDate- Type
- string | null
- Description
When the form was last edited (ISO-8601, UTC).
- Name
userCreatorId- Type
- integer
- Description
The user who created the form.
0when the underlying value is unset — it is nevernull.
- Name
questions- Type
- array
- Description
The form's questions, in
questionOrder. Nevernull. Described under theform.questionsarray items below.
- Name
sections- Type
- array
- Description
The form's sections, ordered by
order. Nevernull. Described under theform.sectionsarray items below.
- Name
includeInLandingPage- Type
- boolean
- Description
Whether the form is shown on the community landing page.
- Name
isDefaultCommunityProjectForm- Type
- boolean
- Description
truefor the community's built-in default project form.
form.questions array items
Same element shape for projectForm.questions and evaluationForm.questions.
- Name
id- Type
- integer
- Description
The question ID.
- Name
title- Type
- string | null
- Description
The short question title used in tables and exports.
- Name
description- Type
- string | null
- Description
Helper text shown under the question.
- Name
question- Type
- string | null
- Description
The question text shown to the applicant.
- Name
questionOrder- Type
- integer
- Description
The question's position within its form.
- Name
mandatoryAnswer- Type
- boolean
- Description
Whether an answer is required to submit.
- Name
editableAnswer- Type
- boolean
- Description
Whether the answer can be changed after submission.
- Name
answerType- Type
- integer
- Description
The answer widget:
0RadioChoice,1CheckBoxChoice,2DropDownChoice,3MultipleChoice,4AccountMoney,5Calendar,7ShortText,8LongText,9File,10Scale,11Country,12Table,13Numeric. Negative values map the answer onto a project field:-1ProjectLogo,-2ProjectCover,-4ProjectLinkedInUrl,-5ProjectFacebookUrl,-6ProjectWebsiteUrl,-7ProjectSDGs,-8ProjectDevelopmentStage,-9ProjectCategory (industry),-10ProjectCountry,-11ProjectCity,-12ProjectDescription,-13ProjectName.6and-3are unassigned.
- Name
isProjectField- Type
- boolean
- Description
Computed.
truewhenanswerTypeis negative, i.e. the answer is stored on the application's project fields rather than in the answers table.
- Name
allowMultipleAnswer- Type
- boolean
- Description
Whether the applicant may give more than one answer.
- Name
questionLinks- Type
- array | null
- Description
Reference links attached to the question. Described under the
form.questions[].questionLinksarray items below.
- Name
questionOptions- Type
- array | null
- Description
The selectable options for choice-type questions. Described under the
form.questions[].questionOptionsarray items below.
- Name
isFilterable- Type
- boolean | null
- Description
Whether answers to this question can be used as a response-table filter.
- Name
privacyLevel- Type
- integer
- Description
0Undefined,1Public,2Community,3Team,4Custom,5TeamAndMentors,6SetByTeam.
- Name
privacyCirclesIds- Type
- array | null
- Description
Community-circle IDs the answer is restricted to when
privacyLevelis4Custom. An array of integers.
- Name
conditionalLogicType- Type
- integer
- Description
0None,1AnyConditional,2AllConditinals.
- Name
formQuestionConditionalLogicList- Type
- array | null
- Description
The conditions that reveal this question. Described under the
form.questions[].formQuestionConditionalLogicListarray items below.
- Name
fromApplication- Type
- boolean
- Description
Reserved; defaults to
false.
- Name
hasWeightedAverage- Type
- boolean
- Description
Computed.
truewhenweightedAverageis set.
- Name
weightedAverage- Type
- number | null
- Description
The question's weight when computing an evaluation's average score. Only evaluation-form questions carry one; always
nullonformandprojectForm.
- Name
convertToKpi- Type
- boolean
- Description
Reserved; defaults to
false.
- Name
changePermissionPrivacyLevel- Type
- integer
- Description
Reserved; same enum as
privacyLevel. Currently always0.
- Name
questionType- Type
- integer
- Description
0ProjectTemplate,1AfterProjectApproval. Meaningful only on project-form questions; always0elsewhere.
- Name
includeInProjectProfile- Type
- boolean
- Description
Whether the answer is shown on the resulting project profile. Project-form questions only.
- Name
hasLimit- Type
- boolean
- Description
Whether the answer length is capped.
- Name
limitType- Type
- integer | null
- Description
1Characters,2Words.nullwhenhasLimitisfalse.
- Name
limitValue- Type
- integer | null
- Description
The cap, in the unit given by
limitType.
- Name
defaultProjectFormQuestionId- Type
- integer | null
- Description
The default community project-form question this one is linked to. Project-form questions only.
- Name
sectionId- Type
- integer | null
- Description
The section this question belongs to, or
nullfor unsectioned questions.
form.questions[].questionOptions array items
- Name
id- Type
- integer
- Description
The option ID.
- Name
questionOption- Type
- string | null
- Description
The option label shown to the applicant.
- Name
questionOptionOrder- Type
- integer
- Description
The option's position in the list.
For answerType 11 Country the stored options are replaced with the full country list — id is the country ID and questionOption the country name — sorted by label.
form.questions[].questionLinks array items
- Name
questionLink- Type
- string | null
- Description
A reference URL attached to the question.
form.questions[].formQuestionConditionalLogicList array items
- Name
id- Type
- integer
- Description
The condition ID.
- Name
conditionFormQuestionId- Type
- integer
- Description
The question whose answer is tested.
- Name
formQuestionOptionId- Type
- integer | null
- Description
The option the answer is compared against, for choice-type source questions.
- Name
customValue- Type
- string | null
- Description
The literal value the answer is compared against, for free-text source questions.
- Name
conditionLogic- Type
- integer
- Description
1Equal,2NotEqual,3GreaterThen,4LessThen,5Contains,6DoesNotContain,7IsEmpty,8NotEmpty.
form.sections array items
- Name
id- Type
- integer
- Description
The section ID.
- Name
title- Type
- string | null
- Description
The section heading.
- Name
description- Type
- string | null
- Description
The section description.
- Name
order- Type
- integer
- Description
The section's position in the form.
projectForm object
Same shape as the form object above, including questions and sections. Its questions are the ones that carry project-field answerType values (negative) and project-only members such as includeInProjectProfile and defaultProjectFormQuestionId.
evaluationForm object
Same shape as the form object above. On this endpoint its sections array is always empty, and its questions' questionLinks, privacyCirclesIds and formQuestionConditionalLogicList are always empty, because only the questions and their options are loaded. Evaluation-form questions are the only ones that carry a weightedAverage.
Possible errors
- Name
401 Unauthorized- Description
Missing or invalid token.
- Name
500 Internal Server Error- Description
No application definition with that ID. The response body is
{ "error": "ApplicationDefinitionNotFoundException" }.
Request
curl -X GET https://api.babele.co/api/ApplicationDefinition/1 \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJleGFtcGxlIiwiZXhwIjoxNzQzODY1MjA3fQ.DEMO_SIGNATURE_NOT_A_REAL_TOKEN"
Response
{
"id": 1,
"communityId": 999,
"communityMainImage": "/Images/Uploads/community_image/croppedimage_202406180838101670.jpg",
"communityLogoImage": "/Images/Uploads/community_image/croppedimage_202406190800047188_256x256.jpg",
"name": "Test Application",
"description": "Test Description",
"startDate": "2023-03-02T20:22:54.206Z",
"endDate": "2050-03-02T20:22:54.206Z",
"timezone": "Europe/Bucharest",
"acceptedEmail": "<p>Congrats, you've been accepted!</p>",
"rejectedEmail": "<p>You've been rejected, sorry!</p>",
"startedEmail": "<p>You've started an application.</p>",
"submittedEmail": "<p>We've received your application.</p>",
"notifyApplicants": true,
"createProject": true,
"formId": 1258,
"form": {
"id": 1258,
"name": "Test Application Form",
"description": "Questions asked of every applicant.",
"communityId": 999,
"type": 0,
"creationDate": "2023-03-02T20:22:54.206Z",
"lastEditionDate": "2026-06-20T14:05:00Z",
"userCreatorId": 15,
"questions": [
{
"id": 4471,
"title": "Impact summary",
"description": "Keep it under 200 words.",
"question": "What impact does your venture have?",
"questionOrder": 0,
"mandatoryAnswer": true,
"editableAnswer": true,
"answerType": 8,
"isProjectField": false,
"allowMultipleAnswer": false,
"questionLinks": [
{ "questionLink": "https://example.org/impact-guide" }
],
"questionOptions": [],
"isFilterable": true,
"privacyLevel": 2,
"privacyCirclesIds": [],
"conditionalLogicType": 0,
"formQuestionConditionalLogicList": [],
"fromApplication": false,
"hasWeightedAverage": false,
"weightedAverage": null,
"convertToKpi": false,
"changePermissionPrivacyLevel": 0,
"questionType": 0,
"includeInProjectProfile": false,
"hasLimit": true,
"limitType": 2,
"limitValue": 200,
"defaultProjectFormQuestionId": null,
"sectionId": 620
},
{
"id": 4472,
"title": "Stage",
"description": null,
"question": "What stage is your venture at?",
"questionOrder": 1,
"mandatoryAnswer": true,
"editableAnswer": true,
"answerType": 2,
"isProjectField": false,
"allowMultipleAnswer": false,
"questionLinks": [],
"questionOptions": [
{ "id": 9001, "questionOption": "Idea", "questionOptionOrder": 0 },
{ "id": 9002, "questionOption": "Prototype", "questionOptionOrder": 1 }
],
"isFilterable": true,
"privacyLevel": 2,
"privacyCirclesIds": [],
"conditionalLogicType": 1,
"formQuestionConditionalLogicList": [
{
"id": 77,
"conditionFormQuestionId": 4471,
"formQuestionOptionId": null,
"customValue": "impact",
"conditionLogic": 5
}
],
"fromApplication": false,
"hasWeightedAverage": false,
"weightedAverage": null,
"convertToKpi": false,
"changePermissionPrivacyLevel": 0,
"questionType": 0,
"includeInProjectProfile": false,
"hasLimit": false,
"limitType": null,
"limitValue": null,
"defaultProjectFormQuestionId": null,
"sectionId": 620
}
],
"sections": [
{ "id": 620, "title": "About your venture", "description": "Tell us the basics.", "order": 0 }
],
"includeInLandingPage": false,
"isDefaultCommunityProjectForm": false
},
"creatorUserId": 15,
"creationDate": "2023-03-02T20:22:54.206Z",
"lastEditionDate": "2023-03-05T20:22:54.206Z",
"acceptedMethodologyId": 86,
"acceptedCircleId": 513,
"applicationDefinitionCriterias": [
{ "evaluationCriteria": "Sustainability" }
],
"applicationDefinitionEvaluators": [
{
"userId": 398953,
"user": {
"name": "Admin D3",
"photoUrl": "/Images/Uploads/profile_picture/einstein_202303021441348155_256x256.jpg"
}
}
],
"evalutatorCircleIds": null,
"applicationDefinitionResponseViewers": [
{
"userId": 398962,
"user": {
"name": "John Doe",
"photoUrl": "/Images/Uploads/profile_picture/croppedimage_431411901156251_256x256.jpg"
}
}
],
"allowAccessToResponses": true,
"currentUserIsResponseViewerOnly": false,
"projectForm": {
"id": 1430,
"name": "Clean Water Initiative project form",
"description": "Project profile fields collected during the application.",
"communityId": 999,
"type": 0,
"creationDate": "2023-03-02T20:22:54.206Z",
"lastEditionDate": "2026-06-20T14:05:00Z",
"userCreatorId": 15,
"questions": [
{
"id": 8801,
"title": "Project name",
"description": null,
"question": "What is your project called?",
"questionOrder": 0,
"mandatoryAnswer": true,
"editableAnswer": true,
"answerType": -13,
"isProjectField": true,
"allowMultipleAnswer": false,
"questionLinks": [],
"questionOptions": [],
"isFilterable": false,
"privacyLevel": 1,
"privacyCirclesIds": [],
"conditionalLogicType": 0,
"formQuestionConditionalLogicList": [],
"fromApplication": false,
"hasWeightedAverage": false,
"weightedAverage": null,
"convertToKpi": false,
"changePermissionPrivacyLevel": 0,
"questionType": 0,
"includeInProjectProfile": true,
"hasLimit": false,
"limitType": null,
"limitValue": null,
"defaultProjectFormQuestionId": 8500,
"sectionId": null
}
],
"sections": [],
"includeInLandingPage": false,
"isDefaultCommunityProjectForm": false
},
"projectFormId": 1430,
"isEvaluatorSetByCircle": false,
"language": "en-EN",
"trackUserAccess": "",
"trackApplicationSave": "",
"trackApplicationSubmission": "",
"applicationDefinitionGroupId": null,
"round": null,
"roundType": 0,
"evaluationFormId": 1502,
"evaluationForm": {
"id": 1502,
"name": "Evaluation form",
"description": "Scored by assigned evaluators.",
"communityId": 999,
"type": 0,
"creationDate": "2023-03-02T20:22:54.206Z",
"lastEditionDate": "2026-06-20T14:05:00Z",
"userCreatorId": 15,
"questions": [
{
"id": 6110,
"title": "Sustainability",
"description": null,
"question": "How sustainable is the venture?",
"questionOrder": 0,
"mandatoryAnswer": true,
"editableAnswer": true,
"answerType": 10,
"isProjectField": false,
"allowMultipleAnswer": false,
"questionLinks": [],
"questionOptions": [],
"isFilterable": false,
"privacyLevel": 0,
"privacyCirclesIds": [],
"conditionalLogicType": 0,
"formQuestionConditionalLogicList": [],
"fromApplication": false,
"hasWeightedAverage": true,
"weightedAverage": 0.4,
"convertToKpi": false,
"changePermissionPrivacyLevel": 0,
"questionType": 0,
"includeInProjectProfile": false,
"hasLimit": false,
"limitType": null,
"limitValue": null,
"defaultProjectFormQuestionId": null,
"sectionId": null
}
],
"sections": [],
"includeInLandingPage": false,
"isDefaultCommunityProjectForm": false
},
"questionOrders": [
{ "questionType": 1, "projectFormQuestionId": 8801, "applicationFormQuestionId": null, "order": 0 },
{ "questionType": 2, "projectFormQuestionId": null, "applicationFormQuestionId": 4471, "order": 1 }
],
"allowEvaluatorsToViewOtherRoundsEvaluations": false,
"usesDefaultProjectForm": false,
"evaluatorAccessMode": 0,
"allowEvaluatorsToMessageApplicants": false,
"allowEvaluatorsToScheduleMeeting": false
}
List a community's application definitions
List every application definition belonging to a community.
The response wrapper is ApplicationDefinitionDetailDtoResultListDto: count, list (an array of definitions), and a nullable filters array. A sibling endpoint, GET /api/Community/{id}/ApplicationDefinitionsRounds, returns the same wrapper grouped by round.
The list is filtered by the caller's role. Administrators of the
community receive every definition in the community. Everyone else
receives only the definitions they are attached to: rounds
where they are a round-level evaluator (evaluatorAccessMode 0
AllAccess), applications they have been individually assigned to
(evaluatorAccessMode 1 ManualAssignment), and definitions where they
are a listed response viewer and allowAccessToResponses is true.
count reflects that filtered subset, not the community total.
Path parameters
- Name
id- Type
- integer
- Description
The community ID. This is the endpoint's community scope: it is a route segment, so it cannot be omitted, and every definition returned belongs to it. An ID that matches no community fails with a
500.
Response attributes
- Name
count- Type
- integer
- Description
The number of definitions in
list. Reflects the caller-visible subset described above, not the community total.
- Name
list- Type
- array
- Description
The application definitions. Never
null. Described under thelistarray items below.
- Name
filters- Type
- array | null
- Description
Per-question answer filters. This endpoint never populates it — it is always
null; the field exists because the list wrapper is shared with the response-listing endpoints. Described under thefiltersarray items below.
filters array items
- Name
question- Type
- string | null
- Description
The question text the filter applies to.
- Name
answers- Type
- array | null
- Description
The distinct answers given to that question, as an array of strings.
list array items
Each element is the same application definition shape documented under Get an application definition above, with the same 46 attributes. This list returns less data than the single-definition endpoint, so the following members differ:
- Name
form- Type
- object | null
- Description
Always
nullhere. The list does not return the forms — fetch a single definition to get the form.
- Name
projectForm- Type
- object | null
- Description
Always
nullhere, for the same reason.
- Name
evaluationForm- Type
- object | null
- Description
Always
nullhere, for the same reason.
- Name
questionOrders- Type
- array | null
- Description
Always
nullhere — the list does not return the question orders.
- Name
communityMainImage- Type
- string | null
- Description
Always
nullhere — the list does not return the community images.
- Name
communityLogoImage- Type
- string | null
- Description
Always
nullhere, for the same reason.
- Name
evalutatorCircleIds- Type
- array | null
- Description
This is the one endpoint that populates it: an array of community-circle IDs, and only when
isEvaluatorSetByCircleistrue.nullotherwise.
- Name
currentUserIsResponseViewerOnly- Type
- boolean
- Description
Always
falsehere — it is only computed when a single definition is fetched.
Request
curl -X GET https://api.babele.co/api/Community/999/ApplicationDefinitions \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJleGFtcGxlIiwiZXhwIjoxNzQzODY1MjA3fQ.DEMO_SIGNATURE_NOT_A_REAL_TOKEN"
Response
{
"count": 5,
"filters": null,
"list": [
{
"id": 1,
"communityId": 999,
"communityMainImage": null,
"communityLogoImage": null,
"name": "Test Application",
"description": "Test Description",
"startDate": "2023-03-02T20:22:54.206Z",
"endDate": "2050-03-02T20:22:54.206Z",
"timezone": "Europe/Bucharest",
"acceptedEmail": "<p>Congrats, you've been accepted!</p>",
"rejectedEmail": "<p>You've been rejected, sorry!</p>",
"startedEmail": "<p>You've started an application.</p>",
"submittedEmail": "<p>We've received your application.</p>",
"notifyApplicants": true,
"createProject": true,
"formId": 1427,
"form": null,
"creatorUserId": 15,
"creationDate": "2023-03-02T20:22:54.206Z",
"lastEditionDate": "2023-03-05T20:22:54.206Z",
"acceptedMethodologyId": 86,
"acceptedCircleId": 513,
"applicationDefinitionCriterias": [
{ "evaluationCriteria": "Sustainability" }
],
"applicationDefinitionEvaluators": [
{
"userId": 398953,
"user": {
"name": "Admin D3",
"photoUrl": "/Images/Uploads/profile_picture/einstein_202303021441348155_256x256.jpg"
}
}
],
"evalutatorCircleIds": [513, 514],
"applicationDefinitionResponseViewers": [
{
"userId": 398962,
"user": {
"name": "John Doe",
"photoUrl": "/Images/Uploads/profile_picture/croppedimage_431411901156251_256x256.jpg"
}
}
],
"allowAccessToResponses": true,
"currentUserIsResponseViewerOnly": false,
"projectForm": null,
"projectFormId": 1430,
"isEvaluatorSetByCircle": true,
"language": "en-EN",
"trackUserAccess": "",
"trackApplicationSave": "",
"trackApplicationSubmission": "",
"applicationDefinitionGroupId": null,
"round": null,
"roundType": 0,
"evaluationFormId": 1502,
"evaluationForm": null,
"questionOrders": null,
"allowEvaluatorsToViewOtherRoundsEvaluations": false,
"usesDefaultProjectForm": false,
"evaluatorAccessMode": 0,
"allowEvaluatorsToMessageApplicants": false,
"allowEvaluatorsToScheduleMeeting": false
},
{
"id": 2,
"communityId": 999,
"communityMainImage": null,
"communityLogoImage": null,
"name": "Grouped Application - Round 1",
"description": "Test Description for Round 1",
"startDate": "2023-03-02T20:22:54.206Z",
"endDate": "2050-03-02T20:22:54.206Z",
"timezone": "Europe/Bucharest",
"acceptedEmail": null,
"rejectedEmail": null,
"startedEmail": null,
"submittedEmail": null,
"notifyApplicants": true,
"createProject": true,
"formId": 1428,
"form": null,
"creatorUserId": 15,
"creationDate": "2023-03-02T20:22:54.206Z",
"lastEditionDate": "2023-03-05T20:22:54.206Z",
"acceptedMethodologyId": null,
"acceptedCircleId": null,
"applicationDefinitionCriterias": [
{ "evaluationCriteria": "Team strength" }
],
"applicationDefinitionEvaluators": [
{
"userId": 398953,
"user": {
"name": "Admin D3",
"photoUrl": "/Images/Uploads/profile_picture/einstein_202303021441348155_256x256.jpg"
}
}
],
"evalutatorCircleIds": null,
"applicationDefinitionResponseViewers": [],
"allowAccessToResponses": false,
"currentUserIsResponseViewerOnly": false,
"projectForm": null,
"projectFormId": null,
"isEvaluatorSetByCircle": false,
"language": "en-EN",
"trackUserAccess": "",
"trackApplicationSave": "",
"trackApplicationSubmission": "",
"applicationDefinitionGroupId": 100,
"round": 1,
"roundType": 0,
"evaluationFormId": null,
"evaluationForm": null,
"questionOrders": null,
"allowEvaluatorsToViewOtherRoundsEvaluations": false,
"usesDefaultProjectForm": true,
"evaluatorAccessMode": 0,
"allowEvaluatorsToMessageApplicants": false,
"allowEvaluatorsToScheduleMeeting": false
}
]
}
Get an applicant preview
Fetch the applicant-facing view of the application definition. It returns the same ApplicationDefinitionDetailDto as Get an application definition, and it is identical to the admin view except that the four notification-email bodies — acceptedEmail, rejectedEmail, startedEmail and submittedEmail — are null.
This endpoint does not require authentication — it is the applicant-facing preview, so it can be fetched without a token. Apart from the four notification-email bodies, the response is the same as the admin view.
Path parameters
- Name
id- Type
- integer
- Description
The application definition ID.
Response attributes
Same shape as Get an application definition above — all 46 attributes, and the same nested form, projectForm, evaluationForm, applicationDefinitionCriterias, applicationDefinitionEvaluators, applicationDefinitionResponseViewers and questionOrders shapes. Only these members behave differently:
- Name
acceptedEmail- Type
- string | null
- Description
Always
nullon the preview.
- Name
rejectedEmail- Type
- string | null
- Description
Always
nullon the preview.
- Name
startedEmail- Type
- string | null
- Description
Always
nullon the preview.
- Name
submittedEmail- Type
- string | null
- Description
Always
nullon the preview.
- Name
evalutatorCircleIds- Type
- array | null
- Description
Always
nullon this endpoint.
- Name
currentUserIsResponseViewerOnly- Type
- boolean
- Description
Always
falsefor an anonymous caller.
Possible errors
- Name
500 Internal Server Error- Description
No application definition with that ID. The response body is
{ "error": "ApplicationDefinitionNotFoundException" }.
Request
curl -X GET https://api.babele.co/api/ApplicationDefinition/1/ApplicantPreview
Response
{
"id": 1,
"communityId": 999,
"communityMainImage": "/Images/Uploads/community_image/croppedimage_202406180838101670.jpg",
"communityLogoImage": "/Images/Uploads/community_image/croppedimage_202406190800047188_256x256.jpg",
"name": "Test Application",
"description": "Test Description",
"startDate": "2023-03-02T20:22:54.206Z",
"endDate": "2050-03-02T20:22:54.206Z",
"timezone": "Europe/Bucharest",
"acceptedEmail": null,
"rejectedEmail": null,
"startedEmail": null,
"submittedEmail": null,
"notifyApplicants": true,
"createProject": true,
"formId": 1258,
"form": {
"id": 1258,
"name": "Test Application Form",
"description": "Questions asked of every applicant.",
"communityId": 999,
"type": 0,
"creationDate": "2023-03-02T20:22:54.206Z",
"lastEditionDate": "2026-06-20T14:05:00Z",
"userCreatorId": 15,
"questions": [
{
"id": 4471,
"title": "Impact summary",
"description": "Keep it under 200 words.",
"question": "What impact does your venture have?",
"questionOrder": 0,
"mandatoryAnswer": true,
"editableAnswer": true,
"answerType": 8,
"isProjectField": false,
"allowMultipleAnswer": false,
"questionLinks": [
{ "questionLink": "https://example.org/impact-guide" }
],
"questionOptions": [],
"isFilterable": true,
"privacyLevel": 2,
"privacyCirclesIds": [],
"conditionalLogicType": 0,
"formQuestionConditionalLogicList": [],
"fromApplication": false,
"hasWeightedAverage": false,
"weightedAverage": null,
"convertToKpi": false,
"changePermissionPrivacyLevel": 0,
"questionType": 0,
"includeInProjectProfile": false,
"hasLimit": true,
"limitType": 2,
"limitValue": 200,
"defaultProjectFormQuestionId": null,
"sectionId": 620
}
],
"sections": [
{ "id": 620, "title": "About your venture", "description": "Tell us the basics.", "order": 0 }
],
"includeInLandingPage": false,
"isDefaultCommunityProjectForm": false
},
"creatorUserId": 15,
"creationDate": "2023-03-02T20:22:54.206Z",
"lastEditionDate": "2023-03-05T20:22:54.206Z",
"acceptedMethodologyId": 86,
"acceptedCircleId": 513,
"applicationDefinitionCriterias": [
{ "evaluationCriteria": "Sustainability" }
],
"applicationDefinitionEvaluators": [
{
"userId": 398953,
"user": {
"name": "Admin D3",
"photoUrl": "/Images/Uploads/profile_picture/einstein_202303021441348155_256x256.jpg"
}
}
],
"evalutatorCircleIds": null,
"applicationDefinitionResponseViewers": [
{
"userId": 398962,
"user": {
"name": "John Doe",
"photoUrl": "/Images/Uploads/profile_picture/croppedimage_431411901156251_256x256.jpg"
}
}
],
"allowAccessToResponses": true,
"currentUserIsResponseViewerOnly": false,
"projectForm": {
"id": 1430,
"name": "Clean Water Initiative project form",
"description": "Project profile fields collected during the application.",
"communityId": 999,
"type": 0,
"creationDate": "2023-03-02T20:22:54.206Z",
"lastEditionDate": "2026-06-20T14:05:00Z",
"userCreatorId": 15,
"questions": [
{
"id": 8801,
"title": "Project name",
"description": null,
"question": "What is your project called?",
"questionOrder": 0,
"mandatoryAnswer": true,
"editableAnswer": true,
"answerType": -13,
"isProjectField": true,
"allowMultipleAnswer": false,
"questionLinks": [],
"questionOptions": [],
"isFilterable": false,
"privacyLevel": 1,
"privacyCirclesIds": [],
"conditionalLogicType": 0,
"formQuestionConditionalLogicList": [],
"fromApplication": false,
"hasWeightedAverage": false,
"weightedAverage": null,
"convertToKpi": false,
"changePermissionPrivacyLevel": 0,
"questionType": 0,
"includeInProjectProfile": true,
"hasLimit": false,
"limitType": null,
"limitValue": null,
"defaultProjectFormQuestionId": 8500,
"sectionId": null
}
],
"sections": [],
"includeInLandingPage": false,
"isDefaultCommunityProjectForm": false
},
"projectFormId": 1430,
"isEvaluatorSetByCircle": false,
"language": "en-EN",
"trackUserAccess": "",
"trackApplicationSave": "",
"trackApplicationSubmission": "",
"applicationDefinitionGroupId": null,
"round": null,
"roundType": 0,
"evaluationFormId": 1502,
"evaluationForm": {
"id": 1502,
"name": "Evaluation form",
"description": "Scored by assigned evaluators.",
"communityId": 999,
"type": 0,
"creationDate": "2023-03-02T20:22:54.206Z",
"lastEditionDate": "2026-06-20T14:05:00Z",
"userCreatorId": 15,
"questions": [
{
"id": 6110,
"title": "Sustainability",
"description": null,
"question": "How sustainable is the venture?",
"questionOrder": 0,
"mandatoryAnswer": true,
"editableAnswer": true,
"answerType": 10,
"isProjectField": false,
"allowMultipleAnswer": false,
"questionLinks": [],
"questionOptions": [],
"isFilterable": false,
"privacyLevel": 0,
"privacyCirclesIds": [],
"conditionalLogicType": 0,
"formQuestionConditionalLogicList": [],
"fromApplication": false,
"hasWeightedAverage": true,
"weightedAverage": 0.4,
"convertToKpi": false,
"changePermissionPrivacyLevel": 0,
"questionType": 0,
"includeInProjectProfile": false,
"hasLimit": false,
"limitType": null,
"limitValue": null,
"defaultProjectFormQuestionId": null,
"sectionId": null
}
],
"sections": [],
"includeInLandingPage": false,
"isDefaultCommunityProjectForm": false
},
"questionOrders": [
{ "questionType": 1, "projectFormQuestionId": 8801, "applicationFormQuestionId": null, "order": 0 },
{ "questionType": 2, "projectFormQuestionId": null, "applicationFormQuestionId": 4471, "order": 1 }
],
"allowEvaluatorsToViewOtherRoundsEvaluations": false,
"usesDefaultProjectForm": false,
"evaluatorAccessMode": 0,
"allowEvaluatorsToMessageApplicants": false,
"allowEvaluatorsToScheduleMeeting": false
}
Get application definitions by group
Return every round definition that belongs to one application-definition group (multi-round applications). The response is an array, not a wrapper; each element is a round sharing the same applicationDefinitionGroupId and differing by round/roundType. A group ID that matches no definitions does not return an empty array — the request fails.
The {id} path segment is a placeholder; the group is taken from the applicationDefinitionGroupId query parameter. Pass the same group ID in both places.
Every round in a group belongs to the same community, so the communityId on each element is the same value; it is read from the stored definitions and there is no community-scope input on the request.
Path parameters
- Name
id- Type
- string
- Description
Placeholder — pass the application definition group ID.
Required query parameters
- Name
applicationDefinitionGroupId- Type
- integer
- Description
The application definition group ID (the authoritative binding source).
Response attributes
The response is a bare array. Each element is the same application definition shape documented under Get an application definition above, with the same 46 attributes and the same nested form, projectForm, evaluationForm, applicationDefinitionCriterias, applicationDefinitionEvaluators and applicationDefinitionResponseViewers shapes. Only these members behave differently:
- Name
questionOrders- Type
- array | null
- Description
Always
[]here — unlike the single-definition endpoint, this endpoint does not return the question orders. Fetch an individual round to get them.
- Name
evalutatorCircleIds- Type
- array | null
- Description
Always
nullon this endpoint.
Request
curl -X GET "https://api.babele.co/api/ApplicationDefinition/GroupById/100?applicationDefinitionGroupId=100" \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJleGFtcGxlIiwiZXhwIjoxNzQzODY1MjA3fQ.DEMO_SIGNATURE_NOT_A_REAL_TOKEN"
Response
[
{
"id": 2,
"communityId": 999,
"communityMainImage": "/Images/Uploads/community_image/croppedimage_202406180838101670.jpg",
"communityLogoImage": "/Images/Uploads/community_image/croppedimage_202406190800047188_256x256.jpg",
"name": "Grouped Application - Round 1",
"description": "Test Description for Round 1",
"startDate": "2023-03-02T20:22:54.206Z",
"endDate": "2050-03-02T20:22:54.206Z",
"timezone": "Europe/Bucharest",
"acceptedEmail": "<p>Congrats, you've been accepted!</p>",
"rejectedEmail": "<p>You've been rejected, sorry!</p>",
"startedEmail": null,
"submittedEmail": null,
"notifyApplicants": true,
"createProject": true,
"formId": 1428,
"form": {
"id": 1428,
"name": "Round 1 Application Form",
"description": "Questions asked in the first round.",
"communityId": 999,
"type": 0,
"creationDate": "2023-03-02T20:22:54.206Z",
"lastEditionDate": "2026-06-20T14:05:00Z",
"userCreatorId": 15,
"questions": [
{
"id": 4471,
"title": "Impact summary",
"description": "Keep it under 200 words.",
"question": "What impact does your venture have?",
"questionOrder": 0,
"mandatoryAnswer": true,
"editableAnswer": true,
"answerType": 8,
"isProjectField": false,
"allowMultipleAnswer": false,
"questionLinks": [
{ "questionLink": "https://example.org/impact-guide" }
],
"questionOptions": [],
"isFilterable": true,
"privacyLevel": 2,
"privacyCirclesIds": [],
"conditionalLogicType": 0,
"formQuestionConditionalLogicList": [],
"fromApplication": false,
"hasWeightedAverage": false,
"weightedAverage": null,
"convertToKpi": false,
"changePermissionPrivacyLevel": 0,
"questionType": 0,
"includeInProjectProfile": false,
"hasLimit": true,
"limitType": 2,
"limitValue": 200,
"defaultProjectFormQuestionId": null,
"sectionId": 620
}
],
"sections": [
{ "id": 620, "title": "About your venture", "description": "Tell us the basics.", "order": 0 }
],
"includeInLandingPage": false,
"isDefaultCommunityProjectForm": false
},
"creatorUserId": 15,
"creationDate": "2023-03-02T20:22:54.206Z",
"lastEditionDate": "2023-03-05T20:22:54.206Z",
"acceptedMethodologyId": null,
"acceptedCircleId": null,
"applicationDefinitionCriterias": [
{ "evaluationCriteria": "Sustainability" }
],
"applicationDefinitionEvaluators": [
{
"userId": 398953,
"user": {
"name": "Admin D3",
"photoUrl": "/Images/Uploads/profile_picture/einstein_202303021441348155_256x256.jpg"
}
}
],
"evalutatorCircleIds": null,
"applicationDefinitionResponseViewers": [],
"allowAccessToResponses": false,
"currentUserIsResponseViewerOnly": false,
"projectForm": {
"id": 1400,
"name": "Projects",
"description": "The community's default project form.",
"communityId": 999,
"type": 0,
"creationDate": "2023-03-02T20:22:54.206Z",
"lastEditionDate": "2026-06-20T14:05:00Z",
"userCreatorId": 15,
"questions": [
{
"id": 8500,
"title": "Project name",
"description": null,
"question": "What is your project called?",
"questionOrder": 0,
"mandatoryAnswer": true,
"editableAnswer": true,
"answerType": -13,
"isProjectField": true,
"allowMultipleAnswer": false,
"questionLinks": [],
"questionOptions": [],
"isFilterable": false,
"privacyLevel": 1,
"privacyCirclesIds": [],
"conditionalLogicType": 0,
"formQuestionConditionalLogicList": [],
"fromApplication": false,
"hasWeightedAverage": false,
"weightedAverage": null,
"convertToKpi": false,
"changePermissionPrivacyLevel": 0,
"questionType": 0,
"includeInProjectProfile": true,
"hasLimit": false,
"limitType": null,
"limitValue": null,
"defaultProjectFormQuestionId": null,
"sectionId": null
}
],
"sections": [],
"includeInLandingPage": false,
"isDefaultCommunityProjectForm": true
},
"projectFormId": null,
"isEvaluatorSetByCircle": false,
"language": "en-EN",
"trackUserAccess": "",
"trackApplicationSave": "",
"trackApplicationSubmission": "",
"applicationDefinitionGroupId": 100,
"round": 1,
"roundType": 0,
"evaluationFormId": null,
"evaluationForm": null,
"questionOrders": [],
"allowEvaluatorsToViewOtherRoundsEvaluations": false,
"usesDefaultProjectForm": true,
"evaluatorAccessMode": 0,
"allowEvaluatorsToMessageApplicants": false,
"allowEvaluatorsToScheduleMeeting": false
},
{
"id": 3,
"communityId": 999,
"communityMainImage": "/Images/Uploads/community_image/croppedimage_202406180838101670.jpg",
"communityLogoImage": "/Images/Uploads/community_image/croppedimage_202406190800047188_256x256.jpg",
"name": "Grouped Application - Round 2",
"description": "Test Description for Round 2",
"startDate": "2023-03-02T20:22:54.206Z",
"endDate": "2050-03-02T20:22:54.206Z",
"timezone": "Europe/Bucharest",
"acceptedEmail": "<p>Congrats, you've been accepted!</p>",
"rejectedEmail": "<p>You've been rejected, sorry!</p>",
"startedEmail": null,
"submittedEmail": null,
"notifyApplicants": true,
"createProject": true,
"formId": 1429,
"form": {
"id": 1429,
"name": "Round 2 Interview Form",
"description": "Questions asked in the interview round.",
"communityId": 999,
"type": 0,
"creationDate": "2023-03-02T20:22:54.206Z",
"lastEditionDate": "2026-06-20T14:05:00Z",
"userCreatorId": 15,
"questions": [
{
"id": 4480,
"title": "Availability",
"description": null,
"question": "When are you available for an interview?",
"questionOrder": 0,
"mandatoryAnswer": true,
"editableAnswer": true,
"answerType": 5,
"isProjectField": false,
"allowMultipleAnswer": false,
"questionLinks": [],
"questionOptions": [],
"isFilterable": false,
"privacyLevel": 2,
"privacyCirclesIds": [],
"conditionalLogicType": 0,
"formQuestionConditionalLogicList": [],
"fromApplication": false,
"hasWeightedAverage": false,
"weightedAverage": null,
"convertToKpi": false,
"changePermissionPrivacyLevel": 0,
"questionType": 0,
"includeInProjectProfile": false,
"hasLimit": false,
"limitType": null,
"limitValue": null,
"defaultProjectFormQuestionId": null,
"sectionId": null
}
],
"sections": [],
"includeInLandingPage": false,
"isDefaultCommunityProjectForm": false
},
"creatorUserId": 15,
"creationDate": "2023-03-02T20:22:54.206Z",
"lastEditionDate": "2023-03-05T20:22:54.206Z",
"acceptedMethodologyId": null,
"acceptedCircleId": null,
"applicationDefinitionCriterias": [
{ "evaluationCriteria": "Team strength" }
],
"applicationDefinitionEvaluators": [
{
"userId": 398953,
"user": {
"name": "Admin D3",
"photoUrl": "/Images/Uploads/profile_picture/einstein_202303021441348155_256x256.jpg"
}
}
],
"evalutatorCircleIds": null,
"applicationDefinitionResponseViewers": [],
"allowAccessToResponses": false,
"currentUserIsResponseViewerOnly": false,
"projectForm": {
"id": 1400,
"name": "Projects",
"description": "The community's default project form.",
"communityId": 999,
"type": 0,
"creationDate": "2023-03-02T20:22:54.206Z",
"lastEditionDate": "2026-06-20T14:05:00Z",
"userCreatorId": 15,
"questions": [
{
"id": 8500,
"title": "Project name",
"description": null,
"question": "What is your project called?",
"questionOrder": 0,
"mandatoryAnswer": true,
"editableAnswer": true,
"answerType": -13,
"isProjectField": true,
"allowMultipleAnswer": false,
"questionLinks": [],
"questionOptions": [],
"isFilterable": false,
"privacyLevel": 1,
"privacyCirclesIds": [],
"conditionalLogicType": 0,
"formQuestionConditionalLogicList": [],
"fromApplication": false,
"hasWeightedAverage": false,
"weightedAverage": null,
"convertToKpi": false,
"changePermissionPrivacyLevel": 0,
"questionType": 0,
"includeInProjectProfile": true,
"hasLimit": false,
"limitType": null,
"limitValue": null,
"defaultProjectFormQuestionId": null,
"sectionId": null
}
],
"sections": [],
"includeInLandingPage": false,
"isDefaultCommunityProjectForm": true
},
"projectFormId": null,
"isEvaluatorSetByCircle": false,
"language": "en-EN",
"trackUserAccess": "",
"trackApplicationSave": "",
"trackApplicationSubmission": "",
"applicationDefinitionGroupId": 100,
"round": 2,
"roundType": 1,
"evaluationFormId": 1502,
"evaluationForm": {
"id": 1502,
"name": "Evaluation form",
"description": "Scored by assigned evaluators.",
"communityId": 999,
"type": 0,
"creationDate": "2023-03-02T20:22:54.206Z",
"lastEditionDate": "2026-06-20T14:05:00Z",
"userCreatorId": 15,
"questions": [
{
"id": 6110,
"title": "Sustainability",
"description": null,
"question": "How sustainable is the venture?",
"questionOrder": 0,
"mandatoryAnswer": true,
"editableAnswer": true,
"answerType": 10,
"isProjectField": false,
"allowMultipleAnswer": false,
"questionLinks": [],
"questionOptions": [],
"isFilterable": false,
"privacyLevel": 0,
"privacyCirclesIds": [],
"conditionalLogicType": 0,
"formQuestionConditionalLogicList": [],
"fromApplication": false,
"hasWeightedAverage": true,
"weightedAverage": 0.4,
"convertToKpi": false,
"changePermissionPrivacyLevel": 0,
"questionType": 0,
"includeInProjectProfile": false,
"hasLimit": false,
"limitType": null,
"limitValue": null,
"defaultProjectFormQuestionId": null,
"sectionId": null
}
],
"sections": [],
"includeInLandingPage": false,
"isDefaultCommunityProjectForm": false
},
"questionOrders": [],
"allowEvaluatorsToViewOtherRoundsEvaluations": true,
"usesDefaultProjectForm": true,
"evaluatorAccessMode": 0,
"allowEvaluatorsToMessageApplicants": false,
"allowEvaluatorsToScheduleMeeting": true
}
]
Get application filters
Return the distinct filter values available when filtering this definition's applications (used to populate the responses table filter controls): tags, countries, stages, industries, SDGs, interests, evaluators and form-question filters.
Path parameters
- Name
id- Type
- integer
- Description
The application definition ID.
The {id} path segment is the application definition ID, not a community ID. The community is resolved server-side from the definition when the project-form question list is built, so there is no community-scope parameter to supply and communityId does not appear in the response.
Optional query parameters
- Name
skip- Type
- integer
- Description
The number of tag names to skip. Applied only to
applicationTags; no other filter list is paged. Defaults to0.
- Name
take- Type
- integer
- Description
The maximum number of tag names to return. Applied only to
applicationTags, and only whenskiportakeis greater than0— omitting both returns every tag. Defaults to0.
Response attributes
- Name
applicationTags- Type
- array | null
- Description
The distinct tag names applied to this definition's applications, as an array of strings, sorted alphabetically. This is the only list
skip/takepage.
- Name
applicationCountries- Type
- array | null
- Description
The distinct countries of the applications, or of their projects when the definition creates projects. Described under the
applicationCountriesarray items below.
- Name
applicationStages- Type
- array | null
- Description
The distinct project development-stage keys, as an array of strings. An empty string means the stage was never set.
- Name
applicationIndustries- Type
- array | null
- Description
The distinct industry categories of the applications. Described under the
applicationIndustriesarray items below.
- Name
applicationSDGs- Type
- array | null
- Description
The distinct UN Sustainable Development Goals selected on the applications. Described under the
applicationSDGsarray items below.
- Name
applicationUserInterests- Type
- array | null
- Description
The distinct interests declared by applicants. Only filled when the definition does not create projects; on a definition that creates projects it is an empty array. Described under the
applicationUserInterestsarray items below.
- Name
applicationFormQuestions- Type
- array | null
- Description
The filterable application-form questions that have at least one answer. Always a list, never
null— empty when the definition has no application form. Described under theapplicationFormQuestionsarray items below.
- Name
projectFormQuestions- Type
- array | null
- Description
The filterable project-form questions that have at least one answer. This is the only member that is genuinely
nullunless the definition creates projects. Same element shape asapplicationFormQuestions.
- Name
applicationEvaluators- Type
- array | null
- Description
The evaluators who have completed at least one evaluation — the source of the "evaluated by" filter. Always a list, never
null. Described under theapplicationEvaluatorsarray items below.
- Name
assignedEvaluators- Type
- array | null
- Description
Every evaluator assigned to the definition: round-level evaluators always, plus the per-application evaluators when
evaluatorAccessModeis1ManualAssignment. Always a list, nevernull. Same element shape asapplicationEvaluators.
applicationCountries array items
- Name
id- Type
- integer
- Description
The country ID, as used in
projectCountryIdand incountryFilter.values.
- Name
name- Type
- string | null
- Description
The country name.
- Name
code- Type
- string | null
- Description
The ISO 3166-1 alpha-2 country code.
- Name
timezone- Type
- string | null
- Description
The country's default IANA timezone.
applicationIndustries array items
- Name
id- Type
- integer
- Description
The industry (category) ID, as used in
projectCategoryIdand inindustryFilter.values.
- Name
name- Type
- string | null
- Description
The industry name.
- Name
isAddedByUser- Type
- boolean
- Description
truewhen a member created the industry rather than it coming from the platform list.
applicationSDGs array items
- Name
id- Type
- integer
- Description
The Sustainable Development Goal ID (1–17), as used in
sdgFilter.values.
- Name
name- Type
- string | null
- Description
The goal's name.
- Name
iconName- Type
- string | null
- Description
The key of the official UN icon asset for the goal.
applicationUserInterests array items
- Name
id- Type
- integer
- Description
The interest ID, as used in
interestFilter.values.
- Name
name- Type
- string | null
- Description
The interest name.
- Name
popUpText- Type
- string | null
- Description
The explanatory text shown when a member hovers the interest.
- Name
isActive- Type
- boolean
- Description
falsewhen the interest has been retired and is no longer offered.
- Name
isAddedByUser- Type
- boolean
- Description
truewhen a member created the interest rather than it coming from the platform list.
applicationFormQuestions array items
- Name
id- Type
- integer
- Description
The question ID, as used in
applicationQuestionFilter.valuesandprojectQuestionFilter.values.
- Name
title- Type
- string | null
- Description
The question title shown in the filter control.
applicationEvaluators array items
- Name
id- Type
- integer
- Description
The evaluator's user ID, as used in
evaluatorFilter.valuesandevaluatedBy.values.
- Name
firstName- Type
- string | null
- Description
The evaluator's first name.
- Name
lastName- Type
- string | null
- Description
The evaluator's last name.
- Name
photo- Type
- string | null
- Description
Relative path to the evaluator's profile photo, or
nullwhen they have none. This is the raw stored value — unlikeapplicationDefinitionEvaluators[].user.photoUrl, it does not fall back to a social-account picture.
Both evaluator lists are sorted by first name then last name, and exclude inactive or banned users.
Request
curl -X GET https://api.babele.co/api/ApplicationDefinition/1/ApplicationsFilters \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJleGFtcGxlIiwiZXhwIjoxNzQzODY1MjA3fQ.DEMO_SIGNATURE_NOT_A_REAL_TOKEN"
Response
{
"applicationTags": ["newtag", "othertag", "testtag", "updated"],
"applicationCountries": [
{ "id": 2, "name": "Albania", "code": "AL", "timezone": "Europe/Tirane" },
{ "id": 231, "name": "United Kingdom", "code": "GB", "timezone": "Europe/London" }
],
"applicationStages": ["", "default_development_stage_idea", "default_development_stage_prototype"],
"applicationIndustries": [
{ "id": 1365, "name": "Ad Tech", "isAddedByUser": false },
{ "id": 1420, "name": "Water & Sanitation", "isAddedByUser": false }
],
"applicationSDGs": [
{ "id": 3, "name": "Good Health And Well-Being", "iconName": "goals_icons-individual-rgb-03" },
{ "id": 6, "name": "Clean Water And Sanitation", "iconName": "goals_icons-individual-rgb-06" }
],
"applicationUserInterests": [],
"applicationFormQuestions": [
{ "id": 4472, "title": "Stage" }
],
"projectFormQuestions": [
{ "id": 8801, "title": "Project name" }
],
"applicationEvaluators": [
{ "id": 398953, "firstName": "Admin", "lastName": "D3", "photo": "/Images/Uploads/profile_picture/einstein_202303021441348155_256x256.jpg" }
],
"assignedEvaluators": [
{ "id": 398953, "firstName": "Admin", "lastName": "D3", "photo": "/Images/Uploads/profile_picture/einstein_202303021441348155_256x256.jpg" },
{ "id": 398962, "firstName": "John", "lastName": "Doe", "photo": null }
]
}
Create an application definition
Create a new (standalone) application definition. Returns the created definition with its server-assigned id, creatorUserId and creationDate. Note this returns 200 OK, not 201.
communityId is the definition's community scope and it is required.
Supplying it decides which community owns the definition, which community's
circles acceptedCircleId and evalutatorCircleIds are resolved against,
and which community's landing page the application appears on. Omitting it
is not a no-op: the body deserializes with communityId 0, the server
looks up community 0, finds nothing, and the request fails — there is no
"default" or "current" community.
A projectFormId that points at the community's default project form is rejected: a new application definition must either use a dedicated project form or leave projectFormId unset.
Request body attributes
- Name
communityId- Type
- integer
- Description
Required. The community that will own the definition. See the note above for what happens when it is omitted.
- Name
name- Type
- string
- Description
Application name.
- Name
description- Type
- string
- Description
Description.
- Name
startDate- Type
- string
- Description
Opens-at (date-time).
- Name
endDate- Type
- string
- Description
Closes-at (date-time).
- Name
timezone- Type
- string
- Description
IANA timezone for the dates.
- Name
acceptedEmail- Type
- string
- Description
HTML body sent on acceptance.
- Name
rejectedEmail- Type
- string
- Description
HTML body sent on rejection.
- Name
startedEmail- Type
- string
- Description
HTML body of the email sent when an applicant starts an application.
- Name
submittedEmail- Type
- string
- Description
HTML body of the email sent when an applicant submits.
- Name
notifyApplicants- Type
- boolean
- Description
Send accept/reject emails. Defaults to
truewhen omitted.
- Name
createProject- Type
- boolean
- Description
Create a project on acceptance.
- Name
formId- Type
- integer
- Description
Application form ID.
- Name
projectFormId- Type
- integer
- Description
Project form ID.
- Name
acceptedMethodologyId- Type
- integer
- Description
Methodology assigned on acceptance.
- Name
acceptedCircleId- Type
- integer
- Description
Circle assigned on acceptance.
- Name
applicationDefinitionCriterias- Type
- array
- Description
Scoring criteria. Described under the
applicationDefinitionCriteriasarray items below.
- Name
evalutatorCircleIds- Type
- array
- Description
Community-circle IDs whose members evaluate, as an array of integers. Only honoured when
applicationDefinitionEvaluatorsis null or empty — see theevalutatorCircleIdsarray note below.
- Name
applicationDefinitionEvaluators- Type
- array
- Description
Explicit evaluators. Described under the
applicationDefinitionEvaluatorsarray items below.
- Name
isEvaluatorSetByCircle- Type
- boolean
- Description
Evaluators are derived from circles. The server recomputes this from
evalutatorCircleIdsandapplicationDefinitionEvaluators, so the value sent is advisory.
- Name
applicationDefinitionResponseViewers- Type
- array
- Description
Read-only response viewers. Described under the
applicationDefinitionResponseViewersarray items below.
- Name
allowAccessToResponses- Type
- boolean
- Description
Viewers may see responses.
- Name
language- Type
- string
- Description
Language, e.g.
"en-EN".
- Name
round- Type
- integer
- Description
Round number (for grouped applications).
- Name
roundType- Type
- integer
- Description
0Form,1InterviewAndForm,2InterviewOnly,3EvaluationOnly.
- Name
trackUserAccess- Type
- string
- Description
Tracking snippet fired when an applicant opens the application.
- Name
trackApplicationSave- Type
- string
- Description
Tracking snippet fired when an applicant saves a draft.
- Name
trackApplicationSubmission- Type
- string
- Description
Tracking snippet fired when an applicant submits.
- Name
evaluationFormId- Type
- integer
- Description
Evaluation form ID.
- Name
applicationDefinitionQuestionOrders- Type
- array
- Description
The interleaved display order of project-form and application-form questions. Note the request name differs from the response name, which is
questionOrders. Described under theapplicationDefinitionQuestionOrdersarray items below.
- Name
applicationDefinitionGroupId- Type
- integer
- Description
Group ID linking rounds together.
- Name
allowEvaluatorsToViewOtherRoundsEvaluations- Type
- boolean
- Description
Whether evaluators may read evaluations from other rounds of the group. Defaults to
false.
- Name
evaluatorAccessMode- Type
- integer
- Description
0all evaluators,1manual assignment.
- Name
allowEvaluatorsToMessageApplicants- Type
- boolean
- Description
Whether evaluators may message applicants. Defaults to
false.
- Name
allowEvaluatorsToScheduleMeeting- Type
- boolean
- Description
Whether evaluators may schedule meetings with applicants. Forced to
truefor interview rounds (roundType1or2) regardless of what is sent.
usesDefaultProjectForm is a response-only attribute — it is not accepted in the body.
applicationDefinitionCriterias array items
- Name
evaluationCriteria- Type
- string
- Description
The name of one scoring criterion. Criteria are matched by this string when a definition is updated: names present in the body are kept or added, names absent are deleted.
applicationDefinitionEvaluators array items
- Name
userId- Type
- integer
- Description
The user to assign as an evaluator.
applicationDefinitionResponseViewers array items
- Name
userId- Type
- integer
- Description
The user to grant read-only access to the responses.
applicationDefinitionQuestionOrders array items
- Name
questionType- Type
- integer
- Description
Which form the question belongs to:
1ProjectForm,2ApplicationForm.
- Name
projectFormQuestionId- Type
- integer | null
- Description
The project-form question ID. Set only when
questionTypeis1.
- Name
applicationFormQuestionId- Type
- integer | null
- Description
The application-form question ID. Set only when
questionTypeis2.
- Name
order- Type
- integer
- Description
The question's position in the merged applicant-facing question list.
evalutatorCircleIds is an array of community-circle IDs. When it is non-null and applicationDefinitionEvaluators is null or empty, the server expands the circles into the evaluator list and sets isEvaluatorSetByCircle to true. Otherwise isEvaluatorSetByCircle is forced to false and the circle IDs are ignored — which is the case in the example alongside, where explicit evaluators are supplied.
Response attributes
Same shape as Get an application definition above — all 46 attributes, and the same nested form, applicationDefinitionCriterias, applicationDefinitionEvaluators, applicationDefinitionResponseViewers and questionOrders shapes. The create response returns less than the read path, so these members differ:
- Name
communityMainImage- Type
- string | null
- Description
Always
nullon create — the community's images are not attached to the freshly created definition. Read the definition back to get them.
- Name
communityLogoImage- Type
- string | null
- Description
Always
nullon create, for the same reason.
- Name
projectForm- Type
- object | null
- Description
Populated only when
projectFormIdwas sent. Unlike the read path, create does not fall back to the community's default project form, so it isnullfor acreateProject: truedefinition with noprojectFormId.
- Name
evaluationForm- Type
- object | null
- Description
Always
nullon create, even whenevaluationFormIdwas sent — the evaluation form is not returned on this path.
- Name
evalutatorCircleIds- Type
- array | null
- Description
Always
nullon create, whatever was sent in the body.
- Name
currentUserIsResponseViewerOnly- Type
- boolean
- Description
Always
falseon create — it is never computed on this path.
- Name
lastEditionDate- Type
- string | null
- Description
Always
nullon create; onlycreationDateis stamped.
- Name
usesDefaultProjectForm- Type
- boolean
- Description
Always
falseon the create paths.
Possible errors
- Name
401 Unauthorized- Description
Missing or invalid token.
- Name
500 Internal Server Error- Description
communityIdmatches no community — including the0that a body omitting it deserializes to. The response body is{ "error": "CommunityNotFoundException" }.
Request
curl -X POST https://api.babele.co/api/ApplicationDefinition \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJleGFtcGxlIiwiZXhwIjoxNzQzODY1MjA3fQ.DEMO_SIGNATURE_NOT_A_REAL_TOKEN" \
-H "Content-Type: application/json" \
-d '{"communityId":999,"name":"Test Application","description":"Test Description","startDate":"2026-07-01T00:00:00Z","endDate":"2026-09-01T00:00:00Z","timezone":"Europe/Bucharest","acceptedEmail":"<p>Congrats, you have been accepted!</p>","rejectedEmail":"<p>You have been rejected, sorry!</p>","startedEmail":"<p>You have started an application.</p>","submittedEmail":"<p>We have received your application.</p>","notifyApplicants":true,"createProject":true,"formId":1258,"projectFormId":1430,"acceptedMethodologyId":86,"acceptedCircleId":513,"applicationDefinitionCriterias":[{"evaluationCriteria":"Sustainability"}],"evalutatorCircleIds":[],"applicationDefinitionEvaluators":[{"userId":398953}],"isEvaluatorSetByCircle":false,"applicationDefinitionResponseViewers":[{"userId":398962}],"allowAccessToResponses":true,"language":"en-EN","round":null,"roundType":0,"trackUserAccess":"","trackApplicationSave":"","trackApplicationSubmission":"","evaluationFormId":1502,"applicationDefinitionQuestionOrders":[{"questionType":1,"projectFormQuestionId":8801,"applicationFormQuestionId":null,"order":0},{"questionType":2,"projectFormQuestionId":null,"applicationFormQuestionId":4471,"order":1}],"applicationDefinitionGroupId":null,"allowEvaluatorsToViewOtherRoundsEvaluations":false,"evaluatorAccessMode":0,"allowEvaluatorsToMessageApplicants":false,"allowEvaluatorsToScheduleMeeting":false}'
Response
{
"id": 1,
"communityId": 999,
"communityMainImage": null,
"communityLogoImage": null,
"name": "Test Application",
"description": "Test Description",
"startDate": "2026-07-01T00:00:00Z",
"endDate": "2026-09-01T00:00:00Z",
"timezone": "Europe/Bucharest",
"acceptedEmail": "<p>Congrats, you've been accepted!</p>",
"rejectedEmail": "<p>You've been rejected, sorry!</p>",
"startedEmail": "<p>You've started an application.</p>",
"submittedEmail": "<p>We've received your application.</p>",
"notifyApplicants": true,
"createProject": true,
"formId": 1258,
"form": {
"id": 1258,
"name": "Test Application Form",
"description": "Questions asked of every applicant.",
"communityId": 999,
"type": 0,
"creationDate": "2023-03-02T20:22:54.206Z",
"lastEditionDate": "2026-06-20T14:05:00Z",
"userCreatorId": 15,
"questions": [
{
"id": 4471,
"title": "Impact summary",
"description": "Keep it under 200 words.",
"question": "What impact does your venture have?",
"questionOrder": 0,
"mandatoryAnswer": true,
"editableAnswer": true,
"answerType": 8,
"isProjectField": false,
"allowMultipleAnswer": false,
"questionLinks": [
{ "questionLink": "https://example.org/impact-guide" }
],
"questionOptions": [],
"isFilterable": true,
"privacyLevel": 2,
"privacyCirclesIds": [],
"conditionalLogicType": 0,
"formQuestionConditionalLogicList": [],
"fromApplication": false,
"hasWeightedAverage": false,
"weightedAverage": null,
"convertToKpi": false,
"changePermissionPrivacyLevel": 0,
"questionType": 0,
"includeInProjectProfile": false,
"hasLimit": true,
"limitType": 2,
"limitValue": 200,
"defaultProjectFormQuestionId": null,
"sectionId": 620
}
],
"sections": [
{ "id": 620, "title": "About your venture", "description": "Tell us the basics.", "order": 0 }
],
"includeInLandingPage": false,
"isDefaultCommunityProjectForm": false
},
"creatorUserId": 15,
"creationDate": "2026-06-28T00:00:00.000Z",
"lastEditionDate": null,
"acceptedMethodologyId": 86,
"acceptedCircleId": 513,
"applicationDefinitionCriterias": [
{ "evaluationCriteria": "Sustainability" }
],
"applicationDefinitionEvaluators": [
{
"userId": 398953,
"user": {
"name": "Admin D3",
"photoUrl": "/Images/Uploads/profile_picture/einstein_202303021441348155_256x256.jpg"
}
}
],
"evalutatorCircleIds": null,
"applicationDefinitionResponseViewers": [
{
"userId": 398962,
"user": {
"name": "John Doe",
"photoUrl": "/Images/Uploads/profile_picture/croppedimage_431411901156251_256x256.jpg"
}
}
],
"allowAccessToResponses": true,
"currentUserIsResponseViewerOnly": false,
"projectForm": {
"id": 1430,
"name": "Clean Water Initiative project form",
"description": "Project profile fields collected during the application.",
"communityId": 999,
"type": 0,
"creationDate": "2023-03-02T20:22:54.206Z",
"lastEditionDate": "2026-06-20T14:05:00Z",
"userCreatorId": 15,
"questions": [
{
"id": 8801,
"title": "Project name",
"description": null,
"question": "What is your project called?",
"questionOrder": 0,
"mandatoryAnswer": true,
"editableAnswer": true,
"answerType": -13,
"isProjectField": true,
"allowMultipleAnswer": false,
"questionLinks": [],
"questionOptions": [],
"isFilterable": false,
"privacyLevel": 1,
"privacyCirclesIds": [],
"conditionalLogicType": 0,
"formQuestionConditionalLogicList": [],
"fromApplication": false,
"hasWeightedAverage": false,
"weightedAverage": null,
"convertToKpi": false,
"changePermissionPrivacyLevel": 0,
"questionType": 0,
"includeInProjectProfile": true,
"hasLimit": false,
"limitType": null,
"limitValue": null,
"defaultProjectFormQuestionId": 8500,
"sectionId": null
}
],
"sections": [],
"includeInLandingPage": false,
"isDefaultCommunityProjectForm": false
},
"projectFormId": 1430,
"isEvaluatorSetByCircle": false,
"language": "en-EN",
"trackUserAccess": "",
"trackApplicationSave": "",
"trackApplicationSubmission": "",
"applicationDefinitionGroupId": null,
"round": null,
"roundType": 0,
"evaluationFormId": 1502,
"evaluationForm": null,
"questionOrders": [
{ "questionType": 1, "projectFormQuestionId": 8801, "applicationFormQuestionId": null, "order": 0 },
{ "questionType": 2, "projectFormQuestionId": null, "applicationFormQuestionId": 4471, "order": 1 }
],
"allowEvaluatorsToViewOtherRoundsEvaluations": false,
"usesDefaultProjectForm": false,
"evaluatorAccessMode": 0,
"allowEvaluatorsToMessageApplicants": false,
"allowEvaluatorsToScheduleMeeting": false
}
Update an application definition
Update an existing application definition. The request body is the same ApplicationDefinitionDto as Create an application definition; the response is the updated definition.
communityId is required on every update, and it is not ignored. The
value in the body is validated and then written onto the definition, so
sending a communityId other than the definition's current one moves the
definition to that community. Always echo
back the communityId you read from the definition unless you deliberately
intend to move it. Omitting it is not a way to "leave it unchanged": the
body deserializes with communityId 0, the lookup of community 0 fails,
and the request errors out.
Path parameters
- Name
id- Type
- integer
- Description
The application definition to update.
Request body attributes
The full accepted body is the same ApplicationDefinitionDto documented under Create an application definition — all of its scalar attributes and the same nested applicationDefinitionCriterias, applicationDefinitionEvaluators, applicationDefinitionResponseViewers, applicationDefinitionQuestionOrders and evalutatorCircleIds shapes. These members carry update-specific semantics:
- Name
communityId- Type
- integer
- Description
Required. The community the definition belongs to after the update. See the note above.
- Name
applicationDefinitionCriterias- Type
- array | null
- Description
Diffed by the
evaluationCriteriastring: names in the body are kept or added, names missing from it are deleted. Sendingnullclears every criterion.
- Name
applicationDefinitionEvaluators- Type
- array | null
- Description
Diffed by
userId. Sendingnullclears every evaluator.
- Name
applicationDefinitionResponseViewers- Type
- array | null
- Description
Diffed by
userId. Sendingnullclears every response viewer.
- Name
applicationDefinitionQuestionOrders- Type
- array | null
- Description
Replaces the whole question order when supplied. Unlike the collections above, sending
nullleaves the existing orders untouched.
- Name
evalutatorCircleIds- Type
- array | null
- Description
Expanded into the evaluator list and sets
isEvaluatorSetByCircletotrue, but only whenapplicationDefinitionEvaluatorsis null or empty. SendingnullforcesisEvaluatorSetByCircletofalse.
- Name
roundType- Type
- integer
- Description
0Form,1InterviewAndForm,2InterviewOnly,3EvaluationOnly. Setting an interview round (1or2) forcesallowEvaluatorsToScheduleMeetingtotrue.
lastEditionDate is stamped server-side; it is not read from the body.
Response attributes
Same shape as Get an application definition above — all 46 attributes, and the same nested form, evaluationForm, applicationDefinitionCriterias, applicationDefinitionEvaluators, applicationDefinitionResponseViewers and questionOrders shapes. Only these members differ on the update path:
- Name
projectForm- Type
- object | null
- Description
Always
nullon update, even whenprojectFormIdis set — the project form is not returned on this path. Read the definition back to get it.
- Name
evalutatorCircleIds- Type
- array | null
- Description
Always
nullon update, whatever was sent in the body.
- Name
currentUserIsResponseViewerOnly- Type
- boolean
- Description
Always
falseon update — it is never computed on this path.
Possible errors
- Name
401 Unauthorized- Description
Missing or invalid token.
- Name
500 Internal Server Error- Description
No application definition with that ID (
{ "error": "ApplicationDefinitionNotFoundException" }), or acommunityIdthat matches no community — including the0that a body omitting it deserializes to ({ "error": "CommunityNotFoundException" }).
Request
curl -X PUT https://api.babele.co/api/ApplicationDefinition/1 \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJleGFtcGxlIiwiZXhwIjoxNzQzODY1MjA3fQ.DEMO_SIGNATURE_NOT_A_REAL_TOKEN" \
-H "Content-Type: application/json" \
-d '{"communityId":999,"name":"Updated Application","description":"Updated Description","createProject":true,"formId":1258,"projectFormId":1430,"roundType":0,"language":"en-EN","applicationDefinitionCriterias":[{"evaluationCriteria":"Sustainability"}],"applicationDefinitionEvaluators":[{"userId":398953}],"applicationDefinitionResponseViewers":[{"userId":398962}],"evalutatorCircleIds":null,"applicationDefinitionQuestionOrders":[{"questionType":1,"projectFormQuestionId":8801,"applicationFormQuestionId":null,"order":0},{"questionType":2,"projectFormQuestionId":null,"applicationFormQuestionId":4471,"order":1}]}'
Response
{
"id": 1,
"communityId": 999,
"communityMainImage": "/Images/Uploads/community_image/croppedimage_202406180838101670.jpg",
"communityLogoImage": "/Images/Uploads/community_image/croppedimage_202406190800047188_256x256.jpg",
"name": "Updated Application",
"description": "Updated Description",
"startDate": "2026-07-01T00:00:00Z",
"endDate": "2026-09-01T00:00:00Z",
"timezone": "Europe/Bucharest",
"acceptedEmail": "<p>Congrats, you've been accepted!</p>",
"rejectedEmail": "<p>You've been rejected, sorry!</p>",
"startedEmail": "<p>You've started an application.</p>",
"submittedEmail": "<p>We've received your application.</p>",
"notifyApplicants": true,
"createProject": true,
"formId": 1258,
"form": {
"id": 1258,
"name": "Test Application Form",
"description": "Questions asked of every applicant.",
"communityId": 999,
"type": 0,
"creationDate": "2023-03-02T20:22:54.206Z",
"lastEditionDate": "2026-06-20T14:05:00Z",
"userCreatorId": 15,
"questions": [
{
"id": 4471,
"title": "Impact summary",
"description": "Keep it under 200 words.",
"question": "What impact does your venture have?",
"questionOrder": 0,
"mandatoryAnswer": true,
"editableAnswer": true,
"answerType": 8,
"isProjectField": false,
"allowMultipleAnswer": false,
"questionLinks": [
{ "questionLink": "https://example.org/impact-guide" }
],
"questionOptions": [],
"isFilterable": true,
"privacyLevel": 2,
"privacyCirclesIds": [],
"conditionalLogicType": 0,
"formQuestionConditionalLogicList": [],
"fromApplication": false,
"hasWeightedAverage": false,
"weightedAverage": null,
"convertToKpi": false,
"changePermissionPrivacyLevel": 0,
"questionType": 0,
"includeInProjectProfile": false,
"hasLimit": true,
"limitType": 2,
"limitValue": 200,
"defaultProjectFormQuestionId": null,
"sectionId": 620
}
],
"sections": [
{ "id": 620, "title": "About your venture", "description": "Tell us the basics.", "order": 0 }
],
"includeInLandingPage": false,
"isDefaultCommunityProjectForm": false
},
"creatorUserId": 15,
"creationDate": "2023-03-02T20:22:54.206Z",
"lastEditionDate": "2026-06-28T00:00:00.000Z",
"acceptedMethodologyId": 86,
"acceptedCircleId": 513,
"applicationDefinitionCriterias": [
{ "evaluationCriteria": "Sustainability" }
],
"applicationDefinitionEvaluators": [
{
"userId": 398953,
"user": {
"name": "Admin D3",
"photoUrl": "/Images/Uploads/profile_picture/einstein_202303021441348155_256x256.jpg"
}
}
],
"evalutatorCircleIds": null,
"applicationDefinitionResponseViewers": [
{
"userId": 398962,
"user": {
"name": "John Doe",
"photoUrl": "/Images/Uploads/profile_picture/croppedimage_431411901156251_256x256.jpg"
}
}
],
"allowAccessToResponses": true,
"currentUserIsResponseViewerOnly": false,
"projectForm": null,
"projectFormId": 1430,
"isEvaluatorSetByCircle": false,
"language": "en-EN",
"trackUserAccess": "",
"trackApplicationSave": "",
"trackApplicationSubmission": "",
"applicationDefinitionGroupId": null,
"round": null,
"roundType": 0,
"evaluationFormId": 1502,
"evaluationForm": {
"id": 1502,
"name": "Evaluation form",
"description": "Scored by assigned evaluators.",
"communityId": 999,
"type": 0,
"creationDate": "2023-03-02T20:22:54.206Z",
"lastEditionDate": "2026-06-20T14:05:00Z",
"userCreatorId": 15,
"questions": [
{
"id": 6110,
"title": "Sustainability",
"description": null,
"question": "How sustainable is the venture?",
"questionOrder": 0,
"mandatoryAnswer": true,
"editableAnswer": true,
"answerType": 10,
"isProjectField": false,
"allowMultipleAnswer": false,
"questionLinks": [],
"questionOptions": [],
"isFilterable": false,
"privacyLevel": 0,
"privacyCirclesIds": [],
"conditionalLogicType": 0,
"formQuestionConditionalLogicList": [],
"fromApplication": false,
"hasWeightedAverage": true,
"weightedAverage": 0.4,
"convertToKpi": false,
"changePermissionPrivacyLevel": 0,
"questionType": 0,
"includeInProjectProfile": false,
"hasLimit": false,
"limitType": null,
"limitValue": null,
"defaultProjectFormQuestionId": null,
"sectionId": null
}
],
"sections": [],
"includeInLandingPage": false,
"isDefaultCommunityProjectForm": false
},
"questionOrders": [
{ "questionType": 1, "projectFormQuestionId": 8801, "applicationFormQuestionId": null, "order": 0 },
{ "questionType": 2, "projectFormQuestionId": null, "applicationFormQuestionId": 4471, "order": 1 }
],
"allowEvaluatorsToViewOtherRoundsEvaluations": false,
"usesDefaultProjectForm": false,
"evaluatorAccessMode": 0,
"allowEvaluatorsToMessageApplicants": false,
"allowEvaluatorsToScheduleMeeting": false
}
Create application definition rounds
Create a multi-round application as a brand-new group in one call. The request body is an array of ApplicationDefinitionDto (one per round); the backend assigns the shared applicationDefinitionGroupId and returns the created rounds.
To append a single round to an existing group instead, use Add an application definition round.
The swagger annotation declares the response as a single object; the endpoint actually returns an array of the created rounds.
Request body attributes
- Name
(array)- Type
- array
- Description
An array of
ApplicationDefinitionDtoobjects (see Create an application definition), one per round. Described under the(array)array items below.
(array) array items
Each element is the full ApplicationDefinitionDto documented under Create an application definition, including the nested applicationDefinitionCriterias, applicationDefinitionEvaluators, applicationDefinitionResponseViewers, applicationDefinitionQuestionOrders and evalutatorCircleIds shapes. These members matter specifically here:
- Name
communityId- Type
- integer
- Description
Required on every element — each round carries its own community scope and each is validated separately, so send the same community on all of them unless you really intend otherwise. Omitting it on any element fails that element's community lookup and the whole call.
- Name
round- Type
- integer | null
- Description
The round number. Rounds are persisted in array order.
- Name
roundType- Type
- integer
- Description
0Form,1InterviewAndForm,2InterviewOnly,3EvaluationOnly. The first element may not be2InterviewOnly — an interview-only round cannot open a group, and the request is rejected.
- Name
projectFormId- Type
- integer | null
- Description
The project form for that round. Project-form consistency is validated across the whole array before anything is saved.
- Name
applicationDefinitionGroupId- Type
- integer | null
- Description
Ignored on this endpoint — the server assigns the shared group ID from the first created round's own ID. To append to an existing group use Add an application definition round instead.
Response attributes
The response is an array whose elements are the same application definition shape documented under Get an application definition above. Population matches Create an application definition: communityMainImage, communityLogoImage, evaluationForm, evalutatorCircleIds and lastEditionDate are null, projectForm is populated only when projectFormId was sent, currentUserIsResponseViewerOnly is always false, usesDefaultProjectForm is always false, and the criteria, evaluators, response viewers and questionOrders echo the request. Every element shares the same applicationDefinitionGroupId, which equals the first round's id.
Request
curl -X POST https://api.babele.co/api/ApplicationDefinition/CreateApplicationDefinitionRounds \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJleGFtcGxlIiwiZXhwIjoxNzQzODY1MjA3fQ.DEMO_SIGNATURE_NOT_A_REAL_TOKEN" \
-H "Content-Type: application/json" \
-d '[{"communityId":999,"name":"New Application - Round 1","description":"New application description","createProject":true,"formId":1427,"round":1,"roundType":0,"language":"en-EN","applicationDefinitionCriterias":[{"evaluationCriteria":"Sustainability"}],"applicationDefinitionEvaluators":[{"userId":398953}],"applicationDefinitionResponseViewers":[{"userId":398962}],"evalutatorCircleIds":[],"applicationDefinitionQuestionOrders":[{"questionType":2,"projectFormQuestionId":null,"applicationFormQuestionId":4471,"order":0}]},{"communityId":999,"name":"New Application - Round 2","description":"Interview round","createProject":true,"formId":1429,"round":2,"roundType":1,"language":"en-EN","applicationDefinitionCriterias":[],"applicationDefinitionEvaluators":[{"userId":398953}],"applicationDefinitionResponseViewers":[],"evalutatorCircleIds":[]}]'
Response
[
{
"id": 500,
"communityId": 999,
"communityMainImage": null,
"communityLogoImage": null,
"name": "New Application - Round 1",
"description": "New application description",
"startDate": null,
"endDate": null,
"timezone": null,
"acceptedEmail": null,
"rejectedEmail": null,
"startedEmail": null,
"submittedEmail": null,
"notifyApplicants": true,
"createProject": true,
"formId": 1427,
"form": {
"id": 1427,
"name": "New Application Form",
"description": "Questions asked in the first round.",
"communityId": 999,
"type": 0,
"creationDate": "2026-06-28T00:00:00.000Z",
"lastEditionDate": null,
"userCreatorId": 15,
"questions": [
{
"id": 4471,
"title": "Impact summary",
"description": "Keep it under 200 words.",
"question": "What impact does your venture have?",
"questionOrder": 0,
"mandatoryAnswer": true,
"editableAnswer": true,
"answerType": 8,
"isProjectField": false,
"allowMultipleAnswer": false,
"questionLinks": [],
"questionOptions": [],
"isFilterable": true,
"privacyLevel": 2,
"privacyCirclesIds": [],
"conditionalLogicType": 0,
"formQuestionConditionalLogicList": [],
"fromApplication": false,
"hasWeightedAverage": false,
"weightedAverage": null,
"convertToKpi": false,
"changePermissionPrivacyLevel": 0,
"questionType": 0,
"includeInProjectProfile": false,
"hasLimit": true,
"limitType": 2,
"limitValue": 200,
"defaultProjectFormQuestionId": null,
"sectionId": null
}
],
"sections": [],
"includeInLandingPage": false,
"isDefaultCommunityProjectForm": false
},
"creatorUserId": 15,
"creationDate": "2026-06-28T00:00:00.000Z",
"lastEditionDate": null,
"acceptedMethodologyId": null,
"acceptedCircleId": null,
"applicationDefinitionCriterias": [
{ "evaluationCriteria": "Sustainability" }
],
"applicationDefinitionEvaluators": [
{
"userId": 398953,
"user": {
"name": "Admin D3",
"photoUrl": "/Images/Uploads/profile_picture/einstein_202303021441348155_256x256.jpg"
}
}
],
"evalutatorCircleIds": null,
"applicationDefinitionResponseViewers": [
{
"userId": 398962,
"user": {
"name": "John Doe",
"photoUrl": "/Images/Uploads/profile_picture/croppedimage_431411901156251_256x256.jpg"
}
}
],
"allowAccessToResponses": false,
"currentUserIsResponseViewerOnly": false,
"projectForm": null,
"projectFormId": null,
"isEvaluatorSetByCircle": false,
"language": "en-EN",
"trackUserAccess": null,
"trackApplicationSave": null,
"trackApplicationSubmission": null,
"applicationDefinitionGroupId": 500,
"round": 1,
"roundType": 0,
"evaluationFormId": null,
"evaluationForm": null,
"questionOrders": [
{ "questionType": 2, "projectFormQuestionId": null, "applicationFormQuestionId": 4471, "order": 0 }
],
"allowEvaluatorsToViewOtherRoundsEvaluations": false,
"usesDefaultProjectForm": false,
"evaluatorAccessMode": 0,
"allowEvaluatorsToMessageApplicants": false,
"allowEvaluatorsToScheduleMeeting": false
},
{
"id": 501,
"communityId": 999,
"communityMainImage": null,
"communityLogoImage": null,
"name": "New Application - Round 2",
"description": "Interview round",
"startDate": null,
"endDate": null,
"timezone": null,
"acceptedEmail": null,
"rejectedEmail": null,
"startedEmail": null,
"submittedEmail": null,
"notifyApplicants": true,
"createProject": true,
"formId": 1429,
"form": {
"id": 1429,
"name": "Round 2 Interview Form",
"description": "Questions asked in the interview round.",
"communityId": 999,
"type": 0,
"creationDate": "2026-06-28T00:00:00.000Z",
"lastEditionDate": null,
"userCreatorId": 15,
"questions": [
{
"id": 4480,
"title": "Availability",
"description": null,
"question": "When are you available for an interview?",
"questionOrder": 0,
"mandatoryAnswer": true,
"editableAnswer": true,
"answerType": 5,
"isProjectField": false,
"allowMultipleAnswer": false,
"questionLinks": [],
"questionOptions": [],
"isFilterable": false,
"privacyLevel": 2,
"privacyCirclesIds": [],
"conditionalLogicType": 0,
"formQuestionConditionalLogicList": [],
"fromApplication": false,
"hasWeightedAverage": false,
"weightedAverage": null,
"convertToKpi": false,
"changePermissionPrivacyLevel": 0,
"questionType": 0,
"includeInProjectProfile": false,
"hasLimit": false,
"limitType": null,
"limitValue": null,
"defaultProjectFormQuestionId": null,
"sectionId": null
}
],
"sections": [],
"includeInLandingPage": false,
"isDefaultCommunityProjectForm": false
},
"creatorUserId": 15,
"creationDate": "2026-06-28T00:00:00.000Z",
"lastEditionDate": null,
"acceptedMethodologyId": null,
"acceptedCircleId": null,
"applicationDefinitionCriterias": [],
"applicationDefinitionEvaluators": [
{
"userId": 398953,
"user": {
"name": "Admin D3",
"photoUrl": "/Images/Uploads/profile_picture/einstein_202303021441348155_256x256.jpg"
}
}
],
"evalutatorCircleIds": null,
"applicationDefinitionResponseViewers": [],
"allowAccessToResponses": false,
"currentUserIsResponseViewerOnly": false,
"projectForm": null,
"projectFormId": null,
"isEvaluatorSetByCircle": false,
"language": "en-EN",
"trackUserAccess": null,
"trackApplicationSave": null,
"trackApplicationSubmission": null,
"applicationDefinitionGroupId": 500,
"round": 2,
"roundType": 1,
"evaluationFormId": null,
"evaluationForm": null,
"questionOrders": [],
"allowEvaluatorsToViewOtherRoundsEvaluations": false,
"usesDefaultProjectForm": false,
"evaluatorAccessMode": 0,
"allowEvaluatorsToMessageApplicants": false,
"allowEvaluatorsToScheduleMeeting": true
}
]
Add an application definition round
Append a single new round to an already-existing application-definition group. The request body is a single ApplicationDefinitionDto that must carry the existing applicationDefinitionGroupId (and typically round/roundType). Returns the newly added round.
Request body attributes
The full accepted body is the same ApplicationDefinitionDto documented under Create an application definition — every scalar attribute listed there is accepted here too. These are the members that matter for a round:
- Name
applicationDefinitionGroupId- Type
- integer
- Description
Required. The existing group to attach the new round to. When present, the server loads every round already in the group and validates project-form consistency across the whole group, including the new round.
- Name
round- Type
- integer
- Description
The round number for the new round.
- Name
roundType- Type
- integer
- Description
0Form,1InterviewAndForm,2InterviewOnly,3EvaluationOnly. An interview round (1or2) forcesallowEvaluatorsToScheduleMeetingtotrueon the created round.
- Name
communityId- Type
- integer
- Description
Required. The community that will own the new round. It is validated on its own — the server does not copy it from the group, and it does not default to the community of the other rounds. Omitting it means community
0, which fails the lookup and the whole request; supplying a community other than the group's would attach the round to that other community.
- Name
applicationDefinitionCriterias- Type
- array | null
- Description
Scoring criteria for this round. Same shape as the Create an application definition request — an array of
{ evaluationCriteria }.
- Name
applicationDefinitionEvaluators- Type
- array | null
- Description
Explicit evaluators for this round. Same shape as the Create request — an array of
{ userId }.
- Name
applicationDefinitionResponseViewers- Type
- array | null
- Description
Read-only response viewers for this round. Same shape as the Create request — an array of
{ userId }.
- Name
evalutatorCircleIds- Type
- array | null
- Description
Community-circle IDs whose members evaluate this round, as an array of integers. Expanded into evaluators only when
applicationDefinitionEvaluatorsis null or empty.
- Name
applicationDefinitionQuestionOrders- Type
- array | null
- Description
The interleaved question display order. Same shape as the Create request — an array of
{ questionType, projectFormQuestionId, applicationFormQuestionId, order }.
Response attributes
Same shape as Get an application definition above, with the same population as Create an application definition: communityMainImage, communityLogoImage, evaluationForm, evalutatorCircleIds and lastEditionDate are null, projectForm is populated only when projectFormId was sent, currentUserIsResponseViewerOnly is always false, usesDefaultProjectForm is always false, and the criteria, evaluators, response viewers and questionOrders echo the request.
Request
curl -X POST https://api.babele.co/api/ApplicationDefinition/AddApplicationDefinitionRound \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJleGFtcGxlIiwiZXhwIjoxNzQzODY1MjA3fQ.DEMO_SIGNATURE_NOT_A_REAL_TOKEN" \
-H "Content-Type: application/json" \
-d '{"communityId":999,"name":"Grouped Application - Round 2","description":"Interview round","applicationDefinitionGroupId":100,"round":2,"roundType":1,"language":"en-EN","createProject":true,"formId":1429,"applicationDefinitionCriterias":[{"evaluationCriteria":"Team strength"}],"applicationDefinitionEvaluators":[{"userId":398953}],"applicationDefinitionResponseViewers":[{"userId":398962}],"evalutatorCircleIds":[],"applicationDefinitionQuestionOrders":[{"questionType":2,"projectFormQuestionId":null,"applicationFormQuestionId":4471,"order":0}]}'
Response
{
"id": 3,
"communityId": 999,
"communityMainImage": null,
"communityLogoImage": null,
"name": "Grouped Application - Round 2",
"description": "Interview round",
"startDate": null,
"endDate": null,
"timezone": null,
"acceptedEmail": null,
"rejectedEmail": null,
"startedEmail": null,
"submittedEmail": null,
"notifyApplicants": true,
"createProject": true,
"formId": 1429,
"form": {
"id": 1429,
"name": "Round 2 Interview Form",
"description": "Questions asked in the interview round.",
"communityId": 999,
"type": 0,
"creationDate": "2023-03-02T20:22:54.206Z",
"lastEditionDate": "2026-06-20T14:05:00Z",
"userCreatorId": 15,
"questions": [
{
"id": 4471,
"title": "Impact summary",
"description": "Keep it under 200 words.",
"question": "What impact does your venture have?",
"questionOrder": 0,
"mandatoryAnswer": true,
"editableAnswer": true,
"answerType": 8,
"isProjectField": false,
"allowMultipleAnswer": false,
"questionLinks": [],
"questionOptions": [],
"isFilterable": true,
"privacyLevel": 2,
"privacyCirclesIds": [],
"conditionalLogicType": 0,
"formQuestionConditionalLogicList": [],
"fromApplication": false,
"hasWeightedAverage": false,
"weightedAverage": null,
"convertToKpi": false,
"changePermissionPrivacyLevel": 0,
"questionType": 0,
"includeInProjectProfile": false,
"hasLimit": true,
"limitType": 2,
"limitValue": 200,
"defaultProjectFormQuestionId": null,
"sectionId": null
}
],
"sections": [],
"includeInLandingPage": false,
"isDefaultCommunityProjectForm": false
},
"creatorUserId": 15,
"creationDate": "2026-06-28T00:00:00.000Z",
"lastEditionDate": null,
"acceptedMethodologyId": null,
"acceptedCircleId": null,
"applicationDefinitionCriterias": [
{ "evaluationCriteria": "Team strength" }
],
"applicationDefinitionEvaluators": [
{
"userId": 398953,
"user": {
"name": "Admin D3",
"photoUrl": "/Images/Uploads/profile_picture/einstein_202303021441348155_256x256.jpg"
}
}
],
"evalutatorCircleIds": null,
"applicationDefinitionResponseViewers": [
{
"userId": 398962,
"user": {
"name": "John Doe",
"photoUrl": "/Images/Uploads/profile_picture/croppedimage_431411901156251_256x256.jpg"
}
}
],
"allowAccessToResponses": false,
"currentUserIsResponseViewerOnly": false,
"projectForm": null,
"projectFormId": null,
"isEvaluatorSetByCircle": false,
"language": "en-EN",
"trackUserAccess": null,
"trackApplicationSave": null,
"trackApplicationSubmission": null,
"applicationDefinitionGroupId": 100,
"round": 2,
"roundType": 1,
"evaluationFormId": null,
"evaluationForm": null,
"questionOrders": [
{ "questionType": 2, "projectFormQuestionId": null, "applicationFormQuestionId": 4471, "order": 0 }
],
"allowEvaluatorsToViewOtherRoundsEvaluations": false,
"usesDefaultProjectForm": false,
"evaluatorAccessMode": 0,
"allowEvaluatorsToMessageApplicants": false,
"allowEvaluatorsToScheduleMeeting": true
}
Delete an application definition
Remove an application definition. Returns 204 No Content with an empty body.
Path parameters
- Name
id- Type
- integer
- Description
The application definition ID.
Possible errors
- Name
401 Unauthorized- Description
Missing or invalid token.
- Name
500 Internal Server Error- Description
No application definition with that ID. The response body is
{ "error": "ApplicationDefinitionNotFoundException" }.
Request
curl -X DELETE https://api.babele.co/api/ApplicationDefinition/1 \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJleGFtcGxlIiwiZXhwIjoxNzQzODY1MjA3fQ.DEMO_SIGNATURE_NOT_A_REAL_TOKEN"
Export applications CSV
Download all applications for one definition as a CSV file. The response is a file download (Content-Type: application/octet-stream, filename ApplicationDefinitionDetails.csv), not JSON.
Path parameters
- Name
id- Type
- integer
- Description
The application definition ID.
Request
curl -X GET https://api.babele.co/api/ApplicationDefinition/1/Applications-csv \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJleGFtcGxlIiwiZXhwIjoxNzQzODY1MjA3fQ.DEMO_SIGNATURE_NOT_A_REAL_TOKEN" \
-o ApplicationDefinitionDetails.csv
Export application evaluations CSV
Download the evaluations for one definition as a CSV file (Content-Type: application/octet-stream, filename ApplicationDefinitionEvaluations.csv).
Path parameters
- Name
id- Type
- integer
- Description
The application definition ID.
Request
curl -X GET https://api.babele.co/api/ApplicationDefinition/1/ApplicationEvaluations-csv \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJleGFtcGxlIiwiZXhwIjoxNzQzODY1MjA3fQ.DEMO_SIGNATURE_NOT_A_REAL_TOKEN" \
-o ApplicationDefinitionEvaluations.csv
Export grouped applications CSV
Download all applications across every round of a grouped (multi-round) application as one CSV file (Content-Type: application/octet-stream, filename ApplicationDefinitionDetails.csv). Note the path parameter is the group ID.
Path parameters
- Name
applicationGroupId- Type
- integer
- Description
The application definition group ID.
Request
curl -X GET https://api.babele.co/api/ApplicationDefinition/100/ApplicationsRounds-csv \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJleGFtcGxlIiwiZXhwIjoxNzQzODY1MjA3fQ.DEMO_SIGNATURE_NOT_A_REAL_TOKEN" \
-o ApplicationDefinitionDetails.csv
Export grouped evaluations CSV
Download all evaluations across every round of a grouped application as one CSV file (Content-Type: application/octet-stream, filename ApplicationEvaluationsRounds.csv). The path parameter is the group ID.
Path parameters
- Name
applicationGroupId- Type
- integer
- Description
The application definition group ID.
Request
curl -X GET https://api.babele.co/api/ApplicationDefinition/100/ApplicationEvaluationsRounds-csv \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJleGFtcGxlIiwiZXhwIjoxNzQzODY1MjA3fQ.DEMO_SIGNATURE_NOT_A_REAL_TOKEN" \
-o ApplicationEvaluationsRounds.csv
List applications
This endpoint allows you to retrieve a paginated, filtered list of all an application definition's submitted responses (the admin "responses" table).
Although this is a POST, it reads data — the filter is sent in the
request body rather than as query parameters. It is not a mutation. The
convention { "skip": 0, "take": 0 } fetches all matching rows — the same
convention the bulk Group... operations use.
Path parameters
- Name
id- Type
- integer
- Description
The application definition ID.
There is no communityId on this endpoint. The community is implied by the {id} application definition — access is scoped to that definition's community — so there is nothing to supply or omit.
Request body attributes
Every member is optional; an omitted object or array member means "no filter". This is the canonical ApplicationFilter shape — the bulk Group... endpoints elsewhere on this page accept the same body.
- Name
take- Type
- integer
- Description
The maximum number of applications to return.
0returns every matching row — the convention the bulkGroup...operations use. Defaults to0.
- Name
skip- Type
- integer
- Description
The number of applications to skip. Defaults to
0.
- Name
pageSize- Type
- integer
- Description
Alias for
take. It is written intotakeonly whentakeis still0; on the way out it always echoestake.
- Name
concept- Type
- string | null
- Description
Free-text search. Matches the application's project name, the applicant's e-mail, or the applicant's first and last name concatenated without spaces.
- Name
stage- Type
- string | null
- Description
Development-stage filter, matched case-insensitively against the application's
projectDevelopmentStage.
- Name
status- Type
- integer | null
- Description
Filter by
ApplicationStatus:0Apply,1Draft,2Pending,3Accepted,4Denied.nullreturns every status. Passing1Draft also matches applications still in the0Apply state.
- Name
orderBy- Type
- integer
- Description
Sort:
0DateNewest,1DateOldest,2HighestRating,3LowestRating. Defaults to0.
- Name
countryFilter- Type
- object | null
- Description
Filter by country — the project's country on a definition that creates projects, otherwise the applicant's own country.
valuesholds country IDs. Described under thecountryFilterobject below.
- Name
industryFilter- Type
- object | null
- Description
Filter by the project's industry (category).
valuesholds category IDs. Same shape as thecountryFilterobject below.
- Name
interestFilter- Type
- object | null
- Description
Filter by the applicant's interests.
valuesholds interest IDs. Only applies on definitions that do not create a project. Same shape as thecountryFilterobject below.
- Name
sdgFilter- Type
- object | null
- Description
Filter by Sustainable Development Goals — the project's on a definition that creates projects, otherwise the applicant's own.
valuesholds SDG IDs. Note the camel-cased name. Same shape as thecountryFilterobject below.
- Name
tagFilter- Type
- object | null
- Description
Filter by application tags. Unlike the other dynamic filters,
valuesholds tag strings. Described under thetagFilterobject below.
- Name
applicationQuestionFilter- Type
- object | null
- Description
Restrict to applications that do, or do not, have an answer to the listed application-form questions.
valuesholds question IDs. Same shape as thecountryFilterobject below.
- Name
projectQuestionFilter- Type
- object | null
- Description
Restrict to applications whose project does, or does not, have an answer to the listed project-form questions.
valuesholds question IDs. Same shape as thecountryFilterobject below.
- Name
filters- Type
- array | null
- Description
Per-question answer filters, matched by question title and answer text across both the application form and the project form. Described under the
filtersarray items below.
- Name
hasEvaluators- Type
- boolean | null
- Description
truereturns only applications with evaluators assigned,falseonly those without,nullapplies no filter. Applies inevaluatorAccessMode1ManualAssignment only.
- Name
evaluationStatus- Type
- integer | null
- Description
Filter by evaluation completion:
0AllCompleted,1SomeCompleted,2NoneCompleted.
- Name
evaluatorFilter- Type
- object | null
- Description
Restrict to applications assigned to these evaluators.
valuesholds evaluator user IDs.ManualAssignmentmode only. Same shape as thecountryFilterobject below.
- Name
evaluatedBy- Type
- object | null
- Description
Restrict to applications these users have completed an evaluation for.
valuesholds evaluator user IDs. Works in both evaluator access modes. Same shape as thecountryFilterobject below.
- Name
isEmpty- Type
- boolean | null
- Description
truereturns only "empty" applications — statusApplyorDraftwith no application answers and no project answers;falsereturns only non-empty ones;nullapplies no filter.
interestFilter cannot be sent on its own: the interest filter reads the
industry filter's filterType, so a body carrying interestFilter
without industryFilter fails. Send both, or neither.
filters array items
- Name
filterType- Type
- integer
- Description
How the answers are matched:
0IsAnyOf — keep applications that selected any of them;1IsNoneOf — exclude them.
- Name
question- Type
- string | null
- Description
The exact title of the question to filter on. Both the application form and the project form are searched.
- Name
answers- Type
- array | null
- Description
The answer values to match, as an array of strings. An entry whose
answersis empty ornullis ignored.
countryFilter object
The same two-member shape is used by industryFilter, interestFilter, sdgFilter, applicationQuestionFilter, projectQuestionFilter, evaluatorFilter and evaluatedBy — only the meaning of the IDs in values changes.
- Name
filterType- Type
- integer
- Description
0IsAnyOf — keep rows matching any value;1IsNoneOf — exclude rows matching any value.
- Name
values- Type
- array | null
- Description
The IDs to match, as an array of integers. An empty or
nullarray disables the filter.
tagFilter object
- Name
filterType- Type
- integer
- Description
0matches applications carrying any of the tags,1excludes them.
- Name
values- Type
- array | null
- Description
The tag names to match, as an array of strings. An empty or
nullarray disables the filter.
Response attributes
- Name
count- Type
- integer
- Description
The total number of applications matching the filter, before
skip/takepaging.
- Name
list- Type
- array
- Description
The page of applications. Described under the
listarray items below.
- Name
filters- Type
- array | null
- Description
Always
nullon this endpoint. Reserved for per-question answer groupings; when populated elsewhere each element is{ question, answers }.
- Name
applicationDefinitionFilters- Type
- object
- Description
The filter values still available for the current result set — the source of the responses table's filter drop-downs. Every member is
nullunless the request body carried at least one real filter criterion;skip,take,pageSizeandorderBydo not count. Described under theapplicationDefinitionFiltersobject below.
applicationDefinitionFilters object
Same ten members, and the same element shapes, as the response of Get application filters above: applicationTags and applicationStages are arrays of strings, applicationCountries, applicationIndustries, applicationSDGs and applicationUserInterests are the country, industry, SDG and interest item shapes documented there, applicationFormQuestions and projectFormQuestions are { id, title } items, and applicationEvaluators and assignedEvaluators are { id, firstName, lastName, photo } items.
- Name
applicationEvaluators- Type
- array | null
- Description
Here this is the evaluators who have completed at least one evaluation among the matching applications, not among all of them.
- Name
assignedEvaluators- Type
- array | null
- Description
Every evaluator assigned to a matching response — the response group's per-application evaluators in both access modes, plus the definition's round-level evaluators when
evaluatorAccessModeis0AllAccess. Sorted by first then last name.
- Name
applicationUserInterests- Type
- array | null
- Description
Always an empty array when the definition creates a project.
list array items
- Name
id- Type
- integer
- Description
The application (response) ID.
- Name
applicationResponseGroupId- Type
- integer | null
- Description
The 64-bit ID of the multi-round response group this response belongs to.
nullfor single-round definitions.
- Name
applicationDefinitionName- Type
- string | null
- Description
The name of the application definition (round) this response was submitted to.
- Name
applicationDefinitionId- Type
- integer
- Description
The ID of the application definition.
- Name
promotedFromApplicationId- Type
- integer | null
- Description
The ID of the previous round's response this one was promoted from.
nullwhen the applicant applied directly.
- Name
applicantId- Type
- integer
- Description
The applicant's user ID.
- Name
applicantName- Type
- string | null
- Description
The applicant's full name.
- Name
applicantEmail- Type
- string | null
- Description
The applicant's e-mail address.
- Name
applicantPhotourl- Type
- string | null
- Description
Relative path to the applicant's profile picture.
- Name
status- Type
- integer
- Description
0Apply,1Draft,2Pending,3Accepted,4Denied.
- Name
applyDate- Type
- string | null
- Description
ISO-8601 timestamp of when the response was started.
- Name
draftDate- Type
- string | null
- Description
ISO-8601 timestamp of when the response was saved as a draft.
- Name
pendingDate- Type
- string | null
- Description
ISO-8601 timestamp of when the response was submitted for review.
- Name
acceptedDate- Type
- string | null
- Description
ISO-8601 timestamp of acceptance.
nullunlessstatusis3.
- Name
deniedDate- Type
- string | null
- Description
ISO-8601 timestamp of rejection.
nullunlessstatusis4.
- Name
projectName- Type
- string | null
- Description
The project's name. Falls back to the existing project's name when the applicant applied with a project they already own.
- Name
projectDescription- Type
- string | null
- Description
The project's short description.
- Name
projectCategoryId- Type
- integer | null
- Description
The project's industry (category) ID.
- Name
projectDevelopmentStage- Type
- string | null
- Description
The project's development-stage key.
- Name
projectCountryId- Type
- integer | null
- Description
The project's country ID.
- Name
projectCity- Type
- string | null
- Description
The project's city.
- Name
projectLogoImage- Type
- string | null
- Description
Relative path to the project's logo.
- Name
projectMainImageOrVideo- Type
- string | null
- Description
Relative path to the project's cover image or video.
- Name
averageScore- Type
- number | null
- Description
The mean evaluation score across evaluators.
nullwhen nobody has scored the response.
- Name
overallMaxScale- Type
- integer
- Description
The maximum value of the evaluation scale the score is expressed on.
0when the round uses criteria scoring rather than an evaluation form.
- Name
communityName- Type
- string | null
- Description
The name of the community that owns the application definition.
- Name
communityLogoImage- Type
- string | null
- Description
Relative path to that community's logo.
- Name
applicationProjectSustainableDevelopmentGoals- Type
- array
- Description
The Sustainable Development Goals selected on the response's project. Described under the
list[].applicationProjectSustainableDevelopmentGoalsarray items below.
- Name
tags- Type
- array
- Description
The tag names applied to this response by community administrators, as an array of strings.
- Name
applicationEvaluators- Type
- array | null
- Description
The evaluators assigned to this response's round.
nullunless the response belongs to a response group with assigned evaluators. Described under thelist[].applicationEvaluatorsarray items below.
- Name
projectId- Type
- integer | null
- Description
Legacy project reference, kept for backwards compatibility. The current API does not populate it — do not rely on it.
- Name
applicationDefinitionGroupId- Type
- integer | null
- Description
The ID of the multi-round group the definition belongs to.
nullfor single-round definitions.
- Name
round- Type
- integer | null
- Description
The 1-based round number of the definition.
nullfor single-round definitions.
- Name
eventId- Type
- string | null
- Description
The external event identifier the response was captured under, when the definition is wired to one.
- Name
totalEvaluators- Type
- integer
- Description
How many evaluators are expected to evaluate this response.
- Name
completedEvaluations- Type
- integer
- Description
How many of those evaluators have submitted their evaluation.
list[].applicationProjectSustainableDevelopmentGoals array items
- Name
sustainableDevelopmentGoalId- Type
- integer
- Description
The ID of a UN Sustainable Development Goal selected on the application's project.
list[].applicationEvaluators array items
- Name
id- Type
- integer
- Description
The evaluator's user ID.
- Name
firstName- Type
- string | null
- Description
The evaluator's first name.
- Name
lastName- Type
- string | null
- Description
The evaluator's last name.
- Name
photo- Type
- string | null
- Description
Relative path to the evaluator's profile picture, or
nullwhen they have not uploaded one.
Possible errors
- Name
401 Unauthorized- Description
Missing or invalid token.
- Name
500 Internal Server Error- Description
No application definition with that ID. The response body is
{ "error": "ApplicationDefinitionNotFoundException" }.
Request
curl -X POST https://api.babele.co/api/ApplicationDefinition/1/Applications \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJleGFtcGxlIiwiZXhwIjoxNzQzODY1MjA3fQ.DEMO_SIGNATURE_NOT_A_REAL_TOKEN" \
-H "Content-Type: application/json" \
-d '{"skip":0,"take":50,"orderBy":0,"concept":"water","stage":"default_development_stage_idea","status":2,"isEmpty":false,"hasEvaluators":true,"evaluationStatus":1,"pageSize":50,"countryFilter":{"filterType":0,"values":[231]},"industryFilter":{"filterType":0,"values":[1420]},"interestFilter":{"filterType":1,"values":[12]},"sdgFilter":{"filterType":0,"values":[2,3]},"tagFilter":{"filterType":0,"values":["promising"]},"applicationQuestionFilter":{"filterType":0,"values":[10,11]},"projectQuestionFilter":{"filterType":0,"values":[3]},"evaluatorFilter":{"filterType":0,"values":[398953]},"evaluatedBy":{"filterType":0,"values":[400627]},"filters":[{"filterType":0,"question":"Development stage","answers":["Idea","MVP"]}]}'
Response
{
"applicationDefinitionFilters": {
"applicationTags": ["promising", "shortlist"],
"applicationCountries": [
{ "id": 231, "name": "United Kingdom", "code": "GB", "timezone": "Europe/London" }
],
"applicationStages": ["default_development_stage_idea", "default_development_stage_mvp"],
"applicationIndustries": [
{ "id": 1420, "name": "Water & Sanitation", "isAddedByUser": false }
],
"applicationSDGs": [
{ "id": 2, "name": "Zero Hunger", "iconName": "goals_icons-individual-rgb-02" },
{ "id": 3, "name": "Good Health And Well-Being", "iconName": "goals_icons-individual-rgb-03" }
],
"applicationUserInterests": [],
"applicationFormQuestions": [
{ "id": 10, "title": "Development stage" },
{ "id": 11, "title": "Why are you applying?" }
],
"projectFormQuestions": [
{ "id": 3, "title": "What problem do you solve?" }
],
"applicationEvaluators": [
{ "id": 398953, "firstName": "Ana", "lastName": "Petrescu", "photo": "/Images/Uploads/profile_picture/ana_256x256.jpg" }
],
"assignedEvaluators": [
{ "id": 398953, "firstName": "Ana", "lastName": "Petrescu", "photo": "/Images/Uploads/profile_picture/ana_256x256.jpg" },
{ "id": 400627, "firstName": "Marco", "lastName": "Ruiz", "photo": null }
]
},
"count": 200,
"list": [
{
"id": 1334,
"applicationResponseGroupId": 100,
"applicationDefinitionName": "New Venture",
"applicationDefinitionId": 171,
"promotedFromApplicationId": null,
"applicantId": 398962,
"applicantName": "John Doe",
"applicantEmail": "john.doe@example.com",
"applicantPhotourl": "/Images/Uploads/profile_picture/croppedimage_431411901156251_256x256.jpg",
"status": 2,
"applyDate": "2025-03-19T18:05:53.389838Z",
"draftDate": null,
"pendingDate": "2025-03-19T18:05:55.136264Z",
"acceptedDate": null,
"deniedDate": null,
"projectName": "Your Project Name",
"projectDescription": "Your Project Description",
"projectCategoryId": 1420,
"projectDevelopmentStage": "default_development_stage_idea",
"projectCountryId": 231,
"projectCity": "RD",
"projectLogoImage": "",
"projectMainImageOrVideo": "",
"averageScore": 4.5,
"overallMaxScale": 5,
"communityName": "Your Community",
"communityLogoImage": "/Images/Uploads/community_image/croppedimage_251201336097724_256x256.jpg",
"applicationProjectSustainableDevelopmentGoals": [
{ "sustainableDevelopmentGoalId": 2 },
{ "sustainableDevelopmentGoalId": 3 }
],
"tags": ["promising"],
"applicationEvaluators": [
{ "id": 398953, "firstName": "Ana", "lastName": "Petrescu", "photo": "/Images/Uploads/profile_picture/ana_256x256.jpg" }
],
"projectId": null,
"applicationDefinitionGroupId": 100,
"round": 1,
"eventId": null,
"totalEvaluators": 2,
"completedEvaluations": 1
},
{
"id": 852,
"applicationResponseGroupId": null,
"applicationDefinitionName": "New Venture",
"applicationDefinitionId": 171,
"promotedFromApplicationId": null,
"applicantId": 398968,
"applicantName": "Chris Coles",
"applicantEmail": "chris@babele.co",
"applicantPhotourl": "/Images/Uploads/profile_picture/dsc_2021141256534062_256x256.jpg",
"status": 3,
"applyDate": "2024-02-20T11:19:01.642293Z",
"draftDate": "2024-02-29T17:46:48.266611Z",
"pendingDate": "2024-03-01T11:53:33.359983Z",
"acceptedDate": "2024-03-01T12:03:59.076221Z",
"deniedDate": null,
"projectName": "New Venture",
"projectDescription": "",
"projectCategoryId": 1,
"projectDevelopmentStage": "",
"projectCountryId": 1,
"projectCity": "",
"projectLogoImage": "",
"projectMainImageOrVideo": "",
"averageScore": null,
"overallMaxScale": 0,
"communityName": "Your Community",
"communityLogoImage": "/Images/Uploads/community_image/croppedimage_20151336097724_256x256.jpg",
"applicationProjectSustainableDevelopmentGoals": [],
"tags": [],
"applicationEvaluators": null,
"projectId": null,
"applicationDefinitionGroupId": null,
"round": null,
"eventId": null,
"totalEvaluators": 0,
"completedEvaluations": 0
}
],
"filters": null
}
Get an application response
Fetch one application response with all its answers, project data, scores and tags — the admin detail view of a single submission (ApplicationDetailDto).
There is no communityId parameter. The community is derived from the response's application definition (applicationDefinition.communityId) and is used server-side to resolve the project form and the community's URL-visibility settings; it is never a caller-supplied scope.
comments, scores and answers are omitted as null when they are
empty — the API does not emit an empty wrapper. A response with no
comments returns "comments": null, never { "count": 0, "list": [] }.
Path parameters
- Name
id- Type
- integer
- Description
The application (response) ID.
Response attributes
- Name
id- Type
- integer
- Description
The application (response) ID.
- Name
applicationResponseGroupId- Type
- integer | null
- Description
The 64-bit ID of the multi-round response group.
nullfor single-round definitions.
- Name
applicationDefinitionId- Type
- integer
- Description
The ID of the application definition (round) this response belongs to.
- Name
applicationDefinitionName- Type
- string | null
- Description
That definition's name.
- Name
applicationDefinitionGroupId- Type
- integer | null
- Description
The ID of the multi-round group the definition belongs to.
nullfor single-round definitions.
- Name
round- Type
- integer | null
- Description
The 1-based round number.
nullfor single-round definitions.
- Name
applicationDefinition- Type
- object | null
- Description
The full definition this response was submitted to. Described under the
applicationDefinitionobject below.
- Name
promotedFromApplicationId- Type
- integer | null
- Description
The previous round's response this one was promoted from.
nullwhen the applicant applied directly.
- Name
applicantId- Type
- integer
- Description
The applicant's user ID.
- Name
applicantEmail- Type
- string | null
- Description
The applicant's e-mail address.
- Name
applicantFirstName- Type
- string | null
- Description
The applicant's first name.
- Name
applicantLastName- Type
- string | null
- Description
The applicant's last name.
- Name
status- Type
- integer
- Description
0Apply,1Draft,2Pending,3Accepted,4Denied.
- Name
applyDate- Type
- string | null
- Description
ISO-8601 timestamp of when the response was started.
- Name
draftDate- Type
- string | null
- Description
ISO-8601 timestamp of when it was saved as a draft.
- Name
pendingDate- Type
- string | null
- Description
ISO-8601 timestamp of submission for review.
- Name
acceptedDate- Type
- string | null
- Description
ISO-8601 timestamp of acceptance.
- Name
deniedDate- Type
- string | null
- Description
ISO-8601 timestamp of rejection.
- Name
existingProjectId- Type
- integer | null
- Description
The ID of an existing project the applicant chose to bring into this community with the application. This is a project ID, not a community-project ID: the community project is created, or re-enabled, when the application is accepted.
nullwhen the application creates a brand-new project.
- Name
projectName- Type
- string | null
- Description
The project's name.
- Name
projectDescription- Type
- string | null
- Description
The project's short description.
- Name
projectCategoryId- Type
- integer | null
- Description
The project's industry (category) ID.
- Name
projectDevelopmentStage- Type
- string | null
- Description
The project's development-stage key.
- Name
projectCountryId- Type
- integer | null
- Description
The project's country ID.
- Name
projectCity- Type
- string | null
- Description
The project's city.
- Name
projectLogoImage- Type
- string | null
- Description
Relative path to the project's logo.
- Name
projectMainImageOrVideo- Type
- string | null
- Description
Relative path to the project's cover image or video.
- Name
averageScore- Type
- number | null
- Description
The mean evaluation score.
nullwhen nobody has scored the response.
- Name
applicationProjectSustainableDevelopmentGoals- Type
- array
- Description
The Sustainable Development Goals selected on the response's project. Described under the
applicationProjectSustainableDevelopmentGoalsarray items below.
- Name
tags- Type
- array
- Description
The tag names applied to this response, as an array of strings.
- Name
applicationEvaluators- Type
- array | null
- Description
The evaluators assigned to this response.
nullunless the response belongs to a response group and the definition usesevaluatorAccessMode1ManualAssignment. Described under theapplicationEvaluatorsarray items below.
- Name
projectForm- Type
- object | null
- Description
The community's project form, whose questions
projectAnswersanswers.nullwhen the definition does not create a project. Described under theprojectFormobject below.
- Name
projectAnswers- Type
- array | null
- Description
The project-form answers captured with this response.
nullwhen the definition does not create a project or no project answers exist. Described under theprojectAnswersarray items below.
- Name
comments- Type
- object | null
- Description
The comment thread on this response.
nullwhen there are none, and alsonullfor callers who may open the response but not its comments. Described under thecommentsobject below.
- Name
scores- Type
- object | null
- Description
The per-criterion evaluation scores.
nullwhen there are none, and alsonullfor callers without evaluation access. Described under thescoresobject below.
- Name
answers- Type
- object | null
- Description
The application-form answers.
nullwhen the response has no answers. Described under theanswersobject below.
- Name
websiteUrl- Type
- string | null
- Description
The project's website. Returned as
""when the community hides website URLs.
- Name
facebookUrl- Type
- string | null
- Description
The project's Facebook page. Returned as
""when the community hides Facebook URLs.
- Name
linkedInUrl- Type
- string | null
- Description
The project's LinkedIn page. Returned as
""when the community hides LinkedIn URLs.
- Name
eventId- Type
- string | null
- Description
The external event identifier the response was captured under.
applicationDefinition object
This is the same application definition shape documented under Get an application definition above, with all 46 attributes. The example alongside abbreviates it to the members that matter in this context; the members below are the ones a response consumer normally reads.
- Name
id- Type
- integer
- Description
The application definition ID.
- Name
communityId- Type
- integer
- Description
The community that owns the definition. This is where the response's community scope comes from.
- Name
name- Type
- string | null
- Description
The definition's name.
- Name
round- Type
- integer | null
- Description
The 1-based round number.
- Name
roundType- Type
- integer
- Description
0Form,1InterviewAndForm,2InterviewOnly,3EvaluationOnly.
- Name
applicationDefinitionGroupId- Type
- integer | null
- Description
The multi-round group ID.
- Name
createProject- Type
- boolean
- Description
truewhen accepting a response creates, or adopts, a project.
- Name
evaluatorAccessMode- Type
- integer
- Description
0AllAccess — every evaluator sees every response;1ManualAssignment — evaluators are assigned per response group.
- Name
applicationDefinitionCriterias- Type
- array
- Description
The scoring criteria. Same
{ evaluationCriteria }items as under Get an application definition;scores.list[].criteriarefers back to these names.
- Name
applicationDefinitionEvaluators- Type
- array
- Description
The round-level evaluators. Same
{ userId, user }items as under Get an application definition.
applicationProjectSustainableDevelopmentGoals array items
- Name
sustainableDevelopmentGoalId- Type
- integer
- Description
The ID of a UN Sustainable Development Goal selected on the application's project.
applicationEvaluators array items
- Name
id- Type
- integer
- Description
The evaluator's user ID.
- Name
firstName- Type
- string | null
- Description
The evaluator's first name.
- Name
lastName- Type
- string | null
- Description
The evaluator's last name.
- Name
photo- Type
- string | null
- Description
Relative path to the evaluator's profile picture, or
nullwhen they have not uploaded one.
projectForm object
Same FormDetailDto shape as the form object under Get an application definition — id, name, description, communityId, type, creationDate, lastEditionDate, userCreatorId, questions, sections, includeInLandingPage, isDefaultCommunityProjectForm. Its id matches the formId on every projectAnswers item.
projectAnswers array items
- Name
id- Type
- integer
- Description
The answer's own ID.
- Name
formId- Type
- integer
- Description
The project form the answered question belongs to.
- Name
formQuestionId- Type
- integer
- Description
The ID of the answered project-form question.
- Name
userId- Type
- integer
- Description
The ID of the user who saved the answer.
- Name
lastSubmitedTime- Type
- string | null
- Description
ISO-8601 timestamp of the last save.
nullif the answer has never been submitted.
- Name
applicationId- Type
- integer
- Description
Always
0on project answers — they are keyed by community project rather than by application.
- Name
tabEntityId- Type
- integer
- Description
Always
0here; the field only carries a value for tab-entity form answers.
- Name
projectId- Type
- integer
- Description
Always
0here; project answers do not carry a project ID.
- Name
answer- Type
- string | null
- Description
The free-text or serialized answer value.
nullfor choice- and scale-type questions, which use the order fields instead.
- Name
optionAnswerOrder- Type
- integer
- Description
The zero-based index of the selected option, for choice, scale and country questions.
0when unused.
- Name
optionRowAnswerOrder- Type
- integer
- Description
The zero-based row index for table questions.
0when unused.
answers object
- Name
count- Type
- integer
- Description
The number of application-form answers returned.
- Name
list- Type
- array
- Description
The answers. Described under the
answers.listarray items below.
- Name
filters- Type
- array | null
- Description
Always
nullhere.
answers.list array items
Same eleven-member answer shape as the projectAnswers array items above, except that formId is the application form's ID and applicationId is this response's ID rather than 0.
scores object
- Name
count- Type
- integer
- Description
The number of score rows returned.
- Name
list- Type
- array
- Description
One row per evaluator per criterion. Described under the
scores.listarray items below.
- Name
filters- Type
- array | null
- Description
Always
nullhere.
scores.list array items
- Name
userId- Type
- integer
- Description
The evaluator's user ID.
- Name
user- Type
- object | null
- Description
The evaluator's display data.
nullwhen the evaluator record could not be resolved. Described under thescores.list[].userobject below.
- Name
criteria- Type
- string | null
- Description
The criterion this score was given for. Matches one of
applicationDefinition.applicationDefinitionCriterias[].evaluationCriteria, or the evaluation-form question title when the round scores via an evaluation form.
- Name
score- Type
- number
- Description
The score the evaluator gave for that criterion.
scores.list[].user object
- Name
name- Type
- string | null
- Description
The evaluator's full name.
- Name
photoUrl- Type
- string | null
- Description
Relative path to the evaluator's profile picture.
comments object
- Name
count- Type
- integer
- Description
The total number of comments on the response.
- Name
list- Type
- array
- Description
The comment thread. Described under the
comments.listarray items below.
- Name
filters- Type
- array | null
- Description
Always
nullhere.
comments.list array items
- Name
id- Type
- integer
- Description
The comment ID.
- Name
parentId- Type
- integer
- Description
The ID of the comment this one replies to.
0for a top-level comment.
- Name
content- Type
- string | null
- Description
The comment's HTML body.
- Name
postDate- Type
- string
- Description
ISO-8601 timestamp of when the comment was posted.
- Name
lastUpdated- Type
- string
- Description
ISO-8601 timestamp of the last edit.
- Name
authorName- Type
- string | null
- Description
The author's full name.
- Name
authorPhoto- Type
- string | null
- Description
Relative path to the author's profile picture.
- Name
authorOccupation- Type
- string | null
- Description
The author's occupation.
- Name
commentCount- Type
- integer
- Description
The number of direct replies.
- Name
likeCount- Type
- integer
- Description
The number of likes.
- Name
dislikeCount- Type
- integer
- Description
The number of dislikes.
- Name
userLikesComment- Type
- boolean
- Description
truewhen the calling user has liked the comment.
- Name
userDislikesComment- Type
- boolean
- Description
truewhen the calling user has disliked the comment.
- Name
comments- Type
- array | null
- Description
The replies, each the same shape.
- Name
canUserEdit- Type
- boolean
- Description
truewhen the calling user may edit the comment.
- Name
canUserRemove- Type
- boolean
- Description
truewhen the calling user may delete the comment.
- Name
authorId- Type
- integer
- Description
The author's user ID.
- Name
applicationId- Type
- integer
- Description
The application the comment belongs to.
- Name
isPinned- Type
- boolean
- Description
truewhen an administrator pinned the comment to the top of the thread.
Possible errors
- Name
401 Unauthorized- Description
Missing or invalid token.
- Name
500 Internal Server Error- Description
The caller has no access to this application (
{ "error": "CurrentUserCantViewApplicationException" }), or no application has that ID ({ "error": "ApplicationNotFoundException" }).
Request
curl -X GET https://api.babele.co/api/Application/1224 \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJleGFtcGxlIiwiZXhwIjoxNzQzODY1MjA3fQ.DEMO_SIGNATURE_NOT_A_REAL_TOKEN"
Response
{
"id": 1224,
"applicationResponseGroupId": 1224,
"applicationDefinitionId": 1,
"applicationDefinitionName": "Test Application",
"applicationDefinitionGroupId": 1,
"round": 1,
"applicationDefinition": {
"id": 1,
"communityId": 999,
"name": "Test Application",
"round": 1,
"roundType": 0,
"applicationDefinitionGroupId": 1,
"createProject": true,
"evaluatorAccessMode": 1,
"applicationDefinitionCriterias": [
{ "evaluationCriteria": "Innovation" },
{ "evaluationCriteria": "Impact" }
],
"applicationDefinitionEvaluators": [
{
"userId": 398953,
"user": {
"name": "Ana Petrescu",
"photoUrl": "/Images/Uploads/profile_picture/ana_256x256.jpg"
}
}
]
},
"promotedFromApplicationId": null,
"applicantId": 398962,
"applicantEmail": "john.doe@example.com",
"applicantFirstName": "John",
"applicantLastName": "Doe",
"status": 3,
"applyDate": "2026-06-18T09:00:00Z",
"draftDate": null,
"pendingDate": "2026-06-19T11:30:00Z",
"acceptedDate": "2026-06-22T08:15:00Z",
"deniedDate": null,
"existingProjectId": 456,
"projectName": "Existing Project",
"projectDescription": "Existing Description",
"projectCategoryId": 2,
"projectDevelopmentStage": "MVP",
"projectCountryId": 2,
"projectCity": "Toronto",
"projectLogoImage": "",
"projectMainImageOrVideo": "",
"averageScore": 4,
"applicationProjectSustainableDevelopmentGoals": [
{ "sustainableDevelopmentGoalId": 1 },
{ "sustainableDevelopmentGoalId": 3 }
],
"tags": ["promising"],
"applicationEvaluators": [
{ "id": 398953, "firstName": "Ana", "lastName": "Petrescu", "photo": "/Images/Uploads/profile_picture/ana_256x256.jpg" }
],
"projectForm": {
"id": 1430,
"name": "Clean Water Initiative project form",
"description": "Project profile fields collected during the application.",
"communityId": 999,
"type": 0,
"creationDate": "2023-03-02T20:22:54.206Z",
"lastEditionDate": "2026-06-20T14:05:00Z",
"userCreatorId": 15,
"questions": [
{
"id": 8801,
"title": "Project name",
"description": null,
"question": "What is your project called?",
"questionOrder": 0,
"mandatoryAnswer": true,
"editableAnswer": true,
"answerType": -13,
"isProjectField": true,
"allowMultipleAnswer": false,
"questionLinks": [],
"questionOptions": [],
"isFilterable": false,
"privacyLevel": 1,
"privacyCirclesIds": [],
"conditionalLogicType": 0,
"formQuestionConditionalLogicList": [],
"fromApplication": false,
"hasWeightedAverage": false,
"weightedAverage": null,
"convertToKpi": false,
"changePermissionPrivacyLevel": 0,
"questionType": 0,
"includeInProjectProfile": true,
"hasLimit": false,
"limitType": null,
"limitValue": null,
"defaultProjectFormQuestionId": 8500,
"sectionId": null
}
],
"sections": [],
"includeInLandingPage": false,
"isDefaultCommunityProjectForm": false
},
"projectAnswers": [
{
"id": 1,
"formId": 1430,
"formQuestionId": 8801,
"userId": 398962,
"lastSubmitedTime": "2026-06-19T11:29:00Z",
"applicationId": 0,
"tabEntityId": 0,
"projectId": 0,
"answer": "Existing project answer",
"optionAnswerOrder": 0,
"optionRowAnswerOrder": 0
}
],
"comments": {
"count": 1,
"list": [
{
"id": 77,
"parentId": 0,
"content": "<p>Strong team — let's shortlist.</p>",
"postDate": "2026-06-21T09:15:00Z",
"lastUpdated": "2026-06-21T09:15:00Z",
"authorName": "Ana Petrescu",
"authorPhoto": "/Images/Uploads/profile_picture/ana_256x256.jpg",
"authorOccupation": "Program Manager",
"commentCount": 0,
"likeCount": 2,
"dislikeCount": 0,
"userLikesComment": false,
"userDislikesComment": false,
"comments": [],
"canUserEdit": false,
"canUserRemove": false,
"authorId": 398953,
"applicationId": 1224,
"isPinned": true
}
],
"filters": null
},
"scores": {
"count": 2,
"list": [
{
"userId": 398953,
"user": { "name": "Ana Petrescu", "photoUrl": "/Images/Uploads/profile_picture/ana_256x256.jpg" },
"criteria": "Innovation",
"score": 4.5
},
{
"userId": 400627,
"user": { "name": "Marco Ruiz", "photoUrl": null },
"criteria": "Impact",
"score": 3.5
}
],
"filters": null
},
"answers": {
"count": 1,
"list": [
{
"id": 2,
"formId": 1258,
"formQuestionId": 4471,
"userId": 398962,
"lastSubmitedTime": "2026-06-19T11:29:00Z",
"applicationId": 1224,
"tabEntityId": 0,
"projectId": 0,
"answer": "Existing additional answer",
"optionAnswerOrder": 0,
"optionRowAnswerOrder": 0
}
],
"filters": null
},
"websiteUrl": "https://example.com",
"facebookUrl": "https://facebook.com/example",
"linkedInUrl": "https://linkedin.com/company/example",
"eventId": null
}
Get the current evaluator's evaluation
Fetch the calling evaluator's evaluation form answers for this application, plus the aggregate scores (used to render the evaluation form). The response is an EvaluationDto. Note the path token is {applicationId}, not {id}.
There is no communityId on this endpoint. The evaluation is resolved from the application ID and the calling user alone; no community is ever looked up.
When the application has no evaluation answers at all, this endpoint
returns 200 OK with a body of null — not an empty object. Guard
against a null body before reading any attribute. A caller who has never
evaluated this application gets a 200 whose currentEvaluatorEvaluation
is empty.
Path parameters
- Name
applicationId- Type
- integer
- Description
The application ID.
Response attributes
- Name
currentEvaluatorEvaluation- Type
- array
- Description
The calling evaluator's own answers on the evaluation form. Empty when the caller has not evaluated this application. Described under the
currentEvaluatorEvaluationarray items below.
- Name
evaluationList- Type
- array
- Description
One entry per other evaluator who has evaluated the application, with their computed score. The caller's own score is reported in
evaluatorScoreinstead. Described under theevaluationListarray items below.
- Name
overallScore- Type
- number | null
- Description
The mean of every evaluator's score for this application.
nullwhen no evaluator has scored it.
- Name
overallMaxScale- Type
- integer
- Description
The maximum value of the evaluation scale in use. Falls back to
5when the form has no scale question.
- Name
evaluatorScore- Type
- number | null
- Description
The calling evaluator's own computed score.
nullwhen the caller has not evaluated this application.
currentEvaluatorEvaluation array items
Only the newest answer per question is returned — older duplicates are collapsed.
- Name
id- Type
- integer
- Description
The evaluation answer's own ID.
- Name
formId- Type
- integer
- Description
The evaluation form the answered question belongs to.
- Name
formQuestionId- Type
- integer
- Description
The evaluation-form question this answer belongs to.
- Name
answer- Type
- string | null
- Description
The free-text answer.
nullfor choice, scale and country questions, which useoptionAnswerOrder.
- Name
optionAnswerOrder- Type
- integer
- Description
The zero-based index of the selected option. For a scale question this is the raw score, before it is divided by the scale maximum.
- Name
optionRowAnswerOrder- Type
- integer
- Description
The zero-based row index for table questions.
0when unused.
- Name
applicationId- Type
- integer
- Description
The application being evaluated.
- Name
answerType- Type
- integer
- Description
The question's answer type:
0RadioChoice,1CheckBox,2DropDown,3MultipleChoice,4AccountMoney,5Calendar,7ShortText,8LongText,9File,10Scale,11Country,12Table,13Numeric. Only10Scale answers contribute to the computed scores.
evaluationList array items
- Name
evaluatorId- Type
- integer
- Description
The other evaluator's user ID.
- Name
score- Type
- number
- Description
That evaluator's computed score for the application.
Possible errors
- Name
401 Unauthorized- Description
Missing or invalid token.
Request
curl -X GET https://api.babele.co/api/Application/1224/Evaluation \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJleGFtcGxlIiwiZXhwIjoxNzQzODY1MjA3fQ.DEMO_SIGNATURE_NOT_A_REAL_TOKEN"
Response
{
"currentEvaluatorEvaluation": [
{
"id": 1,
"formId": 100,
"formQuestionId": 10,
"answer": null,
"optionAnswerOrder": 4,
"optionRowAnswerOrder": 0,
"applicationId": 1224,
"answerType": 10
},
{
"id": 2,
"formId": 100,
"formQuestionId": 11,
"answer": "Strong team, clear impact thesis.",
"optionAnswerOrder": 0,
"optionRowAnswerOrder": 0,
"applicationId": 1224,
"answerType": 8
}
],
"evaluationList": [
{ "evaluatorId": 398953, "score": 4.5 },
{ "evaluatorId": 400627, "score": 3.5 }
],
"overallScore": 4,
"overallMaxScale": 5,
"evaluatorScore": 4.5
}
Get all evaluations for an application
Return every evaluator's submitted evaluation answers for this application — the admin "all evaluations" comparison view (AllEvaluationsDto).
There is no communityId on this endpoint. Access is decided from the application itself, which resolves its own community server-side.
The evaluations array is never null, but the whole body is: the
endpoint returns 200 OK with a body of null both when the application
does not exist and when the caller is not allowed to see all evaluations.
When the application exists, the caller may view it and nobody has
evaluated it yet, the body is { "evaluations": [] }.
Path parameters
- Name
applicationId- Type
- integer
- Description
The application ID.
Response attributes
- Name
evaluations- Type
- array
- Description
One entry per evaluator who has submitted answers. Empty when nobody has evaluated the application yet. Described under the
evaluationsarray items below.
evaluations array items
- Name
userId- Type
- integer
- Description
The evaluator's user ID.
- Name
name- Type
- string | null
- Description
The evaluator's full name.
nullwhen the evaluator's user record could not be loaded.
- Name
photoUrl- Type
- string | null
- Description
Relative path to the evaluator's profile picture.
nullwhen they have no picture, or when the user record could not be loaded.
- Name
answers- Type
- array
- Description
That evaluator's evaluation-form answers, one per question. Described under the
evaluations[].answersarray items below.
evaluations[].answers array items
Same shape as the currentEvaluatorEvaluation array items under Get the current evaluator's evaluation above — id, formId, formQuestionId, answer, optionAnswerOrder, optionRowAnswerOrder, applicationId and answerType. Duplicate answers to the same question are collapsed to the newest.
Possible errors
- Name
401 Unauthorized- Description
Missing or invalid token.
Request
curl -X GET https://api.babele.co/api/Application/1224/Evaluations \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJleGFtcGxlIiwiZXhwIjoxNzQzODY1MjA3fQ.DEMO_SIGNATURE_NOT_A_REAL_TOKEN"
Response
{
"evaluations": [
{
"userId": 398953,
"name": "Ana Petrescu",
"photoUrl": "/Images/Uploads/profile_picture/ana_256x256.jpg",
"answers": [
{
"id": 1,
"formId": 100,
"formQuestionId": 10,
"answer": null,
"optionAnswerOrder": 4,
"optionRowAnswerOrder": 0,
"applicationId": 1224,
"answerType": 10
},
{
"id": 2,
"formId": 100,
"formQuestionId": 11,
"answer": "Great project with strong potential",
"optionAnswerOrder": 0,
"optionRowAnswerOrder": 0,
"applicationId": 1224,
"answerType": 8
}
]
},
{
"userId": 400627,
"name": "Marco Ruiz",
"photoUrl": null,
"answers": [
{
"id": 3,
"formId": 100,
"formQuestionId": 10,
"answer": null,
"optionAnswerOrder": 3,
"optionRowAnswerOrder": 0,
"applicationId": 1224,
"answerType": 10
}
]
}
]
}
Get round responses for a group
Return every per-round application response that belongs to one multi-round application "response group" — the candidate's full journey across rounds. Each item is a full ApplicationDetailDto, one per round.
There is no communityId on this endpoint. The community is taken from the group's first application definition and used only to resolve the caller's role and the community's URL-visibility settings.
Path parameters
- Name
applicationResponseGroupId- Type
- integer
- Description
The application response group ID (a 64-bit integer, unlike most IDs here).
Response attributes
- Name
applicationResponseGroupId- Type
- integer
- Description
The 64-bit response-group ID that was requested.
- Name
applications- Type
- array
- Description
One full application response per round, ordered by round number. Rounds the caller may not see are omitted; if that leaves nothing, the request fails rather than returning an empty array. Described under the
applicationsarray items below.
applications array items
Each element is the same response shape documented under Get an application response above, with the same 40 attributes and the same nested applicationDefinition, projectForm, projectAnswers, answers, scores and comments shapes. These members behave differently per round:
- Name
scores- Type
- object | null
- Description
nullfor callers without evaluation access to that round. An evaluator assigned to the round sees only their own scores; the applicant's own empty score set collapses tonull.
- Name
averageScore- Type
- number | null
- Description
Forced to
nullon every round whose evaluations the caller may not see.
- Name
websiteUrl- Type
- string | null
- Description
Blanked to
""according to the community's visibility settings, applied once for the whole group. Same forfacebookUrlandlinkedInUrl.
- Name
applicationEvaluators- Type
- array | null
- Description
Filled from the response group's evaluators for that round only.
Possible errors
- Name
401 Unauthorized- Description
Missing or invalid token.
- Name
500 Internal Server Error- Description
The caller has no access to one of the group's responses. The response body is
{ "error": "CurrentUserCantViewApplicationException" }.
Request
curl -X GET https://api.babele.co/api/Application/group/100 \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJleGFtcGxlIiwiZXhwIjoxNzQzODY1MjA3fQ.DEMO_SIGNATURE_NOT_A_REAL_TOKEN"
Response
{
"applicationResponseGroupId": 100,
"applications": [
{
"id": 100,
"applicationResponseGroupId": 100,
"applicationDefinitionId": 1,
"applicationDefinitionName": "Round 1 Application",
"applicationDefinitionGroupId": 100,
"round": 1,
"applicationDefinition": {
"id": 1,
"communityId": 999,
"name": "Round 1 Application",
"round": 1,
"roundType": 0,
"applicationDefinitionGroupId": 100,
"createProject": true,
"evaluatorAccessMode": 1,
"applicationDefinitionCriterias": [
{ "evaluationCriteria": "Innovation" },
{ "evaluationCriteria": "Impact" }
],
"applicationDefinitionEvaluators": [
{
"userId": 398953,
"user": {
"name": "Ana Petrescu",
"photoUrl": "/Images/Uploads/profile_picture/ana_256x256.jpg"
}
}
]
},
"promotedFromApplicationId": null,
"applicantId": 12,
"applicantEmail": "test@example.com",
"applicantFirstName": "Test",
"applicantLastName": "User",
"status": 3,
"applyDate": "2024-01-15T10:00:00.000Z",
"draftDate": null,
"pendingDate": "2024-01-15T10:00:00.000Z",
"acceptedDate": "2024-01-20T10:00:00.000Z",
"deniedDate": null,
"existingProjectId": null,
"projectName": "Test Project",
"projectDescription": "A test project description",
"projectCategoryId": 1420,
"projectDevelopmentStage": "MVP",
"projectCountryId": 1,
"projectCity": "New York",
"projectLogoImage": "",
"projectMainImageOrVideo": "",
"averageScore": 4.5,
"applicationProjectSustainableDevelopmentGoals": [
{ "sustainableDevelopmentGoalId": 1 }
],
"tags": ["promising"],
"applicationEvaluators": [
{ "id": 398953, "firstName": "Ana", "lastName": "Petrescu", "photo": "/Images/Uploads/profile_picture/ana_256x256.jpg" }
],
"projectForm": null,
"projectAnswers": [
{
"id": 100,
"formId": 1430,
"formQuestionId": 8801,
"userId": 12,
"lastSubmitedTime": "2024-01-15T10:00:00.000Z",
"applicationId": 0,
"tabEntityId": 0,
"projectId": 0,
"answer": "We solve climate change",
"optionAnswerOrder": 0,
"optionRowAnswerOrder": 0
}
],
"comments": null,
"scores": {
"count": 1,
"list": [
{
"userId": 398953,
"user": { "name": "Ana Petrescu", "photoUrl": "/Images/Uploads/profile_picture/ana_256x256.jpg" },
"criteria": "Innovation",
"score": 4.5
}
],
"filters": null
},
"answers": {
"count": 1,
"list": [
{
"id": 1,
"formId": 1258,
"formQuestionId": 4471,
"userId": 12,
"lastSubmitedTime": "2024-01-15T10:00:00.000Z",
"applicationId": 100,
"tabEntityId": 0,
"projectId": 0,
"answer": "I want to join because it's a great opportunity",
"optionAnswerOrder": 0,
"optionRowAnswerOrder": 0
}
],
"filters": null
},
"websiteUrl": "",
"facebookUrl": "",
"linkedInUrl": "",
"eventId": null
}
]
}
Accept an application
Accept a pending application. This creates/finishes the project, optionally assigns a methodology, promotes the applicant to the next round (or finalizes), and sends the acceptance email. Returns 204 No Content.
The application's status must be Pending (2); otherwise the domain error CanNotAcceptOrRejectAnApplicationThatIsInNotInPendingStatus is returned.
There is no communityId parameter: the community is read from the application's definition. Acceptance is where the project actually joins that community — for a response carrying an existingProjectId, the community project for that community and project is re-approved and re-enabled if it already exists, or scaffolded if it does not. If the target community project is already enrolled in the target program, acceptance is aborted before anything is committed.
To accept every pending application matching a filter at once, use the
bulk variant POST /api/Application/{applicationDefinitionId}/GroupAcceptApplication.
It takes an ApplicationFilter body — the same shape documented under
List applications, with all of its members and
nested filter objects — accepts the same optional methodologyId query
parameter, and also returns 204. Three members of the body are
overridden: status is forced to 2 Pending, and skip and take are
forced to 0, so every matching pending response is processed and paging
is ignored. Conflicts on individual responses — a methodology already
assigned, or a project already in the program — are swallowed so that one
bad row does not abort the batch.
Path parameters
- Name
id- Type
- integer
- Description
The application ID.
Optional query parameters
- Name
methodologyId- Type
- integer
- Description
Methodology/program template to assign to the created project on acceptance. Defaults to
0. Used only when the application definition has no methodology configured, and only on the final round.
Possible errors
- Name
401 Unauthorized- Description
Missing or invalid token.
- Name
500 Internal Server Error- Description
The application is not in
Pendingstatus ({ "error": "CanNotAcceptOrRejectAnApplicationThatIsInNotInPendingStatus" }), or no application has that ID ({ "error": "ApplicationNotFoundException" }).
Request
curl -X POST "https://api.babele.co/api/Application/1224/AcceptApplication?methodologyId=86" \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJleGFtcGxlIiwiZXhwIjoxNzQzODY1MjA3fQ.DEMO_SIGNATURE_NOT_A_REAL_TOKEN"
Reject an application
Reject (deny) a pending application and send the rejection email. Returns 204 No Content. As with acceptance, the application's status must be Pending.
There is no communityId parameter, and rejection never resolves a community at all: it flips the status to Denied, stamps deniedDate and — when the definition has notifyApplicants set — sends the rejection notification.
To reject every pending application matching a filter at once, use the
bulk variant POST /api/Application/{applicationDefinitionId}/GroupRejectApplication,
which takes an ApplicationFilter body — the same shape documented under
List applications — and also returns 204. As with
the bulk accept, status is forced to 2 Pending and skip/take are
forced to 0, so paging is ignored and every matching pending response is
rejected. A response that cannot be found is skipped rather than aborting
the batch.
Path parameters
- Name
id- Type
- integer
- Description
The application ID.
Possible errors
- Name
401 Unauthorized- Description
Missing or invalid token.
- Name
500 Internal Server Error- Description
The application is not in
Pendingstatus ({ "error": "CanNotAcceptOrRejectAnApplicationThatIsInNotInPendingStatus" }), or no application has that ID ({ "error": "ApplicationNotFoundException" }).
Request
curl -X POST https://api.babele.co/api/Application/1224/RejectApplication \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJleGFtcGxlIiwiZXhwIjoxNzQzODY1MjA3fQ.DEMO_SIGNATURE_NOT_A_REAL_TOKEN"
Submit an evaluation
Submit the calling evaluator's evaluation answers for an application for the first time. The request body is an array of FormAnswerDto; the response is a FormAnswerDetailDtoResultListDto. Use this when none of the answers carry an id yet — to update existing answers, use Update an evaluation.
There is no communityId on this endpoint — the only inputs are the application ID and the answer array.
This endpoint is not create-only. If the calling evaluator already has answers for this application, it delegates to Update an evaluation instead, so calling it twice updates rather than duplicating.
Path parameters
- Name
applicationId- Type
- integer
- Description
The application ID.
Request body attributes
- Name
(array)- Type
- array
- Description
The evaluation answers to save. Described under the
(array)array items below.
(array) array items
- Name
id- Type
- integer
- Description
The existing answer's ID. Send
0for a new answer.
- Name
formId- Type
- integer
- Description
The evaluation form the answered question belongs to. The
formIdof the first item determines which form the whole request is validated against.
- Name
formQuestionId- Type
- integer
- Description
The evaluation-form question being answered.
- Name
answer- Type
- string | null
- Description
The free-text answer. Send
nullfor choice, scale and country questions, which carry their value inoptionAnswerOrder.
- Name
optionAnswerOrder- Type
- integer
- Description
The zero-based index of the selected option; for a scale question, the raw score. Send
0when unused.
- Name
optionRowAnswerOrder- Type
- integer
- Description
The zero-based row index for table questions. Send
0when unused.
The calling user's ID and the application ID are stamped server-side — they are not read from the payload.
Response attributes
- Name
count- Type
- integer
- Description
The number of saved answers returned.
- Name
list- Type
- array
- Description
The saved evaluation answers. Described under the
listarray items below.
- Name
filters- Type
- array | null
- Description
Always
nullon this endpoint.
list array items
- Name
id- Type
- integer
- Description
The answer's own ID.
- Name
formId- Type
- integer
- Description
The evaluation form the answered question belongs to.
- Name
formQuestionId- Type
- integer
- Description
The ID of the answered question.
- Name
userId- Type
- integer
- Description
The ID of the evaluator who saved the answer.
- Name
lastSubmitedTime- Type
- string | null
- Description
ISO-8601 timestamp of the last save.
nullif the answer has never been submitted.
- Name
applicationId- Type
- integer
- Description
The application being evaluated.
- Name
tabEntityId- Type
- integer
- Description
Always
0on evaluation answers; the field only carries a value for tab-entity form answers.
- Name
projectId- Type
- integer
- Description
Always
0on evaluation answers.
- Name
answer- Type
- string | null
- Description
The free-text answer value.
nullfor choice- and scale-type questions.
- Name
optionAnswerOrder- Type
- integer
- Description
The zero-based index of the selected option.
0when unused.
- Name
optionRowAnswerOrder- Type
- integer
- Description
The zero-based row index for table questions.
0when unused.
Possible errors
- Name
401 Unauthorized- Description
Missing or invalid token.
- Name
404 Not Found- Description
The
formIdcarried on the submitted answers matches no form.
Request
curl -X POST https://api.babele.co/api/Application/1224/SubmitEvaluation \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJleGFtcGxlIiwiZXhwIjoxNzQzODY1MjA3fQ.DEMO_SIGNATURE_NOT_A_REAL_TOKEN" \
-H "Content-Type: application/json" \
-d '[{"id":0,"formId":100,"formQuestionId":10,"answer":null,"optionAnswerOrder":4,"optionRowAnswerOrder":0},{"id":0,"formId":100,"formQuestionId":11,"answer":"Strong founder-market fit.","optionAnswerOrder":0,"optionRowAnswerOrder":0}]'
Response
{
"count": 2,
"list": [
{
"id": 1,
"formId": 100,
"formQuestionId": 10,
"userId": 398953,
"lastSubmitedTime": "2026-06-28T00:00:00Z",
"applicationId": 1224,
"tabEntityId": 0,
"projectId": 0,
"answer": null,
"optionAnswerOrder": 4,
"optionRowAnswerOrder": 0
},
{
"id": 2,
"formId": 100,
"formQuestionId": 11,
"userId": 398953,
"lastSubmitedTime": "2026-06-28T00:00:00Z",
"applicationId": 1224,
"tabEntityId": 0,
"projectId": 0,
"answer": "Strong founder-market fit.",
"optionAnswerOrder": 0,
"optionRowAnswerOrder": 0
}
],
"filters": null
}
Update an evaluation
Update the calling evaluator's previously-submitted evaluation answers. Identical to Submit an evaluation, except each answer item carries its existing id. The response is the same FormAnswerDetailDtoResultListDto.
There is no communityId on this endpoint — the only inputs are the application ID and the answer array.
The payload is a full replacement of the calling evaluator's answer
set for this application. Any existing answer of theirs whose id is not
present in the request is deleted; items with a known id are updated
in place, and items with an unknown or zero id are inserted. The
returned list is re-read from the database afterwards, so it contains
every answer the caller now has for this application, not only the ones
sent.
Path parameters
- Name
applicationId- Type
- integer
- Description
The application ID.
Request body attributes
- Name
(array)- Type
- array
- Description
The evaluation answers to keep. Same element shape as the
(array)array items under Submit an evaluation —{ id, formId, formQuestionId, answer, optionAnswerOrder, optionRowAnswerOrder }— except that each item is expected to carry its existingid.
Response attributes
Same shape as Submit an evaluation above: count, list and filters, with the same eleven-member answer items. count is the number of answers the caller now has stored for this application.
Possible errors
- Name
401 Unauthorized- Description
Missing or invalid token.
- Name
404 Not Found- Description
The
formIdcarried on the submitted answers matches no form.
Request
curl -X PUT https://api.babele.co/api/Application/1224/UpdateEvaluation \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJleGFtcGxlIiwiZXhwIjoxNzQzODY1MjA3fQ.DEMO_SIGNATURE_NOT_A_REAL_TOKEN" \
-H "Content-Type: application/json" \
-d '[{"id":1,"formId":100,"formQuestionId":10,"answer":null,"optionAnswerOrder":3,"optionRowAnswerOrder":0}]'
Response
{
"count": 1,
"list": [
{
"id": 1,
"formId": 100,
"formQuestionId": 10,
"userId": 398953,
"lastSubmitedTime": "2026-06-28T00:00:00Z",
"applicationId": 1224,
"tabEntityId": 0,
"projectId": 0,
"answer": null,
"optionAnswerOrder": 3,
"optionRowAnswerOrder": 0
}
],
"filters": null
}
Save application tags
Replace the tag set on one application. The request body is { tags: string[] }. Returns 204 No Content.
There is no communityId on this endpoint: tags are written against the application ID alone. On the group variant below the community is implied by the {applicationDefinitionId} route segment.
To save the same tags onto every application matching a filter, use the
group variant POST /api/Application/{applicationDefinitionId}/GroupSaveTags,
which takes a GroupSaveTagsDto body —
{ applicationFilter, editApplicationTagsDto } — and also returns 204.
Its shape is documented under the GroupSaveTagsDto object below.
Two sibling endpoints rewrite a community's whole application-tag
vocabulary and take communityId as a required route segment:
POST /api/Application/{communityId}/bulk/Tag, which renames tags
community-wide and takes a body of
[{ currentTagName, newTagName }], and
DELETE /api/Application/{communityId}/bulk/Tag, which deletes named
application tags from the community and takes a bare array of tag-name
strings. Both require the caller to be an administrator of that
community, and both return 200 OK with an empty body rather than
204. Because communityId is part of the path there it cannot be
omitted — the route simply will not match.
Path parameters
- Name
id- Type
- integer
- Description
The application ID.
Request body attributes
- Name
tags- Type
- array
- Description
The full set of tag names to assign to the application, as an array of strings. The set is replacing, not additive: tags present on the application but absent from this array are removed, and tags in the array that are not yet on the application are added.
GroupSaveTagsDto object
The body of the group variant.
- Name
applicationFilter- Type
- object
- Description
Selects which of the definition's applications receive the tags. Same shape as the
ApplicationFilterbody documented under List applications, including its nestedfiltersarray items,countryFilterobject andtagFilterobject. An empty object{}matches every application in the definition.
- Name
editApplicationTagsDto- Type
- object
- Description
The tag set to write onto every matched application. Described under the
editApplicationTagsDtoobject below.
editApplicationTagsDto object
- Name
tags- Type
- array
- Description
The full set of tag names written onto every matched application, as an array of strings, replacing that application's existing tags.
On the group variant the filter behaves differently from the list endpoint in two ways worth knowing before you send one: skip, take and pageSize are overwritten to 0, so the operation always applies to every match and cannot be limited to a page; and hasEvaluators, evaluationStatus, evaluatorFilter and evaluatedBy are accepted but silently ignored, so they cannot be used to narrow the set.
Possible errors
- Name
401 Unauthorized- Description
Missing or invalid token.
Request
curl -X POST https://api.babele.co/api/Application/1224/SaveTags \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJleGFtcGxlIiwiZXhwIjoxNzQzODY1MjA3fQ.DEMO_SIGNATURE_NOT_A_REAL_TOKEN" \
-H "Content-Type: application/json" \
-d '{"tags":["promising","interview-scheduled"]}'
Update application scores
Save or update the calling evaluator's per-criteria scores for an application. The request body is an array of { criteria, score }; the response is an ApplicationScoreListDto. The same route also exposes GET /api/Application/{id}/Scores (read) and POST /api/Application/{id}/Scores (create), all returning the same shape.
The request score is an integer; the response score is typed as a floating-point number. On this endpoint it echoes the submitted integer — fractional values only appear on GET /api/Application/{id}/Scores for definitions that use an evaluation form, where each entry is that evaluator's weighted average.
There is no communityId on this endpoint: everything is resolved from the application ID and the calling user.
Path parameters
- Name
id- Type
- integer
- Description
The application ID.
Request body attributes
- Name
(array)- Type
- array
- Description
One entry per criterion. Described under the
(array)array items below.
(array) array items
- Name
criteria- Type
- string | null
- Description
The evaluation criterion this score applies to. It must match one of the application definition's configured criteria exactly, character for character — the API resolves the criterion by string equality, and a value that matches nothing makes the request fail.
- Name
score- Type
- integer
- Description
The score awarded for that criterion. The platform's evaluation UI submits a whole number from 1 to 5; the API stores whatever integer is sent.
Response attributes
- Name
count- Type
- integer
- Description
The number of score entries in
list. On this endpoint it equals the length of the request array.
- Name
list- Type
- array | null
- Description
The scores written by this request, one entry per criterion. Described under the
listarray items below.
- Name
filters- Type
- array | null
- Description
Always
nullon this endpoint, and on theGETandPOSTvariants of the same route. The field is inherited from the shared list envelope and is only populated by endpoints that return question-and-answer facets; when populated, each element is{ question, answers }.
list array items
- Name
userId- Type
- integer
- Description
The ID of the evaluator the score belongs to. It is
0when the caller is registered as neither a round evaluator nor a response-group evaluator on this application.
- Name
user- Type
- object | null
- Description
The evaluator's display details.
nullwhen the evaluator record's user could not be resolved — in particular for response-group evaluators on this verb, whereuserIdis still correct. Described under thelist[].userobject below.
- Name
criteria- Type
- string | null
- Description
The evaluation criterion the score applies to, echoed back from the definition's configured criteria.
- Name
score- Type
- number
- Description
The score for that criterion, as a floating-point number. On
PUTandPOSTit is the integer that was just submitted.
list[].user object
- Name
name- Type
- string | null
- Description
The evaluator's first and last name joined by a space, trimmed. Empty when the user record has neither name set.
- Name
photoUrl- Type
- string | null
- Description
Path to the evaluator's profile picture, relative to the platform host. Falls back to the first non-empty photo from the user's linked social accounts, and is
nullwhen the user has no picture at all.
Possible errors
- Name
401 Unauthorized- Description
Missing or invalid token.
- Name
500 Internal Server Error- Description
No application with that ID. The response body is
{ "error": "ApplicationNotFoundException" }.
Request
curl -X PUT https://api.babele.co/api/Application/1224/Scores \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJleGFtcGxlIiwiZXhwIjoxNzQzODY1MjA3fQ.DEMO_SIGNATURE_NOT_A_REAL_TOKEN" \
-H "Content-Type: application/json" \
-d '[{"criteria":"Innovation","score":4},{"criteria":"Impact","score":5}]'
Response
{
"count": 2,
"list": [
{
"userId": 398953,
"user": {
"name": "Admin D3",
"photoUrl": "/Images/Uploads/profile_picture/einstein_202303021441348155_256x256.jpg"
},
"criteria": "Innovation",
"score": 4
},
{
"userId": 398953,
"user": {
"name": "Admin D3",
"photoUrl": "/Images/Uploads/profile_picture/einstein_202303021441348155_256x256.jpg"
},
"criteria": "Impact",
"score": 5
}
],
"filters": null
}
Delete an application
Permanently delete one application response. Returns 204 No Content.
There is no communityId parameter, but there is an implicit community dependency: the caller must be an administrator of the community that owns the application's definition. Because the community is derived server-side there is nothing to supply or omit.
To delete every application matching a filter at once, use the bulk
variant DELETE /api/Application/{applicationDefinitionId}/GroupDeleteApplication.
Note that it carries an ApplicationFilter in the body of a
DELETE request — the same shape documented under
List applications, with all of its members and
nested filter objects — and also returns 204. Each matched application
still goes through the per-application community-admin check.
Three properties of the bulk filter matter before you send one. skip,
take and pageSize are overwritten to 0 before the query runs, so the
operation always applies to every match and cannot be limited to a page.
hasEvaluators, evaluationStatus, evaluatorFilter and evaluatedBy
are accepted but silently ignored, so a deletion narrowed with
evaluatorFilter still deletes every other match. And a body with no
active criteria matches every application in the definition — {} deletes
every response.
Path parameters
- Name
id- Type
- integer
- Description
The application ID.
Possible errors
- Name
401 Unauthorized- Description
Missing or invalid token.
- Name
500 Internal Server Error- Description
The caller is not an administrator of the definition's community (
{ "error": "UserIsNotAdminException" }), or no application has that ID ({ "error": "ApplicationNotFoundException" }).
Request
curl -X DELETE https://api.babele.co/api/Application/1224/DeleteApplication \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJleGFtcGxlIiwiZXhwIjoxNzQzODY1MjA3fQ.DEMO_SIGNATURE_NOT_A_REAL_TOKEN"
