{
"id": "town.muni.arbiter.defs",
"defs": {
"memberDid": {
"type": "object",
"required": [
"did"
],
"properties": {
"did": {
"type": "string",
"format": "did",
"description": "The DID of the member."
}
},
"description": "A member specified directly by their DID."
},
"didDocConfig": {
"type": "object",
"required": [
"rotationKeys",
"verificationMethods",
"alsoKnownAs",
"services"
],
"properties": {
"services": {
"type": "object",
"properties": {},
"description": "Map from service ID to service endpoint configuration.\nThe ID should not include a `#` prefix; it will be added when rendering\nthe DID document."
},
"alsoKnownAs": {
"type": "array",
"items": {
"type": "string"
},
"description": "Priority-ordered list of URIs indicating other names or aliases\nassociated with the DID. For atproto, this should include an `at://`\nURI for the account's handle."
},
"rotationKeys": {
"type": "array",
"items": {
"type": "string"
},
"description": "Priority-ordered list of public keys in `did:key` encoding.\nAt least 1 and at most 5 keys, with no duplication.\nThese keys control the DID identifier (can sign rotation operations)."
},
"verificationMethods": {
"type": "object",
"properties": {},
"description": "Map from verification method ID to public key in `did:key` encoding.\nThe ID should not include a `#` prefix; it will be added when rendering\nthe DID document. These keys do **not** have control over the DID."
}
},
"description": "Configurable fields for a DID PLC document."
},
"serviceEndpoint": {
"type": "object",
"required": [
"type",
"endpoint"
],
"properties": {
"type": {
"type": "string",
"description": "The type of the service (e.g. `AtprotoPersonalDataServer`)."
},
"endpoint": {
"type": "string",
"description": "The endpoint URL (e.g. `https://pds.example.com`)."
}
},
"description": "A service endpoint entry within a DID document's `services` field.\n\nMaps a service ID (e.g. `atproto_pds`) to its type and URL.\nPer the DID PLC spec, the service ID should not include a `#` prefix;\nthe `#` will be added when rendering the DID document."
},
"memberLocalSpace": {
"type": "object",
"required": [
"spaceKey"
],
"properties": {
"spaceKey": {
"type": "string",
"maxLength": 1024,
"description": "The key of the space on this arbiter."
}
},
"description": "A member representing all of the members of another space that is on this arbiter."
},
"memberRemoteSpace": {
"type": "object",
"required": [
"arbiterDid",
"spaceKey"
],
"properties": {
"spaceKey": {
"type": "string",
"maxLength": 1024,
"description": "The key of the space on the remote arbiter."
},
"arbiterDid": {
"type": "string",
"format": "did",
"description": "The DID of the remote arbiter."
}
},
"description": "A member representing all of the members of another space on another arbiter."
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}