Shard schema
Person shard
A person entity — current MP, peer, committee witness, former member. Carries identity, current roles, registered interests, recent written questions asked or answered, recent votes, and provenance back to the Members API and Register of Interests source.
This page is the field reference for developers and AI clients. If you came here looking for a person, browse the person index instead.
Required fields
6
Optional fields
7
Dialect
JSON Schema draft 2020-12
Version
Required fields
Every shard validating against person@0.2.0 ships these fields. Provenance lines show where each value comes from — the load-bearing column for the structured-evidence promise.
-
stableIdstring<slug>CTR-stable person identifier.
Provenance: Generated at intake from name + constituency or peerage; survives constituency boundary review.
-
officialIdstringMembers API memberId.
Provenance: Members API memberId verbatim.
-
displayNamestringDisplay form of the name.
Provenance: Members API nameDisplayAs field.
-
entityTypeenum (4 values)Person sub-type.
mppeercommittee_witnessformer_member
Provenance: Members API memberType.
-
canonicalUrlstring<URL>Live profile URL on members.parliament.uk.
Provenance: Constructed from the Members API memberId via the documented URL template at intake.
-
provenanceobjectProvenance for the underlying Members-API snapshot.
Provenance: Emitted by intake at the weekly members-snapshot run.
Optional fields
Present where the source carries the value or the derivation succeeds. Code consuming this schema should treat them as nullable.
-
partystring · optionalCurrent party affiliation.
Provenance: Members API latestParty; never inferred.
-
constituencystring · optionalCurrent constituency for MPs.
Provenance: Members API latestHouseMembership; never inferred.
-
enteredParliamentstring<ISO 8601> · optionalFirst election date in current run.
Provenance: Members API representedConstituencyEntry.start.
-
currentRolesarray<object> · optionalCurrent government / opposition / committee roles.
Provenance: Members API representations endpoint.
-
registeredInterestsarray<object> · optionalRegistered financial interests.
Provenance: House of Commons Register of Members' Financial Interests; refreshed at the publish cadence of the official register.
-
writtenQuestionsarray<object> · optionalRecent written questions asked or answered.
Provenance: Records of recordType = written_question where this person appears as asker or answerer in the per-record entity links.
-
recentVotesarray<object> · optionalRecent division votes.
Provenance: Division-vote records linked to this member from the Hansard divisions feed.
Source families for planned person data
The following real source-family taxonomy is associated with person@0.2.0. Click through for metadata and publication status.
Related schemas
Entities referenced by this shard kind. A person shard's entities[] / nested references resolve to shards of these kinds.
Versioning + dialect
Each planned schema follows semver. Patch bumps are additive and backwards-compatible. Minor bumps may add required fields or change validation rules. Major bumps will use a new URL path once canonical files are published.
Published structured data will declare its version in a $schema field. AI clients should respect that version when files become available.