Person
A Person is a human with one identity across every Startup; each Startup’s Contact is its own view of that Person.
Properties
| Property | Type | Required | Description |
|---|---|---|---|
verified | boolean | True once the identity is verified. |
Inherited from Party: 1 property
| Property | Type | Required | Description |
|---|---|---|---|
name | string | required | The legal or personal name. |
Object
{
"$id": "https: //api.sb/ patentpad.com/ people/ person_1",
"$type": "Person",
"name": "PatentPad",
"verified": true
}Relationships
- A Person’s candidacies are many Candidates: a Candidate is one Person’s candidacy; the Person’s record crosses Startups only with Consent.
candidacies, inversepresents. - A Person has many Contacts: each Contact is one Startup’s view of a Person shared across every Startup that knows them.
contacts, inverseresolvesTo. - A Person joins many Tenants: a Person joins a Customer’s Tenant as a member, and one Person can join many Tenants.
joins, inverseadmits. - A Person has many Voices: a cloned Voice sounds like one real person, and exists only while that person’s Consent holds.
voices, inversesoundsLike.
Verbs
createCreates a Person.POST /{namespace}/peoplegetReturns one Person by id.GET /{namespace}/people/{id}listReturns People, newest first, one page at a time.GET /{namespace}/peopleupdateChanges the given properties of a Person.PATCH /{namespace}/people/{id}deleteDeletes a Person; its history is kept.DELETE /{namespace}/people/{id}
Permissions
Which Access level may call each Verb. One-way Verbs wait their delay window.
| Operation | owner | admin | member | viewer |
|---|---|---|---|---|
Person.create | Yes | Yes | Yes | No |
Person.get | Yes | Yes | Yes | Yes |
Person.list | Yes | Yes | Yes | Yes |
Person.update | Yes | Yes | Yes | No |
Person.delete | Yes | Yes | Yes | No |
Call it
Add a person to ShiftNote.Example
A wedding photographer is one Person. To a client-gallery App she is a Customer's Contact, and to a sibling that sells contract templates she is a Lead.