APIs
API Guide and ‘Try It’ functionality
Above is a list of all of the API classes that you can utilize with the Predictive Index software. If you click into a class, you will see details for the individual API methods within each class that perform specific actions as well as details of the available parameters with each API method.
Performing Testing
The ‘Try it’ button listed with each API method will pop up a window allowing you to submit whatever request is being shown with the parameters you may have filled in, and the results will be displayed at the bottom of the window. The following sections will appear after you submit a request:
HTTP Request - Shows the complete URL of the HTTP request for the action taken by the ‘Try it’ button. Can be changed to other formats such as curl in the dropdown.
Response Body (if applicable) - the JSON response content, if any, returned by the API after using the ‘Try it’ button.
HTTP Response - The HTTP headers included in the response and the HTTP response code returned by the API after using the ‘Try it’ button. Success response codes are in the 200 range. 400 or higher is an error.
TIP: You should make intentional mistakes and see what error messages are shown here when you do.
In order to utilize the ‘Try it’ functionality, you must enter your API Key as well as any required parameters before hitting the ‘Send’ button as shown below.
API Key Management
The API Key that you generated in the PI Software must be included in the header of each HTTP request and is defined as follows:
Header
Description
Value
api-key
API Key generated using the instructions shown here.
1a2bc3d4-e5f6-a7b8-c9d0-e1f2a3b4c5d6
OData Parameters for Filtering, Searching, Ordering and More
Some common OData features are supported in the API. This allows data to be filtered and sorted as needed, permitting complex data gathering. Be sure to URL Encode any values passed.
To determine which OData parameters are supported for which API methods, look for details in the Parameters sections of the methods shown in the Examples page. The parameters often supported include:
$orderby - specify the sort field, with optional DESC or ASC modifier
$skip - when returning results that exceed the maximum (usually 50 results), use this parameter to specify how many results to skip, in other words the result before the one you want to start with
$top - how many results to return, up to the maximum (usually 50 results), used in conjunction with $skip to get pages of results. Be sure to use $orderBy with $skip and $top so you get unique results.
Working with Multiple Item Responses
All API methods that return multiple items in their results are limited to a maximum of 50 items per request. You can control the number of records returned by using the $top=XX parameter, but the highest number you can specify is 50, the default. You can omit the $top=50 if you want the maximum/default of 50. Retrieving all results will involve the use of the $skip parameter to loop through a result set and retrieve multiple sets of items, increasing the $skip amount with each call.
For example, to get all the jobs returned by GET /api/v1/jobs, you would use a looping construct to call it repeatedly using the $skip parameter to get groups of up to 50 items until no more results are obtained. The resulting calls would be something like this:
GET /api/v1/jobs?$skip=0 - this returns the first 50 jobs
GET /api/v1/jobs?$skip=50 - this returns the next 50 jobs starting at 51
GET /api/v1/jobs?$skip=100 - this returns the next 50 jobs starting at 101
It is also advisable with methods like the GET /api/v1/jobs to use the $orderby parameter to sort the results into alphabetical order, like this:
GET /api/v1/jobs?$orderby=name&$skip=50
From a programmer's perspective, here is representative looping code (without any error or request rate limit handling, not written in any actual language):
allItems[] = new array;
getResult[] = new array;
skipNum = 0;
while (skipNum == 0 || getResult[].Count > 49)
{
getResult[] = GET /api/v1/jobs?$orderby=name&$skip={skipNum};
if (getResult[].Any) { allItems[].Append(getResult[]);}
skipNum = skipNum + 50;
}
// allItems[] now contains the full collection of jobs
Similar looping methods should be used with any of the other methods that return a JSON array of items.
Common Parameters / Objects / Enumerated Values
Assessment State/Status
The following statuses may be returned in the assessmentState property of any assessment-related API call (such as GET behavioralassessments. Only the Completed status is returned in the body of an assessmentStatusWebHook cal.:
10 - Sent
20 - Opened
30 - Started
40 - Completed
50 - Expired
60 - Failed
65 - Aborted
Gender
Although the Predictive Index platform does not require or offer to collect gender information for all supported languages, the following values may be returned in the gender property of any assessment-related API call (such as GET behavioralassessments), as described below:
0 - Unknown / Unspecified
1 - Male
2 - Female
Date and Time
All date and time values are expressed in UTC using the ISO 8601 standard.
Example: "2015-01-31T23:59:59.0123456Z"
Behavioral Pattern Reference Profiles
There are 17 general behavioral pattern clusters known as "Reference Profiles" identified in the Predictive Index Behavioral Assessment results.
Learn about Reference Profiles here: https://www.predictiveindex.com/reference-profiles
The 17 reference profile names and descriptions are as follows:
referenceProfileName
Reference Profile Description
referenceProfileNumber
Reference Profile Name
Reference Profile Description
Reference Profile Number
Adapter
Flexible and situational. Ability to work with different people and adjust style as needed.
0
Venturer
Self-starter, self-motivator, risk-taker with a goal-oriented mind.
8
Strategist
Results-oriented, innovative, and analytical with a drive for change.
10
Analyzer
Analytical and technical, strong drive for ownership and need for rules and structure.
12
Controller
Focused on quality outcomes and control over work. Analytical and technical.
14
Specialist
Structured, highly detailed. Reserved and analytical, while respecting authority.
20
Scholar
Thorough, careful, and structured. Authoritative and direct. Consistent follow up.
22
Individualist
Highly independent and persistent, while remaining results-oriented.
24
Captain
Problem-solver, risk-taker, self-starter. Drive to control big picture, independent.
26
Maverick
Risk-taker and big picture thinker. Not afraid of taking action.
30
Persuader
Persuasive, risk-taker. Quick to connect and strong drive for results.
36
Altruist
Team player, fast pace, quick to connect. Drive to do things quickly and correctly.
46
Collaborator
A friendly, understanding, willing and patient team player.
54
Promoter
Casual and uninhibited. A persuasive extrovert with a tendency for informality.
56
Guardian
Precise, structured, team player. Patient and consistent approach.
60
Operator
Steady, conscientious, and relaxed. Learns through repetition.
64
Artisan
Structured, analytical, team player. Focused on detail and process.
70
Language Locale
The property languageLocale specifies the locale of the language of the assessment based on RFC 5646 Language-Region format. Below are the supported language locales supported for taking the Behavioral Assessment or the Cognitive Assessment. The list of language locales available for other reports or assessments is a subset of these below, using the same codes when available. To learn which language locales are available for other reports or assessments, it is best to look at the Predictive Index software settings user interface controls to get the most accurate current list.
English Name
Language Locale
Local Name
Behav. Assessment
Cognitive Assessment
Afrikaans
af-ZA
Afrikaans
True
True
Albanian
sq-AL
Shqip
True
True
Arabic (International)
ar-XM
العربية
True
True
Armenian
hy-AM
հայերեն
True
True
Basque
eu-ES
Euskara
True
True
Bulgarian
bg-BG
Български
True
True
Catalan
ca-ES
Català
True
True
Chinese (Simplified)
zh-CN
简体中文
True
True
Chinese (Traditional)
zh-TW
繁體中文
True
True
Croatian
hr-HR
Hrvatski
True
True
Czech
cs-CZ
Ceština
True
True
Danish
da-DK
Dansk
True
True
Dutch
nl-NL
Nederlands
True
True
English
en-US
English
True
True
Estonian
et-EE
Eesti Keel
True
True
Farsi
fa-IR
فارسی
True
True
Filipino
fil-PH
Tagalog
True
True
Finnish
fi-FI
Suomi
True
True
French
fr-FR
Français
True
True
Georgian
ka-GE
ქართული
True
True
German
de-DE
Deutsch
True
True
Greek
el-GR
Ελληνικά
True
True
Guajarati
gu-IN
ગુજરાતી
True
False
Haitian Creole
ht-HT
Kreyòl Ayisyen
True
False
Hebrew
he-IL
עברית
True
True
Hindi
hi-IN
हिंदी
True
True
Hungarian
hu-HU
Magyar
True
True
Icelandic
is-IS
Íslenska
True
True
Ilocano
ilo-PH
Ilokano
True
False
Indonesian
id-ID
Bahasa Indonesia
True
True
Italian
it-IT
Italiano
True
True
Japanese
ja-JP
日本語
True
True
Kazakh
kk-KZ
Қазақ тілі
True
True
Khmer
km-KH
ភាសាខ្មែរ
True
True
Korean
ko-KR
한국어
True
True
Lao
lo-LA
ພາສາລາວ
True
True
Latvian
lv-LV
Latviešu
True
True
Lithuanian
lt-LT
Lietuvių k
True
True
Macedonian
mk-MK
Македонски
True
True
Malay
ms-MY
Bahasa Melayu
True
True
Malayalam
ml-IN
മലയാളം
True
True
Norwegian (Bokmål)
nb-NO
Norsk
True
True
Papiamentu
pap-AW
Papiamentu
True
False
Polish
pl-PL
Polski
True
True
Portuguese
pt-PT
Português
True
True
Portuguese (Brazil)
pt-BR
Português (Brasil)
True
True
Punjabi
pa-IN
ਪੰਜਾਬੀ
True
True
Romanian
ro-RO
Română
True
True
Russian
Русский
True
True
Samoan
sm-WS
Samoan
True
False
Serbian (Latin)
sr-Cyrl-CS
Srpski (Latinica)
True
True
Sesotho
st-LS
Sesotho
True
False
Sinhalese
si-LK
සිංහල
True
False
Slovak
sk-SK
Slovenčina
True
True
Slovenian
sl-SI
Slovensko
True
True
Spanish (Latin America)
es-XL
Español (Latinoamérica)
True
False
Spanish (Modern Sort)
es-ES
Español (Europeo)
True
True
Swahili
sw-KE
Swahili
True
True
Swedish
sv-SE
Svenska
True
True
Tamil
ta-IN
தமிழ்
True
True
Thai
th-TH
ไทย
True
True
Tongan
to-TO
Lea Faka-Tonga
True
False
Turkish
tr-TR
Türkçe
True
True
Ukrainian
uk-UA
Українська
True
True
Urdu
ur-PK
اردو
False
True
Vietnamese
vi-VN
Tiếng Việt
True
True
Xhosa
xh-ZA
IsiXhosa
True
True
Zulu
zu-ZA
IsiZulu
True
True