app.certified.actor.organization

certified.app

Schema Diff

+22 -0

From

CID
bafyreidm3d6pk65...
Indexed At
2026-03-19 20:24 UTC
View this version

To

CID
bafyreih6sfkywdg...
Indexed At
2026-07-26 20:06 UTC
View this version

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
}

Compare Other Versions

Lexicon Garden

@