A project is a grouping of problems and candidates
A project is a grouping of problems and candidates. It can be used to contain an interview, a coding competition or anything you want. Let's create a project with some problems and candidates.
Create the project
First, create the wrapping project.
curl --location 'https://94s1zv81nb.execute-api.us-west-2.amazonaws.com//api/projects' \
--header 'Content-Type: application/json' \
--data '{
"name" : "My first project",
"description": "Showcasing how to create projects from the API",
"state": "open",
"starttime": "Apr 17, 2022 6:00 pm",
"endtime": "Apr 17, 2022 8:00 pm"
}'
This will give you the project ID. You will use this to make changes to the project in the coming operations.
{
"id": 225
}
Add a problem
Now that we have a project, let's add a problem that the candidates will solve.
curl --location 'https://94s1zv81nb.execute-api.us-west-2.amazonaws.com//api/projects/225/problems' \
--header 'Content-Type: application/json' \
--data '{
"problemid" : 109
}'
Add a candidate
curl --location 'https://94s1zv81nb.execute-api.us-west-2.amazonaws.com//api/projects/225/candidates' \
--header 'Content-Type: application/json' \
--data-raw '[
{
"first_name": "Alan",
"last_name": "Gonzalez",
"email1": "[email protected]",
"source": "DevMatch",
"notes": "Tier 1",
"stage_id": 1
}
]'
This will return the following:
[
{
"first_name": "Alan",
"last_name": "Gonzalez",
"email1": "[email protected]",
"source": "DevMatch",
"notes": "Tier 1",
"stage_id": 1,
"candidate_id": 1305
}
]
The important field here is the candidate_id
. This is how we are going to refer to this candidate in the future.
Send invitations
curl --location \
--request POST 'https://94s1zv81nb.execute-api.us-west-2.amazonaws.com//api/projects/225/candidates/1305/invite' \
Once this call is made, the candidate will get an email like this:
That's it! The user is now invited to take the assessment!