Jobs
Job Sync enables the user to manage jobs (view, create, update and delete jobs) in the Phenom database.
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//jobs-api/v1/jobs
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
GET /jobs-api/v1/jobs
This API retrieves a list of jobs based on search.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
jobId | query | string | false |
locale | query | string | false |
category | query | string | false |
siteType | query | string | false |
offset | query | string | false |
limit | query | string | false |
Response
OK
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Status of the response."
},
"offset": {
"type": "integer",
"description": "Parameter defines from which point to query for jobs."
},
"limit": {
"type": "integer",
"description": "Parameter defines how many jobs to query."
},
"totalRecordsCount": {
"type": "integer",
"description": "Total number of jobs for given query."
},
"data": {
"type": "array",
"description": "List of jobs.",
"items": {
"JobResponseDTO": {
"type": "object",
"properties": {
"applyUrl": {
"type": "string",
"description": "Apply url of the job."
},
"category": {
"type": "string",
"description": "Phenom job category."
},
"externalApply": {
"type": "boolean",
"description": "To have Apply Button for job"
},
"companyName": {
"type": "string",
"description": "Tenant name."
},
"description": {
"type": "string",
"description": "ATS job description."
},
"jobId": {
"type": "string",
"description": "ATS jobId."
},
"locale": {
"type": "string",
"description": "Locale of the site (Language_Country)."
},
"reqId": {
"type": "string",
"description": "ATS requisition id."
},
"siteType": {
"type": "string",
"description": "Persona that the job belongs to."
},
"title": {
"type": "string",
"description": "ATS job title."
},
"employmentType": {
"type": "string",
"description": "Type that the job belongs to."
},
"city": {
"type": "string",
"description": "ATS job posting city name."
},
"state": {
"type": "string",
"description": "ATS job posting state name."
},
"country": {
"type": "string",
"description": "ATS job posting country name."
},
"address": {
"type": "string",
"description": "ATS job posting address."
},
"postalCode": {
"type": "string",
"description": "ATS job posting location zip code."
},
"hiringManagerEmail": {
"type": "string",
"description": "Email of hiring manager associated to the job."
},
"hiringManagerName": {
"type": "string",
"description": "Name of hiring manager associated to the job."
},
"recruiterEmail": {
"type": "string",
"description": "Email of the recruiter assigned to the job."
},
"recruiterName": {
"type": "string",
"description": "Name of the recruiter assigned to the job."
},
"source": {
"type": "string",
"description": "Job source."
},
"displayCareerSite": {
"type": "boolean",
"description": "To display the job on career site or not."
},
"multiLocation": {
"type": "array",
"description": "All job posting locations, includes /excludes primary posting location.",
"items": {
"LocationDTO": {
"type": "object",
"properties": {
"cityState": {
"type": "string",
"description": "City State of Job"
},
"cityCountry": {
"type": "string",
"description": "City Country of Job"
},
"cityStateCountry": {
"type": "string",
"description": "City State Country of Job"
},
"stateCountry": {
"type": "string",
"description": "State Country of Job"
},
"locationDisplay": {
"type": "string",
"description": "Display Location of Job"
},
"city": {
"type": "string",
"description": "ATS job posting city name."
},
"state": {
"type": "string",
"description": "ATS job posting state name."
},
"country": {
"type": "string",
"description": "ATS job posting country name."
},
"address": {
"type": "string",
"description": "ATS job posting address."
},
"postalCode": {
"type": "string",
"description": "ATS job posting location zip code."
}
}
}
}
},
"multiCategory": {
"type": "array",
"description": "All categories that the job belongs to.",
"items": {
"Category": {
"required": {
"0": "category"
},
"type": "object",
"properties": {
"category": {
"type": "string",
"description": "Phenom job category."
}
}
}
}
},
"multiRecruiter": {
"type": "array",
"description": "Data of recruiters assigned to the job(array).",
"items": {
"Recruiter": {
"required": {
"0": "recruiterEmail",
"1": "recruiterName"
},
"type": "object",
"properties": {
"recruiterName": {
"type": "string",
"description": "Name of the recruiter assigned to the job."
},
"recruiterEmail": {
"type": "string",
"description": "Email of the recruiter assigned to the job."
}
}
}
}
},
"additionalFields": {
"type": "object",
"description": "Additional fields associated to the job."
},
"referenceId": {
"type": "string",
"description": "Reference Id of the Job"
},
"visibilityLocale": {
"type": "array",
"description": "All locales that the job belongs to.",
"items": {
"type": "string"
}
},
"visibilitySiteType": {
"type": "array",
"description": "All personas that the jobs belongs to.",
"items": {
"type": "string"
}
}
}
}
}
}
}
}
]
OK
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Status of the response."
},
"offset": {
"type": "integer",
"description": "Parameter defines from which point to query for jobs."
},
"limit": {
"type": "integer",
"description": "Parameter defines how many jobs to query."
},
"totalRecordsCount": {
"type": "integer",
"description": "Total number of jobs for given query."
},
"data": {
"type": "array",
"description": "List of jobs.",
"items": {
"JobResponseDTO": {
"type": "object",
"properties": {
"applyUrl": {
"type": "string",
"description": "Apply url of the job."
},
"category": {
"type": "string",
"description": "Phenom job category."
},
"externalApply": {
"type": "boolean",
"description": "To have Apply Button for job"
},
"companyName": {
"type": "string",
"description": "Tenant name."
},
"description": {
"type": "string",
"description": "ATS job description."
},
"jobId": {
"type": "string",
"description": "ATS jobId."
},
"locale": {
"type": "string",
"description": "Locale of the site (Language_Country)."
},
"reqId": {
"type": "string",
"description": "ATS requisition id."
},
"siteType": {
"type": "string",
"description": "Persona that the job belongs to."
},
"title": {
"type": "string",
"description": "ATS job title."
},
"employmentType": {
"type": "string",
"description": "Type that the job belongs to."
},
"city": {
"type": "string",
"description": "ATS job posting city name."
},
"state": {
"type": "string",
"description": "ATS job posting state name."
},
"country": {
"type": "string",
"description": "ATS job posting country name."
},
"address": {
"type": "string",
"description": "ATS job posting address."
},
"postalCode": {
"type": "string",
"description": "ATS job posting location zip code."
},
"hiringManagerEmail": {
"type": "string",
"description": "Email of hiring manager associated to the job."
},
"hiringManagerName": {
"type": "string",
"description": "Name of hiring manager associated to the job."
},
"recruiterEmail": {
"type": "string",
"description": "Email of the recruiter assigned to the job."
},
"recruiterName": {
"type": "string",
"description": "Name of the recruiter assigned to the job."
},
"source": {
"type": "string",
"description": "Job source."
},
"displayCareerSite": {
"type": "boolean",
"description": "To display the job on career site or not."
},
"multiLocation": {
"type": "array",
"description": "All job posting locations, includes /excludes primary posting location.",
"items": {
"LocationDTO": {
"type": "object",
"properties": {
"cityState": {
"type": "string",
"description": "City State of Job"
},
"cityCountry": {
"type": "string",
"description": "City Country of Job"
},
"cityStateCountry": {
"type": "string",
"description": "City State Country of Job"
},
"stateCountry": {
"type": "string",
"description": "State Country of Job"
},
"locationDisplay": {
"type": "string",
"description": "Display Location of Job"
},
"city": {
"type": "string",
"description": "ATS job posting city name."
},
"state": {
"type": "string",
"description": "ATS job posting state name."
},
"country": {
"type": "string",
"description": "ATS job posting country name."
},
"address": {
"type": "string",
"description": "ATS job posting address."
},
"postalCode": {
"type": "string",
"description": "ATS job posting location zip code."
}
}
}
}
},
"multiCategory": {
"type": "array",
"description": "All categories that the job belongs to.",
"items": {
"Category": {
"required": {
"0": "category"
},
"type": "object",
"properties": {
"category": {
"type": "string",
"description": "Phenom job category."
}
}
}
}
},
"multiRecruiter": {
"type": "array",
"description": "Data of recruiters assigned to the job(array).",
"items": {
"Recruiter": {
"required": {
"0": "recruiterEmail",
"1": "recruiterName"
},
"type": "object",
"properties": {
"recruiterName": {
"type": "string",
"description": "Name of the recruiter assigned to the job."
},
"recruiterEmail": {
"type": "string",
"description": "Email of the recruiter assigned to the job."
}
}
}
}
},
"additionalFields": {
"type": "object",
"description": "Additional fields associated to the job."
},
"referenceId": {
"type": "string",
"description": "Reference Id of the Job"
},
"visibilityLocale": {
"type": "array",
"description": "All locales that the job belongs to.",
"items": {
"type": "string"
}
},
"visibilitySiteType": {
"type": "array",
"description": "All personas that the jobs belongs to.",
"items": {
"type": "string"
}
}
}
}
}
}
}
}
]
Bad Request
copied![
{
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "Status returned by the API."
},
"message": {
"type": "string",
"description": "Error Message."
}
}
}
]
Internal Server Error
copied![
{
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "Status returned by the API."
},
"message": {
"type": "string",
"description": "Error Message."
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | OK | JobsListSuccessResponse |
201 | OK | JobsListSuccessResponse |
400 | Bad Request | ErrorResponse |
500 | Internal Server Error | ErrorResponse |
post
copied!# You can also use wgetcurl -X POST https://api.phenom.com//jobs-api/v1/jobs
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
POST /jobs-api/v1/jobs
This API creates a Job in Phenom that reflects in their respective career site.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"job": {
"JobRequestDTO": {
"required": {
"0": "description",
"1": "jobId",
"2": "reqId",
"3": "title"
},
"type": "object",
"properties": {
"applyUrl": {
"type": "string",
"description": "Apply url of the job."
},
"category": {
"type": "string",
"description": "Phenom job category."
},
"companyName": {
"type": "string",
"description": "Tenant name."
},
"description": {
"type": "string",
"description": "ATS job description."
},
"externalApply": {
"type": "boolean",
"description": "To have Apply Button for job"
},
"jobId": {
"type": "string",
"description": "ATS jobId."
},
"locale": {
"type": "string",
"description": "Locale of the site (Language_Country)."
},
"reqId": {
"type": "string",
"description": "ATS requisition id."
},
"siteType": {
"type": "string",
"description": "Persona that the job belongs to."
},
"title": {
"type": "string",
"description": "ATS job title."
},
"employmentType": {
"type": "string",
"description": "Type that the job belongs to."
},
"city": {
"type": "string",
"description": "ATS job posting city name."
},
"state": {
"type": "string",
"description": "ATS job posting state name."
},
"country": {
"type": "string",
"description": "ATS job posting country name."
},
"address": {
"type": "string",
"description": "ATS job posting address."
},
"postalCode": {
"type": "string",
"description": "ATS job posting location zip code."
},
"hiringManagerEmail": {
"type": "string",
"description": "Email of hiring manager associated to the job."
},
"hiringManagerName": {
"type": "string",
"description": "Name of hiring manager associated to the job."
},
"recruiterEmail": {
"type": "string",
"description": "Email of the recruiter assigned to the job."
},
"recruiterName": {
"type": "string",
"description": "Name of the recruiter assigned to the job."
},
"source": {
"type": "string",
"description": "Job source."
},
"displayCareerSite": {
"type": "boolean",
"description": "To display the job on career site or not."
},
"multiLocation": {
"type": "array",
"description": "All job posting locations, includes /excludes primary posting location.",
"items": {
"LocationDTO": {
"type": "object",
"properties": {
"cityState": {
"type": "string",
"description": "City State of Job"
},
"cityCountry": {
"type": "string",
"description": "City Country of Job"
},
"cityStateCountry": {
"type": "string",
"description": "City State Country of Job"
},
"stateCountry": {
"type": "string",
"description": "State Country of Job"
},
"locationDisplay": {
"type": "string",
"description": "Display Location of Job"
},
"city": {
"type": "string",
"description": "ATS job posting city name."
},
"state": {
"type": "string",
"description": "ATS job posting state name."
},
"country": {
"type": "string",
"description": "ATS job posting country name."
},
"address": {
"type": "string",
"description": "ATS job posting address."
},
"postalCode": {
"type": "string",
"description": "ATS job posting location zip code."
}
}
}
}
},
"multiCategory": {
"type": "array",
"description": "All categories that the job belongs to.",
"items": {
"Category": {
"required": {
"0": "category"
},
"type": "object",
"properties": {
"category": {
"type": "string",
"description": "Phenom job category."
}
}
}
}
},
"multiRecruiter": {
"type": "array",
"description": "Data of recruiters assigned to the job(array).",
"items": {
"Recruiter": {
"required": {
"0": "recruiterEmail",
"1": "recruiterName"
},
"type": "object",
"properties": {
"recruiterName": {
"type": "string",
"description": "Name of the recruiter assigned to the job."
},
"recruiterEmail": {
"type": "string",
"description": "Email of the recruiter assigned to the job."
}
}
}
}
},
"additionalFields": {
"type": "object",
"description": "Additional fields associated to the job."
},
"visibilityLocale": {
"type": "array",
"description": "All locales that the job belongs to.",
"items": {
"type": "string"
}
},
"visibilitySiteType": {
"type": "array",
"description": "All personas that the jobs belongs to.",
"items": {
"type": "string"
}
}
}
}
},
"postings": {
"type": "array",
"items": {
"Posting": {
"type": "object",
"required": {
"0": "locale",
"1": "siteType"
},
"properties": {
"locale": {
"type": "string",
"description": "Locale of the site (Language_Country)."
},
"siteType": {
"type": "string",
"description": "SiteType of the job."
},
"category": {
"type": "string",
"description": "Category of the job."
},
"title": {
"type": "string",
"description": "ATS job title."
},
"description": {
"type": "string",
"description": "Description of the job."
},
"applyUrl": {
"type": "string",
"description": "Apply url of the job."
},
"visibilityLocale": {
"type": "array",
"description": "All locales that the job belongs to.",
"items": {
"type": "string"
}
},
"visibilitySiteType": {
"type": "array",
"description": "All personas that the jobs belongs to.",
"items": {
"type": "string"
}
},
"additionalFields": {
"type": "object",
"description": "Additional fields associated to the job."
}
}
}
}
}
}
}
]
Request Parameters
Type | Name |
---|---|
application/json | PostPayload |
Response
OK
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Status of the response."
},
"offset": {
"type": "integer",
"description": "Parameter defines from which point to query for jobs."
},
"limit": {
"type": "integer",
"description": "Parameter defines how many jobs to query."
},
"totalRecordsCount": {
"type": "integer",
"description": "Total number of jobs for given query."
},
"data": {
"type": "array",
"description": "List of jobs.",
"items": {
"JobResponseDTO": {
"type": "object",
"properties": {
"applyUrl": {
"type": "string",
"description": "Apply url of the job."
},
"category": {
"type": "string",
"description": "Phenom job category."
},
"externalApply": {
"type": "boolean",
"description": "To have Apply Button for job"
},
"companyName": {
"type": "string",
"description": "Tenant name."
},
"description": {
"type": "string",
"description": "ATS job description."
},
"jobId": {
"type": "string",
"description": "ATS jobId."
},
"locale": {
"type": "string",
"description": "Locale of the site (Language_Country)."
},
"reqId": {
"type": "string",
"description": "ATS requisition id."
},
"siteType": {
"type": "string",
"description": "Persona that the job belongs to."
},
"title": {
"type": "string",
"description": "ATS job title."
},
"employmentType": {
"type": "string",
"description": "Type that the job belongs to."
},
"city": {
"type": "string",
"description": "ATS job posting city name."
},
"state": {
"type": "string",
"description": "ATS job posting state name."
},
"country": {
"type": "string",
"description": "ATS job posting country name."
},
"address": {
"type": "string",
"description": "ATS job posting address."
},
"postalCode": {
"type": "string",
"description": "ATS job posting location zip code."
},
"hiringManagerEmail": {
"type": "string",
"description": "Email of hiring manager associated to the job."
},
"hiringManagerName": {
"type": "string",
"description": "Name of hiring manager associated to the job."
},
"recruiterEmail": {
"type": "string",
"description": "Email of the recruiter assigned to the job."
},
"recruiterName": {
"type": "string",
"description": "Name of the recruiter assigned to the job."
},
"source": {
"type": "string",
"description": "Job source."
},
"displayCareerSite": {
"type": "boolean",
"description": "To display the job on career site or not."
},
"multiLocation": {
"type": "array",
"description": "All job posting locations, includes /excludes primary posting location.",
"items": {
"LocationDTO": {
"type": "object",
"properties": {
"cityState": {
"type": "string",
"description": "City State of Job"
},
"cityCountry": {
"type": "string",
"description": "City Country of Job"
},
"cityStateCountry": {
"type": "string",
"description": "City State Country of Job"
},
"stateCountry": {
"type": "string",
"description": "State Country of Job"
},
"locationDisplay": {
"type": "string",
"description": "Display Location of Job"
},
"city": {
"type": "string",
"description": "ATS job posting city name."
},
"state": {
"type": "string",
"description": "ATS job posting state name."
},
"country": {
"type": "string",
"description": "ATS job posting country name."
},
"address": {
"type": "string",
"description": "ATS job posting address."
},
"postalCode": {
"type": "string",
"description": "ATS job posting location zip code."
}
}
}
}
},
"multiCategory": {
"type": "array",
"description": "All categories that the job belongs to.",
"items": {
"Category": {
"required": {
"0": "category"
},
"type": "object",
"properties": {
"category": {
"type": "string",
"description": "Phenom job category."
}
}
}
}
},
"multiRecruiter": {
"type": "array",
"description": "Data of recruiters assigned to the job(array).",
"items": {
"Recruiter": {
"required": {
"0": "recruiterEmail",
"1": "recruiterName"
},
"type": "object",
"properties": {
"recruiterName": {
"type": "string",
"description": "Name of the recruiter assigned to the job."
},
"recruiterEmail": {
"type": "string",
"description": "Email of the recruiter assigned to the job."
}
}
}
}
},
"additionalFields": {
"type": "object",
"description": "Additional fields associated to the job."
},
"referenceId": {
"type": "string",
"description": "Reference Id of the Job"
},
"visibilityLocale": {
"type": "array",
"description": "All locales that the job belongs to.",
"items": {
"type": "string"
}
},
"visibilitySiteType": {
"type": "array",
"description": "All personas that the jobs belongs to.",
"items": {
"type": "string"
}
}
}
}
}
}
}
}
]
OK
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Status of the response."
},
"offset": {
"type": "integer",
"description": "Parameter defines from which point to query for jobs."
},
"limit": {
"type": "integer",
"description": "Parameter defines how many jobs to query."
},
"totalRecordsCount": {
"type": "integer",
"description": "Total number of jobs for given query."
},
"data": {
"type": "array",
"description": "List of jobs.",
"items": {
"JobResponseDTO": {
"type": "object",
"properties": {
"applyUrl": {
"type": "string",
"description": "Apply url of the job."
},
"category": {
"type": "string",
"description": "Phenom job category."
},
"externalApply": {
"type": "boolean",
"description": "To have Apply Button for job"
},
"companyName": {
"type": "string",
"description": "Tenant name."
},
"description": {
"type": "string",
"description": "ATS job description."
},
"jobId": {
"type": "string",
"description": "ATS jobId."
},
"locale": {
"type": "string",
"description": "Locale of the site (Language_Country)."
},
"reqId": {
"type": "string",
"description": "ATS requisition id."
},
"siteType": {
"type": "string",
"description": "Persona that the job belongs to."
},
"title": {
"type": "string",
"description": "ATS job title."
},
"employmentType": {
"type": "string",
"description": "Type that the job belongs to."
},
"city": {
"type": "string",
"description": "ATS job posting city name."
},
"state": {
"type": "string",
"description": "ATS job posting state name."
},
"country": {
"type": "string",
"description": "ATS job posting country name."
},
"address": {
"type": "string",
"description": "ATS job posting address."
},
"postalCode": {
"type": "string",
"description": "ATS job posting location zip code."
},
"hiringManagerEmail": {
"type": "string",
"description": "Email of hiring manager associated to the job."
},
"hiringManagerName": {
"type": "string",
"description": "Name of hiring manager associated to the job."
},
"recruiterEmail": {
"type": "string",
"description": "Email of the recruiter assigned to the job."
},
"recruiterName": {
"type": "string",
"description": "Name of the recruiter assigned to the job."
},
"source": {
"type": "string",
"description": "Job source."
},
"displayCareerSite": {
"type": "boolean",
"description": "To display the job on career site or not."
},
"multiLocation": {
"type": "array",
"description": "All job posting locations, includes /excludes primary posting location.",
"items": {
"LocationDTO": {
"type": "object",
"properties": {
"cityState": {
"type": "string",
"description": "City State of Job"
},
"cityCountry": {
"type": "string",
"description": "City Country of Job"
},
"cityStateCountry": {
"type": "string",
"description": "City State Country of Job"
},
"stateCountry": {
"type": "string",
"description": "State Country of Job"
},
"locationDisplay": {
"type": "string",
"description": "Display Location of Job"
},
"city": {
"type": "string",
"description": "ATS job posting city name."
},
"state": {
"type": "string",
"description": "ATS job posting state name."
},
"country": {
"type": "string",
"description": "ATS job posting country name."
},
"address": {
"type": "string",
"description": "ATS job posting address."
},
"postalCode": {
"type": "string",
"description": "ATS job posting location zip code."
}
}
}
}
},
"multiCategory": {
"type": "array",
"description": "All categories that the job belongs to.",
"items": {
"Category": {
"required": {
"0": "category"
},
"type": "object",
"properties": {
"category": {
"type": "string",
"description": "Phenom job category."
}
}
}
}
},
"multiRecruiter": {
"type": "array",
"description": "Data of recruiters assigned to the job(array).",
"items": {
"Recruiter": {
"required": {
"0": "recruiterEmail",
"1": "recruiterName"
},
"type": "object",
"properties": {
"recruiterName": {
"type": "string",
"description": "Name of the recruiter assigned to the job."
},
"recruiterEmail": {
"type": "string",
"description": "Email of the recruiter assigned to the job."
}
}
}
}
},
"additionalFields": {
"type": "object",
"description": "Additional fields associated to the job."
},
"referenceId": {
"type": "string",
"description": "Reference Id of the Job"
},
"visibilityLocale": {
"type": "array",
"description": "All locales that the job belongs to.",
"items": {
"type": "string"
}
},
"visibilitySiteType": {
"type": "array",
"description": "All personas that the jobs belongs to.",
"items": {
"type": "string"
}
}
}
}
}
}
}
}
]
Bad Request
copied![
{
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "Status returned by the API."
},
"message": {
"type": "string",
"description": "Error Message."
}
}
}
]
Internal Server Error
copied![
{
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "Status returned by the API."
},
"message": {
"type": "string",
"description": "Error Message."
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | OK | JobsListSuccessResponse |
201 | OK | JobsListSuccessResponse |
400 | Bad Request | ErrorResponse |
500 | Internal Server Error | ErrorResponse |
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//jobs-api/v1/jobs/{referenceId}
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
GET /jobs-api/v1/jobs/{referenceId}
This API retrieves all the details of a job using its unique reference ID.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
referenceId | path | string | true |
Response
OK
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Status of the response."
},
"data": {
"type": "object",
"description": "Job.",
"JobResponseDTO": {
"type": "object",
"properties": {
"applyUrl": {
"type": "string",
"description": "Apply url of the job."
},
"category": {
"type": "string",
"description": "Phenom job category."
},
"externalApply": {
"type": "boolean",
"description": "To have Apply Button for job"
},
"companyName": {
"type": "string",
"description": "Tenant name."
},
"description": {
"type": "string",
"description": "ATS job description."
},
"jobId": {
"type": "string",
"description": "ATS jobId."
},
"locale": {
"type": "string",
"description": "Locale of the site (Language_Country)."
},
"reqId": {
"type": "string",
"description": "ATS requisition id."
},
"siteType": {
"type": "string",
"description": "Persona that the job belongs to."
},
"title": {
"type": "string",
"description": "ATS job title."
},
"employmentType": {
"type": "string",
"description": "Type that the job belongs to."
},
"city": {
"type": "string",
"description": "ATS job posting city name."
},
"state": {
"type": "string",
"description": "ATS job posting state name."
},
"country": {
"type": "string",
"description": "ATS job posting country name."
},
"address": {
"type": "string",
"description": "ATS job posting address."
},
"postalCode": {
"type": "string",
"description": "ATS job posting location zip code."
},
"hiringManagerEmail": {
"type": "string",
"description": "Email of hiring manager associated to the job."
},
"hiringManagerName": {
"type": "string",
"description": "Name of hiring manager associated to the job."
},
"recruiterEmail": {
"type": "string",
"description": "Email of the recruiter assigned to the job."
},
"recruiterName": {
"type": "string",
"description": "Name of the recruiter assigned to the job."
},
"source": {
"type": "string",
"description": "Job source."
},
"displayCareerSite": {
"type": "boolean",
"description": "To display the job on career site or not."
},
"multiLocation": {
"type": "array",
"description": "All job posting locations, includes /excludes primary posting location.",
"items": {
"LocationDTO": {
"type": "object",
"properties": {
"cityState": {
"type": "string",
"description": "City State of Job"
},
"cityCountry": {
"type": "string",
"description": "City Country of Job"
},
"cityStateCountry": {
"type": "string",
"description": "City State Country of Job"
},
"stateCountry": {
"type": "string",
"description": "State Country of Job"
},
"locationDisplay": {
"type": "string",
"description": "Display Location of Job"
},
"city": {
"type": "string",
"description": "ATS job posting city name."
},
"state": {
"type": "string",
"description": "ATS job posting state name."
},
"country": {
"type": "string",
"description": "ATS job posting country name."
},
"address": {
"type": "string",
"description": "ATS job posting address."
},
"postalCode": {
"type": "string",
"description": "ATS job posting location zip code."
}
}
}
}
},
"multiCategory": {
"type": "array",
"description": "All categories that the job belongs to.",
"items": {
"Category": {
"required": {
"0": "category"
},
"type": "object",
"properties": {
"category": {
"type": "string",
"description": "Phenom job category."
}
}
}
}
},
"multiRecruiter": {
"type": "array",
"description": "Data of recruiters assigned to the job(array).",
"items": {
"Recruiter": {
"required": {
"0": "recruiterEmail",
"1": "recruiterName"
},
"type": "object",
"properties": {
"recruiterName": {
"type": "string",
"description": "Name of the recruiter assigned to the job."
},
"recruiterEmail": {
"type": "string",
"description": "Email of the recruiter assigned to the job."
}
}
}
}
},
"additionalFields": {
"type": "object",
"description": "Additional fields associated to the job."
},
"referenceId": {
"type": "string",
"description": "Reference Id of the Job"
},
"visibilityLocale": {
"type": "array",
"description": "All locales that the job belongs to.",
"items": {
"type": "string"
}
},
"visibilitySiteType": {
"type": "array",
"description": "All personas that the jobs belongs to.",
"items": {
"type": "string"
}
}
}
}
}
}
}
]
OK
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Status of the response."
},
"data": {
"type": "object",
"description": "Job.",
"JobResponseDTO": {
"type": "object",
"properties": {
"applyUrl": {
"type": "string",
"description": "Apply url of the job."
},
"category": {
"type": "string",
"description": "Phenom job category."
},
"externalApply": {
"type": "boolean",
"description": "To have Apply Button for job"
},
"companyName": {
"type": "string",
"description": "Tenant name."
},
"description": {
"type": "string",
"description": "ATS job description."
},
"jobId": {
"type": "string",
"description": "ATS jobId."
},
"locale": {
"type": "string",
"description": "Locale of the site (Language_Country)."
},
"reqId": {
"type": "string",
"description": "ATS requisition id."
},
"siteType": {
"type": "string",
"description": "Persona that the job belongs to."
},
"title": {
"type": "string",
"description": "ATS job title."
},
"employmentType": {
"type": "string",
"description": "Type that the job belongs to."
},
"city": {
"type": "string",
"description": "ATS job posting city name."
},
"state": {
"type": "string",
"description": "ATS job posting state name."
},
"country": {
"type": "string",
"description": "ATS job posting country name."
},
"address": {
"type": "string",
"description": "ATS job posting address."
},
"postalCode": {
"type": "string",
"description": "ATS job posting location zip code."
},
"hiringManagerEmail": {
"type": "string",
"description": "Email of hiring manager associated to the job."
},
"hiringManagerName": {
"type": "string",
"description": "Name of hiring manager associated to the job."
},
"recruiterEmail": {
"type": "string",
"description": "Email of the recruiter assigned to the job."
},
"recruiterName": {
"type": "string",
"description": "Name of the recruiter assigned to the job."
},
"source": {
"type": "string",
"description": "Job source."
},
"displayCareerSite": {
"type": "boolean",
"description": "To display the job on career site or not."
},
"multiLocation": {
"type": "array",
"description": "All job posting locations, includes /excludes primary posting location.",
"items": {
"LocationDTO": {
"type": "object",
"properties": {
"cityState": {
"type": "string",
"description": "City State of Job"
},
"cityCountry": {
"type": "string",
"description": "City Country of Job"
},
"cityStateCountry": {
"type": "string",
"description": "City State Country of Job"
},
"stateCountry": {
"type": "string",
"description": "State Country of Job"
},
"locationDisplay": {
"type": "string",
"description": "Display Location of Job"
},
"city": {
"type": "string",
"description": "ATS job posting city name."
},
"state": {
"type": "string",
"description": "ATS job posting state name."
},
"country": {
"type": "string",
"description": "ATS job posting country name."
},
"address": {
"type": "string",
"description": "ATS job posting address."
},
"postalCode": {
"type": "string",
"description": "ATS job posting location zip code."
}
}
}
}
},
"multiCategory": {
"type": "array",
"description": "All categories that the job belongs to.",
"items": {
"Category": {
"required": {
"0": "category"
},
"type": "object",
"properties": {
"category": {
"type": "string",
"description": "Phenom job category."
}
}
}
}
},
"multiRecruiter": {
"type": "array",
"description": "Data of recruiters assigned to the job(array).",
"items": {
"Recruiter": {
"required": {
"0": "recruiterEmail",
"1": "recruiterName"
},
"type": "object",
"properties": {
"recruiterName": {
"type": "string",
"description": "Name of the recruiter assigned to the job."
},
"recruiterEmail": {
"type": "string",
"description": "Email of the recruiter assigned to the job."
}
}
}
}
},
"additionalFields": {
"type": "object",
"description": "Additional fields associated to the job."
},
"referenceId": {
"type": "string",
"description": "Reference Id of the Job"
},
"visibilityLocale": {
"type": "array",
"description": "All locales that the job belongs to.",
"items": {
"type": "string"
}
},
"visibilitySiteType": {
"type": "array",
"description": "All personas that the jobs belongs to.",
"items": {
"type": "string"
}
}
}
}
}
}
}
]
Bad Request
copied![
{
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "Status returned by the API."
},
"message": {
"type": "string",
"description": "Error Message."
}
}
}
]
Internal Server Error
copied![
{
"type": "object",
"properties": {
"errorCode": {
"type": "string",
"description": "Error Code."
},
"errorDesc": {
"type": "string",
"description": "Error Description."
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | OK | JobSuccessResponse |
201 | OK | JobSuccessResponse |
400 | Bad Request | ErrorResponse |
500 | Internal Server Error | CustomError |
delete
copied!# You can also use wgetcurl -X DELETE https://api.phenom.com//jobs-api/v1/jobs/{referenceId}
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
DELETE /jobs-api/v1/jobs/{referenceId}
This API is used to delete a job using its unique reference ID.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
referenceId | path | string | true |
Response
OK
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Status of the response."
},
"data": {
"type": "object",
"description": "Job.",
"JobResponseDTO": {
"type": "object",
"properties": {
"applyUrl": {
"type": "string",
"description": "Apply url of the job."
},
"category": {
"type": "string",
"description": "Phenom job category."
},
"externalApply": {
"type": "boolean",
"description": "To have Apply Button for job"
},
"companyName": {
"type": "string",
"description": "Tenant name."
},
"description": {
"type": "string",
"description": "ATS job description."
},
"jobId": {
"type": "string",
"description": "ATS jobId."
},
"locale": {
"type": "string",
"description": "Locale of the site (Language_Country)."
},
"reqId": {
"type": "string",
"description": "ATS requisition id."
},
"siteType": {
"type": "string",
"description": "Persona that the job belongs to."
},
"title": {
"type": "string",
"description": "ATS job title."
},
"employmentType": {
"type": "string",
"description": "Type that the job belongs to."
},
"city": {
"type": "string",
"description": "ATS job posting city name."
},
"state": {
"type": "string",
"description": "ATS job posting state name."
},
"country": {
"type": "string",
"description": "ATS job posting country name."
},
"address": {
"type": "string",
"description": "ATS job posting address."
},
"postalCode": {
"type": "string",
"description": "ATS job posting location zip code."
},
"hiringManagerEmail": {
"type": "string",
"description": "Email of hiring manager associated to the job."
},
"hiringManagerName": {
"type": "string",
"description": "Name of hiring manager associated to the job."
},
"recruiterEmail": {
"type": "string",
"description": "Email of the recruiter assigned to the job."
},
"recruiterName": {
"type": "string",
"description": "Name of the recruiter assigned to the job."
},
"source": {
"type": "string",
"description": "Job source."
},
"displayCareerSite": {
"type": "boolean",
"description": "To display the job on career site or not."
},
"multiLocation": {
"type": "array",
"description": "All job posting locations, includes /excludes primary posting location.",
"items": {
"LocationDTO": {
"type": "object",
"properties": {
"cityState": {
"type": "string",
"description": "City State of Job"
},
"cityCountry": {
"type": "string",
"description": "City Country of Job"
},
"cityStateCountry": {
"type": "string",
"description": "City State Country of Job"
},
"stateCountry": {
"type": "string",
"description": "State Country of Job"
},
"locationDisplay": {
"type": "string",
"description": "Display Location of Job"
},
"city": {
"type": "string",
"description": "ATS job posting city name."
},
"state": {
"type": "string",
"description": "ATS job posting state name."
},
"country": {
"type": "string",
"description": "ATS job posting country name."
},
"address": {
"type": "string",
"description": "ATS job posting address."
},
"postalCode": {
"type": "string",
"description": "ATS job posting location zip code."
}
}
}
}
},
"multiCategory": {
"type": "array",
"description": "All categories that the job belongs to.",
"items": {
"Category": {
"required": {
"0": "category"
},
"type": "object",
"properties": {
"category": {
"type": "string",
"description": "Phenom job category."
}
}
}
}
},
"multiRecruiter": {
"type": "array",
"description": "Data of recruiters assigned to the job(array).",
"items": {
"Recruiter": {
"required": {
"0": "recruiterEmail",
"1": "recruiterName"
},
"type": "object",
"properties": {
"recruiterName": {
"type": "string",
"description": "Name of the recruiter assigned to the job."
},
"recruiterEmail": {
"type": "string",
"description": "Email of the recruiter assigned to the job."
}
}
}
}
},
"additionalFields": {
"type": "object",
"description": "Additional fields associated to the job."
},
"referenceId": {
"type": "string",
"description": "Reference Id of the Job"
},
"visibilityLocale": {
"type": "array",
"description": "All locales that the job belongs to.",
"items": {
"type": "string"
}
},
"visibilitySiteType": {
"type": "array",
"description": "All personas that the jobs belongs to.",
"items": {
"type": "string"
}
}
}
}
}
}
}
]
OK
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Status of the response."
},
"data": {
"type": "object",
"description": "Job.",
"JobResponseDTO": {
"type": "object",
"properties": {
"applyUrl": {
"type": "string",
"description": "Apply url of the job."
},
"category": {
"type": "string",
"description": "Phenom job category."
},
"externalApply": {
"type": "boolean",
"description": "To have Apply Button for job"
},
"companyName": {
"type": "string",
"description": "Tenant name."
},
"description": {
"type": "string",
"description": "ATS job description."
},
"jobId": {
"type": "string",
"description": "ATS jobId."
},
"locale": {
"type": "string",
"description": "Locale of the site (Language_Country)."
},
"reqId": {
"type": "string",
"description": "ATS requisition id."
},
"siteType": {
"type": "string",
"description": "Persona that the job belongs to."
},
"title": {
"type": "string",
"description": "ATS job title."
},
"employmentType": {
"type": "string",
"description": "Type that the job belongs to."
},
"city": {
"type": "string",
"description": "ATS job posting city name."
},
"state": {
"type": "string",
"description": "ATS job posting state name."
},
"country": {
"type": "string",
"description": "ATS job posting country name."
},
"address": {
"type": "string",
"description": "ATS job posting address."
},
"postalCode": {
"type": "string",
"description": "ATS job posting location zip code."
},
"hiringManagerEmail": {
"type": "string",
"description": "Email of hiring manager associated to the job."
},
"hiringManagerName": {
"type": "string",
"description": "Name of hiring manager associated to the job."
},
"recruiterEmail": {
"type": "string",
"description": "Email of the recruiter assigned to the job."
},
"recruiterName": {
"type": "string",
"description": "Name of the recruiter assigned to the job."
},
"source": {
"type": "string",
"description": "Job source."
},
"displayCareerSite": {
"type": "boolean",
"description": "To display the job on career site or not."
},
"multiLocation": {
"type": "array",
"description": "All job posting locations, includes /excludes primary posting location.",
"items": {
"LocationDTO": {
"type": "object",
"properties": {
"cityState": {
"type": "string",
"description": "City State of Job"
},
"cityCountry": {
"type": "string",
"description": "City Country of Job"
},
"cityStateCountry": {
"type": "string",
"description": "City State Country of Job"
},
"stateCountry": {
"type": "string",
"description": "State Country of Job"
},
"locationDisplay": {
"type": "string",
"description": "Display Location of Job"
},
"city": {
"type": "string",
"description": "ATS job posting city name."
},
"state": {
"type": "string",
"description": "ATS job posting state name."
},
"country": {
"type": "string",
"description": "ATS job posting country name."
},
"address": {
"type": "string",
"description": "ATS job posting address."
},
"postalCode": {
"type": "string",
"description": "ATS job posting location zip code."
}
}
}
}
},
"multiCategory": {
"type": "array",
"description": "All categories that the job belongs to.",
"items": {
"Category": {
"required": {
"0": "category"
},
"type": "object",
"properties": {
"category": {
"type": "string",
"description": "Phenom job category."
}
}
}
}
},
"multiRecruiter": {
"type": "array",
"description": "Data of recruiters assigned to the job(array).",
"items": {
"Recruiter": {
"required": {
"0": "recruiterEmail",
"1": "recruiterName"
},
"type": "object",
"properties": {
"recruiterName": {
"type": "string",
"description": "Name of the recruiter assigned to the job."
},
"recruiterEmail": {
"type": "string",
"description": "Email of the recruiter assigned to the job."
}
}
}
}
},
"additionalFields": {
"type": "object",
"description": "Additional fields associated to the job."
},
"referenceId": {
"type": "string",
"description": "Reference Id of the Job"
},
"visibilityLocale": {
"type": "array",
"description": "All locales that the job belongs to.",
"items": {
"type": "string"
}
},
"visibilitySiteType": {
"type": "array",
"description": "All personas that the jobs belongs to.",
"items": {
"type": "string"
}
}
}
}
}
}
}
]
Bad Request
copied![
{
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "Status returned by the API."
},
"message": {
"type": "string",
"description": "Error Message."
}
}
}
]
Internal Server Error
copied![
{
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "Status returned by the API."
},
"message": {
"type": "string",
"description": "Error Message."
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | OK | JobSuccessResponse |
201 | OK | JobSuccessResponse |
400 | Bad Request | ErrorResponse |
500 | Internal Server Error | ErrorResponse |
patch
copied!# You can also use wgetcurl -X PATCH https://api.phenom.com//jobs-api/v1/jobs/{referenceId}
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
PATCH /jobs-api/v1/jobs/{referenceId}
This API is used to update a job using its unique reference ID.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"applyUrl": {
"type": "string",
"description": "Apply url of the job."
},
"category": {
"type": "string",
"description": "Phenom job category."
},
"companyName": {
"type": "string",
"description": "Tenant name."
},
"externalApply": {
"type": "boolean",
"description": "To have Apply Button for job"
},
"description": {
"type": "string",
"description": "ATS job description."
},
"title": {
"type": "string",
"description": "ATS job title."
},
"employmentType": {
"type": "string",
"description": "Type that the job belongs to."
},
"city": {
"type": "string",
"description": "ATS job posting city name."
},
"state": {
"type": "string",
"description": "ATS job posting state name."
},
"country": {
"type": "string",
"description": "ATS job posting country name."
},
"address": {
"type": "string",
"description": "ATS job posting address."
},
"postalCode": {
"type": "string",
"description": "ATS job posting location zip code."
},
"hiringManagerEmail": {
"type": "string",
"description": "Email of hiring manager associated to the job."
},
"hiringManagerName": {
"type": "string",
"description": "Name of hiring manager associated to the job."
},
"recruiterEmail": {
"type": "string",
"description": "Email of the recruiter assigned to the job."
},
"recruiterName": {
"type": "string",
"description": "Name of the recruiter assigned to the job."
},
"source": {
"type": "string",
"description": "Job source."
},
"displayCareerSite": {
"type": "boolean",
"description": "To display the job on career site or not."
},
"multiLocation": {
"type": "array",
"description": "All job posting locations, includes /excludes primary posting location.",
"items": {
"LocationDTO": {
"type": "object",
"properties": {
"cityState": {
"type": "string",
"description": "City State of Job"
},
"cityCountry": {
"type": "string",
"description": "City Country of Job"
},
"cityStateCountry": {
"type": "string",
"description": "City State Country of Job"
},
"stateCountry": {
"type": "string",
"description": "State Country of Job"
},
"locationDisplay": {
"type": "string",
"description": "Display Location of Job"
},
"city": {
"type": "string",
"description": "ATS job posting city name."
},
"state": {
"type": "string",
"description": "ATS job posting state name."
},
"country": {
"type": "string",
"description": "ATS job posting country name."
},
"address": {
"type": "string",
"description": "ATS job posting address."
},
"postalCode": {
"type": "string",
"description": "ATS job posting location zip code."
}
}
}
}
},
"multiCategory": {
"type": "array",
"description": "All categories that the job belongs to.",
"items": {
"Category": {
"required": {
"0": "category"
},
"type": "object",
"properties": {
"category": {
"type": "string",
"description": "Phenom job category."
}
}
}
}
},
"multiRecruiter": {
"type": "array",
"description": "Data of recruiters assigned to the job(array).",
"items": {
"Recruiter": {
"required": {
"0": "recruiterEmail",
"1": "recruiterName"
},
"type": "object",
"properties": {
"recruiterName": {
"type": "string",
"description": "Name of the recruiter assigned to the job."
},
"recruiterEmail": {
"type": "string",
"description": "Email of the recruiter assigned to the job."
}
}
}
}
},
"additionalFields": {
"type": "object",
"description": "Additional fields associated to the job."
},
"visibilityLocale": {
"type": "array",
"description": "All locales that the job belongs to.",
"items": {
"type": "string"
}
},
"visibilitySiteType": {
"type": "array",
"description": "All personas that the jobs belongs to.",
"items": {
"type": "string"
}
}
}
}
]
Parameters
Name | In | Type | Required |
---|---|---|---|
referenceId | path | string | true |
Request Parameters
Type | Name |
---|---|
application/json | PatchPayload |
Response
OK
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Status of the response."
},
"data": {
"type": "object",
"description": "Job.",
"JobResponseDTO": {
"type": "object",
"properties": {
"applyUrl": {
"type": "string",
"description": "Apply url of the job."
},
"category": {
"type": "string",
"description": "Phenom job category."
},
"externalApply": {
"type": "boolean",
"description": "To have Apply Button for job"
},
"companyName": {
"type": "string",
"description": "Tenant name."
},
"description": {
"type": "string",
"description": "ATS job description."
},
"jobId": {
"type": "string",
"description": "ATS jobId."
},
"locale": {
"type": "string",
"description": "Locale of the site (Language_Country)."
},
"reqId": {
"type": "string",
"description": "ATS requisition id."
},
"siteType": {
"type": "string",
"description": "Persona that the job belongs to."
},
"title": {
"type": "string",
"description": "ATS job title."
},
"employmentType": {
"type": "string",
"description": "Type that the job belongs to."
},
"city": {
"type": "string",
"description": "ATS job posting city name."
},
"state": {
"type": "string",
"description": "ATS job posting state name."
},
"country": {
"type": "string",
"description": "ATS job posting country name."
},
"address": {
"type": "string",
"description": "ATS job posting address."
},
"postalCode": {
"type": "string",
"description": "ATS job posting location zip code."
},
"hiringManagerEmail": {
"type": "string",
"description": "Email of hiring manager associated to the job."
},
"hiringManagerName": {
"type": "string",
"description": "Name of hiring manager associated to the job."
},
"recruiterEmail": {
"type": "string",
"description": "Email of the recruiter assigned to the job."
},
"recruiterName": {
"type": "string",
"description": "Name of the recruiter assigned to the job."
},
"source": {
"type": "string",
"description": "Job source."
},
"displayCareerSite": {
"type": "boolean",
"description": "To display the job on career site or not."
},
"multiLocation": {
"type": "array",
"description": "All job posting locations, includes /excludes primary posting location.",
"items": {
"LocationDTO": {
"type": "object",
"properties": {
"cityState": {
"type": "string",
"description": "City State of Job"
},
"cityCountry": {
"type": "string",
"description": "City Country of Job"
},
"cityStateCountry": {
"type": "string",
"description": "City State Country of Job"
},
"stateCountry": {
"type": "string",
"description": "State Country of Job"
},
"locationDisplay": {
"type": "string",
"description": "Display Location of Job"
},
"city": {
"type": "string",
"description": "ATS job posting city name."
},
"state": {
"type": "string",
"description": "ATS job posting state name."
},
"country": {
"type": "string",
"description": "ATS job posting country name."
},
"address": {
"type": "string",
"description": "ATS job posting address."
},
"postalCode": {
"type": "string",
"description": "ATS job posting location zip code."
}
}
}
}
},
"multiCategory": {
"type": "array",
"description": "All categories that the job belongs to.",
"items": {
"Category": {
"required": {
"0": "category"
},
"type": "object",
"properties": {
"category": {
"type": "string",
"description": "Phenom job category."
}
}
}
}
},
"multiRecruiter": {
"type": "array",
"description": "Data of recruiters assigned to the job(array).",
"items": {
"Recruiter": {
"required": {
"0": "recruiterEmail",
"1": "recruiterName"
},
"type": "object",
"properties": {
"recruiterName": {
"type": "string",
"description": "Name of the recruiter assigned to the job."
},
"recruiterEmail": {
"type": "string",
"description": "Email of the recruiter assigned to the job."
}
}
}
}
},
"additionalFields": {
"type": "object",
"description": "Additional fields associated to the job."
},
"referenceId": {
"type": "string",
"description": "Reference Id of the Job"
},
"visibilityLocale": {
"type": "array",
"description": "All locales that the job belongs to.",
"items": {
"type": "string"
}
},
"visibilitySiteType": {
"type": "array",
"description": "All personas that the jobs belongs to.",
"items": {
"type": "string"
}
}
}
}
}
}
}
]
OK
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Status of the response."
},
"data": {
"type": "object",
"description": "Job.",
"JobResponseDTO": {
"type": "object",
"properties": {
"applyUrl": {
"type": "string",
"description": "Apply url of the job."
},
"category": {
"type": "string",
"description": "Phenom job category."
},
"externalApply": {
"type": "boolean",
"description": "To have Apply Button for job"
},
"companyName": {
"type": "string",
"description": "Tenant name."
},
"description": {
"type": "string",
"description": "ATS job description."
},
"jobId": {
"type": "string",
"description": "ATS jobId."
},
"locale": {
"type": "string",
"description": "Locale of the site (Language_Country)."
},
"reqId": {
"type": "string",
"description": "ATS requisition id."
},
"siteType": {
"type": "string",
"description": "Persona that the job belongs to."
},
"title": {
"type": "string",
"description": "ATS job title."
},
"employmentType": {
"type": "string",
"description": "Type that the job belongs to."
},
"city": {
"type": "string",
"description": "ATS job posting city name."
},
"state": {
"type": "string",
"description": "ATS job posting state name."
},
"country": {
"type": "string",
"description": "ATS job posting country name."
},
"address": {
"type": "string",
"description": "ATS job posting address."
},
"postalCode": {
"type": "string",
"description": "ATS job posting location zip code."
},
"hiringManagerEmail": {
"type": "string",
"description": "Email of hiring manager associated to the job."
},
"hiringManagerName": {
"type": "string",
"description": "Name of hiring manager associated to the job."
},
"recruiterEmail": {
"type": "string",
"description": "Email of the recruiter assigned to the job."
},
"recruiterName": {
"type": "string",
"description": "Name of the recruiter assigned to the job."
},
"source": {
"type": "string",
"description": "Job source."
},
"displayCareerSite": {
"type": "boolean",
"description": "To display the job on career site or not."
},
"multiLocation": {
"type": "array",
"description": "All job posting locations, includes /excludes primary posting location.",
"items": {
"LocationDTO": {
"type": "object",
"properties": {
"cityState": {
"type": "string",
"description": "City State of Job"
},
"cityCountry": {
"type": "string",
"description": "City Country of Job"
},
"cityStateCountry": {
"type": "string",
"description": "City State Country of Job"
},
"stateCountry": {
"type": "string",
"description": "State Country of Job"
},
"locationDisplay": {
"type": "string",
"description": "Display Location of Job"
},
"city": {
"type": "string",
"description": "ATS job posting city name."
},
"state": {
"type": "string",
"description": "ATS job posting state name."
},
"country": {
"type": "string",
"description": "ATS job posting country name."
},
"address": {
"type": "string",
"description": "ATS job posting address."
},
"postalCode": {
"type": "string",
"description": "ATS job posting location zip code."
}
}
}
}
},
"multiCategory": {
"type": "array",
"description": "All categories that the job belongs to.",
"items": {
"Category": {
"required": {
"0": "category"
},
"type": "object",
"properties": {
"category": {
"type": "string",
"description": "Phenom job category."
}
}
}
}
},
"multiRecruiter": {
"type": "array",
"description": "Data of recruiters assigned to the job(array).",
"items": {
"Recruiter": {
"required": {
"0": "recruiterEmail",
"1": "recruiterName"
},
"type": "object",
"properties": {
"recruiterName": {
"type": "string",
"description": "Name of the recruiter assigned to the job."
},
"recruiterEmail": {
"type": "string",
"description": "Email of the recruiter assigned to the job."
}
}
}
}
},
"additionalFields": {
"type": "object",
"description": "Additional fields associated to the job."
},
"referenceId": {
"type": "string",
"description": "Reference Id of the Job"
},
"visibilityLocale": {
"type": "array",
"description": "All locales that the job belongs to.",
"items": {
"type": "string"
}
},
"visibilitySiteType": {
"type": "array",
"description": "All personas that the jobs belongs to.",
"items": {
"type": "string"
}
}
}
}
}
}
}
]
Bad Request
copied![
{
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "Status returned by the API."
},
"message": {
"type": "string",
"description": "Error Message."
}
}
}
]
Internal Server Error
copied![
{
"type": "object",
"properties": {
"errorCode": {
"type": "string",
"description": "Error Code."
},
"errorDesc": {
"type": "string",
"description": "Error Description."
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | OK | JobSuccessResponse |
201 | OK | JobSuccessResponse |
400 | Bad Request | ErrorResponse |
500 | Internal Server Error | CustomError |
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//jobs-api/v1/closedJobs
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
GET /jobs-api/v1/closedJobs
This API retrieves a list of closed jobs based on search or query parameters like locale, site type, job ID, and category.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
jobId | query | string | false |
locale | query | string | false |
category | query | string | false |
siteType | query | string | false |
offset | query | string | false |
limit | query | string | false |
Response
OK
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Status of the response."
},
"offset": {
"type": "integer",
"description": "Parameter defines from which point to query for jobs."
},
"limit": {
"type": "integer",
"description": "Parameter defines how many jobs to query."
},
"totalRecordsCount": {
"type": "integer",
"description": "Total number of jobs for given query."
},
"data": {
"type": "array",
"description": "List of jobs.",
"items": {
"JobResponseDTO": {
"type": "object",
"properties": {
"applyUrl": {
"type": "string",
"description": "Apply url of the job."
},
"category": {
"type": "string",
"description": "Phenom job category."
},
"externalApply": {
"type": "boolean",
"description": "To have Apply Button for job"
},
"companyName": {
"type": "string",
"description": "Tenant name."
},
"description": {
"type": "string",
"description": "ATS job description."
},
"jobId": {
"type": "string",
"description": "ATS jobId."
},
"locale": {
"type": "string",
"description": "Locale of the site (Language_Country)."
},
"reqId": {
"type": "string",
"description": "ATS requisition id."
},
"siteType": {
"type": "string",
"description": "Persona that the job belongs to."
},
"title": {
"type": "string",
"description": "ATS job title."
},
"employmentType": {
"type": "string",
"description": "Type that the job belongs to."
},
"city": {
"type": "string",
"description": "ATS job posting city name."
},
"state": {
"type": "string",
"description": "ATS job posting state name."
},
"country": {
"type": "string",
"description": "ATS job posting country name."
},
"address": {
"type": "string",
"description": "ATS job posting address."
},
"postalCode": {
"type": "string",
"description": "ATS job posting location zip code."
},
"hiringManagerEmail": {
"type": "string",
"description": "Email of hiring manager associated to the job."
},
"hiringManagerName": {
"type": "string",
"description": "Name of hiring manager associated to the job."
},
"recruiterEmail": {
"type": "string",
"description": "Email of the recruiter assigned to the job."
},
"recruiterName": {
"type": "string",
"description": "Name of the recruiter assigned to the job."
},
"source": {
"type": "string",
"description": "Job source."
},
"displayCareerSite": {
"type": "boolean",
"description": "To display the job on career site or not."
},
"multiLocation": {
"type": "array",
"description": "All job posting locations, includes /excludes primary posting location.",
"items": {
"LocationDTO": {
"type": "object",
"properties": {
"cityState": {
"type": "string",
"description": "City State of Job"
},
"cityCountry": {
"type": "string",
"description": "City Country of Job"
},
"cityStateCountry": {
"type": "string",
"description": "City State Country of Job"
},
"stateCountry": {
"type": "string",
"description": "State Country of Job"
},
"locationDisplay": {
"type": "string",
"description": "Display Location of Job"
},
"city": {
"type": "string",
"description": "ATS job posting city name."
},
"state": {
"type": "string",
"description": "ATS job posting state name."
},
"country": {
"type": "string",
"description": "ATS job posting country name."
},
"address": {
"type": "string",
"description": "ATS job posting address."
},
"postalCode": {
"type": "string",
"description": "ATS job posting location zip code."
}
}
}
}
},
"multiCategory": {
"type": "array",
"description": "All categories that the job belongs to.",
"items": {
"Category": {
"required": {
"0": "category"
},
"type": "object",
"properties": {
"category": {
"type": "string",
"description": "Phenom job category."
}
}
}
}
},
"multiRecruiter": {
"type": "array",
"description": "Data of recruiters assigned to the job(array).",
"items": {
"Recruiter": {
"required": {
"0": "recruiterEmail",
"1": "recruiterName"
},
"type": "object",
"properties": {
"recruiterName": {
"type": "string",
"description": "Name of the recruiter assigned to the job."
},
"recruiterEmail": {
"type": "string",
"description": "Email of the recruiter assigned to the job."
}
}
}
}
},
"additionalFields": {
"type": "object",
"description": "Additional fields associated to the job."
},
"referenceId": {
"type": "string",
"description": "Reference Id of the Job"
},
"visibilityLocale": {
"type": "array",
"description": "All locales that the job belongs to.",
"items": {
"type": "string"
}
},
"visibilitySiteType": {
"type": "array",
"description": "All personas that the jobs belongs to.",
"items": {
"type": "string"
}
}
}
}
}
}
}
}
]
OK
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Status of the response."
},
"offset": {
"type": "integer",
"description": "Parameter defines from which point to query for jobs."
},
"limit": {
"type": "integer",
"description": "Parameter defines how many jobs to query."
},
"totalRecordsCount": {
"type": "integer",
"description": "Total number of jobs for given query."
},
"data": {
"type": "array",
"description": "List of jobs.",
"items": {
"JobResponseDTO": {
"type": "object",
"properties": {
"applyUrl": {
"type": "string",
"description": "Apply url of the job."
},
"category": {
"type": "string",
"description": "Phenom job category."
},
"externalApply": {
"type": "boolean",
"description": "To have Apply Button for job"
},
"companyName": {
"type": "string",
"description": "Tenant name."
},
"description": {
"type": "string",
"description": "ATS job description."
},
"jobId": {
"type": "string",
"description": "ATS jobId."
},
"locale": {
"type": "string",
"description": "Locale of the site (Language_Country)."
},
"reqId": {
"type": "string",
"description": "ATS requisition id."
},
"siteType": {
"type": "string",
"description": "Persona that the job belongs to."
},
"title": {
"type": "string",
"description": "ATS job title."
},
"employmentType": {
"type": "string",
"description": "Type that the job belongs to."
},
"city": {
"type": "string",
"description": "ATS job posting city name."
},
"state": {
"type": "string",
"description": "ATS job posting state name."
},
"country": {
"type": "string",
"description": "ATS job posting country name."
},
"address": {
"type": "string",
"description": "ATS job posting address."
},
"postalCode": {
"type": "string",
"description": "ATS job posting location zip code."
},
"hiringManagerEmail": {
"type": "string",
"description": "Email of hiring manager associated to the job."
},
"hiringManagerName": {
"type": "string",
"description": "Name of hiring manager associated to the job."
},
"recruiterEmail": {
"type": "string",
"description": "Email of the recruiter assigned to the job."
},
"recruiterName": {
"type": "string",
"description": "Name of the recruiter assigned to the job."
},
"source": {
"type": "string",
"description": "Job source."
},
"displayCareerSite": {
"type": "boolean",
"description": "To display the job on career site or not."
},
"multiLocation": {
"type": "array",
"description": "All job posting locations, includes /excludes primary posting location.",
"items": {
"LocationDTO": {
"type": "object",
"properties": {
"cityState": {
"type": "string",
"description": "City State of Job"
},
"cityCountry": {
"type": "string",
"description": "City Country of Job"
},
"cityStateCountry": {
"type": "string",
"description": "City State Country of Job"
},
"stateCountry": {
"type": "string",
"description": "State Country of Job"
},
"locationDisplay": {
"type": "string",
"description": "Display Location of Job"
},
"city": {
"type": "string",
"description": "ATS job posting city name."
},
"state": {
"type": "string",
"description": "ATS job posting state name."
},
"country": {
"type": "string",
"description": "ATS job posting country name."
},
"address": {
"type": "string",
"description": "ATS job posting address."
},
"postalCode": {
"type": "string",
"description": "ATS job posting location zip code."
}
}
}
}
},
"multiCategory": {
"type": "array",
"description": "All categories that the job belongs to.",
"items": {
"Category": {
"required": {
"0": "category"
},
"type": "object",
"properties": {
"category": {
"type": "string",
"description": "Phenom job category."
}
}
}
}
},
"multiRecruiter": {
"type": "array",
"description": "Data of recruiters assigned to the job(array).",
"items": {
"Recruiter": {
"required": {
"0": "recruiterEmail",
"1": "recruiterName"
},
"type": "object",
"properties": {
"recruiterName": {
"type": "string",
"description": "Name of the recruiter assigned to the job."
},
"recruiterEmail": {
"type": "string",
"description": "Email of the recruiter assigned to the job."
}
}
}
}
},
"additionalFields": {
"type": "object",
"description": "Additional fields associated to the job."
},
"referenceId": {
"type": "string",
"description": "Reference Id of the Job"
},
"visibilityLocale": {
"type": "array",
"description": "All locales that the job belongs to.",
"items": {
"type": "string"
}
},
"visibilitySiteType": {
"type": "array",
"description": "All personas that the jobs belongs to.",
"items": {
"type": "string"
}
}
}
}
}
}
}
}
]
Bad Request
copied![
{
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "Status returned by the API."
},
"message": {
"type": "string",
"description": "Error Message."
}
}
}
]
Internal Server Error
copied![
{
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "Status returned by the API."
},
"message": {
"type": "string",
"description": "Error Message."
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | OK | JobsListSuccessResponse |
201 | OK | JobsListSuccessResponse |
400 | Bad Request | ErrorResponse |
500 | Internal Server Error | ErrorResponse |
Job Activities
These API's allows you to perform activities on Jobs
Hiring Team
These API's allows you to perform operations on Hiring Team.
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//jobs-api/activities/v1/jobs/{jobId}/hiring-team
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
GET /jobs-api/activities/v1/jobs/{jobId}/hiring-team
This API fetches the Hiring Team for the mentioned 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 |
Response
200 response
copied![
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"hiringTeamList": {
"type": "array",
"items": {
"type": "object",
"properties": {
"role": {
"type": "string",
"description": "Role or position of a member in the hiring team."
},
"createdDate": {
"type": "number",
"description": "Timestamp indicating when the member was created in the hiring team."
},
"read": {
"type": "string",
"description": "Read status or permission of the member."
},
"name": {
"type": "string",
"description": "Name of the member in the hiring team."
},
"emailId": {
"type": "string",
"description": "Email address of the member in the hiring team."
},
"source": {
"type": "string",
"description": "Source or origin of the member in the hiring team."
}
},
"required": {
"0": "role",
"1": "createdDate",
"2": "read",
"3": "name",
"4": "emailId",
"5": "source"
}
}
}
},
"required": {
"0": "hiringTeamList"
}
},
"description": "Array of objects containing information about the hiring team members."
},
"message": {
"type": "string",
"description": "A human readable message providing details about the operation result."
},
"status": {
"type": "string",
"description": "Indicates the status of the operation (e.g., success, failure)."
},
"timestamp": {
"type": "string",
"description": "Timestamp indicating when the operation was performed."
}
},
"required": {
"0": "data",
"1": "message",
"2": "status",
"3": "timestamp"
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | HiringTeam |
patch
copied!# You can also use wgetcurl -X PATCH https://api.phenom.com//jobs-api/activities/v1/jobs/{jobId}/hiring-team
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
PATCH /jobs-api/activities/v1/jobs/{jobId}/hiring-team
Updates the Hiring Team for the Job with given JobId.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"opType": {
"type": "string",
"description": "The operation type for updating the hiring team."
},
"hiringTeamList": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of a member in the hiring team."
},
"emailId": {
"type": "string",
"description": "The email address of a member in the hiring team."
},
"role": {
"type": "string",
"description": "The role of a member in the hiring team."
}
},
"required": {
"0": "name",
"1": "emailId",
"2": "role"
},
"description": "Details of a member in the hiring team."
},
"description": "An array containing details of members in the hiring team for the update."
}
},
"required": {
"0": "opType",
"1": "hiringTeamList"
},
"description": "Request object for updating the hiring team of jobs."
}
]
Parameters
Name | In | Type | Required |
---|---|---|---|
jobId | path | string | true |
Request Parameters
Type | Name |
---|---|
application/json | UpdateJobsHiringTeamRequest |
Response
200 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status indicating the success of the update operation on the hiring team."
},
"message": {
"type": "string",
"description": "A human readable message providing additional information about the update operation."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the update operation on the hiring team occurred."
}
},
"description": "Response object for a successful update of the hiring team."
}
]
404 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status indicating that the requested resource was not found."
},
"message": {
"type": "string",
"description": "A human readable message providing details about the not found error."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the not found error occurred."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "Response object for an error when the requested resource is not found."
}
]
500 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status indicating an internal server error."
},
"message": {
"type": "string",
"description": "A human readable message providing details about the internal server error."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the internal server error occurred."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "Response object for an internal server error."
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | UpdateHiringTeamResponse |
404 | 404 response | NotFoundError |
500 | 500 response | InternalServerErrorResponse |
Job Attachments
These API's allows you to fetch Job attachments.
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//jobs-api/activities/v1/jobs/{jobId}/attachments
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
GET /jobs-api/activities/v1/jobs/{jobId}/attachments
Fetches Job Attachments for the 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 |
Response
200 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status indicating the success of the operation to fetch job attachments."
},
"message": {
"type": "string",
"description": "A human readable message providing additional information about the fetch operation."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the fetch operation for job attachments occurred."
},
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"attachmentDate": {
"type": "string",
"description": "The date when the attachment was added to the job."
},
"createdByUserName": {
"type": "string",
"description": "The name of the user who added the attachment to the job."
},
"attachmentName": {
"type": "string",
"description": "The name of the attachment."
},
"attachmentId": {
"type": "string",
"description": "The unique identifier for the attachment."
},
"createdByUserEmail": {
"type": "string",
"description": "The email address of the user who added the attachment to the job."
}
}
},
"description": "An array containing details of job attachments."
}
},
"description": "Response object for a successful fetch of job attachments."
}
]
No Data found
copied![
{
"type": "object",
"description": "Response indicating no data has been found.",
"properties": {}
}
]
Bad Request Response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status indicating a bad request."
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"timestamp": {
"type": "string",
"description": "The timestamp when the error occurred."
},
"errorAPI": {
"type": "string",
"description": "The specific API on which the error has occurred."
},
"message": {
"type": "string",
"description": "A human readable error message describing the issue."
}
}
}
}
},
"description": "Response object for a bad request, containing details about errors."
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | GetJobAttachmentsResponse |
204 | No Data found | NoContentResponse |
400 | Bad Request Response | BadRequestError |
Job Category
These API's allows you to fetch the Job Categories.
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//jobs-api/activities/v1/category
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
GET /jobs-api/activities/v1/category
Fetches All the available Job Categories.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
locale | query | string | false |
from | query | integer | false |
limit | query | integer | false |
keyword | query | string | false |
Response
200 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status indicating the success of the operation to fetch job categories."
},
"message": {
"type": "string",
"description": "A human readable message providing additional information about the fetch operation."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the fetch operation for job categories occurred."
},
"pagination": {
"type": "object",
"properties": {
"size": {
"type": "number",
"description": "The number of job categories in the current response."
},
"from": {
"type": "number",
"description": "The index from which the job categories are being retrieved."
},
"totalCount": {
"type": "number",
"description": "The total number of job categories available."
}
},
"description": "Pagination details for the list of job categories."
},
"data": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"category": {
"type": "string",
"description": "The name of a job category."
}
},
"description": "Details of an individual job category within the array."
}
}
}
},
"description": "Response object for a successful fetch of job categories."
}
]
204 response
copied![
{
"type": "object",
"description": "Response indicating no data has been found.",
"properties": {}
}
]
400 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status indicating a bad request."
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"timestamp": {
"type": "string",
"description": "The timestamp when the error occurred."
},
"errorAPI": {
"type": "string",
"description": "The specific API on which the error has occurred."
},
"message": {
"type": "string",
"description": "A human readable error message describing the issue."
}
}
}
}
},
"description": "Response object for a bad request, containing details about errors."
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | GetJobCategories |
204 | 204 response | NoContentResponse |
400 | 400 response | BadRequestError |
Job Notes
These API's allows you to operate on notes related to Jobs.
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//jobs-api/activities/v1/jobs/{jobId}/notes
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
GET /jobs-api/activities/v1/jobs/{jobId}/notes
Fetches Job Notes for the mentioned 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 |
from | query | integer | false |
size | query | integer | false |
recruiterEmail | query | string | false |
includePrivateNotes | query | string | false |
Response
200 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status indicating the success of the operation to fetch job notes."
},
"message": {
"type": "string",
"description": "A human readable message providing additional information about the fetch operation."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the fetch operation for job notes occurred."
},
"pagination": {
"type": "object",
"properties": {
"size": {
"type": "number",
"description": "The number of notes in the current response."
},
"from": {
"type": "number",
"description": "The index from which the notes are being retrieved."
},
"totalCount": {
"type": "number",
"description": "The total number of notes available for the job."
}
},
"description": "Pagination details for the list of notes."
},
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"updatedDate": {
"type": "string",
"description": "The date when the note was last updated."
},
"jobId": {
"type": "string",
"description": "The identifier for the job associated with the note."
},
"createdDate": {
"type": "string",
"description": "The date when the note was created."
},
"taggedRecruiters": {
"type": "array",
"items": {},
"description": "An array containing details of recruiters tagged to the note."
},
"name": {
"type": "string",
"description": "The name associated with the note."
},
"notes": {
"type": "string",
"description": "The content of the note."
}
}
},
"description": "An array containing details of job notes."
}
},
"description": "Response object for a successful fetch of job notes."
}
]
204 response
copied![
{
"type": "object",
"description": "Response indicating no data has been found.",
"properties": {}
}
]
400 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status indicating a bad request."
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"timestamp": {
"type": "string",
"description": "The timestamp when the error occurred."
},
"errorAPI": {
"type": "string",
"description": "The specific API on which the error has occurred."
},
"message": {
"type": "string",
"description": "A human readable error message describing the issue."
}
}
}
}
},
"description": "Response object for a bad request, containing details about errors."
}
]
404 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status indicating that the requested resource was not found."
},
"message": {
"type": "string",
"description": "A human readable message providing details about the not found error."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the not found error occurred."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "Response object for an error when the requested resource is not found."
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | GetJobNotesResponse |
204 | 204 response | NoContentResponse |
400 | 400 response | BadRequestError |
404 | 404 response | NotFoundError |
post
copied!# You can also use wgetcurl -X POST https://api.phenom.com//jobs-api/activities/v1/jobs/{jobId}/notes
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
POST /jobs-api/activities/v1/jobs/{jobId}/notes
Creates Job Notes for the mentioned Job.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"taggedRecruiters": {
"type": "array",
"items": {
"type": "string"
},
"description": "An array of recruiter IDs to be tagged to the job note."
},
"entityType": {
"type": "string",
"description": "The type of entity associated with the job note."
},
"noteText": {
"type": "string",
"description": "The text content of the job note."
},
"asPrivate": {
"type": "boolean",
"description": "A boolean indicating whether the job note should be marked as private, which restricts the visibility of the note to the user who created it."
}
},
"description": "Request object for creating job notes."
}
]
Parameters
Name | In | Type | Required |
---|---|---|---|
jobId | path | string | true |
Request Parameters
Type | Name |
---|---|
application/json | CreateJobNoteRequest |
Response
200 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status indicating the success of the operation to create job notes."
},
"message": {
"type": "string",
"description": "A human readable message providing additional information about the creation of job notes."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the creation of job notes occurred."
}
},
"description": "Response object for a successful creation of job notes."
}
]
204 response
copied![
{
"type": "object",
"description": "Response indicating no data has been found.",
"properties": {}
}
]
400 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status indicating a bad request."
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"timestamp": {
"type": "string",
"description": "The timestamp when the error occurred."
},
"errorAPI": {
"type": "string",
"description": "The specific API on which the error has occurred."
},
"message": {
"type": "string",
"description": "A human readable error message describing the issue."
}
}
}
}
},
"description": "Response object for a bad request, containing details about errors."
}
]
404 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status indicating that the requested resource was not found."
},
"message": {
"type": "string",
"description": "A human readable message providing details about the not found error."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the not found error occurred."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "Response object for an error when the requested resource is not found."
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | CreateJobNoteResponse |
204 | 204 response | NoContentResponse |
400 | 400 response | BadRequestError |
404 | 404 response | NotFoundError |
Search
These APIs helps to find relevant job listings matching specific keywords.
post
copied!# You can also use wgetcurl -X POST https://api.phenom.com//jobs-api/v1/jobs/search/
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
POST /jobs-api/v1/jobs/search/
This API assist in discovering job listings that align with particular keywords or search terms.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Body Parameter
copied![
{
"type": "object",
"description": "Request to Search Jobs.",
"properties": {
"keywords": {
"type": "string",
"description": "Keyword to search."
},
"from": {
"type": "integer",
"description": "Starting point from which the data should be retrieved."
},
"size": {
"type": "integer",
"description": "Size of the response."
},
"booleanOperator": {
"type": "string",
"description": "Search operator accepts \"and\" / \"or\"."
},
"locale": {
"type": "string",
"description": "Locale of the site (Language_Country) - Example: en_US."
},
"siteType": {
"type": "string",
"description": "Persona Value - Example: Internal, External."
},
"userType": {
"type": "string",
"description": "Type of the user - Internal or External User."
},
"orderBy": {
"type": "string",
"description": "Resultant order of jobs."
},
"facets": {
"type": "object",
"description": "Attributes and it's corresponding values to filter jobs.",
"properties": {
"city": {
"type": "array",
"items": {
"type": "string"
},
"description": "City filter will be applied based on the values present in the list."
},
"state": {
"type": "array",
"items": {
"type": "string"
},
"description": "State filter will be applied based on the values present in the list."
},
"country": {
"type": "array",
"items": {
"type": "string"
},
"description": "Country filter will be applied based on the values present in the list."
},
"category": {
"type": "array",
"items": {
"type": "string"
},
"description": "Category filter will be applied based on the values present in the list."
}
}
},
"ip": {
"type": "string",
"description": "User IP Address."
},
"locationData": {
"LocationData": {
"type": "object",
"properties": {
"latlong": {
"type": "string",
"description": "Latitude, Longitude of the location."
},
"location": {
"type": "string",
"description": "Location Value."
},
"radius": {
"type": "integer",
"description": "Radius to consider from the entered location."
},
"radiusUnit": {
"type": "string",
"description": "Radius unit to consider."
}
}
}
}
}
}
]
Request Parameters
Type | Name |
---|---|
application/json | JobSearchRequest |
Response
Returns filtered jobs.
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Status returned by the API."
},
"data": {
"type": "object",
"description": "Job Search Response data.",
"properties": {
"jobs": {
"type": "array",
"items": {
"JobNode": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Title of the Job."
},
"jobId": {
"type": "string",
"description": "Job ID - unique field to identify the job."
},
"city": {
"type": "string",
"description": "City value where the job is posted."
},
"state": {
"type": "string",
"description": "State value where the job is posted."
},
"country": {
"type": "string",
"description": "Country value where the job is posted."
},
"location": {
"type": "string",
"description": "Location of the job posted."
},
"locale": {
"type": "string",
"description": "Locale of the site (Language_Country) - Example: en_US."
},
"siteType": {
"type": "string",
"description": "Persona Value - Example: Internal, External."
},
"jobUpdatedDate": {
"type": "string",
"description": "Timestamp where the latest update was pushed to the job."
},
"createdDate": {
"type": "string",
"description": "Timestamp when the job was created."
},
"category": {
"type": "string",
"description": "Job Category."
},
"multiCategory": {
"type": "array",
"description": "List of categories where the job is posted to.",
"items": {
"type": "string",
"description": "category where the job is posted to."
}
},
"multiLocation": {
"type": "array",
"description": "List of locations where the job is posted.",
"items": {
"type": "string",
"description": "locations where the job is posted."
}
}
}
}
}
}
}
}
}
}
]
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",
"properties": {
"status": {
"type": "integer",
"description": "Status returned by the API."
},
"message": {
"type": "string",
"description": "Error Message."
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | Returns filtered jobs. | JobSearchResponse |
400 | Bad Request. | BadRequest |
500 | Server Error. | ErrorResponse |
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//jobs-api/v1/jobs/search/suggestions
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
GET /jobs-api/v1/jobs/search/suggestions
This API offers automatic suggestions for job titles based on entered keywords or search terms.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
searchBy | query | string | true |
limit | query | string | false |
prefix | query | string | true |
Response
Typeahead results filtered based on input prefix.
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Status returned by the API."
},
"data": {
"type": "object",
"description": "Response.",
"properties": {
"titles": {
"type": "array",
"description": "List of Titles.",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Title of the job."
},
"jobId": {
"type": "string",
"description": "Job ID - Unique Identifier of the job."
},
"titleHtml": {
"type": "string",
"description": "Title of the job with highlighted tags."
}
}
}
}
}
}
}
}
]
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",
"properties": {
"status": {
"type": "integer",
"description": "Status returned by the API."
},
"message": {
"type": "string",
"description": "Error Message."
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | Typeahead results filtered based on input prefix. | JobTitlesResponse |
400 | Bad Request. | BadRequest |
500 | Server Error. | ErrorResponse |
Recommendations
These APIs provide job suggestions based on your profile, akin job listings, and nearby job opportunities tailored to your qualifications.
post
copied!# You can also use wgetcurl -X POST https://api.phenom.com//jobs-api/v1/jobs/recommendation/profilematched
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
POST /jobs-api/v1/jobs/recommendation/profilematched
This API provides job recommendations for a profile.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"locale": {
"type": "string",
"description": "Locale of the site (Language_Country) - Example: en_US."
},
"siteType": {
"type": "string",
"default": "external",
"description": "Persona Value - Example: Internal, External."
},
"userType": {
"type": "string",
"default": "external",
"description": "Type of the user - Internal or External User."
},
"userId": {
"type": "string",
"description": "Unique identified for a user."
},
"userProfile": {
"UserProfile": {
"type": "object",
"properties": {
"categories": {
"type": "array",
"items": {
"type": "string",
"description": "List of categories from which the recommendations should be provided."
}
},
"skills": {
"type": "array",
"items": {
"type": "string",
"description": "Skill set of the user."
}
},
"title": {
"type": "string",
"description": "Recent designation of the user."
},
"yearsOfExperience": {
"type": "string",
"example": "0-5",
"description": "Total number of years of experience of the user."
},
"preferredLocations": {
"type": "array",
"items": {
"PreferredLocations": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "Preferred location of the user."
},
"latlong": {
"type": "object",
"properties": {
"lon": {
"type": "number",
"format": "double",
"description": "Longitude of the preferred location provided by user."
},
"lan": {
"type": "number",
"format": "double",
"description": "Latitude of the preferred location provided by user."
}
}
}
}
}
}
}
}
}
},
"maxRecommendationSize": {
"type": "integer",
"description": "Maximum recommendations to be provided in response."
}
}
}
]
Request Parameters
Type | Name |
---|---|
application/json | JobRecommendation |
Response
200 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "integer",
"default": "200",
"description": "HTTP Status code determining the response status."
},
"totalCount": {
"type": "integer",
"description": "Total recommendations identified by the service."
},
"jobs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Title of the recommended job."
},
"category": {
"type": "string",
"description": "Category to which the recommended job belongs to."
},
"jobId": {
"type": "string",
"description": "Unique identifier for a job."
},
"city": {
"type": "string",
"description": "Primary city of the job's location."
},
"state": {
"type": "string",
"description": "Primary state of the job's location."
},
"country": {
"type": "string",
"description": "Primary country of the job's location."
},
"applyUrl": {
"type": "string",
"description": "Apply url for the job."
}
}
}
}
}
}
]
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",
"properties": {
"status": {
"type": "integer",
"description": "Status returned by the API."
},
"message": {
"type": "string",
"description": "Error Message."
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | ProfileMatchingResponse |
400 | Bad Request | BadRequest |
500 | Server Error | ErrorResponse |
post
copied!# You can also use wgetcurl -X POST https://api.phenom.com//jobs-api/v1/jobs/recommendation/similarjobs
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
POST /jobs-api/v1/jobs/recommendation/similarjobs
This API provides similar jobs to the given job.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"locale": {
"type": "string",
"description": "Locale of the site (Language_Country) - Example: en_US."
},
"siteType": {
"type": "string",
"description": "Persona Value - Example: Internal, External."
},
"userType": {
"type": "string",
"description": "Type of the user - Internal or External User."
},
"size": {
"type": "integer",
"description": "Size of the response."
}
}
}
]
Parameters
Name | In | Type | Required |
---|---|---|---|
jobId | query | string | true |
Request Parameters
Type | Name |
---|---|
application/json | SimilarJobsRequest |
Response
found the api
copied![
{
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "HTTP Status code determining the response status."
},
"hits": {
"type": "integer",
"description": "No of hits."
},
"data": {
"type": "object",
"properties": {
"similarJobs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Title of the recommended job."
},
"jobId": {
"type": "string",
"description": "Job ID - unique field to identify the job."
},
"category": {
"type": "string",
"description": "Category to which the job belongs to."
},
"city": {
"type": "string",
"description": "City of the Location to which the job belongs to."
},
"state": {
"type": "string",
"description": "State of the Location to which the job belongs to."
},
"country": {
"type": "string",
"description": "Country of the Location to which the job belongs to."
},
"applyUrl": {
"type": "string",
"description": "Apply Url of the job."
}
}
}
}
}
}
}
}
]
Some exception occured while extracting features.
copied![
{
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "Status returned by the API."
},
"message": {
"type": "string",
"description": "Error Message."
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | found the api | SimilarJobsResponse |
400 | Some exception occured while extracting features. | ErrorResponse |
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//jobs-api/v1/jobs/recommendation/nearby
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
GET /jobs-api/v1/jobs/recommendation/nearby
This API provides job listings nearby, using location as a parameter for the search.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
latitude | query | number | true |
longitude | query | number | true |
radius | query | integer |
Response
Returns Locations matching with given keyword.
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "HTTP Status code determining the response status."
},
"data": {
"type": "object",
"description": "Near By Jobs Response data.",
"properties": {
"nearbyjobs": {
"type": "array",
"items": {
"JobNode": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Title of the Job."
},
"jobId": {
"type": "string",
"description": "Job ID - unique field to identify the job."
},
"city": {
"type": "string",
"description": "City value where the job is posted."
},
"state": {
"type": "string",
"description": "State value where the job is posted."
},
"country": {
"type": "string",
"description": "Country value where the job is posted."
},
"location": {
"type": "string",
"description": "Location of the job posted."
},
"locale": {
"type": "string",
"description": "Locale of the site (Language_Country) - Example: en_US."
},
"siteType": {
"type": "string",
"description": "Persona Value - Example: Internal, External."
},
"jobUpdatedDate": {
"type": "string",
"description": "Timestamp where the latest update was pushed to the job."
},
"createdDate": {
"type": "string",
"description": "Timestamp when the job was created."
},
"category": {
"type": "string",
"description": "Job Category."
},
"multiCategory": {
"type": "array",
"description": "List of categories where the job is posted to.",
"items": {
"type": "string",
"description": "category where the job is posted to."
}
},
"multiLocation": {
"type": "array",
"description": "List of locations where the job is posted.",
"items": {
"type": "string",
"description": "locations where the job is posted."
}
}
}
}
}
}
}
}
}
}
]
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",
"properties": {
"status": {
"type": "integer",
"description": "Status returned by the API."
},
"message": {
"type": "string",
"description": "Error Message."
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | Returns Locations matching with given keyword. | NearByJobsResponse |
400 | Bad Request | BadRequest |
500 | Server Error | ErrorResponse |
Candidates
These Candidate APIs allow you to add, update and delete candidates.
get
copied!# You can also use wgetcurl -X GET https://api.phenom.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": {
"attachments": {
"type": "array",
"description": "Array containing details of attachments associated with the candidate.",
"items": {
"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": "Name of the resume file."
},
"attachmentName": {
"type": "string",
"description": "Name of the resume 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."
}
}
}
},
"education": {
"type": "array",
"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."
}
}
},
"description": "Array containing objects representing the educational background of the candidate."
},
"middleName": {
"type": "string",
"description": "The middle name of the candidate."
},
"userId": {
"type": "string",
"description": "Unique identifier for the user or candidate."
},
"lastUpdateTimestamp": {
"type": "number",
"description": "Timestamp indicating the last update time of the candidate's profile."
},
"employeeId": {
"type": "string",
"description": "Employee profile ID associated with the candidate."
},
"skills": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of skills possessed by 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": "A timestamp indicating the date and time when the candidate profile was created."
},
"address": {
"type": "array",
"items": {
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "The city of the location."
},
"state": {
"type": "string",
"description": "The state of the location."
},
"country": {
"type": "string",
"description": "The country of the location."
},
"zipCode": {
"type": "string",
"description": "The zipcode of the location."
}
}
},
"description": "An array representing a list of addresses associated with the candidate."
},
"updatedDate": {
"type": "number",
"description": "The date when the information was last updated."
},
"preferredCommunicationMode": {
"type": "object",
"description": "An object representing preferred communication modes.",
"properties": {
"sms": {
"type": "boolean",
"description": "A boolean indicating whether SMS is a preferred communication mode."
},
"email": {
"type": "boolean",
"description": "A boolean indicating whether email is a preferred communication mode."
}
}
},
"emailList": {
"type": "array",
"description": "An array representing an email list.",
"items": {
"type": "object",
"description": "An object representing details of an email entry in the list.",
"properties": {
"email": {
"type": "string",
"description": "A string representing the email address in the list."
},
"type": {
"type": "string",
"description": "A string representing the type of email entry."
},
"status": {
"type": "string",
"description": "A string representing the status of the email entry."
}
}
}
},
"experience": {
"type": "array",
"description": "An array representing professional experiences.",
"items": {
"type": "object",
"description": "An object representing details of a professional 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."
}
}
}
},
"contacts": {
"type": "array",
"description": "An array representing contact information for the individual.",
"items": {
"type": "object",
"description": "An object containing details of a contact entry.",
"properties": {
"phoneNumber": {
"type": "string",
"description": "A string representing the phone number in the contact entry."
},
"countryCode": {
"type": "string",
"description": "A string representing the country code of the phone number."
},
"status": {
"type": "string",
"description": "A string representing the status of the contact entry."
},
"type": {
"type": "string",
"description": "A string representing the type of contact entry."
}
}
}
},
"lastName": {
"type": "string",
"description": "A string representing the last name of the individual."
},
"internal": {
"type": "boolean",
"description": "A boolean indicating whether the individual is internal to the organization."
},
"atsId": {
"type": "string",
"description": "A string representing the unique identifier associated with the Applicant Tracking System (ATS)."
}
}
},
"message": {
"type": "string",
"description": "A string representing a message associated with the response."
},
"status": {
"type": "string",
"description": "A string representing the status of the request, indicating success, failure, or another state."
}
}
}
]
No content found for the given request.
copied![
{
"type": "object",
"description": "No content in 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."
}
}
}
]
Could not find candidate for given identifier.
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 candidate details. | Candidate |
204 | No content found for the given request. | ContentNotFound |
400 | Wrong request format or parameters missing. | Error |
404 | Could not find candidate for given identifier. | Error |
500 | Exception occurred. | Error |
post
copied!# You can also use wgetcurl -X POST https://api.phenom.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",
"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."
}
},
"description": "Schema defining the structure of the request body for creating a candidate profile."
}
]
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": "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 message.",
"properties": {
"message": {
"type": "string",
"description": "Description or message providing details about the error."
}
}
}
]
Not found.
copied![
{
"type": "object",
"description": "Object representing an error message.",
"properties": {
"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 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 | Candidate profile created successfully | CandidateCreateResponse |
400 | Wrong request format or parameters missing. | ErrorMessage |
404 | Not found. | ErrorMessage |
409 | Candidate profile already exists with given identifier. | ErrorMessage |
500 | Exception occurred. | ErrorMessage |
patch
copied!# You can also use wgetcurl -X PATCH https://api.phenom.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": "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 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.phenom.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.phenom.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.phenom.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.phenom.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.phenom.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.phenom.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.phenom.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.phenom.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.phenom.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.phenom.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.phenom.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.phenom.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.phenom.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.phenom.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.phenom.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.phenom.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.phenom.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.phenom.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.phenom.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 |
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.phenom.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.phenom.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.phenom.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.phenom.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.phenom.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.phenom.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.phenom.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.phenom.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.phenom.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.phenom.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": {
"message": {
"type": "string",
"default": "Bad Request: Missing required parameter",
"description": "A human readable message providing additional information about the 'bad request' error. It informs the user that there is a missing required parameter in the request."
},
"status": {
"type": "string",
"default": "failure",
"description": "Indicates the status of the error response. It typically represents a bad request."
},
"error": {
"type": "string",
"default": "INVALID_REQUEST_DATA",
"description": "A string representing the type of error. It is set to 'INVALID_REQUEST_DATA' to indicate that the request data is invalid."
},
"literalId": {
"type": "string",
"default": "hrm-ui-missing-required-parameters",
"description": "A unique identifier (ID) or code associated with the specific type of 'bad request' error. It may help in identifying and handling different types of errors."
}
},
"description": "An error response indicating a 'bad request,' typically due to missing required parameters, with details about the encountered issues."
}
]
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.phenom.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.phenom.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.phenom.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 |
Employee
The employee profile APIs are used to create, access, update and delete employee profile and preferences.
Employee Profile
The employee profile APIs are used to create, access, update and delete employee profile in an organisation.
post
copied!# You can also use wgetcurl -X POST https://api.phenom.com//employees-api/v1/employees
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
POST /employees-api/v1/employees
This API takes the employee information like name, email, skills, location, designation e.t.c., and creates a profile.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"profile": {
"EmployeeProfile": {
"type": "object",
"properties": {
"employeeId": {
"type": "string",
"description": "Employee Id - unique field to identify the employee.",
"default": "1002345"
},
"firstName": {
"type": "string",
"description": "First name of the employee.",
"default": "John"
},
"lastName": {
"type": "string",
"description": "Last name of the employee.",
"default": "Doe"
},
"email": {
"type": "string",
"description": "Company email of the employee.",
"default": "test.email@example.com"
},
"designation": {
"type": "string",
"description": "Designation of the employee in the company.",
"default": "Software Developer"
},
"location": {
"type": "string",
"description": "Location of the employee.",
"default": "Princeton,New Jersey,USA"
},
"pictureUrl": {
"type": "string",
"description": "Picture of the employee.",
"default": "https://assets.client.com/CareerConnectResources/pp/CLIENTID/wallpaper_preview.jpg"
}
}
}
}
}
}
]
Request Parameters
Type | Name |
---|---|
application/json | CreateEmployeeProfile |
Response
200 response
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "success"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Invalid request params
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": "Fields are blank"
}
}
}
]
Something went wrong
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | EmployeesAPISuccessResponse |
400 | Invalid request params | BadRequest |
500 | Something went wrong | ErrorResponse |
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//employees-api/v1/employees/{employeeId}
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
GET /employees-api/v1/employees/{employeeId}
This API takes the Employee ID as input and gives the employee profile.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
employeeId | path | string | true |
Response
200 response
copied![
{
"type": "object",
"properties": {
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "success"
},
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"data": {
"EmployeeProfile": {
"type": "object",
"properties": {
"employeeId": {
"type": "string",
"description": "Employee Id - unique field to identify the employee.",
"default": "1002345"
},
"firstName": {
"type": "string",
"description": "First name of the employee.",
"default": "John"
},
"lastName": {
"type": "string",
"description": "Last name of the employee.",
"default": "Doe"
},
"email": {
"type": "string",
"description": "Company email of the employee.",
"default": "test.email@example.com"
},
"designation": {
"type": "string",
"description": "Designation of the employee in the company.",
"default": "Software Developer"
},
"location": {
"type": "string",
"description": "Location of the employee.",
"default": "Princeton,New Jersey,USA"
},
"pictureUrl": {
"type": "string",
"description": "Picture of the employee.",
"default": "https://assets.client.com/CareerConnectResources/pp/CLIENTID/wallpaper_preview.jpg"
}
}
}
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Invalid request params
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": "Fields are blank"
}
}
}
]
something went wrong
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | EmployeeProfileSuccessResponse |
400 | Invalid request params | BadRequest |
500 | something went wrong | ErrorResponse |
delete
copied!# You can also use wgetcurl -X DELETE https://api.phenom.com//employees-api/v1/employees/{employeeId}
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
DELETE /employees-api/v1/employees/{employeeId}
This API takes the Employee ID as input and deletes the profile.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
employeeId | path | string | true |
Response
200 response
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "success"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Invalid request params
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": "Fields are blank"
}
}
}
]
Something went wrong
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | EmployeesAPISuccessResponse |
400 | Invalid request params | BadRequest |
500 | Something went wrong | ErrorResponse |
patch
copied!# You can also use wgetcurl -X PATCH https://api.phenom.com//employees-api/v1/employees/{employeeId}
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
PATCH /employees-api/v1/employees/{employeeId}
This API takes the updated employee details like designation, skills e.t.c., as input and updates the profile.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"data": {
"EmployeeProfile": {
"type": "object",
"properties": {
"employeeId": {
"type": "string",
"description": "Employee Id - unique field to identify the employee.",
"default": "1002345"
},
"firstName": {
"type": "string",
"description": "First name of the employee.",
"default": "John"
},
"lastName": {
"type": "string",
"description": "Last name of the employee.",
"default": "Doe"
},
"email": {
"type": "string",
"description": "Company email of the employee.",
"default": "test.email@example.com"
},
"designation": {
"type": "string",
"description": "Designation of the employee in the company.",
"default": "Software Developer"
},
"location": {
"type": "string",
"description": "Location of the employee.",
"default": "Princeton,New Jersey,USA"
},
"pictureUrl": {
"type": "string",
"description": "Picture of the employee.",
"default": "https://assets.client.com/CareerConnectResources/pp/CLIENTID/wallpaper_preview.jpg"
}
}
}
}
}
}
]
Parameters
Name | In | Type | Required |
---|---|---|---|
employeeId | path | string | true |
Request Parameters
Type | Name |
---|---|
application/json | UpdateEmployeeProfile |
Response
200 response
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "success"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Invalid request params
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": "Fields are blank"
}
}
}
]
something went wrong
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | EmployeesAPISuccessResponse |
400 | Invalid request params | BadRequest |
500 | something went wrong | ErrorResponse |
Employee Preferences
The employee preferences APIs are used to create, access, update and delete preferences in a employee profile in an organisation.
post
copied!# You can also use wgetcurl -X POST https://api.phenom.com//employees-api/v1/employees/{employeeId}/preferences
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
POST /employees-api/v1/employees/{employeeId}/preferences
This API takes the employee preferences like interests, locations and creates employee preferences.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"data": {
"EmployeePreference": {
"type": "object",
"properties": {
"interests": {
"type": "array",
"description": "The areas in which the employee is interested.",
"items": {
"type": "string",
"description": "List of interests which employee is preferred."
}
},
"locations": {
"description": "The locations in which the employee is interested.",
"type": "array",
"items": {
"type": "string",
"description": "List of locations which employee is preferred."
}
}
}
}
}
}
}
]
Parameters
Name | In | Type | Required |
---|---|---|---|
employeeId | path | string | true |
Request Parameters
Type | Name |
---|---|
application/json | CreateEmployeePreference |
Response
200 response
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "success"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Invalid request params
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": "Fields are blank"
}
}
}
]
Something went wrong
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | EmployeesAPISuccessResponse |
400 | Invalid request params | BadRequest |
500 | Something went wrong | ErrorResponse |
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//employees-api/v1/employees/{employeeId}/preferences
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
GET /employees-api/v1/employees/{employeeId}/preferences
This API takes the Employee Id as input and provides the employee preferences.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
employeeId | path | string | true |
Response
200 response
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"data": {
"EmployeePreference": {
"type": "object",
"properties": {
"interests": {
"type": "array",
"description": "The areas in which the employee is interested.",
"items": {
"type": "string",
"description": "List of interests which employee is preferred."
}
},
"locations": {
"description": "The locations in which the employee is interested.",
"type": "array",
"items": {
"type": "string",
"description": "List of locations which employee is preferred."
}
}
}
}
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "success"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Invalid request params
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": "Fields are blank"
}
}
}
]
Something went wrong
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | EmployeePreferenceSuccessResponse |
400 | Invalid request params | BadRequest |
500 | Something went wrong | ErrorResponse |
patch
copied!# You can also use wgetcurl -X PATCH https://api.phenom.com//employees-api/v1/employees/{employeeId}/preferences
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
PATCH /employees-api/v1/employees/{employeeId}/preferences
This API takes the updated employee details like interests, locations as input and updates the employee profile preferences.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"data": {
"EmployeePreference": {
"type": "object",
"properties": {
"interests": {
"type": "array",
"description": "The areas in which the employee is interested.",
"items": {
"type": "string",
"description": "List of interests which employee is preferred."
}
},
"locations": {
"description": "The locations in which the employee is interested.",
"type": "array",
"items": {
"type": "string",
"description": "List of locations which employee is preferred."
}
}
}
}
}
}
}
]
Parameters
Name | In | Type | Required |
---|---|---|---|
employeeId | path | string | true |
Request Parameters
Type | Name |
---|---|
application/json | UpdateEmployeePreference |
Response
200 response
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "success"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Invalid request params
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": "Fields are blank"
}
}
}
]
Something went wrong
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | EmployeesAPISuccessResponse |
400 | Invalid request params | BadRequest |
500 | Something went wrong | ErrorResponse |
delete
copied!# You can also use wgetcurl -X DELETE https://api.phenom.com//employees-api/v1/employees/{employeeId}/preferences
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
DELETE /employees-api/v1/employees/{employeeId}/preferences
This API takes the Employee Id as input and resets the employee preferences.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
employeeId | path | string | true |
Response
200 response
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "success"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Invalid request params
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": "Fields are blank"
}
}
}
]
Something went wrong
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | EmployeesAPISuccessResponse |
400 | Invalid request params | BadRequest |
500 | Something went wrong | ErrorResponse |
Employee Career Path
The Employee career path APIs are related to the career pathing that an employee can use them for upskilling in an organisation.
post
copied!# You can also use wgetcurl -X POST https://api.phenom.com//employees-api/careerpath/v1/employees/{employeeId}
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
POST /employees-api/careerpath/v1/employees/{employeeId}
This API takes the employee career role in an organisation and creates a career path based on the target role skills.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"path": {
"type": "array",
"items": {
"type": "object",
"PathItem": {
"type": "object",
"properties": {
"jobTitle": {
"description": "Job Title of the preferred job position.",
"type": "string",
"default": "IT Solutions Lead"
},
"jobProfileId": {
"description": "JobProfileId- unique field to identify the job position.",
"type": "string",
"default": "POS50003728"
}
}
}
}
},
"currentJobProfile": {
"type": "object",
"CurrentJobProfile": {
"type": "object",
"properties": {
"jobTitle": {
"description": "Job Title of the current job position.",
"type": "string",
"default": "Software Developer"
},
"jobProfileId": {
"description": "JobProfileId- unique field to identify the job position.",
"type": "string",
"default": "POS30003965"
}
}
}
}
}
}
]
Parameters
Name | In | Type | Required |
---|---|---|---|
employeeId | path | string | true |
Request Parameters
Type | Name |
---|---|
application/json | CreateCareerPath |
Response
200 response
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "success"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Invalid request params
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": "Fields are blank"
}
}
}
]
Something went wrong
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | CareerPathSuccessResponse |
400 | Invalid request params | BadRequest |
500 | Something went wrong | ErrorResponse |
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//employees-api/careerpath/v1/employees/{employeeId}
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
GET /employees-api/careerpath/v1/employees/{employeeId}
This API takes the candidate ID as input and gives the career path of the employee in an organisation, if previously created by an employee.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
employeeId | path | string | true |
Response
200 response
copied![
{
"type": "object",
"properties": {
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "success"
},
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"data": {
"type": "object",
"CareerPathData": {
"type": "object",
"properties": {
"jobProfiles": {
"type": "array",
"items": {
"type": "object",
"PathItem": {
"type": "object",
"properties": {
"jobTitle": {
"description": "Job Title of the preferred job position.",
"type": "string",
"default": "IT Solutions Lead"
},
"jobProfileId": {
"description": "JobProfileId- unique field to identify the job position.",
"type": "string",
"default": "POS50003728"
}
}
}
}
},
"pathId": {
"type": "string",
"description": "Path Id - unique field to identify the careerPath of the employee.",
"default": "8168055"
}
}
}
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Invalid request params
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": "Fields are blank"
}
}
}
]
Something went wrong
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | CareerPathSuccessResponseWithData |
400 | Invalid request params | BadRequest |
500 | Something went wrong | ErrorResponse |
patch
copied!# You can also use wgetcurl -X PATCH https://api.phenom.com//employees-api/careerpath/v1/employees/{employeeId}
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
PATCH /employees-api/careerpath/v1/employees/{employeeId}
This API takes the updated career path details from the employee like role/position and updates the Career path details for given employee.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"path": {
"type": "array",
"items": {
"type": "object",
"PathItem": {
"type": "object",
"properties": {
"jobTitle": {
"description": "Job Title of the preferred job position.",
"type": "string",
"default": "IT Solutions Lead"
},
"jobProfileId": {
"description": "JobProfileId- unique field to identify the job position.",
"type": "string",
"default": "POS50003728"
}
}
}
}
},
"currentJobProfile": {
"type": "object",
"CurrentJobProfile": {
"type": "object",
"properties": {
"jobTitle": {
"description": "Job Title of the current job position.",
"type": "string",
"default": "Software Developer"
},
"jobProfileId": {
"description": "JobProfileId- unique field to identify the job position.",
"type": "string",
"default": "POS30003965"
}
}
}
},
"pathId": {
"type": "string",
"description": "Path Id - unique field to identify the careerPath of the employee.",
"default": "8168055"
}
}
}
]
Parameters
Name | In | Type | Required |
---|---|---|---|
employeeId | path | string | true |
Request Parameters
Type | Name |
---|---|
application/json | UpdateCareerPath |
Response
200 response
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "success"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Invalid request params
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": "Fields are blank"
}
}
}
]
Something went wrong
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | CareerPathSuccessResponse |
400 | Invalid request params | BadRequest |
500 | Something went wrong | ErrorResponse |
Employee Courses
The Employee Course APIs are related to that an employee can use them for create, access, update and delete courses in an organisation.
post
copied!# You can also use wgetcurl -X POST https://api.phenom.com//employees-api/courses/v1/courses
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
POST /employees-api/courses/v1/courses
This API takes the course details like description, image, duration, skills e.t.c and creates a course.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"course": {
"Course": {
"type": "object",
"properties": {
"id": {
"description": "Id - unique field to identify the Course.",
"type": "string"
},
"title": {
"description": "Title of the Course.",
"type": "string"
},
"imageUrl": {
"description": "Image URL of the Course.",
"type": "string"
},
"url": {
"description": "URL of the Course to access.",
"type": "string"
},
"category": {
"description": "Category the Course belongs to.",
"type": "string"
},
"provider": {
"description": "Provider the Course. Ex: Coursera.",
"type": "string"
},
"assetType": {
"description": "AssetType of the Course.",
"type": "string"
},
"skillsAcquired": {
"type": "array",
"items": {
"type": "string",
"description": "List of skills which will be acquired from the course."
}
}
}
}
}
}
}
]
Request Parameters
Type | Name |
---|---|
application/json | CreateCourse |
Response
200 response
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "success"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Invalid request params
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": "Fields are blank"
}
}
}
]
Something went wrong
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | CoursesSuccessResponse |
400 | Invalid request params | BadRequest |
500 | Something went wrong | ErrorResponse |
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//employees-api/courses/v1/courses/{courseId}
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
GET /employees-api/courses/v1/courses/{courseId}
This API takes the course ID as input and gives all the course information to the employee.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
courseId | path | string | true |
Response
200 response
copied![
{
"type": "object",
"properties": {
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "success"
},
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"data": {
"Course": {
"type": "object",
"properties": {
"id": {
"description": "Id - unique field to identify the Course.",
"type": "string"
},
"title": {
"description": "Title of the Course.",
"type": "string"
},
"imageUrl": {
"description": "Image URL of the Course.",
"type": "string"
},
"url": {
"description": "URL of the Course to access.",
"type": "string"
},
"category": {
"description": "Category the Course belongs to.",
"type": "string"
},
"provider": {
"description": "Provider the Course. Ex: Coursera.",
"type": "string"
},
"assetType": {
"description": "AssetType of the Course.",
"type": "string"
},
"skillsAcquired": {
"type": "array",
"items": {
"type": "string",
"description": "List of skills which will be acquired from the course."
}
}
}
}
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Invalid request params
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": "Fields are blank"
}
}
}
]
Something went wrong
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | CoursesSuccessResponseWithData |
400 | Invalid request params | BadRequest |
500 | Something went wrong | ErrorResponse |
delete
copied!# You can also use wgetcurl -X DELETE https://api.phenom.com//employees-api/courses/v1/courses/{courseId}
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
DELETE /employees-api/courses/v1/courses/{courseId}
This API takes the course ID as input and deletes the course data from data base if exists.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
courseId | path | string | true |
Response
200 response
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "success"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Invalid request params
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": "Fields are blank"
}
}
}
]
Something went wrong
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | CoursesSuccessResponse |
400 | Invalid request params | BadRequest |
500 | Something went wrong | ErrorResponse |
patch
copied!# You can also use wgetcurl -X PATCH https://api.phenom.com//employees-api/courses/v1/courses/{courseId}
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
PATCH /employees-api/courses/v1/courses/{courseId}
This API takes the updated course details and based on course ID the course details will be updated.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"data": {
"Course": {
"type": "object",
"properties": {
"id": {
"description": "Id - unique field to identify the Course.",
"type": "string"
},
"title": {
"description": "Title of the Course.",
"type": "string"
},
"imageUrl": {
"description": "Image URL of the Course.",
"type": "string"
},
"url": {
"description": "URL of the Course to access.",
"type": "string"
},
"category": {
"description": "Category the Course belongs to.",
"type": "string"
},
"provider": {
"description": "Provider the Course. Ex: Coursera.",
"type": "string"
},
"assetType": {
"description": "AssetType of the Course.",
"type": "string"
},
"skillsAcquired": {
"type": "array",
"items": {
"type": "string",
"description": "List of skills which will be acquired from the course."
}
}
}
}
}
}
}
]
Parameters
Name | In | Type | Required |
---|---|---|---|
courseId | path | string | true |
Request Parameters
Type | Name |
---|---|
application/json | UpdateCourse |
Response
200 response
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "success"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Invalid request params
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": "Fields are blank"
}
}
}
]
Something went wrong
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | CoursesSuccessResponse |
400 | Invalid request params | BadRequest |
500 | Something went wrong | ErrorResponse |
post
copied!# You can also use wgetcurl -X POST https://api.phenom.com//employees-api/courses/v1/employees/{employeeId}/courses/{courseId}
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
POST /employees-api/courses/v1/employees/{employeeId}/courses/{courseId}
This API takes the courseId, employeeId and saves the course in the saved courses collection for that employee.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"collectionIds": {
"type": "array",
"items": {
"description": "List of Collection Ids we need to save the course.",
"type": "string"
}
}
}
}
]
Parameters
Name | In | Type | Required |
---|---|---|---|
courseId | path | string | true |
employeeId | path | string | true |
Request Parameters
Type | Name |
---|---|
application/json | SaveCourse |
Response
200 response
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "success"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Invalid request params
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": "Fields are blank"
}
}
}
]
Something went wrong
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | CoursesSuccessResponse |
400 | Invalid request params | BadRequest |
500 | Something went wrong | ErrorResponse |
delete
copied!# You can also use wgetcurl -X DELETE https://api.phenom.com//employees-api/courses/v1/employees/{employeeId}/courses/{courseId}
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
DELETE /employees-api/courses/v1/employees/{employeeId}/courses/{courseId}
This API takes the courseId and unsaved the course in the saved courses collection.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
courseId | path | string | true |
employeeId | path | string | true |
Response
200 response
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "success"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Invalid request params
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": "Fields are blank"
}
}
}
]
Something went wrong
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | CoursesSuccessResponse |
400 | Invalid request params | BadRequest |
500 | Something went wrong | ErrorResponse |
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//employees-api/courses/v1/employees/{employeeId}
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
GET /employees-api/courses/v1/employees/{employeeId}
This API takes the employee ID as input and gives all the saved course information to the employee.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
employeeId | path | string | true |
Response
200 response
copied![
{
"type": "object",
"properties": {
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "success"
},
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"data": {
"type": "object",
"properties": {
"displayName": {
"description": "Display Name of the Saved courses collection.",
"type": "string",
"default": "success"
},
"courseUids": {
"type": "array",
"items": {
"description": "List of courses saved by employee in rhe form the course Id's.",
"type": "string"
}
}
}
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Invalid request params
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": "Fields are blank"
}
}
}
]
Something went wrong
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | GetAllSavedCourses |
400 | Invalid request params | BadRequest |
500 | Something went wrong | ErrorResponse |
post
copied!# You can also use wgetcurl -X POST https://api.phenom.com//employees-api/courses/v1/employees/{employeeId}/courses/{courseId}/status
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
POST /employees-api/courses/v1/employees/{employeeId}/courses/{courseId}/status
This API takes the employeeId and courseId and updates the course status for an employee.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"courseStatus": {
"description": "Current progress status of a Course for a particular user.",
"type": "string"
}
}
}
]
Parameters
Name | In | Type | Required |
---|---|---|---|
courseId | path | string | true |
employeeId | path | string | true |
Request Parameters
Type | Name |
---|---|
application/json | UpdateCourseStatus |
Response
200 response
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "success"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Invalid request params
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": "Fields are blank"
}
}
}
]
Something went wrong
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | CoursesSuccessResponse |
400 | Invalid request params | BadRequest |
500 | Something went wrong | ErrorResponse |
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//employees-api/courses/v1/employees/{employeeId}/status
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
GET /employees-api/courses/v1/employees/{employeeId}/status
This API takes the employeeId as input and gives all the completed courses of the employee.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
employeeId | path | string | true |
Response
200 response
copied![
{
"type": "object",
"properties": {
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "success"
},
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"data": {
"type": "array",
"items": {
"Course": {
"type": "object",
"properties": {
"id": {
"description": "Id - unique field to identify the Course.",
"type": "string"
},
"title": {
"description": "Title of the Course.",
"type": "string"
},
"imageUrl": {
"description": "Image URL of the Course.",
"type": "string"
},
"url": {
"description": "URL of the Course to access.",
"type": "string"
},
"category": {
"description": "Category the Course belongs to.",
"type": "string"
},
"provider": {
"description": "Provider the Course. Ex: Coursera.",
"type": "string"
},
"assetType": {
"description": "AssetType of the Course.",
"type": "string"
},
"skillsAcquired": {
"type": "array",
"items": {
"type": "string",
"description": "List of skills which will be acquired from the course."
}
}
}
}
}
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Invalid request params
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": "Fields are blank"
}
}
}
]
Something went wrong
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | GetCompletedCoursesData |
400 | Invalid request params | BadRequest |
500 | Something went wrong | ErrorResponse |
Employee Referrals
The employee referral APIs are used to refer, track and recommend jobs to external candidates.
post
copied!# You can also use wgetcurl -X POST https://api.phenom.com//employees-api/referral/v1/employees/{employeeId}
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
POST /employees-api/referral/v1/employees/{employeeId}
This API takes the candidate data and job information as input and create a employee referral to the candidate only if the candidate haven't applied or referred before to the particular job.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"data": {
"ReferralData": {
"type": "object",
"properties": {
"jobId": {
"description": "Job Id - unique field to identify the job.",
"type": "string",
"default": "12121"
},
"category": {
"description": "Category of the job that employee is making a referral.",
"type": "string",
"default": "Engineering"
},
"firstName": {
"description": "FirstName of the candidate which employee is referring.",
"type": "string",
"default": "John"
},
"lastName": {
"description": "LastName of the candidate which employee is referring.",
"type": "string",
"default": "Deal"
},
"email": {
"description": "email of the candidate which employee is referring.",
"type": "string",
"default": "test@mailinator.com"
},
"phone": {
"description": "Phone Number of the candidate which employee is referring.",
"type": "string",
"default": "919181912122"
},
"message": {
"description": "Personal Message to the candidate which employee is referring.",
"type": "string",
"default": "APPLY NOW"
},
"questionnaire": {
"description": "Questionnaire response of the candidate which is used while making a referral.",
"type": "object"
}
}
}
}
}
}
]
Parameters
Name | In | Type | Required |
---|---|---|---|
employeeId | path | string | true |
Request Parameters
Type | Name |
---|---|
application/json | CreateEmployeeReferral |
Response
200 response
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "success"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Invalid request params
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": "Fields are blank"
}
}
}
]
Something went wrong
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | ReferralSuccessResponse |
400 | Invalid request params | BadRequest |
500 | Something went wrong | ErrorResponse |
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//employees-api/referral/v1/employees/{employeeId}
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
GET /employees-api/referral/v1/employees/{employeeId}
This API takes the employee ID as input and returns all the referrals made by the employee.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
employeeId | path | string | true |
Response
200 response
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "success"
},
"totalReferralsCount": {
"type": "integer",
"description": "Total count of the referred candidates of an employee."
},
"candidates": {
"type": "array",
"items": {
"type": "object",
"properties": {
"firstName": {
"description": "FirstName of the candidate which employee is referred.",
"type": "string"
},
"lastName": {
"description": "LastName of the candidate which employee is referred.",
"type": "string"
},
"email": {
"description": "Email of the candidate which employee is referred.",
"type": "string"
},
"referrals": {
"type": "array",
"items": {
"ReferralData": {
"type": "object",
"properties": {
"jobId": {
"description": "Job Id - unique field to identify the job.",
"type": "string",
"default": "12121"
},
"category": {
"description": "Category of the job that employee is making a referral.",
"type": "string",
"default": "Engineering"
},
"firstName": {
"description": "FirstName of the candidate which employee is referring.",
"type": "string",
"default": "John"
},
"lastName": {
"description": "LastName of the candidate which employee is referring.",
"type": "string",
"default": "Deal"
},
"email": {
"description": "email of the candidate which employee is referring.",
"type": "string",
"default": "test@mailinator.com"
},
"phone": {
"description": "Phone Number of the candidate which employee is referring.",
"type": "string",
"default": "919181912122"
},
"message": {
"description": "Personal Message to the candidate which employee is referring.",
"type": "string",
"default": "APPLY NOW"
},
"questionnaire": {
"description": "Questionnaire response of the candidate which is used while making a referral.",
"type": "object"
}
}
}
}
}
}
}
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Invalid request params
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": "Fields are blank"
}
}
}
]
Something went wrong
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | GetEmployeeReferralSuccessResponse |
400 | Invalid request params | BadRequest |
500 | Something went wrong | ErrorResponse |
post
copied!# You can also use wgetcurl -X POST https://api.phenom.com//employees-api/referral/v1/employees/jobs/resume
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
POST /employees-api/referral/v1/employees/jobs/resume
This API takes the resume as a 'file' input and give the referral recommendations to the employee based on the resume file data.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"file": {
"description": "Resume file of the candidate which employee is looking for job recommendations to refer.",
"type": "string",
"format": "binary"
}
}
}
]
Request Parameters
Type | Name |
---|---|
application/json | GetReferralRecommendationsWithResume |
Response
200 response
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "success"
},
"recommendations": {
"type": "array",
"items": {
"JobRecommendations": {
"type": "object",
"properties": {
"jobId": {
"description": "JobId- unique field to identify the job.",
"type": "string"
},
"title": {
"description": "Title of the job.",
"type": "string"
}
}
}
}
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Invalid request params
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": "Fields are blank"
}
}
}
]
Something went wrong
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | GetReferralRecommendationsResponse |
400 | Invalid request params | BadRequest |
500 | Something went wrong | ErrorResponse |
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//employees-api/referral/v1/employees/{employeeId}/jobs
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
GET /employees-api/referral/v1/employees/{employeeId}/jobs
This API give the referral recommendations to the employee based on the employee ID.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
employeeId | path | string | true |
Response
200 response
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "success"
},
"recommendations": {
"type": "array",
"items": {
"JobRecommendations": {
"type": "object",
"properties": {
"jobId": {
"description": "JobId- unique field to identify the job.",
"type": "string"
},
"title": {
"description": "Title of the job.",
"type": "string"
}
}
}
}
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Invalid request params
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": "Fields are blank"
}
}
}
]
Something went wrong
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | GetReferralRecommendationsResponse |
400 | Invalid request params | BadRequest |
500 | Something went wrong | ErrorResponse |
post
copied!# You can also use wgetcurl -X POST https://api.phenom.com//employees-api/referral/v1/questionnaire
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
POST /employees-api/referral/v1/questionnaire
This API takes the questionnaire data like questions, message and create a referral form which is used to ask employee when referring the external candidate.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"data": {
"Questionnaire": {
"type": "object",
"properties": {
"questionnaire": {
"description": "Questionnaire to the candidate which is used while making a referral.",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"description": "Question Id",
"type": "string"
},
"questionText": {
"description": "Question description text",
"type": "string"
},
"type": {
"description": "Type of the answer format for question",
"type": "string",
"default": "success"
},
"options": {
"description": "Answer options to choose for given questions",
"type": "array",
"items": {
"type": "object",
"properties": {
"ansId": {
"description": "Answer Id",
"type": "string"
},
"ansText": {
"description": "Answer text value",
"type": "string"
}
}
},
"default": {}
}
}
}
},
"showPersonalMessage": {
"description": "Flag whether to give personal message field to employee or not while making a referral.",
"type": "boolean"
},
"message": {
"description": "Default message to show when personal message flag is enabled.",
"type": "string",
"default": "Hello Friend! I hope this jobs suits your skill set"
}
}
}
}
}
}
]
Request Parameters
Type | Name |
---|---|
application/json | CreateEmployeeReferralQuestionnaire |
Response
200 response
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "success"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Invalid request params
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": "Fields are blank"
}
}
}
]
Something went wrong
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | ReferralSuccessResponse |
400 | Invalid request params | BadRequest |
500 | Something went wrong | ErrorResponse |
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//employees-api/referral/v1/questionnaire
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
GET /employees-api/referral/v1/questionnaire
This API gives the referral questionnaire when employee referring a candidate.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Response
200 response
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "success"
},
"data": {
"Questionnaire": {
"type": "object",
"properties": {
"questionnaire": {
"description": "Questionnaire to the candidate which is used while making a referral.",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"description": "Question Id",
"type": "string"
},
"questionText": {
"description": "Question description text",
"type": "string"
},
"type": {
"description": "Type of the answer format for question",
"type": "string",
"default": "success"
},
"options": {
"description": "Answer options to choose for given questions",
"type": "array",
"items": {
"type": "object",
"properties": {
"ansId": {
"description": "Answer Id",
"type": "string"
},
"ansText": {
"description": "Answer text value",
"type": "string"
}
}
},
"default": {}
}
}
}
},
"showPersonalMessage": {
"description": "Flag whether to give personal message field to employee or not while making a referral.",
"type": "boolean"
},
"message": {
"description": "Default message to show when personal message flag is enabled.",
"type": "string",
"default": "Hello Friend! I hope this jobs suits your skill set"
}
}
}
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Invalid request params
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": "Fields are blank"
}
}
}
]
Something went wrong
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | GetReferralQuestionnaireResponse |
400 | Invalid request params | BadRequest |
500 | Something went wrong | ErrorResponse |
Search
These APIs helps in searching and providing suggestions based on keywords within employee profiles.
Employee Search
These APIs performs keyword-based searches within employee profiles, offering suggestions.
post
copied!# You can also use wgetcurl -X POST https://api.phenom.com//jobs-api/v1/jobs/search/
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
POST /jobs-api/v1/jobs/search/
This API searches Employee profiles based on keyword.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"keyword": {
"type": "string",
"description": "Keyword to search."
},
"common": {
"CommonNode": {
"type": "object",
"properties": {
"userId": {
"type": "string",
"description": "User ID."
},
"userType": {
"type": "string",
"description": "Specify the user type - External or Internal user."
}
}
}
},
"from": {
"type": "integer",
"description": "Starting point from which the data should be retrieved."
},
"size": {
"type": "integer",
"description": "Size of the response."
},
"filters": {
"FiltersNode": {
"type": "array",
"items": {
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "Attribute to filter response."
},
"value": {
"type": "array",
"items": {
"type": "string",
"description": "To refine results based on these values with the attribute mentioned above."
}
}
}
}
}
},
"tabInfo": {
"TabInfoNode": {
"type": "object",
"properties": {
"key": {
"type": "string",
"description": "Field name to populate fields based on this attribute."
},
"type": {
"type": "string",
"description": "Accepted Value - Custom."
},
"mutualHistory": {
"type": "boolean",
"description": "True or False based on Profiles Settings."
}
}
}
}
}
}
]
Request Parameters
Type | Name |
---|---|
application/json | EmployeeSearchRequest |
Response
Returns filtered employee profiles.
copied![
{
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "Status returned by the API."
},
"totalHits": {
"type": "integer",
"description": "Total number of hits."
},
"data": {
"type": "object",
"description": "Search Response Data.",
"properties": {
"employees": {
"type": "array",
"items": {
"EmployeeNode": {
"type": "object",
"properties": {
"firstName": {
"type": "string",
"description": "Employee's First Name."
},
"lastName": {
"type": "string",
"description": "Employee's Last Name."
},
"candidateID": {
"type": "string",
"description": "Employee's ID."
}
}
}
}
},
"facets": {
"type": "array",
"items": {
"FacetsNode": {
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "Attribute passed in the request to fetch aggregations."
},
"key": {
"type": "string",
"description": "Key passed in the request."
},
"value": {
"type": "object",
"description": "Value of the respective attribute."
}
}
}
}
}
}
},
"query": {
"type": "object",
"description": "Represents internal database query."
}
}
}
]
Bad Request.
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": "Fields are blank"
}
}
}
]
Server Error.
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | Returns filtered employee profiles. | EmployeeSearchResponse |
400 | Bad Request. | BadRequest |
500 | Server Error. | ErrorResponse |
post
copied!# You can also use wgetcurl -X POST https://api.phenom.com//jobs-api/v1/jobs/search/suggestions
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
POST /jobs-api/v1/jobs/search/suggestions
This API searches Employee profiles based on keyword and shows suggestions.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"keyword": {
"type": "string",
"description": "Keyword to search."
},
"common": {
"CommonNode": {
"type": "object",
"properties": {
"userId": {
"type": "string",
"description": "User ID."
},
"userType": {
"type": "string",
"description": "Specify the user type - External or Internal user."
}
}
}
}
}
}
]
Request Parameters
Type | Name |
---|---|
application/json | EmployeeTypeAheadRequest |
Response
Returns filtered employee profiles.
copied![
{
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "Status returned by the API."
},
"hits": {
"type": "integer",
"description": "Hits."
},
"totalHits": {
"type": "integer",
"description": "Total number of hits."
},
"data": {
"type": "object",
"description": "Typeahead response data.",
"properties": {
"employees": {
"type": "array",
"items": {
"EmployeeNode": {
"type": "object",
"properties": {
"firstName": {
"type": "string",
"description": "Employee's First Name."
},
"lastName": {
"type": "string",
"description": "Employee's Last Name."
},
"candidateID": {
"type": "string",
"description": "Employee's ID."
}
}
}
}
}
}
},
"query": {
"type": "object",
"description": "Represents internal database query."
}
}
}
]
Bad Request.
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": "Fields are blank"
}
}
}
]
Server Error.
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | Returns filtered employee profiles. | EmployeeTypeaheadResponse |
400 | Bad Request. | BadRequest |
500 | Server Error. | ErrorResponse |
post
copied!# You can also use wgetcurl -X POST https://api.phenom.com//jobs-api/v1/jobs/search/suggestions/aggregations
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
POST /jobs-api/v1/jobs/search/suggestions/aggregations
This API conducts searches within employee profiles using keywords and provides aggregated counts based on the search criteria.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"keyword": {
"type": "string",
"description": "Keyword to search."
},
"common": {
"CommonNode": {
"type": "object",
"properties": {
"userId": {
"type": "string",
"description": "User ID."
},
"userType": {
"type": "string",
"description": "Specify the user type - External or Internal user."
}
}
}
},
"aggregations": {
"AggregationsNode": {
"type": "array",
"items": {
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "Attribute to consolidate and compute values."
},
"size": {
"type": "integer",
"description": "Size of the aggregations response."
}
}
}
}
}
}
}
]
Request Parameters
Type | Name |
---|---|
application/json | EmployeeAggregationRequest |
Response
Returns filtered employee profiles and aggregated counts.
copied![
{
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "Status returned by the API."
},
"hits": {
"type": "integer",
"description": "Hits."
},
"totalHits": {
"type": "integer",
"description": "Total number of hits."
},
"data": {
"type": "object",
"description": "API Response."
},
"query": {
"type": "object",
"description": "Represents internal database query."
}
}
}
]
Bad Request.
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": "Fields are blank"
}
}
}
]
Server Error.
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | Returns filtered employee profiles and aggregated counts. | EmployeeAggregationResponse |
400 | Bad Request. | BadRequest |
500 | Server Error. | ErrorResponse |
Mentor
This API conducts keyword-based searches in mentor profiles and offers relevant suggestions.
post
copied!# You can also use wgetcurl -X POST https://api.phenom.com//jobs-api/v1/jobs/search/suggestions/mentor
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
POST /jobs-api/v1/jobs/search/suggestions/mentor
This API performs searches within mentor profiles using keywords and generates relevant suggestions based on the search criteria.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"keyword": {
"type": "string",
"description": "Keyword to search."
},
"common": {
"CommonNode": {
"type": "object",
"properties": {
"userId": {
"type": "string",
"description": "User ID."
},
"userType": {
"type": "string",
"description": "Specify the user type - External or Internal user."
}
}
}
}
}
}
]
Request Parameters
Type | Name |
---|---|
application/json | MentorTypeAheadRequest |
Response
Returns filtered Mentor Profiles.
copied![
{
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "Status returned by the API."
},
"hits": {
"type": "integer",
"description": "Hits."
},
"totalHits": {
"type": "integer",
"description": "Total number of hits."
},
"data": {
"type": "object",
"description": "Mentor Typeahead response data.",
"properties": {
"employees": {
"type": "array",
"items": {
"EmployeeNode": {
"type": "object",
"properties": {
"firstName": {
"type": "string",
"description": "Employee's First Name."
},
"lastName": {
"type": "string",
"description": "Employee's Last Name."
},
"candidateID": {
"type": "string",
"description": "Employee's ID."
}
}
}
}
}
}
},
"query": {
"type": "object",
"description": "Represents internal database query."
}
}
}
]
Bad Request.
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": "Fields are blank"
}
}
}
]
Server Error.
copied![
{
"type": "object",
"properties": {
"status": {
"description": "HTTP Status code determining the response status.",
"type": "integer"
},
"message": {
"description": "Status of the API call whether it is success or failure.",
"type": "string",
"default": "failure"
},
"errorMessage": {
"description": "Message description of the reason why the error has occurred.",
"type": "string",
"default": ""
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | Returns filtered Mentor Profiles. | MentorTypeaheadResponse |
400 | Bad Request. | BadRequest |
500 | Server Error. | ErrorResponse |
Applications
It is a combination of Candidate data and the Job data for which the candidate has applied.
post
copied!# You can also use wgetcurl -X POST https://api.phenom.com//apply/v1/applications
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
POST /apply/v1/applications
This API is used to submit a new Application for a valid job.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"candidateData": {
"Candidate": {
"required": {
"0": "firstName",
"1": "lastName"
},
"type": "object",
"properties": {
"firstName": {
"type": "string",
"description": "First Name of the candidate. MaxLength is 20."
},
"middleName": {
"type": "string",
"description": "Middle Name of the candidate. MaxLength is 20."
},
"lastName": {
"type": "string",
"description": "Last Name/ Surname of the candidate. MaxLength is 20."
},
"contactData": {
"ContactData": {
"required": {
"0": "email"
},
"type": "object",
"properties": {
"countryPhoneCode": {
"type": "string",
"description": "Country Phone Code."
},
"phoneNumber": {
"pattern": "^\\+?\\d{5,15}$",
"type": "string",
"description": "Phone Number."
},
"deviceType": {
"type": "string",
"description": "Device Type. Eg: Mobile, Landline, etc."
},
"phoneExtension": {
"type": "string",
"description": "Phone Extension. Eg: 1234, etc."
},
"email": {
"type": "string",
"description": "Email Address. MaxLength is 50."
}
}
}
},
"addressData": {
"AddressData": {
"required": {
"0": "addressLine1"
},
"type": "object",
"properties": {
"addressLine1": {
"type": "string",
"description": "Address Line 1."
},
"addressLine2": {
"type": "string",
"description": "Address Line 2."
},
"region": {
"type": "string",
"description": "Region/County/State of the address."
},
"city": {
"type": "string",
"description": "City of the address."
},
"country": {
"type": "string",
"description": "Country of the address."
}
}
}
},
"smsOptIn": {
"type": "boolean",
"description": "Opt in for SMS Campaigns."
},
"experienceData": {
"type": "array",
"items": {
"ExperienceData": {
"required": {
"0": "companyName",
"1": "title"
},
"type": "object",
"properties": {
"companyName": {
"type": "string",
"description": "Name of the Company."
},
"title": {
"type": "string",
"description": "Title of the experience."
},
"location": {
"type": "string",
"description": "Location of the experience."
},
"description": {
"type": "string",
"description": "Description of the experience. MaxLength is 2000."
},
"fromTo": {
"FromTo": {
"required": {
"0": "format",
"1": "startDate"
},
"type": "object",
"properties": {
"format": {
"pattern": "MM-yyyy|MM|yyyy",
"type": "string",
"description": "The date format for the date fields. It should follow the following formats: [MM-yyyy,MM,yyyy]."
},
"startDate": {
"type": "string",
"description": "The start date of the experience."
},
"endDate": {
"type": "string",
"description": "The end date of the experience. If the experience is ongoing, this field should be empty."
},
"currentlyWorkHere": {
"type": "string",
"description": "The current status of the experience."
}
}
}
}
}
}
}
},
"educationData": {
"type": "array",
"items": {
"EducationData": {
"required": {
"0": "degree",
"1": "schoolName"
},
"type": "object",
"properties": {
"schoolName": {
"type": "string",
"description": "School/College/Institution Name."
},
"degree": {
"type": "string",
"description": "Degree you have majored in."
},
"fieldOfStudy": {
"type": "string",
"description": "Specialization/Field of Study."
},
"gradeAverage": {
"type": "string",
"description": "Grade Average/CGPA/Percentage."
},
"fromTo": {
"FromTo": {
"required": {
"0": "format",
"1": "startDate"
},
"type": "object",
"properties": {
"format": {
"pattern": "MM-yyyy|MM|yyyy",
"type": "string",
"description": "The date format for the date fields. It should follow the following formats: [MM-yyyy,MM,yyyy]."
},
"startDate": {
"type": "string",
"description": "The start date of the experience."
},
"endDate": {
"type": "string",
"description": "The end date of the experience. If the experience is ongoing, this field should be empty."
},
"currentlyWorkHere": {
"type": "string",
"description": "The current status of the experience."
}
}
}
}
}
}
}
}
}
}
},
"jobApplicationData": {
"Job": {
"required": {
"0": "applicantSource",
"1": "jobId"
},
"type": "object",
"properties": {
"jobId": {
"type": "string",
"description": "Job Id of the job for which the applicant is applying. MaxLength is 50."
},
"applicantSource": {
"type": "string",
"description": "Source of the Application. Eg: LinkedIn, Indeed, Naukri, Resume Upload etc."
}
}
}
},
"customFieldData": {
"type": "object",
"description": "Custom Fields for the Application. Eg: {\"field1\":\"value1\",\"field2\":\"value2\"}."
},
"resumeData": {
"Resume": {
"required": {
"0": "fileContent",
"1": "fileName"
},
"type": "object",
"properties": {
"fileContent": {
"type": "string",
"description": "File Content in base64 format."
},
"fileName": {
"type": "string",
"description": "Name of the file."
},
"contentTypeId": {
"type": "string",
"description": "(Optional) Any id to identify the content type of the file."
}
}
}
}
}
}
]
Request Parameters
Type | Name |
---|---|
application/json | ApplicationWithResume |
Response
OK
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Status of the response."
},
"statusCode": {
"type": "string",
"description": "Status code of the response. This is to uniquely identify the status."
},
"statusMessage": {
"type": "string",
"description": "Status message of the response."
},
"data": {
"type": "object",
"description": "Returns applicationId and candidateId for the submitted application in case of new candidate Or returns isAlreadyApplied as true"
}
}
}
]
400 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Status of the response. It will contain HTTP status code in case of failures."
},
"title": {
"type": "string",
"description": "Error message of the response. It gives a short brief on the error."
},
"type": {
"type": "string",
"description": "Type of the error. It gives a brief on the type of error."
},
"error": {
"type": "string",
"description": "This describes Error/Status Code in case of errors."
},
"details": {
"type": "string",
"description": "Error message of the response. This describes the details of the error."
},
"instance": {
"type": "string",
"description": "URI of the instance."
},
"timestamp": {
"type": "string",
"description": "Timestamp of the response."
}
}
}
]
500 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Status of the response. It will contain HTTP status code in case of failures."
},
"title": {
"type": "string",
"description": "Error message of the response. It gives a short brief on the error."
},
"type": {
"type": "string",
"description": "Type of the error. It gives a brief on the type of error."
},
"error": {
"type": "string",
"description": "This describes Error/Status Code in case of errors."
},
"details": {
"type": "string",
"description": "Error message of the response. This describes the details of the error."
},
"instance": {
"type": "string",
"description": "URI of the instance."
},
"timestamp": {
"type": "string",
"description": "Timestamp of the response."
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | OK | SuccessResponse |
400 | 400 response | ErrorResponse |
500 | 500 response | ErrorResponse |
Attachments
Resume / Files uploaded as part of an application are called Attachments.
Applicants
These APIs helps in fetching the required data for applicants.
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//candidates-api/applications/v1/jobs/{jobId}/applicants
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
GET /candidates-api/applications/v1/jobs/{jobId}/applicants
This API fetches Applicants for a Job Based on 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 |
from | query | integer | true |
size | query | integer | true |
Response
200 response
copied![
{
"type": "object",
"properties": {
"pagination": {
"type": "object",
"description": "Pagination information for the list of candidates.",
"properties": {
"total": {
"type": "number",
"description": "Total number of candidates in the dataset."
},
"size": {
"type": "number",
"description": "Number of candidates returned in the current response."
},
"from": {
"type": "number",
"description": "Index of the first candidate in the current result set."
}
}
},
"data": {
"type": "object",
"description": "Data object containing information about the candidates.",
"properties": {
"candidates": {
"type": "array",
"description": "Array of candidate objects containing their details.",
"items": {
"type": "object",
"description": "Details of an individual candidate.",
"properties": {
"emails": {
"type": "array",
"description": "Array of email addresses associated with the candidate.",
"items": {
"type": "string"
}
},
"lastName": {
"type": "string",
"description": "Last name of the candidate."
},
"firstName": {
"type": "string",
"description": "First name of the candidate."
},
"dateCreated": {
"type": "string",
"description": "Date when the candidate record was created."
},
"hiringStatus": {
"type": "string",
"description": "Current hiring status of the candidate."
},
"updatedDate": {
"type": "string",
"description": "Date when the candidate record was last updated."
},
"userId": {
"type": "string",
"description": "Unique identifier for the candidate user."
},
"contacts": {
"type": "array",
"description": "Array of contact details associated with the candidate.",
"items": {
"type": "object",
"description": "Details of an individual contact associated with the candidate.",
"properties": {
"originalNumber": {
"type": "string",
"description": "The phone number of the contact."
},
"phoneNumber": {
"type": "string",
"description": "The phone number of the contact."
},
"phoneNumberWithoutCountryCode": {
"type": "string",
"description": "The phone number without country code"
},
"countryCode": {
"type": "string",
"description": "The country code associated with the contact."
}
}
}
}
}
}
}
}
},
"message": {
"type": "string",
"description": "Additional information or a message related to the response."
},
"status": {
"type": "string",
"description": "The status of the response, indicating success or failure."
}
}
}
]
Wrong request format or parameters missing.
copied![
{
"type": "object",
"description": "Represents a bad request scenario with an associated error message.",
"properties": {
"message": {
"type": "string",
"description": "Error message indicating the nature of the bad request."
}
}
}
]
Could not find candidate or job.
copied![
{
"type": "object",
"description": "Represents a general error scenario with status information and an associated error message.",
"properties": {
"status": {
"type": "string",
"description": "Status code or identifier indicating the nature of the error."
},
"message": {
"type": "string",
"description": "Error message providing details about the encountered issue."
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | Applicants |
400 | Wrong request format or parameters missing. | BadRequest |
404 | Could not find candidate or job. | Error |
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//candidates-api/applications/v1/candidates/{candidateId}/applications
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
GET /candidates-api/applications/v1/candidates/{candidateId}/applications
This API fetches list of all Applications 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 |
Response
Successfully fetched all applications of a candidate
copied![
{
"type": "object",
"description": "Information related to the hiring status.",
"properties": {
"data": {
"type": "object",
"description": "Data related to the Candidate applications.",
"properties": {
"applications": {
"type": "object",
"description": "Applications associated with the hiring status.",
"properties": {
"close": {
"ApplicationStatus": {
"type": "array",
"description": "Draft applications.",
"items": {
"type": "object",
"description": "Details of a draft application.",
"properties": {
"hiringStatus": {
"type": "object",
"description": "Details of the hiring status for the application.",
"properties": {
"updatedDate": {
"type": "number",
"description": "Date when the hiring status was last updated."
},
"value": {
"type": "string",
"description": "Current value of the hiring status."
},
"hsPriority": {
"type": "number",
"description": "Priority associated with the hiring status."
},
"previousRejectionReasonId": {
"type": "string",
"description": "ID of the previous rejection reason."
},
"rejectionReasonId": {
"type": "string",
"description": "ID of the current rejection reason."
},
"rejectionReason": {
"type": "string",
"description": "Current rejection reason."
},
"previousRejectionReason": {
"type": "string",
"description": "Previous rejection reason."
},
"previousValue": {
"type": "string",
"description": "Previous value of the hiring status."
},
"isRejected": {
"type": "boolean",
"description": "Indicates whether the application is rejected."
},
"step": {
"type": "string",
"description": "Current step in the workflow."
},
"workFlowStepId": {
"type": "string",
"description": "ID of the current workflow step."
},
"previousWorkFlowStepId": {
"type": "string",
"description": "ID of the previous workflow step."
}
}
},
"jobCategory": {
"type": "string",
"description": "Category of the job associated with the application."
},
"jobId": {
"type": "string",
"description": "ID of the job associated with the application."
},
"jobTitle": {
"type": "string",
"description": "Title of the job associated with the application."
},
"userId": {
"type": "string",
"description": "ID of the user associated with the application."
}
}
}
}
},
"open": {
"ApplicationStatus": {
"type": "array",
"description": "Draft applications.",
"items": {
"type": "object",
"description": "Details of a draft application.",
"properties": {
"hiringStatus": {
"type": "object",
"description": "Details of the hiring status for the application.",
"properties": {
"updatedDate": {
"type": "number",
"description": "Date when the hiring status was last updated."
},
"value": {
"type": "string",
"description": "Current value of the hiring status."
},
"hsPriority": {
"type": "number",
"description": "Priority associated with the hiring status."
},
"previousRejectionReasonId": {
"type": "string",
"description": "ID of the previous rejection reason."
},
"rejectionReasonId": {
"type": "string",
"description": "ID of the current rejection reason."
},
"rejectionReason": {
"type": "string",
"description": "Current rejection reason."
},
"previousRejectionReason": {
"type": "string",
"description": "Previous rejection reason."
},
"previousValue": {
"type": "string",
"description": "Previous value of the hiring status."
},
"isRejected": {
"type": "boolean",
"description": "Indicates whether the application is rejected."
},
"step": {
"type": "string",
"description": "Current step in the workflow."
},
"workFlowStepId": {
"type": "string",
"description": "ID of the current workflow step."
},
"previousWorkFlowStepId": {
"type": "string",
"description": "ID of the previous workflow step."
}
}
},
"jobCategory": {
"type": "string",
"description": "Category of the job associated with the application."
},
"jobId": {
"type": "string",
"description": "ID of the job associated with the application."
},
"jobTitle": {
"type": "string",
"description": "Title of the job associated with the application."
},
"userId": {
"type": "string",
"description": "ID of the user associated with the application."
}
}
}
}
}
}
}
}
},
"message": {
"type": "string",
"description": "Message associated with the response."
},
"status": {
"type": "string",
"description": "Status of the response."
}
}
}
]
Invalid candidateId
copied![
{
"type": "object",
"description": "Represents a general error scenario with status information and an associated error message.",
"properties": {
"status": {
"type": "string",
"description": "Status code or identifier indicating the nature of the error."
},
"message": {
"type": "string",
"description": "Error message providing details about the encountered issue."
}
}
}
]
Exception occurred
copied![
{
"type": "object",
"description": "Represents a general error scenario with status information and an associated error message.",
"properties": {
"status": {
"type": "string",
"description": "Status code or identifier indicating the nature of the error."
},
"message": {
"type": "string",
"description": "Error message providing details about the encountered issue."
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | Successfully fetched all applications of a candidate | CandidateApplications |
404 | Invalid candidateId | Error |
500 | Exception occurred | Error |
patch
copied!# You can also use wgetcurl -X PATCH https://api.phenom.com//candidates-api/applications/v1/candidates/{candidateId}/jobs/{jobId}/additional-fields
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
PATCH /candidates-api/applications/v1/candidates/{candidateId}/jobs/{jobId}/additional-fields
This API updates job specific additional fields.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"jobSpecificAdditionalFields": {
"type": "object",
"properties": {}
}
}
}
]
Parameters
Name | In | Type | Required |
---|---|---|---|
candidateId | path | string | true |
jobId | path | string | true |
Request Parameters
Type | Name |
---|---|
application/json | AdditionalFieldsUpdateRequest |
Response
Successfully updated job specific additional fields of a candidate
copied![
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {},
"description": "Additional data related to the update response, specific details may be included here."
},
"message": {
"type": "string",
"description": "A message providing additional information about the response status or outcome."
},
"status": {
"type": "string",
"description": "The status of the additional fields update response, indicating success or failure."
}
}
}
]
Wrong request format or parameters missing.
copied![
{
"type": "object",
"description": "Represents a general error scenario with status information and an associated error message.",
"properties": {
"status": {
"type": "string",
"description": "Status code or identifier indicating the nature of the error."
},
"message": {
"type": "string",
"description": "Error message providing details about the encountered issue."
}
}
}
]
Invalid candidateId
copied![
{
"type": "object",
"description": "Represents a general error scenario with status information and an associated error message.",
"properties": {
"status": {
"type": "string",
"description": "Status code or identifier indicating the nature of the error."
},
"message": {
"type": "string",
"description": "Error message providing details about the encountered issue."
}
}
}
]
Exception occurred
copied![
{
"type": "object",
"description": "Represents a general error scenario with status information and an associated error message.",
"properties": {
"status": {
"type": "string",
"description": "Status code or identifier indicating the nature of the error."
},
"message": {
"type": "string",
"description": "Error message providing details about the encountered issue."
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | Successfully updated job 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.phenom.com//candidates-api/applications/v1/candidates/{candidateId}/jobs/{jobId}/additional-fields
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
GET /candidates-api/applications/v1/candidates/{candidateId}/jobs/{jobId}/additional-fields
This API fetches job specific additional fields.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
candidateId | path | string | true |
jobId | path | string | true |
Response
Successfully fetched the job specific additional fields of a candidate
copied![
{
"type": "object",
"description": "Response object for additional fields, typically related to job-specific information.",
"properties": {
"data": {
"type": "object",
"description": "Data object for additional fields information.",
"properties": {
"jobSpecificAdditionalFields": {
"type": "object",
"description": "Additional fields specific to a job."
}
}
},
"message": {
"type": "string",
"description": "A message related to the additional fields."
},
"status": {
"type": "string",
"description": "The overall status of the additional fields response."
}
}
}
]
Invalid candidateId and/or jobId
copied![
{
"type": "object",
"description": "Represents a general error scenario with status information and an associated error message.",
"properties": {
"status": {
"type": "string",
"description": "Status code or identifier indicating the nature of the error."
},
"message": {
"type": "string",
"description": "Error message providing details about the encountered issue."
}
}
}
]
Exception occurred
copied![
{
"type": "object",
"description": "Represents a general error scenario with status information and an associated error message.",
"properties": {
"status": {
"type": "string",
"description": "Status code or identifier indicating the nature of the error."
},
"message": {
"type": "string",
"description": "Error message providing details about the encountered issue."
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | Successfully fetched the job specific additional fields of a candidate | AdditionalFields |
404 | Invalid candidateId and/or jobId | Error |
500 | Exception occurred | Error |
Hiring Status
The Candidate APIs allows you to add and update Hiring Status of a candidate.
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//candidates-api/applications/v1/candidates/{candidateId}/jobs/{jobId}/get-hiring-status
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
GET /candidates-api/applications/v1/candidates/{candidateId}/jobs/{jobId}/get-hiring-status
This API fetches candidate hiring status for a job
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
candidateId | path | string | true |
jobId | path | string | true |
Response
To know if candidate got associated to the Job and his hiring status.
copied![
{
"type": "object",
"description": "Information related to the hiring status.",
"properties": {
"data": {
"type": "object",
"description": "Data related to the hiring status.",
"properties": {
"applications": {
"type": "object",
"description": "Applications associated with the hiring status.",
"properties": {
"close": {
"ApplicationStatus": {
"type": "array",
"description": "Draft applications.",
"items": {
"type": "object",
"description": "Details of a draft application.",
"properties": {
"hiringStatus": {
"type": "object",
"description": "Details of the hiring status for the application.",
"properties": {
"updatedDate": {
"type": "number",
"description": "Date when the hiring status was last updated."
},
"value": {
"type": "string",
"description": "Current value of the hiring status."
},
"hsPriority": {
"type": "number",
"description": "Priority associated with the hiring status."
},
"previousRejectionReasonId": {
"type": "string",
"description": "ID of the previous rejection reason."
},
"rejectionReasonId": {
"type": "string",
"description": "ID of the current rejection reason."
},
"rejectionReason": {
"type": "string",
"description": "Current rejection reason."
},
"previousRejectionReason": {
"type": "string",
"description": "Previous rejection reason."
},
"previousValue": {
"type": "string",
"description": "Previous value of the hiring status."
},
"isRejected": {
"type": "boolean",
"description": "Indicates whether the application is rejected."
},
"step": {
"type": "string",
"description": "Current step in the workflow."
},
"workFlowStepId": {
"type": "string",
"description": "ID of the current workflow step."
},
"previousWorkFlowStepId": {
"type": "string",
"description": "ID of the previous workflow step."
}
}
},
"jobCategory": {
"type": "string",
"description": "Category of the job associated with the application."
},
"jobId": {
"type": "string",
"description": "ID of the job associated with the application."
},
"jobTitle": {
"type": "string",
"description": "Title of the job associated with the application."
},
"userId": {
"type": "string",
"description": "ID of the user associated with the application."
}
}
}
}
},
"open": {
"ApplicationStatus": {
"type": "array",
"description": "Draft applications.",
"items": {
"type": "object",
"description": "Details of a draft application.",
"properties": {
"hiringStatus": {
"type": "object",
"description": "Details of the hiring status for the application.",
"properties": {
"updatedDate": {
"type": "number",
"description": "Date when the hiring status was last updated."
},
"value": {
"type": "string",
"description": "Current value of the hiring status."
},
"hsPriority": {
"type": "number",
"description": "Priority associated with the hiring status."
},
"previousRejectionReasonId": {
"type": "string",
"description": "ID of the previous rejection reason."
},
"rejectionReasonId": {
"type": "string",
"description": "ID of the current rejection reason."
},
"rejectionReason": {
"type": "string",
"description": "Current rejection reason."
},
"previousRejectionReason": {
"type": "string",
"description": "Previous rejection reason."
},
"previousValue": {
"type": "string",
"description": "Previous value of the hiring status."
},
"isRejected": {
"type": "boolean",
"description": "Indicates whether the application is rejected."
},
"step": {
"type": "string",
"description": "Current step in the workflow."
},
"workFlowStepId": {
"type": "string",
"description": "ID of the current workflow step."
},
"previousWorkFlowStepId": {
"type": "string",
"description": "ID of the previous workflow step."
}
}
},
"jobCategory": {
"type": "string",
"description": "Category of the job associated with the application."
},
"jobId": {
"type": "string",
"description": "ID of the job associated with the application."
},
"jobTitle": {
"type": "string",
"description": "Title of the job associated with the application."
},
"userId": {
"type": "string",
"description": "ID of the user associated with the application."
}
}
}
}
}
}
}
}
},
"message": {
"type": "string",
"description": "Message associated with the response."
},
"status": {
"type": "string",
"description": "Status of the response."
}
}
}
]
Wrong request format or parameters missing.
copied![
{
"type": "object",
"description": "Represents a general error scenario with status information and an associated error message.",
"properties": {
"status": {
"type": "string",
"description": "Status code or identifier indicating the nature of the error."
},
"message": {
"type": "string",
"description": "Error message providing details about the encountered issue."
}
}
}
]
Could not find candidate or job.
copied![
{
"type": "object",
"description": "Represents a general error scenario with status information and an associated error message.",
"properties": {
"status": {
"type": "string",
"description": "Status code or identifier indicating the nature of the error."
},
"message": {
"type": "string",
"description": "Error message providing details about the encountered issue."
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | To know if candidate got associated to the Job and his hiring status. | HiringStatus |
400 | Wrong request format or parameters missing. | Error |
404 | Could not find candidate or job. | Error |
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//candidates-api/applications/v1/candidates/{candidateId}/jobs/{jobId}/next-hiring-status
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
GET /candidates-api/applications/v1/candidates/{candidateId}/jobs/{jobId}/next-hiring-status
This API fetches next hiring status of a candidate for the given job.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
candidateId | path | string | true |
jobId | path | string | true |
Response
Successfully got the next hiring status for given candidate
copied![
{
"type": "object",
"description": "Represents information about the next hiring status.",
"properties": {
"data": {
"type": "object",
"description": "Details related to the hiring status data.",
"properties": {
"hiringStatusList": {
"type": "array",
"description": "List of hiring statuses and their properties.",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the hiring status."
},
"isRejected": {
"type": "boolean",
"description": "Flag indicating whether the hiring status is rejected."
},
"isDefault": {
"type": "boolean",
"description": "Flag indicating whether the hiring status is the default."
},
"statusCode": {
"type": "string",
"description": "Status code of the hiring status."
},
"step": {
"type": "string",
"description": "Current step in the workflow for the hiring status."
},
"transitionStatuses": {
"type": "array",
"description": "List of transition statuses for the current hiring status.",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the transition status."
},
"statusCode": {
"type": "string",
"description": "Status code of the transition status."
},
"isRejected": {
"type": "boolean",
"description": "Flag indicating whether the transition status is rejected."
},
"isDefault": {
"type": "boolean",
"description": "Flag indicating whether the transition status is the default."
},
"step": {
"type": "string",
"description": "Current step in the workflow for the transition status."
}
}
}
}
}
}
}
}
},
"message": {
"type": "string",
"description": "Message associated with the response."
},
"status": {
"type": "string",
"description": "Status of the response."
}
}
}
]
Wrong request format or parameters missing.
copied![
{
"type": "object",
"description": "Represents a general error scenario with status information and an associated error message.",
"properties": {
"status": {
"type": "string",
"description": "Status code or identifier indicating the nature of the error."
},
"message": {
"type": "string",
"description": "Error message providing details about the encountered issue."
}
}
}
]
Could not find candidate/Job for given identifier
copied![
{
"type": "object",
"description": "Represents a general error scenario with status information and an associated error message.",
"properties": {
"status": {
"type": "string",
"description": "Status code or identifier indicating the nature of the error."
},
"message": {
"type": "string",
"description": "Error message providing details about the encountered issue."
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | Successfully got the next hiring status for given candidate | NextHiringStatus |
400 | Wrong request format or parameters missing. | Error |
404 | Could not find candidate/Job for given identifier | Error |
patch
copied!# You can also use wgetcurl -X PATCH https://api.phenom.com//candidates-api/applications/v1/candidates/{candidateId}/jobs/{jobId}/update-hiring-status
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
PATCH /candidates-api/applications/v1/candidates/{candidateId}/jobs/{jobId}/update-hiring-status
This API updates the candidate hiring status for the job.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"previousHiringStatus": {
"type": "string",
"description": "The previous hiring status of the candidate."
},
"previousStep": {
"type": "string",
"description": "The previous step in the hiring process."
},
"hiringStatus": {
"type": "string",
"description": "The current hiring status of the candidate."
},
"hiringStep": {
"type": "string",
"description": "The current step in the hiring process."
},
"isRejected": {
"type": "boolean",
"description": "A boolean indicating whether the candidate has been rejected."
},
"rejectionReason": {
"type": "string",
"description": "The reason for candidate rejection."
},
"rejectionReasonId": {
"type": "string",
"description": "The unique identifier for the rejection reason."
},
"rejectCode": {
"type": "string",
"description": "The rejection code associated with the rejection."
},
"workflowStepId": {
"type": "string",
"description": "The unique identifier for the current workflow step."
},
"hiringStatusUpdateDate": {
"type": "string",
"description": "The date when the hiring status was last updated."
},
"currentStatusCode": {
"type": "string",
"description": "The current status code of the hiring process."
},
"currentStepCode": {
"type": "string",
"description": "The current step code of the hiring process."
},
"destinationStatusCode": {
"type": "string",
"description": "The destination status code for the next step in the hiring process."
},
"twoWayRequest": {
"type": "boolean",
"description": "A boolean indicating whether the hiring status update is a two-way request."
},
"recruiterName": {
"type": "string",
"description": "The name of the recruiter making the hiring status update."
},
"recruiterEmail": {
"type": "string",
"description": "The email address of the recruiter making the hiring status update."
},
"recruiterUserId": {
"type": "string",
"description": "The unique identifier for the recruiter making the hiring status update."
}
}
}
]
Parameters
Name | In | Type | Required |
---|---|---|---|
candidateId | path | string | true |
jobId | path | string | true |
Request Parameters
Type | Name |
---|---|
application/json | HiringStatusUpdateRequest |
Response
To update the hiring status of the candidate.
copied![
{
"type": "object",
"description": "Response object for updating hiring status.",
"properties": {
"data": {
"type": "object",
"description": "Empty data object for hiring status update response.",
"properties": {}
},
"message": {
"type": "string",
"description": "A message related to the hiring status update."
},
"status": {
"type": "string",
"description": "The overall status of the hiring status update process."
}
}
}
]
Wrong request format or parameters missing.
copied![
{
"type": "object",
"description": "Represents a general error scenario with status information and an associated error message.",
"properties": {
"status": {
"type": "string",
"description": "Status code or identifier indicating the nature of the error."
},
"message": {
"type": "string",
"description": "Error message providing details about the encountered issue."
}
}
}
]
Invalid JobId
copied![
{
"type": "object",
"description": "Represents a general error scenario with status information and an associated error message.",
"properties": {
"status": {
"type": "string",
"description": "Status code or identifier indicating the nature of the error."
},
"message": {
"type": "string",
"description": "Error message providing details about the encountered issue."
}
}
}
]
Exception occurred
copied![
{
"type": "object",
"description": "Represents a general error scenario with status information and an associated error message.",
"properties": {
"status": {
"type": "string",
"description": "Status code or identifier indicating the nature of the error."
},
"message": {
"type": "string",
"description": "Error message providing details about the encountered issue."
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | To update the hiring status of the candidate. | HiringStatusUpdateResponse |
400 | Wrong request format or parameters missing. | Error |
404 | Invalid JobId | Error |
500 | Exception occurred | Error |
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//candidates-api/applications/v1/candidates/{candidateId}/hiring-status-activities
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
GET /candidates-api/applications/v1/candidates/{candidateId}/hiring-status-activities
This API fetches hiring status activities of 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 |
Response
Successfully fetched hiring status activities for given candidate
copied![
{
"type": "object",
"description": "Response object for hiring status activities, including pagination details and activity data.",
"properties": {
"pagination": {
"type": "object",
"description": "Pagination details for the hiring status activities.",
"properties": {
"size": {
"type": "number",
"description": "Number of items per page."
},
"from": {
"type": "number",
"description": "Starting index of the items in the current page."
},
"totalCount": {
"type": "number",
"description": "Total count of hiring status activities across all pages."
}
}
},
"data": {
"type": "array",
"description": "Array of hiring status activity data.",
"items": {
"type": "object",
"description": "Details of a hiring status activity.",
"properties": {
"recruitersUserId": {
"type": "string",
"description": "User ID of the recruiter associated with the activity."
},
"recruiterName": {
"type": "string",
"description": "Name of the recruiter associated with the activity."
},
"candidateId": {
"type": "string",
"description": "ID of the candidate associated with the activity."
},
"actionType": {
"type": "string",
"description": "Type of action performed in the activity."
},
"createdDate": {
"type": "number",
"description": "Date when the activity was created."
},
"requestSource": {
"type": "string",
"description": "Source of the activity request."
},
"additionalFieldName": {
"type": "string",
"description": "Name of the additional field associated with the activity."
},
"previousValue": {
"type": "string",
"description": "Previous value of the additional field."
},
"updatedValue": {
"type": "string",
"description": "Updated value of the additional field."
},
"actionValue": {
"type": "string",
"description": "Value associated with the action."
},
"subject": {
"type": "string",
"description": "Subject of the activity."
},
"content": {
"type": "string",
"description": "Content of the activity."
},
"categoryName": {
"type": "string",
"description": "Name of the category associated with the activity."
},
"emailResponse": {
"type": "string",
"description": "Email response associated with the activity."
},
"fromEmail": {
"type": "string",
"description": "Email address from which the activity originated."
},
"fromName": {
"type": "string",
"description": "Name associated with the sender of the activity."
},
"toEmail": {
"type": "string",
"description": "Email address of the recipient of the activity."
},
"toName": {
"type": "string",
"description": "Name of the recipient of the activity."
},
"recipeName": {
"type": "string",
"description": "Name of the recipe associated with the activity."
},
"addedNewValue": {
"type": "string",
"description": "New value added in the activity."
}
}
}
},
"message": {
"type": "string",
"description": "A message related to the hiring status activities."
},
"status": {
"type": "string",
"description": "The overall status of the hiring status activities response."
},
"timestamp": {
"type": "string",
"description": "Timestamp indicating when the response was generated."
}
}
}
]
Invalid candidateId
copied![
{
"type": "object",
"description": "Represents a general error scenario with status information and an associated error message.",
"properties": {
"status": {
"type": "string",
"description": "Status code or identifier indicating the nature of the error."
},
"message": {
"type": "string",
"description": "Error message providing details about the encountered issue."
}
}
}
]
Exception occurred
copied![
{
"type": "object",
"description": "Represents a general error scenario with status information and an associated error message.",
"properties": {
"status": {
"type": "string",
"description": "Status code or identifier indicating the nature of the error."
},
"message": {
"type": "string",
"description": "Error message providing details about the encountered issue."
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | Successfully fetched hiring status activities for given candidate | HiringStatusActivities |
404 | Invalid candidateId | Error |
500 | Exception occurred | Error |
Leads
These APIs helps in assigning of multiple candidates as leads for a job.
patch
copied!# You can also use wgetcurl -X PATCH https://api.phenom.com//candidates-api/applications/v1/jobs/assign-candidates-to-job
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
PATCH /candidates-api/applications/v1/jobs/assign-candidates-to-job
This API helps in assigning multiple candidates to a job.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"candidateIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "An array of candidate IDs to be assigned to the specified job."
},
"jobId": {
"type": "string",
"description": "The unique identifier of the job to which candidates are to be assigned."
},
"syncToATS": {
"type": "boolean",
"description": "A boolean indicating whether the assignment should be synchronized with the Applicant Tracking System (ATS)."
},
"pushToATS": {
"type": "boolean",
"description": "A boolean indicating whether the assigned candidates should be pushed to the Applicant Tracking System (ATS)."
}
}
}
]
Request Parameters
Type | Name |
---|---|
application/json | AssignCandidatesToJobRequest |
Response
Successfully assigned candidates to job
copied![
{
"type": "object",
"description": "Response object for assigning candidates to a job.",
"properties": {
"data": {
"type": "object",
"description": "Data object for additional information related to the assignment of candidates to a job."
},
"message": {
"type": "string",
"description": "A message related to the assignment of candidates to the job."
},
"status": {
"type": "string",
"description": "The overall status of the assignment process."
}
}
}
]
Wrong request format or parameters missing.
copied![
{
"type": "object",
"description": "Represents a general error scenario with status information and an associated error message.",
"properties": {
"status": {
"type": "string",
"description": "Status code or identifier indicating the nature of the error."
},
"message": {
"type": "string",
"description": "Error message providing details about the encountered issue."
}
}
}
]
Exception occurred
copied![
{
"type": "object",
"description": "Represents a general error scenario with status information and an associated error message.",
"properties": {
"status": {
"type": "string",
"description": "Status code or identifier indicating the nature of the error."
},
"message": {
"type": "string",
"description": "Error message providing details about the encountered issue."
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | Successfully assigned candidates to job | AssignCandidatesToJobResponse |
400 | Wrong request format or parameters missing. | Error |
500 | Exception occurred | Error |
Activity
These APIs helps in getting Activities on Applicants.
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//candidates-api/applications/v1/candidates/{candidateId}/job-activities
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
GET /candidates-api/applications/v1/candidates/{candidateId}/job-activities
This API allows you To fetch Job Activities.
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",
"description": "Response object for job activities, including pagination details and job data.",
"properties": {
"status": {
"type": "string",
"description": "The overall status of the job activities response."
},
"message": {
"type": "string",
"description": "A message related to the job activities."
},
"timestamp": {
"type": "string",
"description": "Timestamp indicating when the response was generated."
},
"pagination": {
"type": "object",
"description": "Pagination details for the job activities.",
"properties": {
"size": {
"type": "integer",
"description": "Number of items per page."
},
"from": {
"type": "integer",
"description": "Starting index of the items in the current page."
},
"totalCount": {
"type": "integer",
"description": "Total count of job activities across all pages."
}
}
},
"data": {
"type": "array",
"description": "Array of job activity data.",
"items": {
"type": "object",
"description": "Details of a job activity.",
"properties": {
"jobCategory": {
"type": "string",
"description": "Category of the job associated with the activity."
},
"jobTitle": {
"type": "string",
"description": "Title of the job associated with the activity."
},
"siteType": {
"type": "string",
"description": "Type of site associated with the job."
},
"trafficSourceList": {
"type": "array",
"description": "List of traffic sources associated with the job.",
"items": {
"type": "object",
"properties": {
"sourceShortName": {
"type": "string",
"description": "Short name of the traffic source."
},
"sourceFullname": {
"type": "string",
"description": "Full name of the traffic source."
},
"referralType": {
"type": "string",
"description": "Type of referral from the traffic source."
},
"createdDate": {
"type": "string",
"description": "Date when the traffic source was created."
},
"rawUrl": {
"type": "string",
"description": "Raw URL associated with the traffic source."
}
}
}
},
"jobLocation": {
"type": "string",
"description": "Location of the job."
},
"updatedDate": {
"type": "string",
"description": "Date when the job activity was last updated."
},
"fieldID": {
"type": "string",
"description": "ID of the field associated with the job."
},
"locale": {
"type": "string",
"description": "Locale information associated with the job."
},
"jobId": {
"type": "string",
"description": "ID of the job associated with the activity."
},
"actionType": {
"type": "string",
"description": "Type of action performed in the activity."
},
"isConfidential": {
"type": "string",
"description": "Indicates whether the job is confidential."
},
"createdDate": {
"type": "string",
"description": "Date when the job activity was created."
},
"trafficSources": {
"type": "array",
"description": "List of traffic sources associated with the job activity.",
"items": {
"type": "object",
"properties": {
"sourceShortName": {
"type": "string",
"description": "Short name of the traffic source."
},
"sourceFullname": {
"type": "string",
"description": "Full name of the traffic source."
},
"referralType": {
"type": "string",
"description": "Type of referral from the traffic source."
},
"createdDate": {
"type": "string",
"description": "Date when the traffic source was created."
},
"rawUrl": {
"type": "string",
"description": "Raw URL associated with the traffic source."
}
}
}
}
}
}
}
}
}
]
204 response
copied![
{
"type": "object",
"description": "Response object indicating no content, typically used for successful requests with no additional data or message."
}
]
400 response
copied![
{
"type": "object",
"description": "Represents a bad request scenario with an associated error message.",
"properties": {
"message": {
"type": "string",
"description": "Error message indicating the nature of the bad request."
}
}
}
]
404 response
copied![
{
"type": "object",
"description": "Represents a general error scenario with status information and an associated error message.",
"properties": {
"status": {
"type": "string",
"description": "Status code or identifier indicating the nature of the error."
},
"message": {
"type": "string",
"description": "Error message providing details about the encountered issue."
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | JobActivities |
204 | 204 response | NoContent |
400 | 400 response | BadRequest |
404 | 404 response | Error |
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.phenom.com//candidates-api/applications/v1/candidates/{candidateId}/jobs/{jobId}/attachments
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userId: string'
GET /candidates-api/applications/v1/candidates/{candidateId}/jobs/{jobId}/attachments
This API is used to fetch Attachments on the candidate profiles based on candidateId and jobId
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userId | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
candidateId | path | string | true |
jobId | path | string | true |
applicationId | query | string | false |
Response
Successfully fetched the attachments of the associated job on candidate
copied![
{
"type": "object",
"description": "Object representing attachments.",
"properties": {
"data": {
"type": "object",
"description": "Object containing attachment data.",
"properties": {
"attachments": {
"type": "array",
"description": "Array of attachment items.",
"items": {
"type": "object",
"properties": {
"attachmentId": {
"type": "string",
"description": "Unique identifier for the attachment."
},
"attachmentName": {
"type": "string",
"description": "Name of the attachment."
},
"attachmentType": {
"type": "string",
"description": "Type of the attachment."
}
}
}
}
}
},
"message": {
"type": "string",
"description": "Description or message providing details about the response."
},
"status": {
"type": "string",
"description": "Status of the response."
}
}
}
]
Invalid candidateId
copied![
{
"type": "object",
"description": "Represents a general error scenario with status information and an associated error message.",
"properties": {
"status": {
"type": "string",
"description": "Status code or identifier indicating the nature of the error."
},
"message": {
"type": "string",
"description": "Error message providing details about the encountered issue."
}
}
}
]
Exception occurred
copied![
{
"type": "object",
"description": "Represents a general error scenario with status information and an associated error message.",
"properties": {
"status": {
"type": "string",
"description": "Status code or identifier indicating the nature of the error."
},
"message": {
"type": "string",
"description": "Error message providing details about the encountered issue."
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | Successfully fetched the attachments of the associated job on candidate | Attachment |
404 | Invalid candidateId | Error |
500 | Exception occurred | Error |
AI Matching
AI matching FitScore provides a concise assessment indicating how well a candidate aligns with a job based on their skills, experience, and qualifications.
post
copied!# You can also use wgetcurl -X POST https://api.phenom.com//ai-matching/v1/candidates/job-fitscore
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
POST /ai-matching/v1/candidates/job-fitscore
This API provides fitscore of a profile with respect to a job.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Body Parameter
copied![
{
"type": "object",
"description": "Request object to get fitscore results.",
"properties": {
"locale": {
"type": "string",
"description": "Locale of the site (Language_Country) - Example: en_US."
},
"siteType": {
"type": "string",
"default": "external",
"description": "Persona Value - Example: Internal, External."
},
"userId": {
"type": "string",
"description": "User id of a job."
},
"userProfile": {
"UserProfileFitScore": {
"type": "object",
"description": "It contains user profile details.",
"properties": {
"skills": {
"type": "array",
"description": "User's skills.",
"items": {
"type": "string",
"description": "List of skills."
}
},
"title": {
"type": "string",
"description": "Title of a job."
},
"yearsOfExperience": {
"type": "string",
"description": "Users's years of experience.",
"example": "0-5"
},
"preferredLocations": {
"type": "array",
"description": "Users's preferred locations.",
"items": {
"PreferredLocations": {
"type": "object",
"description": "It has details of preferred location.",
"properties": {
"location": {
"type": "string",
"description": "Preferred location name."
},
"latlong": {
"type": "object",
"description": "Latitude and longitude of preferred location.",
"properties": {
"lon": {
"type": "number",
"format": "double",
"description": "Longitude of preferred location."
},
"lan": {
"type": "number",
"format": "double",
"description": "Latitude of preferred location."
}
}
}
}
}
}
}
}
}
},
"jobIds": {
"type": "array",
"description": "Job ids to check fitscore.",
"items": {
"type": "string",
"description": "List of Job IDs."
}
}
}
}
]
Request Parameters
Type | Name |
---|---|
application/json | FitScoreRequest |
Response
200 response
copied![
{
"type": "object",
"description": "Fitscore Response.",
"properties": {
"status": {
"type": "integer",
"description": "Status code of response.",
"default": "200"
},
"result": {
"type": "array",
"description": "Obtained results.",
"items": {
"type": "object",
"description": "Results of fitscore.",
"properties": {
"jobId": {
"type": "string",
"description": "Job Id for which fitscore is calculated."
},
"fitLevel": {
"type": "string",
"description": "Shows how well the user fits the job."
},
"titleFit": {
"type": "string",
"description": "Shows how well the user title fits the job."
},
"skillFit": {
"type": "string",
"description": "Shows how well the user skills fits the job."
},
"experienceFit": {
"type": "string",
"description": "Shows how well the user experience fits the job."
},
"locationFit": {
"type": "string",
"description": "Shows how well the user location fits the job."
},
"skillGap": {
"type": "object",
"description": "Evaluates user skills.",
"properties": {
"exactMatch": {
"type": "array",
"description": "Exact Matched Skills.",
"items": {
"type": "string",
"description": "List of skills which matched exactly."
}
},
"semanticMatch": {
"type": "array",
"description": "Semantically Matched Skills.",
"items": {
"type": "string",
"description": "List of skills which matched semantically."
}
},
"noMatch": {
"type": "array",
"description": "UnMatched Skills.",
"items": {
"type": "string",
"description": "List of skills which are unmatched."
}
}
}
}
}
}
}
}
}
]
Bad Request
copied![
{
"type": "object",
"description": "Fitscore bad request details.",
"properties": {
"status": {
"type": "integer",
"description": "Status code of bad request."
},
"message": {
"type": "string",
"description": "Bad request message."
}
}
}
]
Server Error
copied![
{
"type": "object",
"description": "Error Response.",
"properties": {
"status": {
"type": "integer",
"description": "Status code of encountered error."
},
"message": {
"type": "string",
"description": "Encountered error message."
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | FitscoreResponse |
400 | Bad Request | FitscoreBadRequest |
500 | Server Error | ErrorResponse |
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//ai-matching/v1/candidates/{candidateId}/jobs/{jobId}/matching-skills
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userId: string'
GET /ai-matching/v1/candidates/{candidateId}/jobs/{jobId}/matching-skills
This API returns exact matching skills between job and 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 |
jobId | path | string | true |
Response
OK response.
copied![
{
"type": "object",
"description": "Response of the given request.",
"properties": {
"matchingSkills": {
"type": "array",
"description": "List of matched skills.",
"items": {
"type": "string"
}
},
"matchingSkillsCount": {
"type": "integer",
"description": "Count of matched skills."
},
"unmatchingSkills": {
"type": "array",
"description": "List of unmatched skills.",
"items": {
"type": "string"
}
},
"unmatchingSkillsCount": {
"type": "integer",
"description": "Count of unmatched skills."
},
"totalJobSkills": {
"type": "integer",
"description": "Count of total job skills."
},
"status": {
"type": "string",
"description": "Status of fitscore processing."
}
}
}
]
Bad Request.
copied![
{
"type": "object",
"description": "Required Parameters are missing to process the request.",
"properties": {
"ErrorResponseMessage": {
"type": "string",
"description": "Error Response Message."
}
}
}
]
Internal Server Error.
copied![
{
"type": "object",
"description": "Issue in processing the request.",
"properties": {
"ErrorResponseMessage": {
"type": "string",
"description": "Error Response Message."
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | OK response. | SkillMatchingResponse |
400 | Bad Request. | SkillMatchingBadRequest |
500 | Internal Server Error. | SkillMatchingErrorResponse |
Resume Parsing
The process of extracting important information about a candidate from the resume is called Resume Parsing. Information such as candidate’s details, education, experience, etc. mentioned in the resume.
post
copied!# You can also use wgetcurl -X POST https://api.phenom.com//parser/resume/v1/parse
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
POST /parser/resume/v1/parse
This API takes ‘file name’ and ‘datastream’ as input keys to extract the candidate's information such as name, contact information, email id, education, work experience, and skills etc.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Body Parameter
copied![
{
"type": "object",
"description": "Request object to parse resume using stream.",
"properties": {
"filename": {
"type": "string",
"description": "Resume file name."
},
"datastream": {
"type": "string",
"description": "Base64 encoded value."
}
}
}
]
Request Parameters
Type | Name |
---|---|
application/json | ResumeRequest |
Response
200 response.
copied![
{
"type": "object",
"description": "Response object after parsing resume.",
"properties": {
"status": {
"type": "string",
"description": "Status returned by the API."
},
"message": {
"type": "string",
"description": "Message string."
},
"messageKey": {
"type": "string",
"description": "Message key."
},
"timeStamp": {
"type": "string",
"description": "TimeStamp."
},
"data": {
"type": "object",
"description": "Data object which contains all the parsed fields.",
"properties": {
"resumedata": {
"type": "object",
"description": "Resumedata object which contains all the parsed fields.",
"properties": {
"personname": {
"type": "object",
"description": "Candidate personal details.",
"properties": {
"fullname": {
"type": "string",
"description": "Full name of Candidate."
},
"firstname": {
"type": "string",
"description": "First name of Candidate."
},
"middlename": {
"type": "string",
"description": "Middle name of Candidate."
},
"lastname": {
"type": "string",
"description": "Last name of Candidate."
}
}
},
"mobile": {
"type": "array",
"description": "Candidate contact details.",
"items": {
"type": "object",
"properties": {
"number": {
"type": "string",
"description": "Mobile number of Candidate."
},
"formattednumber": {
"type": "string",
"description": "Formatted number of Candidate."
}
}
}
},
"emailaddress": {
"type": "string",
"description": "Email address of Candidate."
},
"altemailaddress": {
"type": "string",
"description": "Alternate Email other than primary mail."
},
"internetaddress": {
"type": "array",
"description": "Candidate Internet address details.",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "Internet address type."
},
"url": {
"type": "string",
"description": "Internet address URL."
}
}
}
},
"postaladdress": {
"type": "array",
"description": "Candidate postal details.",
"items": {
"type": "object",
"properties": {
"fulladdress": {
"type": "string",
"description": "Complete postal address."
},
"city": {
"type": "string",
"description": "City mentioned in address."
},
"state": {
"type": "string",
"description": "State mentioned in address."
},
"country": {
"type": "string",
"description": "Country."
},
"zipcode": {
"type": "string",
"description": "Zipcode."
},
"ispresent": {
"type": "string",
"description": "Is it the current address of the candidate."
}
}
}
},
"resumelanguage": {
"type": "string",
"description": "Language of resume content."
},
"languageknown": {
"type": "string",
"description": "Language known by candidate."
},
"experiencesummary": {
"type": "object",
"description": "Candidate experience summary.",
"properties": {
"currentemployer": {
"type": "string",
"description": "Candidate working in current Company."
},
"currentrole": {
"type": "string",
"description": "Current role of candidate."
},
"gapperiod": {
"type": "string",
"description": "Time frame for which candidate is not working."
},
"longeststay": {
"type": "string",
"description": "Longest time frame in a Company."
},
"averagestay": {
"type": "string",
"description": "Average stay."
},
"totalexperienceinmonths": {
"type": "integer",
"description": "Total experience in months."
},
"totalexperienceinyear": {
"type": "string",
"description": "Total experience in year."
}
}
},
"filename": {
"type": "string",
"description": "Attached file name."
},
"resumetext": {
"type": "string",
"description": "Resume Content."
},
"summary": {
"type": "string",
"description": "Summary."
},
"resumeskills": {
"type": "string",
"description": "Resume skills."
},
"skilltaxonomy": {
"type": "array",
"description": "Candidate skills history.",
"items": {
"type": "object",
"properties": {
"skillname": {
"type": "string",
"description": "Skill name."
},
"lastused": {
"type": "string",
"description": "Last used."
},
"monthsused": {
"type": "string",
"description": "Months used."
},
"availability": {
"type": "string",
"description": "Availability."
}
}
}
},
"educationhistory": {
"description": "Candidate education info.",
"type": "array",
"items": {
"type": "object",
"properties": {
"school": {
"type": "string",
"description": "College name."
},
"city": {
"type": "string",
"description": "City."
},
"state": {
"type": "string",
"description": "state"
},
"country": {
"type": "string",
"description": "Country."
},
"degree": {
"type": "string",
"description": "Degree."
},
"startdate": {
"type": "string",
"description": "Joining date."
},
"enddate": {
"type": "string",
"description": "End date."
},
"aggregate": {
"type": "string",
"description": "Aggregate values."
}
}
}
},
"workhistory": {
"description": "Candidate work or experience details.",
"type": "array",
"items": {
"type": "object",
"properties": {
"company": {
"type": "string",
"description": "Company name."
},
"title": {
"type": "string",
"description": "Candidate Title."
},
"city": {
"type": "string",
"description": "City."
},
"state": {
"type": "string",
"description": "State."
},
"country": {
"type": "string",
"description": "Country."
},
"startdate": {
"type": "string",
"description": "Start date"
},
"description": {
"type": "string",
"description": "Experience description."
},
"enddate": {
"type": "string",
"description": "End date."
},
"skill": {
"type": "array",
"description": "Experience section skills.",
"items": {
"type": "string"
}
}
}
}
}
}
}
}
}
}
}
]
400 response.
copied![
{
"type": "object",
"description": "Error Response.",
"properties": {
"status": {
"type": "string",
"description": "Status code of encountered error."
},
"errors": {
"type": "array",
"description": "Error details.",
"items": {
"type": "object",
"description": "Error details.",
"properties": {
"errorAPI": {
"type": "string",
"description": "Status returned by the API."
},
"errorCode": {
"type": "string",
"description": "ErrorCode by the API."
},
"timeStamp": {
"type": "string",
"description": "TimeStamp."
},
"message": {
"type": "string",
"description": "Error message."
},
"messageKey": {
"type": "string",
"description": "Error message key."
}
}
}
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response. | ResumeResponse |
400 | 400 response. | ErrorResponse |
post
copied!# You can also use wgetcurl -X POST https://api.phenom.com//parser/resume/v1/parse/file
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
POST /parser/resume/v1/parse/file
This API takes ‘file’ (resume) as input to extract the candidate's information such as name, contact information, email id, education, work experience, and skills etc.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Body Parameter
copied![
{
"type": "object",
"description": "Request object to parse resume using file.",
"properties": {
"file": {
"type": "string",
"format": "binary",
"description": "Resume upload."
}
}
}
]
Request Parameters
Type | Name |
---|---|
multipart/form-data | ResumeFileRequest |
Response
200 response.
copied![
{
"type": "object",
"description": "Response object after parsing resume.",
"properties": {
"status": {
"type": "string",
"description": "Status returned by the API."
},
"message": {
"type": "string",
"description": "Message string."
},
"messageKey": {
"type": "string",
"description": "Message key."
},
"timeStamp": {
"type": "string",
"description": "TimeStamp."
},
"data": {
"type": "object",
"description": "Data object which contains all the parsed fields.",
"properties": {
"resumedata": {
"type": "object",
"description": "Resumedata object which contains all the parsed fields.",
"properties": {
"personname": {
"type": "object",
"description": "Candidate personal details.",
"properties": {
"fullname": {
"type": "string",
"description": "Full name of Candidate."
},
"firstname": {
"type": "string",
"description": "First name of Candidate."
},
"middlename": {
"type": "string",
"description": "Middle name of Candidate."
},
"lastname": {
"type": "string",
"description": "Last name of Candidate."
}
}
},
"mobile": {
"type": "array",
"description": "Candidate contact details.",
"items": {
"type": "object",
"properties": {
"number": {
"type": "string",
"description": "Mobile number of Candidate."
},
"formattednumber": {
"type": "string",
"description": "Formatted number of Candidate."
}
}
}
},
"emailaddress": {
"type": "string",
"description": "Email address of Candidate."
},
"altemailaddress": {
"type": "string",
"description": "Alternate Email other than primary mail."
},
"internetaddress": {
"type": "array",
"description": "Candidate Internet address details.",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "Internet address type."
},
"url": {
"type": "string",
"description": "Internet address URL."
}
}
}
},
"postaladdress": {
"type": "array",
"description": "Candidate postal details.",
"items": {
"type": "object",
"properties": {
"fulladdress": {
"type": "string",
"description": "Complete postal address."
},
"city": {
"type": "string",
"description": "City mentioned in address."
},
"state": {
"type": "string",
"description": "State mentioned in address."
},
"country": {
"type": "string",
"description": "Country."
},
"zipcode": {
"type": "string",
"description": "Zipcode."
},
"ispresent": {
"type": "string",
"description": "Is it the current address of the candidate."
}
}
}
},
"resumelanguage": {
"type": "string",
"description": "Language of resume content."
},
"languageknown": {
"type": "string",
"description": "Language known by candidate."
},
"experiencesummary": {
"type": "object",
"description": "Candidate experience summary.",
"properties": {
"currentemployer": {
"type": "string",
"description": "Candidate working in current Company."
},
"currentrole": {
"type": "string",
"description": "Current role of candidate."
},
"gapperiod": {
"type": "string",
"description": "Time frame for which candidate is not working."
},
"longeststay": {
"type": "string",
"description": "Longest time frame in a Company."
},
"averagestay": {
"type": "string",
"description": "Average stay."
},
"totalexperienceinmonths": {
"type": "integer",
"description": "Total experience in months."
},
"totalexperienceinyear": {
"type": "string",
"description": "Total experience in year."
}
}
},
"filename": {
"type": "string",
"description": "Attached file name."
},
"resumetext": {
"type": "string",
"description": "Resume Content."
},
"summary": {
"type": "string",
"description": "Summary."
},
"resumeskills": {
"type": "string",
"description": "Resume skills."
},
"skilltaxonomy": {
"type": "array",
"description": "Candidate skills history.",
"items": {
"type": "object",
"properties": {
"skillname": {
"type": "string",
"description": "Skill name."
},
"lastused": {
"type": "string",
"description": "Last used."
},
"monthsused": {
"type": "string",
"description": "Months used."
},
"availability": {
"type": "string",
"description": "Availability."
}
}
}
},
"educationhistory": {
"description": "Candidate education info.",
"type": "array",
"items": {
"type": "object",
"properties": {
"school": {
"type": "string",
"description": "College name."
},
"city": {
"type": "string",
"description": "City."
},
"state": {
"type": "string",
"description": "state"
},
"country": {
"type": "string",
"description": "Country."
},
"degree": {
"type": "string",
"description": "Degree."
},
"startdate": {
"type": "string",
"description": "Joining date."
},
"enddate": {
"type": "string",
"description": "End date."
},
"aggregate": {
"type": "string",
"description": "Aggregate values."
}
}
}
},
"workhistory": {
"description": "Candidate work or experience details.",
"type": "array",
"items": {
"type": "object",
"properties": {
"company": {
"type": "string",
"description": "Company name."
},
"title": {
"type": "string",
"description": "Candidate Title."
},
"city": {
"type": "string",
"description": "City."
},
"state": {
"type": "string",
"description": "State."
},
"country": {
"type": "string",
"description": "Country."
},
"startdate": {
"type": "string",
"description": "Start date"
},
"description": {
"type": "string",
"description": "Experience description."
},
"enddate": {
"type": "string",
"description": "End date."
},
"skill": {
"type": "array",
"description": "Experience section skills.",
"items": {
"type": "string"
}
}
}
}
}
}
}
}
}
}
}
]
400 response.
copied![
{
"type": "object",
"description": "Error Response.",
"properties": {
"status": {
"type": "string",
"description": "Status code of encountered error."
},
"errors": {
"type": "array",
"description": "Error details.",
"items": {
"type": "object",
"description": "Error details.",
"properties": {
"errorAPI": {
"type": "string",
"description": "Status returned by the API."
},
"errorCode": {
"type": "string",
"description": "ErrorCode by the API."
},
"timeStamp": {
"type": "string",
"description": "TimeStamp."
},
"message": {
"type": "string",
"description": "Error message."
},
"messageKey": {
"type": "string",
"description": "Error message key."
}
}
}
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response. | ResumeResponse |
400 | 400 response. | ErrorResponse |
Job Parsing
The process of extracting important information from the raw job description is called Job Parsing. This information can include things like job titles, required skills, required experience, job duties, and qualifications.
post
copied!# You can also use wgetcurl -X POST https://api.phenom.com//parser/job/v1/parse
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
POST /parser/job/v1/parse
This API extract various features, such as job titles, required skills, required experience, etc. from the raw job descriptions. It also enhances these extracted features and stores them in a database for use in Phenom AI systems.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Body Parameter
copied![
{
"type": "object",
"description": "Request data information.",
"properties": {
"jobDescription": {
"type": "string",
"description": "Raw job description."
}
}
}
]
Request Parameters
Type | Name |
---|---|
application/json | JDRequest |
Response
found the API.
copied![
{
"type": "object",
"description": "Response data information.",
"properties": {
"status": {
"type": "integer"
},
"skills": {
"type": "array",
"description": "All extracted skills deemed important by skills importance.",
"items": {
"type": "string"
}
},
"skillRanking": {
"type": "array",
"description": "Importantness of extracted skills.",
"items": {
"type": "object",
"properties": {
"term": {
"type": "string",
"description": "Extracted skill name."
},
"score": {
"type": "number",
"format": "float",
"description": "Extracted skill importance score."
}
}
}
},
"jobTeaser": {
"type": "string",
"description": "Job teaser from description."
},
"jobExperience": {
"type": "object",
"description": "Extracted experience information.",
"properties": {
"minOverallExp": {
"type": "integer",
"description": "Minimum experience required."
},
"maxOverallExp": {
"type": "integer",
"description": "Maximum experience required."
}
}
},
"language": {
"type": "string",
"description": "Job language."
},
"requirementSentences": {
"type": "array",
"description": "All requirement sentences.",
"items": {
"type": "string"
}
},
"responsibilitySentences": {
"type": "array",
"description": "All responsibility sentences.",
"items": {
"type": "string"
}
},
"experienceSentences": {
"type": "array",
"description": "All experience sentences.",
"items": {
"type": "string"
}
},
"softSkillsSentences": {
"type": "array",
"description": "All soft skill sentences.",
"items": {
"type": "string"
}
},
"skillsSentences": {
"type": "array",
"description": "All required skills sentences.",
"items": {
"type": "string"
}
},
"educationSentences": {
"type": "array",
"description": "All education/degree related sentences.",
"items": {
"type": "string"
}
},
"jobZone": {
"type": "integer",
"description": "Job zone."
},
"onet": {
"type": "array",
"description": "O*NET information containing onet code, title and score.",
"items": {
"type": "object",
"properties": {
"onetCode": {
"type": "string",
"description": "Job special code according O*NET standard."
},
"onetTitle": {
"type": "string",
"description": "Job special title according O*NET standard."
},
"score": {
"type": "number",
"format": "float",
"description": "O*NET score."
}
}
}
},
"jobPreferredLanguages": {
"type": "string",
"description": "Preferred languages mentioned in the job description."
},
"jobTypeFields": {
"type": "object",
"description": "Information about job experience type.",
"properties": {
"jobType": {
"type": "string",
"description": "Job type part-time/full-time."
},
"isIntern": {
"type": "boolean",
"description": "Is intern job."
},
"experienceType": {
"type": "string",
"description": "Experience Level."
},
"isEntrylevel": {
"type": "boolean",
"description": "Is entry level job."
}
}
},
"cleanedTitle": {
"type": "string",
"description": "Noise free title."
},
"languageFullform": {
"type": "string",
"description": "Job Language full form."
},
"jobDomain": {
"type": "string",
"description": "Job domain."
}
}
}
]
Some exception occured while extracting features.
copied![
{
"type": "object",
"description": "Error Response.",
"properties": {
"status": {
"type": "string",
"description": "Status code of encountered error."
},
"errors": {
"type": "array",
"description": "Error details.",
"items": {
"type": "object",
"description": "Error details.",
"properties": {
"errorAPI": {
"type": "string",
"description": "Status returned by the API."
},
"errorCode": {
"type": "string",
"description": "ErrorCode by the API."
},
"timeStamp": {
"type": "string",
"description": "TimeStamp."
},
"message": {
"type": "string",
"description": "Error message."
},
"messageKey": {
"type": "string",
"description": "Error message key."
}
}
}
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | found the API. | JobResponse |
400 | Some exception occured while extracting features. | ErrorResponse |
Email Communications
These APIs ensures an easy integration process of email management for developers to send, read, and track email histories within applications.
Email Communications
These APIs allows the developers to send, read, and track email histories.
post
copied!# You can also use wgetcurl -X POST https://api.phenom.com//communications/email/v1/send
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
POST /communications/email/v1/send
This API allows you to send an email for a candidate.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Body Parameter
copied![
{
"required": {
"0": "emailContent",
"1": "subject",
"2": "toEmail"
},
"type": "object",
"properties": {
"subject": {
"type": "string",
"description": "Subject in the email."
},
"emailContent": {
"type": "string",
"description": "Content in the email."
},
"toEmail": {
"type": "string",
"description": "Receiver's email address."
}
}
}
]
Request Parameters
Type | Name |
---|---|
application/json | SendEmailRequest |
Response
OK.
copied![
{
"type": "object",
"description": "Response for the email sent.",
"properties": {
"data": {
"type": "object",
"description": "Data for Send Email Response.",
"properties": {
"emailActivityId": {
"type": "string",
"description": "ActivityId of an Email."
},
"message": {
"type": "string",
"description": "A user-readable message describing the send email response."
}
},
"required": {
"0": "emailActivityId",
"1": "message"
}
},
"status": {
"type": "string",
"description": "Status for send email response."
}
},
"required": {
"0": "data",
"1": "status"
}
}
]
Bad Request.
copied![
{
"type": "object",
"description": "An Error Message showing the Bad Request.",
"properties": {
"status": {
"type": "string",
"description": "Status of the Bad request."
},
"message": {
"type": "string",
"description": "A user-readable message describing the Bad Request."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code associated with the API error."
},
"message": {
"type": "string",
"description": "A descriptive message providing details about the error."
},
"status": {
"type": "string",
"description": "HTTP status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"properties": {
"self": {
"type": "string",
"description": "A URL representing a self-reference link for the API resource."
}
}
}
}
}
}
]
Unauthorized.
copied![
{
"type": "object",
"description": "An Error Message showing the Unauthorized Request.",
"properties": {
"status": {
"type": "string",
"description": "Status of the Unauthorized Request."
},
"message": {
"type": "string",
"description": "A user-readable message describing the Unauthorized Request."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code associated with the API error."
},
"message": {
"type": "string",
"description": "A descriptive message providing details about the error."
},
"status": {
"type": "string",
"description": "HTTP status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"properties": {
"self": {
"type": "string",
"description": "A URL representing a self-reference link for the API resource."
}
}
}
}
}
}
]
Internal Server Error.
copied![
{
"type": "object",
"description": "An error message showing Internal server error.",
"properties": {
"status": {
"type": "string",
"description": "Status of Internal server error."
},
"message": {
"type": "string",
"description": "A user-readable message describing the Internal Server Error."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code associated with the API error."
},
"message": {
"type": "string",
"description": "A descriptive message providing details about the error."
},
"status": {
"type": "string",
"description": "HTTP status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"properties": {
"self": {
"type": "string",
"description": "A URL representing a self-reference link for the API resource."
}
}
}
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | OK. | SendEmailResponse |
400 | Bad Request. | BadRequest |
401 | Unauthorized. | UnauthorizedRequest |
500 | Internal Server Error. | InternalServerError |
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//communications/email/v1/history
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
GET /communications/email/v1/history
This API allows you to get all the email history of a candidate
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
offset | query | integer | false |
limit | query | integer | false |
query | string | true |
Response
OK.
copied![
{
"type": "object",
"properties": {
"pagination": {
"type": "object",
"description": "Object containing pagination details for email history.",
"properties": {
"first": {
"type": "boolean",
"description": "Indicates whether it is the first page of email history."
},
"last": {
"type": "boolean",
"description": "Indicates whether it is the last page of email history."
},
"hasErrors": {
"type": "boolean",
"description": "Indicates whether there are errors in the email history."
},
"hasNext": {
"type": "boolean",
"description": "Indicates whether there is a next page in the email history."
},
"totalElements": {
"type": "integer",
"format": "int32",
"description": "Total number of elements in the email history."
},
"totalPages": {
"type": "integer",
"format": "int32",
"description": "Total pages in the email."
},
"size": {
"type": "integer",
"format": "int32",
"description": "Number of elements in the current page of email history."
},
"currentPage": {
"type": "integer",
"format": "int32",
"description": "Current page of email history."
},
"numberOfElements": {
"type": "integer",
"format": "int32",
"description": "Number of elements in the current page of email history."
}
}
},
"data": {
"type": "array",
"description": "Email History Data.",
"items": {
"type": "object",
"properties": {
"createdDate": {
"type": "integer",
"format": "int64",
"description": "Email created Date."
},
"toName": {
"type": "string",
"description": "Recipient's name in the email."
},
"subject": {
"type": "string",
"description": "Subject of the email."
},
"fromName": {
"type": "string",
"description": "Sender Name in the email."
},
"toEmail": {
"type": "string",
"description": "Recipient's email address."
},
"fromEmail": {
"type": "string",
"description": "Sender's email address."
},
"source": {
"type": "string",
"description": "Source for the email history."
},
"emailActivityId": {
"type": "string",
"description": "Activity ID of the email."
}
}
}
},
"status": {
"type": "string",
"description": "Status of the Email History."
}
}
}
]
Bad Request.
copied![
{
"type": "object",
"description": "An Error Message showing the Bad Request.",
"properties": {
"status": {
"type": "string",
"description": "Status of the Bad request."
},
"message": {
"type": "string",
"description": "A user-readable message describing the Bad Request."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code associated with the API error."
},
"message": {
"type": "string",
"description": "A descriptive message providing details about the error."
},
"status": {
"type": "string",
"description": "HTTP status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"properties": {
"self": {
"type": "string",
"description": "A URL representing a self-reference link for the API resource."
}
}
}
}
}
}
]
Unauthorized.
copied![
{
"type": "object",
"description": "An Error Message showing the Unauthorized Request.",
"properties": {
"status": {
"type": "string",
"description": "Status of the Unauthorized Request."
},
"message": {
"type": "string",
"description": "A user-readable message describing the Unauthorized Request."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code associated with the API error."
},
"message": {
"type": "string",
"description": "A descriptive message providing details about the error."
},
"status": {
"type": "string",
"description": "HTTP status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"properties": {
"self": {
"type": "string",
"description": "A URL representing a self-reference link for the API resource."
}
}
}
}
}
}
]
Internal Server Error.
copied![
{
"type": "object",
"description": "An error message showing Internal server error.",
"properties": {
"status": {
"type": "string",
"description": "Status of Internal server error."
},
"message": {
"type": "string",
"description": "A user-readable message describing the Internal Server Error."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code associated with the API error."
},
"message": {
"type": "string",
"description": "A descriptive message providing details about the error."
},
"status": {
"type": "string",
"description": "HTTP status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"properties": {
"self": {
"type": "string",
"description": "A URL representing a self-reference link for the API resource."
}
}
}
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | OK. | EmailHistory |
400 | Bad Request. | BadRequest |
401 | Unauthorized. | UnauthorizedRequest |
500 | Internal Server Error. | InternalServerError |
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//communications/email/v1/activity
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
GET /communications/email/v1/activity
This API allows you to get all the email activities of a candidate email like Delivered, Read, UnDelivered
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
emailActivityId | query | string | true |
Response
OK.
copied![
{
"type": "object",
"properties": {
"data": {
"type": "array",
"description": "Data of the Email Activity.",
"items": {
"type": "object",
"description": "Items in the Email Activity.",
"properties": {
"emailActivityId": {
"type": "string",
"description": "Activity ID in the email."
},
"event": {
"type": "string",
"description": "Type of event in the email activity."
},
"email": {
"type": "string",
"description": "Email address associated with the activity."
},
"ip": {
"type": "string",
"description": "IP address associated with an event."
},
"createdDate": {
"type": "integer",
"format": "int64",
"description": "Date when email is created."
},
"response": {
"type": "string",
"description": "Response for the Email Activity."
}
},
"required": {
"0": "emailActivityId",
"1": "event",
"2": "email",
"3": "ip",
"4": "createdDate",
"5": "response"
}
}
},
"status": {
"type": "string",
"description": "Status of the Email Activity."
}
},
"required": {
"0": "data",
"1": "status"
}
}
]
Bad Request.
copied![
{
"type": "object",
"description": "An Error Message showing the Bad Request.",
"properties": {
"status": {
"type": "string",
"description": "Status of the Bad request."
},
"message": {
"type": "string",
"description": "A user-readable message describing the Bad Request."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code associated with the API error."
},
"message": {
"type": "string",
"description": "A descriptive message providing details about the error."
},
"status": {
"type": "string",
"description": "HTTP status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"properties": {
"self": {
"type": "string",
"description": "A URL representing a self-reference link for the API resource."
}
}
}
}
}
}
]
Unauthorized.
copied![
{
"type": "object",
"description": "An Error Message showing the Unauthorized Request.",
"properties": {
"status": {
"type": "string",
"description": "Status of the Unauthorized Request."
},
"message": {
"type": "string",
"description": "A user-readable message describing the Unauthorized Request."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code associated with the API error."
},
"message": {
"type": "string",
"description": "A descriptive message providing details about the error."
},
"status": {
"type": "string",
"description": "HTTP status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"properties": {
"self": {
"type": "string",
"description": "A URL representing a self-reference link for the API resource."
}
}
}
}
}
}
]
Internal Server Error.
copied![
{
"type": "object",
"description": "An error message showing Internal server error.",
"properties": {
"status": {
"type": "string",
"description": "Status of Internal server error."
},
"message": {
"type": "string",
"description": "A user-readable message describing the Internal Server Error."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code associated with the API error."
},
"message": {
"type": "string",
"description": "A descriptive message providing details about the error."
},
"status": {
"type": "string",
"description": "HTTP status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"properties": {
"self": {
"type": "string",
"description": "A URL representing a self-reference link for the API resource."
}
}
}
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | OK. | EmailActivity |
400 | Bad Request. | BadRequest |
401 | Unauthorized. | UnauthorizedRequest |
500 | Internal Server Error. | InternalServerError |
post
copied!# You can also use wgetcurl -X POST https://api.phenom.com//communications/email/v1/reply/{vendor}/{msgType}
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
POST /communications/email/v1/reply/{vendor}/{msgType}
Api to receive email reply
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"email": {
"type": "string",
"description": "A string containing the full raw email content, including headers, MIME parts, and body.",
"example": "complete email with attachments will be present"
},
"to": {
"type": "string",
"description": "Email recipient field as taken from the message headers.",
"example": "recipient@example.com"
},
"cc": {
"type": "string",
"description": "Email CC field.",
"example": "username <sample1@gmail.com>, username <sample2@phenompeople"
},
"from": {
"type": "string",
"description": "Email sender.",
"example": "sender@example.com"
},
"text": {
"type": "string",
"description": "Email body in plaintext formatting.",
"example": "This is a plaintext email body."
},
"html": {
"type": "string",
"description": "HTML body of the email. If not set, the email did not have an HTML body.",
"example": "<html><body>This is an HTML email body.</body></html>"
},
"senderIp": {
"type": "string",
"description": "Email sender IP address.",
"example": "192.168.1.1"
},
"envelope": {
"type": "string",
"description": "A string containing the SMTP envelope. It has two variables: `to`, an array containing the recipient addresses, and `from`, the return path for the message.",
"example": "{\"to\":[\"toemail@domain.com\"],\"from\":\"fromEmail@domain.com\"}"
},
"subject": {
"type": "string",
"description": "Email subject.",
"example": "Important Update"
},
"spf": {
"type": "string",
"description": "The results of the Sender Policy Framework verification of the message sender and receiving IP address.",
"example": "True or False"
},
"charsets": {
"type": "string",
"description": "A string containing the character sets of the fields extracted from the message.",
"example": "UTF-8"
}
},
"required": {
"0": "envelope",
"1": "subject",
"2": "email"
}
}
]
Parameters
Name | In | Type | Required |
---|---|---|---|
msgType | path | string | true |
vendor | path | string | true |
Request Parameters
Type | Name |
---|---|
multipart/form-data | ReplyEmailRequest |
Response
OK.
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "status of event",
"example": "success"
},
"details": {
"type": "object",
"properties": {
"messageId": {
"type": "string",
"description": "reply message id (uuid)",
"example": "2402e53d-7226-4dc3-a9ec-ab4dd7450bfs"
}
}
}
}
}
]
Bad Request.
copied![
{
"type": "object",
"description": "An Error Message showing the Bad Request.",
"properties": {
"status": {
"type": "string",
"description": "status of request",
"example": "error"
},
"errors": {
"type": "array",
"items": {
"Error": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"description": "Http status code (400, 401, 404, 500)"
},
"errorCode": {
"type": "string",
"description": "Internal error errorCode"
},
"status": {
"type": "string",
"description": "status of request",
"example": "success/error"
},
"field": {
"type": "string",
"description": "When applicable, this property value will be the field that generated the error."
},
"message": {
"type": "string",
"description": "Message of failed request"
}
}
}
}
}
}
}
]
Unauthorized.
copied![
{
"type": "object",
"description": "An error message showing unauthorized request.",
"properties": {
"status": {
"type": "string",
"description": "status of request",
"example": "error"
},
"errors": {
"type": "array",
"items": {
"Error": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"description": "Http status code (400, 401, 404, 500)"
},
"errorCode": {
"type": "string",
"description": "Internal error errorCode"
},
"status": {
"type": "string",
"description": "status of request",
"example": "success/error"
},
"field": {
"type": "string",
"description": "When applicable, this property value will be the field that generated the error."
},
"message": {
"type": "string",
"description": "Message of failed request"
}
}
}
}
}
}
}
]
AccessForbidden.
copied![
{
"type": "object",
"description": "An error message showing Access Forbidden.",
"properties": {
"status": {
"type": "string",
"description": "status of request",
"example": "error"
},
"errors": {
"type": "array",
"items": {
"Error": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"description": "Http status code (400, 401, 404, 500)"
},
"errorCode": {
"type": "string",
"description": "Internal error errorCode"
},
"status": {
"type": "string",
"description": "status of request",
"example": "success/error"
},
"field": {
"type": "string",
"description": "When applicable, this property value will be the field that generated the error."
},
"message": {
"type": "string",
"description": "Message of failed request"
}
}
}
}
}
}
}
]
url not found.
copied![
{
"type": "object",
"description": "An Error Message showing the Url not found",
"properties": {
"status": {
"type": "string",
"description": "status of request",
"example": "error"
},
"errors": {
"type": "array",
"items": {
"Error": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"description": "Http status code (400, 401, 404, 500)"
},
"errorCode": {
"type": "string",
"description": "Internal error errorCode"
},
"status": {
"type": "string",
"description": "status of request",
"example": "success/error"
},
"field": {
"type": "string",
"description": "When applicable, this property value will be the field that generated the error."
},
"message": {
"type": "string",
"description": "Message of failed request"
}
}
}
}
}
}
}
]
Too large content
copied![
{
"type": "object",
"description": "An Error Message showing the Too large content",
"properties": {
"status": {
"type": "string",
"description": "status of request",
"example": "error"
},
"errors": {
"type": "array",
"items": {
"Error": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"description": "Http status code (400, 401, 404, 500)"
},
"errorCode": {
"type": "string",
"description": "Internal error errorCode"
},
"status": {
"type": "string",
"description": "status of request",
"example": "success/error"
},
"field": {
"type": "string",
"description": "When applicable, this property value will be the field that generated the error."
},
"message": {
"type": "string",
"description": "Message of failed request"
}
}
}
}
}
}
}
]
Internal Server Error.
copied![
{
"type": "object",
"description": "An error message showing Internal server error.",
"properties": {
"status": {
"type": "string",
"description": "status of request",
"example": "error"
},
"errors": {
"type": "array",
"items": {
"Error": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"description": "Http status code (400, 401, 404, 500)"
},
"errorCode": {
"type": "string",
"description": "Internal error errorCode"
},
"status": {
"type": "string",
"description": "status of request",
"example": "success/error"
},
"field": {
"type": "string",
"description": "When applicable, this property value will be the field that generated the error."
},
"message": {
"type": "string",
"description": "Message of failed request"
}
}
}
}
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | OK. | ReplySuccessResponse |
400 | Bad Request. | BadRequestResponse |
401 | Unauthorized. | UnauthorizedRequestResponse |
403 | AccessForbidden. | AccessForbidden |
404 | url not found. | UrlNotFound |
413 | Too large content | TooLargeContent |
500 | Internal Server Error. | InternalServerErrorResponse |
post
copied!# You can also use wgetcurl -X POST https://api.phenom.com//communications/email/v1/events/{vendor}/{msgType}
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
POST /communications/email/v1/events/{vendor}/{msgType}
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Body Parameter
copied![
{}
]
Parameters
Name | In | Type | Required |
---|---|---|---|
msgType | path | string | true |
vendor | path | string | true |
Request Parameters
Type | Name |
---|---|
application/json | EventsEmailRequest |
Response
OK.
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "status of event",
"example": "success"
}
}
}
]
Bad Request.
copied![
{
"type": "object",
"description": "An Error Message showing the Bad Request.",
"properties": {
"status": {
"type": "string",
"description": "status of request",
"example": "error"
},
"errors": {
"type": "array",
"items": {
"Error": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"description": "Http status code (400, 401, 404, 500)"
},
"errorCode": {
"type": "string",
"description": "Internal error errorCode"
},
"status": {
"type": "string",
"description": "status of request",
"example": "success/error"
},
"field": {
"type": "string",
"description": "When applicable, this property value will be the field that generated the error."
},
"message": {
"type": "string",
"description": "Message of failed request"
}
}
}
}
}
}
}
]
url not found.
copied![
{
"type": "object",
"description": "An Error Message showing the Url not found",
"properties": {
"status": {
"type": "string",
"description": "status of request",
"example": "error"
},
"errors": {
"type": "array",
"items": {
"Error": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"description": "Http status code (400, 401, 404, 500)"
},
"errorCode": {
"type": "string",
"description": "Internal error errorCode"
},
"status": {
"type": "string",
"description": "status of request",
"example": "success/error"
},
"field": {
"type": "string",
"description": "When applicable, this property value will be the field that generated the error."
},
"message": {
"type": "string",
"description": "Message of failed request"
}
}
}
}
}
}
}
]
Internal Server Error.
copied![
{
"type": "object",
"description": "An error message showing Internal server error.",
"properties": {
"status": {
"type": "string",
"description": "status of request",
"example": "error"
},
"errors": {
"type": "array",
"items": {
"Error": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"description": "Http status code (400, 401, 404, 500)"
},
"errorCode": {
"type": "string",
"description": "Internal error errorCode"
},
"status": {
"type": "string",
"description": "status of request",
"example": "success/error"
},
"field": {
"type": "string",
"description": "When applicable, this property value will be the field that generated the error."
},
"message": {
"type": "string",
"description": "Message of failed request"
}
}
}
}
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | OK. | EventsSuccessResponse |
400 | Bad Request. | BadRequestResponse |
404 | url not found. | UrlNotFound |
500 | Internal Server Error. | InternalServerErrorResponse |
Forward Profile
These APIs allows you to forward a profile.
post
copied!# You can also use wgetcurl -X POST https://api.phenom.com//communications/email/v1/forward-profile
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
POST /communications/email/v1/forward-profile
This API allows you to forward a profile.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Body Parameter
copied![
{
"required": {
"0": "candidateEmail",
"1": "subject",
"2": "toEmail"
},
"type": "object",
"properties": {
"subject": {
"type": "string",
"description": "Subject for the Forward profile Request."
},
"toEmail": {
"type": "string",
"description": "Recipient's email address."
},
"candidateEmail": {
"type": "string",
"description": "Candidate's email address."
}
}
}
]
Request Parameters
Type | Name |
---|---|
application/json | ForwardProfileRequest |
Response
OK.
copied![
{
"type": "object",
"properties": {
"data": {
"type": "object",
"description": "Data for forward profile response.",
"properties": {
"emailActivityId": {
"type": "string",
"description": "Activity ID of the email."
},
"message": {
"type": "string",
"description": "A user-readable message describing the Forward Profile Response."
}
},
"required": {
"0": "emailActivityId",
"1": "status",
"2": "message"
}
},
"status": {
"type": "string",
"description": "Status of the Forward profile response."
}
},
"required": {
"0": "data",
"1": "status"
}
}
]
Bad Request.
copied![
{
"type": "object",
"description": "An Error Message showing the Bad Request.",
"properties": {
"status": {
"type": "string",
"description": "Status of the Bad request."
},
"message": {
"type": "string",
"description": "A user-readable message describing the Bad Request."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code associated with the API error."
},
"message": {
"type": "string",
"description": "A descriptive message providing details about the error."
},
"status": {
"type": "string",
"description": "HTTP status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"properties": {
"self": {
"type": "string",
"description": "A URL representing a self-reference link for the API resource."
}
}
}
}
}
}
]
Unauthorized.
copied![
{
"type": "object",
"description": "An Error Message showing the Unauthorized Request.",
"properties": {
"status": {
"type": "string",
"description": "Status of the Unauthorized Request."
},
"message": {
"type": "string",
"description": "A user-readable message describing the Unauthorized Request."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code associated with the API error."
},
"message": {
"type": "string",
"description": "A descriptive message providing details about the error."
},
"status": {
"type": "string",
"description": "HTTP status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"properties": {
"self": {
"type": "string",
"description": "A URL representing a self-reference link for the API resource."
}
}
}
}
}
}
]
Internal Server Error.
copied![
{
"type": "object",
"description": "An error message showing Internal server error.",
"properties": {
"status": {
"type": "string",
"description": "Status of Internal server error."
},
"message": {
"type": "string",
"description": "A user-readable message describing the Internal Server Error."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code associated with the API error."
},
"message": {
"type": "string",
"description": "A descriptive message providing details about the error."
},
"status": {
"type": "string",
"description": "HTTP status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"properties": {
"self": {
"type": "string",
"description": "A URL representing a self-reference link for the API resource."
}
}
}
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | OK. | ForwardProfileResponse |
400 | Bad Request. | BadRequest |
401 | Unauthorized. | UnauthorizedRequest |
500 | Internal Server Error. | InternalServerError |
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//communications/email/v1/forward-profile/activity
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
GET /communications/email/v1/forward-profile/activity
This API allows you to get all the Activities of forward profiles.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
offset | query | integer | false |
limit | query | integer | false |
communicationId | query | string | false |
query | string | true |
Response
OK.
copied![
{
"type": "object",
"properties": {
"pagination": {
"type": "object",
"description": "Object containing pagination details for forward profile activity.",
"properties": {
"first": {
"type": "boolean",
"description": "Indicates whether it is the first page of forward profile activity."
},
"last": {
"type": "boolean",
"description": "Indicates whether it is the last page of forward profile activity."
},
"hasErrors": {
"type": "boolean",
"description": "Indicates whether there are errors in the forward profile activity."
},
"hasNext": {
"type": "boolean",
"description": "Indicates whether there is a next page in the forward profile activity."
},
"totalElements": {
"type": "integer",
"description": "Total number of elements in the forward profile activity."
},
"totalPages": {
"type": "integer",
"description": "Total pages in the forward profile activity."
},
"size": {
"type": "integer",
"description": "Number of elements in the current page of forward profile activity."
},
"currentPage": {
"type": "integer",
"description": "Current page number of the forward profile activity."
},
"numberOfElements": {
"type": "integer",
"description": "Number of elements in the current page of forward profile activity."
}
},
"required": {
"0": "first",
"1": "last",
"2": "hasErrors",
"3": "hasNext",
"4": "totalElements",
"5": "totalPages",
"6": "size",
"7": "currentPage",
"8": "numberOfElements"
}
},
"data": {
"type": "array",
"description": "Data for Forward Profile Activity.",
"items": {
"type": "object",
"properties": {
"createdDate": {
"type": "integer",
"format": "int64",
"description": "Date when email is created."
},
"toName": {
"type": "string",
"description": "Recipient's name."
},
"subject": {
"type": "string",
"description": "Subject of the email."
},
"fromName": {
"type": "string",
"description": "Sender's name."
},
"toEmail": {
"type": "string",
"description": "Sender's email address."
},
"fromEmail": {
"type": "string",
"description": "Recipient's email address."
},
"source": {
"type": "string",
"description": "Source for forward profile acivity."
},
"emailActivityId": {
"type": "string",
"description": "Activity ID in the email."
}
},
"required": {
"0": "createdDate",
"1": "toName",
"2": "subject",
"3": "fromName",
"4": "toEmail",
"5": "fromEmail",
"6": "source",
"7": "emailActivityId"
}
}
},
"status": {
"type": "string",
"description": "Status of the Forward Profile Activity."
}
},
"required": {
"0": "pagination",
"1": "data",
"2": "status"
}
}
]
Bad Request.
copied![
{
"type": "object",
"description": "An Error Message showing the Bad Request.",
"properties": {
"status": {
"type": "string",
"description": "Status of the Bad request."
},
"message": {
"type": "string",
"description": "A user-readable message describing the Bad Request."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code associated with the API error."
},
"message": {
"type": "string",
"description": "A descriptive message providing details about the error."
},
"status": {
"type": "string",
"description": "HTTP status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"properties": {
"self": {
"type": "string",
"description": "A URL representing a self-reference link for the API resource."
}
}
}
}
}
}
]
Unauthorized.
copied![
{
"type": "object",
"description": "An Error Message showing the Unauthorized Request.",
"properties": {
"status": {
"type": "string",
"description": "Status of the Unauthorized Request."
},
"message": {
"type": "string",
"description": "A user-readable message describing the Unauthorized Request."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code associated with the API error."
},
"message": {
"type": "string",
"description": "A descriptive message providing details about the error."
},
"status": {
"type": "string",
"description": "HTTP status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"properties": {
"self": {
"type": "string",
"description": "A URL representing a self-reference link for the API resource."
}
}
}
}
}
}
]
Internal Server Error.
copied![
{
"type": "object",
"description": "An error message showing Internal server error.",
"properties": {
"status": {
"type": "string",
"description": "Status of Internal server error."
},
"message": {
"type": "string",
"description": "A user-readable message describing the Internal Server Error."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code associated with the API error."
},
"message": {
"type": "string",
"description": "A descriptive message providing details about the error."
},
"status": {
"type": "string",
"description": "HTTP status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"properties": {
"self": {
"type": "string",
"description": "A URL representing a self-reference link for the API resource."
}
}
}
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | OK. | ForwardProfileActivity |
400 | Bad Request. | BadRequest |
401 | Unauthorized. | UnauthorizedRequest |
500 | Internal Server Error. | InternalServerError |
SMS Communications
These APIs allows the developers to send, read, and track SMS histories.
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//communications/sms/v1/optIn
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
GET /communications/sms/v1/optIn
This API allows you to optIn a phoneNumber to SMS communications.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
query | string | false | |
phoneNumber | query | string | false |
Response
OK.
copied![
{
"type": "object",
"properties": {
"details": {
"type": "object",
"description": "OptIn status Details.",
"properties": {
"message": {
"type": "string",
"description": "A user-readable message describing the OptIn status."
}
},
"required": {
"0": "message"
}
},
"status": {
"type": "string",
"description": "Status of the OptIn."
}
},
"required": {
"0": "details",
"1": "status"
}
}
]
Bad Request.
copied![
{
"type": "object",
"description": "An Error Message showing the Bad Request.",
"properties": {
"status": {
"type": "string",
"description": "Status of the Bad request."
},
"message": {
"type": "string",
"description": "A user-readable message describing the Bad Request."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code associated with the API error."
},
"message": {
"type": "string",
"description": "A descriptive message providing details about the error."
},
"status": {
"type": "string",
"description": "HTTP status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"properties": {
"self": {
"type": "string",
"description": "A URL representing a self-reference link for the API resource."
}
}
}
}
}
}
]
Unauthorized
copied![
{
"type": "object",
"description": "An Error Message showing the Unauthorized Request.",
"properties": {
"status": {
"type": "string",
"description": "Status of the Unauthorized Request."
},
"message": {
"type": "string",
"description": "A user-readable message describing the Unauthorized Request."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code associated with the API error."
},
"message": {
"type": "string",
"description": "A descriptive message providing details about the error."
},
"status": {
"type": "string",
"description": "HTTP status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"properties": {
"self": {
"type": "string",
"description": "A URL representing a self-reference link for the API resource."
}
}
}
}
}
}
]
Internal Server Error.
copied![
{
"type": "object",
"description": "An error message showing Internal server error.",
"properties": {
"status": {
"type": "string",
"description": "Status of Internal server error."
},
"message": {
"type": "string",
"description": "A user-readable message describing the Internal Server Error."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code associated with the API error."
},
"message": {
"type": "string",
"description": "A descriptive message providing details about the error."
},
"status": {
"type": "string",
"description": "HTTP status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"properties": {
"self": {
"type": "string",
"description": "A URL representing a self-reference link for the API resource."
}
}
}
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | OK. | OptInStatus |
400 | Bad Request. | BadRequest |
401 | Unauthorized | UnauthorizedRequest |
500 | Internal Server Error. | InternalServerError |
put
copied!# You can also use wgetcurl -X PUT https://api.phenom.com//communications/sms/v1/optIn
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
PUT /communications/sms/v1/optIn
This API allows you to update the optIn status.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Body Parameter
copied![
{
"required": {
"0": "optIn"
},
"type": "object",
"properties": {
"phoneNumber": {
"type": "string",
"description": "The phone number for the opt-in request."
},
"email": {
"type": "string",
"description": "The email address for the opt-in request."
},
"optIn": {
"type": "boolean",
"description": "A boolean flag indicating the opt-in status."
}
}
}
]
Request Parameters
Type | Name |
---|---|
application/json | OptInRequest |
Response
OK.
copied![
{
"type": "object",
"properties": {
"details": {
"type": "object",
"description": "Details of the OptIn Response.",
"properties": {
"message": {
"type": "string",
"description": "A user-readable message describing the OptIn response."
}
},
"required": {
"0": "message"
}
},
"status": {
"type": "string",
"description": "Status of the OptIn response."
}
},
"required": {
"0": "details",
"1": "status"
}
}
]
Bad Request.
copied![
{
"type": "object",
"description": "An Error Message showing the Bad Request.",
"properties": {
"status": {
"type": "string",
"description": "Status of the Bad request."
},
"message": {
"type": "string",
"description": "A user-readable message describing the Bad Request."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code associated with the API error."
},
"message": {
"type": "string",
"description": "A descriptive message providing details about the error."
},
"status": {
"type": "string",
"description": "HTTP status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"properties": {
"self": {
"type": "string",
"description": "A URL representing a self-reference link for the API resource."
}
}
}
}
}
}
]
Unauthorized.
copied![
{
"type": "object",
"description": "An Error Message showing the Unauthorized Request.",
"properties": {
"status": {
"type": "string",
"description": "Status of the Unauthorized Request."
},
"message": {
"type": "string",
"description": "A user-readable message describing the Unauthorized Request."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code associated with the API error."
},
"message": {
"type": "string",
"description": "A descriptive message providing details about the error."
},
"status": {
"type": "string",
"description": "HTTP status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"properties": {
"self": {
"type": "string",
"description": "A URL representing a self-reference link for the API resource."
}
}
}
}
}
}
]
Internal Server Error.
copied![
{
"type": "object",
"description": "An error message showing Internal server error.",
"properties": {
"status": {
"type": "string",
"description": "Status of Internal server error."
},
"message": {
"type": "string",
"description": "A user-readable message describing the Internal Server Error."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code associated with the API error."
},
"message": {
"type": "string",
"description": "A descriptive message providing details about the error."
},
"status": {
"type": "string",
"description": "HTTP status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"properties": {
"self": {
"type": "string",
"description": "A URL representing a self-reference link for the API resource."
}
}
}
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | OK. | OptInResponse |
400 | Bad Request. | BadRequest |
401 | Unauthorized. | UnauthorizedRequest |
500 | Internal Server Error. | InternalServerError |
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//communications/sms/v1/optIn/history
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
GET /communications/sms/v1/optIn/history
This API allows you to get the history of opted status for the candidate.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
offset | query | integer | false |
size | query | integer | false |
communicationId | query | string | false |
phoneNumber | query | string | true |
Response
OK.
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Status of the OptIn History."
},
"details": {
"type": "object",
"description": "Details of the OptIn History",
"properties": {
"content": {
"type": "array",
"description": "Content in OptIn history.",
"items": {
"type": "object",
"description": "Items in OptIn history entries.",
"properties": {
"phoneNumber": {
"type": "string",
"description": "The phone number associated with the OptIn history."
},
"actionType": {
"type": "string",
"description": "The type of action associated with the OptIn history."
},
"reason": {
"type": "string",
"description": "The reason for the OptIn history entry."
},
"createdDate": {
"type": "integer",
"format": "int64",
"description": "The timestamp when the OptIn history entry was created."
}
},
"required": {
"0": "phoneNumber",
"1": "actionType",
"2": "reason",
"3": "createdDate"
}
}
},
"pageable": {
"type": "object",
"description": "Details about pagination.",
"properties": {
"sort": {
"type": "object",
"description": "Indicates whether the content is empty.",
"properties": {
"sorted": {
"type": "boolean",
"description": "Indicates whether the content is sorted."
},
"empty": {
"type": "boolean",
"description": "Indicates whether the content is empty."
},
"unsorted": {
"type": "boolean",
"description": "Indicates whether the content is unsorted."
}
},
"required": {
"0": "sorted",
"1": "empty",
"2": "unsorted"
}
},
"pageNumber": {
"type": "integer",
"description": "The current page number."
},
"pageSize": {
"type": "integer",
"description": "The size of each page."
},
"offset": {
"type": "integer",
"description": "The offset of the content."
},
"paged": {
"type": "boolean",
"description": "Indicates whether the content is paged."
},
"unpaged": {
"type": "boolean",
"description": "Indicates whether the content is unpaged."
}
},
"required": {
"0": "sort",
"1": "pageNumber",
"2": "pageSize",
"3": "offset",
"4": "paged",
"5": "unpaged"
}
},
"last": {
"type": "boolean",
"description": "Indicates the last page."
},
"totalElements": {
"type": "integer",
"description": "Total number of elements."
},
"totalPages": {
"type": "integer",
"description": "Total number of pages."
},
"first": {
"type": "boolean",
"description": "Indicates the first page."
},
"size": {
"type": "integer",
"description": "The size of the content."
},
"number": {
"type": "integer",
"description": "The current page number."
},
"sort": {
"type": "object",
"description": "Details about sorting.",
"properties": {
"sorted": {
"type": "boolean",
"description": "Indicates whether the content is sorted."
},
"empty": {
"type": "boolean",
"description": "Indicates whether the content is empty."
},
"unsorted": {
"type": "boolean",
"description": "Indicates whether the content is unsorted."
}
},
"required": {
"0": "sorted",
"1": "empty",
"2": "unsorted"
}
},
"numberOfElements": {
"type": "integer",
"description": "Number of elements in the current page."
},
"empty": {
"type": "boolean",
"description": "Indicates whether the content is empty."
}
},
"required": {
"0": "content",
"1": "pageable",
"2": "last",
"3": "totalElements",
"4": "totalPages",
"5": "first",
"6": "size",
"7": "number",
"8": "sort",
"9": "numberOfElements",
"10": "empty"
}
}
},
"required": {
"0": "status",
"1": "details"
}
}
]
Bad Request.
copied![
{
"type": "object",
"description": "An Error Message showing the Bad Request.",
"properties": {
"status": {
"type": "string",
"description": "Status of the Bad request."
},
"message": {
"type": "string",
"description": "A user-readable message describing the Bad Request."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code associated with the API error."
},
"message": {
"type": "string",
"description": "A descriptive message providing details about the error."
},
"status": {
"type": "string",
"description": "HTTP status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"properties": {
"self": {
"type": "string",
"description": "A URL representing a self-reference link for the API resource."
}
}
}
}
}
}
]
Unauthorized.
copied![
{
"type": "object",
"description": "An Error Message showing the Unauthorized Request.",
"properties": {
"status": {
"type": "string",
"description": "Status of the Unauthorized Request."
},
"message": {
"type": "string",
"description": "A user-readable message describing the Unauthorized Request."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code associated with the API error."
},
"message": {
"type": "string",
"description": "A descriptive message providing details about the error."
},
"status": {
"type": "string",
"description": "HTTP status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"properties": {
"self": {
"type": "string",
"description": "A URL representing a self-reference link for the API resource."
}
}
}
}
}
}
]
Internal Server Error.
copied![
{
"type": "object",
"description": "An error message showing Internal server error.",
"properties": {
"status": {
"type": "string",
"description": "Status of Internal server error."
},
"message": {
"type": "string",
"description": "A user-readable message describing the Internal Server Error."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code associated with the API error."
},
"message": {
"type": "string",
"description": "A descriptive message providing details about the error."
},
"status": {
"type": "string",
"description": "HTTP status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"properties": {
"self": {
"type": "string",
"description": "A URL representing a self-reference link for the API resource."
}
}
}
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | OK. | OptInHistory |
400 | Bad Request. | BadRequest |
401 | Unauthorized. | UnauthorizedRequest |
500 | Internal Server Error. | InternalServerError |
post
copied!# You can also use wgetcurl -X POST https://api.phenom.com//communications/sms/v1/send
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
POST /communications/sms/v1/send
This API allows you to send a SMS for a candidate.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Body Parameter
copied![
{
"required": {
"0": "message",
"1": "phoneNumber"
},
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "The content of the SMS message to be sent."
},
"phoneNumber": {
"type": "string",
"description": "The phone number to which the SMS message will be sent."
}
}
}
]
Request Parameters
Type | Name |
---|---|
application/json | SendSMSRequest |
Response
OK.
copied![
{
"type": "object",
"properties": {
"data": {
"type": "object",
"description": "Data of the SendSMS.",
"properties": {
"messageSID": {
"type": "string",
"description": "Message ID of the Send SMS."
},
"message": {
"type": "string",
"description": "The content of the SMS message."
}
},
"required": {
"0": "messageSID",
"1": "message"
}
},
"status": {
"type": "string",
"description": "The status of the SMS sending operation."
}
},
"required": {
"0": "data",
"1": "status"
}
}
]
Bad Request.
copied![
{
"type": "object",
"description": "An Error Message showing the Bad Request.",
"properties": {
"status": {
"type": "string",
"description": "Status of the Bad request."
},
"message": {
"type": "string",
"description": "A user-readable message describing the Bad Request."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code associated with the API error."
},
"message": {
"type": "string",
"description": "A descriptive message providing details about the error."
},
"status": {
"type": "string",
"description": "HTTP status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"properties": {
"self": {
"type": "string",
"description": "A URL representing a self-reference link for the API resource."
}
}
}
}
}
}
]
Unauthorized.
copied![
{
"type": "object",
"description": "An Error Message showing the Unauthorized Request.",
"properties": {
"status": {
"type": "string",
"description": "Status of the Unauthorized Request."
},
"message": {
"type": "string",
"description": "A user-readable message describing the Unauthorized Request."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code associated with the API error."
},
"message": {
"type": "string",
"description": "A descriptive message providing details about the error."
},
"status": {
"type": "string",
"description": "HTTP status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"properties": {
"self": {
"type": "string",
"description": "A URL representing a self-reference link for the API resource."
}
}
}
}
}
}
]
Internal Server Error.
copied![
{
"type": "object",
"description": "An error message showing Internal server error.",
"properties": {
"status": {
"type": "string",
"description": "Status of Internal server error."
},
"message": {
"type": "string",
"description": "A user-readable message describing the Internal Server Error."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code associated with the API error."
},
"message": {
"type": "string",
"description": "A descriptive message providing details about the error."
},
"status": {
"type": "string",
"description": "HTTP status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"properties": {
"self": {
"type": "string",
"description": "A URL representing a self-reference link for the API resource."
}
}
}
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | OK. | SendSMS |
400 | Bad Request. | BadRequest |
401 | Unauthorized. | UnauthorizedRequest |
500 | Internal Server Error. | InternalServerError |
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//communications/sms/v1/history
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
GET /communications/sms/v1/history
This API allows you to get all the SMS history of a candidate.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
offset | query | integer | false |
limit | query | integer | false |
phoneNumber | query | string | true |
Response
OK.
copied![
{
"type": "object",
"properties": {
"pagination": {
"type": "object",
"description": "Object containing pagination details for SMSHistory.",
"properties": {
"first": {
"type": "boolean",
"description": "Indicates the first page in the pagination."
},
"last": {
"type": "boolean",
"description": "Indicates last page in the pagination."
},
"hasErrors": {
"type": "boolean",
"description": "Indicates whether there are errors in the pagination."
},
"hasNext": {
"type": "boolean",
"description": "Indicates whether there is a next page in the pagination."
},
"totalElements": {
"type": "integer",
"description": "Total number of elements across all pages."
},
"totalPages": {
"type": "integer",
"description": "Total number of pages in the pagination."
},
"size": {
"type": "integer",
"description": "Number of elements in the current page."
},
"currentPage": {
"type": "integer",
"description": "The current page number."
},
"numberOfElements": {
"type": "integer",
"description": "Number of elements in the current page."
}
},
"required": {
"0": "first",
"1": "last",
"2": "hasErrors",
"3": "hasNext",
"4": "totalElements",
"5": "totalPages",
"6": "size",
"7": "currentPage",
"8": "numberOfElements"
}
},
"data": {
"type": "array",
"description": "Data for SMS Communications History.",
"items": {
"type": "object",
"properties": {
"createdDate": {
"type": "integer",
"format": "int64",
"description": "Timestamp when the SMS history entry was created."
},
"updatedDate": {
"type": "integer",
"format": "int64",
"description": "Timestamp when the SMS history entry was last updated."
},
"noOfMessages": {
"type": "integer",
"description": "Number of messages in the SMS history ."
},
"target": {
"type": "string",
"description": "The target of the SMS history."
},
"userId": {
"type": "string",
"description": "User ID associated with the SMS history ."
},
"recruiterUserId": {
"type": "string",
"description": "Recruiter user ID associated with the SMS history ."
},
"candidatePhone": {
"type": "string",
"description": "Phone number of the candidate associated with the SMS history ."
},
"candidateStandardPhone": {
"type": "string",
"description": "Standardized phone number of the candidate."
},
"recruiterPhone": {
"type": "string",
"description": "Phone number of the recruiter associated with the SMS history."
},
"message": {
"type": "string",
"description": "Content of the SMS message in the history."
},
"isRead": {
"type": "boolean",
"description": "Indicates whether the SMS history has been read."
},
"parent": {
"type": "string",
"description": "Parent identifier associated with the SMS history."
},
"timeStamp": {
"type": "integer",
"description": "Timestamp associated with the SMS history."
}
},
"required": {
"0": "createdDate",
"1": "updatedDate",
"2": "noOfMessages",
"3": "target",
"4": "userId",
"5": "recruiterUserId",
"6": "candidatePhone",
"7": "candidateStandardPhone",
"8": "recruiterPhone",
"9": "message",
"10": "isRead",
"11": "parent",
"12": "timeStamp"
}
}
},
"status": {
"type": "string",
"description": "The status of the SMS history response."
}
},
"required": {
"0": "pagination",
"1": "data",
"2": "status"
}
}
]
Bad Request.
copied![
{
"type": "object",
"description": "An Error Message showing the Bad Request.",
"properties": {
"status": {
"type": "string",
"description": "Status of the Bad request."
},
"message": {
"type": "string",
"description": "A user-readable message describing the Bad Request."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code associated with the API error."
},
"message": {
"type": "string",
"description": "A descriptive message providing details about the error."
},
"status": {
"type": "string",
"description": "HTTP status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"properties": {
"self": {
"type": "string",
"description": "A URL representing a self-reference link for the API resource."
}
}
}
}
}
}
]
Unauthorized.
copied![
{
"type": "object",
"description": "An Error Message showing the Unauthorized Request.",
"properties": {
"status": {
"type": "string",
"description": "Status of the Unauthorized Request."
},
"message": {
"type": "string",
"description": "A user-readable message describing the Unauthorized Request."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code associated with the API error."
},
"message": {
"type": "string",
"description": "A descriptive message providing details about the error."
},
"status": {
"type": "string",
"description": "HTTP status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"properties": {
"self": {
"type": "string",
"description": "A URL representing a self-reference link for the API resource."
}
}
}
}
}
}
]
Internal Server Error.
copied![
{
"type": "object",
"description": "An error message showing Internal server error.",
"properties": {
"status": {
"type": "string",
"description": "Status of Internal server error."
},
"message": {
"type": "string",
"description": "A user-readable message describing the Internal Server Error."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code associated with the API error."
},
"message": {
"type": "string",
"description": "A descriptive message providing details about the error."
},
"status": {
"type": "string",
"description": "HTTP status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"properties": {
"self": {
"type": "string",
"description": "A URL representing a self-reference link for the API resource."
}
}
}
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | OK. | SMSHistory |
400 | Bad Request. | BadRequest |
401 | Unauthorized. | UnauthorizedRequest |
500 | Internal Server Error. | InternalServerError |
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//communications/sms/v1/activity
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
GET /communications/sms/v1/activity
This API allows you to get all the SMS activities of a candidate SMS like Delivered, Read, UnDelivered.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
activityId | query | string | true |
phoneNumber | query | string | true |
Response
OK.
copied![
{
"type": "object",
"properties": {
"data": {
"type": "object",
"description": "Data of the SMS Activity.",
"properties": {
"message": {
"type": "string",
"description": "An user readable message about SMS Activity."
}
},
"required": {
"0": "message"
}
},
"status": {
"type": "string",
"description": "Status of the SMS Activity."
}
},
"required": {
"0": "data",
"1": "status"
}
}
]
Bad Request.
copied![
{
"type": "object",
"description": "An Error Message showing the Bad Request.",
"properties": {
"status": {
"type": "string",
"description": "Status of the Bad request."
},
"message": {
"type": "string",
"description": "A user-readable message describing the Bad Request."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code associated with the API error."
},
"message": {
"type": "string",
"description": "A descriptive message providing details about the error."
},
"status": {
"type": "string",
"description": "HTTP status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"properties": {
"self": {
"type": "string",
"description": "A URL representing a self-reference link for the API resource."
}
}
}
}
}
}
]
Unauthorized.
copied![
{
"type": "object",
"description": "An Error Message showing the Unauthorized Request.",
"properties": {
"status": {
"type": "string",
"description": "Status of the Unauthorized Request."
},
"message": {
"type": "string",
"description": "A user-readable message describing the Unauthorized Request."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code associated with the API error."
},
"message": {
"type": "string",
"description": "A descriptive message providing details about the error."
},
"status": {
"type": "string",
"description": "HTTP status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"properties": {
"self": {
"type": "string",
"description": "A URL representing a self-reference link for the API resource."
}
}
}
}
}
}
]
Internal Server Error.
copied![
{
"type": "object",
"description": "An error message showing Internal server error.",
"properties": {
"status": {
"type": "string",
"description": "Status of Internal server error."
},
"message": {
"type": "string",
"description": "A user-readable message describing the Internal Server Error."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code associated with the API error."
},
"message": {
"type": "string",
"description": "A descriptive message providing details about the error."
},
"status": {
"type": "string",
"description": "HTTP status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"properties": {
"self": {
"type": "string",
"description": "A URL representing a self-reference link for the API resource."
}
}
}
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | OK. | SMSActivity |
400 | Bad Request. | BadRequest |
401 | Unauthorized. | UnauthorizedRequest |
500 | Internal Server Error. | InternalServerError |
Email Campaigns
These APIs allows the developers to send, read, and track Email campaigns.
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//campaigns/email/v1/optIn
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
GET /campaigns/email/v1/optIn
This API allows you to optIn an Email address to Email campaigns.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
query | string | false | |
phoneNumber | query | string | false |
Response
OK.
copied![
{
"type": "object",
"properties": {
"details": {
"type": "object",
"description": "Details of the email campaign OptIn.",
"properties": {
"message": {
"type": "string",
"description": "A message providing additional details about the Email Campaign Opt-In."
}
},
"required": {
"0": "message"
}
},
"status": {
"type": "string",
"description": "Status of the email campaign response."
}
},
"required": {
"0": "details",
"1": "status"
}
}
]
Bad Request.
copied![
{
"type": "object",
"description": "An error message showing Bad Request.",
"properties": {
"status": {
"type": "string",
"description": "Status code for the Bad Request."
},
"message": {
"type": "string",
"description": "A user Readable information about Bad Request."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"description": "Represents an error response from the API.",
"properties": {
"code": {
"type": "string",
"description": "Error code indicating the type of error."
},
"message": {
"type": "string",
"description": "A user readable error message providing details about the error."
},
"status": {
"type": "string",
"description": "Status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp indicating when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"description": "Represents a link to relevant API resources.",
"properties": {
"self": {
"type": "string",
"description": "The link to the resource itself."
}
}
}
}
}
}
]
Unauthorized.
copied![
{
"type": "object",
"description": "An error message showing Unauthorized Request.",
"properties": {
"status": {
"type": "string",
"description": "Status code for the Unauthorized Request."
},
"message": {
"type": "string",
"description": "A user Readable information about the Unauthorized Request."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"description": "Represents an error response from the API.",
"properties": {
"code": {
"type": "string",
"description": "Error code indicating the type of error."
},
"message": {
"type": "string",
"description": "A user readable error message providing details about the error."
},
"status": {
"type": "string",
"description": "Status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp indicating when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"description": "Represents a link to relevant API resources.",
"properties": {
"self": {
"type": "string",
"description": "The link to the resource itself."
}
}
}
}
}
}
]
Internal Server Error.
copied![
{
"type": "object",
"description": "An error message showing Internal Server Error.",
"properties": {
"status": {
"type": "string",
"description": "Status of the Internal Server Error."
},
"message": {
"type": "string",
"description": "A user readable information about Internal Server Error."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"description": "Represents an error response from the API.",
"properties": {
"code": {
"type": "string",
"description": "Error code indicating the type of error."
},
"message": {
"type": "string",
"description": "A user readable error message providing details about the error."
},
"status": {
"type": "string",
"description": "Status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp indicating when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"description": "Represents a link to relevant API resources.",
"properties": {
"self": {
"type": "string",
"description": "The link to the resource itself."
}
}
}
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | OK. | EmailCampaignOptIn |
400 | Bad Request. | BadRequest |
401 | Unauthorized. | UnauthorizedRequest |
500 | Internal Server Error. | InternalServerError |
put
copied!# You can also use wgetcurl -X PUT https://api.phenom.com//campaigns/email/v1/optIn
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
PUT /campaigns/email/v1/optIn
This API allows you to update the optIn status.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Body Parameter
copied![
{
"required": {
"0": "optIn"
},
"type": "object",
"properties": {
"phoneNumber": {
"type": "string",
"description": "Phone Number associated with Email Campaign OptIn Request."
},
"email": {
"type": "string",
"description": "Email Id associated with Email Campaign OptIn Request."
},
"optIn": {
"type": "boolean",
"description": "A boolean flag indicating the OptIn status."
}
}
}
]
Request Parameters
Type | Name |
---|---|
application/json | EmailCampaignOptInRequest |
Response
OK.
copied![
{
"type": "object",
"properties": {
"details": {
"type": "object",
"description": "Details of the OptIn Response.",
"properties": {
"message": {
"type": "string",
"description": "A user-readable message describing the OptIn response."
}
},
"required": {
"0": "message"
}
},
"status": {
"type": "string",
"description": "Status the OptIn response."
}
},
"required": {
"0": "details",
"1": "status"
}
}
]
Bad Request.
copied![
{
"type": "object",
"description": "An error message showing Bad Request.",
"properties": {
"status": {
"type": "string",
"description": "Status code for the Bad Request."
},
"message": {
"type": "string",
"description": "A user Readable information about Bad Request."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"description": "Represents an error response from the API.",
"properties": {
"code": {
"type": "string",
"description": "Error code indicating the type of error."
},
"message": {
"type": "string",
"description": "A user readable error message providing details about the error."
},
"status": {
"type": "string",
"description": "Status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp indicating when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"description": "Represents a link to relevant API resources.",
"properties": {
"self": {
"type": "string",
"description": "The link to the resource itself."
}
}
}
}
}
}
]
Unauthorized.
copied![
{
"type": "object",
"description": "An error message showing Unauthorized Request.",
"properties": {
"status": {
"type": "string",
"description": "Status code for the Unauthorized Request."
},
"message": {
"type": "string",
"description": "A user Readable information about the Unauthorized Request."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"description": "Represents an error response from the API.",
"properties": {
"code": {
"type": "string",
"description": "Error code indicating the type of error."
},
"message": {
"type": "string",
"description": "A user readable error message providing details about the error."
},
"status": {
"type": "string",
"description": "Status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp indicating when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"description": "Represents a link to relevant API resources.",
"properties": {
"self": {
"type": "string",
"description": "The link to the resource itself."
}
}
}
}
}
}
]
Internal Server Error.
copied![
{
"type": "object",
"description": "An error message showing Internal Server Error.",
"properties": {
"status": {
"type": "string",
"description": "Status of the Internal Server Error."
},
"message": {
"type": "string",
"description": "A user readable information about Internal Server Error."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"description": "Represents an error response from the API.",
"properties": {
"code": {
"type": "string",
"description": "Error code indicating the type of error."
},
"message": {
"type": "string",
"description": "A user readable error message providing details about the error."
},
"status": {
"type": "string",
"description": "Status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp indicating when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"description": "Represents a link to relevant API resources.",
"properties": {
"self": {
"type": "string",
"description": "The link to the resource itself."
}
}
}
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | OK. | EmailCampaignOptInResponse |
400 | Bad Request. | BadRequest |
401 | Unauthorized. | UnauthorizedRequest |
500 | Internal Server Error. | InternalServerError |
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//campaigns/email/v1/optIn/history
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
GET /campaigns/email/v1/optIn/history
This API allows you to get the history of opted in status for an email address.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
offset | query | integer | false |
size | query | integer | false |
communicationId | query | string | false |
query | string | true |
Response
OK.
copied![
{
"type": "object",
"properties": {
"details": {
"type": "object",
"description": "Details of the OptIn History.",
"properties": {
"content": {
"type": "array",
"description": "Content of the OptIn History.",
"items": {
"type": "object",
"description": "Items in the OptIn History.",
"properties": {
"actionType": {
"type": "string",
"description": "The type of action associated with the email campaign OptIn History."
},
"reason": {
"type": "string",
"description": "The reason for the action in the email campaign OptIn History."
},
"createdDate": {
"type": "integer",
"format": "int64",
"description": "Timestamp representing the creation date of the email campaign OptIn History entry."
},
"email": {
"type": "string",
"description": "Email associated with the email campaign OptIn History."
}
},
"required": {
"0": "actionType",
"1": "reason",
"2": "createdDate",
"3": "email"
}
}
},
"pageable": {
"type": "object",
"description": "Details about pagination.",
"properties": {
"sort": {
"type": "object",
"description": "Indicates whether the list is sorted.",
"properties": {
"sorted": {
"type": "boolean",
"description": "Indicates whether the list is sorted."
},
"empty": {
"type": "boolean",
"description": "Indicates whether the sorting is empty."
},
"unsorted": {
"type": "boolean",
"description": "Indicates whether the list is unsorted."
}
},
"required": {
"0": "sorted",
"1": "empty",
"2": "unsorted"
}
},
"pageNumber": {
"type": "integer",
"description": "The current page number."
},
"offset": {
"type": "integer",
"description": "The offset of the current page."
},
"pageSize": {
"type": "integer",
"description": "The size of each page in the paginated list."
},
"paged": {
"type": "boolean",
"description": "Indicates whether the list is paginated."
},
"unpaged": {
"type": "boolean",
"description": "Indicates whether the list is unpaged."
}
},
"required": {
"0": "sort",
"1": "pageNumber",
"2": "offset",
"3": "pageSize",
"4": "paged",
"5": "unpaged"
}
},
"totalPages": {
"type": "integer",
"description": "Total number of pages in the paginated list."
},
"totalElements": {
"type": "integer",
"description": "Total number of elements across all pages."
},
"last": {
"type": "boolean",
"description": "Indicates whether this is the last page in the paginated list."
},
"first": {
"type": "boolean",
"description": "Indicates whether this is the first page in the paginated list."
},
"size": {
"type": "integer",
"description": "Number of elements in the current page."
},
"number": {
"type": "integer",
"description": "The current page number."
},
"sort": {
"type": "object",
"description": "Indicates whether the list is sorted.",
"properties": {
"sorted": {
"type": "boolean",
"description": "Indicates whether the list is sorted."
},
"empty": {
"type": "boolean",
"description": "Indicates whether the sorting is empty."
},
"unsorted": {
"type": "boolean",
"description": "Indicates whether the list is unsorted."
}
},
"required": {
"0": "sorted",
"1": "empty",
"2": "unsorted"
}
},
"numberOfElements": {
"type": "integer",
"description": "Number of elements in the current page."
},
"empty": {
"type": "boolean",
"description": "Indicates whether the paginated list is empty."
}
},
"required": {
"0": "content",
"1": "pageable",
"2": "totalPages",
"3": "totalElements",
"4": "last",
"5": "first",
"6": "size",
"7": "number",
"8": "sort",
"9": "numberOfElements",
"10": "empty"
}
},
"status": {
"type": "string",
"description": "The status of the response."
}
},
"required": {
"0": "details",
"1": "status"
}
}
]
Bad Request.
copied![
{
"type": "object",
"description": "An error message showing Bad Request.",
"properties": {
"status": {
"type": "string",
"description": "Status code for the Bad Request."
},
"message": {
"type": "string",
"description": "A user Readable information about Bad Request."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"description": "Represents an error response from the API.",
"properties": {
"code": {
"type": "string",
"description": "Error code indicating the type of error."
},
"message": {
"type": "string",
"description": "A user readable error message providing details about the error."
},
"status": {
"type": "string",
"description": "Status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp indicating when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"description": "Represents a link to relevant API resources.",
"properties": {
"self": {
"type": "string",
"description": "The link to the resource itself."
}
}
}
}
}
}
]
Unauthorized.
copied![
{
"type": "object",
"description": "An error message showing Unauthorized Request.",
"properties": {
"status": {
"type": "string",
"description": "Status code for the Unauthorized Request."
},
"message": {
"type": "string",
"description": "A user Readable information about the Unauthorized Request."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"description": "Represents an error response from the API.",
"properties": {
"code": {
"type": "string",
"description": "Error code indicating the type of error."
},
"message": {
"type": "string",
"description": "A user readable error message providing details about the error."
},
"status": {
"type": "string",
"description": "Status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp indicating when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"description": "Represents a link to relevant API resources.",
"properties": {
"self": {
"type": "string",
"description": "The link to the resource itself."
}
}
}
}
}
}
]
Internal Server Error.
copied![
{
"type": "object",
"description": "An error message showing Internal Server Error.",
"properties": {
"status": {
"type": "string",
"description": "Status of the Internal Server Error."
},
"message": {
"type": "string",
"description": "A user readable information about Internal Server Error."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"description": "Represents an error response from the API.",
"properties": {
"code": {
"type": "string",
"description": "Error code indicating the type of error."
},
"message": {
"type": "string",
"description": "A user readable error message providing details about the error."
},
"status": {
"type": "string",
"description": "Status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp indicating when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"description": "Represents a link to relevant API resources.",
"properties": {
"self": {
"type": "string",
"description": "The link to the resource itself."
}
}
}
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | OK. | EmailCampaignOptInHistory |
400 | Bad Request. | BadRequest |
401 | Unauthorized. | UnauthorizedRequest |
500 | Internal Server Error. | InternalServerError |
post
copied!# You can also use wgetcurl -X POST https://api.phenom.com//campaigns/email/v1/send
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
POST /campaigns/email/v1/send
This API allows you to send an Email for a set of candidates via a campaign.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Body Parameter
copied![
{
"required": {
"0": "campaignId",
"1": "emailContent",
"2": "subject",
"3": "toEmail"
},
"type": "object",
"properties": {
"subject": {
"type": "string",
"description": "Subject of the Send Email Campaign Request."
},
"emailContent": {
"type": "string",
"description": "Email content of the Send Email Campaign Request."
},
"campaignId": {
"type": "string",
"description": "Campaign Id for Send Email Campaign Request."
},
"toEmail": {
"type": "string",
"description": "Sender's email address in send email campaign Request."
}
}
}
]
Request Parameters
Type | Name |
---|---|
application/json | SendEmailCampaignRequest |
Response
OK.
copied![
{
"type": "object",
"properties": {
"data": {
"type": "object",
"description": "Data of the send email campaign response .",
"properties": {
"campaignGroupId": {
"type": "string",
"description": "Unique identifier for the email campaign group."
},
"message": {
"type": "string",
"description": "A message providing additional details about the email campaign response."
}
},
"required": {
"0": "campaignGroupId",
"1": "message"
}
},
"status": {
"type": "string",
"description": "Status of the email campaign response."
}
},
"required": {
"0": "data",
"1": "status"
}
}
]
Bad Request.
copied![
{
"type": "object",
"description": "An error message showing Bad Request.",
"properties": {
"status": {
"type": "string",
"description": "Status code for the Bad Request."
},
"message": {
"type": "string",
"description": "A user Readable information about Bad Request."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"description": "Represents an error response from the API.",
"properties": {
"code": {
"type": "string",
"description": "Error code indicating the type of error."
},
"message": {
"type": "string",
"description": "A user readable error message providing details about the error."
},
"status": {
"type": "string",
"description": "Status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp indicating when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"description": "Represents a link to relevant API resources.",
"properties": {
"self": {
"type": "string",
"description": "The link to the resource itself."
}
}
}
}
}
}
]
Unauthorized.
copied![
{
"type": "object",
"description": "An error message showing Unauthorized Request.",
"properties": {
"status": {
"type": "string",
"description": "Status code for the Unauthorized Request."
},
"message": {
"type": "string",
"description": "A user Readable information about the Unauthorized Request."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"description": "Represents an error response from the API.",
"properties": {
"code": {
"type": "string",
"description": "Error code indicating the type of error."
},
"message": {
"type": "string",
"description": "A user readable error message providing details about the error."
},
"status": {
"type": "string",
"description": "Status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp indicating when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"description": "Represents a link to relevant API resources.",
"properties": {
"self": {
"type": "string",
"description": "The link to the resource itself."
}
}
}
}
}
}
]
Internal Server Error.
copied![
{
"type": "object",
"description": "An error message showing Internal Server Error.",
"properties": {
"status": {
"type": "string",
"description": "Status of the Internal Server Error."
},
"message": {
"type": "string",
"description": "A user readable information about Internal Server Error."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"description": "Represents an error response from the API.",
"properties": {
"code": {
"type": "string",
"description": "Error code indicating the type of error."
},
"message": {
"type": "string",
"description": "A user readable error message providing details about the error."
},
"status": {
"type": "string",
"description": "Status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp indicating when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"description": "Represents a link to relevant API resources.",
"properties": {
"self": {
"type": "string",
"description": "The link to the resource itself."
}
}
}
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | OK. | SendEmailCampaignResponse |
400 | Bad Request. | BadRequest |
401 | Unauthorized. | UnauthorizedRequest |
500 | Internal Server Error. | InternalServerError |
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//campaigns/email/v1/activity
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
GET /campaigns/email/v1/activity
This API allows you to get all the Email activities of candidates like Delivered, Read, Bounced, Dropped etc.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
offset | query | integer | false |
size | query | integer | false |
activityId | query | string | true |
query | string | true |
Response
OK.
copied![
{
"type": "object",
"properties": {
"pagination": {
"type": "object",
"description": "Object contains pagination details for Email campaign Activity.",
"properties": {
"first": {
"type": "boolean",
"description": "Indicates whether this is the first page in the paginated list of email campaign activity."
},
"last": {
"type": "boolean",
"description": "Indicates whether this is the last page in the paginated list of email campaign activity."
},
"hasErrors": {
"type": "boolean",
"description": "Indicates whether there are errors in the paginated list of email campaign activity."
},
"hasNext": {
"type": "boolean",
"description": "Indicates whether there is a next page in the paginated list of email campaign activity."
},
"totalElements": {
"type": "integer",
"description": "Total number of elements in email campaign activity across all pages."
},
"totalPages": {
"type": "integer",
"description": "Total number of pages in the paginated list of email campaign activity."
},
"size": {
"type": "integer",
"description": "Number of elements in email campaign activity in the current page."
},
"currentPage": {
"type": "integer",
"description": "The current page number in the paginated list of email campaign activity."
},
"numberOfElements": {
"type": "integer",
"description": "Number of elements in email campaign activity for the current page."
}
},
"required": {
"0": "first",
"1": "last",
"2": "hasErrors",
"3": "hasNext",
"4": "totalElements",
"5": "totalPages",
"6": "size",
"7": "currentPage",
"8": "numberOfElements"
}
},
"data": {
"type": "array",
"description": "Data for Email Campaign Activity.",
"items": {
"type": "object",
"properties": {
"emailActivityId": {
"type": "string",
"description": "Unique identifier for the email activity."
},
"email": {
"type": "string",
"description": "Email address associated with the email campaign activity."
},
"event": {
"type": "string",
"description": "Event associated with email campaign activity."
},
"ip": {
"type": "string",
"description": "IP address associated with the email activity."
},
"createdDate": {
"type": "integer",
"format": "int64",
"description": "Timestamp indicating when the email activity was created."
},
"useragent": {
"type": "string",
"description": "User agent information associated with the email activity."
}
},
"required": {
"0": "emailActivityId",
"1": "email",
"2": "event",
"3": "ip",
"4": "createdDate",
"5": "useragent"
}
}
},
"status": {
"type": "string",
"description": "Status of the email campaign activity."
}
},
"required": {
"0": "pagination",
"1": "data",
"2": "status"
}
}
]
Bad Request.
copied![
{
"type": "object",
"description": "An error message showing Bad Request.",
"properties": {
"status": {
"type": "string",
"description": "Status code for the Bad Request."
},
"message": {
"type": "string",
"description": "A user Readable information about Bad Request."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"description": "Represents an error response from the API.",
"properties": {
"code": {
"type": "string",
"description": "Error code indicating the type of error."
},
"message": {
"type": "string",
"description": "A user readable error message providing details about the error."
},
"status": {
"type": "string",
"description": "Status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp indicating when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"description": "Represents a link to relevant API resources.",
"properties": {
"self": {
"type": "string",
"description": "The link to the resource itself."
}
}
}
}
}
}
]
Unauthorized.
copied![
{
"type": "object",
"description": "An error message showing Unauthorized Request.",
"properties": {
"status": {
"type": "string",
"description": "Status code for the Unauthorized Request."
},
"message": {
"type": "string",
"description": "A user Readable information about the Unauthorized Request."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"description": "Represents an error response from the API.",
"properties": {
"code": {
"type": "string",
"description": "Error code indicating the type of error."
},
"message": {
"type": "string",
"description": "A user readable error message providing details about the error."
},
"status": {
"type": "string",
"description": "Status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp indicating when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"description": "Represents a link to relevant API resources.",
"properties": {
"self": {
"type": "string",
"description": "The link to the resource itself."
}
}
}
}
}
}
]
Internal Server Error.
copied![
{
"type": "object",
"description": "An error message showing Internal Server Error.",
"properties": {
"status": {
"type": "string",
"description": "Status of the Internal Server Error."
},
"message": {
"type": "string",
"description": "A user readable information about Internal Server Error."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"description": "Represents an error response from the API.",
"properties": {
"code": {
"type": "string",
"description": "Error code indicating the type of error."
},
"message": {
"type": "string",
"description": "A user readable error message providing details about the error."
},
"status": {
"type": "string",
"description": "Status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp indicating when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"description": "Represents a link to relevant API resources.",
"properties": {
"self": {
"type": "string",
"description": "The link to the resource itself."
}
}
}
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | OK. | EmailCampaignActivity |
400 | Bad Request. | BadRequest |
401 | Unauthorized. | UnauthorizedRequest |
500 | Internal Server Error. | InternalServerError |
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//campaigns/email/v1/history
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
GET /campaigns/email/v1/history
This API allows you to get all the Email history of the candidates in a campaign.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
offset | query | integer | false |
size | query | integer | false |
query | string | true |
Response
OK.
copied![
{
"type": "object",
"properties": {
"pagination": {
"type": "object",
"description": "Object containing pagination details for Email Camapign History.",
"properties": {
"first": {
"type": "boolean",
"description": "Indicates whether this is the first page in the paginated list of email campaign history."
},
"last": {
"type": "boolean",
"description": "Indicates whether this is the last page in the paginated list of email campaign history."
},
"hasErrors": {
"type": "boolean",
"description": "Indicates whether there are errors in the paginated list of email campaign history."
},
"hasNext": {
"type": "boolean",
"description": "Indicates whether there is a next page in the paginated list of email campaign history."
},
"totalElements": {
"type": "integer",
"description": "Total number of elements in email campaign history have across all pages."
},
"totalPages": {
"type": "integer",
"description": "Total number of pages in the paginated list of email campaign history."
},
"size": {
"type": "integer",
"description": "Size of the email campaign history."
},
"currentPage": {
"type": "integer",
"description": "The current page number in the paginated list of email campaign history."
},
"numberOfElements": {
"type": "integer",
"description": "Number of elements in email campaign history in the current page."
}
},
"required": {
"0": "first",
"1": "last",
"2": "hasErrors",
"3": "hasNext",
"4": "totalElements",
"5": "totalPages",
"6": "size",
"7": "currentPage",
"8": "numberOfElements"
}
},
"data": {
"type": "array",
"description": "Data of the Email Campaign History.",
"items": {
"type": "object",
"properties": {
"email": {
"type": "string",
"description": "Email associated with Email campaign History."
},
"emailActivityId": {
"type": "string",
"description": "Email Activity Id associated with Email Campaign History."
},
"campaignName": {
"type": "string",
"description": "The Email CampaignName in the Email Campaign History."
},
"campaignType": {
"type": "string",
"description": "Type of the email campaign in the Email Campaign History ."
},
"createdDate": {
"type": "integer",
"format": "int64",
"description": "Timestamp indicating when the email campaign history entry was created."
}
},
"required": {
"0": "email",
"1": "emailActivityId",
"2": "campaignName",
"3": "campaignType",
"4": "createdDate"
}
}
},
"status": {
"type": "string",
"description": "Status of the Email Campaign History."
}
},
"required": {
"0": "pagination",
"1": "data",
"2": "status"
}
}
]
Bad Request.
copied![
{
"type": "object",
"description": "An error message showing Bad Request.",
"properties": {
"status": {
"type": "string",
"description": "Status code for the Bad Request."
},
"message": {
"type": "string",
"description": "A user Readable information about Bad Request."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"description": "Represents an error response from the API.",
"properties": {
"code": {
"type": "string",
"description": "Error code indicating the type of error."
},
"message": {
"type": "string",
"description": "A user readable error message providing details about the error."
},
"status": {
"type": "string",
"description": "Status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp indicating when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"description": "Represents a link to relevant API resources.",
"properties": {
"self": {
"type": "string",
"description": "The link to the resource itself."
}
}
}
}
}
}
]
Unauthorized.
copied![
{
"type": "object",
"description": "An error message showing Unauthorized Request.",
"properties": {
"status": {
"type": "string",
"description": "Status code for the Unauthorized Request."
},
"message": {
"type": "string",
"description": "A user Readable information about the Unauthorized Request."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"description": "Represents an error response from the API.",
"properties": {
"code": {
"type": "string",
"description": "Error code indicating the type of error."
},
"message": {
"type": "string",
"description": "A user readable error message providing details about the error."
},
"status": {
"type": "string",
"description": "Status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp indicating when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"description": "Represents a link to relevant API resources.",
"properties": {
"self": {
"type": "string",
"description": "The link to the resource itself."
}
}
}
}
}
}
]
Internal Server Error.
copied![
{
"type": "object",
"description": "An error message showing Internal Server Error.",
"properties": {
"status": {
"type": "string",
"description": "Status of the Internal Server Error."
},
"message": {
"type": "string",
"description": "A user readable information about Internal Server Error."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"description": "Represents an error response from the API.",
"properties": {
"code": {
"type": "string",
"description": "Error code indicating the type of error."
},
"message": {
"type": "string",
"description": "A user readable error message providing details about the error."
},
"status": {
"type": "string",
"description": "Status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp indicating when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"description": "Represents a link to relevant API resources.",
"properties": {
"self": {
"type": "string",
"description": "The link to the resource itself."
}
}
}
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | OK. | EmailCampaignHistory |
400 | Bad Request. | BadRequest |
401 | Unauthorized. | UnauthorizedRequest |
500 | Internal Server Error. | InternalServerError |
SMS Campaigns
These APIs allows the developers to send, read, and track SMS campaigns.
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//campaigns/sms/v1/optIn/history
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
GET /campaigns/sms/v1/optIn/history
This API allows you to get the history of opted in status for a PhoneNumber.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
offset | query | integer | false |
size | query | integer | false |
communicationId | query | string | false |
phoneNumber | query | string | true |
Response
OK
copied![
{
"type": "object",
"properties": {
"details": {
"type": "object",
"description": "Details of the SMS campaign OptIn History.",
"properties": {
"content": {
"type": "array",
"description": "Content of the SMS campaign OptIn History.",
"items": {
"type": "object",
"description": "Items associated to SMS campaign OptIn History.",
"properties": {
"phoneNumber": {
"type": "string",
"description": "PhoneNumber associated with SMS campaign OptIn History."
},
"actionType": {
"type": "string",
"description": "The type of action associated with the SMS campaign OptIn History."
},
"reason": {
"type": "string",
"description": "Reason for the SMS campaign OptIn History."
},
"createdDate": {
"type": "integer",
"format": "int64",
"description": "Timestamp indicating the date and time when the opt-in event occurred."
}
},
"required": {
"0": "phoneNumber",
"1": "actionType",
"2": "reason",
"3": "createdDate"
}
}
},
"pageable": {
"type": "object",
"description": "Represents pagination information for a pageable result set.",
"properties": {
"sort": {
"type": "object",
"description": "Sorting information for the pageable result set.",
"properties": {
"sorted": {
"type": "boolean",
"description": "Indicates whether the result set is sorted."
},
"empty": {
"type": "boolean",
"description": "Indicates whether the sorting is empty."
},
"unsorted": {
"type": "boolean",
"description": "Indicates whether the sorting is unsorted."
}
},
"required": {
"0": "sorted",
"1": "empty",
"2": "unsorted"
}
},
"pageNumber": {
"type": "integer",
"description": "The current page number in the result set."
},
"offset": {
"type": "integer",
"description": "The offset of the current page in the result set."
},
"pageSize": {
"type": "integer",
"description": "The number of elements per page in the result set."
},
"paged": {
"type": "boolean",
"description": "Indicates whether the result set is pageable."
},
"unpaged": {
"type": "boolean",
"description": "Indicates whether the result set is unpaged."
}
},
"required": {
"0": "sort",
"1": "pageNumber",
"2": "offset",
"3": "pageSize",
"4": "paged",
"5": "unpaged"
}
},
"totalPages": {
"type": "integer",
"description": "The total number of pages in the result set."
},
"totalElements": {
"type": "integer",
"description": "The total number of elements in the result set."
},
"last": {
"type": "boolean",
"description": "Indicates whether the current page is the last page in the result set."
},
"first": {
"type": "boolean",
"description": "Indicates whether the current page is the first page in the result set."
},
"size": {
"type": "integer",
"description": "The number of elements on the current page."
},
"number": {
"type": "integer",
"description": "The current page number in the result set."
},
"sort": {
"type": "object",
"description": "Sorting information for the result set.",
"properties": {
"sorted": {
"type": "boolean",
"description": "Indicates whether the result set is sorted."
},
"empty": {
"type": "boolean",
"description": "Indicates whether the sorting is empty."
},
"unsorted": {
"type": "boolean",
"description": "Indicates whether the sorting is unsorted."
}
},
"required": {
"0": "sorted",
"1": "empty",
"2": "unsorted"
}
},
"numberOfElements": {
"type": "integer",
"description": "The number of elements on the current page."
},
"empty": {
"type": "boolean",
"description": "Indicates whether the result set is empty."
}
},
"required": {
"0": "content",
"1": "pageable",
"2": "totalPages",
"3": "totalElements",
"4": "last",
"5": "first",
"6": "size",
"7": "number",
"8": "sort",
"9": "numberOfElements",
"10": "empty"
}
},
"status": {
"type": "string",
"description": "Status of the OptIn History."
}
},
"required": {
"0": "details",
"1": "status"
}
}
]
Bad Request
copied![
{
"type": "object",
"description": "An error message showing Bad Request.",
"properties": {
"status": {
"type": "string",
"description": "Status code for the Bad Request."
},
"message": {
"type": "string",
"description": "A user Readable information about Bad Request."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"description": "Represents an error response from the API.",
"properties": {
"code": {
"type": "string",
"description": "Error code indicating the type of error."
},
"message": {
"type": "string",
"description": "A user readable error message providing details about the error."
},
"status": {
"type": "string",
"description": "Status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp indicating when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"description": "Represents a link to relevant API resources.",
"properties": {
"self": {
"type": "string",
"description": "The link to the resource itself."
}
}
}
}
}
}
]
Unauthorized
copied![
{
"type": "object",
"description": "An error message showing Unauthorized Request.",
"properties": {
"status": {
"type": "string",
"description": "Status code for the Unauthorized Request."
},
"message": {
"type": "string",
"description": "A user Readable information about the Unauthorized Request."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"description": "Represents an error response from the API.",
"properties": {
"code": {
"type": "string",
"description": "Error code indicating the type of error."
},
"message": {
"type": "string",
"description": "A user readable error message providing details about the error."
},
"status": {
"type": "string",
"description": "Status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp indicating when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"description": "Represents a link to relevant API resources.",
"properties": {
"self": {
"type": "string",
"description": "The link to the resource itself."
}
}
}
}
}
}
]
Internal Server Error
copied![
{
"type": "object",
"description": "An error message showing Internal Server Error.",
"properties": {
"status": {
"type": "string",
"description": "Status of the Internal Server Error."
},
"message": {
"type": "string",
"description": "A user readable information about Internal Server Error."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"description": "Represents an error response from the API.",
"properties": {
"code": {
"type": "string",
"description": "Error code indicating the type of error."
},
"message": {
"type": "string",
"description": "A user readable error message providing details about the error."
},
"status": {
"type": "string",
"description": "Status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp indicating when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"description": "Represents a link to relevant API resources.",
"properties": {
"self": {
"type": "string",
"description": "The link to the resource itself."
}
}
}
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | OK | SMSCampaignOptInHistory |
400 | Bad Request | BadRequest |
401 | Unauthorized | UnauthorizedRequest |
500 | Internal Server Error | InternalServerError |
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//campaigns/sms/v1/optIn
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
GET /campaigns/sms/v1/optIn
This API allows you to optIn a PhoneNumber to SMS campaigns.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
query | string | false | |
phoneNumber | query | string | false |
Response
OK
copied![
{
"type": "object",
"properties": {
"details": {
"type": "object",
"description": "Details of the SMS Campaign OptIn.",
"properties": {
"message": {
"type": "string",
"description": "A user readable message regarding the SMS Campaign OptIn."
}
},
"required": {
"0": "message"
}
},
"status": {
"type": "string",
"description": "Status of the SMS Campaign OptIn."
}
},
"required": {
"0": "details",
"1": "status"
}
}
]
Bad Request
copied![
{
"type": "object",
"description": "An error message showing Bad Request.",
"properties": {
"status": {
"type": "string",
"description": "Status code for the Bad Request."
},
"message": {
"type": "string",
"description": "A user Readable information about Bad Request."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"description": "Represents an error response from the API.",
"properties": {
"code": {
"type": "string",
"description": "Error code indicating the type of error."
},
"message": {
"type": "string",
"description": "A user readable error message providing details about the error."
},
"status": {
"type": "string",
"description": "Status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp indicating when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"description": "Represents a link to relevant API resources.",
"properties": {
"self": {
"type": "string",
"description": "The link to the resource itself."
}
}
}
}
}
}
]
Unauthorized
copied![
{
"type": "object",
"description": "An error message showing Unauthorized Request.",
"properties": {
"status": {
"type": "string",
"description": "Status code for the Unauthorized Request."
},
"message": {
"type": "string",
"description": "A user Readable information about the Unauthorized Request."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"description": "Represents an error response from the API.",
"properties": {
"code": {
"type": "string",
"description": "Error code indicating the type of error."
},
"message": {
"type": "string",
"description": "A user readable error message providing details about the error."
},
"status": {
"type": "string",
"description": "Status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp indicating when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"description": "Represents a link to relevant API resources.",
"properties": {
"self": {
"type": "string",
"description": "The link to the resource itself."
}
}
}
}
}
}
]
Internal Server Error
copied![
{
"type": "object",
"description": "An error message showing Internal Server Error.",
"properties": {
"status": {
"type": "string",
"description": "Status of the Internal Server Error."
},
"message": {
"type": "string",
"description": "A user readable information about Internal Server Error."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"description": "Represents an error response from the API.",
"properties": {
"code": {
"type": "string",
"description": "Error code indicating the type of error."
},
"message": {
"type": "string",
"description": "A user readable error message providing details about the error."
},
"status": {
"type": "string",
"description": "Status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp indicating when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"description": "Represents a link to relevant API resources.",
"properties": {
"self": {
"type": "string",
"description": "The link to the resource itself."
}
}
}
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | OK | SMSCampaignOptIn |
400 | Bad Request | BadRequest |
401 | Unauthorized | UnauthorizedRequest |
500 | Internal Server Error | InternalServerError |
put
copied!# You can also use wgetcurl -X PUT https://api.phenom.com//campaigns/sms/v1/optIn
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
PUT /campaigns/sms/v1/optIn
This API allows you to update the optIn status.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Body Parameter
copied![
{
"required": {
"0": "optIn"
},
"type": "object",
"properties": {
"phoneNumber": {
"type": "string",
"description": "Phone Number associated with SMS Campaign OptIn Request."
},
"email": {
"type": "string",
"description": "Email associated with SMS Campaign OptIn Request."
},
"optIn": {
"type": "boolean",
"description": "Flag indicating the opt-in status for the SMS campaign."
}
}
}
]
Request Parameters
Type | Name |
---|---|
application/json | SMSCampaignOptInRequest |
Response
OK
copied![
{
"type": "object",
"properties": {
"details": {
"type": "object",
"description": "Details of the SMS Campaign OptIn Response.",
"properties": {
"message": {
"type": "string",
"description": "A user readable message regarding the SMS Campaign OptIn Response."
}
},
"required": {
"0": "message"
}
},
"status": {
"type": "string",
"description": "Status of the SMS Campaign OptIn Response."
}
},
"required": {
"0": "details",
"1": "status"
}
}
]
Bad Request
copied![
{
"type": "object",
"description": "An error message showing Bad Request.",
"properties": {
"status": {
"type": "string",
"description": "Status code for the Bad Request."
},
"message": {
"type": "string",
"description": "A user Readable information about Bad Request."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"description": "Represents an error response from the API.",
"properties": {
"code": {
"type": "string",
"description": "Error code indicating the type of error."
},
"message": {
"type": "string",
"description": "A user readable error message providing details about the error."
},
"status": {
"type": "string",
"description": "Status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp indicating when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"description": "Represents a link to relevant API resources.",
"properties": {
"self": {
"type": "string",
"description": "The link to the resource itself."
}
}
}
}
}
}
]
Unauthorized
copied![
{
"type": "object",
"description": "An error message showing Unauthorized Request.",
"properties": {
"status": {
"type": "string",
"description": "Status code for the Unauthorized Request."
},
"message": {
"type": "string",
"description": "A user Readable information about the Unauthorized Request."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"description": "Represents an error response from the API.",
"properties": {
"code": {
"type": "string",
"description": "Error code indicating the type of error."
},
"message": {
"type": "string",
"description": "A user readable error message providing details about the error."
},
"status": {
"type": "string",
"description": "Status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp indicating when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"description": "Represents a link to relevant API resources.",
"properties": {
"self": {
"type": "string",
"description": "The link to the resource itself."
}
}
}
}
}
}
]
Internal Server Error
copied![
{
"type": "object",
"description": "An error message showing Internal Server Error.",
"properties": {
"status": {
"type": "string",
"description": "Status of the Internal Server Error."
},
"message": {
"type": "string",
"description": "A user readable information about Internal Server Error."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"description": "Represents an error response from the API.",
"properties": {
"code": {
"type": "string",
"description": "Error code indicating the type of error."
},
"message": {
"type": "string",
"description": "A user readable error message providing details about the error."
},
"status": {
"type": "string",
"description": "Status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp indicating when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"description": "Represents a link to relevant API resources.",
"properties": {
"self": {
"type": "string",
"description": "The link to the resource itself."
}
}
}
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | OK | SMSCampaignOptInResponse |
400 | Bad Request | BadRequest |
401 | Unauthorized | UnauthorizedRequest |
500 | Internal Server Error | InternalServerError |
post
copied!# You can also use wgetcurl -X POST https://api.phenom.com//campaigns/sms/v1/send
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
POST /campaigns/sms/v1/send
This API allows you to send a SMS for a set of candidates via a campaign.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"phoneNumber": {
"type": "string",
"description": "User phoneNumber of the Send SMS campaign request."
},
"message": {
"type": "string",
"description": "The user readable message about the Send SMS campaign request ."
},
"campaignName": {
"type": "string",
"description": "Campaign Name of the Send SMS campaign request."
},
"campaignId": {
"type": "string",
"description": "Campaign Id of the Send SMS campaign request."
}
}
}
]
Request Parameters
Type | Name |
---|---|
application/json | SendSMSCampaignRequest |
Response
OK
copied![
{
"type": "object",
"properties": {
"data": {
"type": "object",
"description": "Data of the sent SMS.",
"properties": {
"messageSID": {
"type": "string",
"description": "The unique identifier for the sent SMS message."
},
"message": {
"type": "string",
"description": "The user readable information of the sent SMS message."
}
},
"required": {
"0": "messageSID",
"1": "message"
}
},
"status": {
"type": "string",
"description": "The Status of the Sent SMS ."
}
},
"required": {
"0": "data",
"1": "status"
}
}
]
Bad Request
copied![
{
"type": "object",
"description": "An error message showing Bad Request.",
"properties": {
"status": {
"type": "string",
"description": "Status code for the Bad Request."
},
"message": {
"type": "string",
"description": "A user Readable information about Bad Request."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"description": "Represents an error response from the API.",
"properties": {
"code": {
"type": "string",
"description": "Error code indicating the type of error."
},
"message": {
"type": "string",
"description": "A user readable error message providing details about the error."
},
"status": {
"type": "string",
"description": "Status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp indicating when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"description": "Represents a link to relevant API resources.",
"properties": {
"self": {
"type": "string",
"description": "The link to the resource itself."
}
}
}
}
}
}
]
Unauthorized
copied![
{
"type": "object",
"description": "An error message showing Unauthorized Request.",
"properties": {
"status": {
"type": "string",
"description": "Status code for the Unauthorized Request."
},
"message": {
"type": "string",
"description": "A user Readable information about the Unauthorized Request."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"description": "Represents an error response from the API.",
"properties": {
"code": {
"type": "string",
"description": "Error code indicating the type of error."
},
"message": {
"type": "string",
"description": "A user readable error message providing details about the error."
},
"status": {
"type": "string",
"description": "Status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp indicating when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"description": "Represents a link to relevant API resources.",
"properties": {
"self": {
"type": "string",
"description": "The link to the resource itself."
}
}
}
}
}
}
]
Internal Server Error
copied![
{
"type": "object",
"description": "An error message showing Internal Server Error.",
"properties": {
"status": {
"type": "string",
"description": "Status of the Internal Server Error."
},
"message": {
"type": "string",
"description": "A user readable information about Internal Server Error."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"description": "Represents an error response from the API.",
"properties": {
"code": {
"type": "string",
"description": "Error code indicating the type of error."
},
"message": {
"type": "string",
"description": "A user readable error message providing details about the error."
},
"status": {
"type": "string",
"description": "Status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp indicating when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"description": "Represents a link to relevant API resources.",
"properties": {
"self": {
"type": "string",
"description": "The link to the resource itself."
}
}
}
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | OK | SendSMS |
400 | Bad Request | BadRequest |
401 | Unauthorized | UnauthorizedRequest |
500 | Internal Server Error | InternalServerError |
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//campaigns/sms/v1/activity
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
GET /campaigns/sms/v1/activity
This API allows you to get all the SMS activities of candidates like Delivered, Read, Bounced, Dropped etc.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
offset | query | integer | false |
size | query | integer | false |
activityId | query | string | true |
phoneNumber | query | string | true |
Response
OK
copied![
{
"type": "object",
"properties": {
"pagination": {
"type": "object",
"description": "Pagination details for the SMS activity result set.",
"properties": {
"first": {
"type": "boolean",
"description": "Indicates whether the current page is the first page."
},
"last": {
"type": "boolean",
"description": "Indicates whether the current page is the last page."
},
"hasErrors": {
"type": "boolean",
"description": "Indicates whether there are errors in the SMS activity."
},
"hasNext": {
"type": "boolean",
"description": "Indicates whether there is a next page in the result set."
},
"totalElements": {
"type": "integer",
"description": "The total number of elements in the SMS activity result set."
},
"totalPages": {
"type": "integer",
"description": "The total number of pages in the SMS activity result set."
},
"size": {
"type": "integer",
"description": "The number of elements on the current page."
},
"currentPage": {
"type": "integer",
"description": "The current page number in the SMS activity result set."
},
"numberOfElements": {
"type": "integer",
"description": "The number of elements on the current page."
}
},
"required": {
"0": "first",
"1": "last",
"2": "hasErrors",
"3": "hasNext",
"4": "totalElements",
"5": "totalPages",
"6": "size",
"7": "currentPage",
"8": "numberOfElements"
}
},
"data": {
"type": "array",
"description": "Data containing SMS activity .",
"items": {}
},
"status": {
"type": "string",
"description": "Status of the SMS activity."
}
},
"required": {
"0": "pagination",
"1": "data",
"2": "status"
}
}
]
Bad Request
copied![
{
"type": "object",
"description": "An error message showing Bad Request.",
"properties": {
"status": {
"type": "string",
"description": "Status code for the Bad Request."
},
"message": {
"type": "string",
"description": "A user Readable information about Bad Request."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"description": "Represents an error response from the API.",
"properties": {
"code": {
"type": "string",
"description": "Error code indicating the type of error."
},
"message": {
"type": "string",
"description": "A user readable error message providing details about the error."
},
"status": {
"type": "string",
"description": "Status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp indicating when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"description": "Represents a link to relevant API resources.",
"properties": {
"self": {
"type": "string",
"description": "The link to the resource itself."
}
}
}
}
}
}
]
Unauthorized
copied![
{
"type": "object",
"description": "An error message showing Unauthorized Request.",
"properties": {
"status": {
"type": "string",
"description": "Status code for the Unauthorized Request."
},
"message": {
"type": "string",
"description": "A user Readable information about the Unauthorized Request."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"description": "Represents an error response from the API.",
"properties": {
"code": {
"type": "string",
"description": "Error code indicating the type of error."
},
"message": {
"type": "string",
"description": "A user readable error message providing details about the error."
},
"status": {
"type": "string",
"description": "Status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp indicating when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"description": "Represents a link to relevant API resources.",
"properties": {
"self": {
"type": "string",
"description": "The link to the resource itself."
}
}
}
}
}
}
]
Internal Server Error
copied![
{
"type": "object",
"description": "An error message showing Internal Server Error.",
"properties": {
"status": {
"type": "string",
"description": "Status of the Internal Server Error."
},
"message": {
"type": "string",
"description": "A user readable information about Internal Server Error."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"description": "Represents an error response from the API.",
"properties": {
"code": {
"type": "string",
"description": "Error code indicating the type of error."
},
"message": {
"type": "string",
"description": "A user readable error message providing details about the error."
},
"status": {
"type": "string",
"description": "Status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp indicating when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"description": "Represents a link to relevant API resources.",
"properties": {
"self": {
"type": "string",
"description": "The link to the resource itself."
}
}
}
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | OK | SMSActivity |
400 | Bad Request | BadRequest |
401 | Unauthorized | UnauthorizedRequest |
500 | Internal Server Error | InternalServerError |
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//campaigns/sms/v1/history
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
GET /campaigns/sms/v1/history
This API allows you to get all the SMS Campaigns history of the candidates in a campaign.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
offset | query | integer | false |
size | query | integer | false |
phoneNumber | query | string | true |
Response
OK.
copied![
{
"type": "object",
"properties": {
"pagination": {
"type": "object",
"description": "Object containing pagination details for Email Camapign History.",
"properties": {
"first": {
"type": "boolean",
"description": "Indicates whether this is the first page in the paginated list of email campaign history."
},
"last": {
"type": "boolean",
"description": "Indicates whether this is the last page in the paginated list of email campaign history."
},
"hasErrors": {
"type": "boolean",
"description": "Indicates whether there are errors in the paginated list of email campaign history."
},
"hasNext": {
"type": "boolean",
"description": "Indicates whether there is a next page in the paginated list of email campaign history."
},
"totalElements": {
"type": "integer",
"description": "Total number of elements in email campaign history have across all pages."
},
"totalPages": {
"type": "integer",
"description": "Total number of pages in the paginated list of email campaign history."
},
"size": {
"type": "integer",
"description": "Size of the email campaign history."
},
"currentPage": {
"type": "integer",
"description": "The current page number in the paginated list of email campaign history."
},
"numberOfElements": {
"type": "integer",
"description": "Number of elements in email campaign history in the current page."
}
},
"required": {
"0": "first",
"1": "last",
"2": "hasErrors",
"3": "hasNext",
"4": "totalElements",
"5": "totalPages",
"6": "size",
"7": "currentPage",
"8": "numberOfElements"
}
},
"data": {
"type": "array",
"description": "Data of the SMS Campaign History.",
"items": {
"type": "object",
"properties": {
"phoneNumber": {
"type": "string",
"description": "PhoneNumber associated with SMS campaign History."
},
"campaignName": {
"type": "string",
"description": "The SMS CampaignName in the SMS Campaign History."
},
"campaignType": {
"type": "string",
"description": "Type of the campaign in the SMS Campaign History ."
},
"createdDate": {
"type": "integer",
"format": "int64",
"description": "Timestamp indicating when the email campaign history entry was created."
},
"body": {
"type": "string",
"description": "Body Defines the Message that was sent to candidate in the SMS Campaign."
},
"event": {
"type": "string",
"description": "Defines the status of the SMS Campaign for a Candidate."
}
},
"required": {
"0": "phoneNumber",
"1": "campaignName",
"2": "body",
"3": "campaignType",
"4": "createdDate",
"5": "event"
}
}
},
"status": {
"type": "string",
"description": "Status of the SMS Campaign History."
}
},
"required": {
"0": "pagination",
"1": "data",
"2": "status"
}
}
]
Bad Request.
copied![
{
"type": "object",
"description": "An error message showing Bad Request.",
"properties": {
"status": {
"type": "string",
"description": "Status code for the Bad Request."
},
"message": {
"type": "string",
"description": "A user Readable information about Bad Request."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"description": "Represents an error response from the API.",
"properties": {
"code": {
"type": "string",
"description": "Error code indicating the type of error."
},
"message": {
"type": "string",
"description": "A user readable error message providing details about the error."
},
"status": {
"type": "string",
"description": "Status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp indicating when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"description": "Represents a link to relevant API resources.",
"properties": {
"self": {
"type": "string",
"description": "The link to the resource itself."
}
}
}
}
}
}
]
Unauthorized.
copied![
{
"type": "object",
"description": "An error message showing Unauthorized Request.",
"properties": {
"status": {
"type": "string",
"description": "Status code for the Unauthorized Request."
},
"message": {
"type": "string",
"description": "A user Readable information about the Unauthorized Request."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"description": "Represents an error response from the API.",
"properties": {
"code": {
"type": "string",
"description": "Error code indicating the type of error."
},
"message": {
"type": "string",
"description": "A user readable error message providing details about the error."
},
"status": {
"type": "string",
"description": "Status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp indicating when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"description": "Represents a link to relevant API resources.",
"properties": {
"self": {
"type": "string",
"description": "The link to the resource itself."
}
}
}
}
}
}
]
Internal Server Error.
copied![
{
"type": "object",
"description": "An error message showing Internal Server Error.",
"properties": {
"status": {
"type": "string",
"description": "Status of the Internal Server Error."
},
"message": {
"type": "string",
"description": "A user readable information about Internal Server Error."
},
"errors": {
"type": "array",
"items": {
"ApiError": {
"type": "object",
"description": "Represents an error response from the API.",
"properties": {
"code": {
"type": "string",
"description": "Error code indicating the type of error."
},
"message": {
"type": "string",
"description": "A user readable error message providing details about the error."
},
"status": {
"type": "string",
"description": "Status code associated with the error."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Timestamp indicating when the error occurred."
}
}
}
}
},
"apiLink": {
"ApiLink": {
"type": "object",
"description": "Represents a link to relevant API resources.",
"properties": {
"self": {
"type": "string",
"description": "The link to the resource itself."
}
}
}
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | OK. | SMSCampaignHistory |
400 | Bad Request. | BadRequest |
401 | Unauthorized. | UnauthorizedRequest |
500 | Internal Server Error. | InternalServerError |
User Management
API endpoints for user management.
post
copied!# You can also use wgetcurl -X POST https://api.phenom.com//user-management/v1/users/search
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
POST /user-management/v1/users/search
This API searches for users based on given filters.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Flag to indicate if the search functionality is enabled."
},
"searchKeyword": {
"type": "string",
"description": "Keyword to search for in user data."
},
"userIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of user IDs to include in the search."
},
"product": {
"type": "object",
"properties": {
"productTitle": {
"type": "string",
"description": "Title of the product associated with the user."
},
"roles": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of roles associated with the product."
}
},
"description": "Product-related search criteria."
},
"dateFilter": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the date filter."
},
"startDate": {
"type": "string",
"description": "Start date for the date filter."
},
"endDate": {
"type": "string",
"description": "End date for the date filter."
}
}
},
"description": "List of date filters for the search."
},
"usernames": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of usernames to include in the search."
},
"sortColumn": {
"type": "string",
"description": "Column to sort the search results by."
},
"sortOrder": {
"type": "string",
"description": "Order to sort the search results (ascending or descending)."
},
"selectors": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of selectors for the search."
},
"from": {
"type": "string",
"description": "Starting point for paginated results."
},
"size": {
"type": "string",
"description": "Number of results to return per page."
},
"is2FAEnabled": {
"type": "boolean",
"description": "Flag to indicate if 2FA is enabled for the users."
}
},
"description": "Request object for user search."
}
]
Request Parameters
Type | Name |
---|---|
application/json | SearchRequest |
Response
Successful response
copied![
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "ID of the user."
},
"userName": {
"type": "string",
"description": "Username of the user."
},
"firstName": {
"type": "string",
"description": "First name of the user."
},
"lastName": {
"type": "string",
"description": "Last name of the user."
},
"realm": {
"type": "string",
"description": "Realm of the user."
},
"email": {
"type": "string",
"description": "Email address of the user."
},
"userDesc": {
"type": "string",
"description": "Description of the user."
},
"enabled": {
"type": "boolean",
"description": "Flag indicating if the user is enabled."
},
"userType": {
"type": "string",
"description": "Type of the user."
},
"legacyUserId": {
"type": "string",
"description": "Legacy ID of the user."
},
"isEmailVerified": {
"type": "boolean",
"description": "Flag indicating if the user's email is verified."
},
"createdOn": {
"type": "number",
"description": "Timestamp indicating when the user was created."
},
"appAccessCount": {
"type": "number",
"description": "Count of applications the user has access to."
},
"groupCount": {
"type": "number",
"description": "Count of groups the user is a part of."
},
"configureOtp": {
"type": "boolean",
"description": "Flag indicating if OTP is configured for the user."
},
"orgName": {
"type": "string",
"description": "Name of the organization associated with the user."
}
}
},
"description": "List of user data."
},
"status": {
"type": "boolean",
"description": "Status of the search operation."
},
"errorCode": {
"type": "string",
"description": "The HTTP status code."
},
"errorDesc": {
"type": "string",
"description": "Description of the error."
},
"warningDesc": {
"type": "string",
"description": "Description of any warnings."
},
"from": {
"type": "number",
"description": "Starting index of the returned results."
},
"size": {
"type": "number",
"description": "Number of results returned in the response."
},
"total": {
"type": "number",
"description": "Total number of results matching the search criteria."
}
},
"description": "Response object for user search."
}
]
Bad request
copied![
{
"type": "object",
"description": "Error response schema.",
"properties": {
"status": {
"type": "integer",
"description": "The HTTP status code."
},
"error": {
"type": "string",
"description": "The error type or description."
},
"message": {
"type": "string",
"description": "Additional information or error message."
}
}
}
]
Unauthorized
copied![
{
"type": "object",
"description": "Unauthorized response schema.",
"properties": {
"timestamp": {
"type": "string",
"format": "date-time",
"description": "The timestamp of the response."
},
"status": {
"type": "integer",
"description": "The HTTP status code (e.g., 401)."
},
"error": {
"type": "string",
"description": "The error type or description."
},
"message": {
"type": "string",
"description": "Additional information or error message."
},
"path": {
"type": "string",
"description": "The request path that led to this response."
}
}
}
]
Forbidden
copied![
{
"type": "object",
"description": "Error response schema.",
"properties": {
"status": {
"type": "integer",
"description": "The HTTP status code."
},
"error": {
"type": "string",
"description": "The error type or description."
},
"message": {
"type": "string",
"description": "Additional information or error message."
}
}
}
]
Internal Server Error
copied![
{
"type": "object",
"description": "Error response schema.",
"properties": {
"status": {
"type": "integer",
"description": "The HTTP status code."
},
"error": {
"type": "string",
"description": "The error type or description."
},
"message": {
"type": "string",
"description": "Additional information or error message."
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | Successful response | SearchResponse |
400 | Bad request | ErrorResponse |
401 | Unauthorized | UnauthorizedResponse |
403 | Forbidden | ErrorResponse |
500 | Internal Server Error | ErrorResponse |
Tags
These API's allows to Create, Update and Delete Tags.
post
copied!# You can also use wgetcurl -X POST https://api.phenom.com//tags-api/v1/tags
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
POST /tags-api/v1/tags
This API allows you to Create a Tag.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"tag": {
"type": "string",
"description": "The name of the tag to be created."
}
},
"required": {
"0": "tag"
},
"description": "Request object for creating a new tag."
}
]
Request Parameters
Type | Name |
---|---|
application/json | CreateTagRequest |
Response
201 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status of the tag creation operation."
},
"message": {
"type": "string",
"description": "A human readable message describing the result of the tag creation."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the tag creation operation occurred."
},
"id": {
"type": "string",
"description": "The unique identifier assigned to the newly created tag."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp",
"3": "id"
},
"description": "Response object for the tag creation operation."
}
]
400 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status indicating a bad request."
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"timestamp": {
"type": "string",
"description": "The timestamp when the error occurred."
},
"errorAPI": {
"type": "string",
"description": "The specific API error code or identifier."
},
"message": {
"type": "string",
"description": "A human readable error message describing the issue."
}
},
"required": {
"0": "timestamp",
"1": "errorAPI",
"2": "message"
},
"description": "Details of an individual error within the array."
}
}
},
"required": {
"0": "status",
"1": "errors"
},
"description": "Response object for a bad request, containing details about errors."
}
]
409 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status indicating a duplicate tag creation attempt."
},
"message": {
"type": "string",
"description": "A human readable message describing the duplicate tag creation attempt."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the duplicate tag creation attempt occurred."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "Response object for a duplicate tag creation attempt."
}
]
500 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status indicating a failure related to tag processing."
},
"message": {
"type": "string",
"description": "A human readable message describing the details of the tag processing failure."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the tag processing failure occurred."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "Response object for a failure related to tag processing."
}
]
Responses
Status | Description | Schema |
---|---|---|
201 | 201 response | CreateTagResponse |
400 | 400 response | BadRequest |
409 | 409 response | CreateTagDuplicate |
500 | 500 response | TagFailure |
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//tags-api/v1/tags
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
GET /tags-api/v1/tags
This API allows you to get all Tags.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
from | query | integer | false |
size | query | integer | false |
Response
200 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status of the get tags operation."
},
"message": {
"type": "string",
"description": "A human readable message describing the result of the get tags operation."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the get tags operation occurred."
},
"pagination": {
"type": "object",
"properties": {
"total": {
"type": "integer",
"description": "The total number of tags available."
},
"size": {
"type": "integer",
"description": "The number of tags in the current response."
},
"from": {
"type": "integer",
"description": "The index from which the tags are being retrieved."
}
},
"required": {
"0": "total",
"1": "size",
"2": "from"
},
"description": "Pagination details for the list of tags."
},
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"createdDate": {
"type": "string",
"description": "The date when the tag was created."
},
"tag": {
"type": "string",
"description": "The name of the tag."
}
},
"required": {
"0": "createdDate",
"1": "tag"
}
}
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp",
"3": "pagination",
"4": "data"
},
"description": "Response object for the get tags operation."
}
]
204 response
copied![
{
"type": "object",
"description": "Response indicating no data has been found.",
"properties": {}
}
]
400 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status indicating a bad request."
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"timestamp": {
"type": "string",
"description": "The timestamp when the error occurred."
},
"errorAPI": {
"type": "string",
"description": "The specific API error code or identifier."
},
"message": {
"type": "string",
"description": "A human readable error message describing the issue."
}
},
"required": {
"0": "timestamp",
"1": "errorAPI",
"2": "message"
},
"description": "Details of an individual error within the array."
}
}
},
"required": {
"0": "status",
"1": "errors"
},
"description": "Response object for a bad request, containing details about errors."
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | GetTagsResponse |
204 | 204 response | NoContentResponse |
400 | 400 response | BadRequest |
delete
copied!# You can also use wgetcurl -X DELETE https://api.phenom.com//tags-api/v1/tags/{tag}
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
DELETE /tags-api/v1/tags/{tag}
This API Deletes Tag.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
tag | path | string | true |
Response
200 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status indicating the result of a tag-related operation."
},
"message": {
"type": "string",
"description": "A human readable message describing the result of the tag-related operation."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the tag-related operation occurred."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "Response object for a tag-related operation."
}
]
400 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status indicating a bad request."
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"timestamp": {
"type": "string",
"description": "The timestamp when the error occurred."
},
"errorAPI": {
"type": "string",
"description": "The specific API error code or identifier."
},
"message": {
"type": "string",
"description": "A human readable error message describing the issue."
}
},
"required": {
"0": "timestamp",
"1": "errorAPI",
"2": "message"
},
"description": "Details of an individual error within the array."
}
}
},
"required": {
"0": "status",
"1": "errors"
},
"description": "Response object for a bad request, containing details about errors."
}
]
404 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status indicating that the tag to be deleted was not found."
},
"message": {
"type": "string",
"description": "A human readable message describing that the requested tag was not found for deletion."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the attempt to delete the tag not found occurred."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "Response object for a tag deletion attempt when the tag was not found."
}
]
500 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status indicating a failure related to tag processing."
},
"message": {
"type": "string",
"description": "A human readable message describing the details of the tag processing failure."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the tag processing failure occurred."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "Response object for a failure related to tag processing."
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | TagResponse |
400 | 400 response | BadRequest |
404 | 404 response | DeleteTagNotFound |
500 | 500 response | TagFailure |
put
copied!# You can also use wgetcurl -X PUT https://api.phenom.com//tags-api/v1/tags/{tag}
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
PUT /tags-api/v1/tags/{tag}
This API facilitates to Update the Tag.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"newTagName": {
"description": "The new name of the tag.",
"type": "string"
}
},
"required": {
"0": "newTagName"
},
"description": "Request object for updating a tag.",
"example": {
"newTagName": "UpdatedTagName"
}
}
]
Parameters
Name | In | Type | Required |
---|---|---|---|
tag | path | string | true |
Request Parameters
Type | Name |
---|---|
application/json | UpdateTagRequest |
Response
200 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status indicating the result of a tag-related operation."
},
"message": {
"type": "string",
"description": "A human readable message describing the result of the tag-related operation."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the tag-related operation occurred."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "Response object for a tag-related operation."
}
]
400 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status indicating a bad request."
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"timestamp": {
"type": "string",
"description": "The timestamp when the error occurred."
},
"errorAPI": {
"type": "string",
"description": "The specific API error code or identifier."
},
"message": {
"type": "string",
"description": "A human readable error message describing the issue."
}
},
"required": {
"0": "timestamp",
"1": "errorAPI",
"2": "message"
},
"description": "Details of an individual error within the array."
}
}
},
"required": {
"0": "status",
"1": "errors"
},
"description": "Response object for a bad request, containing details about errors."
}
]
500 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status indicating a failure related to tag processing."
},
"message": {
"type": "string",
"description": "A human readable message describing the details of the tag processing failure."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the tag processing failure occurred."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "Response object for a failure related to tag processing."
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | TagResponse |
400 | 400 response | BadRequest |
500 | 500 response | TagFailure |
Candidates
These API's allows to Add and Remove Tags to Candidates.
post
copied!# You can also use wgetcurl -X POST https://api.phenom.com//tags-api/v1/tags/candidates
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
POST /tags-api/v1/tags/candidates
This API allows you to Associate Tags to Candidates.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"candidateIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "An array of candidate IDs to be associated with the specified tags."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "An array of tags to be associated with the specified candidates."
}
},
"required": {
"0": "candidateIds",
"1": "tags"
},
"description": "Request object for associating tags with candidate IDs."
}
]
Request Parameters
Type | Name |
---|---|
application/json | CandidateTagsAssociation |
Response
200 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status indicating the result of a tag-related operation."
},
"message": {
"type": "string",
"description": "A human readable message describing the result of the tag-related operation."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the tag-related operation occurred."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "Response object for a tag-related operation."
}
]
400 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status indicating a bad request."
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"timestamp": {
"type": "string",
"description": "The timestamp when the error occurred."
},
"errorAPI": {
"type": "string",
"description": "The specific API error code or identifier."
},
"message": {
"type": "string",
"description": "A human readable error message describing the issue."
}
},
"required": {
"0": "timestamp",
"1": "errorAPI",
"2": "message"
},
"description": "Details of an individual error within the array."
}
}
},
"required": {
"0": "status",
"1": "errors"
},
"description": "Response object for a bad request, containing details about errors."
}
]
500 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status indicating a failure related to tag processing."
},
"message": {
"type": "string",
"description": "A human readable message describing the details of the tag processing failure."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the tag processing failure occurred."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "Response object for a failure related to tag processing."
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | TagResponse |
400 | 400 response | BadRequest |
500 | 500 response | TagFailure |
post
copied!# You can also use wgetcurl -X POST https://api.phenom.com//tags-api/v1/tags/candidates/delete
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
POST /tags-api/v1/tags/candidates/delete
This API allows you to Remove tags from Candidates.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"candidateIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "An array of candidate IDs to be associated with the specified tags."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "An array of tags to be associated with the specified candidates."
}
},
"required": {
"0": "candidateIds",
"1": "tags"
},
"description": "Request object for associating tags with candidate IDs."
}
]
Request Parameters
Type | Name |
---|---|
application/json | CandidateTagsAssociation |
Response
200 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status indicating the result of a tag-related operation."
},
"message": {
"type": "string",
"description": "A human readable message describing the result of the tag-related operation."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the tag-related operation occurred."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "Response object for a tag-related operation."
}
]
400 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status indicating a bad request."
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"timestamp": {
"type": "string",
"description": "The timestamp when the error occurred."
},
"errorAPI": {
"type": "string",
"description": "The specific API error code or identifier."
},
"message": {
"type": "string",
"description": "A human readable error message describing the issue."
}
},
"required": {
"0": "timestamp",
"1": "errorAPI",
"2": "message"
},
"description": "Details of an individual error within the array."
}
}
},
"required": {
"0": "status",
"1": "errors"
},
"description": "Response object for a bad request, containing details about errors."
}
]
500 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status indicating a failure related to tag processing."
},
"message": {
"type": "string",
"description": "A human readable message describing the details of the tag processing failure."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the tag processing failure occurred."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "Response object for a failure related to tag processing."
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | TagResponse |
400 | 400 response | BadRequest |
500 | 500 response | TagFailure |
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//tags-api/v1/tags/{tag}/candidates
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
GET /tags-api/v1/tags/{tag}/candidates
This API allows you to get all CandidateIds for given Tag.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
tag | 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 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."
},
"pagination": {
"type": "object",
"properties": {
"size": {
"type": "number",
"description": "Number of candidateIds per page in the paginated response."
},
"from": {
"type": "number",
"description": "Index of the first candidateId in the current response."
},
"totalCount": {
"type": "number",
"description": "Total count of candidateIds."
}
},
"required": {
"0": "size",
"1": "from",
"2": "totalCount"
},
"description": "Pagination information for the response."
},
"data": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of strings containing candidateIds."
}
}
}
]
204 response
copied![
{
"type": "object",
"description": "Response indicating no data has been found.",
"properties": {}
}
]
400 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status indicating a bad request."
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"timestamp": {
"type": "string",
"description": "The timestamp when the error occurred."
},
"errorAPI": {
"type": "string",
"description": "The specific API error code or identifier."
},
"message": {
"type": "string",
"description": "A human readable error message describing the issue."
}
},
"required": {
"0": "timestamp",
"1": "errorAPI",
"2": "message"
},
"description": "Details of an individual error within the array."
}
}
},
"required": {
"0": "status",
"1": "errors"
},
"description": "Response object for a bad request, containing details about errors."
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | GetTagAssociationsResponse |
204 | 204 response | NoContentResponse |
400 | 400 response | BadRequest |
Workflow-Status
The Workflow Status APIs allows you to add, update and delete candidates status.
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//projects-api/v1/workflow-statuses
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
GET /projects-api/v1/workflow-statuses
This API allows you to get workflow-status with the specified searchKey.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
from | query | integer | false |
size | query | integer | false |
searchName | query | string | false |
Response
200 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Status of the response."
},
"message": {
"type": "string",
"description": "Message associated with the response."
},
"timestamp": {
"type": "string",
"description": "Timestamp of the response."
},
"pagination": {
"type": "object",
"properties": {
"size": {
"type": "number",
"description": "Size of the data in the current response."
},
"from": {
"type": "number",
"description": "Start index of the data in the current response."
},
"totalCount": {
"type": "number",
"description": "Total count of items available."
}
},
"required": {
"0": "size",
"1": "from",
"2": "totalCount"
},
"description": "Pagination information."
},
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"statusId": {
"type": "string",
"description": "ID of the workflow status."
},
"name": {
"type": "string",
"description": "Name of the workflow status."
},
"statusCode": {
"type": "string",
"description": "Code associated with the workflow status."
},
"statusType": {
"type": "string",
"description": "Type of the workflow status."
},
"associatedWorkflows": {
"type": "array",
"items": {},
"description": "List of associated workflows."
},
"createdByRecruiterInfo": {
"type": "object",
"properties": {
"recruiterUserId": {
"type": "string",
"description": "Unique identifier of the recruiter."
}
},
"required": {
"0": "recruiterUserId"
},
"description": "Information about the recruiter who created the status."
},
"createdDate": {
"type": "string",
"description": "Date when the status was created."
},
"updatedDate": {
"type": "string",
"description": "Date when the status was last updated."
}
},
"required": {
"0": "statusId",
"1": "name",
"2": "statusCode",
"3": "statusType",
"4": "createdByRecruiterInfo",
"5": "createdDate",
"6": "updatedDate"
},
"description": "Information about a workflow status."
}
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp",
"3": "pagination",
"4": "data"
},
"description": "Response containing information about all workflow statuses."
}
]
204 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status of the creation response."
},
"message": {
"type": "string",
"description": "A descriptive message associated with the creation response."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the creation response occurred."
},
"id": {
"type": "string",
"description": "The identifier associated with the created entity."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp",
"3": "id"
},
"description": "Creation response object."
}
]
400 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status of the error response."
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the error occurred."
},
"errorAPI": {
"type": "string",
"description": "The API or endpoint associated with the error."
},
"message": {
"type": "string",
"description": "A descriptive error message."
}
},
"description": "Details of an individual error within the array."
},
"description": "An array containing details of errors."
}
},
"description": "Error response object for a bad request."
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | GetAllWorkflowStatusResponse |
204 | 204 response | CreationResponse |
400 | 400 response | BadRequestError |
post
copied!# You can also use wgetcurl -X POST https://api.phenom.com//projects-api/v1/workflow-statuses
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
POST /projects-api/v1/workflow-statuses
This API allows you to create a workflow-status.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the workflow status."
},
"statusType": {
"type": "string",
"description": "Type of the workflow status."
},
"statusCode": {
"type": "string",
"description": "Status code of the workflow status."
},
"createdByRecruiterInfo": {
"type": "object",
"properties": {
"recruiterName": {
"type": "string",
"description": "Name of the recruiter who created the workflow status."
},
"recruiterEmail": {
"type": "string",
"description": "Email of the recruiter who created the workflow status."
},
"recruiterUserId": {
"type": "string",
"description": "User ID of the recruiter who created the workflow status."
}
},
"required": {
"0": "recruiterName",
"1": "recruiterEmail",
"2": "recruiterUserId"
},
"description": "Information about the recruiter who created the workflow status."
}
},
"required": {
"0": "name",
"1": "statusType",
"2": "statusCode",
"3": "createdByRecruiterInfo"
},
"description": "Object representing the request to create a workflow status."
}
]
Request Parameters
Type | Name |
---|---|
application/json | CreateWorkflowStatusRequest |
Response
201 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status of the creation response."
},
"message": {
"type": "string",
"description": "A descriptive message associated with the creation response."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the creation response occurred."
},
"id": {
"type": "string",
"description": "The identifier associated with the created entity."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp",
"3": "id"
},
"description": "Creation response object."
}
]
500 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status of the internal server error response."
},
"message": {
"type": "string",
"description": "A descriptive message associated with the internal server error."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the internal server error occurred."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "Internal server error response object."
}
]
Responses
Status | Description | Schema |
---|---|---|
201 | 201 response | CreationResponse |
500 | 500 response | InternalServerError |
delete
copied!# You can also use wgetcurl -X DELETE https://api.phenom.com//projects-api/v1/workflow-statuses/{statusId}
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
DELETE /projects-api/v1/workflow-statuses/{statusId}
This API deletes the workflow-status of a given statusId.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
statusId | path | string | true |
Response
200 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Status of the response."
},
"message": {
"type": "string",
"description": "Message associated with the response."
},
"timestamp": {
"type": "string",
"description": "Timestamp of the response."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "Response containing information about the deletion of a workflow status."
}
]
404 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status of the not found error response."
},
"message": {
"type": "string",
"description": "A descriptive message associated with the not found error."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the not found error occurred."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "Not found error response object."
}
]
500 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status of the internal server error response."
},
"message": {
"type": "string",
"description": "A descriptive message associated with the internal server error."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the internal server error occurred."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "Internal server error response object."
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | DeleteWorkflowStatusResponse |
404 | 404 response | NotFoundError |
500 | 500 response | InternalServerError |
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//projects-api/v1/workflow-statuses/{statusId}
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
GET /projects-api/v1/workflow-statuses/{statusId}
This API retrieves all the details of a workflow-status using its unique statusId.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
statusId | path | string | true |
Response
200 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Status of the response."
},
"message": {
"type": "string",
"description": "Message associated with the response."
},
"timestamp": {
"type": "string",
"description": "Timestamp of the response."
},
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the workflow status."
},
"statusCode": {
"type": "string",
"description": "Status code associated with the workflow status."
},
"statusType": {
"type": "string",
"description": "Type of the workflow status."
},
"associatedWorkflows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"workflowName": {
"type": "string",
"description": "Name of the associated workflow."
},
"workflowId": {
"type": "string",
"description": "ID of the associated workflow."
}
},
"required": {
"0": "workflowName",
"1": "workflowId"
}
},
"description": "List of associated workflows."
},
"createdByRecruiterInfo": {
"type": "object",
"properties": {
"recruiterUserId": {
"type": "string",
"description": "ID of the recruiter who created the status."
},
"recruiterName": {
"type": "string",
"description": "Name of the recruiter who created the status."
},
"recruiterEmail": {
"type": "string",
"description": "Email of the recruiter who created the status."
}
},
"required": {
"0": "recruiterUserId",
"1": "recruiterName",
"2": "recruiterEmail"
},
"description": "Information about the recruiter who created the status."
},
"createdDate": {
"type": "string",
"description": "Timestamp of when the status was created."
},
"updatedDate": {
"type": "string",
"description": "Timestamp of when the status was last updated."
}
},
"required": {
"0": "name",
"1": "statusCode",
"2": "statusType",
"3": "associatedWorkflows",
"4": "createdByRecruiterInfo",
"5": "createdDate",
"6": "updatedDate"
}
},
"description": "List of workflow status information."
}
},
"description": "Response containing information about workflow status."
}
]
404 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status of the error response."
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the error occurred."
},
"errorAPI": {
"type": "string",
"description": "The API or endpoint associated with the error."
},
"message": {
"type": "string",
"description": "A descriptive error message."
}
},
"description": "Details of an individual error within the array."
},
"description": "An array containing details of errors."
}
},
"description": "Error response object for a bad request."
}
]
500 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status of the internal server error response."
},
"message": {
"type": "string",
"description": "A descriptive message associated with the internal server error."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the internal server error occurred."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "Internal server error response object."
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | GetWorkflowStatusResponse |
404 | 404 response | BadRequestError |
500 | 500 response | InternalServerError |
Workflows
These APIs allows you to create, update and delete Workflows.
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//projects-api/v1/workflows
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
GET /projects-api/v1/workflows
This API allows you to get workflows with the specified searchKey.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
from | query | integer | false |
size | query | integer | false |
searchName | query | string | false |
Response
200 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status of the response."
},
"message": {
"type": "string",
"description": "A descriptive message associated with the response status."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the response was generated."
},
"pagination": {
"type": "object",
"properties": {
"size": {
"type": "integer",
"description": "The number of items in the current page."
},
"from": {
"type": "integer",
"description": "The starting index of items in the current page."
},
"totalCount": {
"type": "integer",
"description": "The total number of items available."
}
},
"required": {
"0": "size",
"1": "from",
"2": "totalCount"
},
"description": "Pagination details for the response."
},
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"workflowName": {
"type": "string",
"description": "The name of the workflow."
},
"createdDate": {
"type": "string",
"description": "The date when the workflow was created."
},
"updatedDate": {
"type": "string",
"description": "The date when the workflow was last updated."
},
"stages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the workflow stage."
},
"statusCode": {
"type": "string",
"description": "The status code associated with the stage."
},
"statusId": {
"type": "string",
"description": "The unique identifier for the stage."
},
"furtherTransitionStages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the further transition stage."
},
"statusCode": {
"type": "string",
"description": "The status code associated with the further transition stage."
}
},
"required": {
"0": "name",
"1": "statusCode"
},
"description": "Details of a further transition stage."
}
},
"isRejectionStage": {
"type": "boolean",
"description": "Indicates whether the stage is a rejection stage."
},
"isFinalStage": {
"type": "boolean",
"description": "Indicates whether the stage is a final stage."
},
"isDeletedStage": {
"type": "boolean",
"description": "Indicates whether the stage is a deleted stage."
}
},
"required": {
"0": "name",
"1": "statusCode",
"2": "statusId",
"3": "furtherTransitionStages",
"4": "isRejectionStage",
"5": "isFinalStage",
"6": "isDeletedStage"
},
"description": "Details of an individual workflow stage."
},
"description": "An array containing details of workflow stages."
},
"createdByRecruiterInfo": {
"type": "object",
"properties": {
"recruiterUserId": {
"type": "string",
"description": "The unique identifier for the recruiter who created the workflow."
}
},
"required": {
"0": "recruiterUserId"
},
"description": "Details of the recruiter who created the workflow."
},
"workflowId": {
"type": "string",
"description": "The unique identifier for the workflow."
},
"activeStagesCount": {
"type": "integer",
"description": "The number of active stages in the workflow."
}
},
"required": {
"0": "workflowName",
"1": "createdDate",
"2": "updatedDate",
"3": "stages",
"4": "createdByRecruiterInfo",
"5": "workflowId",
"6": "activeStagesCount"
},
"description": "Details of an individual workflow within the array."
},
"description": "An array containing details of workflows."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp",
"3": "pagination",
"4": "data"
},
"description": "Response object for a successful fetch of workflows."
}
]
204 response
copied![
{
"type": "object",
"description": "Response indicating no data has been found.",
"properties": {}
}
]
400 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status of the error response."
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the error occurred."
},
"errorAPI": {
"type": "string",
"description": "The API or endpoint associated with the error."
},
"message": {
"type": "string",
"description": "A descriptive error message."
}
},
"description": "Details of an individual error within the array."
},
"description": "An array containing details of errors."
}
},
"description": "Error response object for a bad request."
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | GetAllWorkflowResponse |
204 | 204 response | NoContentResponse |
400 | 400 response | BadRequestError |
post
copied!# You can also use wgetcurl -X POST https://api.phenom.com//projects-api/v1/workflows
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
POST /projects-api/v1/workflows
This API allows you to create a workflow.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"workflowName": {
"type": "string",
"description": "Name of the workflow to be created."
},
"stages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the workflow stage."
},
"statusCode": {
"type": "string",
"description": "Status code associated with the workflow stage."
},
"statusId": {
"type": "string",
"description": "ID associated with the status of the workflow stage."
},
"isRejectionStage": {
"type": "boolean",
"description": "Boolean indicating whether the stage is a rejection stage."
},
"isFinalStage": {
"type": "boolean",
"description": "Boolean indicating whether the stage is a final stage."
},
"furtherTransitionStages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the further transition stage."
},
"statusCode": {
"type": "string",
"description": "Status code associated with the further transition stage."
}
},
"required": {
"0": "name",
"1": "statusCode"
}
},
"description": "Array of objects representing further transition stages."
}
},
"required": {
"0": "name",
"1": "statusCode",
"2": "statusId",
"3": "isRejectionStage",
"4": "isFinalStage"
}
},
"description": "Array of objects representing workflow stages."
}
},
"required": {
"0": "workflowName",
"1": "stages"
},
"description": "Object representing the request to create a workflow."
}
]
Request Parameters
Type | Name |
---|---|
application/json | CreateWorkflowRequest |
Response
201 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status of the creation response."
},
"message": {
"type": "string",
"description": "A descriptive message associated with the creation response."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the creation response occurred."
},
"id": {
"type": "string",
"description": "The identifier associated with the created entity."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp",
"3": "id"
},
"description": "Creation response object."
}
]
400 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status of the error response."
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the error occurred."
},
"errorAPI": {
"type": "string",
"description": "The API or endpoint associated with the error."
},
"message": {
"type": "string",
"description": "A descriptive error message."
}
},
"description": "Details of an individual error within the array."
},
"description": "An array containing details of errors."
}
},
"description": "Error response object for a bad request."
}
]
500 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status of the internal server error response."
},
"message": {
"type": "string",
"description": "A descriptive message associated with the internal server error."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the internal server error occurred."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "Internal server error response object."
}
]
Responses
Status | Description | Schema |
---|---|---|
201 | 201 response | CreationResponse |
400 | 400 response | BadRequestError |
500 | 500 response | InternalServerError |
delete
copied!# You can also use wgetcurl -X DELETE https://api.phenom.com//projects-api/v1/workflows/{workflowId}
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
DELETE /projects-api/v1/workflows/{workflowId}
This API deletes the workflow of a given workflow id.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
workflowId | path | string | true |
Response
200 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Status of the response."
},
"message": {
"type": "string",
"description": "Message associated with the response."
},
"timestamp": {
"type": "string",
"description": "Timestamp of the response."
}
},
"description": "Response confirming the deletion of a workflow."
}
]
404 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status of the not found error response."
},
"message": {
"type": "string",
"description": "A descriptive message associated with the not found error."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the not found error occurred."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "Not found error response object."
}
]
500 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status of the internal server error response."
},
"message": {
"type": "string",
"description": "A descriptive message associated with the internal server error."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the internal server error occurred."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "Internal server error response object."
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | DeleteWorkflowResponse |
404 | 404 response | NotFoundError |
500 | 500 response | InternalServerError |
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//projects-api/v1/workflows/{workflowId}
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
GET /projects-api/v1/workflows/{workflowId}
This API retrieves all the details of a workflow using its unique workflow ID.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
workflowId | path | string | true |
Response
200 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Status of the response."
},
"message": {
"type": "string",
"description": "Message associated with the response."
},
"timestamp": {
"type": "string",
"description": "Timestamp of the response."
},
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"workflowName": {
"type": "string",
"description": "Name of the workflow."
},
"createdDate": {
"type": "string",
"description": "Timestamp when the workflow was created."
},
"updatedDate": {
"type": "string",
"description": "Timestamp when the workflow was last updated."
},
"stages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the workflow stage."
},
"statusCode": {
"type": "string",
"description": "Status code of the workflow stage."
},
"statusId": {
"type": "string",
"description": "ID of the workflow stage."
},
"externalIntegrations": {
"type": "array",
"items": {
"type": "object",
"properties": {
"integrationType": {
"type": "string",
"description": "Name of the integration."
},
"type": {
"type": "string",
"description": "Type of the integration."
},
"name": {
"type": "string",
"description": "Name of the category."
}
},
"description": "External Integrations Details."
}
},
"furtherTransitionStages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the further transition stage."
},
"statusCode": {
"type": "string",
"description": "Status code of the further transition stage."
}
},
"required": {
"0": "name",
"1": "statusCode"
},
"description": "Further transition stage details."
}
},
"isRejectionStage": {
"type": "boolean",
"description": "Indicates if the stage is a rejection stage."
},
"isFinalStage": {
"type": "boolean",
"description": "Indicates if the stage is a final stage."
},
"isDeletedStage": {
"type": "boolean",
"description": "Indicates if the stage is deleted."
}
},
"required": {
"0": "name",
"1": "statusCode",
"2": "statusId",
"3": "furtherTransitionStages",
"4": "isRejectionStage",
"5": "isFinalStage",
"6": "isDeletedStage"
},
"description": "Workflow stage details."
}
},
"createdByRecruiterInfo": {
"type": "object",
"properties": {
"recruiterUserId": {
"type": "string",
"description": "ID of the recruiter who created the workflow."
}
},
"required": {
"0": "recruiterUserId"
},
"description": "Information about the recruiter who created the workflow."
},
"workflowId": {
"type": "string",
"description": "ID of the workflow."
},
"associatedProjects": {
"type": "array",
"items": {
"type": "object",
"properties": {
"projectId": {
"type": "string",
"description": "ID of the associated project."
},
"projectName": {
"type": "string",
"description": "Name of the associated project."
}
},
"required": {
"0": "projectId",
"1": "projectName"
},
"description": "Details of the associated project."
}
},
"updatedByRecruiterInfo": {
"type": "object",
"properties": {
"recruiterUserId": {
"type": "string",
"description": "ID of the recruiter who last updated the workflow."
}
},
"required": {
"0": "recruiterUserId"
},
"description": "Information about the recruiter who last updated the workflow."
}
},
"required": {
"0": "workflowName",
"1": "createdDate",
"2": "updatedDate",
"3": "stages",
"4": "createdByRecruiterInfo",
"5": "workflowId",
"6": "associatedProjects",
"7": "updatedByRecruiterInfo"
},
"description": "Details of a workflow."
}
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp",
"3": "data"
},
"description": "Response containing information about workflows."
}
]
404 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status of the not found error response."
},
"message": {
"type": "string",
"description": "A descriptive message associated with the not found error."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the not found error occurred."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "Not found error response object."
}
]
500 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status of the internal server error response."
},
"message": {
"type": "string",
"description": "A descriptive message associated with the internal server error."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the internal server error occurred."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "Internal server error response object."
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | GetWorkflowResponse |
404 | 404 response | NotFoundError |
500 | 500 response | InternalServerError |
put
copied!# You can also use wgetcurl -X PUT https://api.phenom.com//projects-api/v1/workflows/{workflowId}
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
PUT /projects-api/v1/workflows/{workflowId}
This API is used to replace Workflow based on WorkflowId
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"workflowName": {
"type": "string",
"description": "Name of the workflow."
},
"stages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the workflow stage."
},
"statusCode": {
"type": "string",
"description": "Status code of the workflow stage."
},
"statusId": {
"type": "string",
"description": "Status ID of the workflow stage."
},
"furtherTransitionStages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the further transition stage."
},
"statusCode": {
"type": "string",
"description": "Status code of the further transition stage."
}
},
"required": {
"0": "name",
"1": "statusCode"
},
"description": "Information about further transition stages."
}
},
"isRejectionStage": {
"type": "boolean",
"description": "Flag indicating whether the stage is a rejection stage."
},
"isFinalStage": {
"type": "boolean",
"description": "Flag indicating whether the stage is a final stage."
},
"isDeletedStage": {
"type": "boolean",
"description": "Flag indicating whether the stage is deleted."
}
},
"required": {
"0": "name",
"1": "statusCode",
"2": "statusId"
},
"description": "Information about the workflow stage."
}
}
},
"required": {
"0": "workflowName",
"1": "stages"
},
"description": "Object representing the request to replace a workflow."
}
]
Parameters
Name | In | Type | Required |
---|---|---|---|
workflowId | path | string | true |
Request Parameters
Type | Name |
---|---|
application/json | ReplaceWorkflowRequest |
Response
200 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Status of the response."
},
"message": {
"type": "string",
"description": "Message associated with the response."
},
"timestamp": {
"type": "string",
"description": "Timestamp of the response."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "Response confirming the update of a workflow."
}
]
400 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status of the error response."
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the error occurred."
},
"errorAPI": {
"type": "string",
"description": "The API or endpoint associated with the error."
},
"message": {
"type": "string",
"description": "A descriptive error message."
}
},
"description": "Details of an individual error within the array."
},
"description": "An array containing details of errors."
}
},
"description": "Error response object for a bad request."
}
]
404 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status of the not found error response."
},
"message": {
"type": "string",
"description": "A descriptive message associated with the not found error."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the not found error occurred."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "Not found error response object."
}
]
500 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status of the internal server error response."
},
"message": {
"type": "string",
"description": "A descriptive message associated with the internal server error."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the internal server error occurred."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "Internal server error response object."
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | UpdateWorkflowResponse |
400 | 400 response | BadRequestError |
404 | 404 response | NotFoundError |
500 | 500 response | InternalServerError |
patch
copied!# You can also use wgetcurl -X PATCH https://api.phenom.com//projects-api/v1/workflows/{workflowId}
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
PATCH /projects-api/v1/workflows/{workflowId}
This API is used to update a workflow using its unique workflowId
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"opType": {
"type": "string",
"description": "Operation type for updating the workflow."
},
"stages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the workflow stage."
}
},
"required": {
"0": "name"
}
},
"description": "Array of objects representing workflow stages to be updated."
}
},
"required": {
"0": "opType",
"1": "stages"
},
"description": "Object representing the request to update a workflow."
}
]
Parameters
Name | In | Type | Required |
---|---|---|---|
workflowId | path | string | true |
Request Parameters
Type | Name |
---|---|
application/json | UpdateWorkflowRequest |
Response
200 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Status of the response."
},
"message": {
"type": "string",
"description": "Message associated with the response."
},
"timestamp": {
"type": "string",
"description": "Timestamp of the response."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "Response confirming the update of a workflow."
}
]
400 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status of the error response."
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the error occurred."
},
"errorAPI": {
"type": "string",
"description": "The API or endpoint associated with the error."
},
"message": {
"type": "string",
"description": "A descriptive error message."
}
},
"description": "Details of an individual error within the array."
},
"description": "An array containing details of errors."
}
},
"description": "Error response object for a bad request."
}
]
404 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status of the not found error response."
},
"message": {
"type": "string",
"description": "A descriptive message associated with the not found error."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the not found error occurred."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "Not found error response object."
}
]
500 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status of the internal server error response."
},
"message": {
"type": "string",
"description": "A descriptive message associated with the internal server error."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the internal server error occurred."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "Internal server error response object."
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | UpdateWorkflowResponse |
400 | 400 response | BadRequestError |
404 | 404 response | NotFoundError |
500 | 500 response | InternalServerError |
Projects
These APIs allows you to create, update and delete Projects.
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//projects-api/v1/projects
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
GET /projects-api/v1/projects
This API allows you to get projects with the specified searchKey.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
from | query | integer | false |
size | query | integer | false |
searchKey | query | string | false |
Response
200 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status of the response."
},
"message": {
"type": "string",
"description": "A descriptive message associated with the response status."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the response was generated."
},
"pagination": {
"type": "object",
"properties": {
"size": {
"type": "integer",
"description": "The number of items in the current page."
},
"from": {
"type": "integer",
"description": "The starting index of items in the current page."
},
"totalCount": {
"type": "integer",
"description": "The total number of items available."
}
},
"required": {
"0": "size",
"1": "from",
"2": "totalCount"
},
"description": "Pagination details for the response."
},
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"projectName": {
"type": "string",
"description": "The name of the project."
},
"projectId": {
"type": "string",
"description": "The unique identifier for the project."
},
"createdDate": {
"type": "string",
"description": "The date when the project was created."
},
"createdRecruiterInfo": {
"type": "object",
"properties": {
"recruiterUserId": {
"type": "string",
"description": "The unique identifier for the recruiter who created the project."
},
"recruiterName": {
"type": "string",
"description": "The name of the recruiter who created the project."
},
"recruiterEmail": {
"type": "string",
"description": "The email address of the recruiter who created the project."
}
},
"required": {
"0": "recruiterUserId",
"1": "recruiterName",
"2": "recruiterEmail"
},
"description": "Details of the recruiter who created the project."
},
"workflowId": {
"type": "string",
"description": "The unique identifier for the workflow associated with the project."
},
"workflowName": {
"type": "string",
"description": "The name of the workflow associated with the project."
}
},
"required": {
"0": "projectName",
"1": "projectId",
"2": "createdDate",
"3": "createdRecruiterInfo",
"4": "workflowId",
"5": "workflowName"
},
"description": "Details of an individual project within the array."
},
"description": "An array containing details of projects."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp",
"3": "pagination",
"4": "data"
},
"description": "Response object for a successful fetch of projects."
}
]
204 response
copied![
{
"type": "object",
"description": "Response indicating no data has been found.",
"properties": {}
}
]
400 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status of the error response."
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the error occurred."
},
"errorAPI": {
"type": "string",
"description": "The API or endpoint associated with the error."
},
"message": {
"type": "string",
"description": "A descriptive error message."
}
},
"description": "Details of an individual error within the array."
},
"description": "An array containing details of errors."
}
},
"description": "Error response object for a bad request."
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | GetAllProjectsResponse |
204 | 204 response | NoContentResponse |
400 | 400 response | BadRequestError |
post
copied!# You can also use wgetcurl -X POST https://api.phenom.com//projects-api/v1/projects
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
POST /projects-api/v1/projects
This API allows you to create a project.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"projectName": {
"type": "string",
"description": "Name of the project."
},
"projectDescription": {
"type": "string",
"description": "Description of the project."
},
"isConfidential": {
"type": "boolean",
"description": "Flag indicating whether the project is confidential."
},
"categoryList": {
"type": "array",
"items": {
"type": "object",
"properties": {
"internalCategoryId": {
"type": "string",
"description": "Internal category ID."
},
"category": {
"type": "string",
"description": "Category name."
}
},
"required": {
"0": "internalCategoryId",
"1": "category"
}
},
"description": "List of project categories."
},
"endDate": {
"type": "string",
"description": "End date of the project."
},
"hiringTeamList": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the team member."
},
"emailId": {
"type": "string",
"description": "Email ID of the team member."
},
"type": {
"type": "string",
"description": "Type of the team member."
},
"role": {
"type": "string",
"description": "Role of the team member."
},
"id": {
"type": "string",
"description": "ID of the team member."
}
},
"required": {
"0": "name",
"1": "emailId",
"2": "type",
"3": "role",
"4": "id"
}
},
"description": "List of hiring team members."
},
"projectAttachmentList": {
"type": "array",
"items": {
"type": "object",
"properties": {
"fileName": {
"type": "string",
"description": "Name of the attached file."
},
"description": {
"type": "string",
"description": "Description of the attached file."
},
"fileUrl": {
"type": "string",
"description": "URL of the attached file."
},
"uploadedByEmail": {
"type": "string",
"description": "Email of the user who uploaded the file."
},
"uploadedByName": {
"type": "string",
"description": "Name of the user who uploaded the file."
},
"size": {
"type": "integer",
"format": "int32",
"description": "Size of the attached file in bytes."
}
},
"required": {
"0": "fileName",
"1": "description",
"2": "fileUrl",
"3": "uploadedByEmail",
"4": "uploadedByName",
"5": "size"
}
},
"description": "List of project attachments."
},
"workflowId": {
"type": "string",
"description": "ID of the workflow associated with the project."
},
"workflowName": {
"type": "string",
"description": "Name of the workflow associated with the project."
},
"createdRecruiterInfo": {
"type": "object",
"properties": {
"recruiterName": {
"type": "string",
"description": "Name of the recruiter who created the project."
},
"recruiterEmail": {
"type": "string",
"description": "Email of the recruiter who created the project."
},
"recruiterUserId": {
"type": "string",
"description": "User ID of the recruiter who created the project."
}
},
"description": "Information about the recruiter who created the project."
},
"status": {
"type": "string",
"description": "Status of the project."
}
},
"required": {
"0": "projectName",
"1": "isConfidential",
"2": "hiringTeamList",
"3": "workflowId",
"4": "workflowName",
"5": "createdRecruiterInfo",
"6": "status"
},
"description": "Object representing the request to create a project."
}
]
Request Parameters
Type | Name |
---|---|
application/json | CreateProjectRequest |
Response
201 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status of the creation response."
},
"message": {
"type": "string",
"description": "A descriptive message associated with the creation response."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the creation response occurred."
},
"id": {
"type": "string",
"description": "The identifier associated with the created entity."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp",
"3": "id"
},
"description": "Creation response object."
}
]
400 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status of the error response."
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the error occurred."
},
"errorAPI": {
"type": "string",
"description": "The API or endpoint associated with the error."
},
"message": {
"type": "string",
"description": "A descriptive error message."
}
},
"description": "Details of an individual error within the array."
},
"description": "An array containing details of errors."
}
},
"description": "Error response object for a bad request."
}
]
500 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status of the internal server error response."
},
"message": {
"type": "string",
"description": "A descriptive message associated with the internal server error."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the internal server error occurred."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "Internal server error response object."
}
]
Responses
Status | Description | Schema |
---|---|---|
201 | 201 response | CreationResponse |
400 | 400 response | BadRequestError |
500 | 500 response | InternalServerError |
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//projects-api/v1/projects/{projectId}
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
GET /projects-api/v1/projects/{projectId}
This API retrieves all the details of a project using its unique project ID.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
projectId | path | string | true |
Response
200 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status of the response."
},
"message": {
"type": "string",
"description": "A descriptive message associated with the response status."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the response was generated."
},
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"projectName": {
"type": "string",
"description": "The name of the project."
},
"projectDescription": {
"type": "string",
"description": "The description of the project."
},
"projectId": {
"type": "string",
"description": "The unique identifier for the project."
},
"createdDate": {
"type": "string",
"description": "The date when the project was created."
},
"updatedDate": {
"type": "string",
"description": "The date when the project was last updated."
},
"endDate": {
"type": "string",
"description": "The end date of the project."
},
"status": {
"type": "string",
"description": "The status of the project."
},
"isConfidential": {
"type": "string",
"description": "Indicates whether the project is confidential."
},
"createdRecruiterInfo": {
"type": "object",
"properties": {
"recruiterUserId": {
"type": "string",
"description": "The unique identifier for the recruiter who created the project."
},
"recruiterName": {
"type": "string",
"description": "The name of the recruiter who created the project."
},
"recruiterEmail": {
"type": "string",
"description": "The email of the recruiter who created the project."
}
},
"description": "Details of the recruiter who created the project."
},
"updatedRecruiterInfo": {
"type": "object",
"properties": {
"recruiterUserId": {
"type": "string",
"description": "The unique identifier for the recruiter who last updated the project."
},
"recruiterName": {
"type": "string",
"description": "The name of the recruiter who last updated the project."
},
"recruiterEmail": {
"type": "string",
"description": "The email of the recruiter who last updated the project."
}
},
"description": "Details of the recruiter who last updated the project."
},
"workflowId": {
"type": "string",
"description": "The unique identifier for the workflow associated with the project."
},
"workflowName": {
"type": "string",
"description": "The name of the workflow associated with the project."
},
"brand": {
"type": "string",
"description": "The brand associated with the project."
},
"source": {
"type": "string",
"description": "The source of the project."
},
"hiringTeamList": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of a member in the hiring team."
},
"emailId": {
"type": "string",
"description": "The email address of a member in the hiring team."
},
"role": {
"type": "string",
"description": "The role of a member in the hiring team."
},
"id": {
"type": "string",
"description": "The unique identifier for a member in the hiring team."
},
"type": {
"type": "string",
"description": "The type of a member in the hiring team."
},
"pictureS3Url": {
"type": "string",
"description": "The URL of the picture of a member in the hiring team."
}
}
},
"description": "An array containing details of the hiring team for the project."
},
"categoryList": {
"type": "array",
"items": {},
"description": "An array containing details of categories associated with the project."
},
"projectAttachmentList": {
"type": "array",
"items": {},
"description": "An array containing details of attachments associated with the project."
},
"matchingCriteria": {
"type": "object",
"properties": {
"mustHaveSkills": {
"type": "array",
"items": {},
"description": "An array containing details of must-have skills for the project."
},
"goodToHaveSkills": {
"type": "array",
"items": {},
"description": "An array containing details of good-to-have skills for the project."
},
"locationList": {
"type": "array",
"items": {},
"description": "An array containing details of locations for the project."
},
"yearsOfExperience": {
"type": "object",
"properties": {
"min": {
"type": "number",
"description": "The minimum years of experience required for the project."
},
"max": {
"type": "number",
"description": "The maximum years of experience required for the project."
},
"unit": {
"type": "string",
"description": "The unit of years for the experience requirement (e.g., 'years')."
}
},
"description": "Details of the years of experience required for the project."
},
"distance": {
"type": "object",
"properties": {
"min": {
"type": "number",
"description": "The minimum distance for the project."
},
"max": {
"type": "number",
"description": "The maximum distance for the project."
},
"unit": {
"type": "string",
"description": "The unit of distance for the project (e.g., 'miles')."
}
},
"description": "Details of the distance for the project."
},
"similarJobTitle": {
"type": "string",
"description": "The similar job title for the project."
},
"idealCandidate": {
"type": "object",
"description": "Details of the ideal candidate for the project."
}
},
"description": "Details of the matching criteria for the project."
},
"categoryNames": {
"type": "array",
"items": {},
"description": "An array containing names of categories associated with the project."
},
"confidential": {
"type": "string",
"description": "Indicates whether the project is confidential."
},
"candidateInfos": {
"type": "array",
"items": {
"type": "object",
"properties": {
"userId": {
"type": "string",
"description": "The unique identifier for a candidate in the project."
},
"parentId": {
"type": "string",
"description": "The unique identifier for the parent of the candidate in the project."
}
},
"required": {
"0": "userId",
"1": "parentId"
},
"description": "Details of a candidate in the project."
},
"description": "An array containing details of candidates associated with the project."
}
},
"required": {
"0": "projectName",
"1": "projectDescription",
"2": "projectId",
"3": "createdDate",
"4": "updatedDate",
"5": "endDate",
"6": "status",
"7": "isConfidential",
"8": "createdRecruiterInfo",
"9": "updatedRecruiterInfo",
"10": "workflowId",
"11": "workflowName",
"12": "brand",
"13": "source",
"14": "hiringTeamList",
"15": "categoryList",
"16": "projectAttachmentList",
"17": "matchingCriteria",
"18": "categoryNames",
"19": "confidential",
"20": "candidateInfos"
},
"description": "Details of an individual project within the array."
},
"description": "An array containing details of projects."
}
},
"description": "Response object for a successful fetch of projects."
}
]
404 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status of the not found error response."
},
"message": {
"type": "string",
"description": "A descriptive message associated with the not found error."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the not found error occurred."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "Not found error response object."
}
]
500 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status of the internal server error response."
},
"message": {
"type": "string",
"description": "A descriptive message associated with the internal server error."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the internal server error occurred."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "Internal server error response object."
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | GetProjectsResponse |
404 | 404 response | NotFoundError |
500 | 500 response | InternalServerError |
patch
copied!# You can also use wgetcurl -X PATCH https://api.phenom.com//projects-api/v1/projects/{projectId}
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
PATCH /projects-api/v1/projects/{projectId}
This API allows you to update project with the specified projectId.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"projectName": {
"type": "string",
"description": "Updated name of the project."
},
"projectDescription": {
"type": "string",
"description": "Updated description of the project."
},
"isConfidential": {
"type": "boolean",
"description": "Flag indicating whether the project is confidential."
},
"categoryList": {
"type": "array",
"items": {
"type": "object",
"properties": {
"internalCategoryId": {
"type": "string",
"description": "Internal category ID."
},
"category": {
"type": "string",
"description": "Updated category name."
}
},
"required": {
"0": "internalCategoryId",
"1": "category"
}
},
"description": "Updated list of project categories."
},
"endDate": {
"type": "string",
"description": "Updated end date of the project."
},
"updatedRecruiterInfo": {
"type": "object",
"properties": {
"recruiterName": {
"type": "string",
"description": "Updated name of the recruiter."
},
"recruiterEmail": {
"type": "string",
"description": "Updated email of the recruiter."
},
"recruiterUserId": {
"type": "string",
"description": "Updated user ID of the recruiter."
}
},
"description": "Updated information about the recruiter who updated the project."
},
"candidateInfos": {
"type": "array",
"items": {
"type": "object",
"properties": {
"userId": {
"type": "string",
"description": "ID of the candidate to be added or updated in the project."
}
},
"required": {
"0": "userId"
}
},
"description": "List of candidate information to be added or updated in the project."
}
},
"description": "Object representing the request to update a project."
}
]
Parameters
Name | In | Type | Required |
---|---|---|---|
projectId | path | string | true |
Request Parameters
Type | Name |
---|---|
application/json | UpdateProjectRequest |
Response
200 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Status of the update operation."
},
"message": {
"type": "string",
"description": "Additional message providing information about the update operation."
},
"timestamp": {
"type": "string",
"description": "Timestamp indicating when the update response was generated."
}
},
"required": {
"0": "status",
"1": "timestamp"
},
"description": "Object representing the response to a project update operation."
}
]
404 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status of the not found error response."
},
"message": {
"type": "string",
"description": "A descriptive message associated with the not found error."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the not found error occurred."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "Not found error response object."
}
]
500 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status of the internal server error response."
},
"message": {
"type": "string",
"description": "A descriptive message associated with the internal server error."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the internal server error occurred."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "Internal server error response object."
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | UpdateProjectResponse |
404 | 404 response | NotFoundError |
500 | 500 response | InternalServerError |
Candidates
These APIs allows you to add, update and delete candidates from Projects.
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//projects-api/v1/candidates/{candidateId}/project-activities
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
GET /projects-api/v1/candidates/{candidateId}/project-activities
This API allows you to get all the Project 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": "Status of the response."
},
"message": {
"type": "string",
"description": "Message associated with the response."
},
"timestamp": {
"type": "string",
"description": "Timestamp of the response."
},
"pagination": {
"type": "object",
"properties": {
"size": {
"type": "number",
"description": "Number of items in the response."
},
"from": {
"type": "number",
"description": "Start index of the items in the response."
},
"totalCount": {
"type": "number",
"description": "Total count of items available."
}
},
"required": {
"0": "size",
"1": "from",
"2": "totalCount"
},
"description": "Pagination information."
},
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"recruitersUserId": {
"type": "string",
"description": "User ID of the recruiter."
},
"candidateId": {
"type": "string",
"description": "ID of the candidate."
},
"projectName": {
"type": "string",
"description": "Name of the project."
},
"projectId": {
"type": "string",
"description": "ID of the project."
},
"actionType": {
"type": "string",
"description": "Type of the action."
},
"actionValue": {
"type": "string",
"description": "Value associated with the action."
},
"createdDate": {
"type": "string",
"description": "Timestamp of when the activity was created."
},
"scopeAttr": {
"type": "object",
"properties": {
"scopeId": {
"type": "string",
"description": "ID associated with the scope."
}
},
"required": {
"0": "scopeId"
},
"description": "Scope attribute information."
},
"recruiterName": {
"type": "string",
"description": "Name of the recruiter."
}
},
"required": {
"0": "recruitersUserId",
"1": "candidateId",
"2": "projectName",
"3": "projectId",
"4": "actionType",
"5": "actionValue",
"6": "createdDate",
"7": "scopeAttr",
"8": "recruiterName"
},
"description": "Information about a project activity."
}
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp",
"3": "pagination",
"4": "data"
},
"description": "Response containing information about project activities."
}
]
204 response
copied![
{}
]
400 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status of the error response."
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the error occurred."
},
"errorAPI": {
"type": "string",
"description": "The API or endpoint associated with the error."
},
"message": {
"type": "string",
"description": "A descriptive error message."
}
},
"description": "Details of an individual error within the array."
},
"description": "An array containing details of errors."
}
},
"description": "Error response object for a bad request."
}
]
404 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status of the not found error response."
},
"message": {
"type": "string",
"description": "A descriptive message associated with the not found error."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the not found error occurred."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "Not found error response object."
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | GetProjectActivitiesResponse |
204 | 204 response | |
400 | 400 response | BadRequestError |
404 | 404 response | NotFoundError |
post
copied!# You can also use wgetcurl -X POST https://api.phenom.com//projects-api/v1/projects/{projectId}/candidates
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
POST /projects-api/v1/projects/{projectId}/candidates
This API allows you to assign Candidate to a project
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Body Parameter
copied![
{
"type": "object",
"properties": {
"projectName": {
"type": "string",
"description": "Name of the project to which candidates are being assigned."
},
"candidateInfos": {
"type": "array",
"items": {
"type": "object",
"properties": {
"userId": {
"type": "string",
"description": "User ID of the candidate being assigned to the project."
}
},
"required": {
"0": "userId"
}
},
"description": "List of candidate information objects."
}
},
"required": {
"0": "projectName",
"1": "candidateInfos"
},
"description": "Object representing the assignment of candidates to a project."
}
]
Parameters
Name | In | Type | Required |
---|---|---|---|
projectId | path | string | true |
Request Parameters
Type | Name |
---|---|
application/json | AssignCandidatesToProject |
Response
201 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Status of the response."
},
"message": {
"type": "string",
"description": "Message associated with the response."
},
"timestamp": {
"type": "string",
"description": "Timestamp of the response."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "Response containing information about the assignment of a candidate to a project."
}
]
400 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status of the error response."
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the error occurred."
},
"errorAPI": {
"type": "string",
"description": "The API or endpoint associated with the error."
},
"message": {
"type": "string",
"description": "A descriptive error message."
}
},
"description": "Details of an individual error within the array."
},
"description": "An array containing details of errors."
}
},
"description": "Error response object for a bad request."
}
]
500 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status of the internal server error response."
},
"message": {
"type": "string",
"description": "A descriptive message associated with the internal server error."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the internal server error occurred."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "Internal server error response object."
}
]
Responses
Status | Description | Schema |
---|---|---|
201 | 201 response | AssignCandidateToProjectResponse |
400 | 400 response | BadRequestError |
500 | 500 response | InternalServerError |
get
copied!# You can also use wgetcurl -X GET https://api.phenom.com//projects-api/v1/projects/{projectId}/candidates
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
GET /projects-api/v1/projects/{projectId}/candidates
This API allows you to get all CandidateIds for given Project.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
projectId | 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 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."
},
"pagination": {
"type": "object",
"properties": {
"size": {
"type": "number",
"description": "Number of candidateIds per page in the paginated response."
},
"from": {
"type": "number",
"description": "Index of the first candidateId in the current response."
},
"totalCount": {
"type": "number",
"description": "Total count of candidateIds."
}
},
"required": {
"0": "size",
"1": "from",
"2": "totalCount"
},
"description": "Pagination information for the response."
},
"data": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of strings containing candidateIds."
}
}
}
]
204 response
copied![
{
"type": "object",
"description": "Response indicating no data has been found.",
"properties": {}
}
]
400 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status indicating a bad request."
},
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"timestamp": {
"type": "string",
"description": "The timestamp when the error occurred."
},
"errorAPI": {
"type": "string",
"description": "The specific API error code or identifier."
},
"message": {
"type": "string",
"description": "A human readable error message describing the issue."
}
},
"required": {
"0": "timestamp",
"1": "errorAPI",
"2": "message"
},
"description": "Details of an individual error within the array."
}
}
},
"required": {
"0": "status",
"1": "errors"
},
"description": "Response object for a bad request, containing details about errors."
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | GetProjectAssociationsResponse |
204 | 204 response | NoContentResponse |
400 | 400 response | BadRequest |
delete
copied!# You can also use wgetcurl -X DELETE https://api.phenom.com//projects-api/v1/projects/{projectId}/candidates/{candidateId}
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
-H 'x-ph-userid: string'
DELETE /projects-api/v1/projects/{projectId}/candidates/{candidateId}
This API allows you to delete Candidate from a project
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
x-ph-userid | header | string | true |
Parameters
Name | In | Type | Required |
---|---|---|---|
projectId | path | string | true |
candidateId | path | string | true |
Response
200 response
copied![
{
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "A message related to the deletion of the candidate from the project."
}
},
"required": {
"0": "message"
},
"description": "Response containing information about the deletion of a candidate from a project."
}
]
500 response
copied![
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "The status of the internal server error response."
},
"message": {
"type": "string",
"description": "A descriptive message associated with the internal server error."
},
"timestamp": {
"type": "string",
"description": "The timestamp indicating when the internal server error occurred."
}
},
"required": {
"0": "status",
"1": "message",
"2": "timestamp"
},
"description": "Internal server error response object."
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | DeleteCandidateFromProject |
500 | 500 response | InternalServerError |
Prediction
An API that predicts skills based on job titles and provided skill sets.
post
copied!# You can also use wgetcurl -X POST https://api.phenom.com//prediction/v1/skills
-H 'Content-type: application/json'
-H 'Accept: application/json'
-H 'Authorization: string'
POST /prediction/v1/skills
An API that predicts skills based on job titles and provided skill sets.
Headers
Name | In | Type | Required |
---|---|---|---|
Authorization | header | string | true |
Body Parameter
copied![
{
"type": "object",
"description": "Request object to get matching skills for given details.",
"properties": {
"titles": {
"title": "Titles",
"type": "array",
"description": "Titles' List.",
"items": {
"type": "string",
"description": "List of titles."
}
},
"skills": {
"title": "Skills",
"type": "array",
"description": "Skills' List.",
"items": {
"type": "string",
"description": "List of skills."
}
},
"size": {
"title": "Size",
"type": "integer",
"description": "Size of skills to return."
},
"source": {
"title": "Source",
"description": "Source.",
"type": "string"
}
}
}
]
Request Parameters
Type | Name |
---|---|
application/json | SkillPredictionRequest |
Response
200 response
copied![
{
"required": {
"0": "status"
},
"description": "Skills prediction response.",
"type": "object",
"properties": {
"status": {
"title": "Status",
"description": "Status of response.",
"type": "string"
},
"totalHits": {
"title": "Totalhits",
"description": "Total number of hits.",
"type": "integer"
},
"data": {
"SkillResults": {
"type": "object",
"description": "Predicted Skills.",
"properties": {
"results": {
"title": "Results",
"type": "array",
"description": "Results details.",
"items": {
"SkillResult": {
"type": "object",
"description": "Details of skills.",
"properties": {
"score": {
"title": "Score",
"description": "Matching score of a skill.",
"type": "number",
"format": "double"
},
"skill": {
"title": "Skill",
"description": "Matching skill.",
"type": "string"
}
}
}
}
}
}
}
}
}
}
]
Bad Request
copied![
{
"description": "Bad request details.",
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Status of bad request."
},
"message": {
"type": "string",
"description": "Bad request message."
}
}
}
]
Server Error
copied![
{
"type": "object",
"description": "Error response details.",
"properties": {
"status": {
"type": "string",
"description": "Status of encountered error."
},
"message": {
"type": "string",
"description": "Error message."
}
}
}
]
Responses
Status | Description | Schema |
---|---|---|
200 | 200 response | SkillPredictionResponse |
400 | Bad Request | BadRequest |
500 | Server Error | ErrorResponse |