{
"id": "at.marque.team.membership",
"defs": {
"main": {
"key": "any",
"type": "record",
"record": {
"type": "object",
"required": [
"subject",
"owner",
"domain",
"permissions",
"acceptedAt",
"updatedAt"
],
"properties": {
"owner": {
"type": "string",
"format": "did",
"description": "DID of the domain owner."
},
"domain": {
"type": "string",
"maxLength": 253,
"description": "Fully qualified domain name this membership applies to, e.g. example.com."
},
"subject": {
"ref": "com.atproto.repo.strongRef",
"type": "ref",
"description": "Strong reference to the owner's at.marque.team.member record."
},
"updatedAt": {
"type": "string",
"format": "datetime",
"description": "When this record was last updated."
},
"acceptedAt": {
"type": "string",
"format": "datetime",
"description": "When the member accepted the invitation."
},
"permissions": {
"type": "array",
"items": {
"type": "string",
"knownValues": [
"dns.records.write",
"dns.nameservers.write",
"dns.dnssec.write",
"integrations.atproto.write"
]
},
"maxLength": 4,
"description": "Capabilities granted to the member as of acceptance. An empty list is read-only (viewer) access."
}
}
},
"description": "Record representing the member's acceptance of an owner-authored grant. Uses the same stable membership id as the owner-side at.marque.team.member record. This record is a public receipt, not a grant of authorization."
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1,
"description": "An acceptance receipt for a team membership, authored by the member. Stored in the member's repository."
}