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
| Property | Type | Required | Description |
|---|---|---|---|
job | text | required | What they come to get done. |
from | string | Lineage: the slot it compiles from, as Hypothesis#<slot>@v<version>. |
Object
{
"$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, inversepersonas. - 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, inversepersonas. - A Persona is targeted by many Offers: an Offer speaks to and is priced for named Personas.
targetedBy, inversetargets.
Verbs
createCreates a Persona.POST /{namespace}/personasgetReturns one Persona by id.GET /{namespace}/personas/{id}listReturns Personas, newest first, one page at a time.GET /{namespace}/personasupdateChanges the given properties of a Persona.PATCH /{namespace}/personas/{id}deleteDeletes a Persona; its history is kept.DELETE /{namespace}/personas/{id}
Permissions
Which Access level may call each Verb. One-way Verbs wait their delay window.
| Operation | owner | admin | member | viewer |
|---|---|---|---|---|
Persona.create | Yes | Yes | Yes | No |
Persona.get | Yes | Yes | Yes | Yes |
Persona.list | Yes | Yes | Yes | Yes |
Persona.update | Yes | Yes | Yes | No |
Persona.delete | Yes | Yes | Yes | No |
Call it
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.