Candidates
These Candidate APIs allow you to add, update and delete candidates.
get
copied!# You can also use wgetcurl -X GET https://api-qa.phenompro.com/candidates-api/v1/candidates
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userId: string'GET /candidates-api/v1/candidates
The Get Candidate Details API is used to fetch candidate details based on candidateId, email, atsId or linkedInProfileUrl.
Headers
| Name | In | Type | Required |
|---|---|---|---|
| Authorization | header | string | true |
| x-ph-userId | header | string | true |
Parameters
| Name | In | Type | Required |
|---|---|---|---|
| candidateId | query | string | false |
| query | string | false | |
| atsId | query | string | false |
| linkedInProfileUrl | query | string | false |
Response
Successfully fetched the candidate details.
copied![
{
"type": "object",
"description": "An object representing candidate-related information.",
"properties": {
"data": {
"type": "object",
"description": "An object containing candidate data.",
"properties": {
"middleName": {
"type": "string",
"description": "The middle name of the candidate."
},
"candidateId": {
"type": "string",
"description": "Unique identifier for the user or candidate."
},
"employeeId": {
"type": "string",
"description": "Employee profile ID associated with the candidate."
},
"linkedInProfileURL": {
"type": "string",
"description": "URL to the candidate's LinkedIn profile."
},
"firstName": {
"type": "string",
"description": "First name of the candidate."
},
"company": {
"type": "string",
"description": "The name of the company associated with the candidate."
},
"createdDate": {
"type": "number",
"description": "Timestamp indicating when the profile was created."
},
"updatedDate": {
"type": "number",
"description": "The date when the information was last updated."
},
"emailList": {
"type": "array",
"description": "An array representing an email list.",
"items": {
"EmailDetail": {
"type": "object",
"description": "An object representing details of an email entry.",
"properties": {
"email": {
"type": "string",
"description": "The email address."
},
"type": {
"type": "string",
"description": "The type of email entry."
},
"status": {
"type": "string",
"description": "The status of the email entry."
}
}
}
}
},
"contacts": {
"type": "array",
"description": "An array representing contact information.",
"items": {
"ContactDetail": {
"type": "object",
"description": "An object containing details of a contact entry.",
"properties": {
"phoneNumber": {
"type": "string",
"description": "The phone number."
},
"countryCode": {
"type": "string",
"description": "The country code."
},
"status": {
"type": "string",
"description": "The status of the contact entry."
},
"type": {
"type": "string",
"description": "The type of contact entry."
}
}
}
}
},
"lastName": {
"type": "string",
"description": "Last name of the individual."
},
"internal": {
"type": "boolean",
"description": "Indicates whether the individual is internal."
},
"atsId": {
"type": "string",
"description": "Unique identifier associated with the ATS."
},
"firstProfileSourceList": {
"type": "array",
"description": "Array representing the first source of the candidate's profile.",
"items": {
"type": "string"
}
},
"profileSourceList": {
"type": "array",
"description": "Array representing all the sources of the candidate's profile.",
"items": {
"type": "string"
}
},
"linkedInUrnId": {
"type": "string",
"description": "LinkedIn URN ID of the candidate."
},
"linkedInSyncStatus": {
"type": "string",
"description": "Status of LinkedIn sync."
},
"linkedInLastSyncDate": {
"type": "integer",
"description": "When the candidate profile was synced with LinkedIn."
},
"location": {
"description": "Primary address associated with the candidate.",
"LocationDetail": {
"type": "object",
"description": "An object representing a geographic location.",
"properties": {
"city": {
"type": "string",
"description": "The city."
},
"state": {
"type": "string",
"description": "The state."
},
"country": {
"type": "string",
"description": "The country."
},
"zipCode": {
"type": "string",
"description": "The zipcode."
}
}
}
}
}
},
"message": {
"type": "string",
"description": "Message associated with the response."
},
"status": {
"type": "integer",
"description": "Status code of the request."
}
}
}
]Wrong request format or parameters missing.
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "integer",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Could not find candidate for given identifier.
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "integer",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Exception occurred.
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "integer",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Successfully fetched the candidate details. | Candidate |
| 400 | Wrong request format or parameters missing. | ErrorResponse |
| 404 | Could not find candidate for given identifier. | ErrorResponse |
| 500 | Exception occurred. | ErrorResponse |
post
copied!# You can also use wgetcurl -X POST https://api-qa.phenompro.com/candidates-api/v1/candidates
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userId: string'POST /candidates-api/v1/candidates
The create candidate profile API creates a new profile record in the system.
Headers
| Name | In | Type | Required |
|---|---|---|---|
| Authorization | header | string | true |
| x-ph-userId | header | string | true |
Body Parameter
copied![
{
"type": "object",
"required": {
"0": "firstName",
"1": "lastName",
"2": "profileSources"
},
"properties": {
"firstName": {
"type": "string",
"description": "The first name of the candidate."
},
"lastName": {
"type": "string",
"description": "The last name of the candidate."
},
"middleName": {
"type": "string",
"description": "The middle name of the candidate."
},
"linkedInProfileURL": {
"type": "string",
"description": "The LinkedIn profile URL of the candidate."
},
"internal": {
"type": "boolean",
"description": "Indicates whether the candidate is internal."
},
"profileSources": {
"type": "array",
"description": "Array of profile sources associated with the candidate.",
"items": {
"type": "string"
}
},
"languagePreference": {
"type": "string",
"description": "The language preference of the candidate."
},
"languageKnown": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of languages known by the candidate."
},
"createdDate": {
"type": "string",
"format": "date-time",
"description": "The date and time when the candidate was created in the ATS."
},
"updatedDate": {
"type": "string",
"format": "date-time",
"description": "The date and time when the candidate record was last updated in the ATS."
},
"emailList": {
"type": "array",
"description": "Array of email addresses associated with the candidate.",
"items": {
"type": "object",
"description": "Email details for the candidate.",
"required": {
"0": "email",
"1": "type",
"2": "status"
},
"properties": {
"email": {
"type": "string",
"description": "The email address of the candidate. (Example: xyz@gmail.com)"
},
"type": {
"type": "string",
"description": "The type of email (e.g., 'Primary' or 'Secondary')."
},
"status": {
"type": "string",
"description": "The status of the email (e.g., 'Primary' or 'Secondary').",
"enum": {
"0": "Primary",
"1": "Secondary"
}
}
}
}
},
"contacts": {
"type": "array",
"description": "Array of contact details associated with the candidate.",
"items": {
"type": "object",
"description": "Contact details for the candidate.",
"required": {
"0": "type",
"1": "phoneNumber",
"2": "status",
"3": "countryCode"
},
"properties": {
"type": {
"type": "string",
"description": "The type of contact (e.g., 'Primary' or 'Secondary')."
},
"phoneNumber": {
"type": "string",
"description": "The phone number of the contact."
},
"status": {
"type": "string",
"description": "The status of the contact (e.g., 'Primary' or 'Secondary').",
"enum": {
"0": "Primary",
"1": "Secondary"
}
},
"countryCode": {
"type": "string",
"description": "The country code associated with the contact."
}
}
}
},
"atsId": {
"type": "string",
"description": "The ATS (Applicant Tracking System) identifier associated with the candidate."
},
"employeeId": {
"type": "string",
"description": "The employee identifier associated with the candidate."
}
},
"anyOf": {
"0": {
"required": {
"0": "emailList"
}
},
"1": {
"required": {
"0": "contacts"
}
},
"2": {
"required": {
"0": "linkedInProfileURL"
}
},
"3": {
"required": {
"0": "employeeId"
}
}
},
"description": "Schema defining the structure of the request body for creating a candidate profile.<br/><br/><b>Validation Rules:</b><ul><li><code>firstName</code>, <code>lastName</code>, and <code>profileSources</code> are always mandatory.</li><li>You must also provide <b>at least one</b> of the following: <code>emailList</code>, <code>contacts</code>, <code>linkedInProfileURL</code>, or <code>employeeId</code>.</li></ul>"
}
]Request Parameters
| Type | Name |
|---|---|
| application/json | CreateCandidateRequest |
Response
Candidate profile created successfully
copied![
{
"type": "object",
"description": "An object representing the response after creating a candidate.",
"properties": {
"data": {
"type": "object",
"description": "An object containing data related to the created candidate.",
"properties": {
"candidateId": {
"type": "string",
"description": "The unique identifier for the created candidate."
}
}
},
"message": {
"type": "string",
"description": "A string representing a message or communication associated with the response."
},
"status": {
"type": "integer",
"description": "An integer representing the status of the response."
}
}
}
]Wrong request format or parameters missing.
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "integer",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Candidate profile already exists with given identifier.
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "integer",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Exception occurred.
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "integer",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Candidate profile created successfully | CreateCandidateResponse |
| 400 | Wrong request format or parameters missing. | ErrorResponse |
| 409 | Candidate profile already exists with given identifier. | ErrorResponse |
| 500 | Exception occurred. | ErrorResponse |
patch
copied!# You can also use wgetcurl -X PATCH https://api-qa.phenompro.com/candidates-api/v1/candidates/{candidateId}
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userId: string'PATCH /candidates-api/v1/candidates/{candidateId}
This API updates the profile data for a given candidate Id.
Headers
| Name | In | Type | Required |
|---|---|---|---|
| Authorization | header | string | true |
| x-ph-userId | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"firstName": {
"type": "string",
"description": "The first name of the candidate."
},
"lastName": {
"type": "string",
"description": "The last name of the candidate."
},
"middleName": {
"type": "string",
"description": "The middle name of the candidate."
},
"emailList": {
"type": "array",
"items": {
"type": "object",
"properties": {
"email": {
"type": "string",
"description": "The email address of the candidate."
},
"type": {
"type": "string",
"description": "The type of email (e.g., 'Primary' or 'Secondary')."
},
"status": {
"type": "string",
"description": "The status of the email (e.g., 'Primary' or 'Secondary')."
}
}
},
"description": "Array of email addresses associated with the candidate."
},
"contacts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "The type of contact (e.g., 'Primary' or 'Secondary')."
},
"phoneNumber": {
"type": "string",
"description": "The phone number of the contact."
},
"status": {
"type": "string",
"description": "The status of the contact (e.g., 'Primary' or 'Secondary')."
},
"countryCode": {
"type": "string",
"description": "The country code associated with the contact."
}
}
},
"description": "Array of contact details associated with the candidate."
},
"linkedInProfileURL": {
"type": "string",
"description": "The LinkedIn profile URL of the candidate."
},
"atsId": {
"type": "string",
"description": "The ATS (Applicant Tracking System) identifier associated with the candidate."
},
"employeeId": {
"type": "string",
"description": "The employee identifier associated with the candidate."
},
"internal": {
"type": "boolean",
"description": "Indicates whether the candidate is internal."
},
"profileSources": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of profile sources associated with the candidate."
},
"createdDate": {
"type": "string",
"description": "The date and time when the candidate was created in the ATS."
},
"updatedDate": {
"type": "string",
"description": "The date and time when the candidate record was last updated in the ATS."
},
"languagePreference": {
"type": "string",
"description": "The language preference of the candidate."
},
"languageKnown": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of languages known by the candidate."
},
"gender": {
"type": "string",
"description": "The gender of the candidate."
},
"designation": {
"type": "string",
"description": "The designation or job title of the candidate."
},
"race": {
"type": "string",
"description": "The race or ethnicity of the candidate."
},
"veteran": {
"type": "string",
"description": "Indicates whether the candidate is a veteran."
},
"disability": {
"type": "string",
"description": "The disability status of the candidate."
},
"ethnicity": {
"type": "string",
"description": "The ethnicity of the candidate."
}
},
"description": "Schema defining the structure of the request body for updating a candidate profile."
}
]Parameters
| Name | In | Type | Required |
|---|---|---|---|
| candidateId | path | string | true |
Request Parameters
| Type | Name |
|---|---|
| application/json | UpdateCandidateRequest |
Response
Successfully updated candidate profile
copied![
{
"type": "object",
"description": "An object representing the response after creating a candidate.",
"properties": {
"data": {
"type": "object",
"description": "An object containing data related to the created candidate.",
"properties": {
"candidateId": {
"type": "string",
"description": "The unique identifier for the created candidate."
}
}
},
"message": {
"type": "string",
"description": "A string representing a message or communication associated with the response."
},
"status": {
"type": "string",
"description": "An string representing the status of the response, indicating success, failure, or another state."
}
}
}
]Wrong request format or parameters missing.
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Invalid candidateId
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Exception occurred
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Responses
| Status | Description | Schema |
|---|---|---|
| 201 | Successfully updated candidate profile | CandidateCreateResponse |
| 400 | Wrong request format or parameters missing. | Error |
| 404 | Invalid candidateId | Error |
| 500 | Exception occurred | Error |
delete
copied!# You can also use wgetcurl -X DELETE https://api-qa.phenompro.com/candidates-api/v1/candidates/{candidateId}
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'x-ph-userId: string'
-H 'Authorization: string'DELETE /candidates-api/v1/candidates/{candidateId}
This API deletes the profile of a given candidate id.
Headers
| Name | In | Type | Required |
|---|---|---|---|
| x-ph-userId | header | string | true |
| Authorization | header | string | true |
Parameters
| Name | In | Type | Required |
|---|---|---|---|
| candidateId | path | string | true |
Response
Successfully deleted the candidate
copied![
{
"type": "object",
"description": "Response object for updating candidate details.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the response status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the response."
}
}
}
]Invalid candidateId
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Exception occurred
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Successfully deleted the candidate | CandidateDetailsUpdateResponse |
| 404 | Invalid candidateId | Error |
| 500 | Exception occurred | Error |
get
copied!# You can also use wgetcurl -X GET https://api-qa.phenompro.com/candidates-api/v1/candidates/{candidateId}/experiences
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userId: string'GET /candidates-api/v1/candidates/{candidateId}/experiences
The experiences API is used to fetch experiences on the candidate profiles.
Headers
| Name | In | Type | Required |
|---|---|---|---|
| Authorization | header | string | true |
| x-ph-userId | header | string | true |
Parameters
| Name | In | Type | Required |
|---|---|---|---|
| candidateId | path | string | true |
Response
Successfully fetched the experience details for given candidate
copied![
{
"type": "object",
"description": "Schema defining the structure of the experience data for a candidate.",
"properties": {
"data": {
"type": "object",
"description": "Object containing experience-related data.",
"properties": {
"experiences": {
"type": "array",
"description": "List of experience objects.",
"items": {
"type": "object",
"description": "Object representing an individual experience.",
"properties": {
"company": {
"type": "string",
"description": "A string representing the name of the company."
},
"jobTitle": {
"type": "string",
"description": "A string representing the job title."
},
"industry": {
"type": "string",
"description": "A string representing the industry associated with the experience."
},
"role": {
"type": "string",
"description": "A string representing the role in the experience."
},
"jobLocation": {
"type": "string",
"description": "A string representing the location of the job."
},
"startDate": {
"type": "number",
"description": "A number representing the start date of the experience."
},
"endDate": {
"type": "number",
"description": "A number representing the end date of the experience."
},
"isCurrent": {
"type": "boolean",
"description": "A boolean indicating whether the experience is current."
},
"companyUrl": {
"type": "string",
"description": "A string representing the URL of the company."
},
"jobSummary": {
"type": "string",
"description": "A string representing a summary of the job experience."
}
}
}
}
}
},
"message": {
"type": "string",
"description": "Message or additional information related to the experience data."
},
"status": {
"type": "string",
"description": "Status of the experience data, indicating success or failure."
}
}
}
]No content found for the given request.
copied![
{
"type": "object",
"description": "No content in the response"
}
]Invalid candidateId
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Exception occurred
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Successfully fetched the experience details for given candidate | Experience |
| 204 | No content found for the given request. | ContentNotFound |
| 404 | Invalid candidateId | Error |
| 500 | Exception occurred | Error |
patch
copied!# You can also use wgetcurl -X PATCH https://api-qa.phenompro.com/candidates-api/v1/candidates/{candidateId}/experiences
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userId: string'PATCH /candidates-api/v1/candidates/{candidateId}/experiences
The experiences API is used to update experiences on the candidate profiles.
Headers
| Name | In | Type | Required |
|---|---|---|---|
| Authorization | header | string | true |
| x-ph-userId | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"action": {
"type": "string",
"description": "Indicates modifying or replacing existing resource.Accepted values are replace and merge"
},
"experience": {
"type": "array",
"items": {
"type": "object",
"properties": {
"company": {
"type": "string",
"description": "The name of the company where the candidate gained experience."
},
"isCurrent": {
"type": "boolean",
"description": "Indicates whether the candidate is currently employed in this position."
},
"jobTitle": {
"type": "string",
"description": "The job title or position held by the candidate."
},
"jobSummary": {
"type": "string",
"description": "A summary or description of the candidate's job responsibilities."
},
"startMonth": {
"type": "integer",
"description": "The starting month of the candidate's employment."
},
"startYear": {
"type": "integer",
"description": "The starting year of the candidate's employment."
},
"endMonth": {
"type": "integer",
"description": "The ending month of the candidate's employment, if applicable."
},
"endYear": {
"type": "integer",
"description": "The ending year of the candidate's employment, if applicable."
},
"industry": {
"type": "string",
"description": "The industry or sector associated with the candidate's experience."
},
"type": {
"type": "string",
"description": "The type of experience (e.g., 'Full-time', 'Part-time')."
},
"designation": {
"type": "string",
"description": "The designation or role associated with the candidate's experience."
},
"role": {
"type": "string",
"description": "The specific role or function performed by the candidate."
},
"jobLocation": {
"type": "string",
"description": "The location of the job or work associated with the experience."
},
"country": {
"type": "string",
"description": "The country where the candidate gained experience."
},
"state": {
"type": "string",
"description": "The state or region where the candidate gained experience."
},
"city": {
"type": "string",
"description": "The city where the candidate gained experience."
}
}
},
"description": "Array of experiences to be added or updated for the candidate."
}
},
"description": "Schema defining the structure of the request body for adding or updating candidate experiences."
}
]Parameters
| Name | In | Type | Required |
|---|---|---|---|
| candidateId | path | string | true |
Request Parameters
| Type | Name |
|---|---|
| application/json | AddOrUpdateExperienceRequest |
Response
Successfully added experiences to candidates
copied![
{
"type": "object",
"description": "Response object for updating candidate details.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the response status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the response."
}
}
}
]wrong request format or parameters missing
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Invalid candidateId
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Exception occurred
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Successfully added experiences to candidates | CandidateDetailsUpdateResponse |
| 400 | wrong request format or parameters missing | Error |
| 404 | Invalid candidateId | Error |
| 500 | Exception occurred | Error |
get
copied!# You can also use wgetcurl -X GET https://api-qa.phenompro.com/candidates-api/v1/candidates/{candidateId}/educations
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'x-ph-userId: string'
-H 'Authorization: string'GET /candidates-api/v1/candidates/{candidateId}/educations
This API is used to fetch education on candidate profiles.
Headers
| Name | In | Type | Required |
|---|---|---|---|
| x-ph-userId | header | string | true |
| Authorization | header | string | true |
Parameters
| Name | In | Type | Required |
|---|---|---|---|
| candidateId | path | string | true |
Response
Successfully fetched the education for given candidate
copied![
{
"type": "object",
"description": "Object representing education details.",
"properties": {
"data": {
"type": "object",
"description": "Object containing education data.",
"properties": {
"educations": {
"type": "array",
"description": "Array of education items.",
"items": {
"type": "object",
"properties": {
"degree": {
"type": "string",
"description": "The degree obtained by the candidate in their educational background."
},
"fieldOfStudy": {
"type": "string",
"description": "The field of study or major in the candidate's educational background."
},
"schoolName": {
"type": "string",
"description": "The name of the school associated with the candidate's educational background."
},
"schoolAndUniversity": {
"type": "string",
"description": "Combined name of the school and university associated with the candidate's educational background."
},
"state": {
"type": "string",
"description": "The state where the educational institution is located."
},
"country": {
"type": "string",
"description": "The country where the educational institution is located."
},
"startDate": {
"type": "number",
"description": "The start date of the educational program."
},
"endDate": {
"type": "number",
"description": "The end date of the educational program."
},
"isHighEducation": {
"type": "boolean",
"description": "Boolean indicating whether the education is considered high education or not."
}
}
}
}
}
},
"message": {
"type": "string",
"description": "Description or message providing details about the response."
},
"status": {
"type": "string",
"description": "Status of the response."
}
}
}
]No content found for the given request.
copied![
{
"type": "object",
"description": "No content in the response"
}
]Invalid candidateId
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Exception occurred
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Successfully fetched the education for given candidate | Education |
| 204 | No content found for the given request. | ContentNotFound |
| 404 | Invalid candidateId | Error |
| 500 | Exception occurred | Error |
patch
copied!# You can also use wgetcurl -X PATCH https://api-qa.phenompro.com/candidates-api/v1/candidates/{candidateId}/educations
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userId: string'PATCH /candidates-api/v1/candidates/{candidateId}/educations
This API is used to update education on candidate profiles.
Headers
| Name | In | Type | Required |
|---|---|---|---|
| Authorization | header | string | true |
| x-ph-userId | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"action": {
"type": "string",
"description": "Indicates modifying or replacing of existing resource.Accepted values are replace and merge"
},
"education": {
"type": "array",
"description": "List of education details to be added or updated for the candidate.",
"items": {
"type": "object",
"properties": {
"degree": {
"type": "string",
"description": "Degree or qualification obtained in the education."
},
"fieldOfStudy": {
"type": "string",
"description": "Field of study or major in the education."
},
"schoolName": {
"type": "string",
"description": "Name of the educational institution or school."
},
"startMonth": {
"type": "integer",
"description": "Start month of the education (numeric value)."
},
"startYear": {
"type": "integer",
"description": "Start year of the education (numeric value)."
},
"endMonth": {
"type": "integer",
"description": "End month of the education (numeric value)."
},
"endYear": {
"type": "integer",
"description": "End year of the education (numeric value)."
},
"isHighEducation": {
"type": "boolean",
"description": "Boolean indicating whether the education is a high education level."
},
"city": {
"type": "string",
"description": "City where the educational institution is located."
},
"state": {
"type": "string",
"description": "State or region where the educational institution is located."
},
"country": {
"type": "string",
"description": "Country where the educational institution is located."
},
"universityName": {
"type": "string",
"description": "Name of the university associated with the education."
}
}
}
}
},
"description": "Schema defining the structure of the request body for adding or updating education details for a candidate."
}
]Parameters
| Name | In | Type | Required |
|---|---|---|---|
| candidateId | path | string | true |
Request Parameters
| Type | Name |
|---|---|
| application/json | AddOrUpdateEducationRequest |
Response
Successfully added education to candidates
copied![
{
"type": "object",
"description": "Response object for updating candidate details.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the response status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the response."
}
}
}
]Wrong request format or parameters missing
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Invalid candidateId
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Exception occurred
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Successfully added education to candidates | CandidateDetailsUpdateResponse |
| 400 | Wrong request format or parameters missing | Error |
| 404 | Invalid candidateId | Error |
| 500 | Exception occurred | Error |
get
copied!# You can also use wgetcurl -X GET https://api-qa.phenompro.com/candidates-api/v1/candidates/{candidateId}/skills
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userId: string'GET /candidates-api/v1/candidates/{candidateId}/skills
This API is used to fetch skills on the candidate profiles.
Headers
| Name | In | Type | Required |
|---|---|---|---|
| Authorization | header | string | true |
| x-ph-userId | header | string | true |
Parameters
| Name | In | Type | Required |
|---|---|---|---|
| candidateId | path | string | true |
Response
Successfully fetched the skills of a candidate
copied![
{
"type": "object",
"description": "Object representing skills.",
"properties": {
"data": {
"type": "object",
"description": "Object containing skills data.",
"properties": {
"skills": {
"type": "array",
"description": "Array of skill items.",
"items": {
"type": "object",
"properties": {
"value": {
"type": "string",
"description": "The skill value."
}
}
}
}
}
},
"message": {
"type": "string",
"description": "Description or message providing details about the response."
},
"status": {
"type": "string",
"description": "Status of the response."
}
}
}
]No content found for the given request.
copied![
{
"type": "object",
"description": "No content in the response"
}
]Invalid candidateId
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Exception occurred
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Successfully fetched the skills of a candidate | Skills |
| 204 | No content found for the given request. | ContentNotFound |
| 404 | Invalid candidateId | Error |
| 500 | Exception occurred | Error |
patch
copied!# You can also use wgetcurl -X PATCH https://api-qa.phenompro.com/candidates-api/v1/candidates/{candidateId}/skills
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'PATCH /candidates-api/v1/candidates/{candidateId}/skills
The skills API is used to update skills on the candidate profiles.
Headers
| Name | In | Type | Required |
|---|---|---|---|
| Authorization | header | string | true |
| x-ph-userid | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"action": {
"type": "string",
"description": "Indicates modifying or replacing of existing resource.Accepted values are replace and merge"
},
"skillList": {
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"type": "string",
"description": "The skill value or name to be added to the candidate's skill list."
}
}
},
"description": "Array of skills to be added to the candidate's skill list."
}
},
"description": "Schema defining the structure of the request body for adding skills to a candidate."
}
]Parameters
| Name | In | Type | Required |
|---|---|---|---|
| candidateId | path | string | true |
Request Parameters
| Type | Name |
|---|---|
| application/json | AddSkillsRequest |
Response
Successfully added skills to candidates
copied![
{
"type": "object",
"description": "Response object for updating candidate details.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the response status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the response."
}
}
}
]wrong request format or parameters missing
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Invalid candidateId
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Exception occurred
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Successfully added skills to candidates | CandidateDetailsUpdateResponse |
| 400 | wrong request format or parameters missing | Error |
| 404 | Invalid candidateId | Error |
| 500 | Exception occurred | Error |
get
copied!# You can also use wgetcurl -X GET https://api-qa.phenompro.com/candidates-api/v1/candidates/{candidateId}/awards
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userId: string'GET /candidates-api/v1/candidates/{candidateId}/awards
This API is used to fetch awards on the candidate profiles.
Headers
| Name | In | Type | Required |
|---|---|---|---|
| Authorization | header | string | true |
| x-ph-userId | header | string | true |
Parameters
| Name | In | Type | Required |
|---|---|---|---|
| candidateId | path | string | true |
Response
Successfully fetched the awards of a candidate
copied![
{
"type": "object",
"description": "Object representing awards.",
"properties": {
"data": {
"type": "object",
"description": "Object containing awards data.",
"properties": {
"awards": {
"type": "array",
"description": "Array of award items.",
"items": {
"type": "object",
"properties": {
"description": {
"type": "string",
"description": "Description of the award."
},
"title": {
"type": "string",
"description": "Title of the award."
},
"awardedOn": {
"type": "object",
"description": "Object representing the date when the award was awarded.",
"properties": {
"year": {
"type": "number",
"description": "Year of the award."
},
"month": {
"type": "number",
"description": "Month of the award."
},
"day": {
"type": "number",
"description": "Day of the award."
}
}
}
}
}
}
}
},
"message": {
"type": "string",
"description": "Description or message providing details about the response."
},
"status": {
"type": "string",
"description": "Status of the response."
}
}
}
]No content found for the given request.
copied![
{
"type": "object",
"description": "No content in the response"
}
]Invalid candidateId
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Exception occurred
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Successfully fetched the awards of a candidate | Award |
| 204 | No content found for the given request. | ContentNotFound |
| 404 | Invalid candidateId | Error |
| 500 | Exception occurred | Error |
patch
copied!# You can also use wgetcurl -X PATCH https://api-qa.phenompro.com/candidates-api/v1/candidates/{candidateId}/awards
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userId: string'PATCH /candidates-api/v1/candidates/{candidateId}/awards
This API is used to update awards on the candidate profiles.
Headers
| Name | In | Type | Required |
|---|---|---|---|
| Authorization | header | string | true |
| x-ph-userId | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"action": {
"type": "string",
"description": "Indicates modifying or replacing of existing resource.Accepted values are replace and merge"
},
"awards": {
"type": "array",
"description": "List of awards to be updated or added to the candidate's profile.",
"items": {
"type": "object",
"properties": {
"awardedOn": {
"type": "object",
"description": "Date when the award was received.",
"properties": {
"year": {
"type": "integer",
"description": "The year when the award was issued."
},
"month": {
"type": "integer",
"description": "The month when the award was issued."
}
}
},
"title": {
"type": "string",
"description": "Title of the award."
},
"description": {
"type": "string",
"description": "Description or details of the award."
}
}
}
}
},
"description": "Schema defining the structure of the request body for updating or adding awards to a candidate's profile."
}
]Parameters
| Name | In | Type | Required |
|---|---|---|---|
| candidateId | path | string | true |
Request Parameters
| Type | Name |
|---|---|
| application/json | UpdateAwardsRequest |
Response
Successfully added awards to candidates
copied![
{
"type": "object",
"description": "Response object for updating candidate details.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the response status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the response."
}
}
}
]Wrong request format or parameters missing
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Invalid candidateId
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Exception occurred
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Successfully added awards to candidates | CandidateDetailsUpdateResponse |
| 400 | Wrong request format or parameters missing | Error |
| 404 | Invalid candidateId | Error |
| 500 | Exception occurred | Error |
get
copied!# You can also use wgetcurl -X GET https://api-qa.phenompro.com/candidates-api/v1/candidates/{candidateId}/certifications
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userId: string'GET /candidates-api/v1/candidates/{candidateId}/certifications
This API is used to fetch certifications on the candidate profiles.
Headers
| Name | In | Type | Required |
|---|---|---|---|
| Authorization | header | string | true |
| x-ph-userId | header | string | true |
Parameters
| Name | In | Type | Required |
|---|---|---|---|
| candidateId | path | string | true |
Response
Successfully fetched the certifications of a candidate
copied![
{
"type": "object",
"description": "Object representing certifications.",
"properties": {
"data": {
"type": "object",
"description": "Object containing certifications data.",
"properties": {
"certifications": {
"type": "array",
"description": "Array of certification items.",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the certification."
},
"certificationNumber": {
"type": "string",
"description": "The unique certification number."
},
"institute": {
"type": "string",
"description": "The institution or organization that issued the certification."
},
"startDate": {
"type": "number",
"description": "The numeric representation of the certification start date."
},
"issuedDate": {
"type": "object",
"properties": {
"year": {
"type": "number",
"description": "The year when the certification was issued."
},
"month": {
"type": "number",
"description": "The month when the certification was issued."
},
"day": {
"type": "number",
"description": "The day when the certification was issued."
}
},
"description": "The date when the certification was officially issued."
},
"expiryDate": {
"type": "object",
"properties": {
"year": {
"type": "number",
"description": "The year when the certification expires."
},
"month": {
"type": "number",
"description": "The month when the certification expires."
},
"day": {
"type": "number",
"description": "The day when the certification expires."
}
},
"description": "The date when the certification expires."
}
}
}
}
}
},
"message": {
"type": "string",
"description": "Description or message providing details about the response."
},
"status": {
"type": "string",
"description": "Status of the response."
}
}
}
]No content found for the given request.
copied![
{
"type": "object",
"description": "No content in the response"
}
]Invalid candidateId
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Exception occurred
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Successfully fetched the certifications of a candidate | Certification |
| 204 | No content found for the given request. | ContentNotFound |
| 404 | Invalid candidateId | Error |
| 500 | Exception occurred | Error |
patch
copied!# You can also use wgetcurl -X PATCH https://api-qa.phenompro.com/candidates-api/v1/candidates/{candidateId}/certifications
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userId: string'PATCH /candidates-api/v1/candidates/{candidateId}/certifications
This API is used to update certifications on the candidate profiles.
Headers
| Name | In | Type | Required |
|---|---|---|---|
| Authorization | header | string | true |
| x-ph-userId | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"action": {
"type": "string",
"description": "Indicates modifying or replacing of existing resource.Accepted values are replace and merge"
},
"certifications": {
"type": "array",
"description": "List of certifications to be updated or added to the candidate's profile.",
"items": {
"type": "object",
"properties": {
"certificationNumber": {
"type": "string",
"description": "Unique identifier or number associated with the certification."
},
"name": {
"type": "string",
"description": "Name or title of the certification."
},
"institute": {
"type": "string",
"description": "Institute or organization that issued the certification."
},
"description": {
"type": "string",
"description": "Description or details of the certification."
},
"state": {
"type": "string",
"description": "State or location where the certification was issued."
},
"issuedDate": {
"type": "object",
"description": "Date when the certification was issued.",
"properties": {
"year": {
"type": "integer",
"description": "The year when the certification was issued."
},
"month": {
"type": "integer",
"description": "The month when the certification was issued."
}
}
},
"expiryDate": {
"type": "object",
"description": "Date when the certification is set to expire.",
"properties": {
"year": {
"type": "integer",
"description": "The year when the certification is set to expire.."
},
"month": {
"type": "integer",
"description": "The month when the certification is set to expire.."
}
}
}
}
}
}
},
"description": "Schema defining the structure of the request body for updating or adding certifications to a candidate's profile."
}
]Parameters
| Name | In | Type | Required |
|---|---|---|---|
| candidateId | path | string | true |
Request Parameters
| Type | Name |
|---|---|
| application/json | UpdateCertificationRequest |
Response
Successfully added certifications to candidates
copied![
{
"type": "object",
"description": "Response object for updating candidate details.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the response status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the response."
}
}
}
]wrong request format or parameters missing
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Invalid candidateId
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Exception occurred
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Successfully added certifications to candidates | CandidateDetailsUpdateResponse |
| 400 | wrong request format or parameters missing | Error |
| 404 | Invalid candidateId | Error |
| 500 | Exception occurred | Error |
patch
copied!# You can also use wgetcurl -X PATCH https://api-qa.phenompro.com/candidates-api/v1/candidates/{candidateId}/preferred-locations
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userId: string'PATCH /candidates-api/v1/candidates/{candidateId}/preferred-locations
Updates candidate preferred locations for a job
Headers
| Name | In | Type | Required |
|---|---|---|---|
| Authorization | header | string | true |
| x-ph-userId | header | string | true |
Body Parameter
copied![
{
"type": "object",
"title": "UpdatePreferredLocationRequest",
"properties": {
"action": {
"type": "string",
"description": "Action to perform on the preferred locations. Valid values: 'add', 'remove', 'replace'."
},
"preferredLocationList": {
"type": "array",
"description": "List of preferred locations to be added, removed, or replaced.",
"items": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "Name or identifier of the preferred location."
},
"latLong": {
"type": "string",
"description": "Latitude and longitude coordinates of the preferred location."
},
"city": {
"type": "string",
"description": "City of the preferred location."
},
"state": {
"type": "string",
"description": "State or region of the preferred location."
},
"country": {
"type": "string",
"description": "Country of the preferred location."
},
"zipCode": {
"type": "string",
"description": "ZIP code of the preferred location."
}
}
}
}
},
"description": "Schema defining the structure of the request body for updating preferred locations on a candidate's profile."
}
]Parameters
| Name | In | Type | Required |
|---|---|---|---|
| candidateId | path | string | true |
Request Parameters
| Type | Name |
|---|---|
| application/json | UpdatePreferredLocationRequest |
Response
Successfully updated Preferred Locations for given candidate
copied![
{
"type": "object",
"description": "An object representing the response after updating preferred locations for a candidate.",
"properties": {
"message": {
"type": "string",
"description": "A string representing a message or communication associated with the response."
},
"status": {
"type": "string",
"description": "A string representing the status of the response, indicating success, failure, or another state."
}
}
}
]Wrong request format or parameters missing
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Invalid candidateId
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Exception occurred
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Successfully updated Preferred Locations for given candidate | PreferredLocationUpdateResponse |
| 400 | Wrong request format or parameters missing | Error |
| 404 | Invalid candidateId | Error |
| 500 | Exception occurred | Error |
get
copied!# You can also use wgetcurl -X GET https://api-qa.phenompro.com/candidates-api/v1/candidates/{candidateId}/preferred-locations
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'GET /candidates-api/v1/candidates/{candidateId}/preferred-locations
This API is used to get preferred locations on the candidate profiles.
Headers
| Name | In | Type | Required |
|---|---|---|---|
| Authorization | header | string | true |
| x-ph-userid | header | string | true |
Parameters
| Name | In | Type | Required |
|---|---|---|---|
| candidateId | path | string | true |
Response
Successfully fetched the preferred locations of a candidate
copied![
{
"type": "object",
"description": "An object representing preferred locations associated with a candidate.",
"properties": {
"data": {
"type": "object",
"description": "An object containing data related to preferred locations.",
"properties": {
"preferredLocationList": {
"type": "array",
"description": "An array representing a list of preferred locations.",
"items": {
"type": "object",
"description": "An object containing details about a preferred location.",
"properties": {
"location": {
"type": "string",
"description": "A string representing the preferred location."
},
"city": {
"type": "string",
"description": "A string representing the city of the preferred location."
},
"country": {
"type": "string",
"description": "A string representing the country of the preferred location."
},
"state": {
"type": "string",
"description": "A string representing the state of the preferred location."
},
"zipCode": {
"type": "string",
"description": "A string representing the ZIP code of the preferred location."
}
}
}
}
}
},
"message": {
"type": "string",
"description": "A string representing a message or communication associated with the request or response."
},
"status": {
"type": "string",
"description": "A string representing the status of the request or response, indicating success, failure, or another state."
}
}
}
]No content found for the given request.
copied![
{
"type": "object",
"description": "No content in the response"
}
]Invalid candidateId
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Exception occurred
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Successfully fetched the preferred locations of a candidate | PreferredLocation |
| 204 | No content found for the given request. | ContentNotFound |
| 404 | Invalid candidateId | Error |
| 500 | Exception occurred | Error |
patch
copied!# You can also use wgetcurl -X PATCH https://api-qa.phenompro.com/candidates-api/v1/candidates/{candidateId}/address
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userId: string'PATCH /candidates-api/v1/candidates/{candidateId}/address
This api updates address of candidate.
Headers
| Name | In | Type | Required |
|---|---|---|---|
| Authorization | header | string | true |
| x-ph-userId | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"action": {
"type": "string",
"description": "Indicates modifying or replacing of existing resource.Accepted values are replace and merge"
},
"addressLogs": {
"type": "array",
"description": "List of address logs to be updated for the candidate.",
"items": {
"type": "object",
"properties": {
"addressLines": {
"type": "array",
"description": "Address line of the address.",
"items": {
"type": "string"
}
},
"city": {
"type": "string",
"description": "City of the address."
},
"state": {
"type": "string",
"description": "State or region of the address."
},
"country": {
"type": "string",
"description": "Country of the address."
},
"location": {
"type": "string",
"description": "General location information (e.g., city center, suburban)."
},
"latLong": {
"type": "string",
"description": "Latitude and longitude coordinates of the address."
},
"zipCode": {
"type": "string",
"description": "Postal or ZIP code of the address."
}
}
}
}
},
"description": "Schema defining the structure of the request body for updating address information for a candidate."
}
]Parameters
| Name | In | Type | Required |
|---|---|---|---|
| candidateId | path | string | true |
Request Parameters
| Type | Name |
|---|---|
| application/json | UpdateAddressRequest |
Response
Successfully updated address of candidate
copied![
{
"type": "object",
"description": "An object representing the response related to the update of candidate addresses.",
"properties": {
"message": {
"type": "string",
"description": "A string representing a message or communication associated with the response."
},
"status": {
"type": "string",
"description": "A string representing the status of the response, indicating success, failure, or another state."
}
}
}
]Wrong request format or parameters missing
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Invalid candidateId
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Exception occurred
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Successfully updated address of candidate | AddressUpdateResponse |
| 400 | Wrong request format or parameters missing | Error |
| 404 | Invalid candidateId | Error |
| 500 | Exception occurred | Error |
get
copied!# You can also use wgetcurl -X GET https://api-qa.phenompro.com/candidates-api/v1/candidates/{candidateId}/address
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userId: string'GET /candidates-api/v1/candidates/{candidateId}/address
This api fetches address of candidate.
Headers
| Name | In | Type | Required |
|---|---|---|---|
| Authorization | header | string | true |
| x-ph-userId | header | string | true |
Parameters
| Name | In | Type | Required |
|---|---|---|---|
| candidateId | path | string | true |
Response
Successfully fetched the address of a candidate
copied![
{
"type": "object",
"description": "An object representing address information associated with a candidate.",
"properties": {
"data": {
"type": "object",
"description": "An object containing data related to the candidate's address.",
"properties": {
"address": {
"type": "array",
"description": "An array representing a list of addresses associated with the candidate.",
"items": {
"type": "object",
"description": "An object containing details about a specific address.",
"properties": {
"city": {
"type": "string",
"description": "A string representing the city of the address."
},
"state": {
"type": "string",
"description": "A string representing the state of the address."
},
"country": {
"type": "string",
"description": "A string representing the country of the address."
},
"zipCode": {
"type": "string",
"description": "A string representing the ZIP code of the address."
}
}
}
}
}
},
"message": {
"type": "string",
"description": "A string representing a message or communication associated with the response."
},
"status": {
"type": "string",
"description": "A string representing the status of the response, indicating success, failure, or another state."
}
}
}
]No content found for the given request.
copied![
{
"type": "object",
"description": "No content in the response"
}
]Invalid candidateId
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Exception occurred
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Successfully fetched the address of a candidate | Address |
| 204 | No content found for the given request. | ContentNotFound |
| 404 | Invalid candidateId | Error |
| 500 | Exception occurred | Error |
patch
copied!# You can also use wgetcurl -X PATCH https://api-qa.phenompro.com/candidates-api/v1/candidates/{candidateId}/recommendations
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userId: string'PATCH /candidates-api/v1/candidates/{candidateId}/recommendations
This api updates recommendations of candidate.
Headers
| Name | In | Type | Required |
|---|---|---|---|
| Authorization | header | string | true |
| x-ph-userId | header | string | true |
Body Parameter
copied![
{
"type": "object",
"description": "Schema defining the structure of the request body for updating recommendations for a candidate.",
"properties": {
"recommendations": {
"type": "array",
"description": "List of recommendation objects.",
"items": {
"type": "object",
"description": "Object representing an individual recommendation.",
"properties": {
"recommendationText": {
"type": "string",
"description": "Text of the recommendation."
},
"relation": {
"type": "string",
"description": "Relationship or association with the candidate."
}
}
}
}
}
}
]Parameters
| Name | In | Type | Required |
|---|---|---|---|
| candidateId | path | string | true |
Request Parameters
| Type | Name |
|---|---|
| application/json | UpdateRecommendationsRequest |
Response
Successfully updated recommendations of candidate
copied![
{
"type": "object",
"description": "An object representing the response after updating recommendations for a candidate.",
"properties": {
"message": {
"type": "string",
"description": "A string representing a message or communication associated with the response."
},
"status": {
"type": "string",
"description": "A string representing the status of the response, indicating success, failure, or another state."
}
}
}
]wrong request format or parameters missing
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Invalid candidateId
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Exception occurred
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Successfully updated recommendations of candidate | RecommendationsUpdateResponse |
| 400 | wrong request format or parameters missing | Error |
| 404 | Invalid candidateId | Error |
| 500 | Exception occurred | Error |
get
copied!# You can also use wgetcurl -X GET https://api-qa.phenompro.com/candidates-api/v1/candidates/{candidateId}/recommendations
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userId: string'GET /candidates-api/v1/candidates/{candidateId}/recommendations
This API gets recommendations of candidate.
Headers
| Name | In | Type | Required |
|---|---|---|---|
| Authorization | header | string | true |
| x-ph-userId | header | string | true |
Parameters
| Name | In | Type | Required |
|---|---|---|---|
| candidateId | path | string | true |
Response
Successfully fetched the recommendations of a candidate
copied![
{
"type": "object",
"description": "Object representing recommendations.",
"properties": {
"data": {
"type": "object",
"description": "Object containing recommendations data.",
"properties": {
"recommendations": {
"type": "array",
"description": "Array of recommendation items.",
"items": {
"type": "object",
"properties": {
"firstName": {
"type": "string",
"description": "First name of the person providing the recommendation."
},
"lastName": {
"type": "string",
"description": "Last name of the person providing the recommendation."
},
"text": {
"type": "string",
"description": "Text or content of the recommendation."
},
"type": {
"type": "string",
"description": "Type or category of the recommendation."
},
"relation": {
"type": "string",
"description": "Relationship of the person providing the recommendation to the candidate."
}
}
}
}
}
},
"message": {
"type": "string",
"description": "Description or message providing details about the response."
},
"status": {
"type": "string",
"description": "Status of the response."
}
}
}
]No content found for the given request.
copied![
{
"type": "object",
"description": "No content in the response"
}
]Invalid candidateId
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Exception occurred
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Successfully fetched the recommendations of a candidate | Recommendations |
| 204 | No content found for the given request. | ContentNotFound |
| 404 | Invalid candidateId | Error |
| 500 | Exception occurred | Error |
patch
copied!# You can also use wgetcurl -X PATCH https://api-qa.phenompro.com/candidates-api/v1/candidates/{candidateId}/additional-fields
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'PATCH /candidates-api/v1/candidates/{candidateId}/additional-fields
This api updates specific additional fields of candidate.
Headers
| Name | In | Type | Required |
|---|---|---|---|
| Authorization | header | string | true |
| x-ph-userid | header | string | true |
Body Parameter
copied![
{
"type": "object",
"description": "Schema defining the structure of the request body for updating additional fields for a candidate.",
"properties": {
"additionalFields": {
"type": "object",
"description": "Object containing additional fields to be updated for the candidate.",
"properties": {}
}
}
}
]Parameters
| Name | In | Type | Required |
|---|---|---|---|
| candidateId | path | string | true |
Request Parameters
| Type | Name |
|---|---|
| application/json | UpdateAdditionalFieldsRequest |
Response
Successfully updated tenant specific additional fields of a candidate
copied![
{
"type": "object",
"description": "An object representing the response after updating additional fields for a candidate.",
"properties": {
"message": {
"type": "string",
"description": "A string representing a message or communication associated with the response."
},
"status": {
"type": "string",
"description": "A string representing the status of the response, indicating success, failure, or another state."
}
}
}
]Wrong request format or parameters missing
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Invalid candidateId
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Exception occurred
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Successfully updated tenant specific additional fields of a candidate | AdditionalFieldsUpdateResponse |
| 400 | Wrong request format or parameters missing | Error |
| 404 | Invalid candidateId | Error |
| 500 | Exception occurred | Error |
get
copied!# You can also use wgetcurl -X GET https://api-qa.phenompro.com/candidates-api/v1/candidates/{candidateId}/additional-fields
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userId: string'GET /candidates-api/v1/candidates/{candidateId}/additional-fields
This api fetches specific additional fields of candidate.
Headers
| Name | In | Type | Required |
|---|---|---|---|
| Authorization | header | string | true |
| x-ph-userId | header | string | true |
Parameters
| Name | In | Type | Required |
|---|---|---|---|
| candidateId | path | string | true |
Response
Successfully fetched the tenant specific additional fields of a candidate
copied![
{
"type": "object",
"description": "An object representing additional fields related to employee information.",
"properties": {
"data": {
"type": "object",
"description": "An object containing additional data fields.",
"properties": {
"additionalFields": {
"type": "object",
"description": "An object containing specific additional fields.",
"properties": {}
}
}
},
"message": {
"type": "string",
"description": "A string representing a message or communication associated with the request or response."
},
"status": {
"type": "string",
"description": "A string representing the status of the request or response, indicating success, failure, or another state."
}
}
}
]No content found for the given request.
copied![
{
"type": "object",
"description": "No content in the response"
}
]Invalid candidateId
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Exception occurred
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Successfully fetched the tenant specific additional fields of a candidate | AdditionalFields |
| 204 | No content found for the given request. | ContentNotFound |
| 404 | Invalid candidateId | Error |
| 500 | Exception occurred | Error |
get
copied!# You can also use wgetcurl -X GET https://api-qa.phenompro.com/candidates-api/v2/candidates
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userId: string'GET /candidates-api/v2/candidates
The Get Candidate V2 Details API is used to fetch candidate details based on candidateId, email, atsId or linkedInProfileUrl.
Headers
| Name | In | Type | Required |
|---|---|---|---|
| Authorization | header | string | true |
| x-ph-userId | header | string | true |
Parameters
| Name | In | Type | Required |
|---|---|---|---|
| candidateId | query | string | false |
| query | string | false | |
| atsId | query | string | false |
| linkedInProfileUrl | query | string | false |
Response
Successfully fetched the candidate details.
copied![
{
"type": "object",
"description": "An object representing candidate-related information.",
"properties": {
"data": {
"type": "object",
"description": "An object containing candidate data.",
"properties": {
"middleName": {
"type": "string",
"description": "The middle name of the candidate."
},
"candidateId": {
"type": "string",
"description": "Unique identifier for the user or candidate."
},
"employeeId": {
"type": "string",
"description": "Employee profile ID associated with the candidate."
},
"linkedInProfileURL": {
"type": "string",
"description": "URL to the candidate's LinkedIn profile."
},
"firstName": {
"type": "string",
"description": "First name of the candidate."
},
"company": {
"type": "string",
"description": "The name of the company associated with the candidate."
},
"createdDate": {
"type": "number",
"description": "Timestamp indicating when the profile was created."
},
"updatedDate": {
"type": "number",
"description": "The date when the information was last updated."
},
"emailList": {
"type": "array",
"description": "An array representing an email list.",
"items": {
"EmailDetail": {
"type": "object",
"description": "An object representing details of an email entry.",
"properties": {
"email": {
"type": "string",
"description": "The email address."
},
"type": {
"type": "string",
"description": "The type of email entry."
},
"status": {
"type": "string",
"description": "The status of the email entry."
}
}
}
}
},
"contacts": {
"type": "array",
"description": "An array representing contact information.",
"items": {
"ContactDetail": {
"type": "object",
"description": "An object containing details of a contact entry.",
"properties": {
"phoneNumber": {
"type": "string",
"description": "The phone number."
},
"countryCode": {
"type": "string",
"description": "The country code."
},
"status": {
"type": "string",
"description": "The status of the contact entry."
},
"type": {
"type": "string",
"description": "The type of contact entry."
}
}
}
}
},
"lastName": {
"type": "string",
"description": "Last name of the individual."
},
"internal": {
"type": "boolean",
"description": "Indicates whether the individual is internal."
},
"atsId": {
"type": "string",
"description": "Unique identifier associated with the ATS."
},
"firstProfileSourceList": {
"type": "array",
"description": "Array representing the first source of the candidate's profile.",
"items": {
"type": "string"
}
},
"profileSourceList": {
"type": "array",
"description": "Array representing all the sources of the candidate's profile.",
"items": {
"type": "string"
}
},
"linkedInUrnId": {
"type": "string",
"description": "LinkedIn URN ID of the candidate."
},
"linkedInSyncStatus": {
"type": "string",
"description": "Status of LinkedIn sync."
},
"linkedInLastSyncDate": {
"type": "integer",
"description": "When the candidate profile was synced with LinkedIn."
},
"location": {
"description": "Primary address associated with the candidate.",
"LocationDetail": {
"type": "object",
"description": "An object representing a geographic location.",
"properties": {
"city": {
"type": "string",
"description": "The city."
},
"state": {
"type": "string",
"description": "The state."
},
"country": {
"type": "string",
"description": "The country."
},
"zipCode": {
"type": "string",
"description": "The zipcode."
}
}
}
}
}
},
"message": {
"type": "string",
"description": "Message associated with the response."
},
"status": {
"type": "integer",
"description": "Status code of the request."
}
}
}
]Wrong request format or parameters missing.
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "integer",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Could not find candidate for given identifier.
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "integer",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Exception occurred.
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "integer",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Successfully fetched the candidate details. | Candidate |
| 400 | Wrong request format or parameters missing. | ErrorResponse |
| 404 | Could not find candidate for given identifier. | ErrorResponse |
| 500 | Exception occurred. | ErrorResponse |
post
copied!# You can also use wgetcurl -X POST https://api-qa.phenompro.com/candidates-api/v2/candidates
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userId: string'POST /candidates-api/v2/candidates
The create candidate V2 profile API creates a new profile record in the system.
Headers
| Name | In | Type | Required |
|---|---|---|---|
| Authorization | header | string | true |
| x-ph-userId | header | string | true |
Body Parameter
copied![
{
"type": "object",
"required": {
"0": "firstName",
"1": "lastName",
"2": "profileSources"
},
"properties": {
"firstName": {
"type": "string",
"description": "The first name of the candidate."
},
"lastName": {
"type": "string",
"description": "The last name of the candidate."
},
"middleName": {
"type": "string",
"description": "The middle name of the candidate."
},
"linkedInProfileURL": {
"type": "string",
"description": "The LinkedIn profile URL of the candidate."
},
"internal": {
"type": "boolean",
"description": "Indicates whether the candidate is internal."
},
"profileSources": {
"type": "array",
"description": "Array of profile sources associated with the candidate.",
"items": {
"type": "string"
}
},
"languagePreference": {
"type": "string",
"description": "The language preference of the candidate."
},
"languageKnown": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of languages known by the candidate."
},
"createdDate": {
"type": "string",
"format": "date-time",
"description": "The date and time when the candidate was created in the ATS."
},
"updatedDate": {
"type": "string",
"format": "date-time",
"description": "The date and time when the candidate record was last updated in the ATS."
},
"emailList": {
"type": "array",
"description": "Array of email addresses associated with the candidate.",
"items": {
"type": "object",
"description": "Email details for the candidate.",
"required": {
"0": "email",
"1": "type",
"2": "status"
},
"properties": {
"email": {
"type": "string",
"description": "The email address of the candidate. (Example: xyz@gmail.com)"
},
"type": {
"type": "string",
"description": "The type of email (e.g., 'Primary' or 'Secondary')."
},
"status": {
"type": "string",
"description": "The status of the email (e.g., 'Primary' or 'Secondary').",
"enum": {
"0": "Primary",
"1": "Secondary"
}
}
}
}
},
"contacts": {
"type": "array",
"description": "Array of contact details associated with the candidate.",
"items": {
"type": "object",
"description": "Contact details for the candidate.",
"required": {
"0": "type",
"1": "phoneNumber",
"2": "status",
"3": "countryCode"
},
"properties": {
"type": {
"type": "string",
"description": "The type of contact (e.g., 'Primary' or 'Secondary')."
},
"phoneNumber": {
"type": "string",
"description": "The phone number of the contact."
},
"status": {
"type": "string",
"description": "The status of the contact (e.g., 'Primary' or 'Secondary').",
"enum": {
"0": "Primary",
"1": "Secondary"
}
},
"countryCode": {
"type": "string",
"description": "The country code associated with the contact."
}
}
}
},
"atsId": {
"type": "string",
"description": "The ATS (Applicant Tracking System) identifier associated with the candidate."
},
"employeeId": {
"type": "string",
"description": "The employee identifier associated with the candidate."
}
},
"anyOf": {
"0": {
"required": {
"0": "emailList"
}
},
"1": {
"required": {
"0": "contacts"
}
},
"2": {
"required": {
"0": "linkedInProfileURL"
}
},
"3": {
"required": {
"0": "employeeId"
}
}
},
"description": "Schema defining the structure of the request body for creating a candidate profile.<br/><br/><b>Validation Rules:</b><ul><li><code>firstName</code>, <code>lastName</code>, and <code>profileSources</code> are always mandatory.</li><li>You must also provide <b>at least one</b> of the following: <code>emailList</code>, <code>contacts</code>, <code>linkedInProfileURL</code>, or <code>employeeId</code>.</li></ul>"
}
]Request Parameters
| Type | Name |
|---|---|
| application/json | CreateCandidateRequest |
Response
Candidate profile created successfully.
copied![
{
"type": "object",
"description": "An object representing the response after creating a candidate.",
"properties": {
"data": {
"type": "object",
"description": "An object containing data related to the created candidate.",
"properties": {
"candidateId": {
"type": "string",
"description": "The unique identifier for the created candidate."
}
}
},
"message": {
"type": "string",
"description": "A string representing a message or communication associated with the response."
},
"status": {
"type": "integer",
"description": "An integer representing the status of the response."
}
}
}
]Wrong request format or parameters missing.
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "integer",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Candidate profile already exists with given identifier.
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "integer",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Exception occurred.
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "integer",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Responses
| Status | Description | Schema |
|---|---|---|
| 201 | Candidate profile created successfully. | CreateCandidateResponse |
| 400 | Wrong request format or parameters missing. | ErrorResponse |
| 409 | Candidate profile already exists with given identifier. | ErrorResponse |
| 500 | Exception occurred. | ErrorResponse |
Candidate Attachments
These Candidate APIs allow you to add, update, and delete candidate attachments.
get
copied!# You can also use wgetcurl -X GET https://api-qa.phenompro.com/candidates-api/files/v1/candidates/{candidateId}/attachments
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userId: string'GET /candidates-api/files/v1/candidates/{candidateId}/attachments
This API is used to fetch Attachments on the candidate profiles based on candidateId.
Headers
| Name | In | Type | Required |
|---|---|---|---|
| Authorization | header | string | true |
| x-ph-userId | header | string | true |
Parameters
| Name | In | Type | Required |
|---|---|---|---|
| candidateId | path | string | true |
Response
Successfully fetched the attachments of the candidate
copied![
{
"type": "object",
"description": "Object representing attachments.",
"properties": {
"attachments": {
"type": "array",
"description": "Array of attachment items.",
"items": {
"type": "object",
"properties": {
"attachmentId": {
"type": "string",
"description": "Unique identifier for the attachment."
},
"resumeFileName": {
"type": "string",
"description": "Name of the attachment."
},
"attachmentType": {
"type": "string",
"description": "Type of the attachment."
},
"fieldID": {
"type": "string",
"description": "fieldId of the attachment."
}
}
}
},
"message": {
"type": "string",
"description": "Description or message providing details about the response."
},
"status": {
"type": "integer",
"description": "Status code of the response."
}
}
}
]No attachments
copied![
{
"type": "object",
"description": "Object representing an error message.",
"properties": {}
}
]Wrong request format or parameters missing
copied![
{
"type": "object",
"description": "Object representing an error message.",
"properties": {
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Exception occurred
copied![
{
"type": "object",
"description": "Object representing an error message.",
"properties": {
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Successfully fetched the attachments of the candidate | Attachment |
| 204 | No attachments | EmptyMessage |
| 400 | Wrong request format or parameters missing | ErrorMessage |
| 500 | Exception occurred | ErrorMessage |
patch
copied!# You can also use wgetcurl -X PATCH https://api-qa.phenompro.com/candidates-api/files/v1/candidates/{candidateId}/attachments
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'PATCH /candidates-api/files/v1/candidates/{candidateId}/attachments
This API is used to update Attachments on the candidate profiles.
Headers
| Name | In | Type | Required |
|---|---|---|---|
| Authorization | header | string | true |
| x-ph-userid | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"attachment": {
"type": "string",
"format": "binary",
"description": "File to be upload."
},
"isParsableResume": {
"type": "boolean",
"description": "Flag indicating whether the attachment is parsable."
}
},
"description": "Schema defining the structure of the request body for adding attachments."
}
]Parameters
| Name | In | Type | Required |
|---|---|---|---|
| candidateId | path | string | true |
Request Parameters
| Type | Name |
|---|---|
| multipart/form-data | AddAttachmentsRequest |
Response
Successfully added attachments to candidates
copied![
{
"type": "object",
"description": "Response object for updating candidate details.",
"properties": {
"status": {
"type": "integer",
"description": "HTTP status code indicating the response status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the response."
},
"literalId": {
"type": "string",
"description": "Unique identifier for providing details about the response."
},
"literalValues": {
"type": "object",
"description": "Unique values for providing details about the response."
},
"data": {
"type": "object",
"description": "Provides details about the response."
}
}
}
]Wrong request format or parameters missing
copied![
{
"type": "object",
"description": "Object representing an error message.",
"properties": {
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Exception occurred
copied![
{
"type": "object",
"description": "Object representing an error message.",
"properties": {
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Successfully added attachments to candidates | AttachmentUpdateResponse |
| 400 | Wrong request format or parameters missing | ErrorMessage |
| 500 | Exception occurred | ErrorMessage |
delete
copied!# You can also use wgetcurl -X DELETE https://api-qa.phenompro.com/candidates-api/files/v1/candidates/{candidateId}/attachments
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userId: string'DELETE /candidates-api/files/v1/candidates/{candidateId}/attachments
This API is used to delete Attachments from the candidate profiles.
Headers
| Name | In | Type | Required |
|---|---|---|---|
| Authorization | header | string | true |
| x-ph-userId | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"attachments": {
"type": "array",
"items": {
"allOf": {
"0": {
"type": "object",
"properties": {
"attachmentId": {
"type": "string",
"description": "The MD5 checksum of the attachment to be deleted."
},
"resumeFileName": {
"type": "string",
"description": "The name of the attachment to be deleted."
},
"fieldId": {
"type": "string",
"description": "The ID of the attachment field to be deleted."
}
}
},
"1": {
"anyOf": {
"0": {
"required": {
"0": "fieldId"
}
},
"1": {
"required": {
"0": "attachmentId"
}
},
"2": {
"required": {
"0": "resumeFileName"
}
}
}
}
},
"description": "Attachment object — at least one of fieldId, attachmentId, or resumeFileName is required."
},
"description": "Array of attachments to be deleted."
}
},
"description": "Schema defining the structure of the request body for deleting attachments."
}
]Parameters
| Name | In | Type | Required |
|---|---|---|---|
| candidateId | path | string | true |
Request Parameters
| Type | Name |
|---|---|
| application/json | DeleteAttachmentRequest |
Response
Successfully deleted attachments from candidate
copied![
{
"type": "object",
"description": "Response object for updating candidate details.",
"properties": {
"status": {
"type": "integer",
"description": "HTTP status code indicating the response status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the response."
},
"literalId": {
"type": "string",
"description": "Unique identifier for providing details about the response."
}
}
}
]Wrong request format or parameters missing
copied![
{
"type": "object",
"description": "Object representing an error message.",
"properties": {
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Exception occurred
copied![
{
"type": "object",
"description": "Object representing an error message.",
"properties": {
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Successfully deleted attachments from candidate | AttachmentDeleteResponse |
| 400 | Wrong request format or parameters missing | ErrorMessage |
| 500 | Exception occurred | ErrorMessage |
get
copied!# You can also use wgetcurl -X GET https://api-qa.phenompro.com/candidates-api/files/v1/candidates/{candidateId}/attachments/{attachmentId}
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userId: string'GET /candidates-api/files/v1/candidates/{candidateId}/attachments/{attachmentId}
This API gets the attachment based on attachmentId.
Headers
| Name | In | Type | Required |
|---|---|---|---|
| Authorization | header | string | true |
| x-ph-userId | header | string | true |
Parameters
| Name | In | Type | Required |
|---|---|---|---|
| candidateId | path | string | true |
| attachmentId | path | string | true |
Response
Successfully downloaded attachment
copied![
{}
]Wrong request format or parameters missing
copied![
{
"type": "object",
"description": "Object representing an error message.",
"properties": {
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]The web server could not find the requested page or resource
copied![
{
"type": "object",
"description": "Object representing an error message.",
"properties": {
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]File size exceeded
copied![
{
"type": "object",
"description": "Object representing an error message.",
"properties": {
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Exception occured
copied![
{
"type": "object",
"description": "Object representing an error message.",
"properties": {
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Successfully downloaded attachment | |
| 400 | Wrong request format or parameters missing | ErrorMessage |
| 404 | The web server could not find the requested page or resource | ErrorMessage |
| 413 | File size exceeded | ErrorMessage |
| 500 | Exception occured | ErrorMessage |
get
copied!# You can also use wgetcurl -X GET https://api-qa.phenompro.com/candidates-api/files/v1/candidates/{candidateId}/attachments/{attachmentId}/pre-signed-url
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userId: string'GET /candidates-api/files/v1/candidates/{candidateId}/attachments/{attachmentId}/pre-signed-url
This API is used to fetch Attachment on the candidate profiles based on candidateId and attachmentId.
Headers
| Name | In | Type | Required |
|---|---|---|---|
| Authorization | header | string | true |
| x-ph-userId | header | string | true |
Parameters
| Name | In | Type | Required |
|---|---|---|---|
| candidateId | path | string | true |
| attachmentId | path | string | true |
Response
Successfully fetched the attachments of the candidate.
copied![
{
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "HTTP status code indicating the result of the operation."
},
"fileUrl": {
"type": "string",
"description": "URL pointing to the location of the file which is valid only for 5 minutes."
},
"message": {
"type": "string",
"description": "Description or message providing additional information about the result."
},
"fileName": {
"type": "string",
"description": "Name of the file associated with the operation."
},
"fileSize": {
"type": "integer",
"description": "The size of the file associated with the operation in KBs."
}
},
"required": {
"0": "status",
"1": "fileUrl",
"2": "message",
"3": "fileName",
"4": "fileSize"
},
"description": "Schema defining the structure of the response body for presigned url."
}
]Wrong request format or parameters missing
copied![
{
"type": "object",
"description": "Object representing an error message.",
"properties": {
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Exception occured
copied![
{
"type": "object",
"description": "Object representing an error message.",
"properties": {
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Successfully fetched the attachments of the candidate. | PreSignedUrl |
| 400 | Wrong request format or parameters missing | ErrorMessage |
| 500 | Exception occured | ErrorMessage |
Candidate Activities
The Note APIs allows you to Add, Get, Update and Delete Notes.
Candidate Notes
These APIs allows you to Add, Update, Get and Delete Notes.
get
copied!# You can also use wgetcurl -X GET https://api-qa.phenompro.com/candidates-api/activities/v1/candidates/{candidateId}/notes
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userId: string'GET /candidates-api/activities/v1/candidates/{candidateId}/notes
This API fetches the notes of a Candidate based on candidateId.
Headers
| Name | In | Type | Required |
|---|---|---|---|
| Authorization | header | string | true |
| x-ph-userId | header | string | true |
Parameters
| Name | In | Type | Required |
|---|---|---|---|
| candidateId | path | string | true |
| from | query | integer | false |
| size | query | integer | false |
| requestType | query | string | false |
| recruiterEmail | query | string | false |
| includePrivateNotes | query | boolean | false |
Response
200 response
copied![
{
"type": "object",
"properties": {
"status": {
"description": "The response status.",
"type": "string"
},
"message": {
"description": "The text to indicate the response.",
"type": "string"
},
"timestamp": {
"type": "string",
"description": "The text to indicate the timeStamp when the request is invoked."
},
"pagination": {
"description": "Data to represent the pagination parameters, such as from, size and the total notes available.",
"type": "object",
"properties": {
"total": {
"description": "The total Number of notes available.",
"type": "number"
},
"size": {
"description": "The number of notes fetched as part of this request.",
"type": "number"
},
"from": {
"description": "The number of notes skipped from start, before starting to fetch.",
"type": "number"
}
},
"required": {
"0": "total",
"1": "size",
"2": "from"
}
},
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"decision_status": {
"type": "string",
"description": "The decision status."
},
"jobId": {
"description": "The unique identifier for job.",
"type": "string"
},
"noteType": {
"description": "The type of note.",
"type": "string"
},
"recruiterEmail": {
"description": "The email of the recruiter.",
"type": "string"
},
"recruiterName": {
"description": "The name of the recruiter.",
"type": "string"
},
"fromName": {
"description": "From Name.",
"type": "string"
},
"updatedDate": {
"description": "The date on which the note has been updated.",
"type": "string"
},
"createdDate": {
"description": "The date on which note has been created.",
"type": "string"
},
"notes": {
"description": "The Notes.",
"type": "string"
}
},
"required": {
"0": "decision_status",
"1": "jobId",
"2": "noteType",
"3": "recruiterEmail",
"4": "recruiterName",
"5": "fromName",
"6": "updatedDate",
"7": "createdDate",
"8": "notes"
}
}
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp",
"3": "pagination",
"4": "data"
}
}
]204 response
copied![
{
"type": "object",
"description": "The response to indicate that no data has been found.",
"properties": {}
}
]400 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Indicates the status of the error response. It typically represents a bad request or failure status."
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"timestamp": {
"type": "string",
"description": "A timestamp indicating when the error occurred. This helps in tracking the timing of the error."
},
"errorAPI": {
"type": "string",
"description": "A string representing the specific API or endpoint where the error occurred."
},
"message": {
"type": "string",
"description": "A human readable message providing details about the nature of the error and potential solutions."
}
},
"required": {
"0": "timestamp",
"1": "errorAPI",
"2": "message"
}
}
}
},
"required": {
"0": "status",
"1": "errors"
},
"description": "An error response indicating a bad request, with details about the encountered errors."
}
]404 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Indicates the status of the error response. It typically represents a 'not found' error."
},
"message": {
"type": "string",
"description": "A human readable message providing additional information about the 'not found' error. It may include details about the resource or item that could not be located."
},
"timestamp": {
"type": "string",
"description": "A timestamp indicating when the 'not found' error occurred. This helps in tracking the timing of the error."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "An error response indicating that the requested resource or item was not found, with details about the encountered issues."
}
]Responses
| Status | Description | Schema |
|---|---|---|
| 200 | 200 response | FetchCandidateNotes |
| 204 | 204 response | NoContentResponse |
| 400 | 400 response | BadRequestError |
| 404 | 404 response | NotFoundError |
post
copied!# You can also use wgetcurl -X POST https://api-qa.phenompro.com/candidates-api/activities/v1/candidates/{candidateId}/notes
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userId: string'POST /candidates-api/activities/v1/candidates/{candidateId}/notes
This API adds Note to a Candidate based on CandidateId.
Headers
| Name | In | Type | Required |
|---|---|---|---|
| Authorization | header | string | true |
| x-ph-userId | header | string | false |
Body Parameter
copied![
{
"type": "object",
"properties": {
"noteType": {
"description": "The type of the note that is being created. This field specifies the category of the note.",
"type": "string"
},
"noteText": {
"description": "The text content of the note. This field holds the actual content or information of the note.",
"type": "string"
},
"asPrivate": {
"description": "A boolean flag indicating whether the note is private or not. If true, the note is intended to be visible only to individuals who created it.",
"type": "boolean"
},
"jobId": {
"description": "The unique identifier (ID) associated with the job related to the note. This field links the note to a specific job or task.",
"type": "string"
},
"taggedRecruiters": {
"description": "An object containing ids about recruiters tagged in the note.",
"type": "object"
}
}
}
]Parameters
| Name | In | Type | Required |
|---|---|---|---|
| candidateId | path | string | true |
Request Parameters
| Type | Name |
|---|---|
| application/json | AddNotes |
Response
Note added success.
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Indicates the status of the operation (e.g., success, failure)."
},
"message": {
"type": "string",
"description": "A human readable message providing details about the operation result."
},
"timestamp": {
"type": "string",
"description": "Timestamp indicating when the operation was performed."
},
"id": {
"type": "string",
"description": "Unique Identifier for the Note that has been created."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp",
"3": "id"
}
}
]Wrong request format or parameters missing.
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Indicates the status of the error response. It typically represents a bad request or failure status."
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"timestamp": {
"type": "string",
"description": "A timestamp indicating when the error occurred. This helps in tracking the timing of the error."
},
"errorAPI": {
"type": "string",
"description": "A string representing the specific API or endpoint where the error occurred."
},
"message": {
"type": "string",
"description": "A human readable message providing details about the nature of the error and potential solutions."
}
},
"required": {
"0": "timestamp",
"1": "errorAPI",
"2": "message"
}
}
}
},
"required": {
"0": "status",
"1": "errors"
},
"description": "An error response indicating a bad request, with details about the encountered errors."
}
]Note not found.
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Indicates the status of the error response. It typically represents a 'not found' error."
},
"message": {
"type": "string",
"description": "A human readable message providing additional information about the 'not found' error. It may include details about the resource or item that could not be located."
},
"timestamp": {
"type": "string",
"description": "A timestamp indicating when the 'not found' error occurred. This helps in tracking the timing of the error."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "An error response indicating that the requested resource or item was not found, with details about the encountered issues."
}
]Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Note added success. | CreateNoteSuccess |
| 400 | Wrong request format or parameters missing. | BadRequestError |
| 404 | Note not found. | NotFoundError |
delete
copied!# You can also use wgetcurl -X DELETE https://api-qa.phenompro.com/candidates-api/activities/v1/candidates/{candidateId}/notes/{noteId}
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'DELETE /candidates-api/activities/v1/candidates/{candidateId}/notes/{noteId}
This API Deletes the Note for a Candidate.
Headers
| Name | In | Type | Required |
|---|---|---|---|
| Authorization | header | string | true |
| x-ph-userid | header | string | true |
Parameters
| Name | In | Type | Required |
|---|---|---|---|
| candidateId | path | string | true |
| noteId | path | string | true |
Response
200 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Indicates the status of the delete operation. It could be a success or failure status."
},
"message": {
"type": "string",
"description": "A readable message providing additional information about the delete operation."
},
"timestamp": {
"type": "string",
"description": "A timestamp indicating the moment when the delete operation was performed. This helps in tracking the timing of the operation."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
}
}
]403 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Indicates the status of the error response. It typically represents a 'forbidden' error, indicating that the requested action is not allowed."
},
"message": {
"type": "string",
"description": "A human readable message providing additional information about the 'forbidden' error. It includes details about the action that is not permitted."
},
"timestamp": {
"type": "string",
"description": "A timestamp indicating when the 'forbidden' error occurred. This helps in tracking the timing of the error."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "An error response indicating that the requested action is forbidden, with details about the encountered issues."
}
]404 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Indicates the status of the error response. It typically represents a 'not found' error."
},
"message": {
"type": "string",
"description": "A human readable message providing additional information about the 'not found' error. It may include details about the resource or item that could not be located."
},
"timestamp": {
"type": "string",
"description": "A timestamp indicating when the 'not found' error occurred. This helps in tracking the timing of the error."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "An error response indicating that the requested resource or item was not found, with details about the encountered issues."
}
]500 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Indicates the status of the error response. It typically represents an internal server error."
},
"message": {
"type": "string",
"description": "A human readable message providing additional information about the internal server error. It may include details about the nature of the error and potential solutions."
},
"timestamp": {
"type": "string",
"description": "A timestamp indicating when the internal server error occurred. This helps in tracking the timing of the error."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "An error response indicating an internal server error, with details about the encountered issues."
}
]Responses
| Status | Description | Schema |
|---|---|---|
| 200 | 200 response | DeleteNoteSuccess |
| 403 | 403 response | ForbiddenError |
| 404 | 404 response | NotFoundError |
| 500 | 500 response | InternalServerError |
put
copied!# You can also use wgetcurl -X PUT https://api-qa.phenompro.com/candidates-api/activities/v1/candidates/{candidateId}/notes/{noteId}
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'PUT /candidates-api/activities/v1/candidates/{candidateId}/notes/{noteId}
This API Updates the Note for a Candidate.
Headers
| Name | In | Type | Required |
|---|---|---|---|
| Authorization | header | string | true |
| x-ph-userid | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"noteType": {
"type": "string",
"description": "The type of the candidate note. Specifies the category of the note associated with the candidate."
},
"noteText": {
"type": "string",
"description": "The text content of the candidate note."
},
"asPrivate": {
"type": "boolean",
"description": "A boolean flag indicating whether the candidate note is private. If true, the note is intended to be visible only to individuals who created it."
},
"recruiterName": {
"type": "string",
"description": "The name of the recruiter updating the candidate note. This field identifies the recruiter associated with the modification."
}
}
}
]Parameters
| Name | In | Type | Required |
|---|---|---|---|
| candidateId | path | string | true |
| noteId | path | string | true |
Request Parameters
| Type | Name |
|---|---|
| application/json | UpdateCandidateNote |
Response
200 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Indicates the status of the response. It could be a success or failure status."
},
"message": {
"type": "string",
"description": "A human readable message providing additional information about the response. It may include details about the success or failure."
},
"timestamp": {
"type": "string",
"description": "A timestamp indicating the moment when the response was generated. This helps in tracking the timing of the response."
}
}
}
]403 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Indicates the status of the error response. It typically represents a 'forbidden' error, indicating that the requested action is not allowed."
},
"message": {
"type": "string",
"description": "A human readable message providing additional information about the 'forbidden' error. It includes details about the action that is not permitted."
},
"timestamp": {
"type": "string",
"description": "A timestamp indicating when the 'forbidden' error occurred. This helps in tracking the timing of the error."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "An error response indicating that the requested action is forbidden, with details about the encountered issues."
}
]404 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Indicates the status of the error response. It typically represents a 'not found' error."
},
"message": {
"type": "string",
"description": "A human readable message providing additional information about the 'not found' error. It may include details about the resource or item that could not be located."
},
"timestamp": {
"type": "string",
"description": "A timestamp indicating when the 'not found' error occurred. This helps in tracking the timing of the error."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "An error response indicating that the requested resource or item was not found, with details about the encountered issues."
}
]500 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Indicates the status of the error response. It typically represents an internal server error."
},
"message": {
"type": "string",
"description": "A human readable message providing additional information about the internal server error. It may include details about the nature of the error and potential solutions."
},
"timestamp": {
"type": "string",
"description": "A timestamp indicating when the internal server error occurred. This helps in tracking the timing of the error."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "An error response indicating an internal server error, with details about the encountered issues."
}
]Responses
| Status | Description | Schema |
|---|---|---|
| 200 | 200 response | SuccessResponse |
| 403 | 403 response | ForbiddenError |
| 404 | 404 response | NotFoundError |
| 500 | 500 response | InternalServerError |
get
copied!# You can also use wgetcurl -X GET https://api-qa.phenompro.com/candidates-api/activities/v1/jobs/{jobId}/candidates/{candidateId}/notes
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userId: string'GET /candidates-api/activities/v1/jobs/{jobId}/candidates/{candidateId}/notes
This API fetches the notes of a Candidate based on candidateId for given jobId.
Headers
| Name | In | Type | Required |
|---|---|---|---|
| Authorization | header | string | true |
| x-ph-userId | header | string | true |
Parameters
| Name | In | Type | Required |
|---|---|---|---|
| jobId | path | string | true |
| candidateId | path | string | true |
Response
200 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status indicating whether the fetch is success or not."
},
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"recruitersUserId": {
"type": "string",
"description": "The user id of the recruiter."
},
"companyName": {
"type": "string",
"description": "The Name of the Company."
},
"newNoteDisplayText": {
"description": "The text on the note.",
"type": "string"
},
"updatedDate": {
"description": "The date on which the note has been updated.",
"type": "string"
},
"userId": {
"description": "The Id of the candidate.",
"type": "string"
},
"jobId": {
"description": "The Id of the Job.",
"type": "string"
},
"noteType": {
"description": "The Type of the current Note.",
"type": "string"
},
"createdDate": {
"description": "The Date on which the note has been created.",
"type": "string"
},
"recruiterName": {
"description": "The Name of the recruiter who created the note.",
"type": "string"
},
"newNoteText": {
"description": "The Text on the note.",
"type": "string"
},
"_id": {
"description": "The unique identifier for the Note.",
"type": "string"
},
"parent": {
"description": "The unique identifier for candidate.",
"type": "string"
},
"taggedRecruiters": {
"description": "The id of the user who are tagged in the note.",
"type": "array",
"items": {
"type": "string"
}
},
"asPrivate": {
"description": "The Boolean value to represent the visibility of note.",
"type": "boolean"
}
}
}
}
}
}
]400 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "Status returned by the API."
},
"message": {
"type": "string",
"description": "Error Message."
}
}
}
]401 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"default": "failure",
"description": "Indicates the status of the error response. It typically represents an 'unauthorized' request."
},
"error": {
"type": "string",
"default": "UNAUTHORIZED",
"description": "A string representing the type of error. It is set to 'UNAUTHORIZED' to indicate that the request lacks proper authorization."
},
"message": {
"type": "string",
"default": "You are not authorized",
"description": "A human readable message providing additional information about the 'unauthorized' error. It informs the user that they do not have the necessary authorization for the requested action."
}
},
"description": "An error response indicating that the request lacks proper authorization, with details about the encountered issues."
}
]403 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"default": "failure",
"description": "Indicates the status of the error response. It typically represents a 'forbidden' request."
},
"error": {
"type": "string",
"default": "ACCESS_DENIED",
"description": "A string representing the type of error. It is set to 'ACCESS_DENIED' to indicate that the request is forbidden."
},
"message": {
"type": "string",
"default": "Forbidden, You're not allowed to access this resource / Required flags are not enabled / Required permissions are missing",
"description": "A human readable message providing additional information about the 'forbidden' error. It informs the user that they are not allowed to access the specified resource."
}
},
"description": "An error response indicating that the request is forbidden, with details about the encountered issues."
}
]500 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"default": "failure",
"description": "Indicates the status of the error response. It typically represents an internal server error."
},
"message": {
"type": "string",
"default": "Internal Server Error",
"description": "A human readable message providing additional information about the 'internal server error.' It indicates that there was an issue on the server side."
}
},
"description": "An error response indicating an internal server error, with details about the encountered issues."
}
]Responses
| Status | Description | Schema |
|---|---|---|
| 200 | 200 response | GetCandidateJobNotes |
| 400 | 400 response | BadRequest |
| 401 | 401 response | UnauthorizedRequest |
| 403 | 403 response | Forbidden |
| 500 | 500 response | InternalServerErrorResponse |
Candidate Activities
These APIs allows you to get all the candidate activities.
get
copied!# You can also use wgetcurl -X GET https://api-qa.phenompro.com/candidates-api/activities/v1/candidates/{candidateId}/note-activities
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'GET /candidates-api/activities/v1/candidates/{candidateId}/note-activities
This API fetches Note-Activities for a Candidate.
Headers
| Name | In | Type | Required |
|---|---|---|---|
| Authorization | header | string | true |
| x-ph-userid | header | string | true |
Parameters
| Name | In | Type | Required |
|---|---|---|---|
| candidateId | path | string | true |
| from | query | integer | false |
| size | query | integer | false |
Response
200 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Indicates the status of the response. It could be a success or failure status."
},
"message": {
"type": "string",
"description": "A human readable message providing additional information about the response. It may include details about the success or failure."
},
"timestamp": {
"type": "string",
"description": "A timestamp indicating the moment when the response was generated. This helps in tracking the timing of the response."
},
"pagination": {
"type": "object",
"properties": {
"size": {
"type": "number",
"description": "The number of activities per page in the pagination."
},
"from": {
"type": "number",
"description": "The starting index of the activities in the current page."
},
"totalCount": {
"type": "number",
"description": "The total count of activities across all pages."
}
},
"required": {
"0": "size",
"1": "from",
"2": "totalCount"
},
"description": "Information about pagination, including size, start index, and total count."
},
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"recruitersUserId": {
"type": "string",
"description": "The user ID of the recruiter associated with the activity."
},
"actionType": {
"type": "string",
"description": "The type of action performed, such as 'create', 'update', or 'delete'."
},
"createdDate": {
"type": "string",
"description": "The timestamp when the activity was created."
},
"candidateId": {
"type": "string",
"description": "The ID of the candidate related to the activity."
},
"actionValue": {
"type": "string",
"description": "The value associated with the action."
},
"addedNewValue": {
"type": "string",
"description": "The new value added during the update action."
},
"scopeAttr": {
"type": "object",
"properties": {
"scopeId": {
"type": "string",
"description": "The ID representing the scope of the activity."
}
},
"required": {
"0": "scopeId"
},
"description": "Information about the scope of the activity."
},
"recruiterName": {
"type": "string",
"description": "The name of the recruiter associated with the activity."
}
},
"required": {
"0": "recruitersUserId",
"1": "actionType",
"2": "createdDate",
"3": "candidateId",
"4": "actionValue",
"5": "addedNewValue",
"6": "scopeAttr",
"7": "recruiterName"
}
}
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp",
"3": "pagination",
"4": "data"
}
}
]204 response
copied![
{
"type": "object",
"description": "The response to indicate that no data has been found.",
"properties": {}
}
]400 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Indicates the status of the error response. It typically represents a bad request or failure status."
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"timestamp": {
"type": "string",
"description": "A timestamp indicating when the error occurred. This helps in tracking the timing of the error."
},
"errorAPI": {
"type": "string",
"description": "A string representing the specific API or endpoint where the error occurred."
},
"message": {
"type": "string",
"description": "A human readable message providing details about the nature of the error and potential solutions."
}
},
"required": {
"0": "timestamp",
"1": "errorAPI",
"2": "message"
}
}
}
},
"required": {
"0": "status",
"1": "errors"
},
"description": "An error response indicating a bad request, with details about the encountered errors."
}
]404 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Indicates the status of the error response. It typically represents a 'not found' error."
},
"message": {
"type": "string",
"description": "A human readable message providing additional information about the 'not found' error. It may include details about the resource or item that could not be located."
},
"timestamp": {
"type": "string",
"description": "A timestamp indicating when the 'not found' error occurred. This helps in tracking the timing of the error."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "An error response indicating that the requested resource or item was not found, with details about the encountered issues."
}
]Responses
| Status | Description | Schema |
|---|---|---|
| 200 | 200 response | GetNoteActivities |
| 204 | 204 response | NoContentResponse |
| 400 | 400 response | BadRequestError |
| 404 | 404 response | NotFoundError |
get
copied!# You can also use wgetcurl -X GET https://api-qa.phenompro.com/candidates-api/activities/v1/candidates/{candidateId}/profile-update-activities
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'x-ph-userId: string'
-H 'Authorization: string'GET /candidates-api/activities/v1/candidates/{candidateId}/profile-update-activities
This apis Fetches all the profile update activities.
Headers
| Name | In | Type | Required |
|---|---|---|---|
| x-ph-userId | header | string | true |
| Authorization | header | string | true |
Parameters
| Name | In | Type | Required |
|---|---|---|---|
| candidateId | path | string | true |
Response
Successfully fetched profile update activities for given candidate
copied![
{
"type": "object",
"description": "An object representing profile update activities associated with a candidate.",
"properties": {
"pagination": {
"type": "object",
"description": "An object containing pagination details for the profile update activities.",
"properties": {
"size": {
"type": "number",
"description": "The size of the page in the pagination."
},
"from": {
"type": "number",
"description": "The starting index of the page in the pagination."
},
"totalCount": {
"type": "number",
"description": "The total count of profile update activities."
}
}
},
"data": {
"type": "array",
"description": "An array representing profile update activity details.",
"items": {
"type": "object",
"properties": {
"recruitersUserId": {
"type": "string",
"description": "The user ID of the recruiter associated with the profile update activity."
},
"recruiterName": {
"type": "string",
"description": "The name of the recruiter associated with the profile update activity."
},
"candidateId": {
"type": "string",
"description": "The ID of the candidate associated with the profile update activity."
},
"actionType": {
"type": "string",
"description": "The type of action performed in the profile update activity."
},
"createdDate": {
"type": "number",
"description": "The date when the profile update activity was created."
},
"requestSource": {
"type": "string",
"description": "The source from which the profile update activity request originated."
},
"additionalFieldName": {
"type": "string",
"description": "The name of the additional field associated with the profile update activity."
},
"previousValue": {
"type": "string",
"description": "The previous value of the updated field."
},
"updatedValue": {
"type": "string",
"description": "The updated value of the field in the profile update activity."
},
"actionValue": {
"type": "string",
"description": "The value associated with the action performed in the profile update activity."
},
"subject": {
"type": "string",
"description": "The subject or topic associated with the profile update activity."
},
"content": {
"type": "string",
"description": "The content or details of the profile update activity."
},
"categoryName": {
"type": "string",
"description": "The name of the category associated with the profile update activity."
},
"emailResponse": {
"type": "string",
"description": "The email response associated with the profile update activity."
},
"fromEmail": {
"type": "string",
"description": "The email address from which the profile update activity originated."
},
"fromName": {
"type": "string",
"description": "The name associated with the sender of the profile update activity."
},
"toEmail": {
"type": "string",
"description": "The email address of the recipient in the profile update activity."
},
"toName": {
"type": "string",
"description": "The name of the recipient in the profile update activity."
},
"recipeName": {
"type": "string",
"description": "The name of the recipe associated with the profile update activity."
},
"addedNewValue": {
"type": "string",
"description": "The newly added value in the profile update activity."
}
}
}
},
"message": {
"type": "string",
"description": "A string representing a message or communication associated with the response."
},
"status": {
"type": "string",
"description": "A string representing the status of the response, indicating success, failure, or another state."
},
"timestamp": {
"type": "string",
"description": "A string representing the timestamp associated with the profile update activities."
}
}
}
]Invalid candidateId
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Exception occurred
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Successfully fetched profile update activities for given candidate | ProfileUpdateActivities |
| 404 | Invalid candidateId | Error |
| 500 | Exception occurred | Error |
get
copied!# You can also use wgetcurl -X GET https://api-qa.phenompro.com/candidates-api/activities/v1/candidates/{candidateId}/profile-action-activities
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'x-ph-userId: string'
-H 'Authorization: string'GET /candidates-api/activities/v1/candidates/{candidateId}/profile-action-activities
This api allows you to fetch all the profile action activities.
Headers
| Name | In | Type | Required |
|---|---|---|---|
| x-ph-userId | header | string | true |
| Authorization | header | string | true |
Parameters
| Name | In | Type | Required |
|---|---|---|---|
| candidateId | path | string | true |
Response
Successfully fetched profile action activities for given candidate
copied![
{
"type": "object",
"description": "An object representing profile action activities associated with a candidate.",
"properties": {
"pagination": {
"type": "object",
"description": "An object containing pagination details for the profile action activities.",
"properties": {
"size": {
"type": "number",
"description": "The size of the page in the pagination."
},
"from": {
"type": "number",
"description": "The starting index of the page in the pagination."
},
"totalCount": {
"type": "number",
"description": "The total count of profile action activities."
}
}
},
"data": {
"type": "array",
"description": "An array representing profile action activity details.",
"items": {
"type": "object",
"properties": {
"recruitersUserId": {
"type": "string",
"description": "The user ID of the recruiter associated with the profile action activity."
},
"recruiterName": {
"type": "string",
"description": "The name of the recruiter associated with the profile action activity."
},
"candidateId": {
"type": "string",
"description": "The ID of the candidate associated with the profile action activity."
},
"actionType": {
"type": "string",
"description": "The type of action performed in the profile action activity."
},
"createdDate": {
"type": "number",
"description": "The date when the profile action activity was created."
},
"requestSource": {
"type": "string",
"description": "The source from which the profile action activity request originated."
},
"additionalFieldName": {
"type": "string",
"description": "The name of the additional field associated with the profile action activity."
},
"previousValue": {
"type": "string",
"description": "The previous value of the updated field."
},
"updatedValue": {
"type": "string",
"description": "The updated value of the field in the profile action activity."
},
"actionValue": {
"type": "string",
"description": "The value associated with the action performed in the profile action activity."
},
"source": {
"type": "string",
"description": "The source or origin of the profile action activity."
},
"reason": {
"type": "string",
"description": "The reason or justification for the profile action activity."
},
"fromName": {
"type": "string",
"description": "The name associated with the sender of the profile action activity."
},
"toName": {
"type": "string",
"description": "The name of the recipient in the profile action activity."
},
"categoryName": {
"type": "string",
"description": "The name of the category associated with the profile action activity."
},
"email": {
"type": "string",
"description": "The email associated with the profile action activity."
},
"event": {
"type": "string",
"description": "The event or occurrence associated with the profile action activity."
}
}
}
},
"message": {
"type": "string",
"description": "A string representing a message or communication associated with the response."
},
"status": {
"type": "string",
"description": "A string representing the status of the response, indicating success, failure, or another state."
},
"timestamp": {
"type": "string",
"description": "A string representing the timestamp associated with the profile action activities."
}
}
}
]Invalid candidateId
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Exception occurred
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Successfully fetched profile action activities for given candidate | ProfileActionActivities |
| 404 | Invalid candidateId | Error |
| 500 | Exception occurred | Error |
Candidate Onboarding
Endpoints to retrieve onboarding information for a candidate
get
copied!# You can also use wgetcurl -X GET https://api-qa.phenompro.com/candidates-api/onboarding/v1/candidates/{candidateId}
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userId: string'GET /candidates-api/onboarding/v1/candidates/{candidateId}
The Onboarding data API is used to fetch onboarding data for the candidate
Headers
| Name | In | Type | Required |
|---|---|---|---|
| Authorization | header | string | true |
| x-ph-userId | header | string | true |
Parameters
| Name | In | Type | Required |
|---|---|---|---|
| candidateId | path | string | true |
Response
Successfully fetched the onboarding details for the given candidate.
copied![
{
"type": "object",
"description": "Successful API response with status, message, and onboarding payload.",
"properties": {
"status": {
"type": "integer",
"description": "HTTP status code indicating success."
},
"message": {
"type": "string",
"description": "Outcome message for the client (e.g. confirmation that candidate data was fetched).",
"example": "Candidate data fetched successfully"
},
"data": {
"OnboardingData": {
"type": "object",
"description": "Payload returned for a successful candidate onboarding fetch: profile and contact data under candidateDetails, and requisition or job context under jobDetails.",
"properties": {
"candidateDetails": {
"CandidateDetails": {
"type": "object",
"description": "Candidate profile: emails, phone contacts, identification, education, work history, address, and tenant-specific custom fields.",
"properties": {
"firstName": {
"type": "string",
"description": "Candidate given name."
},
"middleName": {
"type": "string",
"description": "Candidate middle name."
},
"lastName": {
"type": "string",
"description": "Candidate family name."
},
"gender": {
"type": "string",
"description": "Gender or gender identity as stored for the candidate."
},
"primaryEmailId": {
"type": "string",
"description": "Primary email address used for onboarding communications."
},
"secondaryEmailId": {
"type": "string",
"description": "Secondary or alternate email address."
},
"officialEmailId": {
"type": "string",
"description": "Work or official email address when provided."
},
"dateOfBirth": {
"type": "string",
"format": "date",
"description": "Date of birth as an ISO 8601 calendar date (YYYY-MM-DD)."
},
"joiningDate": {
"type": "string",
"format": "date",
"description": "Expected or planned joining date as an ISO 8601 calendar date (YYYY-MM-DD)."
},
"contacts": {
"type": "array",
"description": "Ordered list of phone contact entries (e.g. primary and secondary); each item may include type, dial code, and number.",
"items": {
"CandidateContact": {
"type": "object",
"description": "A single phone contact line, distinguished by type (for example primary vs secondary).",
"properties": {
"type": {
"type": "string",
"description": "Contact slot or role, such as primary or secondary."
},
"phoneNumber": {
"type": "string",
"description": "Local phone number without country prefix (when present)."
},
"countryCode": {
"type": "string",
"description": "Country or dialing code identifier for the number (format may be tenant-specific, e.g. IND_91)."
}
}
}
}
},
"identificationDetails": {
"type": "array",
"description": "Government or employer identification documents associated with the candidate.",
"items": {
"CandidateIdentification": {
"type": "object",
"description": "One identification document or credential record.",
"properties": {
"type": {
"type": "string",
"description": "Kind of identification (e.g. aadhaar, passport)."
},
"number": {
"type": "string",
"description": "Document or identification number."
},
"location": {
"type": "string",
"description": "Issuing location or jurisdiction, if applicable."
},
"issuedDate": {
"type": "string",
"description": "Issue date as returned by the source (empty string if unknown)."
},
"expiryDate": {
"type": "string",
"description": "Expiry date as returned by the source (empty string if unknown or not applicable)."
},
"status": {
"type": "string",
"description": "Verification or document status when provided."
}
}
}
}
},
"education": {
"type": "array",
"description": "Education history entries.",
"items": {
"CandidateEducation": {
"type": "object",
"description": "A single education record.",
"properties": {
"degree": {
"type": "string",
"description": "Degree or qualification title."
},
"fieldOfStudy": {
"type": "string",
"description": "Major or field of study."
},
"schoolName": {
"type": "string",
"description": "School or institute name."
},
"schoolAndUniversity": {
"type": "string",
"description": "Combined campus, university, or location label when provided."
},
"startDate": {
"type": "string",
"description": "Program start date (format as returned by the source)."
},
"endDate": {
"type": "string",
"description": "Program end date (format as returned by the source)."
},
"isHighEducation": {
"type": "boolean",
"description": "Whether this entry is marked as the highest level of education."
},
"state": {
"type": "string",
"description": "State or region for the institution."
},
"country": {
"type": "string",
"description": "Country for the institution."
}
}
}
}
},
"experience": {
"type": "array",
"description": "Employment history entries.",
"items": {
"CandidateExperience": {
"type": "object",
"description": "A single employment history record.",
"properties": {
"company": {
"type": "string",
"description": "Employer or organization name."
},
"jobTitle": {
"type": "string",
"description": "Job title at the employer."
},
"role": {
"type": "string",
"description": "Role or function (may mirror job title)."
},
"jobLocation": {
"type": "string",
"description": "Work location for this role."
},
"isCurrent": {
"type": "string",
"description": "Whether this is the current employer (e.g. yes or no as stored in source data)."
},
"industry": {
"type": "string",
"description": "Industry sector when captured."
},
"startDate": {
"type": "string",
"description": "Employment start date (format as returned by the source)."
},
"endDate": {
"type": "string",
"description": "Employment end date (format as returned by the source); empty if current."
}
}
}
}
},
"address": {
"description": "Current and permanent residential addresses for the candidate.",
"CandidateAddressBlock": {
"type": "object",
"description": "Current and permanent address lines. Both keys are always present; each value is always a StructuredAddress (never null at this level).",
"properties": {
"currentAddress": {
"description": "Current address of the candidate.",
"allOf": {
"0": {
"StructuredAddress": {
"type": "object",
"description": "Structured postal address, including optional validity dates for that address.",
"properties": {
"addressLine1": {
"type": "string",
"description": "First line of the street address."
},
"addressLine2": {
"type": "string",
"description": "Second line of the street address."
},
"city": {
"type": "string",
"description": "City."
},
"zipCode": {
"type": "string",
"description": "Postal or ZIP code."
},
"country": {
"type": "string",
"description": "Country."
},
"state": {
"type": "string",
"description": "State or region."
},
"startDate": {
"type": "string",
"description": "Start date associated with this address (format as returned by the source)."
},
"endDate": {
"type": "string",
"description": "End date associated with this address (format as returned by the source)."
}
}
}
}
}
},
"permanentAddress": {
"description": "Permanent address of the candidate.",
"allOf": {
"0": {
"StructuredAddress": {
"type": "object",
"description": "Structured postal address, including optional validity dates for that address.",
"properties": {
"addressLine1": {
"type": "string",
"description": "First line of the street address."
},
"addressLine2": {
"type": "string",
"description": "Second line of the street address."
},
"city": {
"type": "string",
"description": "City."
},
"zipCode": {
"type": "string",
"description": "Postal or ZIP code."
},
"country": {
"type": "string",
"description": "Country."
},
"state": {
"type": "string",
"description": "State or region."
},
"startDate": {
"type": "string",
"description": "Start date associated with this address (format as returned by the source)."
},
"endDate": {
"type": "string",
"description": "End date associated with this address (format as returned by the source)."
}
}
}
}
}
}
}
}
},
"additionalFields": {
"AdditionalFields": {
"type": "object",
"description": "An object representing additional fields related to employee information.",
"properties": {
"data": {
"type": "object",
"description": "An object containing additional data fields.",
"properties": {
"additionalFields": {
"type": "object",
"description": "An object containing specific additional fields.",
"properties": {}
}
}
},
"message": {
"type": "string",
"description": "A string representing a message or communication associated with the request or response."
},
"status": {
"type": "string",
"description": "A string representing the status of the request or response, indicating success, failure, or another state."
}
}
}
}
}
}
},
"jobDetails": {
"JobDetails": {
"type": "object",
"description": "Job or requisition context: top-level fields for common attributes, plus additionalFields for ATS, recruiter or hiring-manager contacts, department, and other tenant-specific job metadata.",
"properties": {
"jobTitle": {
"type": "string",
"description": "Title of the job or requisition."
},
"jobId": {
"type": "string",
"description": "Internal or external job identifier."
},
"jobLocation": {
"type": "string",
"description": "Primary job location label or free text."
},
"jobCategory": {
"type": "string",
"description": "Category or family of the role."
},
"positionCode": {
"type": "string",
"description": "Position or requisition code when used by the tenant."
},
"positionTitle": {
"type": "string",
"description": "Position title as distinct from job title when both are maintained."
},
"department": {
"type": "string",
"description": "Hiring department or cost center name."
},
"additionalFields": {
"AdditionalFields": {
"type": "object",
"description": "An object representing additional fields related to employee information.",
"properties": {
"data": {
"type": "object",
"description": "An object containing additional data fields.",
"properties": {
"additionalFields": {
"type": "object",
"description": "An object containing specific additional fields.",
"properties": {}
}
}
},
"message": {
"type": "string",
"description": "A string representing a message or communication associated with the request or response."
},
"status": {
"type": "string",
"description": "A string representing the status of the request or response, indicating success, failure, or another state."
}
}
}
}
}
}
}
}
}
}
}
}
]The candidate does not exist or not found.
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]An unexpected server error occurred while processing the request.
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Successfully fetched the onboarding details for the given candidate. | OnboardingSuccessResponse |
| 404 | The candidate does not exist or not found. | Error |
| 500 | An unexpected server error occurred while processing the request. | Error |
Candidate Search
These APIs helps to find relevant candidates matching specific keywords or filters.
post
copied!# You can also use wgetcurl -X POST https://api-qa.phenompro.com/candidates-api/v1/candidates/search/
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userId: string'POST /candidates-api/v1/candidates/search/
This API assist in discovering candidates that align with applied filters
Headers
| Name | In | Type | Required |
|---|---|---|---|
| Authorization | header | string | true |
| x-ph-userId | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"from": {
"type": "integer",
"description": "Starting point from which the data should be retrieved."
},
"size": {
"type": "integer",
"description": "Size of the response."
},
"searchkeyword": {
"type": "string",
"description": "Searching entered keyword in candidate profile."
},
"filters": {
"type": "array",
"description": "Apply one or multiple filters(String, Boolean, Date, or Enum) of below types to refine results.",
"items": {
"oneOf": {
"0": {
"StringFilter": {
"type": "object",
"properties": {
"values": {
"type": "array",
"items": {
"type": "string",
"description": "String representing the values of field."
}
},
"operator": {
"type": "string",
"enum": {
"0": "Is",
"1": "Is not",
"2": "Contains",
"3": "Does not contain",
"4": "Starts with",
"5": "Ends with"
},
"description": "Operator for filtering strings."
},
"field": {
"type": "string",
"enum": {
"0": "firstName",
"1": "currentCompany.jobTitle",
"2": "skillList.value",
"3": "trafficSourceList.sourceShortName",
"4": "experience.jobLocation",
"5": "experience.jobTitle",
"6": "education.degree",
"7": "highestEducation.degree",
"8": "education.fieldOfStudy",
"9": "preferredLocationList.location",
"10": "newLocation.city",
"11": "newLocation.country",
"12": "emailList.email",
"13": "languageKnown",
"14": "lastName",
"15": "newLocation.state",
"16": "newLocation.zipCode"
},
"description": "Name of the data attribute to be filtered with values."
}
},
"required": {
"0": "values",
"1": "operator"
}
}
},
"1": {
"BooleanFilter": {
"type": "object",
"properties": {
"value": {
"type": "boolean",
"description": "The boolean value to filter by."
},
"operator": {
"type": "string",
"enum": {
"0": "True",
"1": "False"
},
"description": "Operator for filtering booleans."
},
"field": {
"type": "string",
"enum": {
"0": "internal"
},
"description": "Name of the data attribute to be filtered with values."
}
},
"required": {
"0": "value",
"1": "operator"
}
}
},
"2": {
"DateFilter": {
"type": "object",
"properties": {
"values": {
"type": "array",
"items": {
"type": "string",
"format": "date",
"description": "String representing the values of date filter."
}
},
"operator": {
"type": "string",
"enum": {
"0": "Equal to",
"1": "Not equal to",
"2": "Before",
"3": "After",
"4": "Between"
},
"description": "Operator for filtering dates."
},
"field": {
"type": "string",
"enum": {
"0": "updatedDate",
"1": "dateCreated"
},
"description": "Name of the data attribute to be filtered with values."
}
},
"required": {
"0": "values",
"1": "operator"
}
}
},
"3": {
"EnumFilter": {
"type": "object",
"properties": {
"values": {
"type": "array",
"items": {
"type": "string",
"description": "String representing the values of field."
}
},
"operator": {
"type": "string",
"enum": {
"0": "In",
"1": "Not in"
},
"description": "Operator for filtering enums."
},
"field": {
"type": "string",
"enum": {
"0": "applySources",
"1": "language"
},
"description": "Name of the data attribute to be filtered with values."
}
},
"required": {
"0": "values",
"1": "operator"
}
}
}
}
}
},
"filtersOperator": {
"type": "string",
"enum": {
"0": "AND",
"1": "OR"
},
"description": "Search operator accepts \"AND\" / \"OR\"."
}
}
}
]Request Parameters
| Type | Name |
|---|---|
| application/json | CandidateSearchRequest |
Response
Returns filtered Candidates.
copied![
{
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "Status returned by the API."
},
"data": {
"type": "array",
"description": "Candidate Search Response data.",
"items": {
"CandidateResponse": {
"type": "object",
"description": "An object representing candidate-related information.",
"properties": {
"currentjobTitle": {
"type": "string",
"description": "A string representing job title of the current company for a given individual."
},
"middleName": {
"type": "string",
"description": "The middle name of the candidate."
},
"candidateId": {
"type": "string",
"description": "Unique identifier for the user or candidate."
},
"firstName": {
"type": "string",
"description": "First name of the candidate."
},
"dateCreated": {
"type": "number",
"description": "A timestamp indicating the date and time when the candidate profile was created."
},
"updatedDate": {
"type": "number",
"description": "The date when the information was last updated."
},
"emailList": {
"type": "array",
"description": "An array representing an email list.",
"items": {
"Email": {
"type": "object",
"description": "An object representing email-related information.",
"properties": {
"email": {
"type": "string",
"description": "String representing the email address in the list."
},
"type": {
"type": "string",
"description": "String representing the type of email entry."
},
"status": {
"type": "string",
"description": "String representing the status of the email entry."
}
}
}
}
},
"contacts": {
"type": "array",
"description": "An array representing contact information for the individual.",
"items": {
"Contact": {
"type": "object",
"description": "An object representing contact-related information.",
"properties": {
"phoneNumber": {
"type": "string",
"description": "String representing the phone number in the contact entry."
},
"countryCode": {
"type": "string",
"description": "String representing the country code of the phone number."
},
"status": {
"type": "string",
"description": "String representing the status of the contact entry."
},
"type": {
"type": "string",
"description": "String representing the type of contact entry."
}
}
}
}
},
"lastName": {
"type": "string",
"description": "A string representing the last name of the individual."
},
"location": {
"type": "string",
"description": "A string representing the location detail of the individual."
},
"internal": {
"type": "boolean",
"description": "A boolean indicating whether the individual is internal to the organization."
}
}
}
}
},
"totalCount": {
"type": "integer",
"description": "Total number of candidates matching the search criteria."
},
"startIndex": {
"type": "integer",
"description": "Starting index of the returned candidates."
},
"paginationSize": {
"type": "integer",
"description": "The maximum number of candidates to be returned per page"
}
}
}
]Bad Request.
copied![
{
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "Status returned by the API."
},
"message": {
"type": "string",
"description": "Error Message."
}
}
}
]Server Error.
copied![
{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "integer",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]Responses
| Status | Description | Schema |
|---|---|---|
| 200 | Returns filtered Candidates. | CandidateSearchResponse |
| 400 | Bad Request. | BadRequest |
| 500 | Server Error. | ErrorResponse |
Schemas
copied!{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status indicating whether the fetch is success or not."
},
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"recruitersUserId": {
"type": "string",
"description": "The user id of the recruiter."
},
"companyName": {
"type": "string",
"description": "The Name of the Company."
},
"newNoteDisplayText": {
"description": "The text on the note.",
"type": "string"
},
"updatedDate": {
"description": "The date on which the note has been updated.",
"type": "string"
},
"userId": {
"description": "The Id of the candidate.",
"type": "string"
},
"jobId": {
"description": "The Id of the Job.",
"type": "string"
},
"noteType": {
"description": "The Type of the current Note.",
"type": "string"
},
"createdDate": {
"description": "The Date on which the note has been created.",
"type": "string"
},
"recruiterName": {
"description": "The Name of the recruiter who created the note.",
"type": "string"
},
"newNoteText": {
"description": "The Text on the note.",
"type": "string"
},
"_id": {
"description": "The unique identifier for the Note.",
"type": "string"
},
"parent": {
"description": "The unique identifier for candidate.",
"type": "string"
},
"taggedRecruiters": {
"description": "The id of the user who are tagged in the note.",
"type": "array",
"items": {
"type": "string"
}
},
"asPrivate": {
"description": "The Boolean value to represent the visibility of note.",
"type": "boolean",
"default": false
}
}
}
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| status | string | The status indicating whether the fetch is success or not. |
| data | [object] | |
| recruitersUserId | string | The user id of the recruiter. |
| companyName | string | The Name of the Company. |
| newNoteDisplayText | string | The text on the note. |
| updatedDate | string | The date on which the note has been updated. |
| userId | string | The Id of the candidate. |
| jobId | string | The Id of the Job. |
| noteType | string | The Type of the current Note. |
| createdDate | string | The Date on which the note has been created. |
| recruiterName | string | The Name of the recruiter who created the note. |
| newNoteText | string | The Text on the note. |
| _id | string | The unique identifier for the Note. |
| parent | string | The unique identifier for candidate. |
| taggedRecruiters | [string] | The id of the user who are tagged in the note. |
| asPrivate | boolean | The Boolean value to represent the visibility of note. |
copied!{
"type": "object",
"properties": {
"status": {
"description": "The response status.",
"type": "string"
},
"message": {
"description": "The text to indicate the response.",
"type": "string"
},
"timestamp": {
"type": "string",
"description": "The text to indicate the timeStamp when the request is invoked."
},
"pagination": {
"description": "Data to represent the pagination parameters, such as from, size and the total notes available.",
"type": "object",
"properties": {
"total": {
"description": "The total Number of notes available.",
"type": "number"
},
"size": {
"description": "The number of notes fetched as part of this request.",
"type": "number"
},
"from": {
"description": "The number of notes skipped from start, before starting to fetch.",
"type": "number"
}
},
"required": [
"total",
"size",
"from"
]
},
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"decision_status": {
"type": "string",
"description": "The decision status."
},
"jobId": {
"description": "The unique identifier for job.",
"type": "string"
},
"noteType": {
"description": "The type of note.",
"type": "string"
},
"recruiterEmail": {
"description": "The email of the recruiter.",
"type": "string"
},
"recruiterName": {
"description": "The name of the recruiter.",
"type": "string"
},
"fromName": {
"description": "From Name.",
"type": "string"
},
"updatedDate": {
"description": "The date on which the note has been updated.",
"type": "string"
},
"createdDate": {
"description": "The date on which note has been created.",
"type": "string"
},
"notes": {
"description": "The Notes.",
"type": "string"
}
},
"required": [
"decision_status",
"jobId",
"noteType",
"recruiterEmail",
"recruiterName",
"fromName",
"updatedDate",
"createdDate",
"notes"
]
}
}
},
"required": [
"status",
"message",
"timestamp",
"pagination",
"data"
]
}Properties
| Name | Type | Description |
|---|---|---|
| status | string | The response status. |
| message | string | The text to indicate the response. |
| timestamp | string | The text to indicate the timeStamp when the request is invoked. |
| pagination | object | Data to represent the pagination parameters, such as from, size and the total notes available. |
| total | number | The total Number of notes available. |
| size | number | The number of notes fetched as part of this request. |
| from | number | The number of notes skipped from start, before starting to fetch. |
| data | [object] | |
| decision_status | string | The decision status. |
| jobId | string | The unique identifier for job. |
| noteType | string | The type of note. |
| recruiterEmail | string | The email of the recruiter. |
| recruiterName | string | The name of the recruiter. |
| fromName | string | From Name. |
| updatedDate | string | The date on which the note has been updated. |
| createdDate | string | The date on which note has been created. |
| notes | string | The Notes. |
copied!{
"type": "object",
"properties": {
"noteType": {
"description": "The type of the note that is being created. This field specifies the category of the note.",
"type": "string"
},
"noteText": {
"description": "The text content of the note. This field holds the actual content or information of the note.",
"type": "string"
},
"asPrivate": {
"description": "A boolean flag indicating whether the note is private or not. If true, the note is intended to be visible only to individuals who created it.",
"type": "boolean"
},
"jobId": {
"description": "The unique identifier (ID) associated with the job related to the note. This field links the note to a specific job or task.",
"type": "string"
},
"taggedRecruiters": {
"description": "An object containing ids about recruiters tagged in the note.",
"type": "object"
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| noteType | string | The type of the note that is being created. This field specifies the category of the note. |
| noteText | string | The text content of the note. This field holds the actual content or information of the note. |
| asPrivate | boolean | A boolean flag indicating whether the note is private or not. If true, the note is intended to be visible only to individuals who created it. |
| jobId | string | The unique identifier (ID) associated with the job related to the note. This field links the note to a specific job or task. |
| taggedRecruiters | object | An object containing ids about recruiters tagged in the note. |
copied!{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Indicates the status of the operation (e.g., success, failure)."
},
"message": {
"type": "string",
"description": "A human readable message providing details about the operation result."
},
"timestamp": {
"type": "string",
"description": "Timestamp indicating when the operation was performed."
},
"id": {
"type": "string",
"description": "Unique Identifier for the Note that has been created."
}
},
"required": [
"status",
"message",
"timestamp",
"id"
]
}Properties
| Name | Type | Description |
|---|---|---|
| status | string | Indicates the status of the operation (e.g., success, failure). |
| message | string | A human readable message providing details about the operation result. |
| timestamp | string | Timestamp indicating when the operation was performed. |
| id | string | Unique Identifier for the Note that has been created. |
copied!{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Indicates the status of the delete operation. It could be a success or failure status."
},
"message": {
"type": "string",
"description": "A readable message providing additional information about the delete operation."
},
"timestamp": {
"type": "string",
"description": "A timestamp indicating the moment when the delete operation was performed. This helps in tracking the timing of the operation."
}
},
"required": [
"status",
"message",
"timestamp"
]
}Properties
| Name | Type | Description |
|---|---|---|
| status | string | Indicates the status of the delete operation. It could be a success or failure status. |
| message | string | A readable message providing additional information about the delete operation. |
| timestamp | string | A timestamp indicating the moment when the delete operation was performed. This helps in tracking the timing of the operation. |
copied!{
"type": "object",
"properties": {
"noteType": {
"type": "string",
"description": "The type of the candidate note. Specifies the category of the note associated with the candidate."
},
"noteText": {
"type": "string",
"description": "The text content of the candidate note."
},
"asPrivate": {
"type": "boolean",
"description": "A boolean flag indicating whether the candidate note is private. If true, the note is intended to be visible only to individuals who created it."
},
"recruiterName": {
"type": "string",
"description": "The name of the recruiter updating the candidate note. This field identifies the recruiter associated with the modification."
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| noteType | string | The type of the candidate note. Specifies the category of the note associated with the candidate. |
| noteText | string | The text content of the candidate note. |
| asPrivate | boolean | A boolean flag indicating whether the candidate note is private. If true, the note is intended to be visible only to individuals who created it. |
| recruiterName | string | The name of the recruiter updating the candidate note. This field identifies the recruiter associated with the modification. |
copied!{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Indicates the status of the response. It could be a success or failure status."
},
"message": {
"type": "string",
"description": "A human readable message providing additional information about the response. It may include details about the success or failure."
},
"timestamp": {
"type": "string",
"description": "A timestamp indicating the moment when the response was generated. This helps in tracking the timing of the response."
},
"pagination": {
"type": "object",
"properties": {
"size": {
"type": "number",
"description": "The number of activities per page in the pagination."
},
"from": {
"type": "number",
"description": "The starting index of the activities in the current page."
},
"totalCount": {
"type": "number",
"description": "The total count of activities across all pages."
}
},
"required": [
"size",
"from",
"totalCount"
],
"description": "Information about pagination, including size, start index, and total count."
},
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"recruitersUserId": {
"type": "string",
"description": "The user ID of the recruiter associated with the activity."
},
"actionType": {
"type": "string",
"description": "The type of action performed, such as 'create', 'update', or 'delete'."
},
"createdDate": {
"type": "string",
"description": "The timestamp when the activity was created."
},
"candidateId": {
"type": "string",
"description": "The ID of the candidate related to the activity."
},
"actionValue": {
"type": "string",
"description": "The value associated with the action."
},
"addedNewValue": {
"type": "string",
"description": "The new value added during the update action."
},
"scopeAttr": {
"type": "object",
"properties": {
"scopeId": {
"type": "string",
"description": "The ID representing the scope of the activity."
}
},
"required": [
"scopeId"
],
"description": "Information about the scope of the activity."
},
"recruiterName": {
"type": "string",
"description": "The name of the recruiter associated with the activity."
}
},
"required": [
"recruitersUserId",
"actionType",
"createdDate",
"candidateId",
"actionValue",
"addedNewValue",
"scopeAttr",
"recruiterName"
]
}
}
},
"required": [
"status",
"message",
"timestamp",
"pagination",
"data"
]
}Properties
| Name | Type | Description |
|---|---|---|
| status | string | Indicates the status of the response. It could be a success or failure status. |
| message | string | A human readable message providing additional information about the response. It may include details about the success or failure. |
| timestamp | string | A timestamp indicating the moment when the response was generated. This helps in tracking the timing of the response. |
| pagination | object | Information about pagination, including size, start index, and total count. |
| size | number | The number of activities per page in the pagination. |
| from | number | The starting index of the activities in the current page. |
| totalCount | number | The total count of activities across all pages. |
| data | [object] | |
| recruitersUserId | string | The user ID of the recruiter associated with the activity. |
| actionType | string | The type of action performed, such as 'create', 'update', or 'delete'. |
| createdDate | string | The timestamp when the activity was created. |
| candidateId | string | The ID of the candidate related to the activity. |
| actionValue | string | The value associated with the action. |
| addedNewValue | string | The new value added during the update action. |
| scopeAttr | object | Information about the scope of the activity. |
| scopeId | string | The ID representing the scope of the activity. |
| recruiterName | string | The name of the recruiter associated with the activity. |
copied!{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Indicates the status of the response. It could be a success or failure status."
},
"message": {
"type": "string",
"description": "A human readable message providing additional information about the response. It may include details about the success or failure."
},
"timestamp": {
"type": "string",
"description": "A timestamp indicating the moment when the response was generated. This helps in tracking the timing of the response."
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| status | string | Indicates the status of the response. It could be a success or failure status. |
| message | string | A human readable message providing additional information about the response. It may include details about the success or failure. |
| timestamp | string | A timestamp indicating the moment when the response was generated. This helps in tracking the timing of the response. |
copied!{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Indicates the status of the error response. It typically represents a bad request or failure status."
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"timestamp": {
"type": "string",
"description": "A timestamp indicating when the error occurred. This helps in tracking the timing of the error."
},
"errorAPI": {
"type": "string",
"description": "A string representing the specific API or endpoint where the error occurred."
},
"message": {
"type": "string",
"description": "A human readable message providing details about the nature of the error and potential solutions."
}
},
"required": [
"timestamp",
"errorAPI",
"message"
]
}
}
},
"required": [
"status",
"errors"
],
"description": "An error response indicating a bad request, with details about the encountered errors."
}Properties
| Name | Type | Description |
|---|---|---|
| status | string | Indicates the status of the error response. It typically represents a bad request or failure status. |
| errors | [object] | |
| timestamp | string | A timestamp indicating when the error occurred. This helps in tracking the timing of the error. |
| errorAPI | string | A string representing the specific API or endpoint where the error occurred. |
| message | string | A human readable message providing details about the nature of the error and potential solutions. |
copied!{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Indicates the status of the error response. It typically represents an internal server error."
},
"message": {
"type": "string",
"description": "A human readable message providing additional information about the internal server error. It may include details about the nature of the error and potential solutions."
},
"timestamp": {
"type": "string",
"description": "A timestamp indicating when the internal server error occurred. This helps in tracking the timing of the error."
}
},
"required": [
"status",
"message",
"timestamp"
],
"description": "An error response indicating an internal server error, with details about the encountered issues."
}Properties
| Name | Type | Description |
|---|---|---|
| status | string | Indicates the status of the error response. It typically represents an internal server error. |
| message | string | A human readable message providing additional information about the internal server error. It may include details about the nature of the error and potential solutions. |
| timestamp | string | A timestamp indicating when the internal server error occurred. This helps in tracking the timing of the error. |
copied!{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Indicates the status of the error response. It typically represents a 'not found' error."
},
"message": {
"type": "string",
"description": "A human readable message providing additional information about the 'not found' error. It may include details about the resource or item that could not be located."
},
"timestamp": {
"type": "string",
"description": "A timestamp indicating when the 'not found' error occurred. This helps in tracking the timing of the error."
}
},
"required": [
"status",
"message",
"timestamp"
],
"description": "An error response indicating that the requested resource or item was not found, with details about the encountered issues."
}Properties
| Name | Type | Description |
|---|---|---|
| status | string | Indicates the status of the error response. It typically represents a 'not found' error. |
| message | string | A human readable message providing additional information about the 'not found' error. It may include details about the resource or item that could not be located. |
| timestamp | string | A timestamp indicating when the 'not found' error occurred. This helps in tracking the timing of the error. |
copied!{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Indicates the status of the error response. It typically represents a 'forbidden' error, indicating that the requested action is not allowed."
},
"message": {
"type": "string",
"description": "A human readable message providing additional information about the 'forbidden' error. It includes details about the action that is not permitted."
},
"timestamp": {
"type": "string",
"description": "A timestamp indicating when the 'forbidden' error occurred. This helps in tracking the timing of the error."
}
},
"required": [
"status",
"message",
"timestamp"
],
"description": "An error response indicating that the requested action is forbidden, with details about the encountered issues."
}Properties
| Name | Type | Description |
|---|---|---|
| status | string | Indicates the status of the error response. It typically represents a 'forbidden' error, indicating that the requested action is not allowed. |
| message | string | A human readable message providing additional information about the 'forbidden' error. It includes details about the action that is not permitted. |
| timestamp | string | A timestamp indicating when the 'forbidden' error occurred. This helps in tracking the timing of the error. |
copied!{
"type": "object",
"description": "The response to indicate that no data has been found.",
"properties": {}
}Properties
| Name | Type |
|---|
copied!{
"type": "object",
"properties": {
"status": {
"type": "string",
"default": "failure",
"description": "Indicates the status of the error response. It typically represents an 'unauthorized' request."
},
"error": {
"type": "string",
"default": "UNAUTHORIZED",
"description": "A string representing the type of error. It is set to 'UNAUTHORIZED' to indicate that the request lacks proper authorization."
},
"message": {
"type": "string",
"default": "You are not authorized",
"description": "A human readable message providing additional information about the 'unauthorized' error. It informs the user that they do not have the necessary authorization for the requested action."
}
},
"description": "An error response indicating that the request lacks proper authorization, with details about the encountered issues."
}Properties
| Name | Type | Description |
|---|---|---|
| status | string | Indicates the status of the error response. It typically represents an 'unauthorized' request. |
| error | string | A string representing the type of error. It is set to 'UNAUTHORIZED' to indicate that the request lacks proper authorization. |
| message | string | A human readable message providing additional information about the 'unauthorized' error. It informs the user that they do not have the necessary authorization for the requested action. |
copied!{
"type": "object",
"properties": {
"status": {
"type": "string",
"default": "failure",
"description": "Indicates the status of the error response. It typically represents an internal server error."
},
"message": {
"type": "string",
"default": "Internal Server Error",
"description": "A human readable message providing additional information about the 'internal server error.' It indicates that there was an issue on the server side."
}
},
"description": "An error response indicating an internal server error, with details about the encountered issues."
}Properties
| Name | Type | Description |
|---|---|---|
| status | string | Indicates the status of the error response. It typically represents an internal server error. |
| message | string | A human readable message providing additional information about the 'internal server error.' It indicates that there was an issue on the server side. |
copied!{
"type": "object",
"properties": {
"status": {
"type": "string",
"default": "failure",
"description": "Indicates the status of the error response. It typically represents a 'forbidden' request."
},
"error": {
"type": "string",
"default": "ACCESS_DENIED",
"description": "A string representing the type of error. It is set to 'ACCESS_DENIED' to indicate that the request is forbidden."
},
"message": {
"type": "string",
"default": "Forbidden, You're not allowed to access this resource / Required flags are not enabled / Required permissions are missing",
"description": "A human readable message providing additional information about the 'forbidden' error. It informs the user that they are not allowed to access the specified resource."
}
},
"description": "An error response indicating that the request is forbidden, with details about the encountered issues."
}Properties
| Name | Type | Description |
|---|---|---|
| status | string | Indicates the status of the error response. It typically represents a 'forbidden' request. |
| error | string | A string representing the type of error. It is set to 'ACCESS_DENIED' to indicate that the request is forbidden. |
| message | string | A human readable message providing additional information about the 'forbidden' error. It informs the user that they are not allowed to access the specified resource. |
copied!{
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "Status returned by the API."
},
"message": {
"type": "string",
"description": "Error Message."
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| status | integer | Status returned by the API. |
| message | string | Error Message. |
copied!{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| status | string | HTTP status code indicating the error status. |
| message | string | Description or message providing details about the error. |
copied!{
"type": "object",
"description": "An object representing profile update activities associated with a candidate.",
"properties": {
"pagination": {
"type": "object",
"description": "An object containing pagination details for the profile update activities.",
"properties": {
"size": {
"type": "number",
"description": "The size of the page in the pagination."
},
"from": {
"type": "number",
"description": "The starting index of the page in the pagination."
},
"totalCount": {
"type": "number",
"description": "The total count of profile update activities."
}
}
},
"data": {
"type": "array",
"description": "An array representing profile update activity details.",
"items": {
"type": "object",
"properties": {
"recruitersUserId": {
"type": "string",
"description": "The user ID of the recruiter associated with the profile update activity."
},
"recruiterName": {
"type": "string",
"description": "The name of the recruiter associated with the profile update activity."
},
"candidateId": {
"type": "string",
"description": "The ID of the candidate associated with the profile update activity."
},
"actionType": {
"type": "string",
"description": "The type of action performed in the profile update activity."
},
"createdDate": {
"type": "number",
"description": "The date when the profile update activity was created."
},
"requestSource": {
"type": "string",
"description": "The source from which the profile update activity request originated."
},
"additionalFieldName": {
"type": "string",
"description": "The name of the additional field associated with the profile update activity."
},
"previousValue": {
"type": "string",
"description": "The previous value of the updated field."
},
"updatedValue": {
"type": "string",
"description": "The updated value of the field in the profile update activity."
},
"actionValue": {
"type": "string",
"description": "The value associated with the action performed in the profile update activity."
},
"subject": {
"type": "string",
"description": "The subject or topic associated with the profile update activity."
},
"content": {
"type": "string",
"description": "The content or details of the profile update activity."
},
"categoryName": {
"type": "string",
"description": "The name of the category associated with the profile update activity."
},
"emailResponse": {
"type": "string",
"description": "The email response associated with the profile update activity."
},
"fromEmail": {
"type": "string",
"description": "The email address from which the profile update activity originated."
},
"fromName": {
"type": "string",
"description": "The name associated with the sender of the profile update activity."
},
"toEmail": {
"type": "string",
"description": "The email address of the recipient in the profile update activity."
},
"toName": {
"type": "string",
"description": "The name of the recipient in the profile update activity."
},
"recipeName": {
"type": "string",
"description": "The name of the recipe associated with the profile update activity."
},
"addedNewValue": {
"type": "string",
"description": "The newly added value in the profile update activity."
}
}
}
},
"message": {
"type": "string",
"description": "A string representing a message or communication associated with the response."
},
"status": {
"type": "string",
"description": "A string representing the status of the response, indicating success, failure, or another state."
},
"timestamp": {
"type": "string",
"description": "A string representing the timestamp associated with the profile update activities."
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| pagination | object | An object containing pagination details for the profile update activities. |
| size | number | The size of the page in the pagination. |
| from | number | The starting index of the page in the pagination. |
| totalCount | number | The total count of profile update activities. |
| data | [object] | An array representing profile update activity details. |
| recruitersUserId | string | The user ID of the recruiter associated with the profile update activity. |
| recruiterName | string | The name of the recruiter associated with the profile update activity. |
| candidateId | string | The ID of the candidate associated with the profile update activity. |
| actionType | string | The type of action performed in the profile update activity. |
| createdDate | number | The date when the profile update activity was created. |
| requestSource | string | The source from which the profile update activity request originated. |
| additionalFieldName | string | The name of the additional field associated with the profile update activity. |
| previousValue | string | The previous value of the updated field. |
| updatedValue | string | The updated value of the field in the profile update activity. |
| actionValue | string | The value associated with the action performed in the profile update activity. |
| subject | string | The subject or topic associated with the profile update activity. |
| content | string | The content or details of the profile update activity. |
| categoryName | string | The name of the category associated with the profile update activity. |
| emailResponse | string | The email response associated with the profile update activity. |
| fromEmail | string | The email address from which the profile update activity originated. |
| fromName | string | The name associated with the sender of the profile update activity. |
| toEmail | string | The email address of the recipient in the profile update activity. |
| toName | string | The name of the recipient in the profile update activity. |
| recipeName | string | The name of the recipe associated with the profile update activity. |
| addedNewValue | string | The newly added value in the profile update activity. |
| message | string | A string representing a message or communication associated with the response. |
| status | string | A string representing the status of the response, indicating success, failure, or another state. |
| timestamp | string | A string representing the timestamp associated with the profile update activities. |
copied!{
"type": "object",
"description": "An object representing profile action activities associated with a candidate.",
"properties": {
"pagination": {
"type": "object",
"description": "An object containing pagination details for the profile action activities.",
"properties": {
"size": {
"type": "number",
"description": "The size of the page in the pagination."
},
"from": {
"type": "number",
"description": "The starting index of the page in the pagination."
},
"totalCount": {
"type": "number",
"description": "The total count of profile action activities."
}
}
},
"data": {
"type": "array",
"description": "An array representing profile action activity details.",
"items": {
"type": "object",
"properties": {
"recruitersUserId": {
"type": "string",
"description": "The user ID of the recruiter associated with the profile action activity."
},
"recruiterName": {
"type": "string",
"description": "The name of the recruiter associated with the profile action activity."
},
"candidateId": {
"type": "string",
"description": "The ID of the candidate associated with the profile action activity."
},
"actionType": {
"type": "string",
"description": "The type of action performed in the profile action activity."
},
"createdDate": {
"type": "number",
"description": "The date when the profile action activity was created."
},
"requestSource": {
"type": "string",
"description": "The source from which the profile action activity request originated."
},
"additionalFieldName": {
"type": "string",
"description": "The name of the additional field associated with the profile action activity."
},
"previousValue": {
"type": "string",
"description": "The previous value of the updated field."
},
"updatedValue": {
"type": "string",
"description": "The updated value of the field in the profile action activity."
},
"actionValue": {
"type": "string",
"description": "The value associated with the action performed in the profile action activity."
},
"source": {
"type": "string",
"description": "The source or origin of the profile action activity."
},
"reason": {
"type": "string",
"description": "The reason or justification for the profile action activity."
},
"fromName": {
"type": "string",
"description": "The name associated with the sender of the profile action activity."
},
"toName": {
"type": "string",
"description": "The name of the recipient in the profile action activity."
},
"categoryName": {
"type": "string",
"description": "The name of the category associated with the profile action activity."
},
"email": {
"type": "string",
"description": "The email associated with the profile action activity."
},
"event": {
"type": "string",
"description": "The event or occurrence associated with the profile action activity."
}
}
}
},
"message": {
"type": "string",
"description": "A string representing a message or communication associated with the response."
},
"status": {
"type": "string",
"description": "A string representing the status of the response, indicating success, failure, or another state."
},
"timestamp": {
"type": "string",
"description": "A string representing the timestamp associated with the profile action activities."
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| pagination | object | An object containing pagination details for the profile action activities. |
| size | number | The size of the page in the pagination. |
| from | number | The starting index of the page in the pagination. |
| totalCount | number | The total count of profile action activities. |
| data | [object] | An array representing profile action activity details. |
| recruitersUserId | string | The user ID of the recruiter associated with the profile action activity. |
| recruiterName | string | The name of the recruiter associated with the profile action activity. |
| candidateId | string | The ID of the candidate associated with the profile action activity. |
| actionType | string | The type of action performed in the profile action activity. |
| createdDate | number | The date when the profile action activity was created. |
| requestSource | string | The source from which the profile action activity request originated. |
| additionalFieldName | string | The name of the additional field associated with the profile action activity. |
| previousValue | string | The previous value of the updated field. |
| updatedValue | string | The updated value of the field in the profile action activity. |
| actionValue | string | The value associated with the action performed in the profile action activity. |
| source | string | The source or origin of the profile action activity. |
| reason | string | The reason or justification for the profile action activity. |
| fromName | string | The name associated with the sender of the profile action activity. |
| toName | string | The name of the recipient in the profile action activity. |
| categoryName | string | The name of the category associated with the profile action activity. |
| string | The email associated with the profile action activity. | |
| event | string | The event or occurrence associated with the profile action activity. |
| message | string | A string representing a message or communication associated with the response. |
| status | string | A string representing the status of the response, indicating success, failure, or another state. |
| timestamp | string | A string representing the timestamp associated with the profile action activities. |
copied!{
"type": "object",
"description": "Successful API response with status, message, and onboarding payload.",
"properties": {
"status": {
"type": "integer",
"description": "HTTP status code indicating success.",
"example": 200
},
"message": {
"type": "string",
"description": "Outcome message for the client (e.g. confirmation that candidate data was fetched).",
"example": "Candidate data fetched successfully"
},
"data": {
"OnboardingData": {
"type": "object",
"description": "Payload returned for a successful candidate onboarding fetch: profile and contact data under candidateDetails, and requisition or job context under jobDetails.",
"properties": {
"candidateDetails": {
"CandidateDetails": {
"type": "object",
"description": "Candidate profile: emails, phone contacts, identification, education, work history, address, and tenant-specific custom fields.",
"properties": {
"firstName": {
"type": "string",
"nullable": true,
"description": "Candidate given name."
},
"middleName": {
"type": "string",
"nullable": true,
"description": "Candidate middle name."
},
"lastName": {
"type": "string",
"nullable": true,
"description": "Candidate family name."
},
"gender": {
"type": "string",
"nullable": true,
"description": "Gender or gender identity as stored for the candidate."
},
"primaryEmailId": {
"type": "string",
"nullable": true,
"description": "Primary email address used for onboarding communications."
},
"secondaryEmailId": {
"type": "string",
"nullable": true,
"description": "Secondary or alternate email address."
},
"officialEmailId": {
"type": "string",
"nullable": true,
"description": "Work or official email address when provided."
},
"dateOfBirth": {
"type": "string",
"format": "date",
"nullable": true,
"description": "Date of birth as an ISO 8601 calendar date (YYYY-MM-DD)."
},
"joiningDate": {
"type": "string",
"format": "date",
"nullable": true,
"description": "Expected or planned joining date as an ISO 8601 calendar date (YYYY-MM-DD)."
},
"contacts": {
"type": "array",
"description": "Ordered list of phone contact entries (e.g. primary and secondary); each item may include type, dial code, and number.",
"items": {
"CandidateContact": {
"type": "object",
"description": "A single phone contact line, distinguished by type (for example primary vs secondary).",
"properties": {
"type": {
"type": "string",
"nullable": true,
"description": "Contact slot or role, such as primary or secondary."
},
"phoneNumber": {
"type": "string",
"nullable": true,
"description": "Local phone number without country prefix (when present)."
},
"countryCode": {
"type": "string",
"nullable": true,
"description": "Country or dialing code identifier for the number (format may be tenant-specific, e.g. IND_91)."
}
}
}
}
},
"identificationDetails": {
"type": "array",
"description": "Government or employer identification documents associated with the candidate.",
"items": {
"CandidateIdentification": {
"type": "object",
"description": "One identification document or credential record.",
"properties": {
"type": {
"type": "string",
"nullable": true,
"description": "Kind of identification (e.g. aadhaar, passport)."
},
"number": {
"type": "string",
"nullable": true,
"description": "Document or identification number."
},
"location": {
"type": "string",
"nullable": true,
"description": "Issuing location or jurisdiction, if applicable."
},
"issuedDate": {
"type": "string",
"nullable": true,
"description": "Issue date as returned by the source (empty string if unknown)."
},
"expiryDate": {
"type": "string",
"nullable": true,
"description": "Expiry date as returned by the source (empty string if unknown or not applicable)."
},
"status": {
"type": "string",
"nullable": true,
"description": "Verification or document status when provided."
}
}
}
}
},
"education": {
"type": "array",
"description": "Education history entries.",
"items": {
"CandidateEducation": {
"type": "object",
"description": "A single education record.",
"properties": {
"degree": {
"type": "string",
"nullable": true,
"description": "Degree or qualification title."
},
"fieldOfStudy": {
"type": "string",
"nullable": true,
"description": "Major or field of study."
},
"schoolName": {
"type": "string",
"nullable": true,
"description": "School or institute name."
},
"schoolAndUniversity": {
"type": "string",
"nullable": true,
"description": "Combined campus, university, or location label when provided."
},
"startDate": {
"type": "string",
"nullable": true,
"description": "Program start date (format as returned by the source)."
},
"endDate": {
"type": "string",
"nullable": true,
"description": "Program end date (format as returned by the source)."
},
"isHighEducation": {
"type": "boolean",
"nullable": true,
"description": "Whether this entry is marked as the highest level of education."
},
"state": {
"type": "string",
"nullable": true,
"description": "State or region for the institution."
},
"country": {
"type": "string",
"nullable": true,
"description": "Country for the institution."
}
}
}
}
},
"experience": {
"type": "array",
"description": "Employment history entries.",
"items": {
"CandidateExperience": {
"type": "object",
"description": "A single employment history record.",
"properties": {
"company": {
"type": "string",
"nullable": true,
"description": "Employer or organization name."
},
"jobTitle": {
"type": "string",
"nullable": true,
"description": "Job title at the employer."
},
"role": {
"type": "string",
"nullable": true,
"description": "Role or function (may mirror job title)."
},
"jobLocation": {
"type": "string",
"nullable": true,
"description": "Work location for this role."
},
"isCurrent": {
"type": "string",
"nullable": true,
"description": "Whether this is the current employer (e.g. yes or no as stored in source data)."
},
"industry": {
"type": "string",
"nullable": true,
"description": "Industry sector when captured."
},
"startDate": {
"type": "string",
"nullable": true,
"description": "Employment start date (format as returned by the source)."
},
"endDate": {
"type": "string",
"nullable": true,
"description": "Employment end date (format as returned by the source); empty if current."
}
}
}
}
},
"address": {
"description": "Current and permanent residential addresses for the candidate.",
"CandidateAddressBlock": {
"type": "object",
"description": "Current and permanent address lines. Both keys are always present; each value is always a StructuredAddress (never null at this level).",
"properties": {
"currentAddress": {
"description": "Current address of the candidate.",
"allOf": [
{
"StructuredAddress": {
"type": "object",
"description": "Structured postal address, including optional validity dates for that address.",
"properties": {
"addressLine1": {
"type": "string",
"nullable": true,
"description": "First line of the street address."
},
"addressLine2": {
"type": "string",
"nullable": true,
"description": "Second line of the street address."
},
"city": {
"type": "string",
"nullable": true,
"description": "City."
},
"zipCode": {
"type": "string",
"nullable": true,
"description": "Postal or ZIP code."
},
"country": {
"type": "string",
"nullable": true,
"description": "Country."
},
"state": {
"type": "string",
"nullable": true,
"description": "State or region."
},
"startDate": {
"type": "string",
"nullable": true,
"description": "Start date associated with this address (format as returned by the source)."
},
"endDate": {
"type": "string",
"nullable": true,
"description": "End date associated with this address (format as returned by the source)."
}
}
}
}
]
},
"permanentAddress": {
"description": "Permanent address of the candidate.",
"allOf": [
{
"StructuredAddress": {
"type": "object",
"description": "Structured postal address, including optional validity dates for that address.",
"properties": {
"addressLine1": {
"type": "string",
"nullable": true,
"description": "First line of the street address."
},
"addressLine2": {
"type": "string",
"nullable": true,
"description": "Second line of the street address."
},
"city": {
"type": "string",
"nullable": true,
"description": "City."
},
"zipCode": {
"type": "string",
"nullable": true,
"description": "Postal or ZIP code."
},
"country": {
"type": "string",
"nullable": true,
"description": "Country."
},
"state": {
"type": "string",
"nullable": true,
"description": "State or region."
},
"startDate": {
"type": "string",
"nullable": true,
"description": "Start date associated with this address (format as returned by the source)."
},
"endDate": {
"type": "string",
"nullable": true,
"description": "End date associated with this address (format as returned by the source)."
}
}
}
}
]
}
}
}
},
"additionalFields": {
"AdditionalFields": {
"type": "object",
"description": "An object representing additional fields related to employee information.",
"properties": {
"data": {
"type": "object",
"description": "An object containing additional data fields.",
"properties": {
"additionalFields": {
"type": "object",
"description": "An object containing specific additional fields.",
"properties": {}
}
}
},
"message": {
"type": "string",
"description": "A string representing a message or communication associated with the request or response."
},
"status": {
"type": "string",
"description": "A string representing the status of the request or response, indicating success, failure, or another state."
}
}
}
}
}
}
},
"jobDetails": {
"JobDetails": {
"type": "object",
"description": "Job or requisition context: top-level fields for common attributes, plus additionalFields for ATS, recruiter or hiring-manager contacts, department, and other tenant-specific job metadata.",
"properties": {
"jobTitle": {
"type": "string",
"nullable": true,
"description": "Title of the job or requisition."
},
"jobId": {
"type": "string",
"nullable": true,
"description": "Internal or external job identifier."
},
"jobLocation": {
"type": "string",
"nullable": true,
"description": "Primary job location label or free text."
},
"jobCategory": {
"type": "string",
"nullable": true,
"description": "Category or family of the role."
},
"positionCode": {
"type": "string",
"nullable": true,
"description": "Position or requisition code when used by the tenant."
},
"positionTitle": {
"type": "string",
"nullable": true,
"description": "Position title as distinct from job title when both are maintained."
},
"department": {
"type": "string",
"nullable": true,
"description": "Hiring department or cost center name."
},
"additionalFields": {
"AdditionalFields": {
"type": "object",
"description": "An object representing additional fields related to employee information.",
"properties": {
"data": {
"type": "object",
"description": "An object containing additional data fields.",
"properties": {
"additionalFields": {
"type": "object",
"description": "An object containing specific additional fields.",
"properties": {}
}
}
},
"message": {
"type": "string",
"description": "A string representing a message or communication associated with the request or response."
},
"status": {
"type": "string",
"description": "A string representing the status of the request or response, indicating success, failure, or another state."
}
}
}
}
}
}
}
}
}
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| status | integer | HTTP status code indicating success. |
| message | string | Outcome message for the client (e.g. confirmation that candidate data was fetched). |
| data | object | OnboardingData |
copied!{
"type": "object",
"description": "Payload returned for a successful candidate onboarding fetch: profile and contact data under candidateDetails, and requisition or job context under jobDetails.",
"properties": {
"candidateDetails": {
"CandidateDetails": {
"type": "object",
"description": "Candidate profile: emails, phone contacts, identification, education, work history, address, and tenant-specific custom fields.",
"properties": {
"firstName": {
"type": "string",
"nullable": true,
"description": "Candidate given name."
},
"middleName": {
"type": "string",
"nullable": true,
"description": "Candidate middle name."
},
"lastName": {
"type": "string",
"nullable": true,
"description": "Candidate family name."
},
"gender": {
"type": "string",
"nullable": true,
"description": "Gender or gender identity as stored for the candidate."
},
"primaryEmailId": {
"type": "string",
"nullable": true,
"description": "Primary email address used for onboarding communications."
},
"secondaryEmailId": {
"type": "string",
"nullable": true,
"description": "Secondary or alternate email address."
},
"officialEmailId": {
"type": "string",
"nullable": true,
"description": "Work or official email address when provided."
},
"dateOfBirth": {
"type": "string",
"format": "date",
"nullable": true,
"description": "Date of birth as an ISO 8601 calendar date (YYYY-MM-DD)."
},
"joiningDate": {
"type": "string",
"format": "date",
"nullable": true,
"description": "Expected or planned joining date as an ISO 8601 calendar date (YYYY-MM-DD)."
},
"contacts": {
"type": "array",
"description": "Ordered list of phone contact entries (e.g. primary and secondary); each item may include type, dial code, and number.",
"items": {
"CandidateContact": {
"type": "object",
"description": "A single phone contact line, distinguished by type (for example primary vs secondary).",
"properties": {
"type": {
"type": "string",
"nullable": true,
"description": "Contact slot or role, such as primary or secondary."
},
"phoneNumber": {
"type": "string",
"nullable": true,
"description": "Local phone number without country prefix (when present)."
},
"countryCode": {
"type": "string",
"nullable": true,
"description": "Country or dialing code identifier for the number (format may be tenant-specific, e.g. IND_91)."
}
}
}
}
},
"identificationDetails": {
"type": "array",
"description": "Government or employer identification documents associated with the candidate.",
"items": {
"CandidateIdentification": {
"type": "object",
"description": "One identification document or credential record.",
"properties": {
"type": {
"type": "string",
"nullable": true,
"description": "Kind of identification (e.g. aadhaar, passport)."
},
"number": {
"type": "string",
"nullable": true,
"description": "Document or identification number."
},
"location": {
"type": "string",
"nullable": true,
"description": "Issuing location or jurisdiction, if applicable."
},
"issuedDate": {
"type": "string",
"nullable": true,
"description": "Issue date as returned by the source (empty string if unknown)."
},
"expiryDate": {
"type": "string",
"nullable": true,
"description": "Expiry date as returned by the source (empty string if unknown or not applicable)."
},
"status": {
"type": "string",
"nullable": true,
"description": "Verification or document status when provided."
}
}
}
}
},
"education": {
"type": "array",
"description": "Education history entries.",
"items": {
"CandidateEducation": {
"type": "object",
"description": "A single education record.",
"properties": {
"degree": {
"type": "string",
"nullable": true,
"description": "Degree or qualification title."
},
"fieldOfStudy": {
"type": "string",
"nullable": true,
"description": "Major or field of study."
},
"schoolName": {
"type": "string",
"nullable": true,
"description": "School or institute name."
},
"schoolAndUniversity": {
"type": "string",
"nullable": true,
"description": "Combined campus, university, or location label when provided."
},
"startDate": {
"type": "string",
"nullable": true,
"description": "Program start date (format as returned by the source)."
},
"endDate": {
"type": "string",
"nullable": true,
"description": "Program end date (format as returned by the source)."
},
"isHighEducation": {
"type": "boolean",
"nullable": true,
"description": "Whether this entry is marked as the highest level of education."
},
"state": {
"type": "string",
"nullable": true,
"description": "State or region for the institution."
},
"country": {
"type": "string",
"nullable": true,
"description": "Country for the institution."
}
}
}
}
},
"experience": {
"type": "array",
"description": "Employment history entries.",
"items": {
"CandidateExperience": {
"type": "object",
"description": "A single employment history record.",
"properties": {
"company": {
"type": "string",
"nullable": true,
"description": "Employer or organization name."
},
"jobTitle": {
"type": "string",
"nullable": true,
"description": "Job title at the employer."
},
"role": {
"type": "string",
"nullable": true,
"description": "Role or function (may mirror job title)."
},
"jobLocation": {
"type": "string",
"nullable": true,
"description": "Work location for this role."
},
"isCurrent": {
"type": "string",
"nullable": true,
"description": "Whether this is the current employer (e.g. yes or no as stored in source data)."
},
"industry": {
"type": "string",
"nullable": true,
"description": "Industry sector when captured."
},
"startDate": {
"type": "string",
"nullable": true,
"description": "Employment start date (format as returned by the source)."
},
"endDate": {
"type": "string",
"nullable": true,
"description": "Employment end date (format as returned by the source); empty if current."
}
}
}
}
},
"address": {
"description": "Current and permanent residential addresses for the candidate.",
"CandidateAddressBlock": {
"type": "object",
"description": "Current and permanent address lines. Both keys are always present; each value is always a StructuredAddress (never null at this level).",
"properties": {
"currentAddress": {
"description": "Current address of the candidate.",
"allOf": [
{
"StructuredAddress": {
"type": "object",
"description": "Structured postal address, including optional validity dates for that address.",
"properties": {
"addressLine1": {
"type": "string",
"nullable": true,
"description": "First line of the street address."
},
"addressLine2": {
"type": "string",
"nullable": true,
"description": "Second line of the street address."
},
"city": {
"type": "string",
"nullable": true,
"description": "City."
},
"zipCode": {
"type": "string",
"nullable": true,
"description": "Postal or ZIP code."
},
"country": {
"type": "string",
"nullable": true,
"description": "Country."
},
"state": {
"type": "string",
"nullable": true,
"description": "State or region."
},
"startDate": {
"type": "string",
"nullable": true,
"description": "Start date associated with this address (format as returned by the source)."
},
"endDate": {
"type": "string",
"nullable": true,
"description": "End date associated with this address (format as returned by the source)."
}
}
}
}
]
},
"permanentAddress": {
"description": "Permanent address of the candidate.",
"allOf": [
{
"StructuredAddress": {
"type": "object",
"description": "Structured postal address, including optional validity dates for that address.",
"properties": {
"addressLine1": {
"type": "string",
"nullable": true,
"description": "First line of the street address."
},
"addressLine2": {
"type": "string",
"nullable": true,
"description": "Second line of the street address."
},
"city": {
"type": "string",
"nullable": true,
"description": "City."
},
"zipCode": {
"type": "string",
"nullable": true,
"description": "Postal or ZIP code."
},
"country": {
"type": "string",
"nullable": true,
"description": "Country."
},
"state": {
"type": "string",
"nullable": true,
"description": "State or region."
},
"startDate": {
"type": "string",
"nullable": true,
"description": "Start date associated with this address (format as returned by the source)."
},
"endDate": {
"type": "string",
"nullable": true,
"description": "End date associated with this address (format as returned by the source)."
}
}
}
}
]
}
}
}
},
"additionalFields": {
"AdditionalFields": {
"type": "object",
"description": "An object representing additional fields related to employee information.",
"properties": {
"data": {
"type": "object",
"description": "An object containing additional data fields.",
"properties": {
"additionalFields": {
"type": "object",
"description": "An object containing specific additional fields.",
"properties": {}
}
}
},
"message": {
"type": "string",
"description": "A string representing a message or communication associated with the request or response."
},
"status": {
"type": "string",
"description": "A string representing the status of the request or response, indicating success, failure, or another state."
}
}
}
}
}
}
},
"jobDetails": {
"JobDetails": {
"type": "object",
"description": "Job or requisition context: top-level fields for common attributes, plus additionalFields for ATS, recruiter or hiring-manager contacts, department, and other tenant-specific job metadata.",
"properties": {
"jobTitle": {
"type": "string",
"nullable": true,
"description": "Title of the job or requisition."
},
"jobId": {
"type": "string",
"nullable": true,
"description": "Internal or external job identifier."
},
"jobLocation": {
"type": "string",
"nullable": true,
"description": "Primary job location label or free text."
},
"jobCategory": {
"type": "string",
"nullable": true,
"description": "Category or family of the role."
},
"positionCode": {
"type": "string",
"nullable": true,
"description": "Position or requisition code when used by the tenant."
},
"positionTitle": {
"type": "string",
"nullable": true,
"description": "Position title as distinct from job title when both are maintained."
},
"department": {
"type": "string",
"nullable": true,
"description": "Hiring department or cost center name."
},
"additionalFields": {
"AdditionalFields": {
"type": "object",
"description": "An object representing additional fields related to employee information.",
"properties": {
"data": {
"type": "object",
"description": "An object containing additional data fields.",
"properties": {
"additionalFields": {
"type": "object",
"description": "An object containing specific additional fields.",
"properties": {}
}
}
},
"message": {
"type": "string",
"description": "A string representing a message or communication associated with the request or response."
},
"status": {
"type": "string",
"description": "A string representing the status of the request or response, indicating success, failure, or another state."
}
}
}
}
}
}
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| candidateDetails | object | CandidateDetails |
| jobDetails | object | JobDetails |
copied!{
"type": "object",
"description": "Candidate profile: emails, phone contacts, identification, education, work history, address, and tenant-specific custom fields.",
"properties": {
"firstName": {
"type": "string",
"nullable": true,
"description": "Candidate given name."
},
"middleName": {
"type": "string",
"nullable": true,
"description": "Candidate middle name."
},
"lastName": {
"type": "string",
"nullable": true,
"description": "Candidate family name."
},
"gender": {
"type": "string",
"nullable": true,
"description": "Gender or gender identity as stored for the candidate."
},
"primaryEmailId": {
"type": "string",
"nullable": true,
"description": "Primary email address used for onboarding communications."
},
"secondaryEmailId": {
"type": "string",
"nullable": true,
"description": "Secondary or alternate email address."
},
"officialEmailId": {
"type": "string",
"nullable": true,
"description": "Work or official email address when provided."
},
"dateOfBirth": {
"type": "string",
"format": "date",
"nullable": true,
"description": "Date of birth as an ISO 8601 calendar date (YYYY-MM-DD)."
},
"joiningDate": {
"type": "string",
"format": "date",
"nullable": true,
"description": "Expected or planned joining date as an ISO 8601 calendar date (YYYY-MM-DD)."
},
"contacts": {
"type": "array",
"description": "Ordered list of phone contact entries (e.g. primary and secondary); each item may include type, dial code, and number.",
"items": {
"CandidateContact": {
"type": "object",
"description": "A single phone contact line, distinguished by type (for example primary vs secondary).",
"properties": {
"type": {
"type": "string",
"nullable": true,
"description": "Contact slot or role, such as primary or secondary."
},
"phoneNumber": {
"type": "string",
"nullable": true,
"description": "Local phone number without country prefix (when present)."
},
"countryCode": {
"type": "string",
"nullable": true,
"description": "Country or dialing code identifier for the number (format may be tenant-specific, e.g. IND_91)."
}
}
}
}
},
"identificationDetails": {
"type": "array",
"description": "Government or employer identification documents associated with the candidate.",
"items": {
"CandidateIdentification": {
"type": "object",
"description": "One identification document or credential record.",
"properties": {
"type": {
"type": "string",
"nullable": true,
"description": "Kind of identification (e.g. aadhaar, passport)."
},
"number": {
"type": "string",
"nullable": true,
"description": "Document or identification number."
},
"location": {
"type": "string",
"nullable": true,
"description": "Issuing location or jurisdiction, if applicable."
},
"issuedDate": {
"type": "string",
"nullable": true,
"description": "Issue date as returned by the source (empty string if unknown)."
},
"expiryDate": {
"type": "string",
"nullable": true,
"description": "Expiry date as returned by the source (empty string if unknown or not applicable)."
},
"status": {
"type": "string",
"nullable": true,
"description": "Verification or document status when provided."
}
}
}
}
},
"education": {
"type": "array",
"description": "Education history entries.",
"items": {
"CandidateEducation": {
"type": "object",
"description": "A single education record.",
"properties": {
"degree": {
"type": "string",
"nullable": true,
"description": "Degree or qualification title."
},
"fieldOfStudy": {
"type": "string",
"nullable": true,
"description": "Major or field of study."
},
"schoolName": {
"type": "string",
"nullable": true,
"description": "School or institute name."
},
"schoolAndUniversity": {
"type": "string",
"nullable": true,
"description": "Combined campus, university, or location label when provided."
},
"startDate": {
"type": "string",
"nullable": true,
"description": "Program start date (format as returned by the source)."
},
"endDate": {
"type": "string",
"nullable": true,
"description": "Program end date (format as returned by the source)."
},
"isHighEducation": {
"type": "boolean",
"nullable": true,
"description": "Whether this entry is marked as the highest level of education."
},
"state": {
"type": "string",
"nullable": true,
"description": "State or region for the institution."
},
"country": {
"type": "string",
"nullable": true,
"description": "Country for the institution."
}
}
}
}
},
"experience": {
"type": "array",
"description": "Employment history entries.",
"items": {
"CandidateExperience": {
"type": "object",
"description": "A single employment history record.",
"properties": {
"company": {
"type": "string",
"nullable": true,
"description": "Employer or organization name."
},
"jobTitle": {
"type": "string",
"nullable": true,
"description": "Job title at the employer."
},
"role": {
"type": "string",
"nullable": true,
"description": "Role or function (may mirror job title)."
},
"jobLocation": {
"type": "string",
"nullable": true,
"description": "Work location for this role."
},
"isCurrent": {
"type": "string",
"nullable": true,
"description": "Whether this is the current employer (e.g. yes or no as stored in source data)."
},
"industry": {
"type": "string",
"nullable": true,
"description": "Industry sector when captured."
},
"startDate": {
"type": "string",
"nullable": true,
"description": "Employment start date (format as returned by the source)."
},
"endDate": {
"type": "string",
"nullable": true,
"description": "Employment end date (format as returned by the source); empty if current."
}
}
}
}
},
"address": {
"description": "Current and permanent residential addresses for the candidate.",
"CandidateAddressBlock": {
"type": "object",
"description": "Current and permanent address lines. Both keys are always present; each value is always a StructuredAddress (never null at this level).",
"properties": {
"currentAddress": {
"description": "Current address of the candidate.",
"allOf": [
{
"StructuredAddress": {
"type": "object",
"description": "Structured postal address, including optional validity dates for that address.",
"properties": {
"addressLine1": {
"type": "string",
"nullable": true,
"description": "First line of the street address."
},
"addressLine2": {
"type": "string",
"nullable": true,
"description": "Second line of the street address."
},
"city": {
"type": "string",
"nullable": true,
"description": "City."
},
"zipCode": {
"type": "string",
"nullable": true,
"description": "Postal or ZIP code."
},
"country": {
"type": "string",
"nullable": true,
"description": "Country."
},
"state": {
"type": "string",
"nullable": true,
"description": "State or region."
},
"startDate": {
"type": "string",
"nullable": true,
"description": "Start date associated with this address (format as returned by the source)."
},
"endDate": {
"type": "string",
"nullable": true,
"description": "End date associated with this address (format as returned by the source)."
}
}
}
}
]
},
"permanentAddress": {
"description": "Permanent address of the candidate.",
"allOf": [
{
"StructuredAddress": {
"type": "object",
"description": "Structured postal address, including optional validity dates for that address.",
"properties": {
"addressLine1": {
"type": "string",
"nullable": true,
"description": "First line of the street address."
},
"addressLine2": {
"type": "string",
"nullable": true,
"description": "Second line of the street address."
},
"city": {
"type": "string",
"nullable": true,
"description": "City."
},
"zipCode": {
"type": "string",
"nullable": true,
"description": "Postal or ZIP code."
},
"country": {
"type": "string",
"nullable": true,
"description": "Country."
},
"state": {
"type": "string",
"nullable": true,
"description": "State or region."
},
"startDate": {
"type": "string",
"nullable": true,
"description": "Start date associated with this address (format as returned by the source)."
},
"endDate": {
"type": "string",
"nullable": true,
"description": "End date associated with this address (format as returned by the source)."
}
}
}
}
]
}
}
}
},
"additionalFields": {
"AdditionalFields": {
"type": "object",
"description": "An object representing additional fields related to employee information.",
"properties": {
"data": {
"type": "object",
"description": "An object containing additional data fields.",
"properties": {
"additionalFields": {
"type": "object",
"description": "An object containing specific additional fields.",
"properties": {}
}
}
},
"message": {
"type": "string",
"description": "A string representing a message or communication associated with the request or response."
},
"status": {
"type": "string",
"description": "A string representing the status of the request or response, indicating success, failure, or another state."
}
}
}
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| firstName | string | Candidate given name. |
| middleName | string | Candidate middle name. |
| lastName | string | Candidate family name. |
| gender | string | Gender or gender identity as stored for the candidate. |
| primaryEmailId | string | Primary email address used for onboarding communications. |
| secondaryEmailId | string | Secondary or alternate email address. |
| officialEmailId | string | Work or official email address when provided. |
| dateOfBirth | string | Date of birth as an ISO 8601 calendar date (YYYY-MM-DD). |
| joiningDate | string | Expected or planned joining date as an ISO 8601 calendar date (YYYY-MM-DD). |
| contacts | array | CandidateContact |
| identificationDetails | array | CandidateIdentification |
| education | array | CandidateEducation |
| experience | array | CandidateExperience |
| address | object | CandidateAddressBlock |
| additionalFields | object | AdditionalFields |
copied!{
"type": "object",
"description": "A single phone contact line, distinguished by type (for example primary vs secondary).",
"properties": {
"type": {
"type": "string",
"nullable": true,
"description": "Contact slot or role, such as primary or secondary."
},
"phoneNumber": {
"type": "string",
"nullable": true,
"description": "Local phone number without country prefix (when present)."
},
"countryCode": {
"type": "string",
"nullable": true,
"description": "Country or dialing code identifier for the number (format may be tenant-specific, e.g. IND_91)."
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| type | string | Contact slot or role, such as primary or secondary. |
| phoneNumber | string | Local phone number without country prefix (when present). |
| countryCode | string | Country or dialing code identifier for the number (format may be tenant-specific, e.g. IND_91). |
copied!{
"type": "object",
"description": "One identification document or credential record.",
"properties": {
"type": {
"type": "string",
"nullable": true,
"description": "Kind of identification (e.g. aadhaar, passport)."
},
"number": {
"type": "string",
"nullable": true,
"description": "Document or identification number."
},
"location": {
"type": "string",
"nullable": true,
"description": "Issuing location or jurisdiction, if applicable."
},
"issuedDate": {
"type": "string",
"nullable": true,
"description": "Issue date as returned by the source (empty string if unknown)."
},
"expiryDate": {
"type": "string",
"nullable": true,
"description": "Expiry date as returned by the source (empty string if unknown or not applicable)."
},
"status": {
"type": "string",
"nullable": true,
"description": "Verification or document status when provided."
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| type | string | Kind of identification (e.g. aadhaar, passport). |
| number | string | Document or identification number. |
| location | string | Issuing location or jurisdiction, if applicable. |
| issuedDate | string | Issue date as returned by the source (empty string if unknown). |
| expiryDate | string | Expiry date as returned by the source (empty string if unknown or not applicable). |
| status | string | Verification or document status when provided. |
copied!{
"type": "object",
"description": "A single education record.",
"properties": {
"degree": {
"type": "string",
"nullable": true,
"description": "Degree or qualification title."
},
"fieldOfStudy": {
"type": "string",
"nullable": true,
"description": "Major or field of study."
},
"schoolName": {
"type": "string",
"nullable": true,
"description": "School or institute name."
},
"schoolAndUniversity": {
"type": "string",
"nullable": true,
"description": "Combined campus, university, or location label when provided."
},
"startDate": {
"type": "string",
"nullable": true,
"description": "Program start date (format as returned by the source)."
},
"endDate": {
"type": "string",
"nullable": true,
"description": "Program end date (format as returned by the source)."
},
"isHighEducation": {
"type": "boolean",
"nullable": true,
"description": "Whether this entry is marked as the highest level of education."
},
"state": {
"type": "string",
"nullable": true,
"description": "State or region for the institution."
},
"country": {
"type": "string",
"nullable": true,
"description": "Country for the institution."
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| degree | string | Degree or qualification title. |
| fieldOfStudy | string | Major or field of study. |
| schoolName | string | School or institute name. |
| schoolAndUniversity | string | Combined campus, university, or location label when provided. |
| startDate | string | Program start date (format as returned by the source). |
| endDate | string | Program end date (format as returned by the source). |
| isHighEducation | boolean | Whether this entry is marked as the highest level of education. |
| state | string | State or region for the institution. |
| country | string | Country for the institution. |
copied!{
"type": "object",
"description": "A single employment history record.",
"properties": {
"company": {
"type": "string",
"nullable": true,
"description": "Employer or organization name."
},
"jobTitle": {
"type": "string",
"nullable": true,
"description": "Job title at the employer."
},
"role": {
"type": "string",
"nullable": true,
"description": "Role or function (may mirror job title)."
},
"jobLocation": {
"type": "string",
"nullable": true,
"description": "Work location for this role."
},
"isCurrent": {
"type": "string",
"nullable": true,
"description": "Whether this is the current employer (e.g. yes or no as stored in source data)."
},
"industry": {
"type": "string",
"nullable": true,
"description": "Industry sector when captured."
},
"startDate": {
"type": "string",
"nullable": true,
"description": "Employment start date (format as returned by the source)."
},
"endDate": {
"type": "string",
"nullable": true,
"description": "Employment end date (format as returned by the source); empty if current."
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| company | string | Employer or organization name. |
| jobTitle | string | Job title at the employer. |
| role | string | Role or function (may mirror job title). |
| jobLocation | string | Work location for this role. |
| isCurrent | string | Whether this is the current employer (e.g. yes or no as stored in source data). |
| industry | string | Industry sector when captured. |
| startDate | string | Employment start date (format as returned by the source). |
| endDate | string | Employment end date (format as returned by the source); empty if current. |
copied!{
"type": "object",
"description": "Structured postal address, including optional validity dates for that address.",
"properties": {
"addressLine1": {
"type": "string",
"nullable": true,
"description": "First line of the street address."
},
"addressLine2": {
"type": "string",
"nullable": true,
"description": "Second line of the street address."
},
"city": {
"type": "string",
"nullable": true,
"description": "City."
},
"zipCode": {
"type": "string",
"nullable": true,
"description": "Postal or ZIP code."
},
"country": {
"type": "string",
"nullable": true,
"description": "Country."
},
"state": {
"type": "string",
"nullable": true,
"description": "State or region."
},
"startDate": {
"type": "string",
"nullable": true,
"description": "Start date associated with this address (format as returned by the source)."
},
"endDate": {
"type": "string",
"nullable": true,
"description": "End date associated with this address (format as returned by the source)."
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| addressLine1 | string | First line of the street address. |
| addressLine2 | string | Second line of the street address. |
| city | string | City. |
| zipCode | string | Postal or ZIP code. |
| country | string | Country. |
| state | string | State or region. |
| startDate | string | Start date associated with this address (format as returned by the source). |
| endDate | string | End date associated with this address (format as returned by the source). |
copied!{
"type": "object",
"description": "Current and permanent address lines. Both keys are always present; each value is always a StructuredAddress (never null at this level).",
"properties": {
"currentAddress": {
"description": "Current address of the candidate.",
"allOf": [
{
"StructuredAddress": {
"type": "object",
"description": "Structured postal address, including optional validity dates for that address.",
"properties": {
"addressLine1": {
"type": "string",
"nullable": true,
"description": "First line of the street address."
},
"addressLine2": {
"type": "string",
"nullable": true,
"description": "Second line of the street address."
},
"city": {
"type": "string",
"nullable": true,
"description": "City."
},
"zipCode": {
"type": "string",
"nullable": true,
"description": "Postal or ZIP code."
},
"country": {
"type": "string",
"nullable": true,
"description": "Country."
},
"state": {
"type": "string",
"nullable": true,
"description": "State or region."
},
"startDate": {
"type": "string",
"nullable": true,
"description": "Start date associated with this address (format as returned by the source)."
},
"endDate": {
"type": "string",
"nullable": true,
"description": "End date associated with this address (format as returned by the source)."
}
}
}
}
]
},
"permanentAddress": {
"description": "Permanent address of the candidate.",
"allOf": [
{
"StructuredAddress": {
"type": "object",
"description": "Structured postal address, including optional validity dates for that address.",
"properties": {
"addressLine1": {
"type": "string",
"nullable": true,
"description": "First line of the street address."
},
"addressLine2": {
"type": "string",
"nullable": true,
"description": "Second line of the street address."
},
"city": {
"type": "string",
"nullable": true,
"description": "City."
},
"zipCode": {
"type": "string",
"nullable": true,
"description": "Postal or ZIP code."
},
"country": {
"type": "string",
"nullable": true,
"description": "Country."
},
"state": {
"type": "string",
"nullable": true,
"description": "State or region."
},
"startDate": {
"type": "string",
"nullable": true,
"description": "Start date associated with this address (format as returned by the source)."
},
"endDate": {
"type": "string",
"nullable": true,
"description": "End date associated with this address (format as returned by the source)."
}
}
}
}
]
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| 0 | object | StructuredAddress |
copied!{
"type": "object",
"description": "An object representing additional fields related to employee information.",
"properties": {
"data": {
"type": "object",
"description": "An object containing additional data fields.",
"properties": {
"additionalFields": {
"type": "object",
"description": "An object containing specific additional fields.",
"properties": {}
}
}
},
"message": {
"type": "string",
"description": "A string representing a message or communication associated with the request or response."
},
"status": {
"type": "string",
"description": "A string representing the status of the request or response, indicating success, failure, or another state."
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| data | object | An object containing additional data fields. |
| additionalFields | object | An object containing specific additional fields. |
| message | string | A string representing a message or communication associated with the request or response. |
| status | string | A string representing the status of the request or response, indicating success, failure, or another state. |
copied!{
"type": "object",
"description": "Job or requisition context: top-level fields for common attributes, plus additionalFields for ATS, recruiter or hiring-manager contacts, department, and other tenant-specific job metadata.",
"properties": {
"jobTitle": {
"type": "string",
"nullable": true,
"description": "Title of the job or requisition."
},
"jobId": {
"type": "string",
"nullable": true,
"description": "Internal or external job identifier."
},
"jobLocation": {
"type": "string",
"nullable": true,
"description": "Primary job location label or free text."
},
"jobCategory": {
"type": "string",
"nullable": true,
"description": "Category or family of the role."
},
"positionCode": {
"type": "string",
"nullable": true,
"description": "Position or requisition code when used by the tenant."
},
"positionTitle": {
"type": "string",
"nullable": true,
"description": "Position title as distinct from job title when both are maintained."
},
"department": {
"type": "string",
"nullable": true,
"description": "Hiring department or cost center name."
},
"additionalFields": {
"AdditionalFields": {
"type": "object",
"description": "An object representing additional fields related to employee information.",
"properties": {
"data": {
"type": "object",
"description": "An object containing additional data fields.",
"properties": {
"additionalFields": {
"type": "object",
"description": "An object containing specific additional fields.",
"properties": {}
}
}
},
"message": {
"type": "string",
"description": "A string representing a message or communication associated with the request or response."
},
"status": {
"type": "string",
"description": "A string representing the status of the request or response, indicating success, failure, or another state."
}
}
}
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| jobTitle | string | Title of the job or requisition. |
| jobId | string | Internal or external job identifier. |
| jobLocation | string | Primary job location label or free text. |
| jobCategory | string | Category or family of the role. |
| positionCode | string | Position or requisition code when used by the tenant. |
| positionTitle | string | Position title as distinct from job title when both are maintained. |
| department | string | Hiring department or cost center name. |
| additionalFields | object | AdditionalFields |
copied!{
"type": "object",
"properties": {
"from": {
"type": "integer",
"description": "Starting point from which the data should be retrieved."
},
"size": {
"type": "integer",
"description": "Size of the response."
},
"searchkeyword": {
"type": "string",
"description": "Searching entered keyword in candidate profile."
},
"filters": {
"type": "array",
"description": "Apply one or multiple filters(String, Boolean, Date, or Enum) of below types to refine results.",
"items": {
"oneOf": [
{
"StringFilter": {
"type": "object",
"properties": {
"values": {
"type": "array",
"items": {
"type": "string",
"description": "String representing the values of field."
}
},
"operator": {
"type": "string",
"enum": [
"Is",
"Is not",
"Contains",
"Does not contain",
"Starts with",
"Ends with"
],
"description": "Operator for filtering strings."
},
"field": {
"type": "string",
"enum": [
"firstName",
"currentCompany.jobTitle",
"skillList.value",
"trafficSourceList.sourceShortName",
"experience.jobLocation",
"experience.jobTitle",
"education.degree",
"highestEducation.degree",
"education.fieldOfStudy",
"preferredLocationList.location",
"newLocation.city",
"newLocation.country",
"emailList.email",
"languageKnown",
"lastName",
"newLocation.state",
"newLocation.zipCode"
],
"description": "Name of the data attribute to be filtered with values."
}
},
"required": [
"values",
"operator"
]
}
},
{
"BooleanFilter": {
"type": "object",
"properties": {
"value": {
"type": "boolean",
"description": "The boolean value to filter by."
},
"operator": {
"type": "string",
"enum": [
"True",
"False"
],
"description": "Operator for filtering booleans."
},
"field": {
"type": "string",
"enum": [
"internal"
],
"description": "Name of the data attribute to be filtered with values."
}
},
"required": [
"value",
"operator"
]
}
},
{
"DateFilter": {
"type": "object",
"properties": {
"values": {
"type": "array",
"items": {
"type": "string",
"format": "date",
"description": "String representing the values of date filter."
}
},
"operator": {
"type": "string",
"enum": [
"Equal to",
"Not equal to",
"Before",
"After",
"Between"
],
"description": "Operator for filtering dates."
},
"field": {
"type": "string",
"enum": [
"updatedDate",
"dateCreated"
],
"description": "Name of the data attribute to be filtered with values."
}
},
"required": [
"values",
"operator"
]
}
},
{
"EnumFilter": {
"type": "object",
"properties": {
"values": {
"type": "array",
"items": {
"type": "string",
"description": "String representing the values of field."
}
},
"operator": {
"type": "string",
"enum": [
"In",
"Not in"
],
"description": "Operator for filtering enums."
},
"field": {
"type": "string",
"enum": [
"applySources",
"language"
],
"description": "Name of the data attribute to be filtered with values."
}
},
"required": [
"values",
"operator"
]
}
}
]
}
},
"filtersOperator": {
"type": "string",
"enum": [
"AND",
"OR"
],
"description": "Search operator accepts \"AND\" / \"OR\"."
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| from | integer | Starting point from which the data should be retrieved. |
| size | integer | Size of the response. |
| searchkeyword | string | Searching entered keyword in candidate profile. |
| filters | array | Apply one or multiple filters(String, Boolean, Date, or Enum) of below types to refine results. |
| 0 | object | StringFilter |
| 1 | object | BooleanFilter |
| 2 | object | DateFilter |
| 3 | object | EnumFilter |
| filtersOperator | string | Search operator accepts "AND" / "OR". |
copied!{
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "Status returned by the API."
},
"data": {
"type": "array",
"description": "Candidate Search Response data.",
"items": {
"CandidateResponse": {
"type": "object",
"description": "An object representing candidate-related information.",
"properties": {
"currentjobTitle": {
"type": "string",
"description": "A string representing job title of the current company for a given individual."
},
"middleName": {
"type": "string",
"description": "The middle name of the candidate."
},
"candidateId": {
"type": "string",
"description": "Unique identifier for the user or candidate."
},
"firstName": {
"type": "string",
"description": "First name of the candidate."
},
"dateCreated": {
"type": "number",
"description": "A timestamp indicating the date and time when the candidate profile was created."
},
"updatedDate": {
"type": "number",
"description": "The date when the information was last updated."
},
"emailList": {
"type": "array",
"description": "An array representing an email list.",
"items": {
"Email": {
"type": "object",
"description": "An object representing email-related information.",
"properties": {
"email": {
"type": "string",
"description": "String representing the email address in the list."
},
"type": {
"type": "string",
"description": "String representing the type of email entry."
},
"status": {
"type": "string",
"description": "String representing the status of the email entry."
}
}
}
}
},
"contacts": {
"type": "array",
"description": "An array representing contact information for the individual.",
"items": {
"Contact": {
"type": "object",
"description": "An object representing contact-related information.",
"properties": {
"phoneNumber": {
"type": "string",
"description": "String representing the phone number in the contact entry."
},
"countryCode": {
"type": "string",
"description": "String representing the country code of the phone number."
},
"status": {
"type": "string",
"description": "String representing the status of the contact entry."
},
"type": {
"type": "string",
"description": "String representing the type of contact entry."
}
}
}
}
},
"lastName": {
"type": "string",
"description": "A string representing the last name of the individual."
},
"location": {
"type": "string",
"description": "A string representing the location detail of the individual."
},
"internal": {
"type": "boolean",
"description": "A boolean indicating whether the individual is internal to the organization."
}
}
}
}
},
"totalCount": {
"type": "integer",
"description": "Total number of candidates matching the search criteria."
},
"startIndex": {
"type": "integer",
"description": "Starting index of the returned candidates."
},
"paginationSize": {
"type": "integer",
"description": "The maximum number of candidates to be returned per page"
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| status | integer | Status returned by the API. |
| data | array | CandidateResponse |
| totalCount | integer | Total number of candidates matching the search criteria. |
| startIndex | integer | Starting index of the returned candidates. |
| paginationSize | integer | The maximum number of candidates to be returned per page |
copied!{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "integer",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| status | integer | HTTP status code indicating the error status. |
| message | string | Description or message providing details about the error. |
copied!{
"type": "object",
"properties": {
"values": {
"type": "array",
"items": {
"type": "string",
"description": "String representing the values of field."
}
},
"operator": {
"type": "string",
"enum": [
"Is",
"Is not",
"Contains",
"Does not contain",
"Starts with",
"Ends with"
],
"description": "Operator for filtering strings."
},
"field": {
"type": "string",
"enum": [
"firstName",
"currentCompany.jobTitle",
"skillList.value",
"trafficSourceList.sourceShortName",
"experience.jobLocation",
"experience.jobTitle",
"education.degree",
"highestEducation.degree",
"education.fieldOfStudy",
"preferredLocationList.location",
"newLocation.city",
"newLocation.country",
"emailList.email",
"languageKnown",
"lastName",
"newLocation.state",
"newLocation.zipCode"
],
"description": "Name of the data attribute to be filtered with values."
}
},
"required": [
"values",
"operator"
]
}Properties
| Name | Type | Description |
|---|---|---|
| values | [string] | String representing the values of field. |
| operator | string | Operator for filtering strings. |
| field | string | Name of the data attribute to be filtered with values. |
copied!{
"type": "object",
"properties": {
"values": {
"type": "array",
"items": {
"type": "string",
"format": "date",
"description": "String representing the values of date filter."
}
},
"operator": {
"type": "string",
"enum": [
"Equal to",
"Not equal to",
"Before",
"After",
"Between"
],
"description": "Operator for filtering dates."
},
"field": {
"type": "string",
"enum": [
"updatedDate",
"dateCreated"
],
"description": "Name of the data attribute to be filtered with values."
}
},
"required": [
"values",
"operator"
]
}Properties
| Name | Type | Description |
|---|---|---|
| values | [string] | String representing the values of date filter. |
| operator | string | Operator for filtering dates. |
| field | string | Name of the data attribute to be filtered with values. |
copied!{
"type": "object",
"properties": {
"values": {
"type": "array",
"items": {
"type": "string",
"description": "String representing the values of field."
}
},
"operator": {
"type": "string",
"enum": [
"In",
"Not in"
],
"description": "Operator for filtering enums."
},
"field": {
"type": "string",
"enum": [
"applySources",
"language"
],
"description": "Name of the data attribute to be filtered with values."
}
},
"required": [
"values",
"operator"
]
}Properties
| Name | Type | Description |
|---|---|---|
| values | [string] | String representing the values of field. |
| operator | string | Operator for filtering enums. |
| field | string | Name of the data attribute to be filtered with values. |
copied!{
"type": "object",
"properties": {
"value": {
"type": "boolean",
"description": "The boolean value to filter by."
},
"operator": {
"type": "string",
"enum": [
"True",
"False"
],
"description": "Operator for filtering booleans."
},
"field": {
"type": "string",
"enum": [
"internal"
],
"description": "Name of the data attribute to be filtered with values."
}
},
"required": [
"value",
"operator"
]
}Properties
| Name | Type | Description |
|---|---|---|
| value | boolean | The boolean value to filter by. |
| operator | string | Operator for filtering booleans. |
| field | string | Name of the data attribute to be filtered with values. |
copied!{
"type": "object",
"description": "An object representing candidate-related information.",
"properties": {
"currentjobTitle": {
"type": "string",
"description": "A string representing job title of the current company for a given individual."
},
"middleName": {
"type": "string",
"description": "The middle name of the candidate."
},
"candidateId": {
"type": "string",
"description": "Unique identifier for the user or candidate."
},
"firstName": {
"type": "string",
"description": "First name of the candidate."
},
"dateCreated": {
"type": "number",
"description": "A timestamp indicating the date and time when the candidate profile was created."
},
"updatedDate": {
"type": "number",
"description": "The date when the information was last updated."
},
"emailList": {
"type": "array",
"description": "An array representing an email list.",
"items": {
"Email": {
"type": "object",
"description": "An object representing email-related information.",
"properties": {
"email": {
"type": "string",
"description": "String representing the email address in the list."
},
"type": {
"type": "string",
"description": "String representing the type of email entry."
},
"status": {
"type": "string",
"description": "String representing the status of the email entry."
}
}
}
}
},
"contacts": {
"type": "array",
"description": "An array representing contact information for the individual.",
"items": {
"Contact": {
"type": "object",
"description": "An object representing contact-related information.",
"properties": {
"phoneNumber": {
"type": "string",
"description": "String representing the phone number in the contact entry."
},
"countryCode": {
"type": "string",
"description": "String representing the country code of the phone number."
},
"status": {
"type": "string",
"description": "String representing the status of the contact entry."
},
"type": {
"type": "string",
"description": "String representing the type of contact entry."
}
}
}
}
},
"lastName": {
"type": "string",
"description": "A string representing the last name of the individual."
},
"location": {
"type": "string",
"description": "A string representing the location detail of the individual."
},
"internal": {
"type": "boolean",
"description": "A boolean indicating whether the individual is internal to the organization."
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| currentjobTitle | string | A string representing job title of the current company for a given individual. |
| middleName | string | The middle name of the candidate. |
| candidateId | string | Unique identifier for the user or candidate. |
| firstName | string | First name of the candidate. |
| dateCreated | number | A timestamp indicating the date and time when the candidate profile was created. |
| updatedDate | number | The date when the information was last updated. |
| emailList | array | |
| contacts | array | Contact |
| lastName | string | A string representing the last name of the individual. |
| location | string | A string representing the location detail of the individual. |
| internal | boolean | A boolean indicating whether the individual is internal to the organization. |
copied!{
"type": "object",
"description": "An object representing email-related information.",
"properties": {
"email": {
"type": "string",
"description": "String representing the email address in the list."
},
"type": {
"type": "string",
"description": "String representing the type of email entry."
},
"status": {
"type": "string",
"description": "String representing the status of the email entry."
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| string | String representing the email address in the list. | |
| type | string | String representing the type of email entry. |
| status | string | String representing the status of the email entry. |
copied!{
"type": "object",
"description": "An object representing contact-related information.",
"properties": {
"phoneNumber": {
"type": "string",
"description": "String representing the phone number in the contact entry."
},
"countryCode": {
"type": "string",
"description": "String representing the country code of the phone number."
},
"status": {
"type": "string",
"description": "String representing the status of the contact entry."
},
"type": {
"type": "string",
"description": "String representing the type of contact entry."
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| phoneNumber | string | String representing the phone number in the contact entry. |
| countryCode | string | String representing the country code of the phone number. |
| status | string | String representing the status of the contact entry. |
| type | string | String representing the type of contact entry. |
copied!{
"type": "object",
"properties": {
"attachments": {
"type": "array",
"items": {
"allOf": [
{
"type": "object",
"properties": {
"attachmentId": {
"type": "string",
"description": "The MD5 checksum of the attachment to be deleted."
},
"resumeFileName": {
"type": "string",
"description": "The name of the attachment to be deleted."
},
"fieldId": {
"type": "string",
"description": "The ID of the attachment field to be deleted."
}
}
},
{
"anyOf": [
{
"required": [
"fieldId"
]
},
{
"required": [
"attachmentId"
]
},
{
"required": [
"resumeFileName"
]
}
]
}
],
"description": "Attachment object — at least one of fieldId, attachmentId, or resumeFileName is required."
},
"description": "Array of attachments to be deleted."
}
},
"description": "Schema defining the structure of the request body for deleting attachments."
}Properties
| Name | Type | Description |
|---|---|---|
| attachments | array | Array of attachments to be deleted. |
| 0 | object | |
| attachmentId | string | The MD5 checksum of the attachment to be deleted. |
| resumeFileName | string | The name of the attachment to be deleted. |
| fieldId | string | The ID of the attachment field to be deleted. |
copied!{
"type": "object",
"properties": {
"attachment": {
"type": "string",
"format": "binary",
"description": "File to be upload."
},
"isParsableResume": {
"type": "boolean",
"description": "Flag indicating whether the attachment is parsable."
}
},
"description": "Schema defining the structure of the request body for adding attachments."
}Properties
| Name | Type | Description |
|---|---|---|
| attachment | string | File to be upload. |
| isParsableResume | boolean | Flag indicating whether the attachment is parsable. |
copied!{
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "HTTP status code indicating the result of the operation."
},
"fileUrl": {
"type": "string",
"description": "URL pointing to the location of the file which is valid only for 5 minutes."
},
"message": {
"type": "string",
"description": "Description or message providing additional information about the result."
},
"fileName": {
"type": "string",
"description": "Name of the file associated with the operation."
},
"fileSize": {
"type": "integer",
"description": "The size of the file associated with the operation in KBs."
}
},
"required": [
"status",
"fileUrl",
"message",
"fileName",
"fileSize"
],
"description": "Schema defining the structure of the response body for presigned url."
}Properties
| Name | Type | Description |
|---|---|---|
| status | integer | HTTP status code indicating the result of the operation. |
| fileUrl | string | URL pointing to the location of the file which is valid only for 5 minutes. |
| message | string | Description or message providing additional information about the result. |
| fileName | string | Name of the file associated with the operation. |
| fileSize | integer | The size of the file associated with the operation in KBs. |
copied!{
"type": "object",
"description": "Object representing an error message.",
"properties": {
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| message | string | Description or message providing details about the error. |
copied!{
"type": "object",
"description": "Object representing an error message.",
"properties": {}
}Properties
| Name | Type |
|---|
copied!{
"type": "object",
"description": "Response object for updating candidate details.",
"properties": {
"status": {
"type": "integer",
"description": "HTTP status code indicating the response status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the response."
},
"literalId": {
"type": "string",
"description": "Unique identifier for providing details about the response."
},
"literalValues": {
"type": "object",
"description": "Unique values for providing details about the response."
},
"data": {
"type": "object",
"description": "Provides details about the response."
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| status | integer | HTTP status code indicating the response status. |
| message | string | Description or message providing details about the response. |
| literalId | string | Unique identifier for providing details about the response. |
| literalValues | object | Unique values for providing details about the response. |
| data | object | Provides details about the response. |
copied!{
"type": "object",
"description": "Response object for updating candidate details.",
"properties": {
"status": {
"type": "integer",
"description": "HTTP status code indicating the response status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the response."
},
"literalId": {
"type": "string",
"description": "Unique identifier for providing details about the response."
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| status | integer | HTTP status code indicating the response status. |
| message | string | Description or message providing details about the response. |
| literalId | string | Unique identifier for providing details about the response. |
copied!{
"type": "object",
"description": "Object representing attachments.",
"properties": {
"attachments": {
"type": "array",
"description": "Array of attachment items.",
"items": {
"type": "object",
"properties": {
"attachmentId": {
"type": "string",
"description": "Unique identifier for the attachment."
},
"resumeFileName": {
"type": "string",
"description": "Name of the attachment."
},
"attachmentType": {
"type": "string",
"description": "Type of the attachment."
},
"fieldID": {
"type": "string",
"description": "fieldId of the attachment."
}
}
}
},
"message": {
"type": "string",
"description": "Description or message providing details about the response."
},
"status": {
"type": "integer",
"description": "Status code of the response."
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| attachments | [object] | Array of attachment items. |
| attachmentId | string | Unique identifier for the attachment. |
| resumeFileName | string | Name of the attachment. |
| attachmentType | string | Type of the attachment. |
| fieldID | string | fieldId of the attachment. |
| message | string | Description or message providing details about the response. |
| status | integer | Status code of the response. |
copied!{
"type": "object",
"required": [
"firstName",
"lastName",
"profileSources"
],
"properties": {
"firstName": {
"type": "string",
"description": "The first name of the candidate."
},
"lastName": {
"type": "string",
"description": "The last name of the candidate."
},
"middleName": {
"type": "string",
"description": "The middle name of the candidate."
},
"linkedInProfileURL": {
"type": "string",
"description": "The LinkedIn profile URL of the candidate."
},
"internal": {
"type": "boolean",
"description": "Indicates whether the candidate is internal."
},
"profileSources": {
"type": "array",
"description": "Array of profile sources associated with the candidate.",
"items": {
"type": "string"
}
},
"languagePreference": {
"type": "string",
"description": "The language preference of the candidate."
},
"languageKnown": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of languages known by the candidate."
},
"createdDate": {
"type": "string",
"format": "date-time",
"description": "The date and time when the candidate was created in the ATS."
},
"updatedDate": {
"type": "string",
"format": "date-time",
"description": "The date and time when the candidate record was last updated in the ATS."
},
"emailList": {
"type": "array",
"description": "Array of email addresses associated with the candidate.",
"minItems": 1,
"items": {
"type": "object",
"description": "Email details for the candidate.",
"required": [
"email",
"type",
"status"
],
"properties": {
"email": {
"type": "string",
"description": "The email address of the candidate. (Example: xyz@gmail.com)"
},
"type": {
"type": "string",
"description": "The type of email (e.g., 'Primary' or 'Secondary')."
},
"status": {
"type": "string",
"description": "The status of the email (e.g., 'Primary' or 'Secondary').",
"enum": [
"Primary",
"Secondary"
]
}
}
}
},
"contacts": {
"type": "array",
"description": "Array of contact details associated with the candidate.",
"minItems": 1,
"items": {
"type": "object",
"description": "Contact details for the candidate.",
"required": [
"type",
"phoneNumber",
"status",
"countryCode"
],
"properties": {
"type": {
"type": "string",
"description": "The type of contact (e.g., 'Primary' or 'Secondary')."
},
"phoneNumber": {
"type": "string",
"description": "The phone number of the contact."
},
"status": {
"type": "string",
"description": "The status of the contact (e.g., 'Primary' or 'Secondary').",
"enum": [
"Primary",
"Secondary"
]
},
"countryCode": {
"type": "string",
"description": "The country code associated with the contact."
}
}
}
},
"atsId": {
"type": "string",
"description": "The ATS (Applicant Tracking System) identifier associated with the candidate."
},
"employeeId": {
"type": "string",
"description": "The employee identifier associated with the candidate."
}
},
"anyOf": [
{
"required": [
"emailList"
]
},
{
"required": [
"contacts"
]
},
{
"required": [
"linkedInProfileURL"
]
},
{
"required": [
"employeeId"
]
}
],
"description": "Schema defining the structure of the request body for creating a candidate profile.<br/><br/><b>Validation Rules:</b><ul><li><code>firstName</code>, <code>lastName</code>, and <code>profileSources</code> are always mandatory.</li><li>You must also provide <b>at least one</b> of the following: <code>emailList</code>, <code>contacts</code>, <code>linkedInProfileURL</code>, or <code>employeeId</code>.</li></ul>"
}Properties
| Name | Type | Description |
|---|---|---|
| firstName | string | The first name of the candidate. |
| lastName | string | The last name of the candidate. |
| middleName | string | The middle name of the candidate. |
| linkedInProfileURL | string | The LinkedIn profile URL of the candidate. |
| internal | boolean | Indicates whether the candidate is internal. |
| profileSources | [string] | Array of profile sources associated with the candidate. |
| languagePreference | string | The language preference of the candidate. |
| languageKnown | [string] | Array of languages known by the candidate. |
| createdDate | string | The date and time when the candidate was created in the ATS. |
| updatedDate | string | The date and time when the candidate record was last updated in the ATS. |
| emailList | [object] | Array of email addresses associated with the candidate. |
| string | The email address of the candidate. (Example: xyz@gmail.com) | |
| type | string | The type of email (e.g., 'Primary' or 'Secondary'). |
| status | string | The status of the email (e.g., 'Primary' or 'Secondary'). |
| contacts | [object] | Array of contact details associated with the candidate. |
| type | string | The type of contact (e.g., 'Primary' or 'Secondary'). |
| phoneNumber | string | The phone number of the contact. |
| status | string | The status of the contact (e.g., 'Primary' or 'Secondary'). |
| countryCode | string | The country code associated with the contact. |
| atsId | string | The ATS (Applicant Tracking System) identifier associated with the candidate. |
| employeeId | string | The employee identifier associated with the candidate. |
copied!{
"type": "object",
"properties": {
"firstName": {
"type": "string",
"description": "The first name of the candidate."
},
"lastName": {
"type": "string",
"description": "The last name of the candidate."
},
"middleName": {
"type": "string",
"description": "The middle name of the candidate."
},
"emailList": {
"type": "array",
"items": {
"type": "object",
"properties": {
"email": {
"type": "string",
"description": "The email address of the candidate."
},
"type": {
"type": "string",
"description": "The type of email (e.g., 'Primary' or 'Secondary')."
},
"status": {
"type": "string",
"description": "The status of the email (e.g., 'Primary' or 'Secondary')."
}
}
},
"description": "Array of email addresses associated with the candidate."
},
"contacts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "The type of contact (e.g., 'Primary' or 'Secondary')."
},
"phoneNumber": {
"type": "string",
"description": "The phone number of the contact."
},
"status": {
"type": "string",
"description": "The status of the contact (e.g., 'Primary' or 'Secondary')."
},
"countryCode": {
"type": "string",
"description": "The country code associated with the contact."
}
}
},
"description": "Array of contact details associated with the candidate."
},
"linkedInProfileURL": {
"type": "string",
"description": "The LinkedIn profile URL of the candidate."
},
"atsId": {
"type": "string",
"description": "The ATS (Applicant Tracking System) identifier associated with the candidate."
},
"employeeId": {
"type": "string",
"description": "The employee identifier associated with the candidate."
},
"internal": {
"type": "boolean",
"description": "Indicates whether the candidate is internal."
},
"profileSources": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of profile sources associated with the candidate."
},
"createdDate": {
"type": "string",
"description": "The date and time when the candidate was created in the ATS."
},
"updatedDate": {
"type": "string",
"description": "The date and time when the candidate record was last updated in the ATS."
},
"languagePreference": {
"type": "string",
"description": "The language preference of the candidate."
},
"languageKnown": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of languages known by the candidate."
},
"gender": {
"type": "string",
"description": "The gender of the candidate."
},
"designation": {
"type": "string",
"description": "The designation or job title of the candidate."
},
"race": {
"type": "string",
"description": "The race or ethnicity of the candidate."
},
"veteran": {
"type": "string",
"description": "Indicates whether the candidate is a veteran."
},
"disability": {
"type": "string",
"description": "The disability status of the candidate."
},
"ethnicity": {
"type": "string",
"description": "The ethnicity of the candidate."
}
},
"description": "Schema defining the structure of the request body for updating a candidate profile."
}Properties
| Name | Type | Description |
|---|---|---|
| firstName | string | The first name of the candidate. |
| lastName | string | The last name of the candidate. |
| middleName | string | The middle name of the candidate. |
| emailList | [object] | Array of email addresses associated with the candidate. |
| string | The email address of the candidate. | |
| type | string | The type of email (e.g., 'Primary' or 'Secondary'). |
| status | string | The status of the email (e.g., 'Primary' or 'Secondary'). |
| contacts | [object] | Array of contact details associated with the candidate. |
| type | string | The type of contact (e.g., 'Primary' or 'Secondary'). |
| phoneNumber | string | The phone number of the contact. |
| status | string | The status of the contact (e.g., 'Primary' or 'Secondary'). |
| countryCode | string | The country code associated with the contact. |
| linkedInProfileURL | string | The LinkedIn profile URL of the candidate. |
| atsId | string | The ATS (Applicant Tracking System) identifier associated with the candidate. |
| employeeId | string | The employee identifier associated with the candidate. |
| internal | boolean | Indicates whether the candidate is internal. |
| profileSources | [string] | Array of profile sources associated with the candidate. |
| createdDate | string | The date and time when the candidate was created in the ATS. |
| updatedDate | string | The date and time when the candidate record was last updated in the ATS. |
| languagePreference | string | The language preference of the candidate. |
| languageKnown | [string] | Array of languages known by the candidate. |
| gender | string | The gender of the candidate. |
| designation | string | The designation or job title of the candidate. |
| race | string | The race or ethnicity of the candidate. |
| veteran | string | Indicates whether the candidate is a veteran. |
| disability | string | The disability status of the candidate. |
| ethnicity | string | The ethnicity of the candidate. |
copied!{
"type": "object",
"properties": {
"action": {
"type": "string",
"description": "Indicates modifying or replacing existing resource.Accepted values are replace and merge"
},
"experience": {
"type": "array",
"items": {
"type": "object",
"properties": {
"company": {
"type": "string",
"description": "The name of the company where the candidate gained experience."
},
"isCurrent": {
"type": "boolean",
"description": "Indicates whether the candidate is currently employed in this position."
},
"jobTitle": {
"type": "string",
"description": "The job title or position held by the candidate."
},
"jobSummary": {
"type": "string",
"description": "A summary or description of the candidate's job responsibilities."
},
"startMonth": {
"type": "integer",
"description": "The starting month of the candidate's employment."
},
"startYear": {
"type": "integer",
"description": "The starting year of the candidate's employment."
},
"endMonth": {
"type": "integer",
"description": "The ending month of the candidate's employment, if applicable."
},
"endYear": {
"type": "integer",
"description": "The ending year of the candidate's employment, if applicable."
},
"industry": {
"type": "string",
"description": "The industry or sector associated with the candidate's experience."
},
"type": {
"type": "string",
"description": "The type of experience (e.g., 'Full-time', 'Part-time')."
},
"designation": {
"type": "string",
"description": "The designation or role associated with the candidate's experience."
},
"role": {
"type": "string",
"description": "The specific role or function performed by the candidate."
},
"jobLocation": {
"type": "string",
"description": "The location of the job or work associated with the experience."
},
"country": {
"type": "string",
"description": "The country where the candidate gained experience."
},
"state": {
"type": "string",
"description": "The state or region where the candidate gained experience."
},
"city": {
"type": "string",
"description": "The city where the candidate gained experience."
}
}
},
"description": "Array of experiences to be added or updated for the candidate."
}
},
"description": "Schema defining the structure of the request body for adding or updating candidate experiences."
}Properties
| Name | Type | Description |
|---|---|---|
| action | string | Indicates modifying or replacing existing resource.Accepted values are replace and merge |
| experience | [object] | Array of experiences to be added or updated for the candidate. |
| company | string | The name of the company where the candidate gained experience. |
| isCurrent | boolean | Indicates whether the candidate is currently employed in this position. |
| jobTitle | string | The job title or position held by the candidate. |
| jobSummary | string | A summary or description of the candidate's job responsibilities. |
| startMonth | integer | The starting month of the candidate's employment. |
| startYear | integer | The starting year of the candidate's employment. |
| endMonth | integer | The ending month of the candidate's employment, if applicable. |
| endYear | integer | The ending year of the candidate's employment, if applicable. |
| industry | string | The industry or sector associated with the candidate's experience. |
| type | string | The type of experience (e.g., 'Full-time', 'Part-time'). |
| designation | string | The designation or role associated with the candidate's experience. |
| role | string | The specific role or function performed by the candidate. |
| jobLocation | string | The location of the job or work associated with the experience. |
| country | string | The country where the candidate gained experience. |
| state | string | The state or region where the candidate gained experience. |
| city | string | The city where the candidate gained experience. |
copied!{
"type": "object",
"properties": {
"action": {
"type": "string",
"description": "Indicates modifying or replacing of existing resource.Accepted values are replace and merge"
},
"education": {
"type": "array",
"description": "List of education details to be added or updated for the candidate.",
"items": {
"type": "object",
"properties": {
"degree": {
"type": "string",
"description": "Degree or qualification obtained in the education."
},
"fieldOfStudy": {
"type": "string",
"description": "Field of study or major in the education."
},
"schoolName": {
"type": "string",
"description": "Name of the educational institution or school."
},
"startMonth": {
"type": "integer",
"description": "Start month of the education (numeric value)."
},
"startYear": {
"type": "integer",
"description": "Start year of the education (numeric value)."
},
"endMonth": {
"type": "integer",
"description": "End month of the education (numeric value)."
},
"endYear": {
"type": "integer",
"description": "End year of the education (numeric value)."
},
"isHighEducation": {
"type": "boolean",
"description": "Boolean indicating whether the education is a high education level."
},
"city": {
"type": "string",
"description": "City where the educational institution is located."
},
"state": {
"type": "string",
"description": "State or region where the educational institution is located."
},
"country": {
"type": "string",
"description": "Country where the educational institution is located."
},
"universityName": {
"type": "string",
"description": "Name of the university associated with the education."
}
}
}
}
},
"description": "Schema defining the structure of the request body for adding or updating education details for a candidate."
}Properties
| Name | Type | Description |
|---|---|---|
| action | string | Indicates modifying or replacing of existing resource.Accepted values are replace and merge |
| education | [object] | List of education details to be added or updated for the candidate. |
| degree | string | Degree or qualification obtained in the education. |
| fieldOfStudy | string | Field of study or major in the education. |
| schoolName | string | Name of the educational institution or school. |
| startMonth | integer | Start month of the education (numeric value). |
| startYear | integer | Start year of the education (numeric value). |
| endMonth | integer | End month of the education (numeric value). |
| endYear | integer | End year of the education (numeric value). |
| isHighEducation | boolean | Boolean indicating whether the education is a high education level. |
| city | string | City where the educational institution is located. |
| state | string | State or region where the educational institution is located. |
| country | string | Country where the educational institution is located. |
| universityName | string | Name of the university associated with the education. |
copied!{
"type": "object",
"properties": {
"action": {
"type": "string",
"description": "Indicates modifying or replacing of existing resource.Accepted values are replace and merge"
},
"skillList": {
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"type": "string",
"description": "The skill value or name to be added to the candidate's skill list."
}
}
},
"description": "Array of skills to be added to the candidate's skill list."
}
},
"description": "Schema defining the structure of the request body for adding skills to a candidate."
}Properties
| Name | Type | Description |
|---|---|---|
| action | string | Indicates modifying or replacing of existing resource.Accepted values are replace and merge |
| skillList | [object] | Array of skills to be added to the candidate's skill list. |
| value | string | The skill value or name to be added to the candidate's skill list. |
copied!{
"type": "object",
"properties": {
"action": {
"type": "string",
"description": "Indicates modifying or replacing of existing resource.Accepted values are replace and merge"
},
"awards": {
"type": "array",
"description": "List of awards to be updated or added to the candidate's profile.",
"items": {
"type": "object",
"properties": {
"awardedOn": {
"type": "object",
"description": "Date when the award was received.",
"properties": {
"year": {
"type": "integer",
"description": "The year when the award was issued."
},
"month": {
"type": "integer",
"description": "The month when the award was issued."
}
}
},
"title": {
"type": "string",
"description": "Title of the award."
},
"description": {
"type": "string",
"description": "Description or details of the award."
}
}
}
}
},
"description": "Schema defining the structure of the request body for updating or adding awards to a candidate's profile."
}Properties
| Name | Type | Description |
|---|---|---|
| action | string | Indicates modifying or replacing of existing resource.Accepted values are replace and merge |
| awards | [object] | List of awards to be updated or added to the candidate's profile. |
| awardedOn | object | Date when the award was received. |
| year | integer | The year when the award was issued. |
| month | integer | The month when the award was issued. |
| title | string | Title of the award. |
| description | string | Description or details of the award. |
copied!{
"type": "object",
"title": "UpdatePreferredLocationRequest",
"properties": {
"action": {
"type": "string",
"description": "Action to perform on the preferred locations. Valid values: 'add', 'remove', 'replace'."
},
"preferredLocationList": {
"type": "array",
"description": "List of preferred locations to be added, removed, or replaced.",
"items": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "Name or identifier of the preferred location."
},
"latLong": {
"type": "string",
"description": "Latitude and longitude coordinates of the preferred location."
},
"city": {
"type": "string",
"description": "City of the preferred location."
},
"state": {
"type": "string",
"description": "State or region of the preferred location."
},
"country": {
"type": "string",
"description": "Country of the preferred location."
},
"zipCode": {
"type": "string",
"description": "ZIP code of the preferred location."
}
}
}
}
},
"description": "Schema defining the structure of the request body for updating preferred locations on a candidate's profile."
}Properties
| Name | Type | Description |
|---|---|---|
| action | string | Action to perform on the preferred locations. Valid values: 'add', 'remove', 'replace'. |
| preferredLocationList | [object] | List of preferred locations to be added, removed, or replaced. |
| location | string | Name or identifier of the preferred location. |
| latLong | string | Latitude and longitude coordinates of the preferred location. |
| city | string | City of the preferred location. |
| state | string | State or region of the preferred location. |
| country | string | Country of the preferred location. |
| zipCode | string | ZIP code of the preferred location. |
copied!{
"type": "object",
"properties": {
"action": {
"type": "string",
"description": "Indicates modifying or replacing of existing resource.Accepted values are replace and merge"
},
"certifications": {
"type": "array",
"description": "List of certifications to be updated or added to the candidate's profile.",
"items": {
"type": "object",
"properties": {
"certificationNumber": {
"type": "string",
"description": "Unique identifier or number associated with the certification."
},
"name": {
"type": "string",
"description": "Name or title of the certification."
},
"institute": {
"type": "string",
"description": "Institute or organization that issued the certification."
},
"description": {
"type": "string",
"description": "Description or details of the certification."
},
"state": {
"type": "string",
"description": "State or location where the certification was issued."
},
"issuedDate": {
"type": "object",
"description": "Date when the certification was issued.",
"properties": {
"year": {
"type": "integer",
"description": "The year when the certification was issued."
},
"month": {
"type": "integer",
"description": "The month when the certification was issued."
}
}
},
"expiryDate": {
"type": "object",
"description": "Date when the certification is set to expire.",
"properties": {
"year": {
"type": "integer",
"description": "The year when the certification is set to expire.."
},
"month": {
"type": "integer",
"description": "The month when the certification is set to expire.."
}
}
}
}
}
}
},
"description": "Schema defining the structure of the request body for updating or adding certifications to a candidate's profile."
}Properties
| Name | Type | Description |
|---|---|---|
| action | string | Indicates modifying or replacing of existing resource.Accepted values are replace and merge |
| certifications | [object] | List of certifications to be updated or added to the candidate's profile. |
| certificationNumber | string | Unique identifier or number associated with the certification. |
| name | string | Name or title of the certification. |
| institute | string | Institute or organization that issued the certification. |
| description | string | Description or details of the certification. |
| state | string | State or location where the certification was issued. |
| issuedDate | object | Date when the certification was issued. |
| year | integer | The year when the certification was issued. |
| month | integer | The month when the certification was issued. |
| expiryDate | object | Date when the certification is set to expire. |
| year | integer | The year when the certification is set to expire.. |
| month | integer | The month when the certification is set to expire.. |
copied!{
"type": "object",
"properties": {
"action": {
"type": "string",
"description": "Indicates modifying or replacing of existing resource.Accepted values are replace and merge"
},
"addressLogs": {
"type": "array",
"description": "List of address logs to be updated for the candidate.",
"items": {
"type": "object",
"properties": {
"addressLines": {
"type": "array",
"description": "Address line of the address.",
"items": {
"type": "string"
}
},
"city": {
"type": "string",
"description": "City of the address."
},
"state": {
"type": "string",
"description": "State or region of the address."
},
"country": {
"type": "string",
"description": "Country of the address."
},
"location": {
"type": "string",
"description": "General location information (e.g., city center, suburban)."
},
"latLong": {
"type": "string",
"description": "Latitude and longitude coordinates of the address."
},
"zipCode": {
"type": "string",
"description": "Postal or ZIP code of the address."
}
}
}
}
},
"description": "Schema defining the structure of the request body for updating address information for a candidate."
}Properties
| Name | Type | Description |
|---|---|---|
| action | string | Indicates modifying or replacing of existing resource.Accepted values are replace and merge |
| addressLogs | [object] | List of address logs to be updated for the candidate. |
| addressLines | [string] | Address line of the address. |
| city | string | City of the address. |
| state | string | State or region of the address. |
| country | string | Country of the address. |
| location | string | General location information (e.g., city center, suburban). |
| latLong | string | Latitude and longitude coordinates of the address. |
| zipCode | string | Postal or ZIP code of the address. |
copied!{
"type": "object",
"description": "Schema defining the structure of the request body for updating additional fields for a candidate.",
"properties": {
"additionalFields": {
"type": "object",
"description": "Object containing additional fields to be updated for the candidate.",
"properties": {}
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| additionalFields | object | Object containing additional fields to be updated for the candidate. |
copied!{
"type": "object",
"description": "Schema defining the structure of the request body for updating recommendations for a candidate.",
"properties": {
"recommendations": {
"type": "array",
"description": "List of recommendation objects.",
"items": {
"type": "object",
"description": "Object representing an individual recommendation.",
"properties": {
"recommendationText": {
"type": "string",
"description": "Text of the recommendation."
},
"relation": {
"type": "string",
"description": "Relationship or association with the candidate."
}
}
}
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| recommendations | [object] | List of recommendation objects. |
| recommendationText | string | Text of the recommendation. |
| relation | string | Relationship or association with the candidate. |
copied!{
"type": "object",
"description": "Schema defining the structure of the experience data for a candidate.",
"properties": {
"data": {
"type": "object",
"description": "Object containing experience-related data.",
"properties": {
"experiences": {
"type": "array",
"description": "List of experience objects.",
"items": {
"type": "object",
"description": "Object representing an individual experience.",
"properties": {
"company": {
"type": "string",
"description": "A string representing the name of the company."
},
"jobTitle": {
"type": "string",
"description": "A string representing the job title."
},
"industry": {
"type": "string",
"description": "A string representing the industry associated with the experience."
},
"role": {
"type": "string",
"description": "A string representing the role in the experience."
},
"jobLocation": {
"type": "string",
"description": "A string representing the location of the job."
},
"startDate": {
"type": "number",
"description": "A number representing the start date of the experience."
},
"endDate": {
"type": "number",
"description": "A number representing the end date of the experience."
},
"isCurrent": {
"type": "boolean",
"description": "A boolean indicating whether the experience is current."
},
"companyUrl": {
"type": "string",
"description": "A string representing the URL of the company."
},
"jobSummary": {
"type": "string",
"description": "A string representing a summary of the job experience."
}
}
}
}
}
},
"message": {
"type": "string",
"description": "Message or additional information related to the experience data."
},
"status": {
"type": "string",
"description": "Status of the experience data, indicating success or failure."
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| data | object | Object containing experience-related data. |
| experiences | [object] | List of experience objects. |
| company | string | A string representing the name of the company. |
| jobTitle | string | A string representing the job title. |
| industry | string | A string representing the industry associated with the experience. |
| role | string | A string representing the role in the experience. |
| jobLocation | string | A string representing the location of the job. |
| startDate | number | A number representing the start date of the experience. |
| endDate | number | A number representing the end date of the experience. |
| isCurrent | boolean | A boolean indicating whether the experience is current. |
| companyUrl | string | A string representing the URL of the company. |
| jobSummary | string | A string representing a summary of the job experience. |
| message | string | Message or additional information related to the experience data. |
| status | string | Status of the experience data, indicating success or failure. |
copied!{
"type": "object",
"description": "Object representing an error response.",
"properties": {
"status": {
"type": "integer",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
},
"data": {
"type": "object",
"description": "Object providing information supplementing the error response."
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| status | integer | HTTP status code indicating the error status. |
| message | string | Description or message providing details about the error. |
| data | object | Object providing information supplementing the error response. |
copied!{
"type": "object",
"description": "Failed to create candidate as there is profile exists with given identifiers.",
"properties": {
"status": {
"type": "integer",
"description": "HTTP status code indicating the error status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the error."
},
"data": {
"type": "object",
"description": "Object providing information supplementing the error response.",
"properties": {
"candidateId": {
"type": "string",
"description": "A string representing the existing candidate ID."
},
"matchingIdentifierField": {
"type": "string",
"description": "A string representing the matching identifier field."
},
"matchingIdentifierValue": {
"type": "string",
"description": "A string representing the matching value."
}
}
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| status | integer | HTTP status code indicating the error status. |
| message | string | Description or message providing details about the error. |
| data | object | Object providing information supplementing the error response. |
| candidateId | string | A string representing the existing candidate ID. |
| matchingIdentifierField | string | A string representing the matching identifier field. |
| matchingIdentifierValue | string | A string representing the matching value. |
copied!{
"type": "object",
"description": "Response object for updating candidate details.",
"properties": {
"status": {
"type": "string",
"description": "HTTP status code indicating the response status."
},
"message": {
"type": "string",
"description": "Description or message providing details about the response."
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| status | string | HTTP status code indicating the response status. |
| message | string | Description or message providing details about the response. |
copied!{
"type": "object",
"description": "Object representing education details.",
"properties": {
"data": {
"type": "object",
"description": "Object containing education data.",
"properties": {
"educations": {
"type": "array",
"description": "Array of education items.",
"items": {
"type": "object",
"properties": {
"degree": {
"type": "string",
"description": "The degree obtained by the candidate in their educational background."
},
"fieldOfStudy": {
"type": "string",
"description": "The field of study or major in the candidate's educational background."
},
"schoolName": {
"type": "string",
"description": "The name of the school associated with the candidate's educational background."
},
"schoolAndUniversity": {
"type": "string",
"description": "Combined name of the school and university associated with the candidate's educational background."
},
"state": {
"type": "string",
"description": "The state where the educational institution is located."
},
"country": {
"type": "string",
"description": "The country where the educational institution is located."
},
"startDate": {
"type": "number",
"description": "The start date of the educational program."
},
"endDate": {
"type": "number",
"description": "The end date of the educational program."
},
"isHighEducation": {
"type": "boolean",
"description": "Boolean indicating whether the education is considered high education or not."
}
}
}
}
}
},
"message": {
"type": "string",
"description": "Description or message providing details about the response."
},
"status": {
"type": "string",
"description": "Status of the response."
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| data | object | Object containing education data. |
| educations | [object] | Array of education items. |
| degree | string | The degree obtained by the candidate in their educational background. |
| fieldOfStudy | string | The field of study or major in the candidate's educational background. |
| schoolName | string | The name of the school associated with the candidate's educational background. |
| schoolAndUniversity | string | Combined name of the school and university associated with the candidate's educational background. |
| state | string | The state where the educational institution is located. |
| country | string | The country where the educational institution is located. |
| startDate | number | The start date of the educational program. |
| endDate | number | The end date of the educational program. |
| isHighEducation | boolean | Boolean indicating whether the education is considered high education or not. |
| message | string | Description or message providing details about the response. |
| status | string | Status of the response. |
copied!{
"type": "object",
"description": "Object representing skills.",
"properties": {
"data": {
"type": "object",
"description": "Object containing skills data.",
"properties": {
"skills": {
"type": "array",
"description": "Array of skill items.",
"items": {
"type": "object",
"properties": {
"value": {
"type": "string",
"description": "The skill value."
}
}
}
}
}
},
"message": {
"type": "string",
"description": "Description or message providing details about the response."
},
"status": {
"type": "string",
"description": "Status of the response."
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| data | object | Object containing skills data. |
| skills | [object] | Array of skill items. |
| value | string | The skill value. |
| message | string | Description or message providing details about the response. |
| status | string | Status of the response. |
copied!{
"type": "object",
"description": "Object representing awards.",
"properties": {
"data": {
"type": "object",
"description": "Object containing awards data.",
"properties": {
"awards": {
"type": "array",
"description": "Array of award items.",
"items": {
"type": "object",
"properties": {
"description": {
"type": "string",
"description": "Description of the award."
},
"title": {
"type": "string",
"description": "Title of the award."
},
"awardedOn": {
"type": "object",
"description": "Object representing the date when the award was awarded.",
"properties": {
"year": {
"type": "number",
"description": "Year of the award."
},
"month": {
"type": "number",
"description": "Month of the award."
},
"day": {
"type": "number",
"description": "Day of the award."
}
}
}
}
}
}
}
},
"message": {
"type": "string",
"description": "Description or message providing details about the response."
},
"status": {
"type": "string",
"description": "Status of the response."
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| data | object | Object containing awards data. |
| awards | [object] | Array of award items. |
| description | string | Description of the award. |
| title | string | Title of the award. |
| awardedOn | object | Object representing the date when the award was awarded. |
| year | number | Year of the award. |
| month | number | Month of the award. |
| day | number | Day of the award. |
| message | string | Description or message providing details about the response. |
| status | string | Status of the response. |
copied!{
"type": "object",
"description": "Object representing certifications.",
"properties": {
"data": {
"type": "object",
"description": "Object containing certifications data.",
"properties": {
"certifications": {
"type": "array",
"description": "Array of certification items.",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the certification."
},
"certificationNumber": {
"type": "string",
"description": "The unique certification number."
},
"institute": {
"type": "string",
"description": "The institution or organization that issued the certification."
},
"startDate": {
"type": "number",
"description": "The numeric representation of the certification start date."
},
"issuedDate": {
"type": "object",
"properties": {
"year": {
"type": "number",
"description": "The year when the certification was issued."
},
"month": {
"type": "number",
"description": "The month when the certification was issued."
},
"day": {
"type": "number",
"description": "The day when the certification was issued."
}
},
"description": "The date when the certification was officially issued."
},
"expiryDate": {
"type": "object",
"properties": {
"year": {
"type": "number",
"description": "The year when the certification expires."
},
"month": {
"type": "number",
"description": "The month when the certification expires."
},
"day": {
"type": "number",
"description": "The day when the certification expires."
}
},
"description": "The date when the certification expires."
}
}
}
}
}
},
"message": {
"type": "string",
"description": "Description or message providing details about the response."
},
"status": {
"type": "string",
"description": "Status of the response."
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| data | object | Object containing certifications data. |
| certifications | [object] | Array of certification items. |
| name | string | The name of the certification. |
| certificationNumber | string | The unique certification number. |
| institute | string | The institution or organization that issued the certification. |
| startDate | number | The numeric representation of the certification start date. |
| issuedDate | object | The date when the certification was officially issued. |
| year | number | The year when the certification was issued. |
| month | number | The month when the certification was issued. |
| day | number | The day when the certification was issued. |
| expiryDate | object | The date when the certification expires. |
| year | number | The year when the certification expires. |
| month | number | The month when the certification expires. |
| day | number | The day when the certification expires. |
| message | string | Description or message providing details about the response. |
| status | string | Status of the response. |
copied!{
"type": "object",
"description": "Object representing recommendations.",
"properties": {
"data": {
"type": "object",
"description": "Object containing recommendations data.",
"properties": {
"recommendations": {
"type": "array",
"description": "Array of recommendation items.",
"items": {
"type": "object",
"properties": {
"firstName": {
"type": "string",
"description": "First name of the person providing the recommendation."
},
"lastName": {
"type": "string",
"description": "Last name of the person providing the recommendation."
},
"text": {
"type": "string",
"description": "Text or content of the recommendation."
},
"type": {
"type": "string",
"description": "Type or category of the recommendation."
},
"relation": {
"type": "string",
"description": "Relationship of the person providing the recommendation to the candidate."
}
}
}
}
}
},
"message": {
"type": "string",
"description": "Description or message providing details about the response."
},
"status": {
"type": "string",
"description": "Status of the response."
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| data | object | Object containing recommendations data. |
| recommendations | [object] | Array of recommendation items. |
| firstName | string | First name of the person providing the recommendation. |
| lastName | string | Last name of the person providing the recommendation. |
| text | string | Text or content of the recommendation. |
| type | string | Type or category of the recommendation. |
| relation | string | Relationship of the person providing the recommendation to the candidate. |
| message | string | Description or message providing details about the response. |
| status | string | Status of the response. |
copied!{
"type": "object",
"description": "An object representing candidate-related information.",
"properties": {
"data": {
"type": "object",
"description": "An object containing candidate data.",
"properties": {
"middleName": {
"type": "string",
"description": "The middle name of the candidate."
},
"candidateId": {
"type": "string",
"description": "Unique identifier for the user or candidate."
},
"employeeId": {
"type": "string",
"description": "Employee profile ID associated with the candidate."
},
"linkedInProfileURL": {
"type": "string",
"description": "URL to the candidate's LinkedIn profile."
},
"firstName": {
"type": "string",
"description": "First name of the candidate."
},
"company": {
"type": "string",
"description": "The name of the company associated with the candidate."
},
"createdDate": {
"type": "number",
"description": "Timestamp indicating when the profile was created."
},
"updatedDate": {
"type": "number",
"description": "The date when the information was last updated."
},
"emailList": {
"type": "array",
"description": "An array representing an email list.",
"items": {
"EmailDetail": {
"type": "object",
"description": "An object representing details of an email entry.",
"properties": {
"email": {
"type": "string",
"description": "The email address."
},
"type": {
"type": "string",
"description": "The type of email entry."
},
"status": {
"type": "string",
"description": "The status of the email entry."
}
}
}
}
},
"contacts": {
"type": "array",
"description": "An array representing contact information.",
"items": {
"ContactDetail": {
"type": "object",
"description": "An object containing details of a contact entry.",
"properties": {
"phoneNumber": {
"type": "string",
"description": "The phone number."
},
"countryCode": {
"type": "string",
"description": "The country code."
},
"status": {
"type": "string",
"description": "The status of the contact entry."
},
"type": {
"type": "string",
"description": "The type of contact entry."
}
}
}
}
},
"lastName": {
"type": "string",
"description": "Last name of the individual."
},
"internal": {
"type": "boolean",
"description": "Indicates whether the individual is internal."
},
"atsId": {
"type": "string",
"description": "Unique identifier associated with the ATS."
},
"firstProfileSourceList": {
"type": "array",
"description": "Array representing the first source of the candidate's profile.",
"items": {
"type": "string"
}
},
"profileSourceList": {
"type": "array",
"description": "Array representing all the sources of the candidate's profile.",
"items": {
"type": "string"
}
},
"linkedInUrnId": {
"type": "string",
"description": "LinkedIn URN ID of the candidate."
},
"linkedInSyncStatus": {
"type": "string",
"description": "Status of LinkedIn sync."
},
"linkedInLastSyncDate": {
"type": "integer",
"description": "When the candidate profile was synced with LinkedIn."
},
"location": {
"description": "Primary address associated with the candidate.",
"LocationDetail": {
"type": "object",
"description": "An object representing a geographic location.",
"properties": {
"city": {
"type": "string",
"description": "The city."
},
"state": {
"type": "string",
"description": "The state."
},
"country": {
"type": "string",
"description": "The country."
},
"zipCode": {
"type": "string",
"description": "The zipcode."
}
}
}
}
}
},
"message": {
"type": "string",
"description": "Message associated with the response."
},
"status": {
"type": "integer",
"description": "Status code of the request."
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| data | object | An object containing candidate data. |
| middleName | string | The middle name of the candidate. |
| candidateId | string | Unique identifier for the user or candidate. |
| employeeId | string | Employee profile ID associated with the candidate. |
| linkedInProfileURL | string | URL to the candidate's LinkedIn profile. |
| firstName | string | First name of the candidate. |
| company | string | The name of the company associated with the candidate. |
| createdDate | number | Timestamp indicating when the profile was created. |
| updatedDate | number | The date when the information was last updated. |
| emailList | array | EmailDetail |
| contacts | array | ContactDetail |
| lastName | string | Last name of the individual. |
| internal | boolean | Indicates whether the individual is internal. |
| atsId | string | Unique identifier associated with the ATS. |
| firstProfileSourceList | [string] | Array representing the first source of the candidate's profile. |
| profileSourceList | [string] | Array representing all the sources of the candidate's profile. |
| linkedInUrnId | string | LinkedIn URN ID of the candidate. |
| linkedInSyncStatus | string | Status of LinkedIn sync. |
| linkedInLastSyncDate | integer | When the candidate profile was synced with LinkedIn. |
| location | object | LocationDetail |
| message | string | Message associated with the response. |
| status | integer | Status code of the request. |
copied!{
"type": "object",
"description": "An object representing preferred locations associated with a candidate.",
"properties": {
"data": {
"type": "object",
"description": "An object containing data related to preferred locations.",
"properties": {
"preferredLocationList": {
"type": "array",
"description": "An array representing a list of preferred locations.",
"items": {
"type": "object",
"description": "An object containing details about a preferred location.",
"properties": {
"location": {
"type": "string",
"description": "A string representing the preferred location."
},
"city": {
"type": "string",
"description": "A string representing the city of the preferred location."
},
"country": {
"type": "string",
"description": "A string representing the country of the preferred location."
},
"state": {
"type": "string",
"description": "A string representing the state of the preferred location."
},
"zipCode": {
"type": "string",
"description": "A string representing the ZIP code of the preferred location."
}
}
}
}
}
},
"message": {
"type": "string",
"description": "A string representing a message or communication associated with the request or response."
},
"status": {
"type": "string",
"description": "A string representing the status of the request or response, indicating success, failure, or another state."
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| data | object | An object containing data related to preferred locations. |
| preferredLocationList | [object] | An array representing a list of preferred locations. |
| location | string | A string representing the preferred location. |
| city | string | A string representing the city of the preferred location. |
| country | string | A string representing the country of the preferred location. |
| state | string | A string representing the state of the preferred location. |
| zipCode | string | A string representing the ZIP code of the preferred location. |
| message | string | A string representing a message or communication associated with the request or response. |
| status | string | A string representing the status of the request or response, indicating success, failure, or another state. |
copied!{
"type": "object",
"description": "An object representing address information associated with a candidate.",
"properties": {
"data": {
"type": "object",
"description": "An object containing data related to the candidate's address.",
"properties": {
"address": {
"type": "array",
"description": "An array representing a list of addresses associated with the candidate.",
"items": {
"type": "object",
"description": "An object containing details about a specific address.",
"properties": {
"city": {
"type": "string",
"description": "A string representing the city of the address."
},
"state": {
"type": "string",
"description": "A string representing the state of the address."
},
"country": {
"type": "string",
"description": "A string representing the country of the address."
},
"zipCode": {
"type": "string",
"description": "A string representing the ZIP code of the address."
}
}
}
}
}
},
"message": {
"type": "string",
"description": "A string representing a message or communication associated with the response."
},
"status": {
"type": "string",
"description": "A string representing the status of the response, indicating success, failure, or another state."
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| data | object | An object containing data related to the candidate's address. |
| address | [object] | An array representing a list of addresses associated with the candidate. |
| city | string | A string representing the city of the address. |
| state | string | A string representing the state of the address. |
| country | string | A string representing the country of the address. |
| zipCode | string | A string representing the ZIP code of the address. |
| message | string | A string representing a message or communication associated with the response. |
| status | string | A string representing the status of the response, indicating success, failure, or another state. |
copied!{
"type": "object",
"description": "An object representing the response after creating a candidate.",
"properties": {
"data": {
"type": "object",
"description": "An object containing data related to the created candidate.",
"properties": {
"candidateId": {
"type": "string",
"description": "The unique identifier for the created candidate."
}
}
},
"message": {
"type": "string",
"description": "A string representing a message or communication associated with the response."
},
"status": {
"type": "string",
"description": "An string representing the status of the response, indicating success, failure, or another state."
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| data | object | An object containing data related to the created candidate. |
| candidateId | string | The unique identifier for the created candidate. |
| message | string | A string representing a message or communication associated with the response. |
| status | string | An string representing the status of the response, indicating success, failure, or another state. |
copied!{
"type": "object",
"description": "An object representing the response after creating a candidate.",
"properties": {
"data": {
"type": "object",
"description": "An object containing data related to the created candidate.",
"properties": {
"candidateId": {
"type": "string",
"description": "The unique identifier for the created candidate."
}
}
},
"message": {
"type": "string",
"description": "A string representing a message or communication associated with the response."
},
"status": {
"type": "integer",
"description": "An integer representing the status of the response."
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| data | object | An object containing data related to the created candidate. |
| candidateId | string | The unique identifier for the created candidate. |
| message | string | A string representing a message or communication associated with the response. |
| status | integer | An integer representing the status of the response. |
copied!{
"type": "object",
"description": "An object representing the response after updating additional fields for a candidate.",
"properties": {
"message": {
"type": "string",
"description": "A string representing a message or communication associated with the response."
},
"status": {
"type": "string",
"description": "A string representing the status of the response, indicating success, failure, or another state."
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| message | string | A string representing a message or communication associated with the response. |
| status | string | A string representing the status of the response, indicating success, failure, or another state. |
copied!{
"type": "object",
"description": "An object representing the response after updating recommendations for a candidate.",
"properties": {
"message": {
"type": "string",
"description": "A string representing a message or communication associated with the response."
},
"status": {
"type": "string",
"description": "A string representing the status of the response, indicating success, failure, or another state."
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| message | string | A string representing a message or communication associated with the response. |
| status | string | A string representing the status of the response, indicating success, failure, or another state. |
copied!{
"type": "object",
"description": "An object representing the response after updating preferred locations for a candidate.",
"properties": {
"message": {
"type": "string",
"description": "A string representing a message or communication associated with the response."
},
"status": {
"type": "string",
"description": "A string representing the status of the response, indicating success, failure, or another state."
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| message | string | A string representing a message or communication associated with the response. |
| status | string | A string representing the status of the response, indicating success, failure, or another state. |
copied!{
"type": "object",
"description": "An object representing the response related to the update of candidate addresses.",
"properties": {
"message": {
"type": "string",
"description": "A string representing a message or communication associated with the response."
},
"status": {
"type": "string",
"description": "A string representing the status of the response, indicating success, failure, or another state."
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| message | string | A string representing a message or communication associated with the response. |
| status | string | A string representing the status of the response, indicating success, failure, or another state. |
copied!{
"type": "object",
"description": "No content in the response"
}Properties
| Name | Type |
|---|
copied!{
"type": "object",
"description": "An object containing details about a candidate attachment.",
"properties": {
"resumeFileName": {
"type": "string",
"description": "Name of the resume file."
},
"attachmentId": {
"type": "string",
"description": "ID of the attachment file."
},
"attachmentName": {
"type": "string",
"description": "Name of the attachment file."
},
"isCreatedFromCandidates": {
"type": "boolean",
"description": "Indicates whether the attachment is created from candidates."
},
"documentType": {
"type": "string",
"description": "Type of the document."
},
"attachmentType": {
"type": "string",
"description": "Type of the attachment."
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| resumeFileName | string | Name of the resume file. |
| attachmentId | string | ID of the attachment file. |
| attachmentName | string | Name of the attachment file. |
| isCreatedFromCandidates | boolean | Indicates whether the attachment is created from candidates. |
| documentType | string | Type of the document. |
| attachmentType | string | Type of the attachment. |
copied!{
"type": "object",
"description": "Object representing an educational background entry.",
"properties": {
"degree": {
"type": "string",
"description": "The degree obtained."
},
"fieldOfStudy": {
"type": "string",
"description": "The field of study or major."
},
"schoolName": {
"type": "string",
"description": "The name of the school."
},
"schoolAndUniversity": {
"type": "string",
"description": "Combined name of the school and university."
},
"state": {
"type": "string",
"description": "The state where the institution is located."
},
"country": {
"type": "string",
"description": "The country where the institution is located."
},
"startDate": {
"type": "number",
"description": "The start date of the program."
},
"endDate": {
"type": "number",
"description": "The end date of the program."
},
"isHighEducation": {
"type": "boolean",
"description": "Indicates if this is higher education."
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| degree | string | The degree obtained. |
| fieldOfStudy | string | The field of study or major. |
| schoolName | string | The name of the school. |
| schoolAndUniversity | string | Combined name of the school and university. |
| state | string | The state where the institution is located. |
| country | string | The country where the institution is located. |
| startDate | number | The start date of the program. |
| endDate | number | The end date of the program. |
| isHighEducation | boolean | Indicates if this is higher education. |
copied!{
"type": "object",
"description": "An object representing preferred communication modes.",
"properties": {
"sms": {
"type": "boolean",
"description": "Is SMS a preferred communication mode."
},
"email": {
"type": "boolean",
"description": "Is email a preferred communication mode."
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| sms | boolean | Is SMS a preferred communication mode. |
| boolean | Is email a preferred communication mode. |
copied!{
"type": "object",
"description": "An object representing details of an email entry.",
"properties": {
"email": {
"type": "string",
"description": "The email address."
},
"type": {
"type": "string",
"description": "The type of email entry."
},
"status": {
"type": "string",
"description": "The status of the email entry."
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| string | The email address. | |
| type | string | The type of email entry. |
| status | string | The status of the email entry. |
copied!{
"type": "object",
"description": "An object representing details of a professional experience.",
"properties": {
"company": {
"type": "string",
"description": "Name of the company."
},
"jobTitle": {
"type": "string",
"description": "The job title."
},
"industry": {
"type": "string",
"description": "Industry associated with the experience."
},
"role": {
"type": "string",
"description": "Role in the experience."
},
"jobLocation": {
"type": "string",
"description": "Location of the job."
},
"startDate": {
"type": "number",
"description": "Start date of the experience."
},
"endDate": {
"type": "number",
"description": "End date of the experience."
},
"isCurrent": {
"type": "boolean",
"description": "Indicates if the experience is current."
},
"companyUrl": {
"type": "string",
"description": "URL of the company."
},
"jobSummary": {
"type": "string",
"description": "Summary of the job experience."
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| company | string | Name of the company. |
| jobTitle | string | The job title. |
| industry | string | Industry associated with the experience. |
| role | string | Role in the experience. |
| jobLocation | string | Location of the job. |
| startDate | number | Start date of the experience. |
| endDate | number | End date of the experience. |
| isCurrent | boolean | Indicates if the experience is current. |
| companyUrl | string | URL of the company. |
| jobSummary | string | Summary of the job experience. |
copied!{
"type": "object",
"description": "An object containing details of a contact entry.",
"properties": {
"phoneNumber": {
"type": "string",
"description": "The phone number."
},
"countryCode": {
"type": "string",
"description": "The country code."
},
"status": {
"type": "string",
"description": "The status of the contact entry."
},
"type": {
"type": "string",
"description": "The type of contact entry."
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| phoneNumber | string | The phone number. |
| countryCode | string | The country code. |
| status | string | The status of the contact entry. |
| type | string | The type of contact entry. |
copied!{
"type": "object",
"description": "An object representing a geographic location.",
"properties": {
"city": {
"type": "string",
"description": "The city."
},
"state": {
"type": "string",
"description": "The state."
},
"country": {
"type": "string",
"description": "The country."
},
"zipCode": {
"type": "string",
"description": "The zipcode."
}
}
}Properties
| Name | Type | Description |
|---|---|---|
| city | string | The city. |
| state | string | The state. |
| country | string | The country. |
| zipCode | string | The zipcode. |
