Skip to content

Form

A form for collecting data from a user.

PropertyTypeRequiredDescription
iduuidYesThe form’s unique identifier
namestringYesThe form’s name
versionstringNoThe form version
descriptionstringNoThe form’s description
instructionsstring or Array<File>NoThe form’s instructions
jsonSchemaFormJsonSchemaNoThe form’s JSON schema used to render the form and validate responses
uiSchemaFormUISchemaNoThe form’s UI schema used to render the form in the browser
mappingToCommonGrantsMappingSchemaNoA mapping from form schema to CommonGrants schema
mappingFromCommonGrantsMappingSchemaNoA mapping from CommonGrants schema to form schema
customFieldsRecord<CustomField>NoCustom attributes about the form itself, not custom fields within the form

A JSON example of this model.

{
"id": "30a12e5e-5940-4c08-921c-17a8960fcf4b",
"name": "Sample string value",
"createdAt": "2025-10-09T23:16:01.212Z",
"lastModifiedAt": "2025-10-09T23:16:01.212Z",
"description": "Sample string value",
"version": "Sample string value",
"instructions": "Sample string value",
"jsonSchema": {},
"uiSchema": {},
"mappingToCommonGrants": {},
"mappingFromCommonGrants": {},
"customFields": {
"property": {
"name": "Sample string value",
"fieldType": "string",
"value": "Sample value",
"schema": "https://example.com",
"description": "Sample string value"
}
}
}

A JSON schema used to validate form responses.

A JSON example of this model.

{
"$id": "formA.json",
"type": "object",
"properties": {
"name": {
"first": { "type": "string" },
"last": { "type": "string" }
},
"email": { "type": "string" },
"phone": { "type": "string" }
}
}

A UI schema used to render the form in the browser.

A JSON example of this model.

{
"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" }
]
}