Keyed by the DID of the account it names, in the organization's account, in one place: its public records for a member anyone may see; or, where its PDS has spaces, its space of type dev.knotless.org keyed self, which only its members read, for an invitation or a hidden member. The account is a member once it keeps a dev.knotless.orgAcceptance record naming the organization, in the same place, and the organization has taken it in (joinedAt); until then it is invited, until expiresAt. In a private repository's space, a member of the organization that owns it who pushes to it. One keyed other than by the DID it names names no one.
any
Any valid record key
Properties
expiresAt
string
datetime
Optional
When the invitation lapses, if not taken up first: 7 days after invitedAt when absent.
invitedAt
string
datetime
Required
When they were invited.
joinedAt
string
datetime
Optional
When the organization took them in, after they wrote their acceptance record: a acceptance record counts only once this is set.
member
string
did
Required
The account invited.
roles
array
of
ref
#role
Optional
What they may do. None is a member.
maxLength: 16 itemsshared
boolean
Optional
In a private repository's space only: the repository was shared with them on its own as well, so they stay in its space once out of the organization.
View raw schema
{
"description": "Keyed by the DID of the account it names, in the organization's account, in one place: its public records for a member anyone may see; or, where its PDS has spaces, its space of type dev.knotless.org keyed self, which only its members read, for an invitation or a hidden member. The account is a member once it keeps a dev.knotless.orgAcceptance record naming the organization, in the same place, and the organization has taken it in (joinedAt); until then it is invited, until expiresAt. In a private repository's space, a member of the organization that owns it who pushes to it. One keyed other than by the DID it names names no one.",
"key": "any",
"record": {
"properties": {
"expiresAt": {
"description": "When the invitation lapses, if not taken up first: 7 days after invitedAt when absent.",
"format": "datetime",
"type": "string"
},
"invitedAt": {
"description": "When they were invited.",
"format": "datetime",
"type": "string"
},
"joinedAt": {
"description": "When the organization took them in, after they wrote their acceptance record: a acceptance record counts only once this is set.",
"format": "datetime",
"type": "string"
},
"member": {
"description": "The account invited.",
"format": "did",
"type": "string"
},
"roles": {
"description": "What they may do. None is a member.",
"items": {
"ref": "#role",
"type": "ref"
},
"maxLength": 16,
"type": "array"
},
"shared": {
"description": "In a private repository's space only: the repository was shared with them on its own as well, so they stay in its space once out of the organization.",
"type": "boolean"
}
},
"required": [
"member",
"invitedAt"
],
"type": "object"
},
"type": "record"
}