app.certified.actor.organization
Schema Diff
+22 -0
Compatibility Analysis
Backward Compatible
Backward compatible. 19 non-breaking changes.
Non-Breaking Changes (19)
- AddedVertex AddedVertex { vertex_id: "app.certified.actor.organization:body.longDescription" }
- AddedVertex AddedVertex { vertex_id: "app.certified.actor.organization:body.longDescription:variant0" }
- AddedVertex AddedVertex { vertex_id: "app.certified.actor.organization:body.longDescription:variant1" }
- AddedVertex AddedVertex { vertex_id: "app.certified.actor.organization:body.longDescription:variant2" }
- AddedVertex AddedVertex { vertex_id: "app.certified.actor.organization:body.signatures" }
- AddedVertex AddedVertex { vertex_id: "app.certified.actor.organization:body.visibility" }
- AddedVertex AddedVertex { vertex_id: "app.certified.signature.defs#list" }
- AddedVertex AddedVertex { vertex_id: "org.hypercerts.defs#descriptionString" }
- AddedVertex AddedVertex { vertex_id: "pub.leaflet.pages.linearDocument" }
- AddedEdge AddedEdge { src: "app.certified.actor.organization:body", tgt: "app.certified.actor.organization:body.longDescription", kind: "prop", name: Some("longDescription") }
- AddedEdge AddedEdge { src: "app.certified.actor.organization:body", tgt: "app.certified.actor.organization:body.signatures", kind: "prop", name: Some("signatures") }
- AddedEdge AddedEdge { src: "app.certified.actor.organization:body", tgt: "app.certified.actor.organization:body.visibility", kind: "prop", name: Some("visibility") }
- AddedEdge AddedEdge { src: "app.certified.actor.organization:body.longDescription", tgt: "app.certified.actor.organization:body.longDescription:variant0", kind: "variant", name: Some("org.hypercerts.defs#descriptionString") }
- AddedEdge AddedEdge { src: "app.certified.actor.organization:body.longDescription", tgt: "app.certified.actor.organization:body.longDescription:variant1", kind: "variant", name: Some("pub.leaflet.pages.linearDocument") }
- AddedEdge AddedEdge { src: "app.certified.actor.organization:body.longDescription", tgt: "app.certified.actor.organization:body.longDescription:variant2", kind: "variant", name: Some("com.atproto.repo.strongRef") }
- AddedEdge AddedEdge { src: "app.certified.actor.organization:body.longDescription:variant0", tgt: "org.hypercerts.defs#descriptionString", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "app.certified.actor.organization:body.longDescription:variant1", tgt: "pub.leaflet.pages.linearDocument", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "app.certified.actor.organization:body.longDescription:variant2", tgt: "com.atproto.repo.strongRef", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "app.certified.actor.organization:body.signatures", tgt: "app.certified.signature.defs#list", kind: "ref", name: None }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "app.certified.actor.organization:body.longDescription" }AddedVertex { vertex_id: "app.certified.actor.organization:body.longDescription:variant0" }AddedVertex { vertex_id: "app.certified.actor.organization:body.longDescription:variant1" }AddedVertex { vertex_id: "app.certified.actor.organization:body.longDescription:variant2" }AddedVertex { vertex_id: "app.certified.actor.organization:body.signatures" }AddedVertex { vertex_id: "app.certified.actor.organization:body.visibility" }AddedVertex { vertex_id: "app.certified.signature.defs#list" }AddedVertex { vertex_id: "org.hypercerts.defs#descriptionString" }AddedVertex { vertex_id: "pub.leaflet.pages.linearDocument" }
Additional Notes
- Non-breaking: AddedEdge { src: "app.certified.actor.organization:body", tgt: "app.certified.actor.organization:body.longDescription", kind: "prop", name: Some("longDescription") }
- Non-breaking: AddedEdge { src: "app.certified.actor.organization:body", tgt: "app.certified.actor.organization:body.signatures", kind: "prop", name: Some("signatures") }
- Non-breaking: AddedEdge { src: "app.certified.actor.organization:body", tgt: "app.certified.actor.organization:body.visibility", kind: "prop", name: Some("visibility") }
- Non-breaking: AddedEdge { src: "app.certified.actor.organization:body.longDescription", tgt: "app.certified.actor.organization:body.longDescription:variant0", kind: "variant", name: Some("org.hypercerts.defs#descriptionString") }
- Non-breaking: AddedEdge { src: "app.certified.actor.organization:body.longDescription", tgt: "app.certified.actor.organization:body.longDescription:variant1", kind: "variant", name: Some("pub.leaflet.pages.linearDocument") }
- Non-breaking: AddedEdge { src: "app.certified.actor.organization:body.longDescription", tgt: "app.certified.actor.organization:body.longDescription:variant2", kind: "variant", name: Some("com.atproto.repo.strongRef") }
- Non-breaking: AddedEdge { src: "app.certified.actor.organization:body.longDescription:variant0", tgt: "org.hypercerts.defs#descriptionString", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "app.certified.actor.organization:body.longDescription:variant1", tgt: "pub.leaflet.pages.linearDocument", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "app.certified.actor.organization:body.longDescription:variant2", tgt: "com.atproto.repo.strongRef", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "app.certified.actor.organization:body.signatures", tgt: "app.certified.signature.defs#list", kind: "ref", name: None }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
5
"description": "Extended metadata for an organization actor. Complements the base actor profile with organization-specific fields like legal structure and reference links.",
6
6
"key": "literal:self",
7
7
"record": {
8
8
"properties": {
9
9
"createdAt": {
10
10
"description": "Client-declared timestamp when this record was originally created.",
11
11
"format": "datetime",
12
12
"type": "string"
13
13
},
14
14
"foundedDate": {
15
15
"description": "When the organization was established. Stored as datetime per ATProto conventions (no date-only format exists). Clients should use midnight UTC (e.g., '2005-01-01T00:00:00.000Z'); consumers should treat only the date portion as canonical.",
16
16
"format": "datetime",
17
17
"type": "string"
18
18
},
19
19
"location": {
20
20
"description": "A strong reference to the location where the organization is based. The record referenced must conform with the lexicon app.certified.location.",
21
21
"ref": "com.atproto.repo.strongRef",
22
22
"type": "ref"
23
23
},
24
+
"longDescription": {
25
+
"description": "Long-form description of the organization, such as its mission, history, or detailed project narrative. An inline string for plain text or markdown, a Leaflet linear document record embedded directly, or a strong reference to an existing document record.",
26
+
"refs": [
27
+
"org.hypercerts.defs#descriptionString",
28
+
"pub.leaflet.pages.linearDocument",
29
+
"com.atproto.repo.strongRef"
30
+
],
31
+
"type": "union"
32
+
},
24
33
"organizationType": {
25
34
"description": "Legal or operational structures of the organization (e.g. 'nonprofit', 'ngo', 'government', 'social-enterprise', 'cooperative').",
26
35
"items": {
27
36
"maxGraphemes": 100,
28
37
"maxLength": 128,
29
38
"type": "string"
30
39
},
31
40
"maxLength": 10,
32
41
"type": "array"
33
42
},
43
+
"signatures": {
44
+
"description": "Optional cryptographic signatures attesting to this record's content.",
45
+
"ref": "app.certified.signature.defs#list",
46
+
"type": "ref"
47
+
},
34
48
"urls": {
35
49
"description": "Additional reference URLs (social media profiles, contact pages, donation links, etc.) with a display label for each URL.",
36
50
"items": {
37
51
"ref": "#urlItem",
38
52
"type": "ref"
39
53
},
40
54
"type": "array"
55
+
},
56
+
"visibility": {
57
+
"description": "Controls whether the organization or project is publicly discoverable on platforms that honor this setting.",
58
+
"knownValues": [
59
+
"public",
60
+
"unlisted"
61
+
],
62
+
"type": "string"
41
63
}
42
64
},
43
65
"required": [
44
66
"createdAt"
45
67
],
46
68
"type": "object"
47
69
},
48
70
"type": "record"
49
71
},
50
72
"urlItem": {
51
73
"description": "A labeled URL reference.",
52
74
"properties": {
53
75
"label": {
54
76
"description": "Optional human-readable label for this URL (e.g. 'Support page', 'Donation page').",
55
77
"maxGraphemes": 64,
56
78
"maxLength": 640,
57
79
"type": "string"
58
80
},
59
81
"url": {
60
82
"description": "The URL.",
61
83
"format": "uri",
62
84
"maxGraphemes": 2048,
63
85
"maxLength": 10000,
64
86
"type": "string"
65
87
}
66
88
},
67
89
"required": [
68
90
"url"
69
91
],
70
92
"type": "object"
71
93
}
72
94
},
73
95
"id": "app.certified.actor.organization",
74
96
"lexicon": 1
75
97
}