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/api/ApplicationDefinition/{id}

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 null when the definition has no application form.

  • Name
    form
    Type
    object | null
    Description

    The application form definition, populated when formId is set. Described under the form object 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 applicationDefinitionCriterias array items below.

  • Name
    applicationDefinitionEvaluators
    Type
    array | null
    Description

    The users assigned to evaluate this definition's applications. Described under the applicationDefinitionEvaluators array items below.

  • Name
    evalutatorCircleIds
    Type
    array | null
    Description

    Community-circle IDs whose members act as evaluators, as an array of integers. Always null on 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 applicationDefinitionResponseViewers array items below.

  • Name
    allowAccessToResponses
    Type
    boolean
    Description

    Whether the listed response viewers may see the submitted responses.

  • Name
    currentUserIsResponseViewerOnly
    Type
    boolean
    Description

    true when the calling user reaches this definition only as a response viewer — responses and export, but no ratings, comments or applicant contact. false for community administrators and for evaluators.

  • Name
    projectForm
    Type
    object | null
    Description

    The project form filled in as part of the application, populated when createProject is true. The custom form when projectFormId is set, otherwise the community's default project form. Described under the projectForm object below.

  • Name
    projectFormId
    Type
    integer | null
    Description

    The custom project form ID, or null when the community's default project form is used.

  • Name
    isEvaluatorSetByCircle
    Type
    boolean
    Description

    true when 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; null for standalone definitions.

  • Name
    round
    Type
    integer | null
    Description

    The round number within the group; null for standalone definitions.

  • Name
    roundType
    Type
    integer
    Description

    0 Form, 1 InterviewAndForm, 2 InterviewOnly, 3 EvaluationOnly.

  • 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 evaluationForm object below.

  • Name
    questionOrders
    Type
    array | null
    Description

    The interleaved display order of application-form and project-form questions. Described under the questionOrders array items below.

  • Name
    allowEvaluatorsToViewOtherRoundsEvaluations
    Type
    boolean
    Description

    Whether evaluators can read evaluations recorded in other rounds of the group.

  • Name
    usesDefaultProjectForm
    Type
    boolean
    Description

    true when the definition falls back to the community's default project form.

  • Name
    evaluatorAccessMode
    Type
    integer
    Description

    0 AllAccess — every evaluator sees every application; 1 ManualAssignment — 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 true for interview rounds (roundType 1 or 2).

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. null when the user record was not loaded. Described under the applicationDefinitionEvaluators[].user object 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 null when 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[].user object 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: 1 ProjectForm, 2 ApplicationForm. There is no 0.

  • Name
    projectFormQuestionId
    Type
    integer | null
    Description

    The project-form question ID. Set only when questionType is 1.

  • Name
    applicationFormQuestionId
    Type
    integer | null
    Description

    The application-form question ID. Set only when questionType is 2.

  • 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: 0 Undefined, 1 ApplicationDefinition, 2 Tab, 3 Evaluation. The API never populates it, so it is always 0.

  • 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. 0 when the underlying value is unset — it is never null.

  • Name
    questions
    Type
    array
    Description

    The form's questions, in questionOrder. Never null. Described under the form.questions array items below.

  • Name
    sections
    Type
    array
    Description

    The form's sections, ordered by order. Never null. Described under the form.sections array items below.

  • Name
    includeInLandingPage
    Type
    boolean
    Description

    Whether the form is shown on the community landing page.

  • Name
    isDefaultCommunityProjectForm
    Type
    boolean
    Description

    true for 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: 0 RadioChoice, 1 CheckBoxChoice, 2 DropDownChoice, 3 MultipleChoice, 4 AccountMoney, 5 Calendar, 7 ShortText, 8 LongText, 9 File, 10 Scale, 11 Country, 12 Table, 13 Numeric. Negative values map the answer onto a project field: -1 ProjectLogo, -2 ProjectCover, -4 ProjectLinkedInUrl, -5 ProjectFacebookUrl, -6 ProjectWebsiteUrl, -7 ProjectSDGs, -8 ProjectDevelopmentStage, -9 ProjectCategory (industry), -10 ProjectCountry, -11 ProjectCity, -12 ProjectDescription, -13 ProjectName. 6 and -3 are unassigned.

  • Name
    isProjectField
    Type
    boolean
    Description

    Computed. true when answerType is 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[].questionLinks array items below.

  • Name
    questionOptions
    Type
    array | null
    Description

    The selectable options for choice-type questions. Described under the form.questions[].questionOptions array 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

    0 Undefined, 1 Public, 2 Community, 3 Team, 4 Custom, 5 TeamAndMentors, 6 SetByTeam.

  • Name
    privacyCirclesIds
    Type
    array | null
    Description

    Community-circle IDs the answer is restricted to when privacyLevel is 4 Custom. An array of integers.

  • Name
    conditionalLogicType
    Type
    integer
    Description

    0 None, 1 AnyConditional, 2 AllConditinals.

  • Name
    formQuestionConditionalLogicList
    Type
    array | null
    Description

    The conditions that reveal this question. Described under the form.questions[].formQuestionConditionalLogicList array items below.

  • Name
    fromApplication
    Type
    boolean
    Description

    Reserved; defaults to false.

  • Name
    hasWeightedAverage
    Type
    boolean
    Description

    Computed. true when weightedAverage is 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 null on form and projectForm.

  • Name
    convertToKpi
    Type
    boolean
    Description

    Reserved; defaults to false.

  • Name
    changePermissionPrivacyLevel
    Type
    integer
    Description

    Reserved; same enum as privacyLevel. Currently always 0.

  • Name
    questionType
    Type
    integer
    Description

    0 ProjectTemplate, 1 AfterProjectApproval. Meaningful only on project-form questions; always 0 elsewhere.

  • 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

    1 Characters, 2 Words. null when hasLimit is false.

  • 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 null for 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

    1 Equal, 2 NotEqual, 3 GreaterThen, 4 LessThen, 5 Contains, 6 DoesNotContain, 7 IsEmpty, 8 NotEmpty.

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

GET
/api/ApplicationDefinition/{id}
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
}

GET/api/Community/{id}/ApplicationDefinitions

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.

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 the list array 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 the filters array 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 null here. The list does not return the forms — fetch a single definition to get the form.

  • Name
    projectForm
    Type
    object | null
    Description

    Always null here, for the same reason.

  • Name
    evaluationForm
    Type
    object | null
    Description

    Always null here, for the same reason.

  • Name
    questionOrders
    Type
    array | null
    Description

    Always null here — the list does not return the question orders.

  • Name
    communityMainImage
    Type
    string | null
    Description

    Always null here — the list does not return the community images.

  • Name
    communityLogoImage
    Type
    string | null
    Description

    Always null here, 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 isEvaluatorSetByCircle is true. null otherwise.

  • Name
    currentUserIsResponseViewerOnly
    Type
    boolean
    Description

    Always false here — it is only computed when a single definition is fetched.

Request

GET
/api/Community/{id}/ApplicationDefinitions
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/api/ApplicationDefinition/{id}/ApplicantPreview

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.

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 null on the preview.

  • Name
    rejectedEmail
    Type
    string | null
    Description

    Always null on the preview.

  • Name
    startedEmail
    Type
    string | null
    Description

    Always null on the preview.

  • Name
    submittedEmail
    Type
    string | null
    Description

    Always null on the preview.

  • Name
    evalutatorCircleIds
    Type
    array | null
    Description

    Always null on this endpoint.

  • Name
    currentUserIsResponseViewerOnly
    Type
    boolean
    Description

    Always false for an anonymous caller.

Possible errors

  • Name
    500 Internal Server Error
    Description

    No application definition with that ID. The response body is { "error": "ApplicationDefinitionNotFoundException" }.

Request

GET
/api/ApplicationDefinition/{id}/ApplicantPreview
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/api/ApplicationDefinition/GroupById/{id}?applicationDefinitionGroupId={applicationDefinitionGroupId}

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 null on this endpoint.

Request

GET
/api/ApplicationDefinition/GroupById/{id}?applicationDefinitionGroupId={applicationDefinitionGroupId}
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/api/ApplicationDefinition/{id}/ApplicationsFilters

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 to 0.

  • Name
    take
    Type
    integer
    Description

    The maximum number of tag names to return. Applied only to applicationTags, and only when skip or take is greater than 0 — omitting both returns every tag. Defaults to 0.

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/take page.

  • Name
    applicationCountries
    Type
    array | null
    Description

    The distinct countries of the applications, or of their projects when the definition creates projects. Described under the applicationCountries array 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 applicationIndustries array items below.

  • Name
    applicationSDGs
    Type
    array | null
    Description

    The distinct UN Sustainable Development Goals selected on the applications. Described under the applicationSDGs array 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 applicationUserInterests array 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 the applicationFormQuestions array 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 null unless the definition creates projects. Same element shape as applicationFormQuestions.

  • 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 the applicationEvaluators array items below.

  • Name
    assignedEvaluators
    Type
    array | null
    Description

    Every evaluator assigned to the definition: round-level evaluators always, plus the per-application evaluators when evaluatorAccessMode is 1 ManualAssignment. Always a list, never null. Same element shape as applicationEvaluators.

applicationCountries array items

  • Name
    id
    Type
    integer
    Description

    The country ID, as used in projectCountryId and in countryFilter.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 projectCategoryId and in industryFilter.values.

  • Name
    name
    Type
    string | null
    Description

    The industry name.

  • Name
    isAddedByUser
    Type
    boolean
    Description

    true when 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

    false when the interest has been retired and is no longer offered.

  • Name
    isAddedByUser
    Type
    boolean
    Description

    true when 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.values and projectQuestionFilter.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.values and evaluatedBy.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 null when they have none. This is the raw stored value — unlike applicationDefinitionEvaluators[].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

GET
/api/ApplicationDefinition/{id}/ApplicationsFilters
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 }
]
}

POST/api/ApplicationDefinition

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.

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 true when 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 applicationDefinitionCriterias array items below.

  • Name
    evalutatorCircleIds
    Type
    array
    Description

    Community-circle IDs whose members evaluate, as an array of integers. Only honoured when applicationDefinitionEvaluators is null or empty — see the evalutatorCircleIds array note below.

  • Name
    applicationDefinitionEvaluators
    Type
    array
    Description

    Explicit evaluators. Described under the applicationDefinitionEvaluators array items below.

  • Name
    isEvaluatorSetByCircle
    Type
    boolean
    Description

    Evaluators are derived from circles. The server recomputes this from evalutatorCircleIds and applicationDefinitionEvaluators, so the value sent is advisory.

  • Name
    applicationDefinitionResponseViewers
    Type
    array
    Description

    Read-only response viewers. Described under the applicationDefinitionResponseViewers array 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

    0 Form, 1 InterviewAndForm, 2 InterviewOnly, 3 EvaluationOnly.

  • 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 the applicationDefinitionQuestionOrders array 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

    0 all evaluators, 1 manual 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 true for interview rounds (roundType 1 or 2) 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: 1 ProjectForm, 2 ApplicationForm.

  • Name
    projectFormQuestionId
    Type
    integer | null
    Description

    The project-form question ID. Set only when questionType is 1.

  • Name
    applicationFormQuestionId
    Type
    integer | null
    Description

    The application-form question ID. Set only when questionType is 2.

  • 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 null on 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 null on create, for the same reason.

  • Name
    projectForm
    Type
    object | null
    Description

    Populated only when projectFormId was sent. Unlike the read path, create does not fall back to the community's default project form, so it is null for a createProject: true definition with no projectFormId.

  • Name
    evaluationForm
    Type
    object | null
    Description

    Always null on create, even when evaluationFormId was sent — the evaluation form is not returned on this path.

  • Name
    evalutatorCircleIds
    Type
    array | null
    Description

    Always null on create, whatever was sent in the body.

  • Name
    currentUserIsResponseViewerOnly
    Type
    boolean
    Description

    Always false on create — it is never computed on this path.

  • Name
    lastEditionDate
    Type
    string | null
    Description

    Always null on create; only creationDate is stamped.

  • Name
    usesDefaultProjectForm
    Type
    boolean
    Description

    Always false on the create paths.

Possible errors

  • Name
    401 Unauthorized
    Description

    Missing or invalid token.

  • Name
    500 Internal Server Error
    Description

    communityId matches no community — including the 0 that a body omitting it deserializes to. The response body is { "error": "CommunityNotFoundException" }.

Request

POST
/api/ApplicationDefinition
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
}

PUT/api/ApplicationDefinition/{id}

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.

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 evaluationCriteria string: names in the body are kept or added, names missing from it are deleted. Sending null clears every criterion.

  • Name
    applicationDefinitionEvaluators
    Type
    array | null
    Description

    Diffed by userId. Sending null clears every evaluator.

  • Name
    applicationDefinitionResponseViewers
    Type
    array | null
    Description

    Diffed by userId. Sending null clears every response viewer.

  • Name
    applicationDefinitionQuestionOrders
    Type
    array | null
    Description

    Replaces the whole question order when supplied. Unlike the collections above, sending null leaves the existing orders untouched.

  • Name
    evalutatorCircleIds
    Type
    array | null
    Description

    Expanded into the evaluator list and sets isEvaluatorSetByCircle to true, but only when applicationDefinitionEvaluators is null or empty. Sending null forces isEvaluatorSetByCircle to false.

  • Name
    roundType
    Type
    integer
    Description

    0 Form, 1 InterviewAndForm, 2 InterviewOnly, 3 EvaluationOnly. Setting an interview round (1 or 2) forces allowEvaluatorsToScheduleMeeting to true.

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 null on update, even when projectFormId is set — the project form is not returned on this path. Read the definition back to get it.

  • Name
    evalutatorCircleIds
    Type
    array | null
    Description

    Always null on update, whatever was sent in the body.

  • Name
    currentUserIsResponseViewerOnly
    Type
    boolean
    Description

    Always false on 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 a communityId that matches no community — including the 0 that a body omitting it deserializes to ({ "error": "CommunityNotFoundException" }).

Request

PUT
/api/ApplicationDefinition/{id}
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
}

POST/api/ApplicationDefinition/CreateApplicationDefinitionRounds

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.

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 ApplicationDefinitionDto objects (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

    0 Form, 1 InterviewAndForm, 2 InterviewOnly, 3 EvaluationOnly. The first element may not be 2 InterviewOnly — 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

POST
/api/ApplicationDefinition/CreateApplicationDefinitionRounds
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
}
]

POST/api/ApplicationDefinition/AddApplicationDefinitionRound

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

    0 Form, 1 InterviewAndForm, 2 InterviewOnly, 3 EvaluationOnly. An interview round (1 or 2) forces allowEvaluatorsToScheduleMeeting to true on 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 applicationDefinitionEvaluators is 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

POST
/api/ApplicationDefinition/AddApplicationDefinitionRound
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/api/ApplicationDefinition/{id}

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

DELETE
/api/ApplicationDefinition/{id}
curl -X DELETE https://api.babele.co/api/ApplicationDefinition/1 \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJleGFtcGxlIiwiZXhwIjoxNzQzODY1MjA3fQ.DEMO_SIGNATURE_NOT_A_REAL_TOKEN"

GET/api/ApplicationDefinition/{id}/Applications-csv

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

GET
/api/ApplicationDefinition/{id}/Applications-csv
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

GET/api/ApplicationDefinition/{id}/ApplicationEvaluations-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

GET
/api/ApplicationDefinition/{id}/ApplicationEvaluations-csv
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

GET/api/ApplicationDefinition/{applicationGroupId}/ApplicationsRounds-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

GET
/api/ApplicationDefinition/{applicationGroupId}/ApplicationsRounds-csv
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

GET/api/ApplicationDefinition/{applicationGroupId}/ApplicationEvaluationsRounds-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

GET
/api/ApplicationDefinition/{applicationGroupId}/ApplicationEvaluationsRounds-csv
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

POST/api/ApplicationDefinition/{id}/Applications

List applications

This endpoint allows you to retrieve a paginated, filtered list of all an application definition's submitted responses (the admin "responses" table).

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. 0 returns every matching row — the convention the bulk Group... operations use. Defaults to 0.

  • 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 into take only when take is still 0; on the way out it always echoes take.

  • 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: 0 Apply, 1 Draft, 2 Pending, 3 Accepted, 4 Denied. null returns every status. Passing 1 Draft also matches applications still in the 0 Apply state.

  • Name
    orderBy
    Type
    integer
    Description

    Sort: 0 DateNewest, 1 DateOldest, 2 HighestRating, 3 LowestRating. Defaults to 0.

  • 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. values holds country IDs. Described under the countryFilter object below.

  • Name
    industryFilter
    Type
    object | null
    Description

    Filter by the project's industry (category). values holds category IDs. Same shape as the countryFilter object below.

  • Name
    interestFilter
    Type
    object | null
    Description

    Filter by the applicant's interests. values holds interest IDs. Only applies on definitions that do not create a project. Same shape as the countryFilter object 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. values holds SDG IDs. Note the camel-cased name. Same shape as the countryFilter object below.

  • Name
    tagFilter
    Type
    object | null
    Description

    Filter by application tags. Unlike the other dynamic filters, values holds tag strings. Described under the tagFilter object below.

  • Name
    applicationQuestionFilter
    Type
    object | null
    Description

    Restrict to applications that do, or do not, have an answer to the listed application-form questions. values holds question IDs. Same shape as the countryFilter object 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. values holds question IDs. Same shape as the countryFilter object 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 filters array items below.

  • Name
    hasEvaluators
    Type
    boolean | null
    Description

    true returns only applications with evaluators assigned, false only those without, null applies no filter. Applies in evaluatorAccessMode 1 ManualAssignment only.

  • Name
    evaluationStatus
    Type
    integer | null
    Description

    Filter by evaluation completion: 0 AllCompleted, 1 SomeCompleted, 2 NoneCompleted.

  • Name
    evaluatorFilter
    Type
    object | null
    Description

    Restrict to applications assigned to these evaluators. values holds evaluator user IDs. ManualAssignment mode only. Same shape as the countryFilter object below.

  • Name
    evaluatedBy
    Type
    object | null
    Description

    Restrict to applications these users have completed an evaluation for. values holds evaluator user IDs. Works in both evaluator access modes. Same shape as the countryFilter object below.

  • Name
    isEmpty
    Type
    boolean | null
    Description

    true returns only "empty" applications — status Apply or Draft with no application answers and no project answers; false returns only non-empty ones; null applies no filter.

filters array items

  • Name
    filterType
    Type
    integer
    Description

    How the answers are matched: 0 IsAnyOf — keep applications that selected any of them; 1 IsNoneOf — 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 answers is empty or null is 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

    0 IsAnyOf — keep rows matching any value; 1 IsNoneOf — exclude rows matching any value.

  • Name
    values
    Type
    array | null
    Description

    The IDs to match, as an array of integers. An empty or null array disables the filter.

tagFilter object

  • Name
    filterType
    Type
    integer
    Description

    0 matches applications carrying any of the tags, 1 excludes them.

  • Name
    values
    Type
    array | null
    Description

    The tag names to match, as an array of strings. An empty or null array disables the filter.

Response attributes

  • Name
    count
    Type
    integer
    Description

    The total number of applications matching the filter, before skip/take paging.

  • Name
    list
    Type
    array
    Description

    The page of applications. Described under the list array items below.

  • Name
    filters
    Type
    array | null
    Description

    Always null on 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 null unless the request body carried at least one real filter criterion; skip, take, pageSize and orderBy do not count. Described under the applicationDefinitionFilters object 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 evaluatorAccessMode is 0 AllAccess. 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. null for 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. null when 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

    0 Apply, 1 Draft, 2 Pending, 3 Accepted, 4 Denied.

  • 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. null unless status is 3.

  • Name
    deniedDate
    Type
    string | null
    Description

    ISO-8601 timestamp of rejection. null unless status is 4.

  • 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. null when nobody has scored the response.

  • Name
    overallMaxScale
    Type
    integer
    Description

    The maximum value of the evaluation scale the score is expressed on. 0 when 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[].applicationProjectSustainableDevelopmentGoals array 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. null unless the response belongs to a response group with assigned evaluators. Described under the list[].applicationEvaluators array 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. null for single-round definitions.

  • Name
    round
    Type
    integer | null
    Description

    The 1-based round number of the definition. null for 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 null when 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

POST
/api/ApplicationDefinition/{id}/Applications
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/api/Application/{id}

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.

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. null for 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. null for single-round definitions.

  • Name
    round
    Type
    integer | null
    Description

    The 1-based round number. null for single-round definitions.

  • Name
    applicationDefinition
    Type
    object | null
    Description

    The full definition this response was submitted to. Described under the applicationDefinition object below.

  • Name
    promotedFromApplicationId
    Type
    integer | null
    Description

    The previous round's response this one was promoted from. null when 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

    0 Apply, 1 Draft, 2 Pending, 3 Accepted, 4 Denied.

  • 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. null when 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. null when nobody has scored the response.

  • Name
    applicationProjectSustainableDevelopmentGoals
    Type
    array
    Description

    The Sustainable Development Goals selected on the response's project. Described under the applicationProjectSustainableDevelopmentGoals array 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. null unless the response belongs to a response group and the definition uses evaluatorAccessMode 1 ManualAssignment. Described under the applicationEvaluators array items below.

  • Name
    projectForm
    Type
    object | null
    Description

    The community's project form, whose questions projectAnswers answers. null when the definition does not create a project. Described under the projectForm object below.

  • Name
    projectAnswers
    Type
    array | null
    Description

    The project-form answers captured with this response. null when the definition does not create a project or no project answers exist. Described under the projectAnswers array items below.

  • Name
    comments
    Type
    object | null
    Description

    The comment thread on this response. null when there are none, and also null for callers who may open the response but not its comments. Described under the comments object below.

  • Name
    scores
    Type
    object | null
    Description

    The per-criterion evaluation scores. null when there are none, and also null for callers without evaluation access. Described under the scores object below.

  • Name
    answers
    Type
    object | null
    Description

    The application-form answers. null when the response has no answers. Described under the answers object 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

    0 Form, 1 InterviewAndForm, 2 InterviewOnly, 3 EvaluationOnly.

  • Name
    applicationDefinitionGroupId
    Type
    integer | null
    Description

    The multi-round group ID.

  • Name
    createProject
    Type
    boolean
    Description

    true when accepting a response creates, or adopts, a project.

  • Name
    evaluatorAccessMode
    Type
    integer
    Description

    0 AllAccess — every evaluator sees every response; 1 ManualAssignment — 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[].criteria refers 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 null when they have not uploaded one.

projectForm object

Same FormDetailDto shape as the form object under Get an application definitionid, 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. null if the answer has never been submitted.

  • Name
    applicationId
    Type
    integer
    Description

    Always 0 on project answers — they are keyed by community project rather than by application.

  • Name
    tabEntityId
    Type
    integer
    Description

    Always 0 here; the field only carries a value for tab-entity form answers.

  • Name
    projectId
    Type
    integer
    Description

    Always 0 here; project answers do not carry a project ID.

  • Name
    answer
    Type
    string | null
    Description

    The free-text or serialized answer value. null for 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. 0 when unused.

  • Name
    optionRowAnswerOrder
    Type
    integer
    Description

    The zero-based row index for table questions. 0 when 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.list array items below.

  • Name
    filters
    Type
    array | null
    Description

    Always null here.

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.list array items below.

  • Name
    filters
    Type
    array | null
    Description

    Always null here.

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. null when the evaluator record could not be resolved. Described under the scores.list[].user object 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.list array items below.

  • Name
    filters
    Type
    array | null
    Description

    Always null here.

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. 0 for 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

    true when the calling user has liked the comment.

  • Name
    userDislikesComment
    Type
    boolean
    Description

    true when the calling user has disliked the comment.

  • Name
    comments
    Type
    array | null
    Description

    The replies, each the same shape.

  • Name
    canUserEdit
    Type
    boolean
    Description

    true when the calling user may edit the comment.

  • Name
    canUserRemove
    Type
    boolean
    Description

    true when 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

    true when 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

GET
/api/Application/{id}
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/api/Application/{applicationId}/Evaluation

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.

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 currentEvaluatorEvaluation array 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 evaluatorScore instead. Described under the evaluationList array items below.

  • Name
    overallScore
    Type
    number | null
    Description

    The mean of every evaluator's score for this application. null when no evaluator has scored it.

  • Name
    overallMaxScale
    Type
    integer
    Description

    The maximum value of the evaluation scale in use. Falls back to 5 when the form has no scale question.

  • Name
    evaluatorScore
    Type
    number | null
    Description

    The calling evaluator's own computed score. null when 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. null for choice, scale and country questions, which use optionAnswerOrder.

  • 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. 0 when unused.

  • Name
    applicationId
    Type
    integer
    Description

    The application being evaluated.

  • Name
    answerType
    Type
    integer
    Description

    The question's answer type: 0 RadioChoice, 1 CheckBox, 2 DropDown, 3 MultipleChoice, 4 AccountMoney, 5 Calendar, 7 ShortText, 8 LongText, 9 File, 10 Scale, 11 Country, 12 Table, 13 Numeric. Only 10 Scale 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

GET
/api/Application/{applicationId}/Evaluation
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/api/Application/{applicationId}/Evaluations

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.

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 evaluations array 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. null when the evaluator's user record could not be loaded.

  • Name
    photoUrl
    Type
    string | null
    Description

    Relative path to the evaluator's profile picture. null when 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[].answers array 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

GET
/api/Application/{applicationId}/Evaluations
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/api/Application/group/{applicationResponseGroupId}

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 applications array 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

    null for 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 to null.

  • Name
    averageScore
    Type
    number | null
    Description

    Forced to null on 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 for facebookUrl and linkedInUrl.

  • 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

GET
/api/Application/group/{applicationResponseGroupId}
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
    }
]
}

POST/api/Application/{id}/AcceptApplication

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.

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 Pending status ({ "error": "CanNotAcceptOrRejectAnApplicationThatIsInNotInPendingStatus" }), or no application has that ID ({ "error": "ApplicationNotFoundException" }).

Request

POST
/api/Application/{id}/AcceptApplication
curl -X POST "https://api.babele.co/api/Application/1224/AcceptApplication?methodologyId=86" \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJleGFtcGxlIiwiZXhwIjoxNzQzODY1MjA3fQ.DEMO_SIGNATURE_NOT_A_REAL_TOKEN"

POST/api/Application/{id}/RejectApplication

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.

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 Pending status ({ "error": "CanNotAcceptOrRejectAnApplicationThatIsInNotInPendingStatus" }), or no application has that ID ({ "error": "ApplicationNotFoundException" }).

Request

POST
/api/Application/{id}/RejectApplication
curl -X POST https://api.babele.co/api/Application/1224/RejectApplication \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJleGFtcGxlIiwiZXhwIjoxNzQzODY1MjA3fQ.DEMO_SIGNATURE_NOT_A_REAL_TOKEN"

POST/api/Application/{applicationId}/SubmitEvaluation

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.

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 0 for a new answer.

  • Name
    formId
    Type
    integer
    Description

    The evaluation form the answered question belongs to. The formId of 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 null for choice, scale and country questions, which carry their value in optionAnswerOrder.

  • Name
    optionAnswerOrder
    Type
    integer
    Description

    The zero-based index of the selected option; for a scale question, the raw score. Send 0 when unused.

  • Name
    optionRowAnswerOrder
    Type
    integer
    Description

    The zero-based row index for table questions. Send 0 when 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 list array items below.

  • Name
    filters
    Type
    array | null
    Description

    Always null on 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. null if the answer has never been submitted.

  • Name
    applicationId
    Type
    integer
    Description

    The application being evaluated.

  • Name
    tabEntityId
    Type
    integer
    Description

    Always 0 on evaluation answers; the field only carries a value for tab-entity form answers.

  • Name
    projectId
    Type
    integer
    Description

    Always 0 on evaluation answers.

  • Name
    answer
    Type
    string | null
    Description

    The free-text answer value. null for choice- and scale-type questions.

  • Name
    optionAnswerOrder
    Type
    integer
    Description

    The zero-based index of the selected option. 0 when unused.

  • Name
    optionRowAnswerOrder
    Type
    integer
    Description

    The zero-based row index for table questions. 0 when unused.

Possible errors

  • Name
    401 Unauthorized
    Description

    Missing or invalid token.

  • Name
    404 Not Found
    Description

    The formId carried on the submitted answers matches no form.

Request

POST
/api/Application/{applicationId}/SubmitEvaluation
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
}

PUT/api/Application/{applicationId}/UpdateEvaluation

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.

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 existing id.

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 formId carried on the submitted answers matches no form.

Request

PUT
/api/Application/{applicationId}/UpdateEvaluation
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
}

POST/api/Application/{id}/SaveTags

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.

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 ApplicationFilter body documented under List applications, including its nested filters array items, countryFilter object and tagFilter object. 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 editApplicationTagsDto object 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

POST
/api/Application/{id}/SaveTags
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"]}'

PUT/api/Application/{id}/Scores

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 list array items below.

  • Name
    filters
    Type
    array | null
    Description

    Always null on this endpoint, and on the GET and POST variants 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 0 when 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. null when the evaluator record's user could not be resolved — in particular for response-group evaluators on this verb, where userId is still correct. Described under the list[].user object 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 PUT and POST it 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 null when 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

PUT
/api/Application/{id}/Scores
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/api/Application/{id}/DeleteApplication

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.

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

DELETE
/api/Application/{id}/DeleteApplication
curl -X DELETE https://api.babele.co/api/Application/1224/DeleteApplication \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJleGFtcGxlIiwiZXhwIjoxNzQzODY1MjA3fQ.DEMO_SIGNATURE_NOT_A_REAL_TOKEN"