Exelare API Documentation
Exelare API Documentation
Technical Specifications
Summary
This document is intended to provide an overview of required data structure to retrieve, create and
update entities (Contacts, Consultants or Jobs) using Exelare API (API).
There are 3 parties involved in this process: Exelare (a company which provides an API for creating
and updating entities), Client (a company which uses Exelare as its ATS) and Integrator (a company
which provides record feed to a Client through restful API).
To Clients:
Clients wishing to integrate their database with Integrator’s records must have a dedicated
license for using API.
Client and Integrator have to make an agreement on the list of fields for each record (jobs,
contacts or candidates) to be sent to API.
Client has to provide agreed list of fields for records to Exelare by sending an email to
support@cbizsoft.com with Subject: “Exelare Restful API Integration Fields”
Exelare support team will prepare all requested fields in Exelare within 3-4 business days
and update Client and Integrator on the readiness of the API endpoints.
To Integrators:
Client and Integrator have to make an agreement on the list of fields to be sent to API.
All requests MUST be sent using HTTP POST command to corresponding a corresponding API
endpoint. Each API endpoint represents a particular operation on Exelare. Note, there is a
throttling limit of 20 requests per minute.
All requests must be sent in JSON format to above API endpoint. Similarly, all responses will
be generated in JSON format.
Details of using API and accomplishing specific tasks on API are described below in this
documentation.
Request Fields
Field Name Required? Data Type Description
CompanyID Required Varchar(40) Client’s CompanyID provided by Exelare
Username Required Varchar(80) Client’s Username provided by Exelare
Password Required Varchar(80) Client’s Password provided by Exelare
EntityID Required Entity “Consultants” – for candidates,
“Requirements” – for jobs,
“Contacts” – for contacts,
Which Required ViewType “DView” or “SView”. Use “DView” for query, and
“SView” for saved lists.
WhichID Required ViewName For candidates use “All”, “Active”, or consult
with Exelare support for custom views
For jobs use “Open”, “Closed”, “All”, or consult
with Exelare support for custom views
PageSize Required Integer Number of records per page. Any number
between 1 and 20.
PageNumber Required Integer Page number starting from 1.
FilterBy Optional Array<Filter> Collection of filters. If not provided, it returns all
records. See Filter for details
OrderBy Optional Array<Order> Collection of fields to sort by. If not provided,
sorted by the ID of the record. See Order for
details.
Filter Fields
Field Name Required? Data Type Description
FieldName Required Varchar(80) Field name of an entity to be filtered by. For
example, “Consultants.JobTitle”. Check candidate
or other corresponding entity’s fields for details.
Type Required Varchar(20) Filter condition: use “=” for equality, “>” for
greater than, “<” for less than, “Like” for wildcard
search, “Between” for range search
FieldValue1 Required Varchar(255) Filter value. All string values must be wrapped
with a single quote. For example, “Java” should
be passed as “’Java’”.
If filter condition is set to “Like”, wildcard
character “%” can be used to search. For
example, “’Java%’” will return all values which
start with “Java”.
FieldValue2 Optional Varchar(255) It must be used only when filter condition is set
to “Between”
Order Fields
Field Name Required? Data Type Description
FieldName Required Varchar(80) Field name of an entity to be filtered by. For
example, “Consultants.JobTitle”. Check candidate
or other corresponding entity’s fields for details.
Order Optional Varchar(20) Default is “Asc” for ascending order, or “Desc” for
a descending order.
Response Fields
Field Name Data Type Description
CompanyID Varchar(80) Client’s CompanyID provided by Exelare
Username Varchar(80) Client’s Username provided by Exelare
EntityID Entity “Consultants” – for candidates,
“Requirements” – for jobs,
“Contacts” – for contacts,
Which ViewType “DView” or “SView”. Use “DView” for query, and “SView” for
saved lists.
WhichID ViewName For candidates use “All”, “Active”, or consult with Exelare
support for custom views
For jobs use “Open”, “Closed”, “All”, or consult with Exelare
support for custom views
Records Array<Record> An array of candidate, job, contact or company records. Check
corresponding entity fields for details
RecordCount Integer Total number of records found
PageSize Integer Number of records per page. Any number between 1 and 20.
PageNumber Integer Page number starting from 1.
IsError Boolean Does submission contain any error?
ErrorMsg Text Error message related to submission.
Request Fields
Field Name Required? Data Type Description
CompanyID Required Varchar(40) Client’s CompanyID provided by Exelare
Username Required Varchar(80) Client’s Username provided by Exelare
Response Fields
Field Name Data Type Description
CompanyID Varchar(80) Client’s CompanyID provided by Exelare
Username Varchar(80) Client’s Username provided by Exelare
EntityID Entity “Consultants” – for candidates,
“Requirements” – for jobs,
“Contacts” – for contacts,
“Company” – for companies
ItemIntID Varchar(10) Unique ID of a record to be viewed
Record Record Fields and values of a selected record. Check corresponding
entity for details
IsError Boolean Does submission contain any error?
ErrorMsg Text Error message related to submission.
Sample Request:
{
"CompanyID": "cbiz_demo ",
"Username": "username",
"Password": "password",
"EntityID": "Consultants",
"ItemIntID":"CS00016166",
}
Sample Response:
{
"EntityID": "Consultants",
"Record": {
"ConsIntID": "CS00016166",
"ConsultantID": "Andy C",
"Title": "",
"FirstName": "Andy",
"MiddleName": "",
"LastName": "Chang",
"Suffix": "",
"NickName": "",
"DisplayName": "Andy Chang",
"JobTitle": "Java Developer",
"CompanyName": "Kaplan Inc.",
//more fields
},
"CompanyID": "cbiz_demo",
"Username": "username",
"IsError": false,
"ErrorMsg": ""
}
Creating/Updating Jobs
Below table provides important information about job fields that are used in Exelare and their
expected values. Requests should be sent to following API endpoint:
https://exelareweb.com/ExelareJobsAPI/api/jobs
Job Fields
Field Name Required? Data Type Description
ApiSourceID Required Varchar(50) External source ID (or Integrator’s own ID) for
posted job
ApiSourceName Required Varchar(50) External source name (or Integrator’s name) for
posted job
ReqIntID Required Varchar(10) Exelare’s ID of posted job.
(if job was If job is new and has not been sent to EJAPI
sent to before, then ReqIntID should be omitted. EJAPI
Exelare will create a new job in Exelare, and return
before) ReqIntID for this job in its response.
If job has been sent to EJAPI before, then
ReqIntID should be included. Job will be
identified with provided ReqIntID in Exelare,
and its fields will be correspondingly updated.
Status Optional Varchar(80) This field denotes if job is currently open
(Default: (Active) or closed (Closed). Following are the
Active) valid values for this field:
Active
Hold
Closed
Qualified
Unqualified
JobTitle Required Varchar(60) Job title of the posted job
JobType Optional Varchar(40) This field stores the type of the job. Following
are the valid values for this field:
Contract
Full-time
PrimarySkills Optional Varchar(250) Primary skills of the job
Location Optional Varchar(120) Short info about the location of the job.
Address1 Optional Varchar(120) Address line of the job
Address2 Optional Varchar(120) Address line of the job
City Optional Varchar(120) City of the job
State Optional Varchar(120) State of the job
Country Optional Varchar(120) Country of the job
(Default:
US)
ZipCode Optional Varchar(40) Zip Code or postal code of the job.
StartDate Optional DateTime Start date of the job.
Date is in “MM/DD/YYYY” format.
ClosedDate Optional DateTime Closed date of the job. If this field is set, job is
considered as Closed in Exelare.
Date in “MM/DD/YYYY” format.
Description Optional Text Detailed description of the job
NumberOfOpenings Optional Integer Number of positions available for posted job
SecurityClearance Optional Varchar(20) This field takes following values: Yes, No
VisaStatus Optional Varchar(40) This field contains info about visa requirements
of the job. Following are the valid values for this
field:
Business
Citizen
CPT
EAD
F1
Green Card
H1-B
L1/L2
OPT
TN
Rate Optional Varchar(80) Payment rate for the job described in words
PayRate Optional Money Payment rate for the job described in figures
PayRateType Optional Varchar(80) This field contains info about payment
frequency. Following are the valid values for
this field:
Daily
Hourly
Bi-weekly
Weekly
Monthly
Yearly
Categories Optional Varchar(40) This field contains info about the origin of the
job. Following are the valid values for this field:
Client
Partner
Subcontractor
Vendor
Industry Optional Varchar(250) This field contains info about the industry in
which job was announced.
Contact Fields
Field Name Required? Data Type Description
FirstName Required Varchar(40) First name of the contact linked to given job
LastName Required Varchar(40) Last name of the contact linked to given job
CompanyName Required Varchar(80) Company in which the contact works
Request Fields
Field Name Required? Data Type Description
BatchID Required Varchar(40) A unique identifier of the request. Response will
include this identifier.
CompanyID Required Varchar(40) Client’s CompanyID provided by Exelare
Username Required Varchar(80) Client’s Username provided by Exelare
Response Fields
Field Name Data Type Description
BatchID Varchar(80) A unique identifier of sent with the request.
CompanyID Varchar(80) Client’s CompanyID provided by Exelare
Username Varchar(80) Client’s Username provided by Exelare
JobStatuses JobStatus Update status of posted job
IsError Boolean Does submission contain any error?
ErrorMsg Text Error message related to submission.
JobStatus Fields
Field Name Data Type Description
ReqIntID Varchar(10) Exelare’s ID for posted job
ApiSourceID Varchar(50) External (or Integrator’s) ID for posted job
ApiSourceName Varchar(50) External (or Integrator’s) name for posted job
IsNew Boolean Was posted job new or not?
IsClosed Boolean Was posted job open or closed?
IsError Boolean Does job contain any error?
ErrorMsg Text Error message related to job
Creating/Updating Contacts
Below table provides important information about contact fields that are used in Exleare and their
expected values. Requests should be sent to following API endpoint:
https://exelareweb.com/ExelareJobsAPI/api/contacts
Contact Fields
Field Name Required? Data Type Description
ApiSourceID Required Varchar(50) External source ID (or Integrator’s own ID) for
posted contact
ApiSourceName Required Varchar(50) External source name (or Integrator’s name) for
posted contact
ContactIntID Required Varchar(10) Exelare’s ID of posted contact.
(if contact If contact is new and has not been sent to ExAPI
was sent before, then ContactIntID should be omitted.
to Exelare ExAPI will create a new contact in Exelare, and
before) return ContactIntID for this contact in its
response.
If contact has been sent to ExAPI before, then
ContactIntID should be included. Contact will
be identified with provided ContactIntID in
Exelare, and its fields will be correspondingly
updated.
FirstName Required Varchar(40) FirstName of the posted contact
LastName Required Varchar(40) LastName of the posted contact
MiddleName Optional Varchar(20) MiddleName of the posted contact
CompanyName Optional Varchar(80) Company Name where contact works
JobTitle Optional Varchar(60) Job title of the contact in company
Address1 Optional Varchar(120) Contact’s address line 1
Address2 Optional Varchar(120) Contact’s address line 1
City Optional Varchar(120) Contact’s city
State Optional Varchar(120) Contact’s state
Country Optional Varchar(120) Contact’s country
(Default:
US)
ZipCode Optional Varchar(40) Zip Code or postal code of the contact
HomePhone Optional Varchar(24) Home phone of contact
CompanyPhone Optional Varchar(24) Company phone of contact
MobilePhone Optional Varchar(24) Mobile phone of contact
EMail1 Optional Varchar(80) Contact’s email address 1
EMail2 Optional Varchar(80) Contact’s email address 2
Categories Optional Varchar(40) This field contains info about the origin of the
job. Following are the valid values for this field:
Client
Partner
Subcontractor
Vendor
Request Fields
Field Name Required? Data Type Description
BatchID Required Varchar(40) A unique identifier of the request. Response will
include this identifier.
CompanyID Required Varchar(40) Client’s CompanyID provided by Exelare
Username Required Varchar(80) Client’s Username provided by Exelare
Response Fields
Field Name Data Type Description
BatchID Varchar(80) A unique identifier of sent with the request.
CompanyID Varchar(80) Client’s CompanyID provided by Exelare
Username Varchar(80) Client’s Username provided by Exelare
ContactStatuses ContactStatus Update status of posted contact
IsError Boolean Does submission contain any error?
ErrorMsg Text Error message related to submission.
Creating/Updating Candidates
Below table provides important information about contact fields that are used in Exleare and their
expected values. Requests should be sent to following API endpoint:
https://exelareweb.com/ExelareJobsAPI/api/candidates
Candidate Fields
Field Name Required? Data Type Description
ApiSourceID Required Varchar(50) External source ID (or Integrator’s own ID) for
posted candidate
ApiSourceName Required Varchar(50) External source name (or Integrator’s name) for
posted candidate
ConsIntID Required Varchar(10) Exelare’s ID of posted candidate.
(if If candidate is new and has not been sent to
candidate ExAPI before, then ConsIntID should be
was sent omitted. ExAPI will create a new candidate in
to Exelare Exelare, and return ConsIntID for this candidate
before) in its response.
If candidate has been sent to ExAPI before,
then ConsIntID should be included. Candidate
will be identified with provided ConsIntID in
Exelare, and its fields will be correspondingly
updated.
FirstName Required Varchar(40) FirstName of the posted candidate
LastName Required Varchar(40) LastName of the posted candidate
MiddleName Optional Varchar(20) MiddleName of the posted candidate
JobTitle Optional Varchar(60) Job title of the candidate
Address1 Optional Varchar(120) address line 1
Address2 Optional Varchar(120) address line 1
City Optional Varchar(120) city
State Optional Varchar(120) state
Country Optional Varchar(120) country
(Default:
US)
ZipCode Optional Varchar(40) Zip Code or postal code of the candidate
HomePhone Optional Varchar(24) Home phone of candidate
MobilePhone Optional Varchar(24) Mobile phone of candidate
EMail1 Optional Varchar(80) email address 1
EMail2 Optional Varchar(80) email address 2
Industry Optional varchar(250) Industry in which candidate works
BillRate Optional money Billing rate of candidate
PayRate Optional money Payment rate of candidate
Status Optional varchar(80) Employment status of candidate
Summary Optional ntext Summary of candidate
Notes Optional ntext Quick notes about candidate. Do not overwrite
this field while updating candidates. Instead,
you should append new notes to the existing
notes.
Archived Optional Boolean Is candidate archived? true/false
uuResumeText Optional ntext Resume text
Categories Optional Varchar(40) This field contains info about the origin of the
job. Following are the valid values for this field:
Client
Partner
Subcontractor
Vendor
Employment History
This field is an array of employment records of a candidate.
Education History
This field is an array of education records of a candidate.
Request Fields
Field Name Required? Data Type Description
BatchID Required Varchar(40) A unique identifier of the request. Response will
include this identifier.
CompanyID Required Varchar(40) Client’s CompanyID provided by Exelare
Username Required Varchar(80) Client’s Username provided by Exelare
Response Fields
Field Name Data Type Description
BatchID Varchar(80) A unique identifier of sent with the request.
CompanyID Varchar(80) Client’s CompanyID provided by Exelare
Username Varchar(80) Client’s Username provided by Exelare
CandidateStatuses CandidateStatus Update status of posted candidate
IsError Boolean Does submission contain any error?
ErrorMsg Text Error message related to submission.
Request Fields
Field Name Required? Data Type Description
CompanyID Required Varchar(40) Client’s CompanyID provided by Exelare
Username Required Varchar(80) Client’s Username provided by Exelare
Sample Request:
{
"CompanyID": "cbiz_test",
"Username": "test",
"Password": "test",
"ConsIntID":"CS00016221"
}
Sample Response:
{
"ConsIntID": "CS00016221",
"FileName": "resume.docx",
"FileContent": "UEsDBBQACAgIAJihK0gAAAAAAAAAAAAAAAASAAAAd29…",
"CompanyID": "cbiz_test",
"Username": "test",
"IsError": false,
"ErrorMsg": ""
}
Request Fields
Field Name Required? Data Type Description
CompanyID Required Varchar(40) Client’s CompanyID provided by Exelare
Username Required Varchar(80) Client’s Username provided by Exelare
Response Fields
Field Name Data Type Description
CompanyID Varchar(80) Client’s CompanyID provided by Exelare
Username Varchar(80) Client’s Username provided by Exelare
ConsIntID Varchar(10) Unique ID of a candidate
IsError Boolean Does submission contain any error?
ErrorMsg Text Error message related to submission.
Sample Request:
{
"CompanyID": "cbiz_test",
"Username": "test",
"Password": "test",
"ConsIntID":"CS00016221",
"FileName": "resume.docx",
"FileContent": "UEsDBBQACAgIAJihK0gAAAAAAAAAAAAAAAASAAAAd29…",
}
Sample Response:
{
"ConsIntID": "CS00016221",
"CompanyID": "cbiz_test",
"Username": "test",
"IsError": false,
"ErrorMsg": ""
}
Request Fields
Field Name Required? Data Type Description
CompanyID Required Varchar(40) Client’s CompanyID provided by Exelare
Username Required Varchar(80) Client’s Username provided by Exelare
Response Fields
Field Name Data Type Description
CompanyID Varchar(80) Client’s CompanyID provided by Exelare
Username Varchar(80) Client’s Username provided by Exelare
ReqIntID Varchar(10) Unique ID of a job
CandidateStatus Status Confirmed job status of a candidate.
IsError Boolean Does submission contain any error?
ErrorMsg Text Error message related to submission.
Sample Request:
{
"CompanyID": "cbiz_demo",
"Username": "username",
"Password": "password",
"ConsIntID": "CS00016166",
"ReqIntID": "RQ00006810",
}
Sample Response:
{
"ReqIntID": "RQ00006810",
"CandidateStatus": {
"ConsIntID": "CS00016166",
"Status": "Potential"
},
"CompanyID": "cbiz_demo",
"Username": "test",
"IsError": false,
"ErrorMsg": ""
}
Request Fields
Field Name Required? Data Type Description
CompanyID Required Varchar(40) Client’s CompanyID provided by Exelare
Username Required Varchar(80) Client’s Username provided by Exelare
Response Fields
Field Name Data Type Description
CompanyID Varchar(80) Client’s CompanyID provided by Exelare
Username Varchar(80) Client’s Username provided by Exelare
ReqIntID Varchar(10) Unique ID of a job
CandidateStatuses Array<Status> Candidates and their current statuses for a given job
IsError Boolean Does submission contain any error?
ErrorMsg Text Error message related to submission.
Sample Request:
{
"CompanyID": "cbiz_demo",
"Username": "test",
"Password": "test",
"ReqIntID": "RQ00000340"
}
Sample Response:
{
"ReqIntID": "RQ00012786",
"CandidateStatuses": [
{
"ConsIntID": "CS00175577",
"Status": "Potential",
"DateAndTime": "2021-01-12T12:37:58"
},
{
"ConsIntID": "CS00174981",
"Status": "Received",
"DateAndTime": "2021-01-07T14:50:40"
},
{
"ConsIntID": "CS00174740",
"Status": "Received",
"DateAndTime": "2021-01-06T12:17:16"
},
{
"ConsIntID": "CS00174023",
"Status": "Received",
"DateAndTime": "2020-12-28T15:39:23"
}
],
"CompanyID": "cbiz_demo",
"Username": "test",
"IsError": false,
"ErrorMsg": ""
}
Request Fields
Field Name Required? Data Type Description
CompanyID Required Varchar(40) Client’s CompanyID provided by Exelare
Username Required Varchar(80) Client’s Username provided by Exelare
Response Fields
Field Name Data Type Description
CompanyID Varchar(80) Client’s CompanyID provided by Exelare
Username Varchar(80) Client’s Username provided by Exelare
ReqIntID Varchar(10) Unique ID of a job
CandidateStatus Status Confirmed job status of a candidate.
IsError Boolean Does submission contain any error?
ErrorMsg Text Error message related to submission.
Sample Request:
{
"CompanyID": "cbiz_demo",
"Username": "username",
"Password": "password",
"ConsIntID": "CS00016166",
"ReqIntID": "RQ00006810",
}
Sample Response:
{
"ReqIntID": "RQ00006810",
"CandidateStatus": {
"ConsIntID": "CS00016166",
"Status": "Rejected"
},
"CompanyID": "cbiz_demo",
"Username": "username",
"IsError": false,
"ErrorMsg": ""
}
Checking Duplicates by Email in Candidates and Contacts
Below request and response show how one can check if given person exists in client database. It
uses Email field to check duplicates. If the response returns corresponding ConsIntID (Consultants)
or ContactIntID (Contacts) per given email, this record exists in client’s database. If empty string is
returned, then this email does not exist in client database. Requests should be sent to following API
endpoint: https://exelareweb.com/ExelareJobsAPI/api/checkpeople