{
  "fields": [
    {
      "name": "id",
      "type": "string",
      "description": "Vote-event ID.",
      "constraints": {
        "required": true
      }
    },
    {
      "name": "identifier",
      "type": "string",
      "description": "Roll call or journal id"
    },
    {
      "name": "motion_id",
      "type": "string"
    },
    {
      "name": "organization_id",
      "type": "string"
    },
    {
      "name": "start_date",
      "type": "string",
      "description": "YYYY-MM-DD or ISO datetime"
    },
    {
      "name": "end_date",
      "type": "string",
      "description": "YYYY-MM-DD or ISO datetime"
    },
    {
      "name": "result",
      "type": "string",
      "description": "Outcome of the vote-event. Null/omitted if unknown."
    },
    {
      "name": "counts",
      "type": "array",
      "description": "Aggregate counts per option."
    },
    {
      "name": "votes",
      "type": "array",
      "description": "Individual votes."
    },
    {
      "name": "sources",
      "type": "array"
    },
    {
      "name": "links",
      "type": "array"
    },
    {
      "name": "created_at",
      "type": "string"
    },
    {
      "name": "updated_at",
      "type": "string"
    },
    {
      "name": "status",
      "type": "string",
      "description": "Vote-event status. Default is valid. Use invalid for annulled/mistaken votes, test for test votes, other for special cases."
    },
    {
      "name": "requirement",
      "type": "string",
      "description": "Voting requirement for this vote-event (e.g., simple majority, 3/5)."
    },
    {
      "name": "extras",
      "type": "object",
      "description": "Additional metadata fields not covered by the core schema (e.g., sitting number, agenda item)."
    }
  ]
}