Everything the MVP page needs in one viewer-aware payload.
GET
/mvp/page
const url = 'https://api.gospl.example/v1/mvp/page';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api.gospl.example/v1/mvp/page \ --header 'Authorization: Bearer <token>'Current holders, the viewer’s nomination eligibility per award type, both countdowns, and the viewer’s own nomination feed (own only — Q3).
Authorizations
Section titled “Authorizations ”Responses
Section titled “ Responses ”OK
Media type application/json
object
currentHolders
required
object
period
string
individual
deadlines
required
object
individual
required
object
type
required
string
closesAt
required
string format: date-time
isOpen
required
boolean
team
required
object
type
required
string
closesAt
required
string format: date-time
isOpen
required
boolean
canNominate
required
Drives CTA visibility (US-06). Server-authoritative.
object
individual
required
boolean
team
required
boolean
myNominations
required
Viewer’s own, newest first (Q3 — own only).
Array<object>
object
id
required
string format: uuid
type
required
string
period
required
string
reason
required
string
createdAt
required
string format: date-time
nominee
Present for individual nominations.
object
id
required
string format: uuid
name
required
string
photoUrl
string format: uri
team
Present for team nominations.
object
teamName
string
members
Array<object>
object
id
required
string format: uuid
name
required
string
photoUrl
string format: uri
Example
{ "deadlines": { "individual": { "type": "individual" }, "team": { "type": "individual" } }, "myNominations": [ { "type": "individual" } ]}Missing/invalid credentials.
Media type application/json
object
code
required
string
message
required
string
Example generated
{ "code": "example", "message": "example"}