{"version":3,"sources":["../index.tsx","components/FedsearchNav/index.tsx","components/sections/IntroductionSection.jsx","components/sections/TestUrlSection.jsx","components/sections/LiveUrlSection.jsx","components/sections/AuthenticationSection.jsx","components/sections/EndpointSection.jsx","components/sections/SearchResultSection.jsx","components/sections/CandidateDetailsSection.jsx","components/sections/CvDownloadSection.jsx","components/sections/CvPreviewSection.jsx","components/sections/CreditUsageSection.jsx","components/sections/DictionarySection.jsx","components/sections/ApplicationSection.jsx","components/sections/ApplicationSummarySection.jsx","components/sections/ErrorCodeSection.jsx","components/sections/ImplementationSection.jsx","components/FederatedSearchApi/index.tsx","components/Home/index.tsx","App.tsx","registerServiceWorker.js","index.js"],"names":["FedsearchNav","props","Nav","vertical","linkData","map","link","NavItem","className","to","url","selected","display","IntroductionSection","id","Row","Col","TestUrlSection","Table","bordered","language","CodeBlock","LiveUrlSection","AuthenticationSection","Card","body","langauge","theme","EndpointSection","SearchResultSection","CandidateDetailsSection","CvDownloadSection","CvPreviewSection","CreditUsageSection","DictionarySection","ApplicationSection","ApplicationSummarySection","ErrorCodeSection","rowSpan","ImplementationSection","alt","src","md","FederatedSearchApi","useState","top","sectionInView","setSectionInView","sections","updateSectionInView","initialScrollY","forEach","section","i","window","scrollY","length","useEffect","document","querySelectorAll","el","push","getBoundingClientRect","scrollTo","addEventListener","style","paddingTop","Container","fluid","Home","href","App","exact","path","component","isLocalhost","Boolean","location","hostname","match","registerValidSW","swUrl","navigator","serviceWorker","register","then","registration","onupdatefound","installingWorker","installing","onstatechange","state","controller","console","log","catch","error","baseUrl","getElementsByTagName","getAttribute","rootElement","getElementById","ReactDOM","render","basename","URL","process","origin","fetch","response","status","headers","get","indexOf","ready","unregister","reload","checkValidServiceWorker","registerServiceWorker"],"mappings":"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","file":"static/js/main.4f79a4e6.chunk.js","sourcesContent":["Object.defineProperty(exports, \"__esModule\", { value: true });\nvar React = require(\"react\");\nvar react_syntax_highlighter_1 = require(\"react-syntax-highlighter\");\nvar hljs_1 = require(\"react-syntax-highlighter/dist/cjs/styles/hljs\");\nvar CodeBlock = function (props) {\n var style = props.theme === 'dark' ? hljs_1.atomOneDark : hljs_1.docco;\n return (React.createElement(react_syntax_highlighter_1.default, { language: props.langauge, style: style }, props.children));\n};\nexports.default = CodeBlock;\n//# sourceMappingURL=index.js.map","import React from 'react';\nimport { HashLink as Link } from 'react-router-hash-link';\nimport { HashRouter as Router } from 'react-router-dom';\nimport { Nav, NavItem } from 'reactstrap';\nimport linkData from '../../data/linkData.json';\n\nfunction FedsearchNav(props: any) {\n return (\n \n \n \n );\n};\n\nexport default FedsearchNav;\n","import React from 'react';\nimport { Row, Col } from 'reactstrap';\nimport { HashLink as Link } from 'react-router-hash-link';\n\nfunction IntroductionSection() {\n return (\n
\n \n \n

Introduction

\n

\n StepStone UK has created a Federated Search API to enable our clients easy and fast access to our\n Candidates database (CVDB) through 3rd parties.\n

\n

\n The Federated Search API consists of the following endpoints that mimic our CVDB features:\n

\n \n \n
\n
\n )\n}\n\nexport default IntroductionSection\n","import React from 'react';\nimport {Row, Col, Table } from 'reactstrap';\nimport CodeBlock from '../CodeBlock';\n\nfunction TestUrlSection() {\n return (\n
\n \n \n

Federated Search API Test URLs

\n

These endpoints are purely for integration and will return test data.

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
SiteBase API URL
TotalJobs\n https://recruiter.totaljobs.tjgtest.com/CandidateSearchApi\n
Caterer\n https://recruiter.caterer.tjgtest.com/CandidateSearchApi\n
Caterer Global\n https://recruiter.catererglobal.tjgtest.com/CandidateSearchApi\n
CWJobs\n https://recruiter.cwjobs.tjgtest.com/CandidateSearchApi\n
RetailChoice\n https://recruiter.retailchoice.tjgtest.com/CandidateSearchApi\n
CareerStructure\n https://recruiter.careerstructure.tjgtest.com/CandidateSearchApi\n
Jobsite\n https://recruiter.jobsite.tjgtest.com/CandidateSearchApi\n
Cityjobs\n https://recruiter.cityjobs.tjgtest.com/CandidateSearchApi\n
eMedCareers\n https://recruiter.emedcareers.tjgtest.com/CandidateSearchApi\n
Just Engineers\n https://recruiter.justengineers.tjgtest.com/CandidateSearchApi\n
\n \n
\n
\n )\n}\n\nexport default TestUrlSection\n","import React from 'react';\nimport { Row, Col, Table } from 'reactstrap';\nimport CodeBlock from '../CodeBlock';\n\nfunction LiveUrlSection() {\n return (\n
\n \n \n

Federated Search API Live URLs

\n

Candidate API base endpoint URLs are:

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
SiteBase API URL
TotalJobs\n https://recruiter.totaljobs.com/CandidateSearchApi\n
Caterer\n https://recruiter.caterer.com/CandidateSearchApi\n
Caterer Global\n https://recruiter.catererglobal.com/CandidateSearchApi\n
CWJobs\n https://recruiter.cwjobs.co.uk/CandidateSearchApi\n
RetailChoice\n https://recruiter.retailchoice.com/CandidateSearchApi\n
CareerStructure\n https://recruiter.careerstructure.com/CandidateSearchApi\n
Jobsite\n https://recruiter.jobsite.co.uk/CandidateSearchApi\n
Cityjobs\n https://recruiter.cityjobs.com/CandidateSearchApi\n
eMedCareers\n https://recruiter.emedcareers.com/CandidateSearchApi\n
Just Engineers\n https://recruiter.justengineers.net/CandidateSearchApi\n
\n \n
\n
\n )\n}\n\nexport default LiveUrlSection\n","import React from 'react';\nimport { Row, Col, Table, Card } from 'reactstrap';\nimport CodeBlock from '../CodeBlock';\n\nfunction AuthenticationSection() {\n return (\n
\n \n \n

Authentication Server (OAuth2)

\n

\n What matters to us is keeping candidates & recruiters data secure. Therefore, we implemented\n an authentication server that is described in more detail below.{' '}\n

\n

\n Candidate Search API is protected using OAuth2 authorization. In order to access API methods a valid\n authorization token needs to be included in each request header. The token can be retrieved by requesting\n OAuth endpoint.\n

\n

Test endpoint URLs for retrieving access token

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
SiteBase API URL
TotalJobs\n \n https://recruiter.totaljobs.tjgtest.com/authorisationserver/token\n \n
Caterer\n https://recruiter.caterer.tjgtest.com/authorisationserver/token\n
Caterer Global\n \n https://recruiter.catererglobal.tjgtest.com/authorisationserver/token\n \n
CWJobs\n https://recruiter.cwjobs.tjgtest.com/authorisationserver/token\n
RetailChoice\n \n https://recruiter.retailchoice.tjgtest.com/authorisationserver/token\n \n
CareerStructure\n \n https://recruiter.careerstructure.tjgtest.com/authorisationserver/token\n \n
Jobsite\n https://recruiter.jobsite.tjgtest.com/authorisationserver/token\n
Cityjobs\n https://recruiter.cityjobs.tjgtest.com/authorisationserver/token\n
eMedCareers\n \n https://recruiter.emedcareers.tjgtest.com/authorisationserver/token\n \n
Just Engineers\n \n https://recruiter.justengineers.tjgtest.com/authorisationserver/token\n \n
\n

Live endpoint URLs for retrieving access token

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
SiteBase API URL
TotalJobs\n https://recruiter.totaljobs.com/authorisationserver/token\n
Caterer\n https://recruiter.caterer.com/authorisationserver/token\n
Caterer Global\n https://recruiter.catererglobal.com/authorisationserver/token\n
CWJobs\n https://recruiter.cwjobs.co.uk/authorisationserver/token\n
RetailChoice\n https://recruiter.retailchoice.com/authorisationserver/token\n
CareerStructure\n https://recruiter.careerstructure.com/authorisationserver/token\n
Jobsite\n https://recruiter.jobsite.co.uk/authorisationserver/token\n
Cityjobs\n https://recruiter.cityjobs.com/authorisationserver/token\n
eMedCareers\n https://recruiter.emedcareers.com/authorisationserver/token\n
Just Engineers\n https://recruiter.justengineers.net/authorisationserver/token\n
\n

\n To request an authorisation token you have to have a client_id and client_secret allocated to you as the\n client. This is per brand, therefore you will get 5 separate sets of credentials.\n

\n

\n The username and password are the customer's credentials for our services and are also specific to\n the brand. As a customer can have access to multiple brands, it is important that searches are performed \n using a token obtained using the correct credentials for a given brand. It is important that you ensure \n that the customer's credentials are not shared across multiple accounts.\n

\n

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
NameTypeDescriptionRequired
client_idstringYour id provided by Stepstone UK.true
client_secretstringYour secret provided by Stepstone UK.true
usernamestringusername (this could be an alias or email address) of the recruiter accessing the resource.true
passwordstringpassword of the recruiter accessing the resource.true
grant_typestring\n This will always be password.\n true
scopestring\n For this product this will always be CVDatabase.\n true
client_user_idstring\n Internal API client user identifier (user id or username from your database).\n true
client_device_idstring\n Unique browser identifier{' '}\n \n (long lifespan cookie with random unique value can be created and this value can be used as this\n browser device identifier.)\n \n \n Optional\n
\n \n
\n \n \n \n

Curl Example

\n \n {`curl -X POST https://recruiter.totaljobs.com/AuthorisationServer/token \\\\\\n-d 'username=example@stepstone.co.uk&password=Password1&grant_type=password&scope=CVDatabase&client_id=bbdb67a5-0e21-4aed-bec0-6cdb2b7e480d&client_secret=MySecret&client_user_id=ExampleId' \\\\\\n-H 'content-type: application/x-www-form-urlencoded'`}\n \n

REQUEST HEADERS

\n \n content-type: application/x-www-form-urlencoded\n \n

RESPONSE HEADERS

\n \n {`content-type: application/json; charset=utf-8\\nstatus: 200 OK`}\n \n

RESPONSE BODY

\n \n {`{ \\n\\t\"access_token\": \"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlIjoiQ2FuZGlkYXRlIFNlYXJjaCBVc2VyIiwic2l0ZUlkIjoiNCIsInVuaXF1ZV9uYW1lIjoiMzM5MTc1YWQtMTEwNS00OWVkLTk3MzQtOTU0YzM5NzJjNTNjIiwiY2xpZW50SWQiOiIwMUQ0MzFCNy02REMwLTRERDEtQkYzMS0xRDQwNzlEMTI0QkEiLCJjbGllbnRVc2VySWQiOiJBIiwiaXNzIjoiUmVjcnVpdGVyIiwiYXVkIjoiYWxsIiwiZXhwIjoxNjE3MjcxODA3LCJuYmYiOjE2MTcyNzAwMDcsIlNzYVNlc3Npb25JZCI6ImNkODNjMTcyLThkZGUtNDEwNy1hNzRjLTY1NjlhMGU3YTQ2ZSJ9.gLBhEwpM5Ezh0PihC1ZCNdf4moZy2qNp1Y23NL_MYto\",\\n\\t\"token_type\": \"bearer\",\\n\\t\"expires_in\": 1799\\n}`}\n \n
\n \n
\n \n \n

Header Value

\n

\n Please note that all API calls (except calls to Dictionary endpoint) require a valid token to be included\n in the request header.\n

\n

\n As a client of the service, you must request a separate token per customer of the API. It is important\n that you retain the token for each customer using the service and are responsible for requesting\n replacement tokens when they expire. The token must not be stored on the customer's machine\n (browser session).\n

\n \n

REQUEST HEADERS

\n \n {`Authorization: bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlIjoiQ2FuZGlkYXRlIFNlYXJjaCBVc2VyIiwic2l0ZUlkIjoiNCIsInVuaXF1ZV9uYW1lIjoiMzM5MTc1YWQtMTEwNS00OWVkLTk3MzQtOTU0YzM5NzJjNTNjIiwiY2xpZW50SWQiOiIwMUQ0MzFCNy02REMwLTRERDEtQkYzMS0xRDQwNzlEMTI0QkEiLCJjbGllbnRVc2VySWQiOiJBIiwiaXNzIjoiUmVjcnVpdGVyIiwiYXVkIjoiYWxsIiwiZXhwIjoxNjE3MjcxODA3LCJuYmYiOjE2MTcyNzAwMDcsIlNzYVNlc3Npb25JZCI6ImNkODNjMTcyLThkZGUtNDEwNy1hNzRjLTY1NjlhMGU3YTQ2ZSJ9.gLBhEwpM5Ezh0PihC1ZCNdf4moZy2qNp1Y23NL_MYto`}\n \n
\n \n
\n
\n )\n}\n\nexport default AuthenticationSection\n","import React from 'react';\nimport { Row, Col, Table, Card } from 'reactstrap';\nimport CodeBlock from '../CodeBlock';\nimport { HashLink as Link } from 'react-router-hash-link';\n\nfunction EndpointSection() {\n return (\n
\n \n \n

Endpoints

\n

\n Please note that all API calls (except calls to Dictionary endpoint) require a valid token to be included\n in the request header (see the details in the Authorization Server section) as well as the client user id\n provided.\n

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
NameTypeDescriptionRequired
Authorizationstring{`bearer {access_token}`}true
client_user_idstring\n Internal API client user identifier{' '}\n (user id or username from your database (same value as in authorization request))\n \n Optional\n
client_device_idstring\n Unique browser identifier{' '}\n \n (long lifespan cookie with random unique value can be created and this value can be used as this\n browser device identifier (same value as in authorization request).)\n \n \n Optional\n
\n \n
\n \n \n

Search

\n

\n Search for candidates by sending a POST request to /Search.\n

\n

\n Filter values are validated and validation messages are being returned and values for lookups (like\n countries, languages, etc.) are exposed through dictionary endpoint /Dictionary\n

\n

Candidate's Activity

\n

\n Current version of Search introduces a possibility of expanding candidate's data by their\n applications summary. Full information regarding schema is available in application summary data\n chapter, response section. Please refer to below parameters table for details regarding switching this\n option on.\n

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
NameTypeDescriptionRequired
includeCandidatesActivityboolean\n If set to true, enables Candidate's application summary data available in search results.{' '}\n (Default value is false)\n \n Optional\n
\n

\n Example endpoint: /Search?includeCandidatesActivity=true\n

\n

Facets

\n

\n Faceted search is a major extension to normal search mode. It provides new Facets object in result set.\n Facets may be used to perform subsequent search requests, based on values they provide. For example and\n details how to use facets please refer to Facets usage guide chapter. To switch Faceted search on, provide\n the appropriate parameter in request URL. Please check Parameters table below.\n

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
NameTypeDescriptionRequired
includeFacetsboolean\n If set to true, enables Candidate's application summary data available in search results.{' '}\n (Default value is false)\n \n Optional\n
\n

\n Example endpoint: /Search?includeFacets=true\n

\n

Usage Type

\n Optional\n

\n Specify how search is being used, there are only two options allowed here Auto and{' '}\n Manual\n

\n \n

USAGE TYPE REQUEST HEADER EXAMPLE

\n \n {`UsageType: Auto`}\n \n
\n \n
\n \n \n

\n Request Model Definition(filters common for all brands)\n

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
NameTypeDescriptionRequired
\n Sort\n object\n Defines whether the results should be displayed in an ascending or descending order and which\n column the sort should be applied against.\n true
\n Page\n objectDefines the max number of candidates to be returned and the page number.true
LastActivityDateDate\n Required format dd/MM/yyyy HH:mm:ss only return candidates who have been active between now\n and the date provided.\n true
SearchTypestring\n Specify which part of the candidates records to search against, there are only two options allowed\n here JobTitle and ProfileAndCV.\n true
SearchOptionstring\n

There are only two options allowed here:

\n

\n SmartSearch - We take the given search term(s), tokenise and extrapolate the terms\n to broaden the search.\n

\n

\n ProfileAndCV - We use the exact search term(s) provided to perform the search.\n

\n
false
SearchTextstringKeywords to search against, this may also contain a boolean query.false
\n Salary\n objectDefines the salary range and salary type.false
\n SalaryHour{' '}\n \n (facet)\n \n string array\n Facet parameter, use one of values returned in SalaryHour facet.\n false
\n SalaryDay{' '}\n \n (facet)\n \n string array\n Facet parameter, use one of values returned in SalaryDay facet.\n false
\n SalaryAnnual{' '}\n \n (facet)\n \n string array\n Facet parameter, use one of values returned in SalaryAnnual facet.\n false
\n JobDescription{' '}\n \n (facet)\n \n string array\n Facet parameter, use one of values returned in JD facet.\n false
\n Discipline{' '}\n \n (facet)\n \n string array\n Facet parameter, use one of values returned in Discipline facet.\n false
Languagesstring array\n Allows values from the /Dictionary/Languages endpoint.\n false
EducationLevel (Obsolete)string\n This has been replaced with HighestLevelOfEducation{' '}\n property. Allows values from the /Dictionary/EducationLevel endpoint.\n false
HighestLevelOfEducationstring array\n Allows values from the /Dictionary/EducationLevel endpoint. This property is also a{' '}\n facet, values from HighestLevelOfEducation facet can\n also be used.\n false
Countriesstring array\n Allows values from the /Dictionary/Countries endpoint. This property is also a{' '}\n facet, values from Countries facet can also be used.\n false
Hour (Obsolete)string\n This has been replaced with JobHours property. Allows values from the{' '}\n /Dictionary/JobHours endpoint.\n false
JobHoursstring array\n Allows values from the /Dictionary/JobHours endpoint. This property is also a{' '}\n facet, values from JobHours facet can also be used.\n false
DesiredLocationstring array\n Allows values from the /Dictionary/DesiredLocations endpoint.
\n Important note: cannot be used together with PostcodeDistance filter.\n
false
\n Towns{' '}\n \n (facet)\n \n string array\n Facet parameter, use one of values returned in Towns facet.\n
\n Important note: Not available when searching using DesiredLocations.\n
false
\n PostcodeDistance (Obsolete)\n object\n Important note: cannot be used together with DesiredLocation filter.\n false
CurrentLocationstring\n Allows values from the /Dictionary/SearchableLocations endpoint or properly formatted\n full postcodes or postcode out codes.\n
\n Important note: Should be used together with Radius.\n
false
Radiusint\n Distance expressed in miles. When a request is made with a radius in excess of 500 miles the value\n provided is replaced with 500 miles.\n
\n Important note: Should be used with CurrentLocation.\n
false
HideCandidatesViewedSincestring\n Allows values from the /Dictionary/HideCandidatesViewed endpoint.\n false
WillingToRelocateboolean\n Include candidates who have not specified a desired location and are therefore assumed that they\n are willing to relocate.\n
\n Important note: Should be used with CurrentLocation.\n
false
\n DrivingLicence{' '}\n \n (facet)\n \n string array\n Whether the candidate holds a driving licence. Facet parameter, use one of values returned in{' '}\n DrivingLicence facet.\n false
\n GraduationYear{' '}\n \n (facet)\n \n string array\n The candidates graduation year. Facet parameter, use one of values returned in{' '}\n GraduationYear facet.\n false
\n NoticePeriod{' '}\n \n (facet)\n \n string array\n The candidates required notice period. Facet parameter, use one of values returned in{' '}\n NoticePeriod facet.\n false
\n TargetedSearch\n objectSearch for candidates based on job title and or skills.false
\n \n
\n \n \n

Sort

\n

\n The Sort object contains the following information.\n

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
NameTypeDescriptionRequired
Descendingboolean\n If set to true will display defined column in descending order if false results will be in\n ascending order.\n true
Columnstring\n Allows values from the /Dictionary/SortColumns endpoint.\n true
\n \n

OBJECT EXAMPLE

\n \n {`\"Sort\": {\\n\\t\"Descending\": true,\\n\\t\"Column\": \"Relevancy\"\\n}`}\n \n
\n \n
\n \n \n

Page

\n

\n The Page object contains the following information.\n

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
NameTypeDescriptionRequired
MaxRecordsintegerMax number of candidates to be returned.true
Page integerResults page to be returned.true
\n \n

OBJECT EXAMPLE

\n \n {`\"Page\": {\\n\\t\"MaxRecords\": 10,\\n\\t\"Page\": 1\\n}`}\n \n
\n \n
\n \n \n

Salary

\n

\n The Salary object contains the following information.\n

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
NameTypeDescriptionRequired
SalaryRateTypestring\n Allows values from the /Dictionary/SalaryRateType endpoint.\n true
FromfloatSalary min range (£).true
TofloatSalary max range (£).true
Unspecifiedboolean\n Optional property to include candidates with unspecified salaries. If not defined will default to{' '}\n False\n false
\n \n

OBJECT EXAMPLE

\n \n {`\"Salary\": {\\n\\t\"SalaryRateType\": \"Daily Rate\",\\n\\t\"From\": 10,\\n\\t\"To\": 200\\n}`}\n \n
\n \n
\n \n \n

PostcodeDistance (Obsolete)

\n

\n The PostcodeDistance object contains the following information.\n

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
NameTypeDescriptionRequired
PostcodestringAllows valid UK Postcodes.true
Radiusfloat\n Valid radius values are equal or greater than 0. Radius can be also set to -1 for UK wide search.\n Value is defined in miles. When a request is made with a radius in excess of 500 miles the value\n provided is replaced with 500 miles.\n true
\n \n

OBJECT EXAMPLE

\n \n {`\"PostcodeDistance\": {\\n\\t\"Postcode\": \"SW1A 1AA\",\\n\\t\"Radius\": 10.5\\n}`}\n \n
\n \n
\n \n \n

TargetedSearch

\n

\n The TargetedSearch object contains the following information.\n

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
NameTypeDescriptionRequired
JobTitleTypestring\n Allows values from the /Dictionary/JobTitleType endpoint.\n false
SearchJobTitlesstringKeyword or boolean search string.false
SearchSkillsstringKeyword or boolean search string.false
SearchCvProfilestringKeyword or boolean search string.false
CvProfileTypestring\n Allows values from the /Dictionary/CvProfileType endpoint.\n false
\n \n

OBJECT EXAMPLE

\n \n {`\"TargetedSearch\": {\\n\\t\"JobTitleType\" : \"Current\",\\n\\t\"SearchJobTitles\" : \"tester\",\\n\\t\"SearchCvProfile\" : \"developer\",\\n\\t\"CvProfileType\" : \"CvOnly\",\\n\\t\"SearchSkills\" : \"java\"\\n}`}\n \n
\n \n
\n \n \n

\n Request Model Definition(Total Jobs specific filters)\n

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
NameTypeDescriptionRequired
IndustrySectorsstring array\n Allows values from the /Dictionary/TotalJobsIndustrySectors endpoint.\n false
JobType (Obsolete)string\n This has been replaced with JobTypeProfile property. Allows\n values from the /Dictionary/JobTypes endpoint.\n false
JobTypeProfilestring array\n Allows values from the /Dictionary/JobTypes endpoint or JobTypeProfile facet\n values.\n false
\n \n
\n \n \n

\n Request Model Definition(Caterer specific filters)\n

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
NameTypeDescriptionRequired
CatererPosition (Obsolete)string\n This has been replaced with CatererPositions property. Allows\n values from the /Dictionary/JobTypes endpoint or JobTypeProfile facet values.\n false
CatererPositionsstring array\n Allows values from the /Dictionary/JobTypes endpoint or JobTypeProfile facet\n values.\n false
CatererjobTypesstring array\n Allows values from the /Dictionary/CatererJobTypes endpoint.\n false
CatererEmployerTypesstring array\n Allows values from the /Dictionary/CatererEmployerTypes endpoint.\n false
\n \n
\n \n \n

\n Request Model Definition(CareerStructure specific filters)\n

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
NameTypeDescriptionRequired
CareerStructureJobRole (Obsolete)string\n This has been replaced with CareerStructureJobRoles{' '}\n property. Allows values from the /Dictionary/CareerStructureJobRoles endpoint.\n false
CareerStructureJobRolesstring array\n Allows values from the /Dictionary/CareerStructureJobRoles endpoint or{' '}\n CareerStructureJobRole facet values.\n false
CareerStructureSectors (Obsolete)string\n This has been replaced with{' '}\n CareerStructureSectorsFacet property. Allows values\n from the /Dictionary/CareerStructureSectors endpoint.\n false
CareerStructureSectorsFacetstring array\n Allows values from the /Dictionary/CareerStructureSectors endpoint or{' '}\n CareerStructureSector facet values.\n false
JobType (Obsolete)string\n This has been replaced with JobTypeProfile property. Allows\n values from the /Dictionary/JobTypes endpoint.\n false
JobTypeProfilestring array\n Allows values from the /Dictionary/JobTypes endpoint or JobTypeProfile facet\n values.\n false
\n \n
\n \n \n

\n Request Model Definition(CWJobs specific filters)\n

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
NameTypeDescriptionRequired
JobType (Obsolete)string\n This has been replaced with JobTypeProfile property. Allows\n values from the /Dictionary/JobTypes endpoint.\n false
JobTypeProfilestring array\n Allows values from the /Dictionary/JobTypes endpoint or JobTypeProfile facet\n values.\n false
\n \n
\n \n \n

\n Request Model Definition(Retail Choice specific filters)\n

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
NameTypeDescriptionRequired
JobType (Obsolete)string\n This has been replaced with JobTypeProfile property. Allows\n values from the /Dictionary/JobTypes endpoint.\n false
JobTypeProfilestring array\n Allows values from the /Dictionary/JobTypes endpoint or JobTypeProfile facet\n values.\n false
\n \n
\n \n \n

Search Request Example

\n \n

REQUEST HEADERS

\n \n {`curl -X POST \\\\\\n'https://recruiter.totaljobs.com/Search?includeFacets=true' \\\\\\n-H 'authorization: bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlIjoiQ2FuZGlkYXRlIFNlYXJjaCBVc2VyIiwic2l0ZUlkIjoiNCIsInVuaXF1ZV9uYW1lIjoiMzM5MTc1YWQtMTEwNS00OWVkLTk3MzQtOTU0YzM5NzJjNTNjIiwiY2xpZW50SWQiOiIwMUQ0MzFCNy02REMwLTRERDEtQkYzMS0xRDQwNzlEMTI0QkEiLCJjbGllbnRVc2VySWQiOiJBIiwiaXNzIjoiUmVjcnVpdGVyIiwiYXVkIjoiYWxsIiwiZXhwIjoxNjE3MjcxODA3LCJuYmYiOjE2MTcyNzAwMDcsIlNzYVNlc3Npb25JZCI6ImNkODNjMTcyLThkZGUtNDEwNy1hNzRjLTY1NjlhMGU3YTQ2ZSJ9.gLBhEwpM5Ezh0PihC1ZCNdf4moZy2qNp1Y23NL_MYto' \\\\\\n-H 'cache-control: no-cache' \\\\\\n-H 'content-type: application/json' \\\\\\n-d '{\\n\\t\"SearchText\":\"developer\",\\n\\t\"Sort\":{\\n\\t\\t\"Descending\":true,\\n\\t\\t\"Column\":\"LastActivityDate\"\\n\\t},\\n\\t\"Page\":{\\n\\t\\t\"MaxRecords\":50,\\n\\t\\t\"Page\":1\\n\\t},\\n\\t\"SearchType\":\"ProfileAndCV\",\\n\\t\"LastActivityDate\":\"01/01/2000 00:00:00\"\\n}'\\n`}\n \n
\n \n

REQUEST HEADERS

\n \n {`Authorization: bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlIjoiQ2FuZGlkYXRlIFNlYXJjaCBVc2VyIiwic2l0ZUlkIjoiNCIsInVuaXF1ZV9uYW1lIjoiMzM5MTc1YWQtMTEwNS00OWVkLTk3MzQtOTU0YzM5NzJjNTNjIiwiY2xpZW50SWQiOiIwMUQ0MzFCNy02REMwLTRERDEtQkYzMS0xRDQwNzlEMTI0QkEiLCJjbGllbnRVc2VySWQiOiJBIiwiaXNzIjoiUmVjcnVpdGVyIiwiYXVkIjoiYWxsIiwiZXhwIjoxNjE3MjcxODA3LCJuYmYiOjE2MTcyNzAwMDcsIlNzYVNlc3Npb25JZCI6ImNkODNjMTcyLThkZGUtNDEwNy1hNzRjLTY1NjlhMGU3YTQ2ZSJ9.gLBhEwpM5Ezh0PihC1ZCNdf4moZy2qNp1Y23NL_MYto\\nContent-Type: application/json`}\n \n
\n \n

REQUEST BODY

\n \n {`{\\n\\t\"SearchText\":\"developer\",\\n\\t\"Sort\":{\\n\\t\\t\"Descending\":true,\\n\\t\\t\"Column\":\"LastActivityDate\"\\n\\t},\\n\\t\"Page\":{\\n\\t\\t\"MaxRecords\":50,\\n\\t\\t\"Page\":1\\n\\t},\\n\\t\"SearchType\":\"ProfileAndCV\",\\n\\t\"LastActivityDate\":\"01/01/2000 00:00:00\"\\n}`}\n \n
\n \n
\n
\n )\n}\n\nexport default EndpointSection\n","import React from 'react';\nimport { Row, Col, Table, Card } from 'reactstrap';\nimport CodeBlock from '../CodeBlock';\nimport { HashLink as Link } from 'react-router-hash-link';\n\nfunction SearchResultSection() {\n return (\n
\n \n \n

Search Results

\n

\n /Search response model\n

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
NameTypeDescription
Candidatesobject array\n Returns an array of Candidate objects.\n
TotalResultsCountintegerTotal number of candidates returned.
Facetsobject array\n Returns an array of facet objects.\n
SearchIdstringUnique identifier for search request.
\n \n

OBJECT EXAMPLE

\n \n {`{\\n\\t\"Candidates\": […],\\n\\t\"TotalResultsCount\": 55964,\\n\\t\"Facets\": […],\\n\\t\"SearchId\": \"bELYJxD3zJo/lzpXOAjFC2h/2nsky/6oX4LgmYMcCOIoTe96+ni/2PBXo231rg0p\"\\n}`}\n \n
\n \n
\n \n \n

Candidate Object

\n

\n The candidate model returned in search results.\n

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
NameTypeDescription
IdintegerOur internal identifier for given candidate.
RelevancyintegerRelevancy score ranging from 0-100, higher is better.
ForeNamestringCandidates first name.
SurnamestringCandidates last name.
DesiredJobTitlestringCandidates requested job title.
CurrentJobTitlestringCandidates current job title.
WorkExperiencestringDuration of time spent in current job title.
TitlestringCandidates title.
PersonalSummarystringCandidates personal summary.
CvSnippetstring\n Extract taken from CV. Not provided when performing a blank search{' '}\n (no keywords in SearchText or TargetedSearch properties).\n
KeySkillsstringList of skills extracted from candidates' profile and CV.
IsAnonymousboolean\n This flag informs that candidate profile is anonymised. Information like FirstName, LastName,\n Phone and Email are not being returned. CV preview and Download CV{' '}\n options are not available for such candidates.\n
WebsiteLinksobject array\n Returns an array of WebsiteLink objects.\n
CurrentLocationstringCandidates' current location.
DesiredLocationsstring arrayCandidates' selected list of desired job locations.
Distancefloat\n Distance from postcode or current location in search criteria, if location not defined distance\n is always equal to 0\n
\n CandidateSalary\n object\n Returns a CandidateSalary object.\n
DesiredSalaryobject\n Returns a CandidateSalary object.\n
LastUpdatedDate (Obsolete)date\n This has been replaced by LastActiveDate and will always display\n the value of LastActiveDate.\n
LastApplicationDate (Obsolete)date\n This has been replaced by LastActiveDate and will always display\n the value of LastActiveDate. dd/MM/yyyy HH:mm:ss If the\n candidate has requested their application data be hidden then the endpoint will return no data.\n
\n ApplicationsData\n object\n If the candidate has requested their application data be hidden then the endpoint will return no\n data.\n
\n ViewInfo\n objectObject containing recruiter viewing data on this candidate.
\n ApplicationsSummary\n object\n Summary of candidates applications grouped by normalised job title. If the candidate has\n requested their application data be hidden then the endpoint will return no data.\n
LastActiveDatedate\n dd/MM/yyyy HH:mm:ss The date of their last application or profile update date, which ever is the\n most recent.\n
JobTypestring array\n Candidates requested job type as defined by the values outlined by the dictionary endpoint{' '}\n /Dictionary/JobTypes.\n
RegisteredDatedatedd/MM/yyyy HH:mm:ss When the candidate registered their profile.
\n \n

OBJECT EXAMPLE

\n \n {`{\\n\\t\"Id\": 11111111,\\n\\t\"ForeName\": \"John\",\\n\\t\"Surname\": \"Smith\",\\n\\t\"DesiredJobTitle\": \"warehouse operative\",\\n\\t\"CurrentJobTitle\": \"IT Technician Support\",\\n\\t\"WorkExperience\": \"11-20 years\",\\n\\t\"Title\": \"Mr\",\\n\\t\"PersonalSummary\": \"A highly motivated and hardworking individual, who has recently completed their A-Levels, achieving excellent grades in both Maths and Science. Seeking an apprenticeship in the engineering industry to build upon a keen scientific interest and start a career as a maintenance engineer.\",\\n\\t\"KeySkills\": \"IT,infrastructure,training,sales,providing training,organised,Responsible,Technology,consulting,implementation,hardware,network,folders,configuration,TCP / IP,networks,IT Management\",\\n\\t\"IsAnonymous\": false,\\n\\t\"WebsiteLinks\": [\\n\\t\\t{\\n\\t\\t\\t\"Url\": \"https://www.linkedin.com/in/john-smith-12345\",\\n\\t\\t\\t\"Type\": \"linkedin\"\\n\\t\\t}\\n\\t],\\n\\t\"CurrentLocation\": \"North West London NW3 7BA\",\\n\\t\"DesiredLocations\": [\\n\\t\\t\"London\"\\n\\t],\\n\\t\"Relevancy\": 69,\\n\\t\"Distance\": 4.7,\\n\\t\"CurrentSalary\": {\\n\\t\\t\"LowerValue\": 9,\\n\\t\\t\"UpperValue\": 9.99,\\n\\t\\t\"RateType\": \"Hour\"\\n\\t},\\n\\t\"DesiredSalary\": {\\n\\t\\t\"LowerValue\": 20000,\\n\\t\\t\"UpperValue\": 21999,\\n\\t\\t\"RateType\": \"Year\"\\n\\t},\\n\\t\"LastUpdatedDate\": \"06/04/2021 11:00:00\",\\n\\t\"LastApplicationDate\": \"06/04/2021 11:00:00\",\\n\\t\"ApplicationsData\": {\\n\\t\\t\"Count\": 15,\\n\\t\\t\"Since\": \"06/01/2021 00:00:00\"\\n\\t},\\n\\t\"ViewInfo\": {\\n\\t\\t\"ViewDate\": \"05/02/2019 10:04:50\",\\n\\t\\t\"ViewedBy\": \"OtherRecruiter\",\\n\\t\\t\"UpdatedSinceViewed\": true\\n\\t},\\n\\t\"ApplicationsSummary\": [\\n\\t\\t{\\n\\t\\t\\t\"Locations\": [\\n\\t\\t\\t\\t\"City of London, London\"\\n\\t\\t\\t],\\n\\t\\t\\t\"NormalisedJobTitle\": \"finance project manager;project manager insurance\",\\n\\t\\t\\t\"Quantity\": 2\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\t\"Locations\": [\\n\\t\\t\\t\\t\"City of London (EC1)\",\\n\\t\\t\\t\\t\"City of London, London\"\\n\\t\\t\\t],\\n\\t\\t\\t\"NormalisedJobTitle\": \"programme manager\",\\n\\t\\t\\t\"Quantity\": 2\\n\\t\\t}\\n\\t],\\n\\t\"CvSnippet\": \"Example data with mark tags for highlighting.\",\\n\\t\"LastActiveDate\": \"06/04/2021 11:00:00\",\\n\\t\"JobType\": [\\n\\t\\t\"Permanent\"\\n\\t],\\n\\t\"RegisteredDate\": \"25/11/2018 19:15:01\"\\n}`}\n \n
\n \n
\n \n \n

WebsiteLink Object

\n

\n The WebsiteLink model returned in Candidate object.\n

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
NameTypeDescription
URLstringsocial media URL string.
TypestringURL provider.
\n \n

OBJECT EXAMPLE

\n \n {`{\\n\\t\"Url\": \"https://www.linkedin.com/in/john-smith-12345\",\\n\\t\"Type\": \"linkedin\"\\n}`}\n \n
\n \n
\n \n \n

CandidateSalary Object

\n

\n The CandidateSalary model returned in Candidate object.\n

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
NameTypeDescription
LowerValuefloatLowest rate value.
UpperValuefloatHighest rate value.
RateTypestring\n Returns 1 of 3 values Year, Day & Hour.\n
\n \n

OBJECT EXAMPLE

\n \n {`{\\n\\t\"LowerValue\": 9,\\n\\tUpperValue\": 9.99,\\n\\t\"RateType\": \"Hour\"\\n}`}\n \n
\n \n
\n \n \n

ApplicationsData Object

\n

\n The ApplicationsData model returned in Candidate object.\n

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
NameTypeDescription
Countinteger\n Number of applications since LastActivityDate in search criteria (limited to 3 months from now).\n
SincedateDate used for calculating applications count.
\n \n

OBJECT EXAMPLE

\n \n {`{\\n\\t\"Count\": 15,\\n\\t\"Since\": \"06/01/2021 00:00:00\"\\n}`}\n \n
\n \n
\n \n \n

ViewInfo Object

\n

\n The ViewInfo model returned in Candidate object.\n

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
NameTypeDescription
ViewDatedate\n Date when currently logged in recruiter or recruiter from the same company viewed candidate's\n profile.\n
ViewedBystring\n Available values: None, Me, OtherRecruiter (from the same\n company).\n
UpdatedSinceViewedbooleanCandidate profile has been updated since ViewDate.
\n \n

OBJECT EXAMPLE

\n \n {`{\\n\\t\"ViewDate\": \"05/02/2019 10:04:50\",\\n\\t\"ViewedBy\": \"OtherRecruiter\",\\n\\t\"UpdatedSinceViewed\": true\\n}`}\n \n
\n \n
\n \n \n

ApplicationsSummary Object

\n

\n The ApplicationsSummary model returned in Candidate object.\n

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
NameTypeDescription
Locationsstring arrayAggregated locations.
NormalisedJobTitlestringStandard job title calcualted by TotalJobs.
QuantityintegerNumber of applications for given NormalisedJobtitle.
\n \n

OBJECT EXAMPLE

\n \n {`{\\n\\t\"Locations\": [\\n\\t\\t\"City of London (EC1)\",\\n\\t\\t\"City of London, London\"\\n\\t],\\n\\t\"NormalisedJobTitle\": \"programme manager\",\\n\\t\"Quantity\": 2\\n}`}\n \n
\n \n
\n \n \n

Facets Array

\n

\n The facet model returned in Search result object.\n

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
NameTypeDescription
TypestringUnique facet type strong name.
Itemsobject array\n Returns an array of facet item objects.\n
\n \n

OBJECT EXAMPLE

\n \n {/* eslint-disable-next-line */}\n {`\"Facets\": [\\n\\t{\\n\\t\\t\"Type\": \"JD\",\\n\\t\\t\"Items\": [\\n\\t\\t\\t{\\n\\t\\t\\t\\t\"Count\": 938,\\n\\t\\t\\t\\t\"Value\": \"Project Coordinator\",\\n\\t\\t\\t\\t\"IsSelected\": false\\n\\t\\t\\t},\\n\\t\\t\\t\\{\\n\\t\\t\\t\\t\"Count\": 780,\\n\\t\\t\\t\\t\"Value\": \"Project Manager\",\\n\\t\\t\\t\\t\"IsSelected\": false\\n\\t\\t\\t},…\\n\\t\\t]\\n\\t},…\\n]`}\n \n
\n \n
\n \n \n

Facet Item Object

\n

\n The facet model returned in Facets array.\n

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
NameTypeDescription
CountintegerTotal number of candidates that have given value selected in their profile.
ValuestringValue for given facet.
IsSelectedbooleanFlag that indicates if given facet value was used in request model.
\n \n

OBJECT EXAMPLE

\n \n {`{\\n\\t\"Type\": \"Towns\",\\n\\t\"Items\": [\\n\\t\\t{\\n\\t\\t\\t\"Count\": 13322,\\n\\t\\t\\t\"Value\": \"South West London\",\\n\\t\\t\\t\"IsSelected\": false\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\t\"Count\": 10035,\\n\\t\\t\\t\"Value\": \"South East London\",\\n\\t\\t\\t\"IsSelected\": false\\n\\t\\t},…\\n\\t]\\n}`}\n \n
\n \n
\n
\n )\n}\n\nexport default SearchResultSection\n","import React from 'react';\nimport { Row, Col, Table, Card } from 'reactstrap';\nimport CodeBlock from '../CodeBlock';\nimport { HashLink as Link } from 'react-router-hash-link';\n\nfunction CandidateDetailsSection() {\n return (\n
\n \n \n

Candidate details endpoint

\n

\n GET request to /Candidate/{`{id}`} returns the following response model.\n

\n

Optional request parameters:

\n

\n /Candidate/123456?applicationsSince=01/01/2016&includeCvPreview=true\n

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
NameTypeDescription
applicationsSincedate\n applicationsSince can be defined in following formats:\n
    \n
  • \n dd/MM/yyyy\n
  • \n
  • \n d/M/yyyy\n
  • \n
  • \n yyyy-MM-dd\n
  • \n
  • \n yyyy-M-d\n
  • \n
  • \n dd/MM/yyyy HH:mm:ss\n
  • \n
\n default value is 90 days from now\n
includeCvPreviewboolean\n Specifies whether CvPreview property will be included in the response, default value is false.\n
\n \n

Curl Example

\n \n {`curl -X GET \\\\\\n'https://recruiter.totaljobs.com/CandidateSearchApi/Candidate/123456?applicationsSince=01%2F01%2F2016&includeCvPreview=true' \\\\\\n-H 'authorization: bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlIjoiQ2FuZGlkYXRlIFNlYXJjaCBVc2VyIiwic2l0ZUlkIjoiNCIsInVuaXF1ZV9uYW1lIjoiMzM5MTc1YWQtMTEwNS00OWVkLTk3MzQtOTU0YzM5NzJjNTNjIiwiY2xpZW50SWQiOiIwMUQ0MzFCNy02REMwLTRERDEtQkYzMS0xRDQwNzlEMTI0QkEiLCJjbGllbnRVc2VySWQiOiJBIiwiaXNzIjoiUmVjcnVpdGVyIiwiYXVkIjoiYWxsIiwiZXhwIjoxNjE3MjcxODA3LCJuYmYiOjE2MTcyNzAwMDcsIlNzYVNlc3Npb25JZCI6ImNkODNjMTcyLThkZGUtNDEwNy1hNzRjLTY1NjlhMGU3YTQ2ZSJ9.gLBhEwpM5Ezh0PihC1ZCNdf4moZy2qNp1Y23NL_MYto' \\\\\\n-H 'cache-control: no-cache'`}\n \n

REQUEST HEADERS

\n \n {`Authorization: bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlIjoiQ2FuZGlkYXRlIFNlYXJjaCBVc2VyIiwic2l0ZUlkIjoiNCIsInVuaXF1ZV9uYW1lIjoiMzM5MTc1YWQtMTEwNS00OWVkLTk3MzQtOTU0YzM5NzJjNTNjIiwiY2xpZW50SWQiOiIwMUQ0MzFCNy02REMwLTRERDEtQkYzMS0xRDQwNzlEMTI0QkEiLCJjbGllbnRVc2VySWQiOiJBIiwiaXNzIjoiUmVjcnVpdGVyIiwiYXVkIjoiYWxsIiwiZXhwIjoxNjE3MjcxODA3LCJuYmYiOjE2MTcyNzAwMDcsIlNzYVNlc3Npb25JZCI6ImNkODNjMTcyLThkZGUtNDEwNy1hNzRjLTY1NjlhMGU3YTQ2ZSJ9.gLBhEwpM5Ezh0PihC1ZCNdf4moZy2qNp1Y23NL_MYto\\nContent-Type: application/json`}\n \n

RESPONSE HEADERS

\n \n {`content-type: application/json; charset=utf-8\\nstatus: 200 OK`}\n \n

RESPONSE BODY

\n \n {`{\\n\\t\"Id\": 123456,\\n\\t\"ForeName\": \"John\",\\n\\t\"Surname\": \"Doe\",\\n\\t\"DesiredJobTitle\": \"1st line support\",\\n\\t\"CurrentJobTitle\": \"IT Service Desk Analyst\",\\n\\t\"WorkExperience\": \"Over 20 years\",\\n\\t\"Title\": \"Mr\",\\n\\t\"PersonalSummary\": \"A highly motivated and hardworking individual, who has recently...\",\\n\\t\"KeySkills\": \"Quick learner,MS Office,Windows XP,Windows 7,Windows 10,Windows Server,computer hardware\",\\n\\t\"LandlinePhone\": \"1234567890\",\\n\\t\"MobilePhone\": \"1234567890\",\\n\\t\"Email\": \"example@email.com\",\\n\\t\"IsAnonymous\": false,\\n\\t\"WebsiteLinks\": [\\n\\t\\t{\\n\\t\\t\\t\"Url\": \"https://www.linkedin.com/in/john-doe-12345\",\\n\\t\\t\\t\"Type\": \"linkedin\"\\n\\t\\t}\\n\\t],\\n\\t\"DesiredLocations\": [\\n\\t\\t\"London\"\\n\\t],\\n\\t\"CurrentSalary\": {\\n\\t\\t\"LowerValue\": 104,\\n\\t\\t\"UpperValue\": 111,\\n\\t\\t\"RateType\": \"Day\"\\n\\t},\\n\\t\"DesiredSalary\": {\\n\\t\\t\"LowerValue\": 24000,\\n\\t\\t\"UpperValue\": 25999,\\n\\t\\t\"RateType\": \"Year\"\\n\\t},\\n\\t\"LastUpdatedDate\": \"08/01/2021 00:00:00\",\\n\\t\"LastApplicationDate\": \"08/01/2021 00:00:00\",\\n\\t\"ApplicationsData\": {\\n\\t\\t\"Count\": 24,\\n\\t\\t\"Since\": \"08/01/2021 00:00:00\"\\n\\t},\\n\\t\"ViewInfo\": {\\n\\t\\t\"ViewDate\": \"08/04/2021 08:05:45\",\\n\\t\\t\"ViewedBy\": \"Me\",\\n\\t\\t\"UpdatedSinceViewed\": false\\n\\t},\\n\\t\"Languages\": [],\\n\\t\"JobTypes\": [\\n\\t\\t\"Permanent\"\\n\\t],\\n\\t\"Residence\": \"UK\",\\n\\t\"EducationLevel\": \"GCSE/GNVQ/O levels\",\\n\\t\"JobHour\": \"Full Time\",\\n\\t\"CvPreview\": \"Their CV in HTML\",\\n\\t\"LastActiveDate\": \"08/04/2021 07:12:42\",\\n\\t\"RegisteredDate\": \"06/04/2015 18:23:55\"\\n}`}\n \n
\n \n
\n \n \n

Response model

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
NameTypeDescription
IdintegerOur internal identifier for given candidate.
ForeNamestringCandidates first name.
SurnamestringCandidates last name.
DesiredJobTitlestringCandidates requested job title.
CurrentJobTitlestringCandidates current job title.
WorkExperiencestringDuration of time spent in current job title.
TitlestringCandidates title.
PersonalSummarystringCandidates personal summary.
KeySkillsstringList of skills extracted from candidates' profile and CV.
LandlinePhonestringCandidate phone number.
MobilePhonestringCandidate mobile number.
EmailstringCandidates provided email address.
IsAnonymousboolean\n This flag informs that candidate profile is anonymised. Information like FirstName, LastName,\n Phone and Email are not being returned. CV preview and Download CV{' '}\n options are not available for such candidates.\n
WebsiteLinksobject array\n Returns an array of WebsiteLink objects.\n
DesiredLocationsstring arrayCandidates' selected list of desired job locations.
CurrentSalaryobject\n Returns a CandidateSalary object.\n
DesiredSalaryobject\n Returns a CandidateSalary object.\n
LastUpdatedDate (Obsolete)date\n This has been replaced by LastActiveDate and will\n always display the value of LastActiveDate.\n
LastApplicationDate (Obsolete)date\n This has been replaced by LastActiveDate and will\n always display the value of LastActiveDate. dd/MM/yyyy\n HH:mm:ss If the candidate has requested their application data be hidden then the endpoint will\n return no data.\n
\n ApplicationsData\n object\n If the candidate has requested their application data be hidden then the endpoint will return no\n data.\n
\n ViewInfo\n objectObject containing recruiter viewing data on this candidate.
JobTypestring array\n Candidates requested job type as defined by the values outlined by the dictionary endpoint{' '}\n /Dictionary/JobTypes.\n
LastActiveDatedate\n dd/MM/yyyy HH:mm:ss The date of their latest application or profile update date, which ever is the\n most recent.\n
RegisteredDatedatedd/MM/yyyy HH:mm:ss When the candidate registered their profile.
JobHourstringType of hours candidate wishes to work.
Languagesstring arrayList of languages selected by candidate.
EducationallevelstringHighest level of education.
ResidencestringCountry of residence.
CvPreviewstring\n HTML string of candidate CV, Included only when includeCvPreview parameter is set to true (for\n non-anonymous candidates).\n
\n \n
\n
\n )\n}\n\nexport default CandidateDetailsSection\n","import React from 'react';\nimport { Row, Col, Card } from 'reactstrap';\nimport CodeBlock from '../CodeBlock';\n\nfunction CvDownloadSection() {\n return (\n
\n \n \n

CV download endpoint (/cv/{id1},{id2},{id3})

\n

\n GET request to /cv/{`{id}`} returns the following response model.\n

\n

\n {`{id}`} represents the candidate ID provided in the search result and candidate objects.\n The endpoint allows a {`,`} delimited list.\n

\n

\n The file that you get is in zip format. To retrieve cvs you need to unzip it. Zip filenames will follow\n filename convention: {`CVs-{0:yyyy-MMM-dd-hhmmss}.zip`}.\n

\n

\n Cvs contained in the zip file will have following naming convention:{' '}\n {`{candidate_forename} {candidate_surname} ({candidate_id}).{extension}`}.\n

\n

Returns results only for non-anonymous candidates.

\n \n

Curl Example

\n \n {`curl -X GET \\\\\\n'https://recruiter.totaljobs.com/CandidateSearchApi/cv/123456' \\\\\\n-H 'authorization: bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlIjoiQ2FuZGlkYXRlIFNlYXJjaCBVc2VyIiwic2l0ZUlkIjoiNCIsInVuaXF1ZV9uYW1lIjoiMzM5MTc1YWQtMTEwNS00OWVkLTk3MzQtOTU0YzM5NzJjNTNjIiwiY2xpZW50SWQiOiIwMUQ0MzFCNy02REMwLTRERDEtQkYzMS0xRDQwNzlEMTI0QkEiLCJjbGllbnRVc2VySWQiOiJBIiwiaXNzIjoiUmVjcnVpdGVyIiwiYXVkIjoiYWxsIiwiZXhwIjoxNjE3MjcxODA3LCJuYmYiOjE2MTcyNzAwMDcsIlNzYVNlc3Npb25JZCI6ImNkODNjMTcyLThkZGUtNDEwNy1hNzRjLTY1NjlhMGU3YTQ2ZSJ9.gLBhEwpM5Ezh0PihC1ZCNdf4moZy2qNp1Y23NL_MYto' \\\\\\n-H 'cache-control: no-cache'`}\n \n

REQUEST HEADERS

\n \n {`Authorization: bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlIjoiQ2FuZGlkYXRlIFNlYXJjaCBVc2VyIiwic2l0ZUlkIjoiNCIsInVuaXF1ZV9uYW1lIjoiMzM5MTc1YWQtMTEwNS00OWVkLTk3MzQtOTU0YzM5NzJjNTNjIiwiY2xpZW50SWQiOiIwMUQ0MzFCNy02REMwLTRERDEtQkYzMS0xRDQwNzlEMTI0QkEiLCJjbGllbnRVc2VySWQiOiJBIiwiaXNzIjoiUmVjcnVpdGVyIiwiYXVkIjoiYWxsIiwiZXhwIjoxNjE3MjcxODA3LCJuYmYiOjE2MTcyNzAwMDcsIlNzYVNlc3Npb25JZCI6ImNkODNjMTcyLThkZGUtNDEwNy1hNzRjLTY1NjlhMGU3YTQ2ZSJ9.gLBhEwpM5Ezh0PihC1ZCNdf4moZy2qNp1Y23NL_MYto`}\n \n

RESPONSE HEADERS

\n \n {`content-type: application/zip\\nstatus: 200 OK`}\n \n

RESPONSE BODY

\n \n {`This will be a binary zip file.`}\n \n
\n \n
\n
\n )\n}\n\nexport default CvDownloadSection\n","import React from 'react';\nimport { Row, Col, Card } from 'reactstrap';\nimport CodeBlock from '../CodeBlock';\n\nexport default function CvPreviewSection() {\n return (\n
\n \n \n

CV preview endpoint (/cv/preview/{candidateId})

\n

\n GET request to /cv/preview/{`{candidateId}`} returns an HTML string of the\n candidates CV.\n

\n

Returns results only for non-anonymous candidates.

\n \n

Curl Example

\n \n {`curl -X GET \\\\\\n'https://recruiter.totaljobs.com/CandidateSearchApi/cv/preview/123456' \\\\\\n-H 'authorization: bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlIjoiQ2FuZGlkYXRlIFNlYXJjaCBVc2VyIiwic2l0ZUlkIjoiNCIsInVuaXF1ZV9uYW1lIjoiMzM5MTc1YWQtMTEwNS00OWVkLTk3MzQtOTU0YzM5NzJjNTNjIiwiY2xpZW50SWQiOiIwMUQ0MzFCNy02REMwLTRERDEtQkYzMS0xRDQwNzlEMTI0QkEiLCJjbGllbnRVc2VySWQiOiJBIiwiaXNzIjoiUmVjcnVpdGVyIiwiYXVkIjoiYWxsIiwiZXhwIjoxNjE3MjcxODA3LCJuYmYiOjE2MTcyNzAwMDcsIlNzYVNlc3Npb25JZCI6ImNkODNjMTcyLThkZGUtNDEwNy1hNzRjLTY1NjlhMGU3YTQ2ZSJ9.gLBhEwpM5Ezh0PihC1ZCNdf4moZy2qNp1Y23NL_MYto' \\\\\\n-H 'cache-control: no-cache'`}\n \n

REQUEST HEADERS

\n \n {`Authorization: bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlIjoiQ2FuZGlkYXRlIFNlYXJjaCBVc2VyIiwic2l0ZUlkIjoiNCIsInVuaXF1ZV9uYW1lIjoiMzM5MTc1YWQtMTEwNS00OWVkLTk3MzQtOTU0YzM5NzJjNTNjIiwiY2xpZW50SWQiOiIwMUQ0MzFCNy02REMwLTRERDEtQkYzMS0xRDQwNzlEMTI0QkEiLCJjbGllbnRVc2VySWQiOiJBIiwiaXNzIjoiUmVjcnVpdGVyIiwiYXVkIjoiYWxsIiwiZXhwIjoxNjE3MjcxODA3LCJuYmYiOjE2MTcyNzAwMDcsIlNzYVNlc3Npb25JZCI6ImNkODNjMTcyLThkZGUtNDEwNy1hNzRjLTY1NjlhMGU3YTQ2ZSJ9.gLBhEwpM5Ezh0PihC1ZCNdf4moZy2qNp1Y23NL_MYto`}\n \n

RESPONSE HEADERS

\n \n {`content-type: text/html\\nstatus: 200 OK`}\n \n

RESPONSE BODY

\n \n {`candidate CV text`}\n \n
\n \n
\n
\n )\n}\n","import React from 'react';\nimport { Row, Col, Card, Table} from 'reactstrap';\nimport CodeBlock from '../CodeBlock';\n\nfunction CreditUsageSection() {\n return (\n
\n \n \n

Credit usage endpoint (/Usage/Quota) – Quota usage for the company

\n

\n GET request to /usage/quota returns usage statistics for companies on a credit\n contract only.\n

\n

\n Returns CompanyUsesCredit : false for companies not on credit contracts.\n

\n \n

Curl Example

\n \n {`curl -X GET \\\\\\n'https://recruiter.totaljobs.com/CandidateSearchApi/usage/quota' \\\\\\n-H 'authorization: bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlIjoiQ2FuZGlkYXRlIFNlYXJjaCBVc2VyIiwic2l0ZUlkIjoiNCIsInVuaXF1ZV9uYW1lIjoiMzM5MTc1YWQtMTEwNS00OWVkLTk3MzQtOTU0YzM5NzJjNTNjIiwiY2xpZW50SWQiOiIwMUQ0MzFCNy02REMwLTRERDEtQkYzMS0xRDQwNzlEMTI0QkEiLCJjbGllbnRVc2VySWQiOiJBIiwiaXNzIjoiUmVjcnVpdGVyIiwiYXVkIjoiYWxsIiwiZXhwIjoxNjE3MjcxODA3LCJuYmYiOjE2MTcyNzAwMDcsIlNzYVNlc3Npb25JZCI6ImNkODNjMTcyLThkZGUtNDEwNy1hNzRjLTY1NjlhMGU3YTQ2ZSJ9.gLBhEwpM5Ezh0PihC1ZCNdf4moZy2qNp1Y23NL_MYto' \\\\\\n-H 'cache-control: no-cache'`}\n \n

REQUEST HEADERS

\n \n {`Authorization: bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlIjoiQ2FuZGlkYXRlIFNlYXJjaCBVc2VyIiwic2l0ZUlkIjoiNCIsInVuaXF1ZV9uYW1lIjoiMzM5MTc1YWQtMTEwNS00OWVkLTk3MzQtOTU0YzM5NzJjNTNjIiwiY2xpZW50SWQiOiIwMUQ0MzFCNy02REMwLTRERDEtQkYzMS0xRDQwNzlEMTI0QkEiLCJjbGllbnRVc2VySWQiOiJBIiwiaXNzIjoiUmVjcnVpdGVyIiwiYXVkIjoiYWxsIiwiZXhwIjoxNjE3MjcxODA3LCJuYmYiOjE2MTcyNzAwMDcsIlNzYVNlc3Npb25JZCI6ImNkODNjMTcyLThkZGUtNDEwNy1hNzRjLTY1NjlhMGU3YTQ2ZSJ9.gLBhEwpM5Ezh0PihC1ZCNdf4moZy2qNp1Y23NL_MYto`}\n \n

RESPONSE HEADERS

\n \n {`content-type: application/json; charset=utf-8\\nstatus: 200 OK`}\n \n

RESPONSE BODY

\n \n {`{\\n\\t\"CompanyUsesCredit\": true,\\n\\t\"CandidatesViewed\": 51,\\n\\t\"CandidatesRemaining\": 60949,\\n\\t\"QuotaRefreshDate\": \"23/04/2021 00:00:00\"\\n}`}\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
NameTypeDescription
CompanyUsesCreditbooleanIs the company using credits to view candidate information.
CandidatesViewedintegerNumber of candidates viewed by a company.
CandidatesRemainingintegerNumber of credits a company has left.
QuotaRefreshDatedateDate that quota is reset.
\n \n
\n
\n )\n}\n\nexport default CreditUsageSection\n","import React from 'react';\nimport { Row, Col, Card } from 'reactstrap';\nimport CodeBlock from '../CodeBlock';\n\nfunction DictionarySection() {\n return (\n
\n \n \n

Dictionary endpoint (/Dictionary) – allowed values in search criteria

\n

\n GET request to the following endpoints do not require authentication.\n

\n

\n

\n

\n

\n If content-type is not specified as application/json; charset=utf-8{' '}\n application/xml; charset=utf-8 will be returned.\n

\n \n

Curl Example

\n \n {`curl -X GET \\\\\\n'https://recruiter.totaljobs.com/CandidateSearchApi/Dictionary/DesiredLocations'\\\\\\n-H 'cache-control: no-cache'`}\n \n

REQUEST HEADERS

\n \n {`content-type: application/json; charset=utf-8`}\n \n

RESPONSE HEADERS

\n \n {`content-type: application/json; charset=utf-8\\nstatus: 200 OK`}\n \n

RESPONSE BODY

\n \n {`[\\n\\t{\\n\\t\\t\"Name\": \"East Anglia\",\\n\\t\\t\"ChildLocations\": [\\n\\t\\t\\t\"Cambridgeshire\",\\n\\t\\t\\t\"Norfolk\",\\n\\t\\t\\t\"Suffolk\"\\n\\t\\t]\\n\\t},…\\n]`}\n \n
\n \n
\n
\n )\n}\n\nexport default DictionarySection\n","import React from 'react';\nimport { Row, Col, Card, Table } from 'reactstrap';\nimport CodeBlock from '../CodeBlock';\nimport { HashLink as Link } from 'react-router-hash-link';\n\nfunction ApplicationSection() {\n return (\n
\n \n \n

Applications endpoint (/candidate/applications/{candidateId})

\n

\n GET request /Candidate/applications/123456 can be used with{' '}\n \n applicationsSince\n {' '}\n parameter.\n

\n \n

Curl Example

\n \n {`curl -X GET \\\\\\n'https://recruiter.totaljobs.com/candidate/applications/123456?applicationsSince=01/01/2016' \\\\\\n-H 'authorization: bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlIjoiQ2FuZGlkYXRlIFNlYXJjaCBVc2VyIiwic2l0ZUlkIjoiNCIsInVuaXF1ZV9uYW1lIjoiMzM5MTc1YWQtMTEwNS00OWVkLTk3MzQtOTU0YzM5NzJjNTNjIiwiY2xpZW50SWQiOiIwMUQ0MzFCNy02REMwLTRERDEtQkYzMS0xRDQwNzlEMTI0QkEiLCJjbGllbnRVc2VySWQiOiJBIiwiaXNzIjoiUmVjcnVpdGVyIiwiYXVkIjoiYWxsIiwiZXhwIjoxNjE3MjcxODA3LCJuYmYiOjE2MTcyNzAwMDcsIlNzYVNlc3Npb25JZCI6ImNkODNjMTcyLThkZGUtNDEwNy1hNzRjLTY1NjlhMGU3YTQ2ZSJ9.gLBhEwpM5Ezh0PihC1ZCNdf4moZy2qNp1Y23NL_MYto' \\\\\\n-H 'cache-control: no-cache'`}\n \n

REQUEST HEADERS

\n \n {`Authorization: bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlIjoiQ2FuZGlkYXRlIFNlYXJjaCBVc2VyIiwic2l0ZUlkIjoiNCIsInVuaXF1ZV9uYW1lIjoiMzM5MTc1YWQtMTEwNS00OWVkLTk3MzQtOTU0YzM5NzJjNTNjIiwiY2xpZW50SWQiOiIwMUQ0MzFCNy02REMwLTRERDEtQkYzMS0xRDQwNzlEMTI0QkEiLCJjbGllbnRVc2VySWQiOiJBIiwiaXNzIjoiUmVjcnVpdGVyIiwiYXVkIjoiYWxsIiwiZXhwIjoxNjE3MjcxODA3LCJuYmYiOjE2MTcyNzAwMDcsIlNzYVNlc3Npb25JZCI6ImNkODNjMTcyLThkZGUtNDEwNy1hNzRjLTY1NjlhMGU3YTQ2ZSJ9.gLBhEwpM5Ezh0PihC1ZCNdf4moZy2qNp1Y23NL_MYto`}\n \n

RESPONSE HEADERS

\n \n {`content-type: application/json; charset=utf-8\\nstatus: 200 OK`}\n \n

RESPONSE BODY

\n \n {`[\\n\\t{\\t\\t\\n\\t\\t\"NormalisedJobTitle\": \"senior account manager\",\\n\\t\\t\"Location\": \"City of London, London\",\\n\\t\\t\"ApplyDate\": \"08/04/2021 07:11:50\"\\n\\t},…\\n]`}\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
NameTypeDescription
NormalisedJobTitlestringStandard job title calcualted by TotalJobs.
LocationstringLocation of application.
ApplyDatedateDate of application.
\n \n
\n
\n )\n}\n\nexport default ApplicationSection\n","import React from 'react';\nimport { Row, Col, Card } from 'reactstrap';\nimport CodeBlock from '../CodeBlock';\nimport { HashLink as Link } from 'react-router-hash-link';\n\nfunction ApplicationSummarySection() {\n return (\n
\n \n \n

Applications summary endpoint (/candidate/applicationssummary/{candidateId})

\n

\n GET request /Candidate/applications/123456 can be used with{' '}\n \n applicationsSince\n {' '}\n parameter. This endpoint will return an array of{' '}\n ApplicationsSummary objects.\n

\n \n

Curl Example

\n \n {`curl -X GET \\\\\\n'https://recruiter.totaljobs.com/candidate/applicationssummary/123456?applicationsSince=01/01/2016' \\\\\\n-H 'authorization: bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlIjoiQ2FuZGlkYXRlIFNlYXJjaCBVc2VyIiwic2l0ZUlkIjoiNCIsInVuaXF1ZV9uYW1lIjoiMzM5MTc1YWQtMTEwNS00OWVkLTk3MzQtOTU0YzM5NzJjNTNjIiwiY2xpZW50SWQiOiIwMUQ0MzFCNy02REMwLTRERDEtQkYzMS0xRDQwNzlEMTI0QkEiLCJjbGllbnRVc2VySWQiOiJBIiwiaXNzIjoiUmVjcnVpdGVyIiwiYXVkIjoiYWxsIiwiZXhwIjoxNjE3MjcxODA3LCJuYmYiOjE2MTcyNzAwMDcsIlNzYVNlc3Npb25JZCI6ImNkODNjMTcyLThkZGUtNDEwNy1hNzRjLTY1NjlhMGU3YTQ2ZSJ9.gLBhEwpM5Ezh0PihC1ZCNdf4moZy2qNp1Y23NL_MYto' \\\\\\n-H 'cache-control: no-cache'`}\n \n

REQUEST HEADERS

\n \n {`Authorization: bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlIjoiQ2FuZGlkYXRlIFNlYXJjaCBVc2VyIiwic2l0ZUlkIjoiNCIsInVuaXF1ZV9uYW1lIjoiMzM5MTc1YWQtMTEwNS00OWVkLTk3MzQtOTU0YzM5NzJjNTNjIiwiY2xpZW50SWQiOiIwMUQ0MzFCNy02REMwLTRERDEtQkYzMS0xRDQwNzlEMTI0QkEiLCJjbGllbnRVc2VySWQiOiJBIiwiaXNzIjoiUmVjcnVpdGVyIiwiYXVkIjoiYWxsIiwiZXhwIjoxNjE3MjcxODA3LCJuYmYiOjE2MTcyNzAwMDcsIlNzYVNlc3Npb25JZCI6ImNkODNjMTcyLThkZGUtNDEwNy1hNzRjLTY1NjlhMGU3YTQ2ZSJ9.gLBhEwpM5Ezh0PihC1ZCNdf4moZy2qNp1Y23NL_MYto`}\n \n

RESPONSE HEADERS

\n \n {`content-type: application/json; charset=utf-8\\nstatus: 200 OK`}\n \n

RESPONSE BODY

\n \n {`[\\n\\t{\\n\\t\\t\"Locations\": [\\n\\t\\t\\t\"City of London (EC1)\",\\n\\t\\t\\t\"City of London, London\"\\n\\t\\t],\\n\\t\\t\"NormalisedJobTitle\": \"programme manager\",\\n\\t\\t\"Quantity\": 2\\n\\t}\\n]`}\n \n
\n \n
\n
\n )\n}\n\nexport default ApplicationSummarySection\n","import React from 'react';\nimport { Row, Col, Card , Table} from 'reactstrap';\nimport CodeBlock from '../CodeBlock';\nimport { HashLink as Link } from 'react-router-hash-link';\n\nfunction ErrorCodeSection() {\n return (\n
\n \n \n

Error codes and responses

\n \n
\n \n \n

HTTP Status Codes (API wide)

\n

API returns appropriate HTTP status codes for every request.

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Http Status CodeReason phraseDescription
200 (OK)Success
400 (Bad Request)\n The request was invalid or cannot be otherwise served. An accompanying error message will explain\n further.\n
401 (Unauthorized)Token expiredToken used for authorisation has expired, new token should be requested.
403 (Forbidden)You do not have a CV Database contract\n A valid CV Database contract that is required to use the API was not found. Does not apply to\n authentication API.\n
429 (Too Many Requests)You have exceeded our request rate limit threshold
500 (Internal Server Error)\n The server encountered an unexpected condition which prevented it from fulfilling the request.\n Response contains additional property - "error_id" which can be used to troubleshoot\n error on TJG side.\n
\n

\n Only HTTP status code – 500 – should be treated as server error. Rest of the status codes should be\n handled by API client.\n

\n \n
\n \n \n

HTTP Status Codes (CV endpoint specific)

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Http Status CodeReason phraseDescription
403 (Forbidden)Max ids limit reached\n CV download limit has been reached for specific recruitment company.\n {`{\"Message\": \"Cv downloads limit reached\"}`}.\n
403 (Forbidden)Downloads limit reached\n Allowed number of requested Cv’s (10) has been exceeded.\n {`{\"Message\": \"10 candidateIds limit reached\"}`}.\n
403 (Forbidden)Monthly Limit reached\n Exceeded the maximum credits allowed in a month.\n {`{\"Message\": \"You have exceeded the maximum credits allowed in a month. If you require further credits, please contact your company administrator or the [TJG Brand] customer services team - [Customer service number]\"}`}.\n
404 (Not found)CV for specified candidate is not available.
\n

\n Only HTTP status code – 500 – can be treated as server error. Rest of the status codes should be handled\n by API client.\n

\n \n
\n \n \n

Error messages

\n

API returns error messages in JSON format. For example, an error might look like this:

\n \n

ERROR

\n \n {`{\\n\\t\"error\": \"invalid_grant\",\\n\\t\"error_description\": \"Recruiter name or password is incorrect\"\\n}`}\n \n
\n \n
\n \n \n

OAuth error messages

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
ErrorDescriptionHttp Status CodeNotes
invalid_request\n client_id is empty\n 400\n client_id has not been provided.\n
\n client_secret is empty\n 400\n client_secret has not been provided.\n
\n Recruiter username is empty{' '}\n 400\n username has not been provided.\n
\n Recruiter password is empty\n 400\n password has not been provided.\n
invalid_grantLimit of unsuccessful recruiter login attempts reached400\n Recruiter account has been blocked due to exceeding the number of incorrect logins (8). \n On the 9th attempt an email will be sent to the recruiter informing them a password reset is required.\n
Recruiter account is not entitled to access requested scope400Recruiter does not have privileges to access requested data.
Recruiter name or password is incorrect400
unsupported_grant_type400\n grant_type has not been provided or has incorrect value.\n
invalid_scope400\n scope has not been provided or has incorrect value.\n
invalid_client\n client_id or client_secret is incorrect\n 400
server_errorWe were unable to process the request500\n Response contains additional property - error_id which can be used to troubleshoot\n error on TJG side.{' '}\n
\n

\n If you see an error response which is not listed in the above table, then fall back to the HTTP status\n code in order to determine the best way to address the error.\n

\n

Search endpoint validation messages

\n

\n Every request to Search endpoint is being checked in order to validate correctness of search filters.\n

\n

\n In case of an incorrect request the search endpoint will return appropriate error message allowing improved\n troubleshooting on the issue.\n

\n

\n Search endpoint return validation messages in JSON format. For example, a message might look like this:\n

\n \n

ERROR

\n \n {`{\\n\\t\"Message\": \"The request is invalid.\",\\n\\t\"ModelState\": {\\n\\t\\t\"searchCriteriaModel.Page\": [\\n\\t\\t\\t\"Property Page is required\"\\n\\t\\t],\\n\\t\\t\"searchCriteriaModel.SearchType\": [\\n\\t\\t\\t\"Property SearchType is required\"\\n\\t\\t]\\n\\t}\\n}`}\n \n
\n

Most common validation messages' types.

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Validation issueSample message
Required field missing\n Property {`{property_name}`} is required
\n Property SearchType is required\n
Field value is not allowed\n

\n Property {`{property_value}`} is not allowed for {`{property_name}`}\n

\n
    \n
  • \n Value 'JobTitle' is not allowed for Sort.Column\n
  • \n
  • \n Value 'English_typo' is not allowed for Languages\n
  • \n
  • \n Value '01.11.2015 00:00:00' is not allowed for LastActivityDate\n
  • \n
\n
Brand specific filter used in for incorrect brand\n Property {`{property_name}`} is not allowed site_name\n
\n Using CareerStructureJobRole is not allowed for TotalJobs\n
PostcodeDistance and DesiredLocation filter used in the same request\n Either DesiredLocations or PostcodeDistance can be used\n
Postcode has incorrect format\n Please enter a valid postcode e.g. W1T 1JU\n
Postcode cannot be found\n The postcode you entered cannot be found\n
Obsolete and current version of parameter in the same request\n \n Obsolete search criterium JobType can not be used once new version of this criterium\n JobTypeProfile is used.\n \n
\n

Credits limit error messages

\n

\n From version 6.5 there is a candidate Credits limit introduced in CandidateSearch API. Credit is every\n request for candidate data which results in a candidate's contact data being returned in\n response. Credits limit cap is daily and individual for each Recruiter account, dependent upon their license\n type.\n

\n

Currently affected endpoints are:

\n \n

\n In case of daily requests limit being hit, following error messages are returned in response content:\n

\n

\n For non-trial accounts\n

\n

\n \n You have exceeded the maximum candidate credits allowed in a 24hr period. If you require further credits,\n please contact the [BRAND] customer services team - 0333 0145 111.\n \n

\n

\n For trial account\n

\n

\n \n Your trial has exceeded the maximum candidate credits in a 24hr period. If you require further credits,\n please contact your [BRAND] account manager.\n
\n [BRAND] is Name of brand determined by endpoint we send request to.\n
\n

\n \n
\n
\n )\n}\n\nexport default ErrorCodeSection\n","import React from 'react';\nimport { Row, Col, Table } from 'reactstrap';\n\nfunction ImplementationSection() {\n return (\n
\n \n \n

Implementation guidelines

\n

These guidelines are to show how Stepstone UK maps values between UI and API

\n

\n Hint: When we use the term Today we mean today's date without time parameter{' '}\n {`{dd/MM/yyyy 00:00:00}`} (ex. for "21/12/2015 13:24:12" Today is "21/12/2015\n 00:00:00").\n

\n \n
\n \n \n

Search Results

\n

Search filters

\n

\n Mapping Active within last filter from UI to API LastActivityDate Search\n Criteria value.\n

\n \n \n \"\"\n \n \n {`{ LastActivityDate: 29/12/2015 00:00:00 }`}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Active within last (UI – Search filter)LastActivityDate (API – Search filter)
1 dayToday - 1 day
x dayToday - X days
1 monthToday - 30 days
2 monthToday - 60 days
3 monthToday - 90 day
6 monthToday - 180 day
12 monthToday - 365 day
18 monthToday - 547 day
All01/01/2000 00:00:00
\n \n
\n \n \n

ApplicationsData

\n

\n Mapping ApplicationsData from API (SearchResults/Candidate details) to UI{' '}\n X Job applications:\n

\n \n \n {`\"ApplicationsData\": {\"Count\": 15, \"Since\": \"06/01/2021 00:00:00\"}`}\n \n 15 Job applications: last 1 month\n \n

\n In the example above{' '}\n \n 15 Job applications: last 1 month\n {' '}\n number of applications made come from field Count.\n

\n

\n When there are more than 25 applications,{' '}\n \n 25+\n {' '}\n should be displayed instead of exact number.\n

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
UI textSince value (API)
Last 1 dayInDays(Today - {`{Since value}`}) = 1 day
Last X daysInDays(Today - {`{Since value}`}) = x day
Last 1 monthInDays(Today - {`{Since value}`}) = 30 day
Last X monthsInDays(Today - {`{Since value}`}) = 30 * x day
\n \n
\n \n \n

Facets usage

\n

\n Faceted search is an extension to classic search. The major change is fact that apart from\n Candidates object there is additional Facets result set returned. Facets object is JSON representation\n of Facets that are displayed on TJG CVDB UI and may be used to create similar functionality\n

\n \n \n \"\"\n \n \n

\n All parameters in the Request model now support values from facets. Most of the facets have the same\n type name as corresponding request property so it is easy to match.\n

\n

\n To obtain Facets there is always initial search required. After receiving Facets object in results\n it may be used to render appropriate UI. Users should be able to select Facet values. After User\n selection a new search should be performed with Facet values included in the appropriate request\n properties.\n

\n \n
\n \n
\n
\n )\n}\n\nexport default ImplementationSection\n","import React, { useEffect, useState } from 'react';\nimport { Container, Row, Col } from 'reactstrap';\nimport FedsearchNav from '../FedsearchNav';\nimport IntroductionSection from '../sections/IntroductionSection';\nimport TestUrlSection from '../sections/TestUrlSection';\nimport LiveUrlSection from '../sections/LiveUrlSection';\nimport AuthenticationSection from '../sections/AuthenticationSection';\nimport EndpointSection from '../sections/EndpointSection';\nimport SearchResultSection from '../sections/SearchResultSection';\nimport CandidateDetailsSection from '../sections/CandidateDetailsSection';\nimport CvDownloadSection from '../sections/CvDownloadSection';\nimport CvPreviewSection from '../sections/CvPreviewSection';\nimport CreditUsageSection from '../sections/CreditUsageSection';\nimport DictionarySection from '../sections/DictionarySection';\nimport ApplicationSection from '../sections/ApplicationSection';\nimport ApplicationSummarySection from '../sections/ApplicationSummarySection';\nimport ErrorCodeSection from '../sections/ErrorCodeSection';\nimport ImplementationSection from '../sections/ImplementationSection';\nimport './styles.css';\n\ntype Section = { id: string; top: number };\n\nconst FederatedSearchApi = () => {\n const [sectionInView, setSectionInView] = useState
({ id: 'introduction', top: 0 });\n const sections: Section[] = [];\n\n useEffect(() => {\n\n let elements = document.querySelectorAll('section');\n elements.forEach(el => {\n sections.push({ id: el.id, top: el.getBoundingClientRect().top })\n });\n\n window.scrollTo(0,0);\n setSectionInView(sections[0]);\n\n window.addEventListener('scroll', updateSectionInView);\n }, []);\n \n function updateSectionInView() {\n const initialScrollY: number = sections[0].top;\n\n sections.forEach((section, i) => {\n if (sections[i + 1]) {\n if (window.scrollY > sections[sections.length - 1].top - initialScrollY - 3) {\n setSectionInView(sections[sections.length - 1]);\n return;\n }\n if (window.scrollY > section.top - initialScrollY - 3 && window.scrollY < sections[i + 1].top - initialScrollY - 3) {\n setSectionInView(section);\n }\n }\n });\n }\n\n return (\n
\n \n \n
\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n );\n};\n\nexport default FederatedSearchApi;\n","import React from 'react';\nimport { Container, Row, Col } from 'reactstrap';\n\nimport './styles.css';\n\nconst Home = () => {\n return (\n \n \n \n \n \n \n

Quick Guide

\n \n
\n
\n \n
\n \n \n \n \n \n

What is Federated Candidate Search API?

\n

StepStone created a Federated Search API to enable our clients easy and fast access to our Candidates database (CVDB) through 3rd parties.

\n

How can I integrate my 3rd party product with Federated Candidate Search API?

\n
    \n
  1. Read our documentation.
  2. \n
  3. Get in touch with Federated Candidate Search Team to have your sandbox account set up.
  4. \n
  5. Implement, test and deploy the API.
  6. \n
  7. Let us know that the integration has been tested on the sandbox environment and you want to progress to the live environment.
  8. \n
\n

Where to get help?

\n

Please contact us.

\n \n
\n
\n \n
\n
\n );\n};\n\nexport default Home;","import React from 'react';\nimport FederatedSearchApi from './components/FederatedSearchApi';\nimport Home from './components/Home';\nimport {Route, Switch} from 'react-router';\n\nconst App = () => {\n return (\n \n \n \n \n \n );\n};\n\nexport default App;\n","// In production, we register a service worker to serve assets from local cache.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on the \"N+1\" visit to a page, since previously\n// cached resources are updated in the background.\n\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\n// This link also includes instructions on opting out of this behavior.\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport default function register () {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Lets check if a service worker still exists or not.\n checkValidServiceWorker(swUrl);\n } else {\n // Is not local host. Just register service worker\n registerValidSW(swUrl);\n }\n });\n }\n}\n\nfunction registerValidSW (swUrl) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the old content will have been purged and\n // the fresh content will have been added to the cache.\n // It's the perfect time to display a \"New content is\n // available; please refresh.\" message in your web app.\n console.log('New content is available; please refresh.');\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker (swUrl) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n if (\n response.status === 404 ||\n response.headers.get('content-type').indexOf('javascript') === -1\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister () {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","import 'bootstrap/dist/css/bootstrap.css';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport { BrowserRouter } from 'react-router-dom';\nimport App from './App';\nimport registerServiceWorker from './registerServiceWorker';\n\nconst baseUrl = document.getElementsByTagName('base')[0].getAttribute('href');\nconst rootElement = document.getElementById('root');\n\nReactDOM.render(\n \n \n ,\n rootElement);\n\nregisterServiceWorker();\n\n"],"sourceRoot":""}