Skip to content

Opportunity

A funding opportunity, such as a grant or loan.

PropertyTypeRequiredDescription
iduuidYesGlobally unique id for the opportunity
titlestringYesTitle or name of the funding opportunity
statusOppStatusYesStatus of the opportunity
descriptionstringYesDescription of the opportunity's purpose and scope
fundingOppFundingNoDetails about the funding available
keyDatesOppTimelineNoKey dates for the opportunity, such as when the application opens and closes
acceptedApplicantTypesarray<ApplicantType>NoThe type of applicant for the opportunity
sourceurlNoURL for the original source of the opportunity
customFieldsrecord<CustomField>NoAdditional custom fields specific to this opportunity
createdAtutcDateTimeYesThe timestamp (in UTC) at which the record was created.
lastModifiedAtutcDateTimeYesThe timestamp (in UTC) at which the record was last modified.

A JSON example of this model.

{
"id": "30a12e5e-5940-4c08-921c-17a8960fcf4b",
"title": "Small business grant program",
"status": {
"value": "open",
"description": "The opportunity is currently accepting applications"
},
"description": "This program provides funding to small businesses to help them grow and create jobs",
"funding": {
"totalAmountAvailable": {
"amount": "1000000.00",
"currency": "USD"
},
"minAwardAmount": {
"amount": "10000.00",
"currency": "USD"
},
"maxAwardAmount": {
"amount": "50000.00",
"currency": "USD"
},
"minAwardCount": 5,
"maxAwardCount": 20,
"estimatedAwardCount": 10
},
"keyDates": {
"postDate": {
"name": "Opportunity posted date",
"eventType": "singleDate",
"date": "2024-01-15",
"description": "Opportunity is posted publicly"
},
"closeDate": {
"name": "Opportunity close date",
"eventType": "singleDate",
"date": "2024-12-31",
"time": "17:00:00",
"description": "Opportunity closes for all applications"
},
"otherDates": {
"anticipatedAward": {
"name": "Anticipated award date",
"eventType": "singleDate",
"date": "2025-03-15",
"description": "When we expect to announce awards for this opportunity."
},
"applicationPeriod": {
"name": "Application period",
"eventType": "dateRange",
"startDate": "2024-01-01",
"endDate": "2024-01-31",
"endTime": "17:00:00",
"description": "Primary application period for the grant opportunity"
},
"performancePeriod": {
"name": "Period of Performance",
"eventType": "dateRange",
"startDate": "2024-01-01",
"endDate": "2024-12-31",
"description": "Period of performance for the grant"
},
"infoSessions": {
"name": "Info sessions",
"eventType": "other",
"details": "Every other Tuesday",
"description": "Info sessions for the opportunity"
}
}
},
"acceptedApplicantTypes": [
{
"value": "individual",
"description": "An individual applicant"
}
],
"source": "http://example.com",
"customFields": {},
"createdAt": "2019-08-24T14:15:22Z",
"lastModifiedAt": "2019-08-24T14:15:22Z"
}
VersionChangesSchema
0.2.0
  • Added acceptedApplicantTypes field
OpportunityBase.yaml
0.1.0
  • Added OpportunityBase model
OpportunityBase.yaml

A funding opportunity with additional details, like available competitions.

PropertyTypeRequiredDescription
iduuidYesGlobally unique id for the opportunity
titlestringYesTitle or name of the funding opportunity
statusOppStatusYesStatus of the opportunity
descriptionstringYesDescription of the opportunity's purpose and scope
fundingOppFundingNoDetails about the funding available
keyDatesOppTimelineNoKey dates for the opportunity, such as when the application opens and closes
acceptedApplicantTypesarray<ApplicantType>NoThe type of applicant for the opportunity
sourceurlNoURL for the original source of the opportunity
customFieldsrecord<CustomField>NoAdditional custom fields specific to this opportunity
createdAtutcDateTimeYesThe timestamp (in UTC) at which the record was created.
lastModifiedAtutcDateTimeYesThe timestamp (in UTC) at which the record was last modified.
competitionsarray<CompetitionBase>NoThe competitions associated with the opportunity

A JSON example of this model.

{
"competitions": [
{
"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": {
"id": "b7c1e2f4-8a3d-4e2a-9c5b-1f2e3d4c5b6a",
"name": "Form A",
"description": "Form A description",
"instructions": "Form A instructions",
"jsonSchema": {
"$id": "formA.json",
"type": "object",
"properties": {
"name": {
"first": {
"type": "string"
},
"last": {
"type": "string"
}
},
"email": {
"type": "string"
},
"phone": {
"type": "string"
}
}
},
"uiSchema": {
"type": "VerticalLayout",
"elements": [
{
"type": "Group",
"label": "Name",
"elements": [
{
"type": "Control",
"scope": "#/properties/name/first"
},
{
"type": "Control",
"scope": "#/properties/name/last"
}
]
},
{
"type": "Control",
"scope": "#/properties/email"
},
{
"type": "Control",
"scope": "#/properties/phone"
}
]
},
"mappingToCommonGrants": {
"name": {
"firstName": {
"field": "name.first"
},
"lastName": {
"field": "name.last"
}
},
"emails": {
"primary": {
"field": "email"
}
},
"phones": {
"primary": {
"field": "phone"
}
}
},
"mappingFromCommonGrants": {
"name": {
"first": {
"field": "name.firstName"
},
"last": {
"field": "name.lastName"
}
},
"email": {
"field": "emails.primary"
},
"phone": {
"field": "phones.primary"
}
},
"createdAt": "2025-01-01T17:01:01",
"lastModifiedAt": "2025-01-02T17:30:00"
},
"formB": {
"id": "b7c1e2f4-8a3d-4e2a-9c5b-1f2e3d4c5b6a",
"name": "Form A",
"description": "Form A description",
"instructions": "Form A instructions",
"jsonSchema": {
"$id": "formA.json",
"type": "object",
"properties": {
"name": {
"first": {
"type": "string"
},
"last": {
"type": "string"
}
},
"email": {
"type": "string"
},
"phone": {
"type": "string"
}
}
},
"uiSchema": {
"type": "VerticalLayout",
"elements": [
{
"type": "Group",
"label": "Name",
"elements": [
{
"type": "Control",
"scope": "#/properties/name/first"
},
{
"type": "Control",
"scope": "#/properties/name/last"
}
]
},
{
"type": "Control",
"scope": "#/properties/email"
},
{
"type": "Control",
"scope": "#/properties/phone"
}
]
},
"mappingToCommonGrants": {
"name": {
"firstName": {
"field": "name.first"
},
"lastName": {
"field": "name.last"
}
},
"emails": {
"primary": {
"field": "email"
}
},
"phones": {
"primary": {
"field": "phone"
}
}
},
"mappingFromCommonGrants": {
"name": {
"first": {
"field": "name.firstName"
},
"last": {
"field": "name.lastName"
}
},
"email": {
"field": "emails.primary"
},
"phone": {
"field": "phones.primary"
}
},
"createdAt": "2025-01-01T17:01:01",
"lastModifiedAt": "2025-01-02T17:30:00"
}
},
"validation": {
"required": [
"formA",
"formB"
]
}
},
"createdAt": "2025-01-01T00:00:00Z",
"lastModifiedAt": "2025-01-01T00:00:00Z"
}
],
"id": "30a12e5e-5940-4c08-921c-17a8960fcf4b",
"title": "Small business grant program",
"status": {
"value": "open",
"description": "The opportunity is currently accepting applications"
},
"description": "This program provides funding to small businesses to help them grow and create jobs",
"funding": {
"totalAmountAvailable": {
"amount": "1000000.00",
"currency": "USD"
},
"minAwardAmount": {
"amount": "10000.00",
"currency": "USD"
},
"maxAwardAmount": {
"amount": "50000.00",
"currency": "USD"
},
"minAwardCount": 5,
"maxAwardCount": 20,
"estimatedAwardCount": 10
},
"keyDates": {
"postDate": {
"name": "Opportunity posted date",
"eventType": "singleDate",
"date": "2024-01-15",
"description": "Opportunity is posted publicly"
},
"closeDate": {
"name": "Opportunity close date",
"eventType": "singleDate",
"date": "2024-12-31",
"time": "17:00:00",
"description": "Opportunity closes for all applications"
},
"otherDates": {
"anticipatedAward": {
"name": "Anticipated award date",
"eventType": "singleDate",
"date": "2025-03-15",
"description": "When we expect to announce awards for this opportunity."
},
"applicationPeriod": {
"name": "Application period",
"eventType": "dateRange",
"startDate": "2024-01-01",
"endDate": "2024-01-31",
"endTime": "17:00:00",
"description": "Primary application period for the grant opportunity"
},
"performancePeriod": {
"name": "Period of Performance",
"eventType": "dateRange",
"startDate": "2024-01-01",
"endDate": "2024-12-31",
"description": "Period of performance for the grant"
},
"infoSessions": {
"name": "Info sessions",
"eventType": "other",
"details": "Every other Tuesday",
"description": "Info sessions for the opportunity"
}
}
},
"acceptedApplicantTypes": [
{
"value": "individual",
"description": "An individual applicant"
}
],
"source": "http://example.com",
"customFields": {},
"createdAt": "2019-08-24T14:15:22Z",
"lastModifiedAt": "2019-08-24T14:15:22Z"
}
VersionChangesSchema
0.2.0
  • Added OpportunityDetails model
OpportunityDetails.yaml

The status of an opportunity, such as whether it is accepting applications.

PropertyTypeRequiredDescription
valueOppStatusOptionsYesThe status of the opportunity, from a predefined set of options
customValuestringNoA custom value for the status
descriptionstringNoA human-readable description of the status

A JSON example of this model.

{
"value": "open",
"description": "The opportunity is currently accepting applications"
}
VersionChangesSchema
0.1.0
  • Added OppStatus model
OppStatus.yaml

The set of values accepted for opportunity status.

ValueDescription
forecastedThe opportunity is forecasted and not yet open for applications
openThe opportunity is open for applications
closedThe opportunity is no longer accepting applications
customA custom status

A JSON example of this model.

"forecasted"
VersionChangesSchema
0.1.0
  • Added OppStatusOptions enum
OppStatusOptions.yaml

Details about the funding available for an opportunity.

PropertyTypeRequiredDescription
detailsstringNoDetails about the funding available for this opportunity that don't fit other fields
totalAmountAvailableMoneyNoTotal amount of funding available for this opportunity
minAwardAmountMoneyNoMinimum amount of funding granted per award
maxAwardAmountMoneyNoMaximum amount of funding granted per award
minAwardCountintegerNoMinimum number of awards granted
maxAwardCountintegerNoMaximum number of awards granted
estimatedAwardCountintegerNoEstimated number of awards that will be granted

A JSON example of this model.

{
"totalAmountAvailable": {
"amount": "1000000.00",
"currency": "USD"
},
"minAwardAmount": {
"amount": "10000.00",
"currency": "USD"
},
"maxAwardAmount": {
"amount": "50000.00",
"currency": "USD"
},
"minAwardCount": 5,
"maxAwardCount": 20,
"estimatedAwardCount": 10
}
VersionChangesSchema
0.1.0
  • Added OppFunding model
OppFunding.yaml

Key dates in the opportunity’s timeline, such as when the application opens and closes.

PropertyTypeRequiredDescription
postDateEventNoThe date (and time) at which the opportunity is posted
closeDateEventNoThe date (and time) at which the opportunity closes
otherDatesrecord<Event>NoAn optional map of other key dates or events in the opportunity timeline Examples might include a deadline for questions, anticipated award date, etc.

A JSON example of this model.

{
"postDate": {
"name": "Opportunity posted date",
"eventType": "singleDate",
"date": "2024-01-15",
"description": "Opportunity is posted publicly"
},
"closeDate": {
"name": "Opportunity close date",
"eventType": "singleDate",
"date": "2024-12-31",
"time": "17:00:00",
"description": "Opportunity closes for all applications"
},
"otherDates": {
"anticipatedAward": {
"name": "Anticipated award date",
"eventType": "singleDate",
"date": "2025-03-15",
"description": "When we expect to announce awards for this opportunity."
},
"applicationPeriod": {
"name": "Application period",
"eventType": "dateRange",
"startDate": "2024-01-01",
"endDate": "2024-01-31",
"endTime": "17:00:00",
"description": "Primary application period for the grant opportunity"
},
"performancePeriod": {
"name": "Period of Performance",
"eventType": "dateRange",
"startDate": "2024-01-01",
"endDate": "2024-12-31",
"description": "Period of performance for the grant"
},
"infoSessions": {
"name": "Info sessions",
"eventType": "other",
"details": "Every other Tuesday",
"description": "Info sessions for the opportunity"
}
}
}
VersionChangesSchema
0.1.0
  • Added OppTimeline model
OppTimeline.yaml