Skip to content

Instantly share code, notes, and snippets.

Last active Jul 26, 2017
What would you like to do?
Proposed extension to the grantProgramme object of the three sixty giving data standard

Proposed extension to Grant Programme fields

This proposal is for an extension to the 360Giving Standard which will allow grantmakers to publish details about the programmes that projects and organisations (and individuals?) can apply to for funding.

The principle is that it would contain enough information for a potential applicant to be able to discover:

  • whether they meet the eligibility criteria for the grant programme (e.g. applying for the correct amount)
  • whether they are suitable for the grant programme (e.g. overlapping priorities with the funder)
Title Description Type Required Note
code An identifier for this grant programme. string False Existing field
title The title of this grant programme. string False Existing field
description A description of this grant programme. string False Existing field
url A web link to more details of this grant programme. uri False Existing field
dateModified The date and time when information about this grant programme was last updated. date-time False Existing field
keyCriteria Text describing the criteria that applicants must meet (this will often include "What we will fund" and "What we won't fund") string False
openCall Are unsolicited applications allowed? Values should be "Yes" or "No" enum Yes/No False
active Is the fund currently accepting applications enum Yes/No False (need to clarify relationship with fundingRounds)
startDate The date the programme was first set up date-time False
endDate The last date the fund accepted applications date-time False Should not be used for temporary pauses, i.e. between funding rounds. Should only be present if active == 'No'
fundingRounds A list of fund deadlines/periods when the fund is accepting applications array Event False
currency Grants can be awarded in this currency Currency False Could be array?
minAmountAwarded Smallest amount that can be awarded number,null False
maxAmountAwarded Largest amount that can be awarded number,null False
minPlannedDatesDuration Smallest length of time for projects number,null False Number of months
maxPlannedDatesDuration Longest length of time for projects number,null False Number of months
fundingType A list of types of funding available through this fund (eg "Revenue", "Capital") array Classification False
organisationType Types of organisations that are allowed to apply for the fund array Classification False
eligibilityCriteria List of criteria an applicant must meet to be eligible for the programme array string False Could be a Classification vocabulary
restrictions List of criteria an applicant must not meet to be eligible for the programme array string False Could be a Classification vocabulary
allowedLocations List of locations where funded activities can take place array Location False
classifications Any classifications or tags for the programme array Classification False
relatedDocument Documents that may be useful for applying to the fund - application guidance, etc. Can be links to webpages array Document False

Standalone specification

This could be turned into a "standalone" specification that allows data to be released separately to lists of grants in the 360 giving format. This would require a number of additional fields, which would otherwise duplicate what was found in the

Title Description Type Required Note
fundingOrganization Details of the funder array Organization False
dataSource A web link pointing to the source of this data. This may be an original 360Giving data file, a file from which the data was converted, or an organisation website. uri False
grants A list of 360Giving Grant objects which have been funded by this programme array Grant False Could instead be called exampleGrants or recentGrants if we didn't want to assume that the list was comprehensive

The proposal would be that an organisation hosts a file on their website with an array of GrantProgramme objects describing their available funds (and any historic ones if they want to).


A number of programmes have "programmes-within-a-fund" - i.e. streams within a fudning stream. An example might be a grant Programme that is split into "Small Grants" and "Main Grants" with a difference in the amounts that can be applied for, and perhaps different application forms, eligibility.

My proposal is that there is a subFund field which allows an array of GrantProgramme objects. Any details not included in these objects would be assumed to be the same as the parent object, allowing them to be reduced to just the fields that differ from their parent object, without duplication.

There would have to be indication in the guidance about whether the parent fund should be ignored when displaying the funds if sub-funds are present, or whether they are in addition to the parent fund record.

Title Description Type Required Note
subFund Any streams within this programme that differ from the main array GrantProgramme False Missing details would be overridden by the main object

Vocabulary specifications

The standard will require stricter adherence to classification vocabularies for a few fields to be helpful. These include:


Potential entries:

  • Capital
  • Revenue
  • Core costs
  • Project costs


Potential entries:

  • Registered Charity
  • Registered Company
  • Public Body
  • School
  • Hospital
  • Local Authority
  • Housing Association
  • Community Interest Company

(NB this one is much more difficult!)

Should this allow for funding of individuals?

documentType (for Documents in relatedDocument)

Potential entries:

  • Application
  • Eligibility Quiz
  • Guidance


  • Should be mapping to JSON format like this
  • Need to crosscheck with open contracting standards to see if there's any fields that could be brought across/other inspiration.
  • Decide on which fields are required
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment