Image
abstract swish line in gradient colouring from pink to blue on a dark blue background

Integrations - Onboarding & Applicant Tracking System

Finding a job in People First

In order to create a new person using the Onboarding API, there must be existing job vacancies in the system that have been created previously.

See: Creating a new job

Get People First jobid from job title

If the job ID is unknown to the ATS, an API call can first be made to fetch this by searching on Job Title as follows:

GET PFBASEURI/api/v1/hrm/org/orgId/search?t=position&effDate=YYYY-MM-DD&q=xxx


The 'YYYY-MM-DD' part corresponds with the start date of the onboarder. This date is necessary in order to return the correct list of vacant job positions as of the given date.
The 'xxx' part of the API request corresponds with the search term for the title of the job.

  • The result of this request will return a single result if there is only one job with title 'xxx' as of the given date.
  • The result of this request will return list of results if there are multiple job positions which match the 'xxx' title as of the given date.
  • The result of this request will return an empty list if there are no jobs that have a matching job title as of the input date.

Sample Response with 2 results:

{
    "meta": {
        "links": {
            "self": {
                "href": "/hrm/org/orgId/search?t=position&effDate=2026-04-23&q=Sales%20Executive"
            }
        },
        "results.strucitem": {
            "items": 2,
            "total": 2
        }
    },
    "data": {
        "results": {
            "_links": {},
            "strucitem": [
                {
                    "_links": {
                        "self": {
                            "href": "/hrm/structure/50986037-c1ee-4b44-bac3-b211008dfee5/effDate/2026-04-23"
                        },
                        "parent": {
                            "href": "/hrm/structure/ce1c4495-d6ea-43b3-80a5-b0d6010f286e/effDate/2026-04-23"
                        },
                        "ancestors": {
                            "href": "/hrm/jobs/50986037-c1ee-4b44-bac3-b211008dfee5/structuretree/effdate/2026-04-23"
                        }
                    },
                    "structureId": "50986037-c1ee-4b44-bac3-b211008dfee5",
                    "type": "",
                    "name": "Sales Executive",
                    "structureReference": "",
                    "parentName": "Sales Department",
                    "personId": "",
                    "occupantName": "",
                    "knownAs": "",
                    "personalReference": "",
                    "occupancyId": ""
                },
                {
                    "_links": {
                        "self": {
                            "href": "/hrm/structure/8c6cc566-cbaa-42fa-bfa9-b211008dfef7/effDate/2026-04-23"
                        },
                        "parent": {
                            "href": "/hrm/structure/ce1c4495-d6ea-43b3-80a5-b0d6010f286e/effDate/2026-04-23"
                        },
                        "ancestors": {
                            "href": "/hrm/jobs/8c6cc566-cbaa-42fa-bfa9-b211008dfef7/structuretree/effdate/2026-04-23"
                        }
                    },
                    "structureId": "8c6cc566-cbaa-42fa-bfa9-b211008dfef7",
                    "type": "",
                    "name": "Sales Executive",
                    "structureReference": "",
                    "parentName": "Sales Department",
                    "personId": "",
                    "occupantName": "",
                    "knownAs": "",
                    "personalReference": "",
                    "occupancyId": ""
                }
            ]
        }
    }
}


The structureId is the jobId needed for future API calls, eg: "structureId": "8c6cc566-cbaa-42fa-bfa9-b211008dfef7", this will be referred to as <jobId>.

 

Looking for something specific?