How can I use Kenjo API to build my custom career site?

Modified on Fri, 13 May 2022 at 12:55 PM

Kenjo provides a custom builder to create your own career site. This custom builder is intended to generate a public career site that will cover the most common use-case scenarios of public career pages.


However, sometimes you may have a very specific use case that is not covered by the career site builder of Kenjo. For these use cases, we provide a career-site API that can be used to easily build your own site.


Basically, this API will provide two HTTPS endpoints, one will be a GET endpoint, where you could get all the information of the job positions that are Public in your Kenjo account. This will return a list of all the public positions, including the fields that are required and those that are optional according to the configuration of that job position in Kenjo. The second endpoint will be a POST endpoint, which will enable you to create a candidate assigned to one of the positions listed in the previous endpoint. These two endpoints will allow you to list all the open positions on your website and also show a form to assign candidates to those positions, so all the information will appear in Kenjo and will be in sync all the time.


Examples of these responses with the relevant information for your use case:


GET endpoint to retrieve the data of your open positions

{
    [...]
    "activePositions": [
        {
            "_id": "5b822fb092687f00148b2ddd",
            "jobTitle": "0100 - Back end developer",
            "customUrl": "back-end-developer-190522",
            "companyName": "Dunder Mifflin",
            "officeName": "NY Office",
            "departmentName": "Quality & Assurance",
            "applicationFormFields": [
              {
                  "_id": "5b997a61613eb600143fffff",
                  "collectionName": "candidate",
                  "fieldApiName": "email",
                  "typeOfField": "field",
                  "fieldCondition": "REQUIRED"
              }
            ]
        },
        {
            "_id": "5b999a5f7bdcad00146bb82b",
            "jobTitle": "Marketing Manager",
            "customUrl": "5b997a5f7bdcad00146ggggg",
            "jobDescription": {
                "html": "<p>We're looking for a marketing manager!</p>"
            },
            "companyName": "Vance Refrigeration",
            "officeName": "Scranton Office",
            "departmentName": "Marketing",
            "positionType": "Full time",
            "applicationFormFields": [
                {
                    "_id": "5b997a61613eb60014hhhhh",
                    "collectionName": "candidate",
                    "fieldApiName": "firstName",
                    "typeOfField": "field",
                    "fieldCondition": "REQUIRED"
                },
                {
                    "_id": "5b997a61613eb600143aaaaa",
                    "collectionName": "candidate",
                    "fieldApiName": "lastName",
                    "typeOfField": "field",
                    "fieldCondition": "REQUIRED"
                },
                {
                    "_id": "5b997a61613eb60014bbbbbb",
                    "collectionName": "candidate",
                    "fieldApiName": "email",
                    "typeOfField": "field",
                    "fieldCondition": "REQUIRED"
                }
            ]
        }
    ]
}

Example of the JSON body to add a new candidate to an existing position via POST message:

{                 
"positionId": "5b999a5f7bdcad00146bb82b", // Marketing Manager @ Vance Refrigeration
"candidate": {
"firstName": "Michael",
"lastName": "Scott",
"email": "michael.scott@dm.co"
}
}



Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select atleast one of the reasons

Feedback sent

We appreciate your effort and will try to fix the article