GOOD Grants · Schema

Field

CompanyGrantsSaaSNonprofitFunding

Properties

Name Type Description
applicant_read_access boolean Whether applicants can view this field.
applicant_write_access boolean Whether applicants can edit this field.
auto_scoring integer Score awarded automatically for the field, or `0` when automatic scoring is not configured.
categories array Categories the field is associated with, or `["*"]` when it applies to every category. `category_count` reports `all` in that case, so a caller can read that instead of testing for the marker. The sam
category_count object How many categories the field is associated with.
conditional_field objectnull Field whose value controls whether this field is shown, or `null` when the field is not conditional.
created string Date and time when the field was created.
file_types array Permitted file extensions for file fields, empty when no restriction applies.
form objectnull Form the field belongs to, or `null` when the field is not attached to a form.
help_text object Help text shown for the field, as an HTML fragment keyed by locale code.
hint_text object Hint text shown for the field, as an HTML fragment keyed by locale code.
label object Label of the field, as an HTML fragment keyed by locale code.
max_file_size integernull Maximum upload size in megabytes for file fields, or `null` when no limit applies.
maximum_characters integernull Maximum number of characters accepted, or `null` when no limit applies.
maximum_words integernull Maximum number of words accepted, or `null` when no limit applies.
minimum_characters integernull Minimum number of characters required, or `null` when no limit applies.
minimum_words integernull Minimum number of words required, or `null` when no limit applies.
options array Selectable options for choice fields (for example, drop-down or radio). Empty when the field type has no options.
order integer Position of the field within its tab.
protection string Protection level governing access to the data for the field (for example, `standard`, `elevated`, or `maximum`).
registration stringnull Registration attribute the field is mapped to, or `null` if unmapped.
required boolean Whether a value is required for the field.
resource string Resource the field collects data for (for example, `applications`, `contributors`, `referees`, `attachments`, or `users`).
schema objectnull Column structure of a table field, or `null` for every other field type.
searchable boolean Whether the field is included in search.
season object Season the field belongs to.
slug string Short URL-safe identifier for the field.
tab objectnull Tab the field belongs to, or `null` when the field is not attached to a tab.
title object Plain-text title of the field, keyed by locale code.
type string Field type (for example, `text`, `textarea`, `drop-down-list`, `file`, `currency`, or `date`).
updated string Date and time when the field was last updated.
visibility array Contexts in which the field is visible (for example, `qualifying`, `top_pick`, `voting`, `gallery`, or `scoring`).
View JSON Schema on GitHub

JSON Schema

good-grants-field-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/good-grants/json-schema/good-grants-field-schema.json",
  "title": "Field",
  "x-generated": "2026-10-28",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/good-grants-openapi.yaml#/components/schemas/Field",
  "type": "object",
  "properties": {
    "applicant_read_access": {
      "type": "boolean",
      "description": "Whether applicants can view this field."
    },
    "applicant_write_access": {
      "type": "boolean",
      "description": "Whether applicants can edit this field."
    },
    "auto_scoring": {
      "type": "integer",
      "description": "Score awarded automatically for the field, or `0` when automatic scoring is not configured."
    },
    "categories": {
      "type": "array",
      "description": "Categories the field is associated with, or `[\"*\"]` when it applies to every category.\n\n`category_count` reports `all` in that case, so a caller can read that instead of testing for\nthe marker. The same shape is used by the `categories` property of a tab.",
      "items": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "slug": {
                "type": "string",
                "description": "Short URL-safe identifier for the category."
              },
              "link": {
                "type": "string",
                "format": "uri",
                "description": "Canonical URL for the category resource."
              },
              "name": {
                "type": "object",
                "description": "Map of translated strings keyed by locale code (for example, `en_GB` or `fr_FR`).",
                "additionalProperties": {
                  "type": "string"
                }
              }
            }
          },
          {
            "type": "string",
            "enum": [
              "*"
            ]
          }
        ]
      }
    },
    "category_count": {
      "description": "How many categories the field is associated with.",
      "oneOf": [
        {
          "type": "integer",
          "minimum": 0,
          "description": "Number of categories the field is associated with."
        },
        {
          "type": "string",
          "description": "The value `all`, when the field applies to every category.",
          "enum": [
            "all"
          ]
        },
        {
          "type": "null",
          "description": "Null, when the field collects user data and is not scoped to categories at all."
        }
      ]
    },
    "conditional_field": {
      "type": [
        "object",
        "null"
      ],
      "description": "Field whose value controls whether this field is shown, or `null` when the field is not conditional.",
      "properties": {
        "slug": {
          "type": "string",
          "description": "Short URL-safe identifier for the controlling field."
        },
        "link": {
          "type": "string",
          "format": "uri",
          "description": "Canonical URL for the controlling field resource."
        },
        "name": {
          "type": "object",
          "description": "Display name of the controlling field, keyed by locale code.",
          "additionalProperties": {
            "type": "string"
          }
        }
      }
    },
    "created": {
      "type": "string",
      "format": "date-time",
      "description": "Date and time when the field was created."
    },
    "file_types": {
      "type": "array",
      "description": "Permitted file extensions for file fields, empty when no restriction applies.",
      "items": {
        "type": "string"
      }
    },
    "form": {
      "type": [
        "object",
        "null"
      ],
      "description": "Form the field belongs to, or `null` when the field is not attached to a form.",
      "properties": {
        "slug": {
          "type": "string",
          "description": "Short URL-safe identifier for the form."
        },
        "link": {
          "type": "string",
          "format": "uri",
          "description": "Canonical URL for the form resource."
        },
        "name": {
          "type": "object",
          "description": "Display name of the form, keyed by locale code.",
          "additionalProperties": {
            "type": "string"
          }
        }
      }
    },
    "help_text": {
      "type": "object",
      "description": "Help text shown for the field, as an HTML fragment keyed by locale code.",
      "additionalProperties": {
        "type": "string"
      }
    },
    "hint_text": {
      "type": "object",
      "description": "Hint text shown for the field, as an HTML fragment keyed by locale code.",
      "additionalProperties": {
        "type": "string"
      }
    },
    "label": {
      "type": "object",
      "description": "Label of the field, as an HTML fragment keyed by locale code.",
      "additionalProperties": {
        "type": "string"
      }
    },
    "max_file_size": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Maximum upload size in megabytes for file fields, or `null` when no limit applies."
    },
    "maximum_characters": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Maximum number of characters accepted, or `null` when no limit applies."
    },
    "maximum_words": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Maximum number of words accepted, or `null` when no limit applies."
    },
    "minimum_characters": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Minimum number of characters required, or `null` when no limit applies."
    },
    "minimum_words": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Minimum number of words required, or `null` when no limit applies."
    },
    "options": {
      "type": "array",
      "description": "Selectable options for choice fields (for example, drop-down or radio). Empty when the field type has no options.",
      "items": {
        "type": "string"
      }
    },
    "order": {
      "type": "integer",
      "description": "Position of the field within its tab."
    },
    "protection": {
      "type": "string",
      "description": "Protection level governing access to the data for the field (for example, `standard`, `elevated`, or `maximum`)."
    },
    "registration": {
      "type": [
        "string",
        "null"
      ],
      "description": "Registration attribute the field is mapped to, or `null` if unmapped."
    },
    "required": {
      "type": "boolean",
      "description": "Whether a value is required for the field."
    },
    "resource": {
      "type": "string",
      "description": "Resource the field collects data for (for example, `applications`, `contributors`, `referees`, `attachments`, or `users`)."
    },
    "schema": {
      "type": [
        "object",
        "null"
      ],
      "description": "Column structure of a table field, or `null` for every other field type.",
      "properties": {
        "columns": {
          "type": "array",
          "description": "Columns of the table, in the order they appear.",
          "items": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string",
                "description": "Spreadsheet-style column letter used to address cells of the field."
              },
              "label": {
                "type": "object",
                "description": "Heading of the column, keyed by locale code.",
                "additionalProperties": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "searchable": {
      "type": "boolean",
      "description": "Whether the field is included in search."
    },
    "season": {
      "type": "object",
      "description": "Season the field belongs to.",
      "properties": {
        "slug": {
          "type": "string",
          "description": "Short URL-safe identifier for the season."
        },
        "link": {
          "type": "string",
          "format": "uri",
          "description": "Canonical URL for the season resource."
        },
        "name": {
          "type": "object",
          "description": "Display name of the season, keyed by locale code.",
          "additionalProperties": {
            "type": "string"
          }
        }
      }
    },
    "slug": {
      "type": "string",
      "description": "Short URL-safe identifier for the field."
    },
    "tab": {
      "type": [
        "object",
        "null"
      ],
      "description": "Tab the field belongs to, or `null` when the field is not attached to a tab.",
      "properties": {
        "slug": {
          "type": "string",
          "description": "Short URL-safe identifier for the tab."
        },
        "link": {
          "type": "string",
          "format": "uri",
          "description": "Canonical URL for the tab resource."
        },
        "name": {
          "type": "object",
          "description": "Display name of the tab, keyed by locale code.",
          "additionalProperties": {
            "type": "string"
          }
        }
      }
    },
    "title": {
      "type": "object",
      "description": "Plain-text title of the field, keyed by locale code.",
      "additionalProperties": {
        "type": "string"
      }
    },
    "type": {
      "type": "string",
      "description": "Field type (for example, `text`, `textarea`, `drop-down-list`, `file`, `currency`, or `date`)."
    },
    "updated": {
      "type": "string",
      "format": "date-time",
      "description": "Date and time when the field was last updated."
    },
    "visibility": {
      "type": "array",
      "description": "Contexts in which the field is visible (for example, `qualifying`, `top_pick`, `voting`, `gallery`, or `scoring`).",
      "items": {
        "type": "string"
      }
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/good-grants-field"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.