atproto blogging
1{
2 "lexicon": 1,
3 "id": "sh.weaver.collab.invite",
4 "defs": {
5 "main": {
6 "type": "record",
7 "description": "Invitation to collaborate on a resource (notebook, entry, chapter, etc.). Creates half of a two-way agreement.",
8 "key": "tid",
9 "record": {
10 "type": "object",
11 "required": ["resource", "invitee", "createdAt"],
12 "properties": {
13 "resource": {
14 "type": "ref",
15 "ref": "com.atproto.repo.strongRef",
16 "description": "The resource to collaborate on (notebook, entry, chapter, etc.)."
17 },
18 "invitee": {
19 "type": "string",
20 "format": "did",
21 "description": "DID of the user being invited."
22 },
23 "scope": {
24 "type": "ref",
25 "ref": "#collabScope",
26 "description": "Optional explicit scope type. If omitted, inferred from resource lexicon."
27 },
28 "message": {
29 "type": "string",
30 "maxGraphemes": 300,
31 "maxLength": 3000,
32 "description": "Optional message to the invitee."
33 },
34 "createdAt": {
35 "type": "string",
36 "format": "datetime"
37 },
38 "expiresAt": {
39 "type": "string",
40 "format": "datetime",
41 "description": "Optional expiration for the invite."
42 }
43 }
44 }
45 },
46 "collabScope": {
47 "type": "string",
48 "description": "The scope/type of collaboration.",
49 "knownValues": [
50 "sh.weaver.collab.defs#notebook",
51 "sh.weaver.collab.defs#entry",
52 "sh.weaver.collab.defs#chapter"
53 ]
54 }
55 }
56}