Get all job applications / candidate



Is there a way, given a job, to get a list of persons / candidates that applied for the job? ( maybe filter it by date? )

I tried using the Search API filters, and I couldn't make it work.

Any ideas?

Thanks

Submitted by iCIMSUNIFIL on March 09, 2020 Permalink

If you already have the job IDs, the below is an example of how to retrieve candidates associated with a job. If you do not have the job IDs, you can use the Search API or the Job Portal API. The Job Portal API will return jobs currently posted to the clients portal. There are multiple steps:

-Search for Applicant Workflows for jobs

Method: POST
URL: https://api.icims.com/customers/7609/search/applicantworkflows
Payload:
{

"filters": [

{

"name": "applicantworkflow.job.id",

"value": ["1000"],

"operator": "="

}

]

}
Response:
{
"searchResults": [{
"self": "https://api.icims.com/customers/7609/applicantworkflows/1",
"id": 1
},
{
"self": "https://api.icims.com/customers/7609/applicantworkflows/2",
"id": 2
},
{
"self": "https://api.icims.com/customers/7609/applicantworkflows/4",
"id": 4
},
{
"self": "https://api.icims.com/customers/7609/applicantworkflows/15",
"id": 15
},
{
"self": "https://api.icims.com/customers/7609/applicantworkflows/23",
"id": 23
},
{
"self": "https://api.icims.com/customers/7609/applicantworkflows/26",
"id": 26
},
{
"self": "https://api.icims.com/customers/7609/applicantworkflows/39",
"id": 39
},
{
"self": "https://api.icims.com/customers/7609/applicantworkflows/44",
"id": 44
}
]
}

-Query using Applicant Workflow ID to obtain Person ID. The associatedprofile is the person associated with the workflow.

Method: GET
URL: https://api.icims.com/customers/7609/applicantworkflows/15
Response:
{
"associatedprofile": {
"profile": "https://api.icims.com/customers/7609/people/107",
"id": 107,
"value": "Ginger Test"
},
"links": [{
"rel": "self",
"title": "The current profile being viewed.",
"url": "https://api.icims.com/customers/7609/applicantworkflows/15"
},
{
"rel": "self",
"title": "The base profile of this workflow.",
"url": "https://api.icims.com/customers/7609/jobs/1000"
},
{
"rel": "self",
"title": "The associated profile of this workflow.",
"url": "https://api.icims.com/customers/7609/people/107"
}
],
"source": "CSV/XML Import",
"baseprofile": {
"profile": "https://api.icims.com/customers/7609/jobs/1000",
"id": 1000,
"value": "Engineer"
},
"status": {
"id": "D10033",
"formattedvalue": "Offer - Background/Reference Check Initiated",
"value": "Offer - Background/Reference Check Initiated"
}
}

From here you will have the Person, Job and Applicant Workflow IDs. The IDs can be used to query for further information on each profile if necessary.

Submitted by iCIMSUNIFIL on March 11, 2020 Permalink

Thanks!

Is there a way to get the results without iterating every customer link? ( calling "https://api.icims.com/customers/7609/applicantworkflows/1" for example to get the application )

Submitted by iCIMSUNIFIL on March 11, 2020 Permalink

I also don't get the associated profile part of the response.
I created a candidate and submitted to a job, used the queries you wrote, and I get only the source in the response...

In reply to by iCIMSUNIFIL

Submitted by iCIMSUNIFIL on March 11, 2020 Permalink

Thank you, we adjusted permissions in the sandbox environment so you will now see the associatedprofile; this is a setting based on our shared sandbox environments. For the first questions, you will need to perform a query per applicantworkflowid to obtain the person IDs.

Submitted by iCIMSUNIFIL on March 12, 2020 Permalink

Thanks, I now get the associatedprofile.

I'm using the following query to get the applicant workflows:
POST
https://api.icims.com/customers/{customerId}/search/applicantworkflows

body:

{

"filters": [{
"name": "applicantworkflow.updateddate",
"secondaryValue": ["{DATE:END}"],
"value": ["{DATE:START}{DATE:-9}"],
"operator": "="
}],
"operator": "&"
}

the updateddate, is per application workflow? if we change the status of a candidate, to "interviewed" for example, does the updateddate field changes?

Thanks!

Submitted by iCIMSUNIFIL on March 16, 2020 Permalink

The applicantworkflowid is the unique identifier for the connection between a Job Profile (the baseProfile) and a Person Profile (the associatedProfile). There is one ID per association. It is possible for a candidate to be submitted/associated with more than one job at a time and each will have a unique ID.

Submitted by iCIMSUNIFIL on December 07, 2023 Permalink

You can review the search API filters on the Search API page. https://developer-community.icims.com/api/241#paragraph-1781. You can use the applicantworkflow.updateddate and applicantworkflow.job (relation). The bin and status indicate what stage the application is in.