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
"id": "app.certified.actor.organization",
3
3
"defs": {
4
4
"main": {
5
5
"key": "literal:self",
6
6
"type": "record",
7
7
"record": {
8
8
"type": "object",
9
9
"required": [
10
10
"createdAt"
11
11
],
12
12
"properties": {
13
13
"urls": {
14
14
"type": "array",
15
15
"items": {
16
16
"ref": "#urlItem",
17
17
"type": "ref"
18
18
},
19
19
"description": "Additional reference URLs (social media profiles, contact pages, donation links, etc.) with a display label for each URL."
20
20
},
21
21
"location": {
22
22
"ref": "com.atproto.repo.strongRef",
23
23
"type": "ref",
24
24
"description": "A strong reference to the location where the organization is based. The record referenced must conform with the lexicon app.certified.location."
25
25
},
26
26
"createdAt": {
27
27
"type": "string",
28
28
"format": "datetime",
29
29
"description": "Client-declared timestamp when this record was originally created."
30
30
},
31
+
"signatures": {
32
+
"ref": "app.certified.signature.defs#list",
33
+
"type": "ref",
34
+
"description": "Optional cryptographic signatures attesting to this record's content."
35
+
},
36
+
"visibility": {
37
+
"type": "string",
38
+
"description": "Controls whether the organization or project is publicly discoverable on platforms that honor this setting.",
39
+
"knownValues": [
40
+
"public",
41
+
"unlisted"
42
+
]
43
+
},
31
44
"foundedDate": {
32
45
"type": "string",
33
46
"format": "datetime",
34
47
"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."
35
48
},
49
+
"longDescription": {
50
+
"refs": [
51
+
"org.hypercerts.defs#descriptionString",
52
+
"pub.leaflet.pages.linearDocument",
53
+
"com.atproto.repo.strongRef"
54
+
],
55
+
"type": "union",
56
+
"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."
57
+
},
36
58
"organizationType": {
37
59
"type": "array",
38
60
"items": {
39
61
"type": "string",
40
62
"maxLength": 128,
41
63
"maxGraphemes": 100
42
64
},
43
65
"maxLength": 10,
44
66
"description": "Legal or operational structures of the organization (e.g. 'nonprofit', 'ngo', 'government', 'social-enterprise', 'cooperative')."
45
67
}
46
68
}
47
69
},
48
70
"description": "Extended metadata for an organization actor. Complements the base actor profile with organization-specific fields like legal structure and reference links."
49
71
},
50
72
"urlItem": {
51
73
"type": "object",
52
74
"required": [
53
75
"url"
54
76
],
55
77
"properties": {
56
78
"url": {
57
79
"type": "string",
58
80
"format": "uri",
59
81
"maxLength": 10000,
60
82
"description": "The URL.",
61
83
"maxGraphemes": 2048
62
84
},
63
85
"label": {
64
86
"type": "string",
65
87
"maxLength": 640,
66
88
"description": "Optional human-readable label for this URL (e.g. 'Support page', 'Donation page').",
67
89
"maxGraphemes": 64
68
90
}
69
91
},
70
92
"description": "A labeled URL reference."
71
93
}
72
94
},
73
95
"$type": "com.atproto.lexicon.schema",
74
96
"lexicon": 1
75
97
}