API

IntroductionWelcome to Sentino API!

Sentino API is a data-driven, AI-powered service built to provide insights into human personality.

We have integrated vast psychological data and built a natural language interface for it. We have trained our models using the state-of-art NLP stack (e.g. Spacy, Transformers). This representation links the text to 20+ widely known validated inventories (Big 5, NEO-PI, RIASEC, etc.; this list can be further supplemented). We continuously keep researching and updating the models, striving for high accuracy.

That is why Sentino API is capable of analyzing various data sources (calls, messages, customer feedback, CVs, chat histories, surveys, forum and blog posts, and many more). Audio and video records (e.g. interviews) can also be scored following their processing with a text transcriber.

Sentino API was initially developed as a general psychological processor. This fact makes its adaptation to different application fields a rather straight-forward task.

If you have any data and want to explore it from a psychological perspective, Sentino API will serve you well!

Too long to read?
Request API token and explore most common use cases!

Request API token and go directly to Use Cases to explore the most common scenarios.

All end-points of Sentino API are explained in details. You can view code examples in the dark area to the right.

The key idea of Sentino API is to transform any type of information into psychologically meaningful representation. You will be able to transform or score text (and score facts) about a person into various scientifically proven inventories, such as Big 5, NEO-PI and others. Also, you would be able to create a psychological profile of a person and continuously update it, by adding new information.

There are three main levels Sentino API operates on: iteminventory and person:

  • item is simply a statement about one’s self that usually starts with a personal pronoun “I/My” (e.g. “I am an introvert” or “My name is Robert.”). See Item endpoints for more details or try Self-statement analysis – a visual tool to explore item-related functionality.
  • inventory is a set of items to measure particular traits of a person (e.g. Big-5, NEO-PI etc.). Sentino API supports a plenty of different inventories. See Inventories endpoints for more details.
  • person is treated as a composition of different facts. Facts can be extracted from questionnaires a person fills in, a person’s self-description or in other way. Please see Scoring and Person for more details.

Start exploring the API from requesting API token and trying out most common Use Cases.

Authentication

If you haven’t got your token yet, please request it.

Sentino API uses tokens to give access to the API. You can request the token by contacting us by e-mail: info@sentino.org or through the Contact page of this website. It is free for non-commercial use and low traffic.

Sentino API expects the token to be included in all API requests to the server in a header that looks like the following:

Authorization: Token sentino_api_token.

To authorize, use this code:

Input JSON:

# With shell, you can just pass the correct header with each request
curl "api_endpoint_here"
  -H "Authorization: Token sentino_api_token"

Make sure to replace sentino_api_token with your API key.

Please note that you should replace “sentino_api_token” with your personal API key!

Supported Languages

Currently, two languages are supported: English and Portuguese. If you need another language, please Contact Us.

langLanguageInfo
enEnglish(default)
ptPortuguese

If you use other language than English, you should provide ‘lang’ parameter to most of endpoints.

Example: SentinoBot

Sentino API provides a great flexibility to fit many domains where insights on personality are important.

One of the easiest ways to explore the API is to chat with SentinoBot. Sentino Bot is an AI-powered chatting bot built to leverage a lot of API’s functionality. One can see Sentino API in action by chatting with the bot on the website sentino.org/bot or via Facebook Messenger facebook.com/sentinobot.

Use Cases

One of the most common cases where Sentino API shines is getting Big 5 or NEO traits (or any others) from a text written by a person. Please note that the text should contain psychologically meaningful information. Otherwise, the statistical confidence level will be rather low. This is why it is important to understand where the text comes from.

We discuss two common scenarios below. Both scenarios imply that you don’t want to keep a personal profile in the database. If you do want to continuously work with a person’s profile by updating it, check out the next use case: manage profile.

Big 5 traits from a text

Suppose, you have a self-description of a person, kindly provided by that person or maybe you have written some passages about yourself of other person. You want to analyze the text to understand what Big 5 traits it reveals about the person.

This can be easily done using the Score Text endpoint.

NEO traits from a questionnaire

Suppose, you asked a person well-posed questions and gathered the responses. In this case, you should use another endpoint: Score Facts, that will bring you much higher confidence in the final scoring. However, you should keep in mind that ideally you should use a questionnaire specially designed to measure the inventory of interest.

Questionnaire for Big 5 and Neo

Usually, you can ask a person only a limited amount of questions and want to score concreate psychological traits.

  • What questions should you ask?
  • What are the best questions that provide you with the maximum information?

To solve this problem, you need to perform the following steps:

  1. Pick the inventory you are interested in. For example, NEO.
  2. Create a questionnaire by choosing a number of questions you intend to ask a person.
  3. Collect the data from a person, simply by asking a person these questions.
  4. Build a psychological profile. Use score facts.

Manage Profiles

This is a scenario in which you want to keep a psychological profile of a person up to date. You can easily keep adding new information (facts) and get the profile updated.

These are the actions to be performed:

  • Create a person. You will simply get an ID to operate with
  • Add “facts” about a person (like self-description or item-response pairs)
  • Get person’s profile based on Big5, NEO, or other inventories (depending on your needs)
  • Add more facts in the similar way
  • Get the profile automatically updated
  • Delete a profile if you do not plan to use it anymore

The ability to update a profile based on new facts makes adding new information absolutely price-efficient. Within the commercial plan, you only pay for the newly added text.

When you delete a person, no personal information is kept any longer (for commercial plan).

Scoring

Endpoints presented here are aimed to transform textual information about a person into psychologically meaningful representation. For example, if you have a description of a person or answers to psychologically meaningful questions, you can understand what traits (Big 5 and others) a person possesses.

Metrics

Each scoring consists of the metrics discussed below.

MetricRangeExplanation
score[-1,+1]response score for a given inventory. It is directly proportional to the probability of person answering “yes”/”no”
quantile[ 0,+1]reflects belonging to some percent of the whole population
confidence[ 0,+1]degree of certainty in the result (is proportional to the number of facts provided)
confidence_textfive-level confidence: “very low”, “low”, “normal”, “high”, “very high” (directly proportional to confidence)

If you need to track one person over a long time period, it is more reliable to use score. Keep an eye on the confidence. If it is “very low”, normally it means that results should be taken with a grain of salt.

Score Text

Using this endpoint, one can easily extract psychologically meaningful information from a self-description of a person given in a natural language.

Technically, the text is split into sentences. Each sentence is then labeled with corresponding topic (see Item Classification) and inventory (like Big5, Neo etc., see Item inventories).

You can try Self-Description Analysis – a visual tool that gives a glimpse on this endpoint.

ParameterDescription
inventoriesinventories to be used for scoring
texttext for scoring
langpreferable language

HTTP Request POST https://api.sentino.org/api/score/text

Input JSON:

{
    "text": "I am 30 years old man. 
        I studied physics and currently work as a software engineer. 
        I am married and have a couple of kids. 
        What else I can tell... 
        I am open to new experience and like to chat. I am being nasty sometimes.",

    "inventories": ["big5"],

    "lang": "en"
    }



The command returns JSON structured like this:

{
    "text": "I am 30 years old man...",
    "inventories": ["big5"],
    "scoring": {
        "big5": {
            "openness": {
                "quantile": 1.0,
                "score": 1.0,
                "confidence": 0.134,
                "confidence_text": "low"
            }
            ...
        }
    },
    "lang": "en"
}

Score Interview

This endpoint allows getting personality insights from an interview text.

Based on prior consent, make an audio or video record of the interview with an applicant and file this record to us. We will automate a repetitive and tedious analysis task for you.

You can provide the interview for analysis either in the text form (*.txt, *.doc, *.docx) or as an original audio/video record.

Please note that there are two text layouts currently supported by Sentino Personality AI by the default:

Layout 1.

A: How is life?
B: Life is good.
A: Really?
B: Yes.

Layout 2.

A
How is life?

B
Life is good.

A
Really?

B
Yes.

Processing options for other text layouts can be proposed by the request. So, if you use other standard interview layout, please let us know.

If we receive the interview in the form of an audio or video record, we initially use AI speech recognition tools to convert audio and video content into transcripts during the pre-processing phase and then employ the resulting text for mining.

The text data is accurately scored with the help of our AI-powered tool. You receive the applicant’s personality profile based on the BIG-5, RIASEC, NEO, BFAS or other suitable validated and globally recognized psychological scale. This profile is issued in a clearly arranged form comprising numerical score, and brief but insightful text description. Currently, we are working hard on visualization of the results obtained in a user-friendly infographic form and provision of recommendations based on scoring performed.

All the data provided by our tool allows making unbiased hiring decisions.

ParameterDescription
inventoriesinventories to be used for scoring
texttranscribed interview text for scoring
langpreferable language

HTTP Request POST https://api.sentino.org/api/score/interview

Input JSON:

{
  "inventories": ["big5", "riasec*", "disc*"],
  
    "text": "Please, tell me about yourself.
My name is John. I am 27. I graduated from Warsaw University in 2017 with a Marketing degree. What really got me into the field, though, is the internship I did at Y&Z Company. For the past 5 years, I’ve been working there as a marketing analyst. Throughout my career, I’ve noticed that I’ve always been good with marketing research, data acquisition and analysis, forecasting, and strategic planning. I’ve received two promotions and three awards for outstanding performance. Currently, I’m looking to join a fast-growing organization that could take full advantage of my past experience. I’d like to take on more leadership and project management. What do you know about our company?
I know you are one of the leaders in database and website security. I looked through a customer list on your website and noticed some of Fortune 500 companies there. I also know you have just finalized your plans to launch a new product and scale up your operations. Moreover, I’ve seen your company consistently listed as one of the top places to work. So, I was excited to have this interview and learn more about the specific work. How did you hear about the position? First, I heard about it from a colleague. Later on I found this position while looking for jobs online."
 },
    "lang": "en"
}











The command returns JSON structured like this:

"scoring": {
        "big5": {
            "agreeableness": {
                "quantile": 0.416,
                "score": 0.547,
                "confidence": 0.007,
                "confidence_text": "very low"
            },
            "conscientiousness": {
                "quantile": 1.0,
                "score": 1.0,
                "confidence": 0.876,
                "confidence_text": "high"
            },
         ...      
            },
        "riasec*": {
            "artistic": {
                "quantile": 1.0,
                "score": 1.0,
                "confidence": 0.659,
                "confidence_text": "high"
            },
                "enterprising": {
                "quantile": 1.0,
                "score": 1.0,
                "confidence": 0.584,
                "confidence_text": "normal"
            },
        ...
            },
        "disc*": {
            "compliance": {
                "quantile": 1.0,
                "score": 1.0,
                "confidence": 0.782,
                "confidence_text": "high"
            },
         ...
            },
    "lang": "en"
}

Score Facts

If you collected a well-structured item-response pairs, this endpoint is for you. Provide the facts and get the psychological representation of a person.

ParameterDescription
inventoriesinventories to be used for scoring
factslist of facts for scoring
langpreferable language

Facts

Fact is a piece of information about a person. There are two types of facts currently supported:

Fact typeDescription
textThis is a short description of a person. It should preferably come from “Please describe yourself in a couple of sentences” question. Or a simple self-statement e.g. “I am an extravert.”
text-responseThis is a typical scenario of getting a personality assessment. Text is defined as above, but response indicates a degree of dis/agreement with the it (see a table below).

Please see some examples below.

HTTP Request POST https://api.sentino.org/api/score/facts

Input JSON:

{
  "inventories": ["big5"],
  "facts": [
    {
      "text": "My name is John. I am an extravert.",
      "lang": "en"
    },
    {
      "text": "I do not like to chat.",
      "response": "disagree"
    }
  ]
}



The command returns JSON structured like this:

{
    "facts": [...],
    "inventories": ["big5"],
    "scoring": {
        "big5": {
            "extraversion": {
                "quantile": 1.0,
                "score": 1.0,
                "confidence": 0.194,
                "confidence_text": "low"
            }
            ...
        }
    },
    "lang": "en"
}

Responses

There are many ways to response to a question or psychological item. However, internally all responses are translated into the seven distinct groups: from “strongly disagree” through “neutral” to “strongly agree”. The table below shows typical synonyms to the core responses.

ResponseScoreMeaning
strongly agree+3completely agree, exactly, absolutely, etc.
agree+2yes, sure, agreed, indeed, etc.
slightly agree+1guess so, maybe, I suppose so, etc.
neutral0neither, whatever, I don’t know, etc.
slightly disagree-1not really, not sure, etc.
disagree-2no, I disagree, I don’t think so, etc.
strongly disagree-3no way, totally disagree, absolutely not, etc.

Soon to come: Time Stamp

For each fact a timestamp can be specified. This is required for example to account for time persistency of a fact. For example, “I am in a bad mood now” is usually constrained in time unlike “I am usually in a bad mood”. If a timestamp is not provided, it is set to the current time.

Person

Here you find all endpoints for managing psychological profiles. The advantage of using these endpoints is the ability to continuously add new information about the person and retrieve automatically updated profile.

Note, before using these endpoints you need to define what inventories you want to use and get updated for every person.

All known facts are stored in the database. Once new information about a person arrives, the corresponding profiles are being updated. The newly updated profile can be easily read out by querying profile.

Set up a profile

To use person-related endpoints, one needs to set up the inventories of interest. Once you run the below-mentioned query, you can started “adding people” and the desired inventories will get automatically updated.

HTTP Request POST https://api.sentino.org/api/client/profile

Input JSON:

{
  "inventories": ["big5", "neo"]
}





The command returns JSON structured like this:

{
    "name": "default",
    "inventories": [
        "big5",
        "neo"
    ],
    "message": "inventories successfully added/updated"
}

Create a person

To create a person, do the query below.

A person ID will be returned. All other person-related endpoints depend on this ID. At this point no charges (even for commercial users) have been applied.

HTTP Request POST https://api.sentino.org/api/person/create

Input JSON:

curl -X POST "https://api.sentino.org/person/create"
-H "Authorization: Token sentino_api_token"
-H "Content-Type: application/json"

The command returns JSON structured like this:

{
  "id": "dfefFdfewdfXDDf"
}

Add facts

To add facts, do the query below.

Use the person to refer to the relevant person. Provide as many facts as you want. Once the facts are provided, the scoring will take place for a chosen inventory. At this time, the charges apply (for commercial users) that depend on the length of the “text” field and number of facets (traits) of the inventories you added above.

You can subsequently add “facts”. Charges apply only to the newly added information.

ParameterDescription
factsfacts to be added (see example on the right)

HTTP Request POST https://api.sentino.org/api/person/<id>/fact

Input JSON:

{
  "facts": [
    {
      "text": "My name is John. I am an extravert.",
      "lang": "en"
    },
    {
      "text": "I do not like to chat.",
      "response": "disagree",
      "lang": "en"
    }
  ]
}

The command returns JSON structured like this:

{
  "id": "<id>",
  "message": "success"
}









Person profile

This endpoint allows building a personal profile from the facts.

To get a person profile (Big5, NEO, etc.) simply use the following query. Note, the inventories should be set up in advance.

Note, if no relevant facts are provided you still get a default scoring (that depends on inventory). No charges are applied at this point as all scoring was performed during the fact adding step.

HTTP Request GET https://api.sentino.org/api/person/<id>/profile

Input command:

curl -X GET "https://api.sentino.org/person/<id>/profile"
-H "Authorization: Token sentino_api_token"
-H "Content-Type: application/json"











The command returns JSON structured like this:

{
  "big5": {
        "conscientiousness": {
          ...
        },
        "openness": {
            "score": 0.0,
            "quantile": 0.5,
            "confidence": 0.1,
            "confidence_text": "low"
        },
  "via": {
      ...
  }
}

Delete a person

To delete a person run the query below. The following will happen:

  • Person is deleted (id will not work anymore)
  • All facts and performed scoring will be deleted
  • Information of the fact that scoring took place with the price will be kept (!)
  • Information of the query itself with the first 16 symbols (and length) of the facts will be kept (for debugging purposes)

HTTP Request DELETE https://api.sentino.org/api/person/<id>

Input JSON:

curl -X DELETE "https://api.sentino.org/person/<id>"
-H "Authorization: Token sentino_api_token"
-H "Content-Type: application/json"

The command returns JSON structured like this:

{
  "message": "success"
}

Inventories

Inventory is a set of items that intend to measure psychological traits of a person (e.g. Big-5, NEO-PI etc.)

Endpoints discussed in this section allow you to get all available personality inventories (such as Big 5, NEO etc.) together with their facets (indices) and corresponding items. These are well-established, proven to work in scientific literature questionnaires for understanding people’s psyche.

These inventories can be used out of the box. If you need another inventory, please contact us.

Inventories

This endpoint shows all available personality inventories.

List of inventories:

InventoryDescription
big5Big-Five personality traits [1]
bfasBig-Five Aspects [2]
neoRevised NEO Personality Inventory [3]
ab5cAbridged Big Five Dimensional Circumplex facets [4]
hexacoHEXACO Personality Inventory [5]
6fpqSix Factor Personality Questionnaire [6]
8ics8 IPIP Interpersonal Circumplex Scales [7]
big77 Preliminary IPIP Scales [8]
cpiCalifornia Psychological Inventory [9]
emointPotential “Emotional Intelligence” Components [10]
epqEysenck Personality Questionnaire [11]
jpiJackson Personality Inventory [12]
mpqMultidimensional Personality Questionnaire [13]
tciTemperament and Character Inventory [14]
viaValues in Action Character Survey [15]
orvisOregon Vocational Interest Scales [16]
adjTrait adjectives [17]
bisbasBehavioral Inhibition/Activation Systems [18]
psPlasticity and stability [19]
qb6Six Factor Personality Questionnaire [20]
ipc8 IPIP Interpersonal Circumplex Scales [21]
oraisOregon Avocational Interest Scales [22]
spiSAPA Personality Inventory [23]

[1] Goldberg (1992). Big-Five Factor Markers

[2] DeYoung, Quilty, and Peterson (2007). 10 Big-Five Aspects

[3] Costa and McCrae (1992). NEO-PI-R

[4] Hofstee, de Raad and Goldberg (1992). 45 AB5C facets

[5] Lee and Ashton (2004). HEXACO-PI

[6] Jackson, Paunonen, and Tremblay (2000). Six Factor Personality Questionnaire

[7] Markey and Markey (2009). 8 IPIP Interpersonal Circumplex Scales

[8] Saucier (1997). 7-factor scales

[9] Gough (1996). California Psychological Inventory

[10] Barchard (2001). Potential “Emotional Intelligence” Components

[11] Hans Eysenck & Sybil Eysenck (1975). Eysenck Personality Questionnaire

[12] Jackson (1994). Jackson Personality Inventory

[13] Tellegen (1995/2003). Multidimensional Personality Questionnaire

[14] Cloninger, et al. (1994). Temperament and Character Inventory

[15] Peterson & Seligman (2004). Values in Action Character Survey

[16] Pozzebon, et al. (2010). Oregon Vocational Interest Scales

[17] Goldberg, L. R. (1990). An alternative “Description of personality”: The Big-Five factor structure

[18] Carver & White (1994). Behavioral Inhibition/Activation Systems

[19] DeYoung, C. G., Peterson, J. B., & Higgins, D. M. (2002). Higher-order factors of the Big Five predict conformity: Are there neuroses of health?

[20] Jackson, Paunonen, and Tremblay (2000). Six Factor Personality Questionnaire

[21] Markey and Markey’s (2009)

[22] Goldberg, L. R. (1992). The development of markers for the Big-Five factor structure. Psychological Assessment, 4, 26-42

[23] David M. Condon, An empirically-derived, hierarchically-organized self-report personality assessment model

HTTP Request GET https://api.sentino.org/api/inventories

Input command:

curl "https://api.sentino.org/inventories"
  -H "Authorization: Token sentino_api_token"























The command returns JSON structured like this:

 {
    "inventories": [
        "6fpq",
        "8ics",
        "ab5c",
        "adj",
        "bfas",
        "big5",
        "big7",
        "bisbas",
        "cpi",
        "emoint",
        "hexaco",
        "ipc",
        "jpi",
        "mpq",
        "neo",
        "orais",
        "orvis",
        "qb6",
        "spi",
        "tci",
        "via"
    ]
}

Inventory Items

This endpoint retrieves all the items for a given inventory. Ask people how these items relate to them and you will be able to get a highly confident psychological profile by scoring facts.

Instead of <inventory> you should choose a particular inventory from the list of personality inventories.

HTTP Request GET https://api.sentino.org/api/items/<inventory>

Input command:

curl "https://api.sentino.org/items/neo"
  -H "Authorization: Token sentino_api_token"













The command returns JSON structured like this:

{
    "inventory": "neo",
    "items": [
        "I a lot in my spare time.",
        "I act comfortably with others.",
        "I act wild and crazy.",
        "I act without thinking.",
        "I adapt easily to new situations.",
        "I am a creature of habit.",
        "I am able to control my cravings.",
        "I am able to stand up for myself.",
        "I am afraid of many things."
         ...
    ]
}

Index Items

This endpoint retrieves all items for a given index inventory.

Instead of <inventory> you should choose a particular inventory from the list of the inventories.

Instead of <index> you should choose a particular index of the inventory. You can see them at https://api.sentino.org/inventories/<inventory> (mention the previously chosen inventory).

HTTP Request GET https://api.sentino.org/api/items/<inventory>/<index>

Input command:

curl "https://api.sentino.org/questionnaires"
  -H "Authorization: Token sentino_api_token"














The command returns JSON structured like this:

{
    "inventory": "neo",
    "index": "anger",
    "items": [
        "I am not easily annoyed.",
        "I am often in a bad mood.",
        "I get angry easily.",
        "I get irritated easily.",
        "I get upset easily.",
        "I keep my cool.",
        "I lose my temper.",
        "I rarely complain.",
        "I rarely get irritated.",
        "I seldom get mad."
    ]
}

Questionnaires

This endpoint lists all questionnaires available out-of-the-box. Remember, you can create your own questionnaire for any inventory create a questionnaire.

HTTP Request GET https://api.sentino.org/api/questionnaires

Input command:

curl "https://api.sentino.org/questionnaires"
  -H "Authorization: Token sentino_api_token"




The command returns JSON structured like this:

  {
    "questionnaires": [
        "neo.sentino.90",
        ...
    ]
  }

Questionnaires

Select a particular questionnaire to view its items and scorings.

Instead of <questionnaire> you should choose a questionnaire from the list of questionnaires.

HTTP Request GET https://api.sentino.org/api/questionnaire/<questionnaire>

Input command:

curl "https://api.sentino.org/questionnaire/neo.sentino.90"
  -H "Authorization: Token sentino_api_token"





The command returns JSON structured like this:

{
    "questionnaire": "neo.sentino.90",
    "items": [
        "I am open about my feelings.",
        "I crave the experience of great art.",
        ...
        ]
}

Create a Questionnaire

Create a questionnaire to score a given inventory. Provide n – number of items you need and method for selecting items.

Instead of <inventory> you should choose a particular inventory from the list of inventories.

ParameterDescription
inventoryinventory to get items for
methodname of the method to be used (see below)
nnumber of items to include in the questionnaire
MethodDescription
simplegoes index by index and selects the most informative item
sentinoselects items such that they have maximum loading on the indices

HTTP Request POST https://api.sentino.org/api/inventory/<inventory>/questionnaire/create

Input JSON:

curl -X POST "https://api.sentino.org/inventory/neo/questionnaire/create" 
-H "Authorization: Token sentino_api_token"
-H "Content-Type: application/json" 
-d '{"n": 90, "method": "sentino"}'





The command returns JSON structured like this:

{
    "inventory": "neo",
    "method": "sentino",
    "n": 90,
    "items": [
        ...
        "I do crazy things.",
        "I do not like the idea of change.",
        ...
        ]
}

Item Analysis

Sentino API uses Natural Language Processing (NLP) algorithms to understand the written input of human language. To understand an item is to know how it relates to the known psychological inventories. This ensures that the resulting analysis is always based on the data of real people.

These endpoints will help you to get insights into the item itself, providing you with a multifaceted analysis. The main question is the following: what psychological traits are hidden behind an item? Try out a Self-statement Analysis Tool that demonstrates item-level functionality.

Item classification

API strongly differentiates a psychologically meaningful information from the rest. This endpoint classifies the given item according to the following categories below. The result is a probability of belonging to a certain category with a range of [0, +1]). Probability higher than 0.5 is considered relevant.

Query Parameters

ParameterDescription
textThe result will be based on the item written
Basic categoriesDescription and typical item
is_psyAn item with a psychological meaning [0, 1] — I am an extrovert
is_itemAny meaningful item about a person [0, 1] — I am ambitious/I think so
is_moodIf item is related to mood expression [0, 1] — I feel happy now/I feel depressed now
valenceValence of the item [-1, +1] — I behave well/I behave badly
meanBias the item — I behave well/I behave badly
probaProbability of people answering [no, neither, yes]
CategoriesTypical item
ageI am 45
age_groupI am old
appearanceI am good-looking
childhood_areaI grew up in a village
colorMy favorite color is blue
educationI have a master degree
ethnicityI am asian
family_memberMy grandfather is still alive
fearI am afraid of dogs
foodI like pizza
genderI am a female
habitI usually go to sleep very late
handI am left-handed
hobbyI collect coins
jobI am employed
languageI speak English
moodI feel happy
nameMy name is John
nationalityI am American
occupationI am a doctor
origin_locationI am from Germany
parenthoodI am a father
psyI am a brave person
relationshipI am married
religionI am a committed atheist
residenceI live in Great Britain
sexual_orientationI am a straight woman
siblingsI have a brother
skillI am good at cooking

HTTP Request POST https://api.sentino.org/api/item/classify

Input JSON:

curl -X POST "https://api.sentino.org/item/classify" 
-H "Authorization: Token sentino_api_token"
-H "Content-Type: application/json" 
-d '{"text": "I am brave"}'































The command returns JSON structured like this:

{
    "text": "I am brave",
    "lang": "en",
    "basics": {
        "is_psy": 0.927,
        "is_mood": 0.0,
        "is_item": 0.928,
        "valence": 0.581,
        "mean": 0.568,
        "proba": [0.14, 0.31, 0.55]
    },
    "topics": ["psy"],
    "proba": {
        "psy": 0.927,
        "food_preference": 0.003,
        "parental_status": 0.019,
        "age": 0.068,
        "gender": 0.129,
        "health_status": 0.014,
        "name": 0.069,
        "skill": 0.199,
        "appearance": 0.217,
        "location_origin": 0.015,
        "family_status": 0.0,
        "ethnicity": 0.017,
        "education_status": 0.011,
        "religion": 0.007,
        "language": 0.0,
        "location_residence": 0.0,
        "orientation": 0.0,
        "marital_status": 0.002,
        "sibling_status": 0.0
        ...
    }
 }

Item projection

The API allows analyzing a given self-statement (item) by projecting it onto specified personality inventory (projection correspondence range is [-1, +1]). You should choose a particular inventory from the list of personality inventories.

Keep in mind, it only makes sense for psychologically relevant statements.

This endpoint shows the projection of a given item onto a specified personality inventory.

ParameterDescription
texttext to project
inventoriesinventories to project the item on

HTTP Request POST https://api.sentino.org/api/item/projection

Input JSON:

curl -X POST "https://api.sentino.org/item/project" 
-H "Authorization: Token sentino_api_token"
-H "Content-Type: application/json" 
-d '{"text": "I am brave", "inventories": ["big5"]}'
























The command returns JSON structured like this:

 {
    "text": "i am brave",
    "inventories": [
        "big5"
    ],
    "lang": "en",
    "projection": {
        "big5": {
            "agreeableness": -0.025,
            "conscientiousness": 0.051,
            "extraversion": 0.313,
            "neuroticism": -0.194,
            "openness": 0.293
        }
    },
    "basics": {
        "valence": 0.573,
        "is_item": 1.0,
        "is_psy": 1.0,
        "is_mood": 0.0,
        "proba": [
            0.166,
            0.057,
            0.777
        ],
        "mean": 0.611
    }
}

Errors

The Sentino API uses the following error codes:

Error CodeMeaning
400Bad Request — Your request is invalid.
401Unauthorized — Your Sentino API token is wrong.
404Not Found — The endpoint is not found.
405Method Not Allowed — You tried to access an invalid method.
406Not Acceptable — You requested a format that isn’t json.
429Too Many Requests — You’re requesting too many things! Slow down!
500Internal Server Error — We had a problem with our server. Try again later.
503Service Unavailable — We’re temporarily offline for maintenance. Please try again later.
Scroll to top