Common Models

Some Designations endpoints share a common data model; these are described below.

Disclosure Fields Response

The response is a collection of:

Key

Value

dataType

String, Boolean, Number, Date, SingleSelect, MultiSelect, Unsupported

designationId

The designation Id.

disclosureFieldId

Field id (key)

name

String identifier

displayLabel

Label used when rendering this field

isRequired

Required for reporting, not necessarily for form submission

dataType

String identifying the expected data type to be provided for this field

defaultValue

Optional, supplied for fields with options if non-null

numericRangeMin

Optional, supplied if non-null. Only present for some numeric fields.

numericRangeMax

Optional, supplied if non-null. Only present for some numeric fields.

textLengthMin

Optional, supplied if non-null. Only present for some text fields.

textLengthMax

Optional, supplied if non-null. Only present for some text fields.

options

Optional, supplied for all single/multi select fields a collection of:

optionId | The option's value
displayLabel | Human-readable value

optionGroups

Optional, supplied for single/multi select fields with option groups a collection of:

displayLabel | Label/heading rendered for the group
options | The options for this group, as explained above

Example GET data (note that this is submitted with content-type application/json) with successful get returns a list of disclosure fields. Example:

[
  {
    "disclosureFieldId": 40,
    "name": "Contribution.Memo",
    "displayLabel": "",
    "isRequired": true,
    "designationId": 1,
    "dataType": "SingleSelect",
    "defaultValue": "5",
    "options": [
      {
        "optionId": 5,
        "displayLabel": "Non-Memoed"
      },
      {
        "optionId": 4,
        "displayLabel": "Memoed"
      }
    ]
  },
  {
    "disclosureFieldId": 50,
    "name": "Contribution.Note",
    "displayLabel": "Note",
    "isRequired": false,
    "designationId": 1,
    "dataType": "String",
    "textLengthMin": 1,
    "textLengthMax": 36
  }
]