com.getorbyt.community.defs

getorbyt.com

Schema Diff

+341 -1

From

CID
bafyreifo5kwcblm...
Indexed At
2026-08-28 23:34 UTC
View this version

To

CID
bafyreiezb7zkrs3...
Indexed At
2026-09-13 19:26 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

27 breaking changes, 83 non-breaking changes.

Breaking Changes (27)
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#reportView", src: "com.getorbyt.community.defs#reportView", tgt: "com.getorbyt.community.defs#reportView.status", kind: "prop", name: Some("status") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#reportView", src: "com.getorbyt.community.defs#reportView", tgt: "com.getorbyt.community.defs#reportView.createdAt", kind: "prop", name: Some("createdAt") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#reportView", src: "com.getorbyt.community.defs#reportView", tgt: "com.getorbyt.community.defs#reportView.community", kind: "prop", name: Some("community") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#reportView", src: "com.getorbyt.community.defs#reportView", tgt: "com.getorbyt.community.defs#reportView.id", kind: "prop", name: Some("id") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#reportView", src: "com.getorbyt.community.defs#reportView", tgt: "com.getorbyt.community.defs#reportView.reporterDid", kind: "prop", name: Some("reporterDid") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#reportView", src: "com.getorbyt.community.defs#reportView", tgt: "com.getorbyt.community.defs#reportView.post", kind: "prop", name: Some("post") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#reportView", src: "com.getorbyt.community.defs#reportView", tgt: "com.getorbyt.community.defs#reportView.reason", kind: "prop", name: Some("reason") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#transferView", src: "com.getorbyt.community.defs#transferView", tgt: "com.getorbyt.community.defs#transferView.toDid", kind: "prop", name: Some("toDid") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#transferView", src: "com.getorbyt.community.defs#transferView", tgt: "com.getorbyt.community.defs#transferView.status", kind: "prop", name: Some("status") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#transferView", src: "com.getorbyt.community.defs#transferView", tgt: "com.getorbyt.community.defs#transferView.community", kind: "prop", name: Some("community") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#transferView", src: "com.getorbyt.community.defs#transferView", tgt: "com.getorbyt.community.defs#transferView.createdAt", kind: "prop", name: Some("createdAt") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#transferView", src: "com.getorbyt.community.defs#transferView", tgt: "com.getorbyt.community.defs#transferView.expiresAt", kind: "prop", name: Some("expiresAt") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#transferView", src: "com.getorbyt.community.defs#transferView", tgt: "com.getorbyt.community.defs#transferView.id", kind: "prop", name: Some("id") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#transferView", src: "com.getorbyt.community.defs#transferView", tgt: "com.getorbyt.community.defs#transferView.fromDid", kind: "prop", name: Some("fromDid") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#auditEvent", src: "com.getorbyt.community.defs#auditEvent", tgt: "com.getorbyt.community.defs#auditEvent.id", kind: "prop", name: Some("id") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#auditEvent", src: "com.getorbyt.community.defs#auditEvent", tgt: "com.getorbyt.community.defs#auditEvent.community", kind: "prop", name: Some("community") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#auditEvent", src: "com.getorbyt.community.defs#auditEvent", tgt: "com.getorbyt.community.defs#auditEvent.createdAt", kind: "prop", name: Some("createdAt") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#auditEvent", src: "com.getorbyt.community.defs#auditEvent", tgt: "com.getorbyt.community.defs#auditEvent.kind", kind: "prop", name: Some("kind") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#auditEvent", src: "com.getorbyt.community.defs#auditEvent", tgt: "com.getorbyt.community.defs#auditEvent.actorDid", kind: "prop", name: Some("actorDid") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#appealView", src: "com.getorbyt.community.defs#appealView", tgt: "com.getorbyt.community.defs#appealView.authorDid", kind: "prop", name: Some("authorDid") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#appealView", src: "com.getorbyt.community.defs#appealView", tgt: "com.getorbyt.community.defs#appealView.community", kind: "prop", name: Some("community") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#appealView", src: "com.getorbyt.community.defs#appealView", tgt: "com.getorbyt.community.defs#appealView.createdAt", kind: "prop", name: Some("createdAt") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#appealView", src: "com.getorbyt.community.defs#appealView", tgt: "com.getorbyt.community.defs#appealView.removalActionId", kind: "prop", name: Some("removalActionId") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#appealView", src: "com.getorbyt.community.defs#appealView", tgt: "com.getorbyt.community.defs#appealView.status", kind: "prop", name: Some("status") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#appealView", src: "com.getorbyt.community.defs#appealView", tgt: "com.getorbyt.community.defs#appealView.post", kind: "prop", name: Some("post") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#appealView", src: "com.getorbyt.community.defs#appealView", tgt: "com.getorbyt.community.defs#appealView.text", kind: "prop", name: Some("text") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#appealView", src: "com.getorbyt.community.defs#appealView", tgt: "com.getorbyt.community.defs#appealView.id", kind: "prop", name: Some("id") }
Non-Breaking Changes (83)
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView.authorDid" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView.community" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView.createdAt" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView.id" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView.post" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView.removalActionId" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView.resolution" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView.resolutionNote" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView.resolvedAt" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView.resolvedByDid" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView.status" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView.text" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#auditEvent" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#auditEvent.actorDid" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#auditEvent.community" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#auditEvent.createdAt" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#auditEvent.id" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#auditEvent.kind" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#auditEvent.subjectDid" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#auditEvent.subjectUri" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#auditEvent.summary" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#feedItem.playbackToken" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#feedItem.removalActionId" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#memberView.viewerActions" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#memberView.viewerActions:items" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#reportView" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#reportView.community" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#reportView.createdAt" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#reportView.id" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#reportView.post" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#reportView.reason" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#reportView.reporterDid" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#reportView.resolution" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#reportView.resolutionNote" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#reportView.resolvedAt" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#reportView.resolvedByDid" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#reportView.status" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#transferView" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#transferView.cancelledByDid" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#transferView.community" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#transferView.createdAt" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#transferView.expiresAt" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#transferView.fromDid" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#transferView.id" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#transferView.replacementDeclarationUri" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#transferView.status" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#transferView.toDid" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#transferView.updatedAt" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#view.access" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#view.avatarVideo" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#view.declarationUri" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#view.publicationState" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#view.viewerActions" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#view.viewerActions:items" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#viewerState.canAssignRoles" }
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.defs#viewerState.canListRestrictedMembers" }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#appealView", tgt: "com.getorbyt.community.defs#appealView.resolution", kind: "prop", name: Some("resolution") }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#appealView", tgt: "com.getorbyt.community.defs#appealView.resolutionNote", kind: "prop", name: Some("resolutionNote") }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#appealView", tgt: "com.getorbyt.community.defs#appealView.resolvedAt", kind: "prop", name: Some("resolvedAt") }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#appealView", tgt: "com.getorbyt.community.defs#appealView.resolvedByDid", kind: "prop", name: Some("resolvedByDid") }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#auditEvent", tgt: "com.getorbyt.community.defs#auditEvent.subjectDid", kind: "prop", name: Some("subjectDid") }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#auditEvent", tgt: "com.getorbyt.community.defs#auditEvent.subjectUri", kind: "prop", name: Some("subjectUri") }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#auditEvent", tgt: "com.getorbyt.community.defs#auditEvent.summary", kind: "prop", name: Some("summary") }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#feedItem", tgt: "com.getorbyt.community.defs#feedItem.playbackToken", kind: "prop", name: Some("playbackToken") }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#feedItem", tgt: "com.getorbyt.community.defs#feedItem.removalActionId", kind: "prop", name: Some("removalActionId") }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#memberView", tgt: "com.getorbyt.community.defs#memberView.viewerActions", kind: "prop", name: Some("viewerActions") }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#memberView.viewerActions", tgt: "com.getorbyt.community.defs#memberView.viewerActions:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#reportView", tgt: "com.getorbyt.community.defs#reportView.resolution", kind: "prop", name: Some("resolution") }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#reportView", tgt: "com.getorbyt.community.defs#reportView.resolutionNote", kind: "prop", name: Some("resolutionNote") }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#reportView", tgt: "com.getorbyt.community.defs#reportView.resolvedAt", kind: "prop", name: Some("resolvedAt") }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#reportView", tgt: "com.getorbyt.community.defs#reportView.resolvedByDid", kind: "prop", name: Some("resolvedByDid") }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#transferView", tgt: "com.getorbyt.community.defs#transferView.cancelledByDid", kind: "prop", name: Some("cancelledByDid") }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#transferView", tgt: "com.getorbyt.community.defs#transferView.replacementDeclarationUri", kind: "prop", name: Some("replacementDeclarationUri") }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#transferView", tgt: "com.getorbyt.community.defs#transferView.updatedAt", kind: "prop", name: Some("updatedAt") }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#view", tgt: "com.getorbyt.community.defs#view.access", kind: "prop", name: Some("access") }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#view", tgt: "com.getorbyt.community.defs#view.avatarVideo", kind: "prop", name: Some("avatarVideo") }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#view", tgt: "com.getorbyt.community.defs#view.declarationUri", kind: "prop", name: Some("declarationUri") }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#view", tgt: "com.getorbyt.community.defs#view.publicationState", kind: "prop", name: Some("publicationState") }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#view", tgt: "com.getorbyt.community.defs#view.viewerActions", kind: "prop", name: Some("viewerActions") }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#view.viewerActions", tgt: "com.getorbyt.community.defs#view.viewerActions:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#viewerState", tgt: "com.getorbyt.community.defs#viewerState.canAssignRoles", kind: "prop", name: Some("canAssignRoles") }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.defs#viewerState", tgt: "com.getorbyt.community.defs#viewerState.canListRestrictedMembers", kind: "prop", name: Some("canListRestrictedMembers") }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView.authorDid" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView.community" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView.createdAt" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView.id" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView.post" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView.removalActionId" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView.resolution" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView.resolutionNote" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView.resolvedAt" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView.resolvedByDid" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView.status" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#appealView.text" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#auditEvent" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#auditEvent.actorDid" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#auditEvent.community" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#auditEvent.createdAt" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#auditEvent.id" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#auditEvent.kind" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#auditEvent.subjectDid" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#auditEvent.subjectUri" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#auditEvent.summary" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#feedItem.playbackToken" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#feedItem.removalActionId" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#memberView.viewerActions" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#memberView.viewerActions:items" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#reportView" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#reportView.community" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#reportView.createdAt" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#reportView.id" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#reportView.post" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#reportView.reason" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#reportView.reporterDid" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#reportView.resolution" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#reportView.resolutionNote" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#reportView.resolvedAt" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#reportView.resolvedByDid" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#reportView.status" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#transferView" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#transferView.cancelledByDid" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#transferView.community" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#transferView.createdAt" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#transferView.expiresAt" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#transferView.fromDid" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#transferView.id" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#transferView.replacementDeclarationUri" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#transferView.status" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#transferView.toDid" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#transferView.updatedAt" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#view.access" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#view.avatarVideo" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#view.declarationUri" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#view.publicationState" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#view.viewerActions" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#view.viewerActions:items" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#viewerState.canAssignRoles" }
  • AddedVertex { vertex_id: "com.getorbyt.community.defs#viewerState.canListRestrictedMembers" }

Additional Notes

  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#transferView", src: "com.getorbyt.community.defs#transferView", tgt: "com.getorbyt.community.defs#transferView.toDid", kind: "prop", name: Some("toDid") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#transferView", src: "com.getorbyt.community.defs#transferView", tgt: "com.getorbyt.community.defs#transferView.status", kind: "prop", name: Some("status") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#transferView", src: "com.getorbyt.community.defs#transferView", tgt: "com.getorbyt.community.defs#transferView.community", kind: "prop", name: Some("community") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#transferView", src: "com.getorbyt.community.defs#transferView", tgt: "com.getorbyt.community.defs#transferView.createdAt", kind: "prop", name: Some("createdAt") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#transferView", src: "com.getorbyt.community.defs#transferView", tgt: "com.getorbyt.community.defs#transferView.expiresAt", kind: "prop", name: Some("expiresAt") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#transferView", src: "com.getorbyt.community.defs#transferView", tgt: "com.getorbyt.community.defs#transferView.id", kind: "prop", name: Some("id") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#transferView", src: "com.getorbyt.community.defs#transferView", tgt: "com.getorbyt.community.defs#transferView.fromDid", kind: "prop", name: Some("fromDid") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#appealView", src: "com.getorbyt.community.defs#appealView", tgt: "com.getorbyt.community.defs#appealView.authorDid", kind: "prop", name: Some("authorDid") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#appealView", src: "com.getorbyt.community.defs#appealView", tgt: "com.getorbyt.community.defs#appealView.community", kind: "prop", name: Some("community") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#appealView", src: "com.getorbyt.community.defs#appealView", tgt: "com.getorbyt.community.defs#appealView.createdAt", kind: "prop", name: Some("createdAt") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#appealView", src: "com.getorbyt.community.defs#appealView", tgt: "com.getorbyt.community.defs#appealView.removalActionId", kind: "prop", name: Some("removalActionId") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#appealView", src: "com.getorbyt.community.defs#appealView", tgt: "com.getorbyt.community.defs#appealView.status", kind: "prop", name: Some("status") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#appealView", src: "com.getorbyt.community.defs#appealView", tgt: "com.getorbyt.community.defs#appealView.post", kind: "prop", name: Some("post") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#appealView", src: "com.getorbyt.community.defs#appealView", tgt: "com.getorbyt.community.defs#appealView.text", kind: "prop", name: Some("text") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#appealView", src: "com.getorbyt.community.defs#appealView", tgt: "com.getorbyt.community.defs#appealView.id", kind: "prop", name: Some("id") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#auditEvent", src: "com.getorbyt.community.defs#auditEvent", tgt: "com.getorbyt.community.defs#auditEvent.id", kind: "prop", name: Some("id") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#auditEvent", src: "com.getorbyt.community.defs#auditEvent", tgt: "com.getorbyt.community.defs#auditEvent.community", kind: "prop", name: Some("community") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#auditEvent", src: "com.getorbyt.community.defs#auditEvent", tgt: "com.getorbyt.community.defs#auditEvent.createdAt", kind: "prop", name: Some("createdAt") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#auditEvent", src: "com.getorbyt.community.defs#auditEvent", tgt: "com.getorbyt.community.defs#auditEvent.kind", kind: "prop", name: Some("kind") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#auditEvent", src: "com.getorbyt.community.defs#auditEvent", tgt: "com.getorbyt.community.defs#auditEvent.actorDid", kind: "prop", name: Some("actorDid") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#reportView", src: "com.getorbyt.community.defs#reportView", tgt: "com.getorbyt.community.defs#reportView.status", kind: "prop", name: Some("status") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#reportView", src: "com.getorbyt.community.defs#reportView", tgt: "com.getorbyt.community.defs#reportView.createdAt", kind: "prop", name: Some("createdAt") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#reportView", src: "com.getorbyt.community.defs#reportView", tgt: "com.getorbyt.community.defs#reportView.community", kind: "prop", name: Some("community") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#reportView", src: "com.getorbyt.community.defs#reportView", tgt: "com.getorbyt.community.defs#reportView.id", kind: "prop", name: Some("id") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#reportView", src: "com.getorbyt.community.defs#reportView", tgt: "com.getorbyt.community.defs#reportView.reporterDid", kind: "prop", name: Some("reporterDid") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#reportView", src: "com.getorbyt.community.defs#reportView", tgt: "com.getorbyt.community.defs#reportView.post", kind: "prop", name: Some("post") }
  • Breaking: RequiredEdgeAdded { vertex_id: "com.getorbyt.community.defs#reportView", src: "com.getorbyt.community.defs#reportView", tgt: "com.getorbyt.community.defs#reportView.reason", kind: "prop", name: Some("reason") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#appealView", tgt: "com.getorbyt.community.defs#appealView.resolution", kind: "prop", name: Some("resolution") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#appealView", tgt: "com.getorbyt.community.defs#appealView.resolutionNote", kind: "prop", name: Some("resolutionNote") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#appealView", tgt: "com.getorbyt.community.defs#appealView.resolvedAt", kind: "prop", name: Some("resolvedAt") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#appealView", tgt: "com.getorbyt.community.defs#appealView.resolvedByDid", kind: "prop", name: Some("resolvedByDid") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#auditEvent", tgt: "com.getorbyt.community.defs#auditEvent.subjectDid", kind: "prop", name: Some("subjectDid") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#auditEvent", tgt: "com.getorbyt.community.defs#auditEvent.subjectUri", kind: "prop", name: Some("subjectUri") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#auditEvent", tgt: "com.getorbyt.community.defs#auditEvent.summary", kind: "prop", name: Some("summary") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#feedItem", tgt: "com.getorbyt.community.defs#feedItem.playbackToken", kind: "prop", name: Some("playbackToken") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#feedItem", tgt: "com.getorbyt.community.defs#feedItem.removalActionId", kind: "prop", name: Some("removalActionId") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#memberView", tgt: "com.getorbyt.community.defs#memberView.viewerActions", kind: "prop", name: Some("viewerActions") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#memberView.viewerActions", tgt: "com.getorbyt.community.defs#memberView.viewerActions:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#reportView", tgt: "com.getorbyt.community.defs#reportView.resolution", kind: "prop", name: Some("resolution") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#reportView", tgt: "com.getorbyt.community.defs#reportView.resolutionNote", kind: "prop", name: Some("resolutionNote") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#reportView", tgt: "com.getorbyt.community.defs#reportView.resolvedAt", kind: "prop", name: Some("resolvedAt") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#reportView", tgt: "com.getorbyt.community.defs#reportView.resolvedByDid", kind: "prop", name: Some("resolvedByDid") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#transferView", tgt: "com.getorbyt.community.defs#transferView.cancelledByDid", kind: "prop", name: Some("cancelledByDid") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#transferView", tgt: "com.getorbyt.community.defs#transferView.replacementDeclarationUri", kind: "prop", name: Some("replacementDeclarationUri") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#transferView", tgt: "com.getorbyt.community.defs#transferView.updatedAt", kind: "prop", name: Some("updatedAt") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#view", tgt: "com.getorbyt.community.defs#view.access", kind: "prop", name: Some("access") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#view", tgt: "com.getorbyt.community.defs#view.avatarVideo", kind: "prop", name: Some("avatarVideo") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#view", tgt: "com.getorbyt.community.defs#view.declarationUri", kind: "prop", name: Some("declarationUri") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#view", tgt: "com.getorbyt.community.defs#view.publicationState", kind: "prop", name: Some("publicationState") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#view", tgt: "com.getorbyt.community.defs#view.viewerActions", kind: "prop", name: Some("viewerActions") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#view.viewerActions", tgt: "com.getorbyt.community.defs#view.viewerActions:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#viewerState", tgt: "com.getorbyt.community.defs#viewerState.canAssignRoles", kind: "prop", name: Some("canAssignRoles") }
  • Non-breaking: AddedEdge { src: "com.getorbyt.community.defs#viewerState", tgt: "com.getorbyt.community.defs#viewerState.canListRestrictedMembers", kind: "prop", name: Some("canListRestrictedMembers") }
1 1
{
2 2
  "id": "com.getorbyt.community.defs",
3 3
  "defs": {
4 4
    "rule": {
5 5
      "type": "object",
6 6
      "required": [
7 7
        "text"
8 8
      ],
9 9
      "properties": {
10 10
        "text": {
11 11
          "type": "string",
12 12
          "maxLength": 500
13 13
        }
14 14
      },
15 15
      "description": "One Community rule. An object rather than a bare string so a title, an ordinal or a createdAt can be added later without a schema break."
16 16
    },
17 17
    "view": {
18 18
      "type": "object",
19 19
      "required": [
20 20
        "uri",
21 21
        "cid",
22 22
        "name",
23 23
        "ownerDid",
24 24
        "createdAt"
25 25
      ],
26 26
      "properties": {
27 27
        "cid": {
28 28
          "type": "string",
29 29
          "format": "cid"
30 30
        },
31 31
        "uri": {
32 32
          "type": "string",
33 33
          "format": "at-uri"
34 34
        },
35 35
        "name": {
36 36
          "type": "string",
37 37
          "maxLength": 63,
38 38
          "minLength": 2
39 39
        },
40 40
        "rules": {
41 41
          "type": "array",
42 42
          "items": {
43 43
            "ref": "#rule",
44 44
            "type": "ref"
45 45
          },
46 46
          "maxLength": 20
47 47
        },
48 +
        "access": {
49 +
          "type": "string",
50 +
          "description": "How Community content is accessed. Public is the only enabled value; clients must fail closed for unknown values.",
51 +
          "knownValues": [
52 +
            "public"
53 +
          ]
54 +
        },
48 55
        "avatar": {
49 56
          "type": "string",
50 -
          "format": "uri"
57 +
          "format": "uri",
58 +
          "description": "The Community's artwork as an image. Animated where the source was, and the only artwork field a client without a video player should read."
51 59
        },
52 60
        "labels": {
53 61
          "type": "array",
54 62
          "items": {
55 63
            "ref": "com.atproto.label.defs#label",
56 64
            "type": "ref"
57 65
          },
58 66
          "description": "Labels applied to this Community. Clients moderate against these exactly as they do app.bsky.feed.defs#postView labels."
59 67
        },
60 68
        "viewer": {
61 69
          "ref": "#viewerState",
62 70
          "type": "ref"
63 71
        },
64 72
        "ownerDid": {
65 73
          "type": "string",
66 74
          "format": "did",
67 75
          "description": "The account whose repository holds the Community declaration record. Clients hydrate it to a profile through their authenticated Bluesky AppView."
68 76
        },
69 77
        "createdAt": {
70 78
          "type": "string",
71 79
          "format": "datetime"
72 80
        },
73 81
        "postCount": {
74 82
          "type": "integer",
75 83
          "minimum": 0
76 84
        },
77 85
        "updatedAt": {
78 86
          "type": "string",
79 87
          "format": "datetime"
80 88
        },
81 89
        "postPolicy": {
82 90
          "type": "string",
83 91
          "description": "The raw value its owner wrote, not the value this service resolved. Absent means anyone, which is also how a server that predates this field behaves.",
84 92
          "knownValues": [
85 93
            "anyone",
86 94
            "members",
87 95
            "moderators"
88 96
          ]
89 97
        },
90 98
        "accentColor": {
91 99
          "type": "string",
92 100
          "maxLength": 32
93 101
        },
102 +
        "avatarVideo": {
103 +
          "type": "string",
104 +
          "format": "uri",
105 +
          "description": "A looping, silent MP4 rendition of the same artwork, when the owner supplied one. Clients that can play video use it for a full-bleed header and fall back to `avatar`; clients that cannot ignore it. It never replaces `avatar`, which stays the still or animated image every surface that is not a video player renders."
106 +
        },
94 107
        "description": {
95 108
          "type": "string",
96 109
          "maxLength": 2000
97 110
        },
98 111
        "memberCount": {
99 112
          "type": "integer",
100 113
          "minimum": 0
114 +
        },
115 +
        "viewerActions": {
116 +
          "type": "array",
117 +
          "items": {
118 +
            "type": "string",
119 +
            "knownValues": [
120 +
              "edit",
121 +
              "unpublish",
122 +
              "publish",
123 +
              "transfer",
124 +
              "delete",
125 +
              "view-reports",
126 +
              "view-audit-log"
127 +
            ]
128 +
          },
129 +
          "maxLength": 32,
130 +
          "description": "Actions the authenticated viewer may perform, decided by the service. Clients render only recognized values and infer nothing from role."
131 +
        },
132 +
        "declarationUri": {
133 +
          "type": "string",
134 +
          "format": "at-uri",
135 +
          "description": "The live declaration record. Absent means it is the same as uri."
136 +
        },
137 +
        "publicationState": {
138 +
          "type": "string",
139 +
          "description": "Service-owned lifecycle state. Absent means published. Unknown values must be treated as unavailable.",
140 +
          "knownValues": [
141 +
            "published",
142 +
            "unpublished",
143 +
            "deleting",
144 +
            "deleted"
145 +
          ]
101 146
        }
102 147
      },
103 148
      "description": "A hydrated Community. Only the fields that identify the Community are required; counts and viewer state are optional so a cheaper view can omit them without a schema break."
104 149
    },
105 150
    "feedItem": {
106 151
      "type": "object",
107 152
      "required": [
108 153
        "post"
109 154
      ],
110 155
      "properties": {
111 156
        "post": {
112 157
          "type": "string",
113 158
          "format": "at-uri",
114 159
          "description": "The linked app.bsky.feed.post URI. Clients hydrate it through their authenticated Bluesky AppView."
115 160
        },
116 161
        "pinned": {
117 162
          "type": "boolean",
118 163
          "default": false
119 164
        },
120 165
        "status": {
121 166
          "type": "string",
122 167
          "description": "Community-level state; absent means visible. `removed` is a moderator removal scoped to this Community; the underlying app.bsky.feed.post remains live on the network. Only the author and Community moderators receive removed items.",
123 168
          "knownValues": [
124 169
            "visible",
125 170
            "removed"
126 171
          ]
127 172
        },
128 173
        "removedAt": {
129 174
          "type": "string",
130 175
          "format": "datetime"
131 176
        },
132 177
        "removedBy": {
133 178
          "type": "string",
134 179
          "format": "did"
135 180
        },
181 +
        "playbackToken": {
182 +
          "type": "string",
183 +
          "description": "Server-issued, viewer-bound token proving this item was served to this viewer for this post. Clients pass it back to com.getorbyt.video.recordLoop after a completed playback."
184 +
        },
136 185
        "removedReason": {
137 186
          "type": "string",
138 187
          "maxLength": 1000,
139 188
          "description": "Present only for the post author and Community moderators."
189 +
        },
190 +
        "removalActionId": {
191 +
          "type": "string",
192 +
          "maxLength": 128,
193 +
          "description": "Stable identifier for this specific removal. Present to the author and moderators and used to bind one appeal to one removal."
194 +
        }
195 +
      }
196 +
    },
197 +
    "appealView": {
198 +
      "type": "object",
199 +
      "required": [
200 +
        "id",
201 +
        "community",
202 +
        "post",
203 +
        "removalActionId",
204 +
        "authorDid",
205 +
        "text",
206 +
        "status",
207 +
        "createdAt"
208 +
      ],
209 +
      "properties": {
210 +
        "id": {
211 +
          "type": "string",
212 +
          "maxLength": 128
213 +
        },
214 +
        "post": {
215 +
          "type": "string",
216 +
          "format": "at-uri"
217 +
        },
218 +
        "text": {
219 +
          "type": "string",
220 +
          "maxLength": 2000
221 +
        },
222 +
        "status": {
223 +
          "type": "string",
224 +
          "knownValues": [
225 +
            "open",
226 +
            "resolved"
227 +
          ]
228 +
        },
229 +
        "authorDid": {
230 +
          "type": "string",
231 +
          "format": "did"
232 +
        },
233 +
        "community": {
234 +
          "type": "string",
235 +
          "format": "at-uri"
236 +
        },
237 +
        "createdAt": {
238 +
          "type": "string",
239 +
          "format": "datetime"
240 +
        },
241 +
        "resolution": {
242 +
          "type": "string",
243 +
          "knownValues": [
244 +
            "upheld",
245 +
            "restored"
246 +
          ]
247 +
        },
248 +
        "resolvedAt": {
249 +
          "type": "string",
250 +
          "format": "datetime"
251 +
        },
252 +
        "resolvedByDid": {
253 +
          "type": "string",
254 +
          "format": "did"
255 +
        },
256 +
        "resolutionNote": {
257 +
          "type": "string",
258 +
          "maxLength": 2000
259 +
        },
260 +
        "removalActionId": {
261 +
          "type": "string",
262 +
          "maxLength": 128
263 +
        }
264 +
      }
265 +
    },
266 +
    "auditEvent": {
267 +
      "type": "object",
268 +
      "required": [
269 +
        "id",
270 +
        "community",
271 +
        "kind",
272 +
        "actorDid",
273 +
        "createdAt"
274 +
      ],
275 +
      "properties": {
276 +
        "id": {
277 +
          "type": "string",
278 +
          "maxLength": 128
279 +
        },
280 +
        "kind": {
281 +
          "type": "string",
282 +
          "knownValues": [
283 +
            "published",
284 +
            "unpublished",
285 +
            "deletion-begun",
286 +
            "deletion-cancelled",
287 +
            "deleted",
288 +
            "transfer-invited",
289 +
            "transfer-accepted",
290 +
            "transfer-cancelled",
291 +
            "transfer-completed",
292 +
            "member-role-changed",
293 +
            "member-muted",
294 +
            "member-unmuted",
295 +
            "member-banned",
296 +
            "member-unbanned",
297 +
            "post-removed",
298 +
            "post-restored",
299 +
            "post-pinned",
300 +
            "post-unpinned",
301 +
            "report-created",
302 +
            "report-resolved",
303 +
            "appeal-created",
304 +
            "appeal-resolved"
305 +
          ]
306 +
        },
307 +
        "summary": {
308 +
          "type": "string",
309 +
          "maxLength": 2000
310 +
        },
311 +
        "actorDid": {
312 +
          "type": "string",
313 +
          "format": "did"
314 +
        },
315 +
        "community": {
316 +
          "type": "string",
317 +
          "format": "at-uri"
318 +
        },
319 +
        "createdAt": {
320 +
          "type": "string",
321 +
          "format": "datetime"
322 +
        },
323 +
        "subjectDid": {
324 +
          "type": "string",
325 +
          "format": "did"
326 +
        },
327 +
        "subjectUri": {
328 +
          "type": "string",
329 +
          "format": "at-uri"
140 330
        }
141 331
      }
142 332
    },
143 333
    "memberView": {
144 334
      "type": "object",
145 335
      "required": [
146 336
        "did"
147 337
      ],
148 338
      "properties": {
149 339
        "did": {
150 340
          "type": "string",
151 341
          "format": "did"
152 342
        },
153 343
        "role": {
154 344
          "type": "string",
155 345
          "description": "Absent means member.",
156 346
          "knownValues": [
157 347
            "owner",
158 348
            "moderator",
159 349
            "member"
160 350
          ]
161 351
        },
162 352
        "status": {
163 353
          "type": "string",
164 354
          "description": "Absent means active.",
165 355
          "knownValues": [
166 356
            "active",
167 357
            "muted",
168 358
            "banned"
169 359
          ]
170 360
        },
171 361
        "joinedAt": {
172 362
          "type": "string",
173 363
          "format": "datetime"
174 364
        },
175 365
        "membershipUri": {
176 366
          "type": "string",
177 367
          "format": "at-uri"
368 +
        },
369 +
        "viewerActions": {
370 +
          "type": "array",
371 +
          "items": {
372 +
            "type": "string",
373 +
            "knownValues": [
374 +
              "setRole",
375 +
              "mute",
376 +
              "unmute",
377 +
              "ban",
378 +
              "unban"
379 +
            ]
380 +
          },
381 +
          "maxLength": 16,
382 +
          "description": "The manageMember actions this viewer may take on this member, decided by the service. A client renders only the values it recognises and offers nothing else, so a change to who may do what reaches installed clients without a release. Absent means the service predates this field, not that no action is permitted — a client should fall back to its own rules only then."
178 383
        }
179 384
      }
180 385
    },
386 +
    "reportView": {
387 +
      "type": "object",
388 +
      "required": [
389 +
        "id",
390 +
        "community",
391 +
        "post",
392 +
        "reporterDid",
393 +
        "reason",
394 +
        "status",
395 +
        "createdAt"
396 +
      ],
397 +
      "properties": {
398 +
        "id": {
399 +
          "type": "string",
400 +
          "maxLength": 128
401 +
        },
402 +
        "post": {
403 +
          "type": "string",
404 +
          "format": "at-uri"
405 +
        },
406 +
        "reason": {
407 +
          "type": "string",
408 +
          "maxLength": 2000
409 +
        },
410 +
        "status": {
411 +
          "type": "string",
412 +
          "knownValues": [
413 +
            "open",
414 +
            "resolved"
415 +
          ]
416 +
        },
417 +
        "community": {
418 +
          "type": "string",
419 +
          "format": "at-uri"
420 +
        },
421 +
        "createdAt": {
422 +
          "type": "string",
423 +
          "format": "datetime"
424 +
        },
425 +
        "resolution": {
426 +
          "type": "string",
427 +
          "knownValues": [
428 +
            "removed",
429 +
            "dismissed"
430 +
          ]
431 +
        },
432 +
        "resolvedAt": {
433 +
          "type": "string",
434 +
          "format": "datetime"
435 +
        },
436 +
        "reporterDid": {
437 +
          "type": "string",
438 +
          "format": "did"
439 +
        },
440 +
        "resolvedByDid": {
441 +
          "type": "string",
442 +
          "format": "did"
443 +
        },
444 +
        "resolutionNote": {
445 +
          "type": "string",
446 +
          "maxLength": 2000
447 +
        }
448 +
      }
449 +
    },
181 450
    "viewerState": {
182 451
      "type": "object",
183 452
      "properties": {
184 453
        "role": {
185 454
          "type": "string",
186 455
          "knownValues": [
187 456
            "owner",
188 457
            "moderator",
189 458
            "member"
190 459
          ]
191 460
        },
192 461
        "canPost": {
193 462
          "type": "boolean",
194 463
          "default": false
195 464
        },
196 465
        "canManage": {
197 466
          "type": "boolean",
198 467
          "default": false
199 468
        },
200 469
        "canModerate": {
201 470
          "type": "boolean",
202 471
          "default": false
203 472
        },
204 473
        "membershipUri": {
205 474
          "type": "string",
206 475
          "format": "at-uri"
207 476
        },
477 +
        "canAssignRoles": {
478 +
          "type": "boolean",
479 +
          "default": false,
480 +
          "description": "Whether this viewer may promote or demote another member. Separate from canManage, which is authority over the declaration record itself and belongs only to the repository that holds it. A service may grant administration to an account that does not hold the record."
481 +
        },
208 482
        "membershipStatus": {
209 483
          "type": "string",
210 484
          "description": "Absent means none.",
211 485
          "knownValues": [
212 486
            "none",
213 487
            "active",
214 488
            "muted",
215 489
            "banned"
216 490
          ]
491 +
        },
492 +
        "canListRestrictedMembers": {
493 +
          "type": "boolean",
494 +
          "default": false,
495 +
          "description": "Whether listMembers will answer this viewer for a status other than active. Stated rather than inferred from canModerate so the rule can change without a client release; a client that predates this field may fall back to canModerate."
217 496
        }
218 497
      },
219 498
      "description": "The requesting account's relationship to a Community. Every field is optional; an absent field means the viewer holds no membership and no privilege."
220 499
    },
221 500
    "writeStatus": {
222 501
      "type": "object",
223 502
      "required": [
224 503
        "uri",
225 504
        "status"
226 505
      ],
227 506
      "properties": {
228 507
        "uri": {
229 508
          "type": "string",
230 509
          "format": "at-uri"
231 510
        },
232 511
        "error": {
233 512
          "type": "string",
234 513
          "maxLength": 1000,
235 514
          "description": "Why the record was rejected. Present only for `rejected`."
236 515
        },
237 516
        "status": {
238 517
          "type": "string",
239 518
          "description": "`pending` means the record has not reached this service yet, which is the normal state for a few seconds after a write. `rejected` means it will never be indexed as written.",
240 519
          "knownValues": [
241 520
            "indexed",
242 521
            "pending",
243 522
            "rejected",
244 523
            "deleted"
245 524
          ]
246 525
        },
247 526
        "indexedAt": {
248 527
          "type": "string",
249 528
          "format": "datetime"
250 529
        }
251 530
      },
252 531
      "description": "The fate of one record the caller wrote to their own repository."
532 +
    },
533 +
    "transferView": {
534 +
      "type": "object",
535 +
      "required": [
536 +
        "id",
537 +
        "community",
538 +
        "fromDid",
539 +
        "toDid",
540 +
        "status",
541 +
        "expiresAt",
542 +
        "createdAt"
543 +
      ],
544 +
      "properties": {
545 +
        "id": {
546 +
          "type": "string",
547 +
          "maxLength": 128
548 +
        },
549 +
        "toDid": {
550 +
          "type": "string",
551 +
          "format": "did"
552 +
        },
553 +
        "status": {
554 +
          "type": "string",
555 +
          "knownValues": [
556 +
            "pending",
557 +
            "accepted",
558 +
            "completed",
559 +
            "cancelled",
560 +
            "expired"
561 +
          ]
562 +
        },
563 +
        "fromDid": {
564 +
          "type": "string",
565 +
          "format": "did"
566 +
        },
567 +
        "community": {
568 +
          "type": "string",
569 +
          "format": "at-uri"
570 +
        },
571 +
        "createdAt": {
572 +
          "type": "string",
573 +
          "format": "datetime"
574 +
        },
575 +
        "expiresAt": {
576 +
          "type": "string",
577 +
          "format": "datetime"
578 +
        },
579 +
        "updatedAt": {
580 +
          "type": "string",
581 +
          "format": "datetime"
582 +
        },
583 +
        "cancelledByDid": {
584 +
          "type": "string",
585 +
          "format": "did",
586 +
          "description": "Who ended the invitation. Present only once status is cancelled, and the one thing that tells a withdrawal by the inviting account apart from a decline by the invited one."
587 +
        },
588 +
        "replacementDeclarationUri": {
589 +
          "type": "string",
590 +
          "format": "at-uri"
591 +
        }
592 +
      }
253 593
    }
254 594
  },
255 595
  "$type": "com.atproto.lexicon.schema",
256 596
  "lexicon": 1
257 597
}

Compare Other Versions

Lexicon Garden

@