Create a Project

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!