Skip to content

Competition

Base model for a competition.

A competition is an application process for a funding opportunity. It often has a distinct application period and set of application forms.

PropertyTypeRequiredDescription
id uuid Yes Globally unique id for the competition
opportunityId uuid Yes The opportunity id for the competition
title string Yes The title of the competition
description string No The description of the competition
instructions string or array<File> No The instructions for the competition
status CompetitionStatus Yes The status of the competition
keyDates CompetitionTimeline No The key dates in the competition timeline
forms CompetitionForms Yes The forms for the competition
acceptedApplicantTypes array<ApplicantType> No Accepted applicant types for the competition
customFields record<CustomField> No The custom fields for the competition
createdAt utcDateTime Yes The timestamp (in UTC) at which the record was created.
lastModifiedAt utcDateTime Yes The timestamp (in UTC) at which the record was last modified.

A JSON example of this model.

{
"id": "b7c1e2f4-8a3d-4e2a-9c5b-1f2e3d4c5b6a",
"opportunityId": "b7c1e2f4-8a3d-4e2a-9c5b-1f2e3d4c5b6b",
"title": "Competition 1",
"description": "Competition 1 description",
"instructions": "Competition 1 instructions",
"status": {
"value": "open",
"customValue": "custom",
"description": "Competition is open for applications"
},
"keyDates": {
"openDate": {
"name": "Open Date",
"eventType": "singleDate",
"date": "2025-01-01"
},
"closeDate": {
"name": "Close Date",
"eventType": "singleDate",
"date": "2025-01-30"
},
"otherDates": {
"reviewPeriod": {
"name": "Application Review Period",
"eventType": "dateRange",
"startDate": "2025-02-01",
"endDate": "2025-02-28"
}
}
},
"forms": {
"forms": {
"formA": {},
"formB": {}
},
"validation": {
"required": ["formA"]
}
},
"createdAt": "2025-01-01T00:00:00Z",
"lastModifiedAt": "2025-01-01T00:00:00Z"
}
Version Changes
0.2.0
  • Added CompetitionBase model

The status of the competition.

PropertyTypeRequiredDescription
value CompetitionStatusOptions Yes The status of the competition, from a predefined set of options
customValue string No A custom value for the status
description string No A human-readable description of the status

A JSON example of this model.

{
"value": "custom",
"customValue": "canceled",
"description": "Competition has been canceled"
}
Version Changes
0.1.0
  • Added CompetitionStatus model

Enumeration of possible competition status values.

ValueDescription
open The competition is open for applications
closed The competition is no longer accepting applications
custom A custom status

A JSON example of this model.

"open"
Version Changes
0.1.0
  • Added CompetitionStatusOptions enum

Set of forms that need to be completed to apply to the competition.

PropertyTypeRequiredDescription
forms record<FormBase> Yes The forms for the competition
validation record No The validation rules for the competition forms

A JSON example of this model.

{
"forms": {
"formA": {},
"formB": {}
},
"validation": {
"required": ["formA"]
}
}
Version Changes
0.1.0
  • Added CompetitionForms model

The key dates in the competition timeline.

PropertyTypeRequiredDescription
openDate Event No The start date of the competition
closeDate Event No The end date of the competition
otherDates record<Event> No The date the competition was created

A JSON example of this model.

{
"openDate": {
"name": "Open Date",
"eventType": "singleDate",
"date": "2025-01-01"
},
"closeDate": {
"name": "Close Date",
"eventType": "singleDate",
"date": "2025-01-30"
},
"otherDates": {
"reviewPeriod": {
"name": "Application Review Period",
"eventType": "dateRange",
"startDate": "2025-02-01",
"endDate": "2025-02-28"
}
}
}
Version Changes
0.1.0
  • Added CompetitionTimeline model