From
bafyreietodmrpmzru55zcpguoa75q5bsujscqhemi6unuzib7isc7fjw5y
indexed 2026-09-24 22:35 UTC
View this version
To
bafyreiaknu3hlgdhkcvef3bq5rvhkzrmdqocuwgqnitnfc3vjg6uzhardu
indexed 2026-11-05 16:25 UTC
View this version
Compatibility
breaking 1 breaking change, 2 non-breaking changes.
Breaking changes (1)
- ConstraintAdded ConstraintAdded { vertex_id: "fyi.opensocial.addRecoveryKey:input.key", sort: "format", value: "did" }
Non-breaking changes (2)
- AddedVertex AddedVertex { vertex_id: "fyi.opensocial.addRecoveryKey:output" }
- AddedEdge AddedEdge { src: "fyi.opensocial.addRecoveryKey", tgt: "fyi.opensocial.addRecoveryKey:output", kind: "prop", name: Some("output") }
Migration guidance
Added
AddedVertex { vertex_id: "fyi.opensocial.addRecoveryKey:output" }
Constraint changes
- ConstraintAdded ConstraintAdded { vertex_id: "fyi.opensocial.addRecoveryKey:input.key", sort: "format", value: "did" }
Notes
- Non-breaking: AddedEdge { src: "fyi.opensocial.addRecoveryKey", tgt: "fyi.opensocial.addRecoveryKey:output", kind: "prop", name: Some("output") }
Changes
11
{22
"$type": "com.atproto.lexicon.schema",33
"defs": {44
"main": {55
"description": "Add a steward's recovery key to the group's did:plc, ahead of this host's own key. Only the public did:key is sent; the private half stays with the steward. Requires group.configure.",66
"errors": [77
{8
"name": "NotPlc"9
},10
{118
"name": "InvalidKey"129
},1310
{1411
"name": "AlreadyAdded"1512
},1613
{1714
"name": "TooManyKeys"1815
},1916
{2017
"name": "NotController"18
},19
{20
"description": "The PLC directory refused the change, as when another was made first: ask again.",21
"name": "InvalidOperation"2122
}2223
],2324
"input": {2425
"encoding": "application/json",2526
"schema": {2627
"properties": {2728
"group": {2829
"description": "The group DID. Every method is served by the group's host and authorized against that group's roles.",2930
"format": "did",3031
"type": "string"3132
},3233
"key": {3334
"description": "A did:key (secp256k1 or P-256). Only the public key: the host never sees the private half.",35
"format": "did",3436
"type": "string"3537
}3638
},3739
"required": [3840
"group",3941
"key"4042
],4143
"type": "object"4244
}4345
},46
"output": {47
"encoding": "application/json",48
"schema": {49
"properties": {},50
"type": "object"51
}52
},4453
"type": "procedure"4554
}4655
},4756
"id": "fyi.opensocial.addRecoveryKey",4857
"lexicon": 14958
}