POST/shorts.v1alpha1.PoliticiansService/GetPolitician

GetPolitician

One politician's profile: declared interests, property, and terms served.

Parameters

Connect-Protocol-VersionheaderRequired
number [1]

Define the version of the Connect protocol

Connect-Timeout-Msheader
number

Define the timeout, in ms

Request Body

application/json
object
slugstring

(proto string)

Responses

200Success
application/json
object
canonicalSlugstring

consumers redirect when it differs from the request (proto string)

extractedParliamentsarray

Extraction coverage FOR THIS PERSON, so a consumer can never present "declared nothing" when the truth is "not yet read". A member's register documents are discovered long before they are parsed (the 44th and 45th Parliaments are scans awaiting the vision tier). Without these two lists an empty `interests` is indistinguishable from a member who genuinely declared nothing — an absence claim about a named individual, which influence-editorial-standards forbids. Three buckets, not two, and the threshold is a SHARE not "any". A parliament where one document out of 155 parsed is not a parliament we have read. Claiming it would make every member whose own document failed to parse render an empty list under a heading that says we looked — a false absence claim about a named individual. read in full (>= 95% of documents) (proto int32)

Array Items:
integer <int32>
interestsarray

(proto shorts.v1alpha1.DeclaredInterest)

Array Items:
partialParliamentsarray

read in part — an empty list here proves nothing (proto int32)

Array Items:
integer <int32>
pendingParliamentsarray

documents exist, none read (proto int32)

Array Items:
integer <int32>
politicianobject

(proto shorts.v1alpha1.Politician)

aphMpidstring

opaque; absent for some members (proto string)

chamberstring

'house' | 'senate' (most recent term) (proto string)

declaredListedCountinteger <int32>

Counts only. Never a value. (proto int32)

declaredPropertyCountinteger <int32>

(proto int32)

displayNamestring

(proto string)

divisionstring

House seat (proto string)

firstParliamentinteger <int32>

(proto int32)

givenNamesstring

(proto string)

honorificstring

(proto string)

lastParliamentinteger <int32>

(proto int32)

partystring

(proto string)

partyAbstring

(proto string)

photoAuthorstring

the credit line the licence requires (proto string)

photoLicencestring

as Commons states it: "CC BY-SA 4.0", "Public domain" (proto string)

photoSourceUrlstring

the Commons file page carrying the full terms (proto string)

photoUrlstring

Portrait photograph, from Wikimedia Commons via Wikidata — NEVER from aph.gov.au, whose images are Commonwealth artefacts that §3.1's posture forbids mirroring and which may carry a separate photographer copyright. THE ATTRIBUTION FIELDS TRAVEL WITH THE URL AND ARE NOT OPTIONAL. CC BY and CC BY-SA permit publication only WITH the credit and a link to the terms, so a consumer that renders photo_url while dropping photo_licence / photo_source_url is breaching the licence, not just being untidy. A database CHECK makes the unattributed state unstorable; carrying the fields together here makes it unrenderable by accident too. Empty for ~26% of members: no Wikidata portrait, or the surname+division match was ambiguous and was withheld rather than guessed. Consumers render a monogram, never a placeholder face and never another person's photograph. (proto string)

slugstring

canonical; consumers must never derive this (proto string)

stateCodestring

UPPERCASE (proto string)

surnamestring

(proto string)

representedSuburbsarray

Suburbs in the member's division, from the ABS boundary join. These are suburbs REPRESENTED, which has nothing to do with anything owned. (proto string)

Array Items:
string
termsarray

(proto shorts.v1alpha1.PoliticianTerm)

Array Items:
defaultError
application/json
object

Error type returned by Connect: https://connectrpc.com/docs/go/errors/#http-representation

codestring [canceled, unknown, invalid_argument, deadline_exceeded, not_found, already_exists, permission_denied, resource_exhausted, failed_precondition, aborted, out_of_range, unimplemented, internal, unavailable, data_loss, unauthenticated]

The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].

detailsarray

A list of messages that carry the error details. There is no limit on the number of messages.

Array Items:
messagestring

A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.

curl -X POST "https://api.shorted.com.au/shorts.v1alpha1.PoliticiansService/GetPolitician" \
  -H "Content-Type: application/json" \
  -d '{
  "slug": "string"
}'