pub.chive.governance.getProposal

chive.pub

{
  "id": "pub.chive.governance.getProposal",
  "defs": {
    "main": {
      "type": "query",
      "errors": [
        {
          "name": "NotFound"
        }
      ],
      "output": {
        "schema": {
          "ref": "#proposalView",
          "type": "ref"
        },
        "encoding": "application/json"
      },
      "parameters": {
        "type": "params",
        "required": [
          "proposalId"
        ],
        "properties": {
          "proposalId": {
            "type": "string",
            "description": "Proposal identifier"
          }
        }
      },
      "description": "Get a single governance proposal by ID with full enrichment"
    },
    "externalId": {
      "type": "object",
      "required": [
        "system",
        "identifier"
      ],
      "properties": {
        "uri": {
          "type": "string",
          "format": "uri",
          "description": "URI in external system"
        },
        "system": {
          "type": "string",
          "description": "External system name"
        },
        "matchType": {
          "type": "string",
          "description": "Match type",
          "knownValues": [
            "exact",
            "close",
            "broader",
            "narrower",
            "related"
          ]
        },
        "identifier": {
          "type": "string",
          "description": "Identifier in external system"
        }
      }
    },
    "voteCounts": {
      "type": "object",
      "required": [
        "approve",
        "reject",
        "abstain"
      ],
      "properties": {
        "reject": {
          "type": "integer",
          "minimum": 0,
          "description": "Number of reject votes"
        },
        "abstain": {
          "type": "integer",
          "minimum": 0,
          "description": "Number of abstain votes"
        },
        "approve": {
          "type": "integer",
          "minimum": 0,
          "description": "Number of approve votes"
        }
      }
    },
    "proposalView": {
      "type": "object",
      "required": [
        "id",
        "uri",
        "cid",
        "type",
        "changes",
        "status",
        "proposedBy",
        "votes",
        "consensus",
        "createdAt"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "Proposal identifier"
        },
        "cid": {
          "type": "string",
          "description": "Content identifier"
        },
        "uri": {
          "type": "string",
          "format": "at-uri",
          "description": "Proposal AT-URI"
        },
        "type": {
          "type": "string",
          "description": "Proposal type",
          "knownValues": [
            "create",
            "update",
            "merge",
            "deprecate"
          ]
        },
        "label": {
          "type": "string",
          "description": "Node label (from target node or proposed changes)"
        },
        "votes": {
          "ref": "#voteCounts",
          "type": "ref"
        },
        "status": {
          "type": "string",
          "description": "Current proposal status",
          "knownValues": [
            "pending",
            "approved",
            "rejected",
            "expired"
          ]
        },
        "changes": {
          "ref": "#proposalChanges",
          "type": "ref",
          "description": "Proposed changes"
        },
        "nodeUri": {
          "type": "string",
          "format": "at-uri",
          "description": "Target node URI (for update/merge/deprecate)"
        },
        "consensus": {
          "ref": "#consensusProgress",
          "type": "ref"
        },
        "createdAt": {
          "type": "string",
          "format": "datetime",
          "description": "Creation timestamp"
        },
        "expiresAt": {
          "type": "string",
          "format": "datetime",
          "description": "Expiration timestamp"
        },
        "rationale": {
          "type": "string",
          "description": "Rationale for the proposal"
        },
        "updatedAt": {
          "type": "string",
          "format": "datetime",
          "description": "Last update timestamp"
        },
        "proposedBy": {
          "type": "string",
          "format": "did",
          "description": "DID of the proposer"
        },
        "proposerName": {
          "type": "string",
          "description": "Display name of the proposer"
        }
      },
      "description": "View of a governance proposal"
    },
    "proposalChanges": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "description": "Node kind",
          "knownValues": [
            "type",
            "object"
          ]
        },
        "label": {
          "type": "string",
          "description": "Node label"
        },
        "subkind": {
          "type": "string",
          "description": "Node subkind"
        },
        "metadata": {
          "type": "unknown",
          "description": "Additional metadata"
        },
        "targetUri": {
          "type": "string",
          "format": "at-uri",
          "description": "Target URI for update/deprecate"
        },
        "description": {
          "type": "string",
          "description": "Node description"
        },
        "externalIds": {
          "type": "array",
          "items": {
            "ref": "#externalId",
            "type": "ref"
          },
          "description": "External identifiers"
        },
        "mergeIntoUri": {
          "type": "string",
          "format": "at-uri",
          "description": "Merge target URI"
        },
        "alternateLabels": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Alternate labels"
        }
      },
      "description": "Proposed changes to a node"
    },
    "consensusProgress": {
      "type": "object",
      "required": [
        "approvalPercentage",
        "threshold",
        "voterCount",
        "minimumVotes",
        "consensusReached",
        "recommendedStatus"
      ],
      "properties": {
        "threshold": {
          "type": "integer",
          "maximum": 100,
          "minimum": 0,
          "description": "Required threshold for approval (0-100)"
        },
        "voterCount": {
          "type": "integer",
          "minimum": 0,
          "description": "Number of voters"
        },
        "minimumVotes": {
          "type": "integer",
          "minimum": 0,
          "description": "Minimum votes required"
        },
        "consensusReached": {
          "type": "boolean",
          "description": "Whether consensus has been reached"
        },
        "recommendedStatus": {
          "type": "string",
          "description": "Recommended status based on votes",
          "knownValues": [
            "approved",
            "rejected",
            "pending"
          ]
        },
        "approvalPercentage": {
          "type": "integer",
          "maximum": 100,
          "minimum": 0,
          "description": "Current approval percentage (0-100)"
        }
      }
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1,
  "revision": 1
}

Validate Record

Validate a record against pub.chive.governance.getProposal

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:7natp5xae72bddaqlkef2t4e
CID
bafyreihhxafmcatbpxlyy4qtkzys57kd2zdq4qj25pk6rqyntypqwihoya
Indexed At
2026-05-04 17:29 UTC
AT-URI
at://did:plc:7natp5xae72bddaqlkef2t4e/com.atproto.lexicon.schema/pub.chive.governance.getProposal

Lexicon Garden

@