[email protected] 1.866.447.3933
Talent Technology Corporation Page 1
HireDesk API V1.0 Developer’s Guide
Revision 1.4
[email protected] 1.866.447.3933
Talent Technology Corporation Page 2
Audience
This document is intended for anyone who wants to understand, and use the Hiredesk API. If you just want to write code, you can download the sample code.
But you might want to read this anyway to understand what is going behind the scenes.
The document assumes that you understand the basics of Hiredesk application data, HTTP protocol, concept of resource in HTTP, XML, and namespaces. For more information about these see the references section of this document.
This document doesn’t use any particular programming language. You can use Hiredesk API using any language that allows you to send HTTP requests, and parse XML-based responses.
Overview
The Hiredesk API is implemented as REST web services. REST APIs consist of simple URLs describing resources, which can be manipulated using standard HTTP GET, POST calls. This means you can easily construct request URLs that will work in your code, and on the browser. To use the API, you construct the request URL and send it using appropriate HTTP verb. For example sending the following request will get details of candidate with ID 14531.
GET http://api.hiredesk.net/v1/candidates/14531?comp=MyCompnay
&sig=06AC897656E
Once you have the URL of a resource you can use standard HTTP verbs to
manipulate the resource. To query a resource you will use a HTTP GET request as shown above.
To create a new resource you will use HTTP POST request. For example the following request will create a new candidate. The details of the candidate will be supplied as post data in request body.
POST http://api.hiredesk.net/v1/candidates?comp=MyCompnay
&sig=06AC8979999
[email protected] 1.866.447.3933
Talent Technology Corporation Page 3
To update a resource send a HTTP PUT request to the resource URL. The updated data will be in the request body. The following example will update a candidate record.
PUT http://api.hiredesk.net/v1/candidates/14531?comp=MyCompnay
&sig=06AEF99821E
To delete resources you will use HTTP DELETE requests. To delete a candidate send a delete request as shown.
DELETE http://api.hiredesk.net/v1/candidates/14531?comp=MyCompnay
&sig=06A134421E
Turning on API access
Before you can use the API, you need to turn on API access in your Hiredesk system. Go to the system administration module, and under General settings/API section, select the APIs you need. For each API you can select read only access, read/write access, and delete access.
[email protected] 1.866.447.3933
Talent Technology Corporation Page 4
If you are turning on API access for the first time a secret key will be generated, and displayed on the screen. Note down your secret key and keep it secure. You will need the secret key to sign your API calls. Never share your secret key with anyone.
Anatomy of a request URL
All API requests are constructed as following
[Protocol identifier]://[Host name]/[API version]/[Resource identifier]?[Querystring parameters]
The protocol identifier is followed by the host name. The beginning of a request will look like http://api.hiredesk.net, where api.hiredesk.net is the host name. Your host name depends on which site your Hiredesk system is hosted, and may change.
The host name is returned as response to the authorization request. You should always retrieve the host name from the response to authorization request.
A version number follows the host name. All Hiredesk API URLs are versioned. This minimizes the impact of API changes on client side code. Generally new versions are designed to be backward compatible with older API revisions. However there might be occasions when we have to make an incompatible API change.
Additionally we may have to add additional fields. Depending on how the client side code is written, it might not handle the changes. Including a version number in the request URL guarantees that the request will receive the response it expects. A versioned URL looks like http://api.hiredesk.net/v1, where v1 is the version number.
Following the version number is the resource identifier. A resource identifier can be a resource name, or path to a resource. The following examples show different types of resource identifiers
/candidates, identifies all candidate records in the system. You will use it get a list of candidates.
/candidates/14531, identifies candidate record with ID 14531. You will use it to get details about the candidate, or to update the candidate record.
/candidates/14531/jobs, identifies all jobs candidate 14531 has applied. You will use it to get a list of all jobs the candidate has applied.
In most cases you won’t have to construct the resource identifiers. Resource identifiers will be returned in responses to queries. For example if you query for a list of candidates the response will contain URLs for the returned candidate records.
[email protected] 1.866.447.3933
Talent Technology Corporation Page 5
<?xml version="1.0" encoding="utf-8"?>
<Candidates ...>
<Candidate href=”http://api.hiredesk.net/v1/candidates/7330”>
<CandidateRecordInfo>
...
</CandidateRecordInfo>
...
</Candidate>
<Candidate href=”http://api.hiredesk.net/v1/candidates/12228”>
<CandidateRecordInfo>
...
</CandidateRecordInfo>
...
</Candidate>
...
</Candidates>
The last part of a request URL is a list of querystring parameters. Querystring parameters are used to control the response from a request e.g. paging, sorting, specifying response format etc. The parameters take the form argument=value, where the arguments and values are urlencoded. Multiple parameters are separated by an ampersand (&). The following is an example of querystring parameters.
?comp=MyCompany&results=30&start=21&sort=city&sig=FF32EBD4555 The API documentation for each request lists all of the mandatory and optional querystring parameters, in addition to describing the request and response structures.
Mandatory parameters
The following querystring parameters are mandatory for all requests. If these parameters are not supplied the request will be rejected.
Parameter Description
comp Your company short name as used to log in to the Hiredesk system
sig Signature of the request, constructed using your secret key, this must be the last parameter in the request
[email protected] 1.866.447.3933
Talent Technology Corporation Page 6
Optional parameters
The following querystring parameters are optional. If you don’t supply them a default value will be assumed.
Parameter Description
format Specifies the format of the response. Valid values are
• xml
Default value: xml Applies to: All requests
results Number of results returned. Valid values are
• Any integer from 1 to 50 Default value: 20
Applies to: Requests that return a list of results
p The starting result position to return. Valid values are
• Any integer starting from 1 Default value: 1
Applies to: Requests that return a list of results
sort Sort the results based on this parameter. Valid values are specified in documentation of each request.
Default value: none
Applies to: Requests that return a list of results dir Sort order of the results. Valid values are
asc , sort in ascending order des, sort in descending order Default value: asc
Applies to: Requests that return a list of results
[email protected] 1.866.447.3933
Talent Technology Corporation Page 7
POST and PUT requests
You will use POST and PUT requests to add and update resources respectively.
POST and PUT requests differ from GET and DELETE requests, as they contain data in the request body. You will supply the data for the resource to be created or updated, in the body of the request. The following PUT request updates the first name and last name of a candidate.
PUT http://api.hiredesk.net/v1/candidates/12228?comp=MyCompnay
&sig=06AEF99DE1E
<?xml version="1.0" encoding="UTF-8"?>
<Candidates>
<Candidate>
<CandidateRecordInfo>
<Id>
<IdValue name="source_id">12228</IdValue>
</Id>
<CandidateProfile>
<PersonalData>
<PersonName>
<GivenName>Patricia</GivenName>
<FamilyName>Bentley</FamilyName>
<EmailAddress />
</PersonName>
</PersonalData>
</CandidateProfile>
</CandidateRecordInfo>
</Candidate>
</Candidates>
Character encoding
You need to specify the character encoding of your requests by setting the charset http header to correct value.
Content-type: application/x-www-form-urlencoded; charset=utf-8
If the charset header is not there, ISO-8859-1 will be assumed as default encoding.
It’s important that the charset header and actual encoding of characters in the request match. Otherwise signature validation will fail.
Currently we support two encodings for incoming requests, ISO-8859-1 and UTF-8.
Outgoing responses are always encoded in UTF-8.
[email protected] 1.866.447.3933
Talent Technology Corporation Page 8
Signing your requests
You need to sign all API requests using your secret key. Requests without signature will be rejected. The signature verifies that the request came from you, and
protects your data. Specifically it helps prevent replay attacks and tampering the request. The signature is a base64 encoded MD5 hash, constructed using the following algorithm:
path = relative URL of the request
args = arguments to the request, not counting sig, formatted in arg=val pairs postdata = any data that is posted, applies to post and put requests only secret = your secret key
request_str = concatenate (path, args, postdata, secret) signature = md5(request_str)
Note that the secret key is used to hash the URL and create the sig parameter, but it is not a query parameter itself.
The following pseudo function shows a generic approach to signing a request. The function takes a URL such as
http://api.hiredesk.net/v1/candidates/45221?comp=MyComp and signs it with the secret key.
function sign_url(url, secret, postdata) { parts = parse_url(url);
relative_uri = "";
if (isset(parts["path"])){
relative_uri .= parts["path"];
}
if (isset(parts["query"])) {
$relative_uri .= "?" . parts["query"];
}
if (isset(postdata)) { relative_uri .= posdata;
}
sig = base64_encode(md5(relative_uri . secret));
signed_url = url . "&sig=sig";
return signed_url;
}
[email protected] 1.866.447.3933
Talent Technology Corporation Page 9
HTTP status codes
All API requests return standard HTTP status code to indicate the status of the request. The following table describes what various HTTP status codes returned.
Code Explanation 200 OK No error
201 CREATED Creation of a resource was successful
400 BAD REQUEST Invalid request URL or header or parameter, or post data
401 UNAUTHORIZED No authorization token or expired authorization token
403 FORBIDDEN Not authorized to perform this action 404 NOT FOUND Resource not found
500 INTERNAL SERVER ERROR Internal error. This is the default code that is used for unrecognized errors
503 SERVICE UNAVAILABLE Rate limit has exceeded or server is busy Authorizing your requests
All API requests are validated by an authorization token. You will need your Hiredesk username and password to get the authorization token. To receive an authorization token, send a post request to the following URL
http://api.hiredesk.net/login
The POST body should contain a set of parameters, as described in the following table. They should look like parameters passed by an HTML form, using the application/x-www-form-urlencoded content type.
Parameter Description
Username Hiredesk user name Password Hiredesk password A sample login request will look like
http://api.hiredesk.net/login?comp=MyCompany&sig=FF3451987
If the request fails (API access is not turned on, wrong username or password), you'll receive an HTTP 403 forbidden status code.
[email protected] 1.866.447.3933
Talent Technology Corporation Page 10
If it succeeds, then the response from the service is an HTTP 200 OK status code, plus a long alphanumeric code and, the API host name in the body of the response.
The response to the authorization request looks like
HDAPIauth=A25F21AB819B91C6D7E6E7D53DCCF32D619C9F2E hostname=apina3.hiredesk.net
The “auth” value is the authorization token that you'll send with your request. The
“hostname” value is the API host name you will use for subsequent API calls.
If your client software supports cookies, the authorization response will set a cookie named “HDAPIauth”, containing the authorization token. The cookie will be passed automatically when you make subsequent requests. If your client doesn’t support cookies, you will have to set the authorization header in requests, using the following format:
HDAPIauth=<AuthToken>
Where <AuthToken> is the authorization token returned by the login request.
An authorization token is valid for 30 minutes. After 30 minutes you will need to acquire a new authorization token by making a login request.
When authorizing a request the API server does the following:
• Check if the API request is allowed. For example if you have only turned on read requests then create and update requests will not be allowed.
• Check if the user has permission to access the resource. For example if the Hiredesk user doesn’t have permission to access candidate data, then request for a candidate record will not be allowed.
If any of the checks fail, you will receive an HTTP 403 forbidden status.
Batch inserts/updates
Some API requests allow creating or updating multiple records in a single request.
Batch requests should be sent as an HTTP POST or PUT to the request URL. The body of the request will contain the data for the records to be created or updated.
Batch operations are limited to 20 records per request. If your request body contains more than 20 records, then only first 20 records will be processed.
[email protected] 1.866.447.3933
Talent Technology Corporation Page 11
Rate limits
Rate limits are imposed as a limit on the number of API requests made per company during a one-hour window. The limit is set to 60 requests per hour per company. We begin counting the first time we see an API call from the company.
Then one hour later, we reset the counters for the company.
When you exceed the specified limit for any given service, you'll receive an HTTP 503 service unavailable status. Further calls will be rejected till one hour has passed till the first call.
Web site structure
URL Description
http://api.hiredesk.net API home page http://api.hiredesk.net/login API login page
http://api.hiredesk.net/docs API Documentation home page http://api.hiredesk.net/samplecode Sample code home page
http://api.hiredesk.net/schemas XML schema home page http://api.hiredesk.net/ns XML namespace home page
References
Downloadable sample code
HTTP 1.1 method definitions; specification for GET, POST, PUT, and DELETE HTTP 1.1 status code definitions
Representational State Transfer (REST) Building Web Services the REST Way A technical introduction to XML
XML Namespaces by Example
[email protected] 1.866.447.3933
Talent Technology Corporation Page 12
API reference
Candidate API Resources
The following resources are available in Candidate API
Resource HTTP verbs
supported
Description
/candidates GET Searches and gets a
list of candidates POST Adds single
candidate, batch add candidates
PUT Updates a single
candidate or batch updates candidates DELETE Batch deletes
candidates
/candidates/[candidate id] GET Gets single candidate details
DELETE Deletes single candidate
/candidates/[candidate id]/jobs GET Gets the list of jobs the candidate applied for
/candidates/[candidate id]/jobs/[job id]
GET Reports the current stage of the job the candidate is in DELETE Removes the
candidate from the job
[email protected] 1.866.447.3933
Talent Technology Corporation Page 13
Searching candidates
Relative URI /v1/candidates/
Method GET
Query string q The search criteria.
comp Your company short name sig Signature of the request format Format of the response
Valid values are: xml Default value: xml
results Number of results returned
Valid values are: Any integer from 1 to 50
Default value: 20
p The starting result position to return Valid values are: Any integer >= 1 Default value: 1
dir Sort order of the results. Valid values are
asc , sort in ascending order des, sort in descending order Default value: asc
sort Sort the results based on this parameter. Valid values: any of the search attributes
Default value: none
Post data None
Returns on success
200 OK and Candidate XML Sample
Response
Search Candidate Response XML sample
The search criteria must follow certain rules. Below is the grammar and samples:
Grammar q
[ predicates ] predicates
(predicate || predicate) && predicates
[email protected] 1.866.447.3933
Talent Technology Corporation Page 14
predicate
attribute comp_op constant_expression attribute
FirstName LastName Email Phone Address City State Zip Country Status Source DateAdded DateModified JobID
JobTitle Stage comp_op
=
>
<
>=
<=
<>
* (LIKE and goes after the constant expression)
[email protected] 1.866.447.3933
Talent Technology Corporation Page 15
constant_expression
“constant”
“constant”*
constant string
Dates need to be in YYYY-MM-DD format and in UTC Samples
q=[FirstName="john"&&dateadded>"2006-05-26"]
q=[FirstName="john"||LastName="sm"*]
Getting a candidate
Relative URI /v1/candidates/[Candidate ID]
Method GET
Query string comp Your company short name sig Signature of the request format Format of the response
Valid values are: xml Default value: xml
Post data None
Returns on success
200 OK and Candidate XML
Sample Response Get Candidate Response XML sample Updating a candidate
See Batch operations – Updating candidates
[email protected] 1.866.447.3933
Talent Technology Corporation Page 16
Adding a candidate
Relative URI /v1/candidates
Method POST
Query string comp Your company short name
sig Signature of the request
Post data Candidate XML to add – Can be either a <StructuredResume>
or a <NonXMLRresume>. The two schemas are mutually exclusive, with <NonXMLRresume> taking priority. If a
<NonXMLRresume> exists in the post data any
<StructuredResume> in the post data will be ignored. Both schemas will be depicted in the following sample XML. . NOTE: When submitting <NonXMLRresume>, the
<Attachment Reference> should contain the name of the file.
This is used to decipher the mime-type for the Base64 encoded content.
Returns on success 201 CREATED and Candidate id of the added candidate Sample Request Add candidate Request XML sample
Deleting a candidate
Relative URI /v1/candidates/[Candidate ID]
Method DELETE
Query string comp Your company short name sig Signature of the request
Post data None
Returns on success 200 OK
Getting status of a candidate in a particular job
Relative URI /v1/candidates/[Candidate ID]/jobs/[job id]
Method GET
Query string comp Your company short name sig Signature of the request format Format of the response
Valid values are: xml Default value: xml
Post data None
Returns on success 200 OK
Sample Response Get status of a candidate in a particular job Response XML sample
[email protected] 1.866.447.3933
Talent Technology Corporation Page 17
Removing a candidate from a job
Relative URI /v1/candidates/[Candidate ID]/jobs/[job id]
Method DELETE
Query string comp Your company short name sig Signature of the request
Post data None
Returns on success 200 OK
Getting all jobs that a candidate applied for
Relative URI /v1/candidates/[Candidate ID]/jobs
Method GET
Query string comp Your company short name sig Signature of the request format Format of the response
Valid values are: xml Default value: xml
Post data None
Returns on success 200 OK and job list XML
Sample Response Get all jobs that a candidate applied for Response XML sample
Batch operations Adding candidates
Relative URI /v1/candidates
Method POST
Query string comp Your company short name sig Signature of the request
Post data XML with a list of candidates – Can be multiples of either
<StructuredResume> or <NonXMLRresume>. The two schemas are mutually exclusive, with
<NonXMLRresume> taking priority. If
<NonXMLRresume>(s) exists in the post data any
<StructuredResume>(s) in the post data will be ignored.
Both schemas will be depicted in the following sample XML. NOTE: When submitting <NonXMLRresume>, the
<AttachmentReference> should contain the name of the file. This is used to decipher the mime-type for the Base64 encoded content.
Returns on success
201 CREATED and count of candidates added
[email protected] 1.866.447.3933
Talent Technology Corporation Page 18
Sample Request Add Candidates Request XML sample Updating candidates
Relative URI /v1/candidates
Method PUT
Query string comp Your company short name sig Signature of the request Post data XML with a list of candidates
Returns on success
200 OK and count of candidates updated Sample Request Update Candidates Request XML sample Deleting candidates
Relative URI /v1/candidates
Method DELETE
Query string comp Your company short name sig Signature of the request Post data XML with a list of candidates
Returns on success
200 OK and count of candidates deleted Sample Request Delete Candidates Request XML sample
[email protected] 1.866.447.3933
Talent Technology Corporation Page 19
Job API
Resources
The following resources are available via the Job API
Resource HTTP verbs
supported
Description
/jobs/talentportals GET Gets a list of active
Talent Portals.
Note: Hidden Talent Portals will be
excluded
/jobs/talentportal/[talent portal id] GET Gets a list of jobs posted in the specific talent portal
/jobs/[job id] GET Gets the details for a
single job
/jobs GET Searches and gets a
list of jobs.
POST Adds a single job.
NOTE: Currently does not support batch adding jobs PUT Updates a single job.
NOTE: Currently does not support batch updating jobs /jobs/[job id]/candidates GET Gets all candidates
who applied for the job
POST Adds single
candidate, batch add candidates to a job
[email protected] 1.866.447.3933
Talent Technology Corporation Page 20
Getting a list of Talent Portals
Relative URI /v1/jobs/talentportals
Method GET
Query string comp Your company short name sig Signature of the request format Format of the response
Valid values are: xml Default value: xml
Post data None
Returns on success 200 OK
Sample Response Get List of Talent Portals Response XML sample Getting list Jobs for a Talent Portal
Relative URI /v1/jobs/talentportal/[Talent Portal Id]
Method GET
Query string comp Your company short name sig Signature of the request format Format of the response
Valid values are: xml Default value: xml
Post data None
Returns on success 200 OK
Sample Response Get List of Jobs for Talent Portals Response XML sample
Getting details of a job
Relative URI /v1/jobs/[Job ID]
Method GET
Query string comp Your company short name sig Signature of the request format Format of the response
Valid values are: xml Default value: xml
Post data None
Returns on success
200 OK and Job XML
Sample Response Get Job Response XML sample
Comments/Notes Currently, only the Description tab of the job/requisition is output under the <UserArea> of the response.
[email protected] 1.866.447.3933
Talent Technology Corporation Page 21
Searching jobs
Relative URI /v1/jobs/
Method GET
Query string q The search criteria.
comp Your company short name sig Signature of the request format Format of the response
Valid values are: xml Default value: xml
results Number of results returned
Valid values are: Any integer from 1 to 50
Default value: 20
p The starting result position to return Valid values are: Any integer >= 1 Default value: 1
dir Sort order of the results. Valid values are
asc , sort in ascending order des, sort in descending order Default value: asc
sort Sort the results based on this parameter. Valid values: any of the search attributes
Default value: none
Post data None
Returns on success
200 OK and XML with limited job information and count of jobs
404 NOT FOUND - if no results were found for search criteria
Sample Response
Search Jobs Response XML sample
[email protected] 1.866.447.3933
Talent Technology Corporation Page 22
Grammar
Please refer to Grammar section under Candiadte Search Limitations
NOTE: Currently only supports searching for all active jobs that the currently logged in user is a team member of
Example:
Search for job that the currently logged in user is a team member of /jobs/?q=[myjobs=true]
Adding a job
Relative URI /v1/jobs/
Method POST
Query string comp Your company short name sig Signature of the request format Format of the response
Valid values are: xml Default value: xml Post data XML with a list of jobs
Returns on success
201 OK and a count of jobs added Sample Response Add Job Request XML sample Updating a job
Relative URI /v1/jobs/
Method PUT
Query string comp Your company short name sig Signature of the request format Format of the response
Valid values are: xml Default value: xml Post data XML with a list of jobs
Returns on success
200 OK and Job XML
Sample Response Update Job Request XML sample
[email protected] 1.866.447.3933
Talent Technology Corporation Page 23
Comments/Notes When updating a job, when any of the team members including the Team Lead is being modified
(add/remove/change), nodes for ALL team members including the Team Lead must be specified in the XML.
Likewise when any of the Clients including the Primary Client is being modified (add/remove/change), nodes for ALL clients including the Primary Client must be
specified in the XML.
If the Primary Client needs to be removed, an empty
<PositionSupplier relationship=”primary hiring manager”> node must be specified in the XML.
NOTE: This will remove all clients associated with that job.
Adding candidates to a job
Relative URI /v1/jobs/[job id]/candidates
Method POST
Query string comp Your company short name sig Signature of the request Post data XML with a list of candidates
Returns On Success 201 CREATED
Count of candidates added to the job Reporting per candidate
added/attempted
On Failure 404 NOT FOUND if the specifed job was not found
412 PRE CONDITION FAILED if the job status doesn’t allow the addition of candidates
Sample Request Add Candidates to a job Request XML sample
[email protected] 1.866.447.3933
Talent Technology Corporation Page 24
Getting all candidates for a job
Relative URI /v1/jobs/[job id]/candidates
Method GET
Query string comp Your company short name sig Signature of the request format Format of the response
Valid values are: xml Default value: xml
Post data None
Returns on success 200 OK and candidate list XML 404 NOT FOUND job not found
Sample Response Get all candidates for a job Response XML sample Deleting candidates from a job
Relative URI /v1/jobs/[job id]/candidates
Method DELETE
Query string comp Your company short name sig Signature of the request Post data XML with a list of candidates
Returns On Success 200 OK
Count of candidates deleted from the job
Sample Request Add Candidates to a job Request XML sample
[email protected] 1.866.447.3933
Talent Technology Corporation Page 25
Appendices
This section contains sample XMLs for requests and responses related to different API calls
Candidate API XML Samples
Search Candidate Response XML sample
<?xml version="1.0" encoding="utf-8" ?>
<Candidates start="1" count="7">
<Candidate href="http://api.hiredesk.net/v1/candidates/12f1a93d-754a-4562-8402- acf5a645473d">
<CandidateRecordInfo>
<Id>
<IdValue name="source_id">10946</IdValue>
<IdValue name="pers_id">12f1a93d-754a-4562-8402- acf5a645473d</IdValue>
</Id>
<CandidateProfile>
<PersonalData>
<PersonName>
<GivenName>Jonathan</GivenName>
<FamilyName>Clarck</FamilyName>
<EmailAddress />
</PersonName>
</PersonalData>
</CandidateProfile>
</CandidateRecordInfo>
</Candidate>
<Candidate href="http://api.hiredesk.net/v1/candidates/12dd97f1-6067-4fc4-9bbf-ff61caaad909">
<CandidateRecordInfo>
<Id>
<IdValue name="source_id">5029</IdValue>
<IdValue name="pers_id">12dd97f1-6067-4fc4-9bbf- ff61caaad909</IdValue>
</Id>
<CandidateProfile>
<PersonalData>
<PersonName>
<GivenName>Jonathan</GivenName>
<FamilyName>linux</FamilyName>
<EmailAddress />
</PersonName>
</PersonalData>
</CandidateProfile>
</CandidateRecordInfo>
</Candidate>
<Candidate href="http://api.hiredesk.net/v1/candidates/127c8c54-3a00-4743-8b3d- 1eaf53a2a697">
<CandidateRecordInfo>
<Id>
<IdValue name="source_id">10425</IdValue>
<IdValue name="pers_id">127c8c54-3a00-4743-8b3d- 1eaf53a2a697</IdValue>
</Id>
[email protected] 1.866.447.3933
Talent Technology Corporation Page 26
<CandidateProfile>
<PersonalData>
<PersonName>
<GivenName>Jonathan</GivenName>
<FamilyName>Smith</FamilyName>
<EmailAddress>[email protected]</EmailAddress>
</PersonName>
</PersonalData>
</CandidateProfile>
</CandidateRecordInfo>
</Candidate>
</Candidates>
Get Candidate Response XML sample
<?xml version="1.0" encoding="UTF-8" ?>
<Candidate>
<CandidateRecordInfo>
<Id>
<IdValue name="source_id">10425</IdValue>
<IdValue name="pers_id">907c8c54-3a00-4743-3344r-1eaf53a2a697</IdValue>
</Id>
</CandidateRecordInfo>
<CandidateProfile>
<PersonalData>
<PersonName>
<GivenName>Pissa</GivenName>
<PreferredGivenName>Jon</PreferredGivenName>
<MiddleName>A.</MiddleName>
<FamilyName>Smith</FamilyName>
<Affix type="generation"></Affix>
<Affix type="qualification"></Affix>
</PersonName>
<ContactMethod>
<Location>home</Location>
<Telephone>
<InternationalCountryCode>1</InternationalCountryCode>
<AreaCityCode>604</AreaCityCode>
<SubscriberNumber>1234567</SubscriberNumber>
<Extension></Extension>
</Telephone>
<InternetEmailAddress>[email protected]</InternetEmailAddress>
<InternetWebAddress></InternetWebAddress>
<PostalAddress>
<CountryCode>Canada [CA]</CountryCode>
<PostalCode>R1W2A1</PostalCode>
<Region>British Columbia [BC]</Region>
<Municipality>Vancouver</Municipality>
<DeliveryAddress>
<AddressLine>123 Main St</AddressLine>
</DeliveryAddress>
</PostalAddress>
</ContactMethod>
<ContactMethod>
<Location>office</Location>
<Telephone>
[email protected] 1.866.447.3933
Talent Technology Corporation Page 27
<InternationalCountryCode></InternationalCountryCode>
<AreaCityCode></AreaCityCode>
<SubscriberNumber></SubscriberNumber>
<Extension></Extension>
</Telephone>
<InternetWebAddress></InternetWebAddress>
<PostalAddress>
<CountryCode></CountryCode>
<PostalCode></PostalCode>
<Region></Region>
<Municipality></Municipality>
<DeliveryAddress>
<AddressLine></AddressLine>
</DeliveryAddress>
</PostalAddress>
</ContactMethod>
<PersonDescriptors>
<LegalIdentifiers>
<PersonLegalId>
<IdValue name=""></IdValue>
</PersonLegalId>
<MilitaryStatus></MilitaryStatus>
<VisaStatus></VisaStatus>
</LegalIdentifiers>
<DemographicDescriptors>
<Race></Race>
<Nationality></Nationality>
<Religion></Religion>
</DemographicDescriptors>
<BiologicalDescriptors>
<DateOfBirth></DateOfBirth>
<GenderCode>0</GenderCode>
<DisabilityInfo>
<Type></Type>
</DisabilityInfo>
</BiologicalDescriptors>
</PersonDescriptors>
<UserArea>
<ContactMethod type="other">
<InternetEmailAddress></InternetEmailAddress>
<InternetEmailAddress></InternetEmailAddress>
<Telephone type="Fax">
<InternationalCountryCode></InternationalCountryCode>
<AreaCityCode></AreaCityCode>
<SubscriberNumber></SubscriberNumber>
<Extension></Extension>
</Telephone>
<Telephone type="Cell">
<InternationalCountryCode></InternationalCountryCode>
<AreaCityCode></AreaCityCode>
<SubscriberNumber></SubscriberNumber>
<Extension></Extension>
</Telephone>
</ContactMethod>
</UserArea>
</PersonalData>
<Resume>
<StructuredResume>
<Objective>Seeking full time employment in which I gan use my experience
[email protected] 1.866.447.3933
Talent Technology Corporation Page 28
and knowledge.</Objective>
<EmploymentHistory>
<EmployerOrg index="1">
<EmployerOrgName>ABC Corporation</EmployerOrgName>
<EmployerContactInfo>
<LocationSummary>
<Municipality>Vancouver</Municipality>
<Region>British Columbia [BC]</Region>
<CountryCode>Canada [CA]</CountryCode>
</LocationSummary>
</EmployerContactInfo>
<PositionHistory>
<Title>Supervisor</Title>
<OrgName>
<OrganizationName></OrganizationName>
</OrgName>
<OrgIndustry primaryIndicator="false">
<IndustryDescription>Consulting/Contracting</IndustryDescription>
</OrgIndustry>
<OrgSize>100</OrgSize>
<Description>Establish and maintain management procedures.</Description>
<StartDate>
<YearMonth>2005-08</YearMonth>
</StartDate>
<EndDate>
<YearMonth>2007-06</YearMonth>
</EndDate>
<Compensation>
<OtherCompensation type="Hourly"
currency=""></OtherCompensation>
<OtherCompensation type="Daily"
currency=""></OtherCompensation>
<OtherCompensation type="Yearly"
currency="">$76k-$80k</OtherCompensation>
<OtherCompensation type="Monthly"
currency=""></OtherCompensation>
</Compensation>
</PositionHistory>
<UserArea />
</EmployerOrg>
<EmployerOrg index="2">
<EmployerOrgName>Basic Solutions</EmployerOrgName>
<EmployerContactInfo>
<LocationSummary>
<Municipality>Vancouver</Municipality>
<Region>British Columbia [BC]</Region>
<CountryCode>Canada [CA]</CountryCode>
</LocationSummary>
</EmployerContactInfo>
<PositionHistory>
<Title>Manager</Title>
<OrgName>
<OrganizationName></OrganizationName>
</OrgName>
<OrgIndustry primaryIndicator="false">
[email protected] 1.866.447.3933
Talent Technology Corporation Page 29
<IndustryDescription></IndustryDescription>
</OrgIndustry>
<OrgSize>60</OrgSize>
<Description>Complete plans provided in an effective and timely manner. Establish and maintain management procedures.</Description>
<StartDate>
<YearMonth>2002-08</YearMonth>
</StartDate>
<EndDate>
<YearMonth>2005-06</YearMonth>
</EndDate>
<Compensation>
<OtherCompensation type="Hourly"
currency=""></OtherCompensation>
<OtherCompensation type="Daily"
currency=""></OtherCompensation>
<OtherCompensation type="Yearly"
currency="">$31k-$40k</OtherCompensation>
<OtherCompensation type="Monthly"
currency=""></OtherCompensation>
</Compensation>
</PositionHistory>
<UserArea />
</EmployerOrg>
</EmploymentHistory>
<EducationHistory>
<SchoolOrInstitution index="1" schoolType="Private College">
<School>
<SchoolName>First College</SchoolName>
</School>
<LocationSummary>
<Municipality>Vancouver</Municipality>
<Region>British Columbia [BC]</Region>
<CountryCode>Canada [CA]</CountryCode>
<PostalCode>X1W8A1</PostalCode>
</LocationSummary>
<Degree>
<DegreeName>Bachelors Of Commerce [B.
Com]</DegreeName>
<DegreeDate>
<YearMonth>11/2004</YearMonth>
</DegreeDate>
<OtherHonors></OtherHonors>
<DegreeMajor>
<Name>Accountancy</Name>
</DegreeMajor>
<DegreeMinor>
<Name></Name>
</DegreeMinor>
</Degree>
<Measure measureType="GPA">
<MeasureSystem>GPA</MeasureSystem>
<MeasureValue>3.66-4.00</MeasureValue>
</Measure>
<DatesofAttendance>
<StartDate>
<YearMonth>11/2002</YearMonth>
</StartDate>
[email protected] 1.866.447.3933
Talent Technology Corporation Page 30
</DatesofAttendance>
<UserArea />
</SchoolOrInstitution>
</EducationHistory>
<LicensesandCertifications>
<LicenseorCertification index="1">
<Name></Name>
<EffectiveDate>
<ValidFrom>
<YearMonth></YearMonth>
</ValidFrom>
<ValidTo>
<YearMonth></YearMonth>
</ValidTo>
</EffectiveDate>
<Description></Description>
</LicenseorCertification>
<LicenseorCertification></LicenseorCertification>
</LicensesandCertifications>
<Qualifications>
<Competency index="1">
<CompetencyID id="">
<competencyWeight>
<StringValue></StringValue>
</competencyWeight>
</CompetencyID>
</Competency>
</Qualifications>
<Languages>
<Language>
<LanguageCode></LanguageCode>
<LanguageCode></LanguageCode>
<LanguageCode></LanguageCode>
</Language>
</Languages>
<Associations>
<Association index="1">
<Name></Name>
<StartDate></StartDate>
<EndDate></EndDate>
<Comments></Comments>
</Association>
</Associations>
</StructuredResume>
<NonXMLResume>
<TextResume><!-- If binary Base64 Encoded text --->
1VSUklDVUxVTSBWSVRBRQ0KSmFtZXMgQk9ORA0KMTIzNCBNYXBsZSBT dHJl
XQNCkFtaXR5dmlsbGUsIE5lYnJhc2thDQoxMjMzNSBVU0ENClTDqWwgOiAxI D
MxMyA1NTUgMTIzNA0KRS1tYWlsIDoganNvbmdAaGlyZWRlc2suY29tDQogIC A
JDQoNCkFtw6lyaWNhaW5lLCAzMCBhbnMNCk1hcmnDqWUgYXZlYyBkZXV4I GVu
ZmFudHMgKDIgZXQgNyBhbnMpCQ0KVHJhZHVjdHJpY2UgOiBTZXB0IGFucy BkJ
2V4cMOpcmllbmNlIGludGVybmF0aW9uYWxlIGRhbnMgbGEgdHJhZHVjdGlvbi ...
[email protected] 1.866.447.3933
Talent Technology Corporation Page 31
...
...
</TextResume>
<SupportingMaterials>
<AttachmentReference>SampleResume.txt</AttachmentReference>
</SupportingMaterials>
</NonXMLResume>
</Resume>
<UserArea>
<UserDefinedTabs>
<Tab id="002004002" name="Additional Achievements">
<field id="002004002012" name="Licensure/Certification (Select all that apply)" index="1">Other</field>
<field id="002004002016" name="List any other training/classes you have completed" index="1">International Business Training</field>
</Tab>
<Tab id="002001" name="Demographics">
<field id="002001016" name="Please enter your age category"></field>
</Tab>
<Tab id="002004" name="Education">
<field id="002004005" name="Highest Level of Education Completed">Bachelors + 60</field>
</Tab>
<Tab id="002061" name="About You!">
<field id="002061001" name="How did you hear about us?">Web Site [College]</field>
<field id="002061027" name="Date Available to Work (MM/DD/YYYY)">8/1/2007 12:00:00 AM</field>
<field id="002061038" name="Languages - Read (Select all that apply)">English</field>
<field id="002061039" name="Languages - Written (Select all that apply)
">English</field>
<field id="002061040" name="Languages - Spoken (Select all that apply)

">English</field>
</Tab>
<Tab id="002064" name="References">
<field id="002064001" name="1] First Name">Alicia</field>
<field id="002064002" name="Last Name">Jones</field>
<field id="002064003" name="Job Title/Profession">Manager</field>
<field id="002064004" name="Email Address [if applicable]"></field>
<field id="002064005" name="Phone Number">6047654321</field>
<field id="002064006" name="Relationship to you">Supervisor</field>
<field id="002064007" name="2] First Name">George</field>
<field id="002064008" name="Last Name">Adams</field>
<field id="002064009" name="Job Title/Profession">Accountant</field>
<field id="002064010" name="Email Address [if applicable]"></field>
<field id="002064011" name="Phone Number">6045231456</field>
<field id="002064012" name="Relationship to you">coworker</field>
<field id="002064013" name="3] First Name">Kyle</field>
<field id="002064014" name="Last Name">Michaels</field>
<field id="002064015" name="Job Title/Profession">Manager</field>
<field id="002064016" name="Email Address [if applicable]"></field>
<field id="002064017" name="Phone number">6048512356</field>
<field id="002064018" name="Relationship to you">Friend</field>
</Tab>
<Tab id="002006" name="Skills">
[email protected] 1.866.447.3933
Talent Technology Corporation Page 32
<field id="002006004" name="Skill level" index="5">AC</field>
<field id="002006004" name="Skill level" index="15">A</field>
</Tab>
<Tab id="001001002" name="Company">
<field id="001001002002" name="Division">Management</field>
<field id="001001002003" name="Department">Operations and Procedures</field>
<field id="001001002004" name="Title">Supervisor</field>
</Tab>
</UserDefinedTabs>
</UserArea>
</CandidateProfile>
</Candidate>
Add candidate Request XML sample
<?xml version="1.0" encoding="UTF-8" ?>
<Candidates>
<!-- Example for using StructuredResume -->
<Candidate>
<CandidateProfile>
<PersonalData>
<PersonName>
<GivenName>Durango</GivenName>
<PreferredGivenName>Jon</PreferredGivenName>
<MiddleName>A.</MiddleName>
<FamilyName>Flowers</FamilyName>
<Affix type="generation"></Affix>
<Affix type="qualification"></Affix>
</PersonName>
<ContactMethod>
<Location>home</Location>
<Telephone>
<InternationalCountryCode>1</InternationalCountryCode>
<AreaCityCode>604</AreaCityCode>
<SubscriberNumber>1115555</SubscriberNumber>
<Extension></Extension>
</Telephone>
<InternetEmailAddress>[email protected]</InternetEmailAddress>
<InternetWebAddress></InternetWebAddress>
<PostalAddress>
<CountryCode>Canada [CA]</CountryCode>
<PostalCode>V1W2A2</PostalCode>
<Region>British Columbia [BC]</Region>
<Municipality>Vancouver</Municipality>
<DeliveryAddress>
<AddressLine>123 My St</AddressLine>
</DeliveryAddress>
</PostalAddress>
</ContactMethod>
</PersonalData>
<Resume>
<StructuredResume>
<Objective>To obtain a manager position in an elementary
[email protected] 1.866.447.3933
Talent Technology Corporation Page 33
school.</Objective>
<EmploymentHistory>
<EmployerOrg index="1">
<EmployerOrgName>ABC Industry</EmployerOrgName>
<EmployerContactInfo>
<LocationSummary>
<Municipality>Vancouver</Municipality>
<Region>British Columbia [BC]</Region>
<CountryCode>Canada [CA]</CountryCode>
</LocationSummary>
</EmployerContactInfo>
<PositionHistory>
<Title>Supervisor</Title>
<OrgName>
<OrganizationName></OrganizationName>
</OrgName>
<OrgIndustry primaryIndicator="false">
<IndustryDescription>Consulting/Contracting</IndustryDescription>
</OrgIndustry>
<OrgSize>100</OrgSize>
<Description>Establish and maintain management procedures.</Description>
<StartDate>
<YearMonth>2005- 01</YearMonth>
</StartDate>
<EndDate>
<YearMonth>2007- 01</YearMonth>
</EndDate>
<Compensation>
<OtherCompensation type="Hourly" currency=""></OtherCompensation>
<OtherCompensation type="Daily"
currency=""></OtherCompensation>
<OtherCompensation type="Yearly" currency="">$76k-$80k</OtherCompensation>
<OtherCompensation type="Monthly" currency=""></OtherCompensation>
</Compensation>
</PositionHistory>
<UserArea />
</EmployerOrg>
</EmploymentHistory>
<EducationHistory>
<SchoolOrInstitution index="1" schoolType="Private College">
<School>
<SchoolName>The Main College</SchoolName>
</School>
<LocationSummary>
<Municipality>Vancouver</Municipality>
[email protected] 1.866.447.3933
Talent Technology Corporation Page 34
<Region>British Columbia [BC]</Region>
<CountryCode>Canada [CA]</CountryCode>
<PostalCode>D1W2A2</PostalCode>
</LocationSummary>
<Degree>
<DegreeName>Bachelors Of Commerce [B. Com]</DegreeName>
<DegreeDate>
<YearMonth>11/2001</YearMonth>
</DegreeDate>
<OtherHonors></OtherHonors>
<DegreeMajor>
<Name>Accountancy</Name>
</DegreeMajor>
<DegreeMinor>
<Name></Name>
</DegreeMinor>
</Degree>
<Measure measureType="GPA">
<MeasureSystem>GPA</MeasureSystem>
<MeasureValue>3.66- 4.00</MeasureValue>
</Measure>
<DatesofAttendance>
<StartDate>
<YearMonth>11/2003</YearMonth>
</StartDate>
</DatesofAttendance>
<UserArea />
</SchoolOrInstitution>
</EducationHistory>
<LicensesandCertifications>
<LicenseorCertification index="1">
<Name></Name>
<EffectiveDate>
<ValidFrom>
<YearMonth></YearMonth>
</ValidFrom>
<ValidTo>
<YearMonth></YearMonth>
</ValidTo>
</EffectiveDate>
<Description></Description>
</LicenseorCertification>
<LicenseorCertification></LicenseorCertification>
</LicensesandCertifications>
<Qualifications>
<Competency index="1">
<CompetencyID id="">
<competencyWeight>
<StringValue></StringValue>
</competencyWeight>
</CompetencyID>
</Competency>
</Qualifications>
<Languages>
[email protected] 1.866.447.3933
Talent Technology Corporation Page 35
<Language>
<LanguageCode></LanguageCode>
<LanguageCode></LanguageCode>
<LanguageCode></LanguageCode>
</Language>
</Languages>
<Associations>
<Association index="1">
<Name></Name>
<StartDate></StartDate>
<EndDate></EndDate>
<Comments></Comments>
</Association>
</Associations>
</StructuredResume>
</Resume>
</CandidateProfile>
</Candidate>
<!-- Example for using NonXMLResume -->
<Candidate>
<CandidateProfile>
<Resume>
<NonXMLResume>
<TextResume><!-- If binary Base64 Encoded text --->
1VSUklDVUxVTSBWSVRBRQ0KSmFtZXMgQk9ORA0KMTIzNCBNY XBsZSBTdHJl
XQNCkFtaXR5dmlsbGUsIE5lYnJhc2thDQoxMjMzNSBVU0ENClTDq WwgOiAxID
MxMyA1NTUgMTIzNA0KRS1tYWlsIDoganNvbmdAaGlyZWRlc2suY29 tDQogICA
JDQoNCkFtw6lyaWNhaW5lLCAzMCBhbnMNCk1hcmnDqWUgYXZlYy BkZXV4IGVu
ZmFudHMgKDIgZXQgNyBhbnMpCQ0KVHJhZHVjdHJpY2UgOiBTZX B0IGFucyBkJ
2V4cMOpcmllbmNlIGludGVybmF0aW9uYWxlIGRhbnMgbGEgdHJhZ HVjdGlvbi
...
...
...
</TextResume>
<SupportingMaterials>
<AttachmentReference>SampleResume.txt</AttachmentReference>
</SupportingMaterials>
</NonXMLResume>
</Resume>
<UserArea>
<ResumeSource><!--Optional-->
<Source>Talemetry Match</Source><!--This is the source application/integration providing the resume. Ex; Talemetry-Match, PeopleSoft Integration-->
<SourceJobBoard>Workopolis</SourceJobBoard><!--This is the original source of the resume. Ex; Job Board/ATS-->
</ResumeSource>
</UserArea>
</CandidateProfile>
</Candidate>
</Candidates>
[email protected] 1.866.447.3933
Talent Technology Corporation Page 36
Batch operations
Add Candidates Request XML sample
<?xml version="1.0" encoding="UTF-8" ?>
<Candidates>
<Candidate>
<CandidateProfile>
<PersonalData>
<PersonName>
<GivenName>Michael</GivenName>
<PreferredGivenName>Jon</PreferredGivenName>
<MiddleName>A.</MiddleName>
<FamilyName>Flowers</FamilyName>
<Affix type="generation"></Affix>
<Affix type="qualification"></Affix>
</PersonName>
<ContactMethod>
<Location>home</Location>
<Telephone>
<InternationalCountryCode>1</InternationalCountryCode>
<AreaCityCode>604</AreaCityCode>
<SubscriberNumber>3214567</SubscriberNumber>
<Extension></Extension>
</Telephone>
<InternetEmailAddress>[email protected]</InternetEmailAddress>
<InternetWebAddress></InternetWebAddress>
<PostalAddress>
<CountryCode>Canada [CA]</CountryCode>
<PostalCode>V1W2A1</PostalCode>
<Region>British Columbia [BC]</Region>
<Municipality>Vancouver</Municipality>
<DeliveryAddress>
<AddressLine>321 Main St</AddressLine>
</DeliveryAddress>
</PostalAddress>
</ContactMethod>
</PersonalData>
<Resume>
<StructuredResume>
<Objective>To obtain a manager position in an elementary school.</Objective>
<EmploymentHistory>
<EmployerOrg index="1">
<EmployerOrgName>ABC Industry</EmployerOrgName>
<EmployerContactInfo>
<LocationSummary>