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

Modified on Fri, 28 Jul, 2023 at 2:23 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 build your own site easily.


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. 



Important notes:

  • Go to Kenjo > Settings > Recruiting Settings and make sure your Kenjo Career site is active and you have picked a subdomain



  • This endpoint will provide you with a JSON with all the data of the active job openings in your system.

  • We recommend that you activate the option "Hide 'All job openings' link" in Kenjo, via Kenjo > Settings > Recruiting Settings. This will ensure the best possible experience for your candidates.


Example of the 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"
                }
            ]
        }
    ]
}




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.



Important notes:

  • Please note that you cannot feed documents into Kenjo. This is why is essential that all your attachment fields in Kenjo are toggled as Disabled in the position configuration.

  • Other than documents, you can feed both position and candidate custom fields into Kenjo. To do so, make sure they are toggled as either Required or Optional in the position configuration.


Example of the POST endpoint to feed a candidate into one of your positions:


{
  "positionId": "5b997a5f7bdcad00146fb82b",
  "candidate": {
      "firstName": "Hollywood",
      "lastName": "Fats",
      "email": "[email protected]"
  }
}


If you need the endpoints please contact us at [email protected] and our support team will provide them.


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 at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article