1. Company Candidates
1.0.0
  • latest
  • 1.0.0
  • Getting Started
    • Generate an API key
  • Recruiting
    • Widget Integration
      • Integration Guide via Widget
      • Embed the Widget Code in WordPress
      • Steps to Implement in a React.js Website
    • Integration via code
      • Integration via code
      • Jobs Listing
  • Company Candidates
    • Company Candidate Sync API
      POST
    • Company Candidate Sync Screening Questions API
      POST
  1. Company Candidates

Company Candidate Sync Screening Questions API

POST
https://api.cooperhire.io/v1/company/candidate_sync_with_screening_questions

Creates a candidate along with configured screening questions#

Get the question_id from the Job Details API response and use it in the multipart form-data field name when submitting data to POST /v1/company/candidate_sync_with_screening_questions.

Short-text question#

KeyTypeValue
qa[answers][133][answer]TextI enjoy backend work.

Paragraph question#

KeyTypeValue
qa[answers][134][answer]TextI have over six years of experience building scalable APIs.

Select question#

For multiple_choice, dropdown, or boolean, send the selected option text directly.
KeyTypeValue
qa[answers][135][answer]TextYes

Multiple-select question#

For checkbox questions, add the answer[] field once for every selected option.
KeyTypeValue
qa[answers][136][answer][]TextJava
qa[answers][136][answer][]TextRuby

Date question#

KeyTypeValue
qa[answers][137][answer]Text2026-07-24
Use YYYY-MM-DD.

Integer question#

KeyTypeValue
qa[answers][138][answer]Text6

Decimal question#

KeyTypeValue
qa[answers][139][answer]Text4.5

File-upload question#

KeyTypeValue
qa[qa_attachments][140][files][]FileSelect file
Repeat files[] to upload multiple files for the same question. A maximum of 5 files is accepted, and each file must be 5 MB or smaller.

Validation errors#

Screening-question validation errors are returned in screening_answer_errors without preventing candidate creation.
ErrorMeaning
Question does not belong to this jobThe submitted question_id is not configured for the job.
Invalid option IDThe submitted option ID does not belong to the select question.
Invalid option answerThe submitted option text is not configured for the select question.
Required question is missingA required question was not submitted.
Invalid file questionA file was submitted for a question that is not a file type.
File size must be less than 5MBA submitted file exceeds 5 MB.
Maximum 5 files allowed; only the first 5 files were usedMore than five files were submitted for one file question.

Request

Authorization
Add parameter in header
api-key
Example:
api-key: ********************
Body Params multipart/form-data

Request Code Samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location 'https://api.cooperhire.io/v1/company/candidate_sync_with_screening_questions' \
--header 'api-key: <api-key>' \
--form 'candidate[first_name]="John"' \
--form 'candidate[email]="john@example.com"' \
--form 'candidate[last_name]="Doe"' \
--form 'candidate[linkedin_url]="https://linkedin.com/profile"' \
--form 'candidate[utm_source]="indeed"' \
--form 'candidate[phone_no]="9876543210"' \
--form 'candidate[job_id]=""' \
--form 'candidate[job_unique_id]=""' \
--form 'candidate[resume]=@""' \
--form 'candidate[documents][]=@""' \
--form 'qa[qa_attachments][100][files][]=@""' \
--form 'qa[answers][133][answer]="I am a software engineer with over 6 years of experience building scalable web applications."' \
--form 'qa[answers][134][answer][]="option 1"' \
--form 'qa[answers][135][answer][]="option 1 Multiple choice"' \
--form 'qa[answers][136][answer][]="Dropdown option 2"' \
--form 'qa[answers][137][answer]="2026-07-10"'

Responses

🟢200OK
application/json
Bodyapplication/json

Example
{
    "candidate": {
        "id": "9a93c89a-f57d-4558-83e5-bf99a793e451",
        "first_name": "John",
        "last_name": "Doe",
        "email": "john@example.com",
        "stage": "new",
        "resume": {
            "url": "https://storage.googleapis.com/ats-development/uploads/candidate_profile/resume/ab4cbd39-01d8-4b71-baa8-495719e9f45d/7b168770-b0d5-4022-9145-ed5178e31630_Closing_Soon.pdf"
        },
        "documents": [
            {
                "url": "https://storage.googleapis.com/ats-development/uploads/application/documents/337c4c17-5148-449a-927b-7bb8753ccdc9/7c57162f-4132-4d58-b460-9c2832bea524_download.png"
            }
        ],
        "linkedin_url": "https://linkedin.com/profile",
        "phone_no": "9876543210",
        "utm_source": "indeed",
        "job_id": 2123,
        "created_at": "2025-08-27T08:37:13.931Z",
        "average_rating": 0,
        "recruiter": {
            "id": 5,
            "first_name": "Test",
            "last_name": "Recruiter",
            "logo": {
                "url": null
            }
        },
        "job": {
            "id": 2123,
            "title": "ROR Job",
            "country": "Deutschland",
            "city": "Berlin",
            "deleted": false
        }
    },
    "screening_answers": [
        {
            "q_id": 6,
            "question": "Past company",
            "answer": "This is test",
            "type": "short_text"
        },
        {
            "q_id": 7,
            "question": "Do you have exp more than 5 years ?",
            "answer": [
                {
                    "5": "Yes"
                }
            ],
            "type": "boolean",
            "options": {
                "5": "Yes",
                "6": "No"
            }
        },
        {
            "q_id": 8,
            "question": "Do you know german language ?",
            "answer": [
                {
                    "8": "No"
                }
            ],
            "type": "boolean",
            "options": {
                "7": "Yes",
                "8": "No"
            }
        },
        {
            "q_id": 133,
            "question": "About yourself",
            "answer": "I am a software engineer with over 6 years of experience building scalable web applications.",
            "type": "paragraph"
        },
        {
            "q_id": 134,
            "question": "Checkboxes",
            "answer": [
                {
                    "34": "option 1"
                },
                {
                    "35": "option 2"
                }
            ],
            "type": "checkbox",
            "options": {
                "34": "option 1",
                "35": "option 2",
                "36": "option 3"
            }
        },
        {
            "q_id": 135,
            "question": "Multiple choice",
            "answer": [
                {
                    "37": "option 1 Multiple choice"
                }
            ],
            "type": "multiple_choice",
            "options": {
                "37": "option 1 Multiple choice",
                "38": "option 2 Multiple choice",
                "39": "option 3 Multiple choice"
            }
        },
        {
            "q_id": 136,
            "question": "Dropdown question",
            "answer": [
                {
                    "41": "Dropdown option 2"
                }
            ],
            "type": "dropdown",
            "options": {
                "40": "Dropdown option 1",
                "41": "Dropdown option 2",
                "42": "Dropdown option 3"
            }
        },
        {
            "q_id": 137,
            "question": "Date question?",
            "answer": "2026-07-10",
            "type": "date"
        },
        {
            "q_id": 100,
            "question": "Attach File",
            "answer": [
                "https://storage.googleapis.com/ats-development/uploads/qa_attachment/attachments/367/file-sample_150kB.pdf"
            ],
            "type": "file"
        }
    ],
    "screening_answer_errors": [
        {
            "question_id": 0,
            "error": "Invalid file question"
        }
    ]
}
Modified at 2026-07-28 11:22:44
Previous
Company Candidate Sync API
Built with