Skip To Main Content
All modules

Personal

Fields marked * are required. Updates keep every field they are not given. An AI app can ask vritto_describe for the same details, filtered to what its connection may use.

Personal Profileprofile

The user's own identity, vitals, preferences, and favorites.

personal_findFindthrough vritto_find

Read the user's profile and life history: with nothing named, the full profile (identity, narrative, vitals, preferences, favorites, skills, languages, principles, social links) and the dated timeline of work, education, homes, credentials and projects with their entry IDs; view 'timeline' with domains for one part; collection and id for one complete entry.

Note: With nothing named it returns the profile and the dated timeline; collection and id read one entry complete.

FieldTypeDescription
viewone of profile, timeline'profile' the profile alone; 'timeline' the dated history alone.
domainslist of one ofOnly these parts of the timeline.
collectionone of experiences, education, residences, credentials, projects, relationshipsWith id: the entry's sourceCollection, as the timeline gives it.
idstringWith collection: one entry, complete.
Example input
{}
personal_changeUpdatethrough vritto_update

Change the user's profile: favorites (one value per slot, merged; an empty value clears one), identity (name, pronouns, date of birth, birthplace, nationalities, gender, home base, name history), narrative, vitals, preferences, principles, skills, languages, or social links. Arrays and narrative REPLACE the stored value: read personal_find first and send the full merged set.

Note: Arrays and narrative replace the stored value; read the profile first and send the full merged set. Favorites merge one slot at a time.

FieldTypeDescription
favoriteslist of objectFavorites to record, one entry per slot. Common slots: movie, show, book, music, artist, food, cuisine, drink, place, city, color, sport, team, hobby, game, quote, season.
identityobject
identity.fullNamestringThe user's name as Vritto shows it everywhere, including their account.
identity.preferredNamestring
identity.legalNamestring
identity.pronounsstring
identity.genderstring
identity.dateOfBirthstringA date the user gives: "2022", "2022-06", "2022-06-15", or free text like "summer 2020". Year is enough.
identity.birthPlaceobjectA light place reference; label is enough.
identity.nationalitieslist of stringFull replacement list of nationalities.
identity.homeBaseobjectWhere the user lives now. Saved to Where I've Lived as their current home; use personal_add with type residence instead to record a move with dates.
identity.nameHistorylist of objectFull replacement list of prior/other names.
narrativeobjectReplaces the whole narrative, include all three fields you want kept.
narrative.headlinestring
narrative.aboutstring
narrative.currentFocusstring
vitalsobject
vitals.heightstringFree text, e.g. "5'11\"" or '180 cm'.
vitals.weightstring
vitals.bloodTypeone of A+, A-, B+, B-, AB+, AB-, O+, O-, unknown
vitals.starSignone of aries, taurus, gemini, cancer, leo, virgo, libra, scorpio, sagittarius, capricorn, aquarius, pisces
vitals.handednessone of right, left, ambidextrous
vitals.eyeColorstring
preferencesobject
preferences.dietarylist of stringFull replacement list, e.g. ['vegetarian', 'no pork'].
preferences.allergieslist of stringFull replacement list of allergies.
preferences.notesstring
principleslist of objectFull replacement list of the user's values/principles.
skillslist of objectFull replacement list of skills.
languageslist of objectFull replacement list of languages.
socialLinkslist of objectFull replacement list of social links.
Example input
{
  "favorites": [
    {
      "slot": "cuisine",
      "value": "Thai"
    }
  ]
}

Life Historylife_history

The user's dated history: jobs, education, homes, credentials, personal projects and relationship chapters (type picks which).

personal_addCreate or Updatethrough vritto_create or vritto_update

Add a dated history entry the user mentions: type experience (a job), education, residence (Where I've Lived; current true on a home is a move), credential, project, or relationship (a partner, family or close chapter). Add only what is new: an entry already on file (the same job, school or home) is changed by sending its id from personal_find, and sent fields merge.

FieldTypeDescription
typeone of experience, education, residence, credential, project, relationshipWhich history: 'experience' (default when org is sent), 'education', 'residence', 'credential', 'project', 'relationship'.
record*objectThe entry; the required field is its type's (org, institution, place or name).
record.idstringExisting entry ID to update (from personal_find); omit to add. Fields you leave out keep their stored value.
record.orgstringType 'experience': employer or organization. Required for it.
record.titlestringType 'experience': job title.
record.employmentTypeone of full_time, part_time, self_employed, freelance, contract, internship, apprenticeship, seasonal, volunteerType 'experience'.
record.locationobjectType 'experience': where the job was.
record.institutionstringType 'education': the school. Required for it.
record.degreestringType 'education'.
record.fieldstringType 'education': field of study.
record.gradestringType 'education': GPA or grade, e.g. '3.8' or 'First Class'.
record.activitiesstringType 'education': clubs, societies, sports.
record.courseslist of stringType 'education': notable courses taken.
record.academicsTermIdstringType 'education': link to an Academics module term.
record.placeobjectType 'residence': where they lived. Required for it.
record.kindone of home, hometown, study, work, second_home, partner, spouse, engaged, ex_partner, situationship, family, friend, mentor, otherType 'residence' (default home): home, study and work are places they lived; hometown is where they belong without living there; second_home is lived in part-time. Type 'relationship': partner, spouse, engaged, ex_partner, situationship, family, friend, mentor or other.
record.namestringType 'credential' (e.g. 'AWS Solutions Architect'), 'project', or 'relationship' (the person's name). Required for those.
record.issuerstringType 'credential'.
record.issuedstringType 'credential'.
record.expiresstringType 'credential'.
record.credentialIdstringType 'credential': the issuer's credential or license number.
record.urlstringType 'credential' (verification or badge URL) or 'project'.
record.descriptionstringType 'project'.
record.rolestringType 'project': their role, e.g. 'founder', 'designer'.
record.guideIdstringType 'project': link to a Guides module guide.
record.startstringA date the user gives: "2022", "2022-06", "2022-06-15", or free text like "summer 2020". Year is enough.
record.endstringA date the user gives: "2022", "2022-06", "2022-06-15", or free text like "summer 2020". Year is enough.
record.currentbooleantrue when it is ongoing: they still work, study or live there, or the relationship goes on.
record.summarystringType 'experience' or 'education'.
record.highlightslist of stringType 'experience' or 'project': notable achievements or outcomes, one per entry.
record.notestringType 'residence' or 'relationship'.
record.personIdstringType 'relationship': the People record for this person (resolve with people_find), set whenever the person exists there.
record.personIdslist of stringPeople-module person IDs tied to this entry (resolve with people_find) so it links into their graph.
record.visibilityone of private, aiWho can see this. private = only the user; ai = also SahAI.
Example input
{
  "type": "experience",
  "record": {
    "org": "Vritto, Inc.",
    "title": "Founder",
    "employmentType": "self_employed",
    "start": "2026-01",
    "current": true
  }
}