Skip to content

Persona

A Persona is a named type of person with a job to do, such as a buyer, a seller, or an admin of an App.

Properties

PropertyTypeRequiredDescription
jobtextrequiredWhat they come to get done.
fromstringLineage: the slot it compiles from, as Hypothesis#<slot>@v<version>.

Object

JSON
{
  "$id": "https://api.sb/tutorloop.com/personas/persona_1",
  "$type": "Persona",
  "job": "Example job",
  "from": "Hypothesis#approach@v1"
}

Relationships

  • A Persona belongs to one ICP: a Persona is one named role inside an ICP, such as its buyer or its admin. belongsTo, inverse personas.
  • A Persona holds one Role: the Role whose Permissions a Persona signs in with, so an App compiles its Dashboards and Verbs from one record. holds, inverse personas.
  • A Persona is targeted by many Offers: an Offer speaks to and is priced for named Personas. targetedBy, inverse targets.

Verbs

  1. createCreates a Persona.
    POST /{namespace}/personasdoPersona.created
  2. getReturns one Persona by id.
    GET /{namespace}/personas/{id}readNo Event
  3. listReturns Personas, newest first, one page at a time.
    GET /{namespace}/personasreadNo Event
  4. updateChanges the given properties of a Persona.
    PATCH /{namespace}/personas/{id}doPersona.updated
  5. deleteDeletes a Persona; its history is kept.
    DELETE /{namespace}/personas/{id}doPersona.deleted

Permissions

Which Access level may call each Verb. One-way Verbs wait their delay window.

Operationowneradminmemberviewer
Persona.createYesYesYesNo
Persona.getYesYesYesYes
Persona.listYesYesYesYes
Persona.updateYesYesYesNo
Persona.deleteYesYesYesNo

Call it

Text
Add a persona to QuietCopy.

Example

The App of a tutoring marketplace serves three Personas: the parent who books sessions, the tutor who sets hours, and the admin who settles disputes.