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