From
bafyreifpqrmx2qxscadnpuivbah3tuql4id7lrap6b7nkkh3l4b5cerdhu
indexed 2026-09-24 00:10 UTC
View this version
To
bafyreidp7e4u3iq2maztrkf6ujsxs77egjgncf4to5q2qsg3uvfsq6hxzq
indexed 2026-11-05 16:25 UTC
View this version
Compatibility
breaking 15 breaking changes, 41 non-breaking changes.
Breaking changes (15)
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "fyi.opensocial.listGroupTokens#activityView", src: "fyi.opensocial.listGroupTokens#activityView", tgt: "fyi.opensocial.listGroupTokens#activityView.action", kind: "prop", name: Some("action") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "fyi.opensocial.listGroupTokens#activityView", src: "fyi.opensocial.listGroupTokens#activityView", tgt: "fyi.opensocial.listGroupTokens#activityView.at", kind: "prop", name: Some("at") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "fyi.opensocial.listGroupTokens#activityView", src: "fyi.opensocial.listGroupTokens#activityView", tgt: "fyi.opensocial.listGroupTokens#activityView.member", kind: "prop", name: Some("member") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "fyi.opensocial.listGroupTokens#writeView", src: "fyi.opensocial.listGroupTokens#writeView", tgt: "fyi.opensocial.listGroupTokens#writeView.operation", kind: "prop", name: Some("operation") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "fyi.opensocial.listGroupTokens#writeView", src: "fyi.opensocial.listGroupTokens#writeView", tgt: "fyi.opensocial.listGroupTokens#writeView.collection", kind: "prop", name: Some("collection") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "fyi.opensocial.listGroupTokens#writeView", src: "fyi.opensocial.listGroupTokens#writeView", tgt: "fyi.opensocial.listGroupTokens#writeView.rkey", kind: "prop", name: Some("rkey") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "fyi.opensocial.listGroupTokens#sessionView", src: "fyi.opensocial.listGroupTokens#sessionView", tgt: "fyi.opensocial.listGroupTokens#sessionView.source", kind: "prop", name: Some("source") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "fyi.opensocial.listGroupTokens#sessionView", src: "fyi.opensocial.listGroupTokens#sessionView", tgt: "fyi.opensocial.listGroupTokens#sessionView.grantedAt", kind: "prop", name: Some("grantedAt") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "fyi.opensocial.listGroupTokens#sessionView", src: "fyi.opensocial.listGroupTokens#sessionView", tgt: "fyi.opensocial.listGroupTokens#sessionView.member", kind: "prop", name: Some("member") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "fyi.opensocial.listGroupTokens#sessionView", src: "fyi.opensocial.listGroupTokens#sessionView", tgt: "fyi.opensocial.listGroupTokens#sessionView.clientId", kind: "prop", name: Some("clientId") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "fyi.opensocial.listGroupTokens#sessionView", src: "fyi.opensocial.listGroupTokens#sessionView", tgt: "fyi.opensocial.listGroupTokens#sessionView.tokenId", kind: "prop", name: Some("tokenId") }
- KindChanged KindChanged { vertex_id: "fyi.opensocial.listGroupTokens:output.activity:items", old_kind: "unknown", new_kind: "ref" }
- KindChanged KindChanged { vertex_id: "fyi.opensocial.listGroupTokens:output.sessions:items", old_kind: "unknown", new_kind: "ref" }
- ConstraintAdded ConstraintAdded { vertex_id: "fyi.opensocial.listGroupTokens:output.activity:items", sort: "ref", value: "#activityView" }
- ConstraintAdded ConstraintAdded { vertex_id: "fyi.opensocial.listGroupTokens:output.sessions:items", sort: "ref", value: "#sessionView" }
Non-breaking changes (41)
- AddedVertex AddedVertex { vertex_id: "fyi.opensocial.defs#actorView" }
- AddedVertex AddedVertex { vertex_id: "fyi.opensocial.listGroupTokens#activityView" }
- AddedVertex AddedVertex { vertex_id: "fyi.opensocial.listGroupTokens#activityView.action" }
- AddedVertex AddedVertex { vertex_id: "fyi.opensocial.listGroupTokens#activityView.actor" }
- AddedVertex AddedVertex { vertex_id: "fyi.opensocial.listGroupTokens#activityView.at" }
- AddedVertex AddedVertex { vertex_id: "fyi.opensocial.listGroupTokens#activityView.clientId" }
- AddedVertex AddedVertex { vertex_id: "fyi.opensocial.listGroupTokens#activityView.member" }
- AddedVertex AddedVertex { vertex_id: "fyi.opensocial.listGroupTokens#activityView.subject" }
- AddedVertex AddedVertex { vertex_id: "fyi.opensocial.listGroupTokens#activityView.write" }
- AddedVertex AddedVertex { vertex_id: "fyi.opensocial.listGroupTokens#sessionView" }
- AddedVertex AddedVertex { vertex_id: "fyi.opensocial.listGroupTokens#sessionView.actor" }
- AddedVertex AddedVertex { vertex_id: "fyi.opensocial.listGroupTokens#sessionView.clientId" }
- AddedVertex AddedVertex { vertex_id: "fyi.opensocial.listGroupTokens#sessionView.expiresAt" }
- AddedVertex AddedVertex { vertex_id: "fyi.opensocial.listGroupTokens#sessionView.grantedAt" }
- AddedVertex AddedVertex { vertex_id: "fyi.opensocial.listGroupTokens#sessionView.lastUsedAt" }
- AddedVertex AddedVertex { vertex_id: "fyi.opensocial.listGroupTokens#sessionView.member" }
- AddedVertex AddedVertex { vertex_id: "fyi.opensocial.listGroupTokens#sessionView.role" }
- AddedVertex AddedVertex { vertex_id: "fyi.opensocial.listGroupTokens#sessionView.scope" }
- AddedVertex AddedVertex { vertex_id: "fyi.opensocial.listGroupTokens#sessionView.source" }
- AddedVertex AddedVertex { vertex_id: "fyi.opensocial.listGroupTokens#sessionView.tokenId" }
- AddedVertex AddedVertex { vertex_id: "fyi.opensocial.listGroupTokens#writeView" }
- AddedVertex AddedVertex { vertex_id: "fyi.opensocial.listGroupTokens#writeView.collection" }
- AddedVertex AddedVertex { vertex_id: "fyi.opensocial.listGroupTokens#writeView.operation" }
- AddedVertex AddedVertex { vertex_id: "fyi.opensocial.listGroupTokens#writeView.rkey" }
- AddedVertex AddedVertex { vertex_id: "fyi.opensocial.listGroupTokens#writeView.space" }
- AddedEdge AddedEdge { src: "fyi.opensocial.listGroupTokens#activityView", tgt: "fyi.opensocial.listGroupTokens#activityView.actor", kind: "prop", name: Some("actor") }
- AddedEdge AddedEdge { src: "fyi.opensocial.listGroupTokens#activityView", tgt: "fyi.opensocial.listGroupTokens#activityView.clientId", kind: "prop", name: Some("clientId") }
- AddedEdge AddedEdge { src: "fyi.opensocial.listGroupTokens#activityView", tgt: "fyi.opensocial.listGroupTokens#activityView.subject", kind: "prop", name: Some("subject") }
- AddedEdge AddedEdge { src: "fyi.opensocial.listGroupTokens#activityView", tgt: "fyi.opensocial.listGroupTokens#activityView.write", kind: "prop", name: Some("write") }
- AddedEdge AddedEdge { src: "fyi.opensocial.listGroupTokens#activityView.actor", tgt: "fyi.opensocial.defs#actorView", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "fyi.opensocial.listGroupTokens#activityView.subject", tgt: "fyi.opensocial.defs#actorView", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "fyi.opensocial.listGroupTokens#activityView.write", tgt: "fyi.opensocial.listGroupTokens#writeView", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "fyi.opensocial.listGroupTokens#sessionView", tgt: "fyi.opensocial.listGroupTokens#sessionView.actor", kind: "prop", name: Some("actor") }
- AddedEdge AddedEdge { src: "fyi.opensocial.listGroupTokens#sessionView", tgt: "fyi.opensocial.listGroupTokens#sessionView.expiresAt", kind: "prop", name: Some("expiresAt") }
- AddedEdge AddedEdge { src: "fyi.opensocial.listGroupTokens#sessionView", tgt: "fyi.opensocial.listGroupTokens#sessionView.lastUsedAt", kind: "prop", name: Some("lastUsedAt") }
- AddedEdge AddedEdge { src: "fyi.opensocial.listGroupTokens#sessionView", tgt: "fyi.opensocial.listGroupTokens#sessionView.role", kind: "prop", name: Some("role") }
- AddedEdge AddedEdge { src: "fyi.opensocial.listGroupTokens#sessionView", tgt: "fyi.opensocial.listGroupTokens#sessionView.scope", kind: "prop", name: Some("scope") }
- AddedEdge AddedEdge { src: "fyi.opensocial.listGroupTokens#sessionView.actor", tgt: "fyi.opensocial.defs#actorView", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "fyi.opensocial.listGroupTokens#writeView", tgt: "fyi.opensocial.listGroupTokens#writeView.space", kind: "prop", name: Some("space") }
- AddedEdge AddedEdge { src: "fyi.opensocial.listGroupTokens:output.activity:items", tgt: "fyi.opensocial.listGroupTokens#activityView", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "fyi.opensocial.listGroupTokens:output.sessions:items", tgt: "fyi.opensocial.listGroupTokens#sessionView", kind: "ref", name: None }
Migration guidance
Added
AddedVertex { vertex_id: "fyi.opensocial.defs#actorView" }AddedVertex { vertex_id: "fyi.opensocial.listGroupTokens#activityView" }AddedVertex { vertex_id: "fyi.opensocial.listGroupTokens#activityView.action" }AddedVertex { vertex_id: "fyi.opensocial.listGroupTokens#activityView.actor" }AddedVertex { vertex_id: "fyi.opensocial.listGroupTokens#activityView.at" }AddedVertex { vertex_id: "fyi.opensocial.listGroupTokens#activityView.clientId" }AddedVertex { vertex_id: "fyi.opensocial.listGroupTokens#activityView.member" }AddedVertex { vertex_id: "fyi.opensocial.listGroupTokens#activityView.subject" }AddedVertex { vertex_id: "fyi.opensocial.listGroupTokens#activityView.write" }AddedVertex { vertex_id: "fyi.opensocial.listGroupTokens#sessionView" }AddedVertex { vertex_id: "fyi.opensocial.listGroupTokens#sessionView.actor" }AddedVertex { vertex_id: "fyi.opensocial.listGroupTokens#sessionView.clientId" }AddedVertex { vertex_id: "fyi.opensocial.listGroupTokens#sessionView.expiresAt" }AddedVertex { vertex_id: "fyi.opensocial.listGroupTokens#sessionView.grantedAt" }AddedVertex { vertex_id: "fyi.opensocial.listGroupTokens#sessionView.lastUsedAt" }AddedVertex { vertex_id: "fyi.opensocial.listGroupTokens#sessionView.member" }AddedVertex { vertex_id: "fyi.opensocial.listGroupTokens#sessionView.role" }AddedVertex { vertex_id: "fyi.opensocial.listGroupTokens#sessionView.scope" }AddedVertex { vertex_id: "fyi.opensocial.listGroupTokens#sessionView.source" }AddedVertex { vertex_id: "fyi.opensocial.listGroupTokens#sessionView.tokenId" }AddedVertex { vertex_id: "fyi.opensocial.listGroupTokens#writeView" }AddedVertex { vertex_id: "fyi.opensocial.listGroupTokens#writeView.collection" }AddedVertex { vertex_id: "fyi.opensocial.listGroupTokens#writeView.operation" }AddedVertex { vertex_id: "fyi.opensocial.listGroupTokens#writeView.rkey" }AddedVertex { vertex_id: "fyi.opensocial.listGroupTokens#writeView.space" }
Constraint changes
- ConstraintAdded ConstraintAdded { vertex_id: "fyi.opensocial.listGroupTokens:output.activity:items", sort: "ref", value: "#activityView" }
- ConstraintAdded ConstraintAdded { vertex_id: "fyi.opensocial.listGroupTokens:output.sessions:items", sort: "ref", value: "#sessionView" }
Notes
- Breaking: RequiredEdgeAdded { vertex_id: "fyi.opensocial.listGroupTokens#writeView", src: "fyi.opensocial.listGroupTokens#writeView", tgt: "fyi.opensocial.listGroupTokens#writeView.operation", kind: "prop", name: Some("operation") }
- Breaking: RequiredEdgeAdded { vertex_id: "fyi.opensocial.listGroupTokens#writeView", src: "fyi.opensocial.listGroupTokens#writeView", tgt: "fyi.opensocial.listGroupTokens#writeView.collection", kind: "prop", name: Some("collection") }
- Breaking: RequiredEdgeAdded { vertex_id: "fyi.opensocial.listGroupTokens#writeView", src: "fyi.opensocial.listGroupTokens#writeView", tgt: "fyi.opensocial.listGroupTokens#writeView.rkey", kind: "prop", name: Some("rkey") }
- Breaking: RequiredEdgeAdded { vertex_id: "fyi.opensocial.listGroupTokens#activityView", src: "fyi.opensocial.listGroupTokens#activityView", tgt: "fyi.opensocial.listGroupTokens#activityView.action", kind: "prop", name: Some("action") }
- Breaking: RequiredEdgeAdded { vertex_id: "fyi.opensocial.listGroupTokens#activityView", src: "fyi.opensocial.listGroupTokens#activityView", tgt: "fyi.opensocial.listGroupTokens#activityView.at", kind: "prop", name: Some("at") }
- Breaking: RequiredEdgeAdded { vertex_id: "fyi.opensocial.listGroupTokens#activityView", src: "fyi.opensocial.listGroupTokens#activityView", tgt: "fyi.opensocial.listGroupTokens#activityView.member", kind: "prop", name: Some("member") }
- Breaking: RequiredEdgeAdded { vertex_id: "fyi.opensocial.listGroupTokens#sessionView", src: "fyi.opensocial.listGroupTokens#sessionView", tgt: "fyi.opensocial.listGroupTokens#sessionView.source", kind: "prop", name: Some("source") }
- Breaking: RequiredEdgeAdded { vertex_id: "fyi.opensocial.listGroupTokens#sessionView", src: "fyi.opensocial.listGroupTokens#sessionView", tgt: "fyi.opensocial.listGroupTokens#sessionView.grantedAt", kind: "prop", name: Some("grantedAt") }
- Breaking: RequiredEdgeAdded { vertex_id: "fyi.opensocial.listGroupTokens#sessionView", src: "fyi.opensocial.listGroupTokens#sessionView", tgt: "fyi.opensocial.listGroupTokens#sessionView.member", kind: "prop", name: Some("member") }
- Breaking: RequiredEdgeAdded { vertex_id: "fyi.opensocial.listGroupTokens#sessionView", src: "fyi.opensocial.listGroupTokens#sessionView", tgt: "fyi.opensocial.listGroupTokens#sessionView.clientId", kind: "prop", name: Some("clientId") }
- Breaking: RequiredEdgeAdded { vertex_id: "fyi.opensocial.listGroupTokens#sessionView", src: "fyi.opensocial.listGroupTokens#sessionView", tgt: "fyi.opensocial.listGroupTokens#sessionView.tokenId", kind: "prop", name: Some("tokenId") }
- Breaking: KindChanged { vertex_id: "fyi.opensocial.listGroupTokens:output.activity:items", old_kind: "unknown", new_kind: "ref" }
- Breaking: KindChanged { vertex_id: "fyi.opensocial.listGroupTokens:output.sessions:items", old_kind: "unknown", new_kind: "ref" }
- Non-breaking: AddedEdge { src: "fyi.opensocial.listGroupTokens#activityView", tgt: "fyi.opensocial.listGroupTokens#activityView.actor", kind: "prop", name: Some("actor") }
- Non-breaking: AddedEdge { src: "fyi.opensocial.listGroupTokens#activityView", tgt: "fyi.opensocial.listGroupTokens#activityView.clientId", kind: "prop", name: Some("clientId") }
- Non-breaking: AddedEdge { src: "fyi.opensocial.listGroupTokens#activityView", tgt: "fyi.opensocial.listGroupTokens#activityView.subject", kind: "prop", name: Some("subject") }
- Non-breaking: AddedEdge { src: "fyi.opensocial.listGroupTokens#activityView", tgt: "fyi.opensocial.listGroupTokens#activityView.write", kind: "prop", name: Some("write") }
- Non-breaking: AddedEdge { src: "fyi.opensocial.listGroupTokens#activityView.actor", tgt: "fyi.opensocial.defs#actorView", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "fyi.opensocial.listGroupTokens#activityView.subject", tgt: "fyi.opensocial.defs#actorView", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "fyi.opensocial.listGroupTokens#activityView.write", tgt: "fyi.opensocial.listGroupTokens#writeView", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "fyi.opensocial.listGroupTokens#sessionView", tgt: "fyi.opensocial.listGroupTokens#sessionView.actor", kind: "prop", name: Some("actor") }
- Non-breaking: AddedEdge { src: "fyi.opensocial.listGroupTokens#sessionView", tgt: "fyi.opensocial.listGroupTokens#sessionView.expiresAt", kind: "prop", name: Some("expiresAt") }
- Non-breaking: AddedEdge { src: "fyi.opensocial.listGroupTokens#sessionView", tgt: "fyi.opensocial.listGroupTokens#sessionView.lastUsedAt", kind: "prop", name: Some("lastUsedAt") }
- Non-breaking: AddedEdge { src: "fyi.opensocial.listGroupTokens#sessionView", tgt: "fyi.opensocial.listGroupTokens#sessionView.role", kind: "prop", name: Some("role") }
- Non-breaking: AddedEdge { src: "fyi.opensocial.listGroupTokens#sessionView", tgt: "fyi.opensocial.listGroupTokens#sessionView.scope", kind: "prop", name: Some("scope") }
- Non-breaking: AddedEdge { src: "fyi.opensocial.listGroupTokens#sessionView.actor", tgt: "fyi.opensocial.defs#actorView", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "fyi.opensocial.listGroupTokens#writeView", tgt: "fyi.opensocial.listGroupTokens#writeView.space", kind: "prop", name: Some("space") }
- Non-breaking: AddedEdge { src: "fyi.opensocial.listGroupTokens:output.activity:items", tgt: "fyi.opensocial.listGroupTokens#activityView", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "fyi.opensocial.listGroupTokens:output.sessions:items", tgt: "fyi.opensocial.listGroupTokens#sessionView", kind: "ref", name: None }
Changes
11
{22
"$type": "com.atproto.lexicon.schema",33
"defs": {4
"activityView": {5
"description": "Something an app did as the group.",6
"properties": {7
"action": {8
"description": "The method it called, or the record it wrote.",9
"type": "string"10
},11
"actor": {12
"description": "Who let the app in, with their handle where it can be read.",13
"ref": "fyi.opensocial.defs#actorView",14
"type": "ref"15
},16
"at": {17
"format": "datetime",18
"type": "string"19
},20
"clientId": {21
"description": "The app's OAuth client id.",22
"type": "string"23
},24
"member": {25
"description": "Who let the app in.",26
"format": "did",27
"type": "string"28
},29
"subject": {30
"description": "Whom the write is about, with their handle where it can be read: whose DID keys the record (a membership), or whose inbox it was written in (an invite).",31
"ref": "fyi.opensocial.defs#actorView",32
"type": "ref"33
},34
"write": {35
"description": "The record it wrote, in parts, when it was a write.",36
"ref": "#writeView",37
"type": "ref"38
}39
},40
"required": [41
"member",42
"action",43
"at"44
],45
"type": "object"46
},447
"main": {548
"description": "The OAuth sessions issued by this host for the group DID (apps acting as the group), plus recent activity. Requires group.configure.",649
"output": {750
"encoding": "application/json",851
"schema": {952
"properties": {1053
"activity": {1154
"items": {12
"type": "unknown"55
"ref": "#activityView",56
"type": "ref"1357
},1458
"type": "array"1559
},1660
"sessions": {1761
"items": {18
"type": "unknown"62
"ref": "#sessionView",63
"type": "ref"1964
},2065
"type": "array"2166
}2267
},2368
"required": [2469
"sessions",2570
"activity"2671
],2772
"type": "object"2873
}2974
},3075
"parameters": {3176
"properties": {3277
"group": {3378
"format": "did",3479
"type": "string"3580
}3681
},3782
"required": [3883
"group"3984
],4085
"type": "params"4186
},4287
"type": "query"88
},89
"sessionView": {90
"description": "A session an app holds as the group.",91
"properties": {92
"actor": {93
"description": "Who let it in, with their handle where it can be read.",94
"ref": "fyi.opensocial.defs#actorView",95
"type": "ref"96
},97
"clientId": {98
"description": "The app's OAuth client id.",99
"type": "string"100
},101
"expiresAt": {102
"format": "datetime",103
"type": "string"104
},105
"grantedAt": {106
"format": "datetime",107
"type": "string"108
},109
"lastUsedAt": {110
"format": "datetime",111
"type": "string"112
},113
"member": {114
"description": "Who let it in.",115
"format": "did",116
"type": "string"117
},118
"role": {119
"description": "The role it was given, if one.",120
"type": "string"121
},122
"scope": {123
"type": "string"124
},125
"source": {126
"knownValues": [127
"oauth",128
"getGroupAuth",129
"appPassword"130
],131
"type": "string"132
},133
"tokenId": {134
"type": "string"135
}136
},137
"required": [138
"tokenId",139
"clientId",140
"member",141
"source",142
"grantedAt"143
],144
"type": "object"145
},146
"writeView": {147
"description": "A record an app wrote as the group.",148
"properties": {149
"collection": {150
"format": "nsid",151
"type": "string"152
},153
"operation": {154
"knownValues": [155
"create",156
"update",157
"delete"158
],159
"type": "string"160
},161
"rkey": {162
"description": "The record's key.",163
"type": "string"164
},165
"space": {166
"description": "The space it was written in, by its at:// address; none for the group's public repo.",167
"type": "string"168
}169
},170
"required": [171
"operation",172
"collection",173
"rkey"174
],175
"type": "object"43176
}44177
},45178
"id": "fyi.opensocial.listGroupTokens",46179
"lexicon": 147180
}