Skip to main content
POST
/
api
/
screening
/
batch
curl --request POST \
  --url https://api.harmonyforstaffing.com/api/screening/batch \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "jobId": 123,
    "candidateIds": [456, 457, 458],
    "criteria": [
      {
        "description": "Must be experienced in Pediatric Intensive Care",
        "importance": "required",
        "type": "specialty"
      }
    ],
    "replaceCriteria": true
  }'
{
  "screenings": [
    {
      "id": 789,
      "candidateId": 456,
      "jobId": 123,
      "currentScore": 66.67,
      "potentialScore": 100,
      "disqualify": false,
      "criteria": [
        {
          "id": 1,
          "source": "job_criteria",
          "question": "How many years of ICU nursing experience do you have?",
          "criteria": "Minimum of 3 years ICU nursing experience required",
          "type": "YearsOfExperience",
          "status": "PartiallyMet",
          "reasoning": "The candidate has 2 years of ICU experience...",
          "textEvidence": "2 years of experience in Medical ICU"
        }
      ],
      "qualificationLevel": "Appropriate",
      "isRelevant": true
    }
    // ... Additional screening results
  ]
}
Screen multiple candidates against a job, including a summary of the screening results. You can optionally provide additional or replacement criteria specific to this screening.

Body Parameters

candidateId
integer
Single candidate ID to screen against multiple jobs (required if jobIds provided)
jobId
integer
Single job ID to screen multiple candidates against (required if candidateIds provided)
criteria
array
Additional screening criteria (optional)
replaceCriteria
boolean
default:"false"
If true, provided criteria replace job criteria. If false, they are added to job criteria.

Request Examples

curl --request POST \
  --url https://api.harmonyforstaffing.com/api/screening/batch \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "jobId": 123,
    "candidateIds": [456, 457, 458],
    "criteria": [
      {
        "description": "Must be experienced in Pediatric Intensive Care",
        "importance": "required",
        "type": "specialty"
      }
    ],
    "replaceCriteria": true
  }'

Response Fields

id
integer
Unique identifier for the screening
jobSubmissionId
integer
ID of the job submission being screened (if exists)
candidateId
integer
ID of the candidate being screened
jobId
integer
ID of the job being screened against
currentScore
number
Current match percentage based on verified criteria (0-100)
potentialScore
number
Maximum possible match percentage if all unverified criteria are met (0-100)
disqualify
boolean
Whether the candidate should be disqualified from the job
criteria
array
Detailed analysis of each criterion
qualificationLevel
string
Overall qualification assessment (e.g., “Appropriate”, “Overqualified”, “Underqualified”)
isRelevant
boolean
Indicates if the candidate’s background is relevant to the position
{
  "screenings": [
    {
      "id": 789,
      "candidateId": 456,
      "jobId": 123,
      "currentScore": 66.67,
      "potentialScore": 100,
      "disqualify": false,
      "criteria": [
        {
          "id": 1,
          "source": "job_criteria",
          "question": "How many years of ICU nursing experience do you have?",
          "criteria": "Minimum of 3 years ICU nursing experience required",
          "type": "YearsOfExperience",
          "status": "PartiallyMet",
          "reasoning": "The candidate has 2 years of ICU experience...",
          "textEvidence": "2 years of experience in Medical ICU"
        }
      ],
      "qualificationLevel": "Appropriate",
      "isRelevant": true
    }
    // ... Additional screening results
  ]
}