Applications
Applications are used in the Babele platform to evaluate users and projects wanting to join the communities.
Every endpoint on this page requires an authenticated request (a Bearer JWT or an API key). For the management actions — creating, editing or deleting definitions, accepting/rejecting/deleting responses, editing tags and running the bulk Group... variants — community-administrator rights are enforced in the service layer, so an authenticated request that is not a community administrator of the relevant community is rejected with 403 Forbidden. Evaluation-submission endpoints require the caller to be an assigned evaluator. The one exception is the applicant preview endpoint, which is anonymous.
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.
Possible errors
- Name
401 Unauthorized- Description
Missing or invalid token.
- Name
404 Not Found- Description
No application definition with that ID.
Request
curl -X GET https://api.babele.co/api/ApplicationDefinition/1 \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4"
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",
"acceptedEmail": "<p>Congrats, you've been accepted!</p>",
"rejectedEmail": "<p>You've been rejected, sorry!</p>",
"createProject": true,
"formId": 1258,
"roundType": 0,
"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": [],
"isEvaluatorSetByCircle": false,
"language": "en-EN",
"trackUserAccess": "",
"trackApplicationSave": "",
"trackApplicationSubmission": "",
"applicationDefinitionGroupId": null,
"round": null
}
List a community's application definitions
List every application definition belonging to a community. Note this endpoint lives on the Community controller, not the ApplicationDefinition controller.
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.
Path parameters
- Name
id- Type
- integer
- Description
The community ID.
Request
curl -X GET https://api.babele.co/api/Community/999/ApplicationDefinitions \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4"
Response
{
"count": 5,
"filters": null,
"list": [
{
"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",
"createProject": true,
"formId": 1427,
"roundType": 0,
"creatorUserId": 15,
"applicationDefinitionCriterias": [
{ "evaluationCriteria": "Sustainability" }
],
"applicationDefinitionEvaluators": [
{
"userId": 398953,
"user": {
"name": "Admin D3",
"photoUrl": "/Images/Uploads/profile_picture/einstein_202303021441348155_256x256.jpg"
}
}
],
"evalutatorCircleIds": [],
"isEvaluatorSetByCircle": false,
"language": "en-EN",
"applicationDefinitionGroupId": null,
"round": null
},
{
"id": 2,
"communityId": 999,
"name": "Grouped Application - Round 1",
"description": "Test Description for Round 1",
"createProject": true,
"formId": 1428,
"roundType": 0,
"creatorUserId": 15,
"applicationDefinitionCriterias": [],
"applicationDefinitionEvaluators": [],
"evalutatorCircleIds": [],
"isEvaluatorSetByCircle": false,
"language": "en-EN",
"applicationDefinitionGroupId": 100,
"round": 1
}
]
}
Get an applicant preview
Fetch the application definition as an applicant would see it — a privacy-stripped projection produced with the preview flag.
This endpoint is anonymous — unlike every other endpoint on this page, it has no authorization requirement. Treat the returned payload as the applicant-facing projection rather than the full admin configuration.
Path parameters
- Name
id- Type
- integer
- Description
The application definition ID.
Possible errors
- Name
404 Not Found- Description
No application definition with that ID.
Request
curl -X GET https://api.babele.co/api/ApplicationDefinition/1/ApplicantPreview
Response
{
"id": 1,
"communityId": 999,
"name": "Test Application",
"description": "Test Description",
"startDate": "2023-03-02T20:22:54.206Z",
"endDate": "2050-03-02T20:22:54.206Z",
"createProject": true,
"formId": 1258,
"roundType": 0,
"applicationDefinitionCriterias": [
{ "evaluationCriteria": "Sustainability" }
],
"language": "en-EN",
"applicationDefinitionGroupId": null,
"round": null
}
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. Returns an empty array if the group has no definitions.
The {id} path segment is a placeholder; the action actually binds to the applicationDefinitionGroupId query parameter. Pass the same group ID in both places.
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).
Request
curl -X GET "https://api.babele.co/api/ApplicationDefinition/GroupById/100?applicationDefinitionGroupId=100" \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4"
Response
[
{
"id": 2,
"communityId": 999,
"name": "Grouped Application - Round 1",
"roundType": 0,
"applicationDefinitionGroupId": 100,
"round": 1,
"applicationDefinitionCriterias": [],
"applicationDefinitionEvaluators": [],
"evalutatorCircleIds": [],
"isEvaluatorSetByCircle": false,
"language": "en-EN"
},
{
"id": 3,
"communityId": 999,
"name": "Grouped Application - Round 2",
"roundType": 1,
"applicationDefinitionGroupId": 100,
"round": 2,
"applicationDefinitionCriterias": [],
"applicationDefinitionEvaluators": [],
"evalutatorCircleIds": [],
"isEvaluatorSetByCircle": false,
"language": "en-EN"
}
]
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.
Optional query parameters
- Name
skip- Type
- integer
- Description
Paging hint used while gathering filterable values.
- Name
take- Type
- integer
- Description
Paging hint used while gathering filterable values.
Request
curl -X GET https://api.babele.co/api/ApplicationDefinition/1/ApplicationsFilters \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4"
Response
{
"applicationTags": ["newtag", "testtag", "othertag", "updated"],
"applicationCountries": [
{ "id": 2, "name": "Albania", "code": "AL", "timezone": "Europe/Tirane" }
],
"applicationStages": ["", "default_development_stage_idea", "default_development_stage_prototype"],
"applicationIndustries": [
{ "id": 1365, "name": "Ad Tech", "isAddedByUser": false }
],
"applicationSDGs": [
{ "id": 3, "name": "Good Health And Well-Being", "iconName": "goals_icons-individual-rgb-03" }
],
"applicationUserInterests": [],
"applicationFormQuestions": null,
"projectFormQuestions": null,
"applicationEvaluators": [
{ "id": 1, "firstName": "John", "lastName": "Doe", "photo": null }
],
"assignedEvaluators": 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.
Request body attributes
- Name
communityId- Type
- integer
- Description
Required. The owning community ID.
- 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
notifyApplicants- Type
- boolean
- Description
Send accept/reject emails.
- 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 — array of
{ evaluationCriteria }.
- Name
evalutatorCircleIds- Type
- array
- Description
Circles whose members evaluate (note the original misspelling "evalutator").
- Name
applicationDefinitionEvaluators- Type
- array
- Description
Explicit evaluators — array of
{ userId }.
- Name
isEvaluatorSetByCircle- Type
- boolean
- Description
Evaluators are derived from circles.
- Name
applicationDefinitionResponseViewers- Type
- array
- Description
Read-only response viewers — array of
{ userId }.
- 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
evaluationFormId- Type
- integer
- Description
Evaluation form ID.
- Name
applicationDefinitionGroupId- Type
- integer
- Description
Group ID linking rounds together.
- Name
evaluatorAccessMode- Type
- integer
- Description
0all evaluators,1manual assignment.
Possible errors
- Name
400 Bad Request- Description
Malformed body (e.g. missing
communityId).
- Name
403 Forbidden- Description
Not a community administrator of the target community.
Request
curl -X POST https://api.babele.co/api/ApplicationDefinition \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4" \
-H "Content-Type: application/json" \
-d '{"communityId":999,"name":"Test Application","description":"Test Description","createProject":true,"formId":1258,"roundType":0,"language":"en-EN"}'
Response
{
"id": 1,
"communityId": 999,
"name": "Test Application",
"description": "Test Description",
"createProject": true,
"formId": 1258,
"roundType": 0,
"creatorUserId": 15,
"creationDate": "2026-06-28T00:00:00.000Z",
"lastEditionDate": "2026-06-28T00:00:00.000Z",
"applicationDefinitionCriterias": [],
"applicationDefinitionEvaluators": [],
"evalutatorCircleIds": [],
"isEvaluatorSetByCircle": false,
"language": "en-EN",
"applicationDefinitionGroupId": null,
"round": null
}
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.
Path parameters
- Name
id- Type
- integer
- Description
The application definition to update.
Possible errors
- Name
400 Bad Request- Description
Malformed body (e.g. missing
communityId).
- Name
403 Forbidden- Description
Not a community administrator of the target community.
- Name
404 Not Found- Description
No application definition with that ID.
Request
curl -X PUT https://api.babele.co/api/ApplicationDefinition/1 \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4" \
-H "Content-Type: application/json" \
-d '{"communityId":999,"name":"Updated Application","description":"Updated Description","createProject":true,"formId":1258,"roundType":0,"language":"en-EN"}'
Response
{
"id": 1,
"communityId": 999,
"name": "Updated Application",
"description": "Updated Description",
"createProject": true,
"formId": 1258,
"roundType": 0,
"creatorUserId": 15,
"creationDate": "2023-03-02T20:22:54.206Z",
"lastEditionDate": "2026-06-28T00:00:00.000Z",
"applicationDefinitionCriterias": [],
"applicationDefinitionEvaluators": [],
"evalutatorCircleIds": [],
"isEvaluatorSetByCircle": false,
"language": "en-EN",
"applicationDefinitionGroupId": null,
"round": null
}
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, but the client treats it as an array — document it as 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.
Request
curl -X POST https://api.babele.co/api/ApplicationDefinition/CreateApplicationDefinitionRounds \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4" \
-H "Content-Type: application/json" \
-d '[{"communityId":999,"name":"New Application","roundType":0,"round":1,"language":"en-EN"}]'
Response
[
{
"id": 999,
"communityId": 999,
"name": "New Application",
"description": "New application description",
"createProject": true,
"formId": 1427,
"roundType": 0,
"creatorUserId": 15,
"creationDate": "2026-06-28T00:00:00.000Z",
"lastEditionDate": "2026-06-28T00:00:00.000Z",
"applicationDefinitionCriterias": [],
"applicationDefinitionEvaluators": [],
"evalutatorCircleIds": [],
"isEvaluatorSetByCircle": false,
"language": "en-EN",
"applicationDefinitionGroupId": 500,
"round": 1
}
]
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
- Name
applicationDefinitionGroupId- Type
- integer
- Description
Required. The existing group to attach the new round to.
- Name
round- Type
- integer
- Description
The round number for the new round.
- Name
roundType- Type
- integer
- Description
0Form,1InterviewAndForm,2InterviewOnly,3EvaluationOnly.
- Name
communityId- Type
- integer
- Description
Required. The owning community ID.
Request
curl -X POST https://api.babele.co/api/ApplicationDefinition/AddApplicationDefinitionRound \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4" \
-H "Content-Type: application/json" \
-d '{"communityId":999,"name":"Grouped Application - Round 2","applicationDefinitionGroupId":100,"round":2,"roundType":1,"language":"en-EN"}'
Response
{
"id": 3,
"communityId": 999,
"name": "Grouped Application - Round 2",
"roundType": 1,
"applicationDefinitionGroupId": 100,
"round": 2,
"creatorUserId": 15,
"applicationDefinitionCriterias": [],
"applicationDefinitionEvaluators": [],
"evalutatorCircleIds": [],
"isEvaluatorSetByCircle": false,
"language": "en-EN"
}
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
403 Forbidden- Description
Not a community administrator of the target community.
- Name
404 Not Found- Description
No application definition with that ID.
Request
curl -X DELETE https://api.babele.co/api/ApplicationDefinition/1 \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4"
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 eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4" \
-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 eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4" \
-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 eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4" \
-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 eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4" \
-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 (used
internally by the bulk Group... operations).
Path parameters
- Name
id- Type
- integer
- Description
The application definition ID.
Request body attributes
- Name
take- Type
- integer
- Description
Limit the number of applications returned.
- Name
skip- Type
- integer
- Description
Specify the number of applications to skip.
- Name
concept- Type
- string
- Description
Free-text search.
- Name
stage- Type
- string
- Description
Development-stage filter.
- Name
status- Type
- integer
- Description
Filter by
ApplicationStatus.
- Name
orderBy- Type
- integer
- Description
Sort:
0DateNewest,1DateOldest,2HighestRating,3LowestRating.
- Name
hasEvaluators- Type
- boolean
- Description
Filter to applications with/without evaluators.
- Name
evaluationStatus- Type
- integer
- Description
0AllCompleted,1SomeCompleted,2NoneCompleted.
- Name
filters- Type
- array
- Description
Array of
FormQuestionAndAnswersDynamicFilter(per-question answer filters).
Possible errors
- Name
403 Forbidden- Description
Not a community administrator of the definition's community.
- Name
404 Not Found- Description
No application definition with that ID.
Request
curl -X POST https://api.babele.co/api/ApplicationDefinition/1/Applications \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4" \
-H "Content-Type: application/json" \
-d '{"skip":50,"take":50,"orderBy":0}'
Response
{
"applicationDefinitionFilters": {
"applicationTags": null,
"applicationCountries": null,
"applicationStages": null,
"applicationIndustries": null,
"applicationSDGs": null,
"applicationUserInterests": null
},
"count": 200,
"list": [
{
"id": 1334,
"applicationDefinitionName": "New Venture",
"applicationDefinitionId": 171,
"applicantId": 398962,
"applicantName": "John Doe",
"applicantEmail": "vukovic.ognjen@gmail.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": null,
"communityName": "Your Community",
"communityLogoImage": "/Images/Uploads/community_image/croppedimage_251201336097724_256x256.jpg",
"applicationProjectSustainableDevelopmentGoals": [
{
"sustainableDevelopmentGoalId": 2
},
{
"sustainableDevelopmentGoalId": 3
}
],
"tags": [],
"projectId": 9317
},
{
"id": 852,
"applicationDefinitionName": "New Venture",
"applicationDefinitionId": 171,
"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,
"communityName": "Your Community",
"communityLogoImage": "/Images/Uploads/community_image/croppedimage_20151336097724_256x256.jpg",
"applicationProjectSustainableDevelopmentGoals": [],
"tags": [],
"projectId": 8636
}
],
"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).
Path parameters
- Name
id- Type
- integer
- Description
The application (response) ID.
Possible errors
- Name
403 Forbidden- Description
The caller lacks access to this application.
- Name
404 Not Found- Description
No application with that ID.
Request
curl -X GET https://api.babele.co/api/Application/1224 \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4"
Response
{
"id": 1224,
"projectName": "Existing Project",
"projectDescription": "Existing Description",
"projectCategoryId": 2,
"projectDevelopmentStage": "MVP",
"projectCountryId": 2,
"projectCity": "Toronto",
"websiteUrl": "https://example.com",
"facebookUrl": "https://facebook.com/example",
"linkedInUrl": "https://linkedin.com/company/example",
"existingProjectId": 456,
"status": 3,
"applicationProjectSustainableDevelopmentGoals": [
{ "sustainableDevelopmentGoalId": 1 },
{ "sustainableDevelopmentGoalId": 3 }
],
"projectAnswers": [
{ "id": 1, "formQuestionId": 1, "answer": "Existing project answer", "formId": 100 }
],
"answers": {
"list": [
{ "id": 2, "formQuestionId": 3, "answer": "Existing additional answer", "formId": 1 }
]
},
"scores": { "list": [] },
"tags": []
}
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}.
Path parameters
- Name
applicationId- Type
- integer
- Description
The application ID.
Possible errors
- Name
403 Forbidden- Description
The caller is not an evaluator assigned to this application.
Request
curl -X GET https://api.babele.co/api/Application/1224/Evaluation \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4"
Response
{
"currentEvaluatorEvaluation": [
{
"id": 1,
"formId": 100,
"formQuestionId": 10,
"answer": null,
"optionAnswerOrder": 4,
"optionRowAnswerOrder": 0,
"applicationId": 1224,
"answerType": 11
},
{
"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). The response may be null or { "evaluations": [] } when no evaluations exist.
Path parameters
- Name
applicationId- Type
- integer
- Description
The application ID.
Possible errors
- Name
403 Forbidden- Description
Not a community administrator of the application's community.
Request
curl -X GET https://api.babele.co/api/Application/1224/Evaluations \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4"
Response
{
"evaluations": [
{
"userId": 100,
"name": "John Doe",
"photoUrl": "/Images/Uploads/profile_picture/john_256x256.jpg",
"answers": [
{
"id": 1,
"formId": 5,
"formQuestionId": 10,
"applicationId": 1224,
"answer": null,
"optionAnswerOrder": 4,
"optionRowAnswerOrder": 0,
"answerType": 11
},
{
"id": 2,
"formId": 5,
"formQuestionId": 11,
"applicationId": 1224,
"answer": "Great project with strong potential",
"optionAnswerOrder": 0,
"optionRowAnswerOrder": 0,
"answerType": 8
}
]
},
{
"userId": 101,
"name": "Jane Smith",
"photoUrl": null,
"answers": [
{
"id": 3,
"formId": 5,
"formQuestionId": 10,
"applicationId": 1224,
"answer": null,
"optionAnswerOrder": 3,
"optionRowAnswerOrder": 0,
"answerType": 11
}
]
}
]
}
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.
Path parameters
- Name
applicationResponseGroupId- Type
- integer
- Description
The application response group ID (a 64-bit integer, unlike most IDs here).
Possible errors
- Name
403 Forbidden- Description
Not a community administrator of the community.
Request
curl -X GET https://api.babele.co/api/Application/group/100 \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4"
Response
{
"applicationResponseGroupId": 100,
"applications": [
{
"id": 100,
"applicationDefinitionId": 1,
"applicationResponseGroupId": 100,
"applicationDefinition": {
"id": 1,
"name": "Round 1 Application",
"round": 1,
"roundType": 0,
"applicationDefinitionGroupId": 100,
"createProject": true,
"applicationDefinitionCriterias": [
{ "evaluationCriteria": "Innovation" },
{ "evaluationCriteria": "Impact" }
],
"applicationDefinitionEvaluators": []
},
"applicantId": 12,
"applicantEmail": "test@example.com",
"applicantFirstName": "Test",
"applicantLastName": "User",
"status": 3,
"applyDate": "2024-01-15T10:00:00.000Z",
"pendingDate": "2024-01-15T10:00:00.000Z",
"acceptedDate": "2024-01-20T10:00:00.000Z",
"projectName": "Test Project",
"projectDescription": "A test project description",
"projectDevelopmentStage": "MVP",
"projectCountryId": 1,
"projectCity": "New York",
"applicationProjectSustainableDevelopmentGoals": [
{ "sustainableDevelopmentGoalId": 1 }
],
"tags": ["promising"],
"projectAnswers": [
{ "id": 100, "formQuestionId": 10, "answer": "We solve climate change" }
],
"answers": {
"list": [
{ "id": 1, "formQuestionId": 1, "answer": "I want to join because it's a great opportunity" }
]
},
"scores": { "list": [] },
"averageScore": 4.5
}
]
}
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.
To accept every pending application matching a filter at once, use the
bulk variant POST /api/Application/{applicationDefinitionId}/GroupAcceptApplication.
It takes an ApplicationFilter body (see List applications;
the service forces Status = Pending, Skip = 0, Take = 0), accepts the
same optional methodologyId query parameter, and also returns 204.
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
400 Bad Request- Description
The application is not in
Pendingstatus.
- Name
403 Forbidden- Description
Not a community administrator.
- Name
404 Not Found- Description
No application with that ID.
Request
curl -X POST "https://api.babele.co/api/Application/1224/AcceptApplication?methodologyId=86" \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4"
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.
To reject every pending application matching a filter at once, use the
bulk variant POST /api/Application/{applicationDefinitionId}/GroupRejectApplication,
which takes an ApplicationFilter body (see List applications)
and also returns 204.
Path parameters
- Name
id- Type
- integer
- Description
The application ID.
Possible errors
- Name
400 Bad Request- Description
The application is not in
Pendingstatus.
- Name
403 Forbidden- Description
Not a community administrator.
- Name
404 Not Found- Description
No application with that ID.
Request
curl -X POST https://api.babele.co/api/Application/1224/RejectApplication \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4"
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.
Path parameters
- Name
applicationId- Type
- integer
- Description
The application ID.
Request body attributes
- Name
(array)- Type
- array
- Description
An array of
{ formId, formQuestionId, answer?, optionAnswerOrder?, optionRowAnswerOrder? }.
Possible errors
- Name
403 Forbidden- Description
The caller is not an assigned evaluator.
Request
curl -X POST https://api.babele.co/api/Application/1224/SubmitEvaluation \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4" \
-H "Content-Type: application/json" \
-d '[{"formId":100,"formQuestionId":10,"answer":null,"optionAnswerOrder":4,"optionRowAnswerOrder":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,
"applicationId": 1224,
"answer": null,
"optionAnswerOrder": 4,
"optionRowAnswerOrder": 0,
"lastSubmitedTime": "2026-06-28T00:00:00Z"
},
{
"id": 2,
"formId": 100,
"formQuestionId": 11,
"userId": 398953,
"applicationId": 1224,
"answer": "Strong founder-market fit.",
"optionAnswerOrder": 0,
"optionRowAnswerOrder": 0,
"lastSubmitedTime": "2026-06-28T00:00:00Z"
}
],
"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.
Path parameters
- Name
applicationId- Type
- integer
- Description
The application ID.
Request body attributes
- Name
(array)- Type
- array
- Description
An array of
{ id, formId, formQuestionId, answer?, optionAnswerOrder?, optionRowAnswerOrder? }, each carrying its existingid.
Possible errors
- Name
403 Forbidden- Description
The caller is not an assigned evaluator.
Request
curl -X PUT https://api.babele.co/api/Application/1224/UpdateEvaluation \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4" \
-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,
"applicationId": 1224,
"answer": null,
"optionAnswerOrder": 3,
"optionRowAnswerOrder": 0,
"lastSubmitedTime": "2026-06-28T00:00:00Z"
}
],
"filters": null
}
Save application tags
Replace the tag set on one application. The request body is { tags: string[] }. Returns 204 No Content.
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.
Path parameters
- Name
id- Type
- integer
- Description
The application ID.
Request body attributes
- Name
tags- Type
- array
- Description
The full set of tag strings to assign (replaces the existing set).
Possible errors
- Name
403 Forbidden- Description
Not a community administrator.
Request
curl -X POST https://api.babele.co/api/Application/1224/SaveTags \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4" \
-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.
Note: the request score is an integer, but the stored/returned score in the response is a float (the averaged value).
Path parameters
- Name
id- Type
- integer
- Description
The application ID.
Request body attributes
- Name
(array)- Type
- array
- Description
An array of
{ criteria: string, score: integer }.
Possible errors
- Name
403 Forbidden- Description
The caller lacks evaluator/admin access to this application.
Request
curl -X PUT https://api.babele.co/api/Application/1224/Scores \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4" \
-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.
To delete every application matching a filter at once, use the bulk
variant DELETE /api/Application/{applicationDefinitionId}/GroupDeleteApplication.
Unusually, that endpoint carries an ApplicationFilter in the body of a
DELETE request (see List applications) and also
returns 204.
Path parameters
- Name
id- Type
- integer
- Description
The application ID.
Possible errors
- Name
403 Forbidden- Description
Not a community administrator.
- Name
404 Not Found- Description
No application with that ID.
Request
curl -X DELETE https://api.babele.co/api/Application/1224/DeleteApplication \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4"
