HireDesk API V1.0 Developer s Guide



Similar documents
Fairsail REST API: Guide for Developers

Contents. 2 Alfresco API Version 1.0

Configuring Single Sign-on for WebVPN

Message Containers and API Framework

Sentinel EMS v7.1 Web Services Guide

Webair CDN Secure URLs

OAuth 2.0 Developers Guide. Ping Identity, Inc th Street, Suite 100, Denver, CO

Using Foundstone CookieDigger to Analyze Web Session Management

ipayment Gateway API (IPG API)

MXSAVE XMLRPC Web Service Guide. Last Revision: 6/14/2012

JASPERREPORTS SERVER WEB SERVICES GUIDE

EHR OAuth 2.0 Security

Interzoic Single Sign-On for DotNetNuke Portals Version 2.1.0

Cloud Elements! Marketing Hub Provisioning and Usage Guide!

vcloud Air Platform Programmer's Guide

Specific API Usage Limitations... 6 Daily Limitation... 6 Concurrency Limitation API Description... 7 Site Data API... 7

IoT-Ticket.com. Your Ticket to the Internet of Things and beyond. IoT API

HOST EUROPE CLOUD STORAGE REST API DEVELOPER REFERENCE

LabVIEW Internet Toolkit User Guide

MONETA.Assistant API Reference

Working With Virtual Hosts on Pramati Server

Implementing 2-Legged OAuth in Javascript (and CloudTest)

KMx Enterprise: Integration Overview for Member Account Synchronization and Single Signon

Secure Authentication and Session. State Management for Web Services

RingMaster Software Version 7.6 Web Services API User Guide

Safeguard Ecommerce Integration / API

API Reference. Nordisk e-handel AB. Version 24

Secure XML API Integration Guide. (with FraudGuard add in)

Manual. Netumo NETUMO HELP MANUAL Copyright Netumo 2014 All Rights Reserved

Specify the location of an HTML control stored in the application repository. See Using the XPath search method, page 2.

InternetVista Web scenario documentation

Messaging API. API Specification Document Messaging API. Functionality: Send SMS Messages.

Using SAML for Single Sign-On in the SOA Software Platform

Table of Contents. Open-Xchange Authentication & Session Handling. 1.Introduction...3

Pervasive Data Integrator. Oracle CRM On Demand Connector Guide

Description of Microsoft Internet Information Services (IIS) 5.0 and

e-filing Secure Web Service User Manual

Project 2: Web Security Pitfalls

QIWI Wallet Pull Payments API

Configuration Guide - OneDesk to SalesForce Connector

FileMaker Server 14. Custom Web Publishing Guide

SmarterMeasure Inbound Single Sign On (SSO) Version 1.3 Copyright 2010 SmarterServices, LLC / SmarterServices.com PO Box , Deatsville, AL 36022

CSCI110 Exercise 4: Database - MySQL

FileMaker Server 15. Custom Web Publishing Guide

User-password application scripting guide

CONTRACT MODEL IPONZ DESIGN SERVICE VERSION 2. Author: Foster Moore Date: 20 September 2011 Document Version: 1.7

COMMERCIAL-IN-CONFIDENCE

ivvy Events Software API

Criteria for web application security check. Version

OPENID AUTHENTICATION SECURITY

Force.com REST API Developer's Guide

Single Sign-On Implementation Guide

Secure XML API Integration Guide - Periodic and Triggered add in

SVEA HOSTED SERVICE SPECIFICATION V1.13

Developer Guide to Authentication and Authorisation Web Services Secure and Public

Nuance Mobile Developer Program. HTTP Services for Nuance Mobile Developer Program Clients

Address Phone & Fax Internet

Remote Access API 2.0

SPARROW Gateway. Developer Data Vault Payment Type API. Version 2.7 (6293)

Cloud Elements ecommerce Hub Provisioning Guide API Version 2.0 BETA

1. To start Installation: To install the reporting tool, copy the entire contents of the zip file to a directory of your choice. Run the exe.

ACCREDITATION COUNCIL FOR PHARMACY EDUCATION. CPE Monitor. Technical Specifications

Check list for web developers

FREQUENTLY ASKED QUESTIONS TOPIC LIST INSTRUCTIONS FOLLOW BELOW

FileMaker Server 9. Custom Web Publishing with PHP

Internet Technologies. World Wide Web (WWW) Proxy Server Network Address Translator (NAT)

Online signature API. Terms used in this document. The API in brief. Version 0.20,

Credomatic Integration Resources. Browser Redirect API Documentation June 2007

WP4: Cloud Hosting Chapter Object Storage Generic Enabler

Application Security Testing. Generic Test Strategy

Spectrum Technology Platform. Version 9.0. Administration Guide

Manage Workflows. Workflows and Workflow Actions

Programming Autodesk PLM 360 Using REST. Doug Redmond Software Engineer, Autodesk

Web Application Security Guidelines for Hosting Dynamic Websites on NIC Servers

AS DNB banka. DNB Link specification (B2B functional description)

The Simple Submission URL. Overview & Guide

API of DNS hosting. For DNS-master and Secondary services Table of contents

Published. Technical Bulletin: Use and Configuration of Quanterix Database Backup Scripts 1. PURPOSE 2. REFERENCES 3.

Alfresco Share SAML. 2. Assert user is an IDP user (solution for the Security concern mentioned in v1.0)

Lecture Notes for Advanced Web Security 2015

PCRecruiter Resume Inhaler

Corporate Telephony Toolbar User Guide

Perceptive Integration Server

Setting up single signon with Zendesk Remote Authentication

Single Sign-On Implementation Guide

Aliun Server Load Balancer API Reference Version

Exchanger XML Editor - Canonicalization and XML Digital Signatures

INTEGRATE SALESFORCE.COM SINGLE SIGN-ON WITH THIRD-PARTY SINGLE SIGN-ON USING SENTRY A GUIDE TO SUCCESSFUL USE CASE

HTTP Protocol. Bartosz Walter

Design Notes for an Efficient Password-Authenticated Key Exchange Implementation Using Human-Memorable Passwords

Electronic Questionnaires for Investigations Processing (e-qip)

LATITUDE Patient Management System

Axway API Gateway. Version 7.4.1

Qualtrics Single Sign-On Specification

Login with Amazon. Getting Started Guide for Websites. Version 1.0

FileMaker Server 12. Custom Web Publishing with XML

Integrating Autotask Service Desk Ticketing with the Cisco OnPlus Portal

BlackBerry Internet Service Using the Browser on Your BlackBerry Smartphone Version: 2.8

Transcription:

HireDesk API V1.0 Developer s Guide Revision 1.4 Talent Technology Corporation Page 1

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 Talent Technology Corporation Page 2

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. Talent Technology Corporation Page 3

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. Talent Technology Corporation Page 4

<?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 comp sig Description Your company short name as used to log in to the Hiredesk system Signature of the request, constructed using your secret key, this must be the last parameter in the request Talent Technology Corporation Page 5

Optional parameters The following querystring parameters are optional. If you don t supply them a default value will be assumed. Parameter format Description 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 Talent Technology Corporation Page 6

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> <IdValue name="source_id">12228</idvalue> <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. Talent Technology Corporation Page 7

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; } Talent Technology Corporation Page 8

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 Username Password Description Hiredesk user name 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. Talent Technology Corporation Page 9

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. Talent Technology Corporation Page 10

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 http://api.hiredesk.net http://api.hiredesk.net/login http://api.hiredesk.net/docs http://api.hiredesk.net/samplecode http://api.hiredesk.net/schemas http://api.hiredesk.net/ns Description API home page API login page API Documentation home page Sample code home page XML schema home page 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 Talent Technology Corporation Page 11

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 PUT DELETE Adds single candidate, batch add candidates Updates a single candidate or batch updates candidates 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 DELETE Reports the current stage of the job the candidate is in Removes the candidate from the job Talent Technology Corporation Page 12

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 Post data Returns on success Sample Response Default value: asc sort Sort the results based on this parameter. Valid values: any of the search attributes Default value: none None 200 OK and Candidate XML 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 Talent Technology Corporation Page 13

predicate attribute attribute comp_op constant_expression 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) Talent Technology Corporation Page 14

Samples constant_expression constant constant constant * string Dates need to be in YYYY-MM-DD format and in UTC 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 200 OK and Candidate XML success Sample Response Get Candidate Response XML sample Updating a candidate See Batch operations Updating candidates Talent Technology Corporation Page 15

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 Talent Technology Corporation Page 16

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 201 CREATED and count of candidates added success Talent Technology Corporation Page 17

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 200 OK and count of candidates updated success 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 200 OK and count of candidates deleted success Sample Request Delete Candidates Request XML sample Talent Technology Corporation Page 18

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 PUT Adds a single job. NOTE: Currently does not support batch adding jobs 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 Talent Technology Corporation Page 19

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 200 OK and Job XML success 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. Talent Technology Corporation Page 20

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 Post data sort None Default value: asc Sort the results based on this parameter. Valid values: any of the search attributes Default value: none Returns on success Sample Response 200 OK and XML with limited job information and count of jobs 404 NOT FOUND - if no results were found for search criteria Search Jobs Response XML sample Talent Technology Corporation Page 21

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 201 OK and a count of jobs added success 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 200 OK and Job XML success Sample Response Update Job Request XML sample Talent Technology Corporation Page 22

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 Sample Request 412 PRE CONDITION FAILED if the job status doesn t allow the addition of candidates Add Candidates to a job Request XML sample Talent Technology Corporation Page 23

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 Talent Technology Corporation Page 24

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> <IdValue name="source_id">10946</idvalue> <IdValue name="pers_id">12f1a93d-754a-4562-8402- acf5a645473d</idvalue> <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> <IdValue name="source_id">5029</idvalue> <IdValue name="pers_id">12dd97f1-6067-4fc4-9bbfff61caaad909</idvalue> <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> <IdValue name="source_id">10425</idvalue> <IdValue name="pers_id">127c8c54-3a00-4743-8b3d- 1eaf53a2a697</IdValue> Talent Technology Corporation Page 25

<CandidateProfile> <PersonalData> <PersonName> <GivenName>Jonathan</GivenName> <FamilyName>Smith</FamilyName> <EmailAddress>jon@abccompany.com</EmailAddress> </PersonName> </PersonalData> </CandidateProfile> </CandidateRecordInfo> </Candidate> </Candidates> Get Candidate Response XML sample <?xml version="1.0" encoding="utf-8"?> <Candidate> <CandidateRecordInfo> <IdValue name="source_id">10425</idvalue> <IdValue name="pers_id">907c8c54-3a00-4743-3344r-1eaf53a2a697</idvalue> </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>jon@abccompany.com</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> Talent Technology Corporation Page 26

<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 Talent Technology Corporation Page 27

and knowledge.</objective> [CA]</CountryCode> <EmploymentHistory> <EmployerOrg index="1"> <EmployerOrgName>ABC Corporation</EmployerOrgName> <EmployerContactInfo> <LocationSummary> <Municipality>Vancouver</Municipality> <Region>British Columbia [BC]</Region> <CountryCode>Canada </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"> Talent Technology Corporation Page 28

<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> Talent Technology Corporation Page 29

</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... Talent Technology Corporation Page 30

...... </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"> Talent Technology Corporation Page 31

<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>mike@thecompany.com</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 Talent Technology Corporation Page 32

school.</objective> Industry</EmployerOrgName> <EmploymentHistory> <EmployerOrg index="1"> <EmployerOrgName>ABC <EmployerContactInfo> <LocationSummary> <Municipality>Vancouver</Municipality> [BC]</Region> [CA]</CountryCode> <OrganizationName></OrganizationName> <Region>British Columbia <CountryCode>Canada </LocationSummary> </EmployerContactInfo> <PositionHistory> <Title>Supervisor</Title> <OrgName> </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> Talent Technology Corporation Page 33

[CA]</CountryCode> [B. Com]</DegreeName> <YearMonth>11/2001</YearMonth> 4.00</MeasureValue> <Region>British Columbia [BC]</Region> <CountryCode>Canada <PostalCode>D1W2A2</PostalCode> </LocationSummary> <Degree> <DegreeName>Bachelors Of Commerce <DegreeDate> </DegreeDate> <OtherHonors></OtherHonors> <DegreeMajor> <Name>Accountancy</Name> </DegreeMajor> <DegreeMinor> <Name></Name> </DegreeMinor> </Degree> <Measure measuretype="gpa"> <MeasureSystem>GPA</MeasureSystem> <MeasureValue>3.66- </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> Talent Technology Corporation Page 34

</Candidates> <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> Talent Technology Corporation Page 35

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>mike@thecompany.com</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> Talent Technology Corporation Page 36

<Municipality>Vancouver</Municipality> Columbia [BC]</Region> [CA]</CountryCode> <OrganizationName></OrganizationName> primaryindicator="false"> <Region>British <CountryCode>Canada </LocationSummary> </EmployerContactInfo> <PositionHistory> <Title>Supervisor</Title> <OrgName> </OrgName> <OrgIndustry <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> Talent Technology Corporation Page 37

<LocationSummary> <Municipality>Vancouver</Municipality> [BC]</Region> [CA]</CountryCode> <PostalCode>V1W2A2</PostalCode> Commerce [B. Com]</DegreeName> <YearMonth>11/2001</YearMonth> <Name>Accountancy</Name> <MeasureSystem>GPA</MeasureSystem> 4.00</MeasureValue> <Region>British Columbia <CountryCode>Canada </LocationSummary> <Degree> <DegreeName>Bachelors Of <DegreeDate> </DegreeDate> <OtherHonors></OtherHonors> <DegreeMajor> </DegreeMajor> <DegreeMinor> <Name></Name> </DegreeMinor> </Degree> <Measure measuretype="gpa"> <MeasureValue>3.66- </Measure> <DatesofAttendance> <StartDate> <YearMonth>11/2003</YearMonth> </StartDate> </DatesofAttendance> <UserArea /> </SchoolOrInstitution> </EducationHistory> <LicensesandCertifications> <LicenseorCertification index="1"> <Name></Name> <EffectiveDate> <ValidFrom> <YearMonth></YearMonth> </ValidFrom> <ValidTo> Talent Technology Corporation Page 38

<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> </Resume> <UserArea> <R esumesource><! Optional Used ONLY when adding a candidate using a Non-Xml Resume--> <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> <Candidate>... </Candidate> </Candidates> Talent Technology Corporation Page 39

Update Candidates Request XML sample <?xml version="1.0" encoding="utf-8"?> <Candidates> <Candidate> <CandidateRecordInfo> <IdValue name="source_id">11040</idvalue> <IdValue name="pers_id">123769b9-75c9-48c5-bba2-643d4c75a7cb</idvalue> </CandidateRecordInfo> <CandidateProfile> <PersonalData> <PersonName> <GivenName>Michael_Updated</GivenName> <PreferredGivenName>Jon</PreferredGivenName> <MiddleName></MiddleName> <FamilyName>Flowers_Updated</FamilyName> <Affix type="generation"></affix> <Affix type="qualification"></affix> </PersonName> </PersonalData> </CandidateProfile> </Candidate> <Candidate> <CandidateRecordInfo> <IdValue name="source_id">3040</idvalue> <IdValue name="pers_id">334569b9-75c9-48c5-bba2-643d4c75a7cb</idvalue> </CandidateRecordInfo> <CandidateProfile> <PersonalData> <PersonName> <GivenName>Matt_Updated</GivenName> <PreferredGivenName>Jon</PreferredGivenName> <MiddleName></MiddleName> <FamilyName>Klane_Updated</FamilyName> <Affix type="generation"></affix> <Affix type="qualification"></affix> </PersonName> </PersonalData> </CandidateProfile> </Candidate> </Candidates> Talent Technology Corporation Page 40

Get status of a candidate in a particular job Response XML sample <?xml version="1.0" encoding="utf-8"?> <Job href="http://api.hiredesk.net/v1/jobs/8038d843-b07b-4cb0-9b08-6ceec4fae97e"> <IdValue name="jobid">1281</idvalue> <IdValue name="proj_id">8038d843-b07b-4cb0-9b08-6ceec4fae97e</idvalue> <Title>Supervisor</Title> <dateadded>8/14/2007 9:08:39 AM</dateadded> <dateapplied>8/20/2007 9:57:42 AM</dateapplied> <stages> <stage> <IdValue name="stage_instance_name">screened</idvalue> <IdValue name="stage_instance_id">55d6a59d-2415-3456-a98c- 06cffe978f51</IdValue> <datemoved>11/18/2008 2:12:44 PM</datemoved> </stage> </stages> </Job> Get all jobs that a candidate applied for Response XML sample <?xml version="1.0" encoding="utf-8"?> <Jobs> <Job href="http://api.hiredesk.net/v1/jobs/9938d843-b07b-4cb0-9b08-6ceec4fae97e"> <IdValue name="jobid">1281</idvalue> <IdValue name="proj_id">9938d843-b07b-w34r-9b08-6ceec4fae97e</idvalue> <Title>Supervisor</Title> <dateadded>8/14/2007 9:08:39 AM</dateadded> <dateapplied>8/20/2007 9:57:42 AM</dateapplied> <stages> <stage> <IdValue name="stage_instance_name">screened</idvalue> <IdValue name="stage_instance_id">34d6a59d-23dr-4072- a98c-06cffe978f51</idvalue> <datemoved>11/18/2008 2:12:44 PM</datemoved> </stage> </stages> </Job> Talent Technology Corporation Page 41

<Job href="http://api.hiredesk.net/v1/jobs/810b14ad-8ff3-4859-9e03-8e1847a4d154"> <IdValue name="jobid">1276</idvalue> <IdValue name="proj_id">810b14ad-8ff3-4859-9e03-8e1847a4d154</idvalue> <Title>Manager</Title> <dateadded>8/10/2007 10:39:31 AM</dateadded> <dateapplied>8/20/2007 9:59:11 AM</dateapplied> <stages> <stage> <IdValue name="stage_instance_name">new</idvalue> <IdValue name="stage_instance_id">fdacf9b7-45r6-47af- 96be-16e9b1cb0e79</IdValue> <datemoved>8/20/2007 9:59:11 AM</datemoved> </stage> </stages> </Job> <Job href="http://api.hiredesk.net/v1/jobs/111edbeb-6f63-45ab-ba14-b6d16a8d7636"> <IdValue name="jobid">1240</idvalue> <IdValue name="proj_id">111edbeb-6f63-rt67-ba14-b6d16a8d7636</idvalue> <Title>Accountant</Title> <dateadded>6/13/2007 9:41:07 AM</dateadded> <dateapplied>6/26/2007 1:15:56 PM</dateapplied> <stages> <stage> <IdValue name="stage_instance_name">new</idvalue> <IdValue name="stage_instance_id">38491272-dfgh-4113- ab1a-9f4c92ac447d</idvalue> <datemoved>6/26/2007 1:15:56 PM</datemoved> </stage> </stages> </Job> <Job href="http://api.hiredesk.net/v1/jobs/d1d02adc-f38d-4e2e-8af0-05535b83a643"> <IdValue name="jobid">1289</idvalue> <IdValue name="proj_id">d1d02adc-f38d-4e2e-8af0-05535b83a643</idvalue> <Title>Supervisor</Title> <dateadded>8/29/2007 12:39:38 PM</dateadded> <dateapplied>9/3/2007 2:33:57 PM</dateapplied> <stages> <stage> <IdValue name="stage_instance_name">rejected</idvalue> <IdValue name="stage_instance_id">1f38ede3-3455-4b8b- Talent Technology Corporation Page 42

b622-a73f3c5d30d4</idvalue> <datemoved>9/12/2007 12:07:38 PM</datemoved> </stage> </stages> </Job> </Jobs> 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>mike@thecompany.com</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> Talent Technology Corporation Page 43

school.</objective> Industry</EmployerOrgName> <Resume> <StructuredResume> <Objective>To obtain a manager position in an elementary <EmploymentHistory> <EmployerOrg index="1"> <EmployerOrgName>ABC <EmployerContactInfo> <LocationSummary> <Municipality>Vancouver</Municipality> Columbia [BC]</Region> [CA]</CountryCode> <OrganizationName></OrganizationName> primaryindicator="false"> <Region>British <CountryCode>Canada </LocationSummary> </EmployerContactInfo> <PositionHistory> <Title>Supervisor</Title> <OrgName> </OrgName> <OrgIndustry <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> Talent Technology Corporation Page 44

College"> College</SchoolName> <UserArea /> </EmployerOrg> </EmploymentHistory> <EducationHistory> <SchoolOrInstitution index="1" schooltype="private <School> <SchoolName>The Main </School> <LocationSummary> <Municipality>Vancouver</Municipality> [BC]</Region> [CA]</CountryCode> <PostalCode>V1W2A2</PostalCode> Commerce [B. Com]</DegreeName> <YearMonth>11/2001</YearMonth> <Name>Accountancy</Name> <MeasureSystem>GPA</MeasureSystem> 4.00</MeasureValue> <Region>British Columbia <CountryCode>Canada </LocationSummary> <Degree> <DegreeName>Bachelors Of <DegreeDate> </DegreeDate> <OtherHonors></OtherHonors> <DegreeMajor> </DegreeMajor> <DegreeMinor> <Name></Name> </DegreeMinor> </Degree> <Measure measuretype="gpa"> <MeasureValue>3.66- </Measure> <DatesofAttendance> <StartDate> <YearMonth>11/2003</YearMonth> </StartDate> </DatesofAttendance> <UserArea /> </SchoolOrInstitution> </EducationHistory> Talent Technology Corporation Page 45

<LicensesandCertifications> <LicenseorCertification index="1"> <Name></Name> <EffectiveDate> <ValidFrom> <YearMonth></YearMonth> <YearMonth></YearMonth> </ValidFrom> <ValidTo> </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> </Resume> <UserArea> <R esumesource><! Optional Used ONLY when adding a candidate using a Non-Xml Resume--> <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--> Talent Technology Corporation Page 46

</ResumeSource> </UserArea> </CandidateProfile> </Candidate> <Candidate>... </Candidate> </Candidates> Update Candidates Request XML sample <?xml version="1.0" encoding="utf-8"?> <Candidates> <Candidate> <CandidateRecordInfo> <IdValue name="source_id">11040</idvalue> <IdValue name="pers_id">123769b9-75c9-48c5-bba2-643d4c75a7cb</idvalue> </CandidateRecordInfo> <CandidateProfile> <PersonalData> <PersonName> <GivenName>Michael_Updated</GivenName> <PreferredGivenName>Jon</PreferredGivenName> <MiddleName></MiddleName> <FamilyName>Flowers_Updated</FamilyName> <Affix type="generation"></affix> <Affix type="qualification"></affix> </PersonName> </PersonalData> </CandidateProfile> </Candidate> <Candidate> <CandidateRecordInfo> <IdValue name="source_id">3040</idvalue> <IdValue name="pers_id">334569b9-75c9-48c5-bba2-643d4c75a7cb</idvalue> </CandidateRecordInfo> <CandidateProfile> <PersonalData> <PersonName> <GivenName>Matt_Updated</GivenName> <PreferredGivenName>Jon</PreferredGivenName> <MiddleName></MiddleName> Talent Technology Corporation Page 47

<FamilyName>Klane_Updated</FamilyName> <Affix type="generation"></affix> <Affix type="qualification"></affix> </PersonName> </PersonalData> </CandidateProfile> </Candidate> </Candidates> Delete Candidates Request XML sample <?xml version="1.0" encoding="utf-8"?> <Candidates> <Candidate> <CandidateRecordInfo> <IdValue name="source_id">1362</idvalue> <IdValue name="pers_id">544589b9-75c9-48c5-bba2-643d4c75a7cb</idvalue> </CandidateRecordInfo> </Candidate> <Candidate> <CandidateRecordInfo> <IdValue name="source_id">3040</idvalue> <IdValue name="pers_id">324669b9-75c9-48c5-bba2-643d4c75a7cb</idvalue> </CandidateRecordInfo> </Candidate> </Candidates> Talent Technology Corporation Page 48

Job API XML Samples Get List of Talent Portals Response XML sample <?xml version="1.0" encoding="utf-8"?> <TalentPortals> <TalentPortal href= http://api.hiredesk.net/v1/jobs/talentportal/1 > <TalentPortalRecordInfo> <IdValue name="talent_portal_id">1</idvalue> </TalentPortalRecordInfo> <TalentPortalName>English Talent Portal</TalentPortalName> </TalentPortal > <TalentPortal href= http://api.hiredesk.net/v1/jobs/talentportal/2 > <TalentPortalRecordInfo> <IdValue name="talent_portal_id">2</idvalue> </TalentPortalRecordInfo> <TalentPortalName>French Talent Portal</TalentPortalName> </TalentPortal > </ TalentPortals > Get List of Jobs for Talent Portal Response XML sample <?xml version="1.0" encoding="utf-8"?> <TalentPortal href= http://api.hiredesk.net/v1/jobs/talentportal/1 > <TalentPortalRecordInfo> <IdValue name="talent_portal_id">1</idvalue> </TalentPortalRecordInfo> <TalentPortalName>English Talent Portal</TalentPortalName> <PositionOpenings count= 2 > <PositionOpening href= http://api.hiredesk.net/v1/job/2564 > <PositionRecordInfo> <IdValue name="proj_id"> 544769B9-CCD9-48C5-BBA2-643D4C75A7CB </IdValue> <IdValue name="internalid">2564</idvalue> </ PositionRecordInfo > <PositionProfile> <PositionDetail> <PositionTitle>Job 123</PositionTitle> </PositionDetail> </PositionProfile> </ PositionOpening> Talent Technology Corporation Page 49

<PositionOpening href= http://api.hiredesk.net/v1/job/3333 > <PositionRecordInfo> <IdValue name="proj_id"> 8943B9-FXD9-48C5-BBA2-643ERTB457CB </IdValue> <IdValue name="internalid">3333</idvalue> </ PositionRecordInfo > <PositionProfile> <PositionDetail> <PositionTitle>Job 456</PositionTitle> </PositionDetail> </PositionProfile> </ PositionOpening> </PositionOpenings> </TalentPortal> Get Job Response XML sample <?xml version="1.0" encoding="utf-8"?> <PositionOpening href="http://qamainapi.hiredesk.net/v1/job/e4h1472"> <PositionRecordInfo> <IdValue name="proj_id">f47a545e-2701-4e4e-b3ee-e4a85fe39a46</idvalue> <IdValue name="internalid"> E4H1472</IdValue> </PositionRecordInfo> <PositionSupplier relationship="team lead"> <EntityName>Plotner, Greg</EntityName> <SupplierId> <IdValue name="pers_id">d473e523-eb86-428b-9a59-62c45fdafad4</idvalue> </SupplierId> </PositionSupplier> <PositionSupplier relationship="primary hiring manager"> <EntityName>Plotner, Greg</EntityName> <SupplierId> <IdValue name="pers_id">26e2aea2-f04d-4cfe-bea9-dcea3dfbf4db</idvalue> </SupplierId> </PositionSupplier> > <PositionProfile xml:lang="en-us"> <HowToApply> <ApplicationMethod> <InternetEmailAddress>E4H1472.CompanyShortName@hiredesk.net</InternetEmailAddress> </ApplicationMethod> </HowToApply> Talent Technology Corporation Page 50

<HowToApply> <ApplicationMethod> <InternetWebAddress>qamaintp.hiredesk.net/register/apply.asp?Comp=Mycomp&TP_ID=1&PR OJ_ID=732b9b82-3e38-4dd2-99e1-f8fe7b9afadd</InternetWebAddress> </ApplicationMethod> </HowToApply> <HowToApply> <ApplicationMethod> <InternetWebAddress>qamaintp.hiredesk.net/register/apply.asp?Comp=MyComp&TP_ID=7&PR OJ_ID=732b9b82-3e38-4dd2-99e1-f8fe7b9afadd</InternetWebAddress> </ApplicationMethod> </HowToApply> <PositionDateInfo> <StartDate>7/1/2010</StartDate><!--Project Start Date--> <ExpectedEndDate>8/15/2010</ExpectedEndDate><!--Project End Date--> </PositionDateInfo> <PositionDetail> <PositionTitle fieldid="006001002003">independent Consultants - with 201(k)</PositionTitle> <UserArea> <JobStatus> <Name>Open</Name> <IdValue>69991b45-7c77-474c-9ad6-88104205cfc1</IdValue> </JobStatus> <HiringWorkFlow> <Name>Long Term Contract</Name> <IdValue>f183e190-1f50-4cb7-9e5c-9e037216f5f5</IdValue> </HiringWorkFlow> </UserArea> </PositionDetail> <UserArea> <!--This is where all User Defined Fileds go--> <UserDefinedTabs> <Tab id="006001002" name="details"> <field id="006001002023" name="date Added">11/6/2007 8:44:12 AM</field> <field id="006001002001" name="start Date or Available"></field> <field id="006001002002" name="ending Date"></field> <field id="006001002004" name="background"> This Company, in collaboration with <a href="http://www.e4h.com" target="blank"><b>experience 4 Hire</b></a></b> is building a database of knowledge based individuals who wish to continue their careers in the Oil and Gas Industry via project based consulting assignments or mentoring and coaching roles. <h2>independent Consultants, Contractors, Freelancers and 1099s</h2> <b>have you just lost 30% or more of the 401(k) savings you were counting on for retirement?</b> Talent Technology Corporation Page 51

Are you limited to contributions of only $20,500 in 2008? How long will it take for new contributions to replace the money you've lost? <b>do you realize it now takes a 50% gain to give you a 5% return on your life long savings?</b> You're a seasoned professional with vast experience. You pick your assignments, set your pay rates, and work at your own pace. By working with Experience 4 Hire you will get: â Regularly scheduled paychecks. â Medical and prescription plan benefits for you and your family. <b>â 401(k) plan allowing contributions of $51,000+ (2.5 times most opportunities).</b> â Client-to-Client and Project-to-Project portability. â Freedom, Flexibility, Security.<p> </field> <field id="006001002005" name="description"></field> <field id="006001002006" name="requirements"> Click on the Apply link below, or send your updated resume/cv with your cover letter via Email addressed to:<p><center><a target='_blank' href=mailto:1472.thiscompany@hiredesk.net?subject=this company,i_am_interested_in_e4h><b>e4h1472. ThisCompany @hiredesk.net</b></a></center><p> After we have received your resume/cv (MS Word format) and reviewed your qualifications we may send you an invitation to attend one of our Webinars and request that you complete our online Net Interview in order to update our assessment of your skills and experience. </field> <field id="006001002007" name="experience">21+ years </field> <field id="006001002012" name="project Identifier"></field> <field id="006001002013" name="rotational"></field> <field id="006001002016" name="licenses/certifications"></field> <field id="006001002017" name="core Competencies"></field> <field id="006001002020" name="languages Needed">English</field> <field id="006001002024" name="basic Qualifications"></field> <field id="006001002025" name="visa Requirements"></field> <field id="006001002026" name="job Type">Contract</field> <field id="006001002027" name="closing Date">12/12/2008</field> <field id="006001002028" name="positionfrench"></field> </Tab> <Tab id="006001001" name="hiring Organization"> <field id="006001001002" name="website">www.e4h.com</field> <field id="006001001003" name="industry">oil &amp; Gas</field> </Tab> <Tab id="006001004" name="location"> <field id="006001004001" name="country">us</field> <field id="006001004002" name="state">texas</field> <field id="006001004003" name="work Location">Various</field> <field id="006001004004" name="street Address"></field> </Tab> <Tab id="006001007" name="compensation"> Talent Technology Corporation Page 52

<field id="006001007008" name="compensation"></field> <field id="006001007009" name="incentives"></field> <field id="006001007011" name="overtime Eligibility"></field> </Tab> <Tab id="006001009" name="added Job Fields"> <field id="006001009001" name="franã ais Education"></field> <field id="006001009002" name="degree Type"></field> <field id="006001009003" name="degree Major"></field> <field id="006001009015" name="additional Information"></field> </Tab> </UserDefinedTabs> </UserArea> </PositionProfile> </PositionOpening> Search Job Response XML sample <?xml version="1.0" encoding="utf-8"?> <PositionOpenings count="2" prev="http://qamainapi.hiredesk.net/v1/jobs/q=myjobs=true&p=1&sort=title&dir=asc" next="http://qamainapi.hiredesk.net/v1/jobs/q=myjobs=true&p=3&sort=title&dir=asc"> <PositionOpening href="http://qamainapi.hiredesk.net/v1/jobs/d7f52458-ef5b-4bbd-9ae7-c419c386f519"> <PositionRecordInfo> <IdValue name="proj_id">d7f52458-ef5b-4bbd-9ae7-c419c386f519</idvalue> <IdValue name="internalid">pg11-8759</idvalue> </PositionRecordInfo> <PositionProfile xml:lang="en-us"> <PositionDetail> <PositionTitle fieldid="006001002003">accountant</positiontitle> </PositionDetail> </PositionProfile> </PositionOpening> <PositionOpening href="http://qamainapi.hiredesk.net/v1/jobs/2ffbab9e-72a3-4a77-be46-c5ff6dfbe9f5"> <PositionRecordInfo> <IdValue name="proj_id">2ffbab9e-72a3-4a77-be46-c5ff6dfbe9f5</idvalue> <IdValue name="internalid">x11-gen8793</idvalue> </PositionRecordInfo> <PositionProfile xml:lang="en-us"> <PositionDetail> <PositionTitle fieldid="006001002003">allied Health Professional</PositionTitle> </PositionDetail> </PositionProfile> </PositionOpening> </PositionOpenings> Talent Technology Corporation Page 53

Add Job Request XML sample <?xml version="1.0" encoding="utf-8"?> <PositionOpenings> <PositionOpening> <PositionRecordInfo> <IdValue name="internalid">new Internal ID</IdValue> </PositionRecordInfo> <PositionSupplier relationship="team lead"> <EntityName>Team Lead Name</EntityName> </PositionSupplier> <PositionSupplier relationship="team member"> <EntityName>Team Member Name</EntityName> </PositionSupplier> <PositionSupplier relationship="primary hiring manager"> <EntityName>Hiring Manager Name</EntityName> </PositionSupplier> <PositionSupplier relationship="hiring manager"> <EntityName>Hiring Manager Name</EntityName> </PositionSupplier> <PositionProfile xml:lang="en-us"> <HowToApply> <ApplicationMethod> <InternetEmailAddress>New Email Alias</InternetEmailAddress> <! Note: When adding a job, specify Email Alias Only. Not whole email Address. The alias will be part of the job specific email address in Hiredesk of the form [Email_Alias].[Company_Short_Name]@hiredesk.net --> </ApplicationMethod> </HowToApply> <PositionDateInfo> <StartDate>2010-06-17</StartDate> <ExpectedEndDate></ExpectedEndDate> </PositionDateInfo> <PositionDetail> <PositionTitle>Job Title</PositionTitle> <UserArea> <JobStatus> <Name> Active </Name> </JobStatus> <HiringWorkFlow> Talent Technology Corporation Page 54

<Name> Name of Hiring WorkFlow </Name> </HiringWorkFlow> </UserArea> </PositionDetail> <UserArea> <!--This is where all User Defined Fileds go--> <Tab id="006001" name="description"> <field id="00600100xxx" name="udf Field Name">Data</field> <field id="00600100xxx" name="udf Field Name">Data</field> <field id="00600100xxx" name="udf Field Name">Data</field> <field id="00600100xxx" name="udf Field Name">Data</field> <field id="00600100xxx" name="udf Field Name">Data</field> <field id="00600100xxx" name="udf Field Name">Data</field> <field id="00600100xxx" name="udf Field Name">Data</field> <field id="00600100xxx" name="udf Field Name">Data</field> </Tab> </UserArea> </PositionProfile> </PositionOpening> </PositionOpenings> Update Job Request XML sample <?xml version="1.0" encoding="utf-8"?> <PositionOpenings> <PositionOpening> <PositionRecordInfo> <IdValue name="proj_id">f47a545e-2701-4e4e-b3ee-e4a85fe39a46</idvalue> <IdValue name="internalid">internal ID</IdValue> </PositionRecordInfo> <PositionSupplier relationship="team lead"> <EntityName>Team Lead Name</EntityName> </PositionSupplier> <PositionSupplier relationship="team member"> <EntityName>Team Member Name</EntityName> </PositionSupplier> <PositionSupplier relationship="primary hiring manager"> <EntityName>Hiring Manager Name</EntityName> </PositionSupplier> Talent Technology Corporation Page 55

<PositionSupplier relationship="hiring manager"> <EntityName>Hiring Manager Name</EntityName> </PositionSupplier> <PositionProfile xml:lang="en-us"> <HowToApply> <ApplicationMethod> <InternetEmailAddress>Email Alias</InternetEmailAddress> </ApplicationMethod> </HowToApply> <PositionDateInfo> <StartDate>2010-06-17</StartDate> <ExpectedEndDate></ExpectedEndDate> </PositionDateInfo> <PositionDetail> <PositionTitle>Job Title</PositionTitle> <UserArea> <JobStatus> <Name> Active </Name> </JobStatus> <HiringWorkFlow> <Name> Name of Hiring WorkFlow </Name> </HiringWorkFlow> </UserArea> </PositionDetail> <UserArea> <!--This is where all User Defined Fileds go--> <Tab id="006001" name="description"> <field id="00600100xxx" name="udf Field Name">Data</field> <field id="00600100xxx" name="udf Field Name">Data</field> <field id="00600100xxx" name="udf Field Name">Data</field> <field id="00600100xxx" name="udf Field Name">Data</field> <field id="00600100xxx" name="udf Field Name">Data</field> <field id="00600100xxx" name="udf Field Name">Data</field> <field id="00600100xxx" name="udf Field Name">Data</field> <field id="00600100xxx" name="udf Field Name">Data</field> </Tab> </UserArea> </PositionProfile> </PositionOpening> </PositionOpenings> Talent Technology Corporation Page 56

Add Candidates to a job Request XML sample <?xml version="1.0" encoding="utf-8"?> <Candidates> <Candidate> <CandidateRecordInfo> <IdValue name="source_id">1102</idvalue> <IdValue name="pers_id">544769b9-75c9-48c5-bba2-643d4c75a7cb</idvalue> </CandidateRecordInfo> </Candidate> <Candidate> <CandidateRecordInfo> <IdValue name="source_id">3040</idvalue> <IdValue name="pers_id">324669b9-75c9-48c5-bba2-643d4c75a7cb</idvalue> </CandidateRecordInfo> </Candidate> </Candidates> Get all candidates for a job Response XML sample <?xml version="1.0" encoding="utf-8"?> <Job> <IdValue name="jobid">2117</idvalue> <IdValue name="proj_id">22a11392-0f15-we43-8253-e30e89d42a5d</idvalue> <Title>Manager ABC</Title> <DateAdded>5/9/2007 12:09:30 PM</DateAdded> <Stages> <Stage> <IdValue name="stage_instance_name">screened</idvalue> <IdValue name="stage_instance_id">3b2d42ce-8cbe-098i-be86-2d0b8a396918</idvalue> <Candidates> <Candidate href="http://api.hiredesk.net/v1/candidates/cv926b8b- 7d6c-41d3-86c9-d5d2745cec76"> <CandidateRecordInfo> <IdValue name="source_id">11228</idvalue> <IdValue name="pers_id">ea926b8b-erty- Talent Technology Corporation Page 57

41d3-86c9-d5d2745cec76</IdValue> </CandidateRecordInfo> <CandidateProfile> <PersonalData> <PersonName> <GivenName>Sandra</GivenName> <MiddleName /> <FamilyName>Smiths</FamilyName> </PersonName> </PersonalData> </CandidateProfile> <UserArea> <DateMoved>7/25/2008 1:27:34 PM</DateMoved> </UserArea> </Candidate> </Candidates> </Stage> <Stage> <IdValue name="stage_instance_name">initial Interview</IdValue> <IdValue name="stage_instance_id">d146177b-3456-48bc-bff5-3e15e83cbf3d</idvalue> <Candidates /> </Stage> <Stage> <IdValue name="stage_instance_name">rejected</idvalue> <IdValue name="stage_instance_id">d5ad3576-gbh7-4590-b038-8b80fb218bc3</idvalue> <Candidates> <Candidate href="http://api.hiredesk.net/v1/candidates/j7a5eb2c-a63b- 4e60-8cdb-e24b566d8b02"> <CandidateRecordInfo> <IdValue name="source_id">1080</idvalue> <IdValue name="pers_id">j7a5eb2c-65hg- 4e60-8cdb-e24b566d8b02</IdValue> </CandidateRecordInfo> <CandidateProfile> <PersonalData> <PersonName> <GivenName>Louis</GivenName> <MiddleName /> Talent Technology Corporation Page 58

<FamilyName>Marks</FamilyName> </PersonName> </PersonalData> </CandidateProfile> <UserArea> <DateMoved>5/17/2007 2:12:31 PM</DateMoved> </UserArea> </Candidate> </Candidates> </Stage> <Stage> <IdValue name="stage_instance_name">new</idvalue> <IdValue name="stage_instance_id">j92b8727-218d-489c-a245- c279139b8f2b</idvalue> <Candidates> <Candidate href="http://api.hiredesk.net/v1/candidates/8091b587- b77f-458f-a5a6-69030856d62a"> <CandidateRecordInfo> <IdValue name="source_id">1087</idvalue> <IdValue name="pers_id">8091b587-b77f- 458f-a5a6-69030856d62a</IdValue> </CandidateRecordInfo> <CandidateProfile> <PersonalData> <PersonName> <GivenName>Patrick</GivenName> <MiddleName /> <FamilyName>Goertz</FamilyName> </PersonName> </PersonalData> </CandidateProfile> <UserArea> <DateMoved>5/18/2007 7:05:22 AM</DateMoved> </UserArea> </Candidate> <Candidate href="http://apiqa2.hiredesk.net/v1/candidates/67d63183- f1d8-4679-acd3-71a3ddb927f2"> <CandidateRecordInfo> <IdValue name="source_id">1001</idvalue> <IdValue name="pers_id">67d63183-f1d8-4679-acd3-71a3ddb927f2</idvalue> Talent Technology Corporation Page 59

</CandidateRecordInfo> <CandidateProfile> <PersonalData> <PersonName> <GivenName>Tim</GivenName> <MiddleName></MiddleName> </Job> <FamilyName>Clerck</FamilyName> </PersonName> </PersonalData> </CandidateProfile> <UserArea> <DateMoved>5/17/2007 2:27:56 PM</DateMoved> </UserArea> </Candidate> </Candidates> </Stage> </Stages> Talent Technology Corporation Page 60