Applications

Applications are used in the Babele platform to evaluate users and projects wanting to join the communities.

Every endpoint on this page requires an authenticated request (a Bearer JWT or an API key). For the management actions — creating, editing or deleting definitions, accepting/rejecting/deleting responses, editing tags and running the bulk Group... variants — community-administrator rights are enforced in the service layer, so an authenticated request that is not a community administrator of the relevant community is rejected with 403 Forbidden. Evaluation-submission endpoints require the caller to be an assigned evaluator. The one exception is the applicant preview endpoint, which is anonymous.

Several DTOs are reused across endpoints. The roundType enum (ApplicationDefinitionRoundType) is 0 Form, 1 InterviewAndForm, 2 InterviewOnly, 3 EvaluationOnly. The status enum (ApplicationStatus) is 0 Apply, 1 Draft, 2 Pending, 3 Accepted, 4 Denied.

GET/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.

Possible errors

  • Name
    401 Unauthorized
    Description

    Missing or invalid token.

  • Name
    404 Not Found
    Description

    No application definition with that ID.

Request

GET
/api/ApplicationDefinition/{id}
curl -X GET https://api.babele.co/api/ApplicationDefinition/1 \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4"

Response

{
"id": 1,
"communityId": 999,
"communityMainImage": "/Images/Uploads/community_image/croppedimage_202406180838101670.jpg",
"communityLogoImage": "/Images/Uploads/community_image/croppedimage_202406190800047188_256x256.jpg",
"name": "Test Application",
"description": "Test Description",
"startDate": "2023-03-02T20:22:54.206Z",
"endDate": "2050-03-02T20:22:54.206Z",
"acceptedEmail": "<p>Congrats, you've been accepted!</p>",
"rejectedEmail": "<p>You've been rejected, sorry!</p>",
"createProject": true,
"formId": 1258,
"roundType": 0,
"creatorUserId": 15,
"creationDate": "2023-03-02T20:22:54.206Z",
"lastEditionDate": "2023-03-05T20:22:54.206Z",
"acceptedMethodologyId": 86,
"acceptedCircleId": 513,
"applicationDefinitionCriterias": [
    { "evaluationCriteria": "Sustainability" }
],
"applicationDefinitionEvaluators": [
    {
        "userId": 398953,
        "user": {
            "name": "Admin D3",
            "photoUrl": "/Images/Uploads/profile_picture/einstein_202303021441348155_256x256.jpg"
        }
    }
],
"evalutatorCircleIds": [],
"isEvaluatorSetByCircle": false,
"language": "en-EN",
"trackUserAccess": "",
"trackApplicationSave": "",
"trackApplicationSubmission": "",
"applicationDefinitionGroupId": null,
"round": null
}

GET/api/Community/{id}/ApplicationDefinitions

List a community's application definitions

List every application definition belonging to a community. Note this endpoint lives on the Community controller, not the ApplicationDefinition controller.

The response wrapper is ApplicationDefinitionDetailDtoResultListDto: count, list (an array of definitions), and a nullable filters array. A sibling endpoint, GET /api/Community/{id}/ApplicationDefinitionsRounds, returns the same wrapper grouped by round.

Path parameters

  • Name
    id
    Type
    integer
    Description

    The community ID.

Request

GET
/api/Community/{id}/ApplicationDefinitions
curl -X GET https://api.babele.co/api/Community/999/ApplicationDefinitions \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4"

Response

{
"count": 5,
"filters": null,
"list": [
    {
        "id": 1,
        "communityId": 999,
        "communityMainImage": "/Images/Uploads/community_image/croppedimage_202406180838101670.jpg",
        "communityLogoImage": "/Images/Uploads/community_image/croppedimage_202406190800047188_256x256.jpg",
        "name": "Test Application",
        "description": "Test Description",
        "startDate": "2023-03-02T20:22:54.206Z",
        "endDate": "2050-03-02T20:22:54.206Z",
        "createProject": true,
        "formId": 1427,
        "roundType": 0,
        "creatorUserId": 15,
        "applicationDefinitionCriterias": [
            { "evaluationCriteria": "Sustainability" }
        ],
        "applicationDefinitionEvaluators": [
            {
                "userId": 398953,
                "user": {
                    "name": "Admin D3",
                    "photoUrl": "/Images/Uploads/profile_picture/einstein_202303021441348155_256x256.jpg"
                }
            }
        ],
        "evalutatorCircleIds": [],
        "isEvaluatorSetByCircle": false,
        "language": "en-EN",
        "applicationDefinitionGroupId": null,
        "round": null
    },
    {
        "id": 2,
        "communityId": 999,
        "name": "Grouped Application - Round 1",
        "description": "Test Description for Round 1",
        "createProject": true,
        "formId": 1428,
        "roundType": 0,
        "creatorUserId": 15,
        "applicationDefinitionCriterias": [],
        "applicationDefinitionEvaluators": [],
        "evalutatorCircleIds": [],
        "isEvaluatorSetByCircle": false,
        "language": "en-EN",
        "applicationDefinitionGroupId": 100,
        "round": 1
    }
]
}

GET/api/ApplicationDefinition/{id}/ApplicantPreview

Get an applicant preview

Fetch the application definition as an applicant would see it — a privacy-stripped projection produced with the preview flag.

Path parameters

  • Name
    id
    Type
    integer
    Description

    The application definition ID.

Possible errors

  • Name
    404 Not Found
    Description

    No application definition with that ID.

Request

GET
/api/ApplicationDefinition/{id}/ApplicantPreview
curl -X GET https://api.babele.co/api/ApplicationDefinition/1/ApplicantPreview

Response

{
"id": 1,
"communityId": 999,
"name": "Test Application",
"description": "Test Description",
"startDate": "2023-03-02T20:22:54.206Z",
"endDate": "2050-03-02T20:22:54.206Z",
"createProject": true,
"formId": 1258,
"roundType": 0,
"applicationDefinitionCriterias": [
    { "evaluationCriteria": "Sustainability" }
],
"language": "en-EN",
"applicationDefinitionGroupId": null,
"round": null
}

GET/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. Returns an empty array if the group has no definitions.

The {id} path segment is a placeholder; the action actually binds to the applicationDefinitionGroupId query parameter. Pass the same group ID in both places.

Path parameters

  • Name
    id
    Type
    string
    Description

    Placeholder — pass the application definition group ID.

Required query parameters

  • Name
    applicationDefinitionGroupId
    Type
    integer
    Description

    The application definition group ID (the authoritative binding source).

Request

GET
/api/ApplicationDefinition/GroupById/{id}?applicationDefinitionGroupId={applicationDefinitionGroupId}
curl -X GET "https://api.babele.co/api/ApplicationDefinition/GroupById/100?applicationDefinitionGroupId=100" \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4"

Response

[
{
    "id": 2,
    "communityId": 999,
    "name": "Grouped Application - Round 1",
    "roundType": 0,
    "applicationDefinitionGroupId": 100,
    "round": 1,
    "applicationDefinitionCriterias": [],
    "applicationDefinitionEvaluators": [],
    "evalutatorCircleIds": [],
    "isEvaluatorSetByCircle": false,
    "language": "en-EN"
},
{
    "id": 3,
    "communityId": 999,
    "name": "Grouped Application - Round 2",
    "roundType": 1,
    "applicationDefinitionGroupId": 100,
    "round": 2,
    "applicationDefinitionCriterias": [],
    "applicationDefinitionEvaluators": [],
    "evalutatorCircleIds": [],
    "isEvaluatorSetByCircle": false,
    "language": "en-EN"
}
]

GET/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.

Optional query parameters

  • Name
    skip
    Type
    integer
    Description

    Paging hint used while gathering filterable values.

  • Name
    take
    Type
    integer
    Description

    Paging hint used while gathering filterable values.

Request

GET
/api/ApplicationDefinition/{id}/ApplicationsFilters
curl -X GET https://api.babele.co/api/ApplicationDefinition/1/ApplicationsFilters \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4"

Response

{
"applicationTags": ["newtag", "testtag", "othertag", "updated"],
"applicationCountries": [
    { "id": 2, "name": "Albania", "code": "AL", "timezone": "Europe/Tirane" }
],
"applicationStages": ["", "default_development_stage_idea", "default_development_stage_prototype"],
"applicationIndustries": [
    { "id": 1365, "name": "Ad Tech", "isAddedByUser": false }
],
"applicationSDGs": [
    { "id": 3, "name": "Good Health And Well-Being", "iconName": "goals_icons-individual-rgb-03" }
],
"applicationUserInterests": [],
"applicationFormQuestions": null,
"projectFormQuestions": null,
"applicationEvaluators": [
    { "id": 1, "firstName": "John", "lastName": "Doe", "photo": null }
],
"assignedEvaluators": null
}

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.

Request body attributes

  • Name
    communityId
    Type
    integer
    Description

    Required. The owning community ID.

  • Name
    name
    Type
    string
    Description

    Application name.

  • Name
    description
    Type
    string
    Description

    Description.

  • Name
    startDate
    Type
    string
    Description

    Opens-at (date-time).

  • Name
    endDate
    Type
    string
    Description

    Closes-at (date-time).

  • Name
    timezone
    Type
    string
    Description

    IANA timezone for the dates.

  • Name
    acceptedEmail
    Type
    string
    Description

    HTML body sent on acceptance.

  • Name
    rejectedEmail
    Type
    string
    Description

    HTML body sent on rejection.

  • Name
    notifyApplicants
    Type
    boolean
    Description

    Send accept/reject emails.

  • Name
    createProject
    Type
    boolean
    Description

    Create a project on acceptance.

  • Name
    formId
    Type
    integer
    Description

    Application form ID.

  • Name
    projectFormId
    Type
    integer
    Description

    Project form ID.

  • Name
    acceptedMethodologyId
    Type
    integer
    Description

    Methodology assigned on acceptance.

  • Name
    acceptedCircleId
    Type
    integer
    Description

    Circle assigned on acceptance.

  • Name
    applicationDefinitionCriterias
    Type
    array
    Description

    Scoring criteria — array of { evaluationCriteria }.

  • Name
    evalutatorCircleIds
    Type
    array
    Description

    Circles whose members evaluate (note the original misspelling "evalutator").

  • Name
    applicationDefinitionEvaluators
    Type
    array
    Description

    Explicit evaluators — array of { userId }.

  • Name
    isEvaluatorSetByCircle
    Type
    boolean
    Description

    Evaluators are derived from circles.

  • Name
    applicationDefinitionResponseViewers
    Type
    array
    Description

    Read-only response viewers — array of { userId }.

  • Name
    allowAccessToresponses
    Type
    boolean
    Description

    Viewers may see responses.

  • Name
    language
    Type
    string
    Description

    Language, e.g. "en-EN".

  • Name
    round
    Type
    integer
    Description

    Round number (for grouped applications).

  • Name
    roundType
    Type
    integer
    Description

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

  • Name
    evaluationFormId
    Type
    integer
    Description

    Evaluation form ID.

  • Name
    applicationDefinitionGroupId
    Type
    integer
    Description

    Group ID linking rounds together.

  • Name
    evaluatorAccessMode
    Type
    integer
    Description

    0 all evaluators, 1 manual assignment.

Possible errors

  • Name
    400 Bad Request
    Description

    Malformed body (e.g. missing communityId).

  • Name
    403 Forbidden
    Description

    Not a community administrator of the target community.

Request

POST
/api/ApplicationDefinition
curl -X POST https://api.babele.co/api/ApplicationDefinition \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4" \
-H "Content-Type: application/json" \
-d '{"communityId":999,"name":"Test Application","description":"Test Description","createProject":true,"formId":1258,"roundType":0,"language":"en-EN"}'

Response

{
"id": 1,
"communityId": 999,
"name": "Test Application",
"description": "Test Description",
"createProject": true,
"formId": 1258,
"roundType": 0,
"creatorUserId": 15,
"creationDate": "2026-06-28T00:00:00.000Z",
"lastEditionDate": "2026-06-28T00:00:00.000Z",
"applicationDefinitionCriterias": [],
"applicationDefinitionEvaluators": [],
"evalutatorCircleIds": [],
"isEvaluatorSetByCircle": false,
"language": "en-EN",
"applicationDefinitionGroupId": null,
"round": null
}

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.

Possible errors

  • Name
    400 Bad Request
    Description

    Malformed body (e.g. missing communityId).

  • Name
    403 Forbidden
    Description

    Not a community administrator of the target community.

  • Name
    404 Not Found
    Description

    No application definition with that ID.

Request

PUT
/api/ApplicationDefinition/{id}
curl -X PUT https://api.babele.co/api/ApplicationDefinition/1 \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4" \
-H "Content-Type: application/json" \
-d '{"communityId":999,"name":"Updated Application","description":"Updated Description","createProject":true,"formId":1258,"roundType":0,"language":"en-EN"}'

Response

{
"id": 1,
"communityId": 999,
"name": "Updated Application",
"description": "Updated Description",
"createProject": true,
"formId": 1258,
"roundType": 0,
"creatorUserId": 15,
"creationDate": "2023-03-02T20:22:54.206Z",
"lastEditionDate": "2026-06-28T00:00:00.000Z",
"applicationDefinitionCriterias": [],
"applicationDefinitionEvaluators": [],
"evalutatorCircleIds": [],
"isEvaluatorSetByCircle": false,
"language": "en-EN",
"applicationDefinitionGroupId": null,
"round": null
}

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, but the client treats it as an array — document it as an array of the created rounds.

Request body attributes

Request

POST
/api/ApplicationDefinition/CreateApplicationDefinitionRounds
curl -X POST https://api.babele.co/api/ApplicationDefinition/CreateApplicationDefinitionRounds \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4" \
-H "Content-Type: application/json" \
-d '[{"communityId":999,"name":"New Application","roundType":0,"round":1,"language":"en-EN"}]'

Response

[
{
    "id": 999,
    "communityId": 999,
    "name": "New Application",
    "description": "New application description",
    "createProject": true,
    "formId": 1427,
    "roundType": 0,
    "creatorUserId": 15,
    "creationDate": "2026-06-28T00:00:00.000Z",
    "lastEditionDate": "2026-06-28T00:00:00.000Z",
    "applicationDefinitionCriterias": [],
    "applicationDefinitionEvaluators": [],
    "evalutatorCircleIds": [],
    "isEvaluatorSetByCircle": false,
    "language": "en-EN",
    "applicationDefinitionGroupId": 500,
    "round": 1
}
]

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

  • Name
    applicationDefinitionGroupId
    Type
    integer
    Description

    Required. The existing group to attach the new round to.

  • Name
    round
    Type
    integer
    Description

    The round number for the new round.

  • Name
    roundType
    Type
    integer
    Description

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

  • Name
    communityId
    Type
    integer
    Description

    Required. The owning community ID.

Request

POST
/api/ApplicationDefinition/AddApplicationDefinitionRound
curl -X POST https://api.babele.co/api/ApplicationDefinition/AddApplicationDefinitionRound \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4" \
-H "Content-Type: application/json" \
-d '{"communityId":999,"name":"Grouped Application - Round 2","applicationDefinitionGroupId":100,"round":2,"roundType":1,"language":"en-EN"}'

Response

{
"id": 3,
"communityId": 999,
"name": "Grouped Application - Round 2",
"roundType": 1,
"applicationDefinitionGroupId": 100,
"round": 2,
"creatorUserId": 15,
"applicationDefinitionCriterias": [],
"applicationDefinitionEvaluators": [],
"evalutatorCircleIds": [],
"isEvaluatorSetByCircle": false,
"language": "en-EN"
}

DELETE/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
    403 Forbidden
    Description

    Not a community administrator of the target community.

  • Name
    404 Not Found
    Description

    No application definition with that ID.

Request

DELETE
/api/ApplicationDefinition/{id}
curl -X DELETE https://api.babele.co/api/ApplicationDefinition/1 \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4"

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 eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4" \
-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 eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4" \
-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 eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4" \
-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 eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4" \
-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.

Request body attributes

  • Name
    take
    Type
    integer
    Description

    Limit the number of applications returned.

  • Name
    skip
    Type
    integer
    Description

    Specify the number of applications to skip.

  • Name
    concept
    Type
    string
    Description

    Free-text search.

  • Name
    stage
    Type
    string
    Description

    Development-stage filter.

  • Name
    status
    Type
    integer
    Description

    Filter by ApplicationStatus.

  • Name
    orderBy
    Type
    integer
    Description

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

  • Name
    hasEvaluators
    Type
    boolean
    Description

    Filter to applications with/without evaluators.

  • Name
    evaluationStatus
    Type
    integer
    Description

    0 AllCompleted, 1 SomeCompleted, 2 NoneCompleted.

  • Name
    filters
    Type
    array
    Description

    Array of FormQuestionAndAnswersDynamicFilter (per-question answer filters).

Possible errors

  • Name
    403 Forbidden
    Description

    Not a community administrator of the definition's community.

  • Name
    404 Not Found
    Description

    No application definition with that ID.

Request

POST
/api/ApplicationDefinition/{id}/Applications
curl -X POST https://api.babele.co/api/ApplicationDefinition/1/Applications \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4" \
-H "Content-Type: application/json" \
-d '{"skip":50,"take":50,"orderBy":0}'

Response

{
"applicationDefinitionFilters": {
    "applicationTags": null,
    "applicationCountries": null,
    "applicationStages": null,
    "applicationIndustries": null,
    "applicationSDGs": null,
    "applicationUserInterests": null
},
"count": 200,
"list": [
    {
        "id": 1334,
        "applicationDefinitionName": "New Venture",
        "applicationDefinitionId": 171,
        "applicantId": 398962,
        "applicantName": "John Doe",
        "applicantEmail": "vukovic.ognjen@gmail.com",
        "applicantPhotourl": "/Images/Uploads/profile_picture/croppedimage_431411901156251_256x256.jpg",
        "status": 2,
        "applyDate": "2025-03-19T18:05:53.389838Z",
        "draftDate": null,
        "pendingDate": "2025-03-19T18:05:55.136264Z",
        "acceptedDate": null,
        "deniedDate": null,
        "projectName": "Your Project Name",
        "projectDescription": "Your Project Description",
        "projectCategoryId": 1420,
        "projectDevelopmentStage": "default_development_stage_idea",
        "projectCountryId": 231,
        "projectCity": "RD",
        "projectLogoImage": "",
        "projectMainImageOrVideo": "",
        "averageScore": null,
        "communityName": "Your Community",
        "communityLogoImage": "/Images/Uploads/community_image/croppedimage_251201336097724_256x256.jpg",
        "applicationProjectSustainableDevelopmentGoals": [
            {
                "sustainableDevelopmentGoalId": 2
            },
            {
                "sustainableDevelopmentGoalId": 3
            }
        ],
        "tags": [],
        "projectId": 9317
    },
    {
        "id": 852,
        "applicationDefinitionName": "New Venture",
        "applicationDefinitionId": 171,
        "applicantId": 398968,
        "applicantName": "Chris Coles",
        "applicantEmail": "chris@babele.co",
        "applicantPhotourl": "/Images/Uploads/profile_picture/dsc_2021141256534062_256x256.jpg",
        "status": 3,
        "applyDate": "2024-02-20T11:19:01.642293Z",
        "draftDate": "2024-02-29T17:46:48.266611Z",
        "pendingDate": "2024-03-01T11:53:33.359983Z",
        "acceptedDate": "2024-03-01T12:03:59.076221Z",
        "deniedDate": null,
        "projectName": "New Venture",
        "projectDescription": "",
        "projectCategoryId": 1,
        "projectDevelopmentStage": "",
        "projectCountryId": 1,
        "projectCity": "",
        "projectLogoImage": "",
        "projectMainImageOrVideo": "",
        "averageScore": null,
        "communityName": "Your Community",
        "communityLogoImage": "/Images/Uploads/community_image/croppedimage_20151336097724_256x256.jpg",
        "applicationProjectSustainableDevelopmentGoals": [],
        "tags": [],
        "projectId": 8636
    }
],
"filters": null
}

GET/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).

Path parameters

  • Name
    id
    Type
    integer
    Description

    The application (response) ID.

Possible errors

  • Name
    403 Forbidden
    Description

    The caller lacks access to this application.

  • Name
    404 Not Found
    Description

    No application with that ID.

Request

GET
/api/Application/{id}
curl -X GET https://api.babele.co/api/Application/1224 \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4"

Response

{
"id": 1224,
"projectName": "Existing Project",
"projectDescription": "Existing Description",
"projectCategoryId": 2,
"projectDevelopmentStage": "MVP",
"projectCountryId": 2,
"projectCity": "Toronto",
"websiteUrl": "https://example.com",
"facebookUrl": "https://facebook.com/example",
"linkedInUrl": "https://linkedin.com/company/example",
"existingProjectId": 456,
"status": 3,
"applicationProjectSustainableDevelopmentGoals": [
    { "sustainableDevelopmentGoalId": 1 },
    { "sustainableDevelopmentGoalId": 3 }
],
"projectAnswers": [
    { "id": 1, "formQuestionId": 1, "answer": "Existing project answer", "formId": 100 }
],
"answers": {
    "list": [
        { "id": 2, "formQuestionId": 3, "answer": "Existing additional answer", "formId": 1 }
    ]
},
"scores": { "list": [] },
"tags": []
}

GET/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}.

Path parameters

  • Name
    applicationId
    Type
    integer
    Description

    The application ID.

Possible errors

  • Name
    403 Forbidden
    Description

    The caller is not an evaluator assigned to this application.

Request

GET
/api/Application/{applicationId}/Evaluation
curl -X GET https://api.babele.co/api/Application/1224/Evaluation \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4"

Response

{
"currentEvaluatorEvaluation": [
    {
        "id": 1,
        "formId": 100,
        "formQuestionId": 10,
        "answer": null,
        "optionAnswerOrder": 4,
        "optionRowAnswerOrder": 0,
        "applicationId": 1224,
        "answerType": 11
    },
    {
        "id": 2,
        "formId": 100,
        "formQuestionId": 11,
        "answer": "Strong team, clear impact thesis.",
        "optionAnswerOrder": 0,
        "optionRowAnswerOrder": 0,
        "applicationId": 1224,
        "answerType": 8
    }
],
"evaluationList": [
    { "evaluatorId": 398953, "score": 4.5 },
    { "evaluatorId": 400627, "score": 3.5 }
],
"overallScore": 4,
"overallMaxScale": 5,
"evaluatorScore": 4.5
}

GET/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). The response may be null or { "evaluations": [] } when no evaluations exist.

Path parameters

  • Name
    applicationId
    Type
    integer
    Description

    The application ID.

Possible errors

  • Name
    403 Forbidden
    Description

    Not a community administrator of the application's community.

Request

GET
/api/Application/{applicationId}/Evaluations
curl -X GET https://api.babele.co/api/Application/1224/Evaluations \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4"

Response

{
"evaluations": [
    {
        "userId": 100,
        "name": "John Doe",
        "photoUrl": "/Images/Uploads/profile_picture/john_256x256.jpg",
        "answers": [
            {
                "id": 1,
                "formId": 5,
                "formQuestionId": 10,
                "applicationId": 1224,
                "answer": null,
                "optionAnswerOrder": 4,
                "optionRowAnswerOrder": 0,
                "answerType": 11
            },
            {
                "id": 2,
                "formId": 5,
                "formQuestionId": 11,
                "applicationId": 1224,
                "answer": "Great project with strong potential",
                "optionAnswerOrder": 0,
                "optionRowAnswerOrder": 0,
                "answerType": 8
            }
        ]
    },
    {
        "userId": 101,
        "name": "Jane Smith",
        "photoUrl": null,
        "answers": [
            {
                "id": 3,
                "formId": 5,
                "formQuestionId": 10,
                "applicationId": 1224,
                "answer": null,
                "optionAnswerOrder": 3,
                "optionRowAnswerOrder": 0,
                "answerType": 11
            }
        ]
    }
]
}

GET/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.

Path parameters

  • Name
    applicationResponseGroupId
    Type
    integer
    Description

    The application response group ID (a 64-bit integer, unlike most IDs here).

Possible errors

  • Name
    403 Forbidden
    Description

    Not a community administrator of the community.

Request

GET
/api/Application/group/{applicationResponseGroupId}
curl -X GET https://api.babele.co/api/Application/group/100 \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4"

Response

{
"applicationResponseGroupId": 100,
"applications": [
    {
        "id": 100,
        "applicationDefinitionId": 1,
        "applicationResponseGroupId": 100,
        "applicationDefinition": {
            "id": 1,
            "name": "Round 1 Application",
            "round": 1,
            "roundType": 0,
            "applicationDefinitionGroupId": 100,
            "createProject": true,
            "applicationDefinitionCriterias": [
                { "evaluationCriteria": "Innovation" },
                { "evaluationCriteria": "Impact" }
            ],
            "applicationDefinitionEvaluators": []
        },
        "applicantId": 12,
        "applicantEmail": "test@example.com",
        "applicantFirstName": "Test",
        "applicantLastName": "User",
        "status": 3,
        "applyDate": "2024-01-15T10:00:00.000Z",
        "pendingDate": "2024-01-15T10:00:00.000Z",
        "acceptedDate": "2024-01-20T10:00:00.000Z",
        "projectName": "Test Project",
        "projectDescription": "A test project description",
        "projectDevelopmentStage": "MVP",
        "projectCountryId": 1,
        "projectCity": "New York",
        "applicationProjectSustainableDevelopmentGoals": [
            { "sustainableDevelopmentGoalId": 1 }
        ],
        "tags": ["promising"],
        "projectAnswers": [
            { "id": 100, "formQuestionId": 10, "answer": "We solve climate change" }
        ],
        "answers": {
            "list": [
                { "id": 1, "formQuestionId": 1, "answer": "I want to join because it's a great opportunity" }
            ]
        },
        "scores": { "list": [] },
        "averageScore": 4.5
    }
]
}

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.

Path parameters

  • Name
    id
    Type
    integer
    Description

    The application ID.

Optional query parameters

  • Name
    methodologyId
    Type
    integer
    Description

    Methodology/program template to assign to the created project on acceptance. Defaults to 0. Used only when the application definition has no methodology configured, and only on the final round.

Possible errors

  • Name
    400 Bad Request
    Description

    The application is not in Pending status.

  • Name
    403 Forbidden
    Description

    Not a community administrator.

  • Name
    404 Not Found
    Description

    No application with that ID.

Request

POST
/api/Application/{id}/AcceptApplication
curl -X POST "https://api.babele.co/api/Application/1224/AcceptApplication?methodologyId=86" \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4"

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.

Path parameters

  • Name
    id
    Type
    integer
    Description

    The application ID.

Possible errors

  • Name
    400 Bad Request
    Description

    The application is not in Pending status.

  • Name
    403 Forbidden
    Description

    Not a community administrator.

  • Name
    404 Not Found
    Description

    No application with that ID.

Request

POST
/api/Application/{id}/RejectApplication
curl -X POST https://api.babele.co/api/Application/1224/RejectApplication \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4"

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.

Path parameters

  • Name
    applicationId
    Type
    integer
    Description

    The application ID.

Request body attributes

  • Name
    (array)
    Type
    array
    Description

    An array of { formId, formQuestionId, answer?, optionAnswerOrder?, optionRowAnswerOrder? }.

Possible errors

  • Name
    403 Forbidden
    Description

    The caller is not an assigned evaluator.

Request

POST
/api/Application/{applicationId}/SubmitEvaluation
curl -X POST https://api.babele.co/api/Application/1224/SubmitEvaluation \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4" \
-H "Content-Type: application/json" \
-d '[{"formId":100,"formQuestionId":10,"answer":null,"optionAnswerOrder":4,"optionRowAnswerOrder":0},{"formId":100,"formQuestionId":11,"answer":"Strong founder-market fit.","optionAnswerOrder":0,"optionRowAnswerOrder":0}]'

Response

{
"count": 2,
"list": [
    {
        "id": 1,
        "formId": 100,
        "formQuestionId": 10,
        "userId": 398953,
        "applicationId": 1224,
        "answer": null,
        "optionAnswerOrder": 4,
        "optionRowAnswerOrder": 0,
        "lastSubmitedTime": "2026-06-28T00:00:00Z"
    },
    {
        "id": 2,
        "formId": 100,
        "formQuestionId": 11,
        "userId": 398953,
        "applicationId": 1224,
        "answer": "Strong founder-market fit.",
        "optionAnswerOrder": 0,
        "optionRowAnswerOrder": 0,
        "lastSubmitedTime": "2026-06-28T00:00:00Z"
    }
],
"filters": null
}

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.

Path parameters

  • Name
    applicationId
    Type
    integer
    Description

    The application ID.

Request body attributes

  • Name
    (array)
    Type
    array
    Description

    An array of { id, formId, formQuestionId, answer?, optionAnswerOrder?, optionRowAnswerOrder? }, each carrying its existing id.

Possible errors

  • Name
    403 Forbidden
    Description

    The caller is not an assigned evaluator.

Request

PUT
/api/Application/{applicationId}/UpdateEvaluation
curl -X PUT https://api.babele.co/api/Application/1224/UpdateEvaluation \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4" \
-H "Content-Type: application/json" \
-d '[{"id":1,"formId":100,"formQuestionId":10,"answer":null,"optionAnswerOrder":3,"optionRowAnswerOrder":0}]'

Response

{
"count": 1,
"list": [
    {
        "id": 1,
        "formId": 100,
        "formQuestionId": 10,
        "userId": 398953,
        "applicationId": 1224,
        "answer": null,
        "optionAnswerOrder": 3,
        "optionRowAnswerOrder": 0,
        "lastSubmitedTime": "2026-06-28T00:00:00Z"
    }
],
"filters": null
}

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.

Path parameters

  • Name
    id
    Type
    integer
    Description

    The application ID.

Request body attributes

  • Name
    tags
    Type
    array
    Description

    The full set of tag strings to assign (replaces the existing set).

Possible errors

  • Name
    403 Forbidden
    Description

    Not a community administrator.

Request

POST
/api/Application/{id}/SaveTags
curl -X POST https://api.babele.co/api/Application/1224/SaveTags \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4" \
-H "Content-Type: application/json" \
-d '{"tags":["promising","interview-scheduled"]}'

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.

Note: the request score is an integer, but the stored/returned score in the response is a float (the averaged value).

Path parameters

  • Name
    id
    Type
    integer
    Description

    The application ID.

Request body attributes

  • Name
    (array)
    Type
    array
    Description

    An array of { criteria: string, score: integer }.

Possible errors

  • Name
    403 Forbidden
    Description

    The caller lacks evaluator/admin access to this application.

Request

PUT
/api/Application/{id}/Scores
curl -X PUT https://api.babele.co/api/Application/1224/Scores \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4" \
-H "Content-Type: application/json" \
-d '[{"criteria":"Innovation","score":4},{"criteria":"Impact","score":5}]'

Response

{
"count": 2,
"list": [
    {
        "userId": 398953,
        "user": {
            "name": "Admin D3",
            "photoUrl": "/Images/Uploads/profile_picture/einstein_202303021441348155_256x256.jpg"
        },
        "criteria": "Innovation",
        "score": 4
    },
    {
        "userId": 398953,
        "user": {
            "name": "Admin D3",
            "photoUrl": "/Images/Uploads/profile_picture/einstein_202303021441348155_256x256.jpg"
        },
        "criteria": "Impact",
        "score": 5
    }
],
"filters": null
}

DELETE/api/Application/{id}/DeleteApplication

Delete an application

Permanently delete one application response. Returns 204 No Content.

Path parameters

  • Name
    id
    Type
    integer
    Description

    The application ID.

Possible errors

  • Name
    403 Forbidden
    Description

    Not a community administrator.

  • Name
    404 Not Found
    Description

    No application with that ID.

Request

DELETE
/api/Application/{id}/DeleteApplication
curl -X DELETE https://api.babele.co/api/Application/1224/DeleteApplication \
-H "Authorization: Bearer eyJhbGcgwgwe7gfwgwZZVCJ9.eyJTdWJqZWN0IjoiN2ZkMjc4YmUtMzA1Zi00ZWExLWJmODItNTQ5Yjg0NDBiM2E5IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvc2lkIjoiYjE5ZDE0NWYtZDZiZC00Y2U5LTljYTQtYjFlOTgzNmRhODlhIiwidXBuIjoiNDAxMTQ0IiwiaHR0cDovL2JhYmVsZS5jby9jbGFpbXMvcGxhdGZvcm1hZG1pbmNsYWltIjoiRmFsc2UiLCJodHRwOi8vYmFiZWxlLmNvL2NsYWltcy9sb2dpbnJlcXFWFWGFQFsc2UiLCJuYmYiOjE3NDMyNjA0MDcsImV4cCI6MTc0Mzg2NTIwNywiaWF0IjoxNzQzMjYwNDA3fQ.K34301vGXSvFQC-5ypvDbfEr-L-uX57zw6GBjNa3sT4"