Common Models

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

Disclosure Fields Response

The response is a collection of:

KeyValue
dataTypeString, Boolean, Number, Date, SingleSelect, MultiSelect, Unsupported
designationIdThe designation Id.
disclosureFieldIdField id (key)
nameString identifier
displayLabelLabel used when rendering this field
isRequiredRequired for reporting, not necessarily for form submission
dataTypeString identifying the expected data type to be provided for this field
defaultValueOptional, supplied for fields with options if non-null
numericRangeMinOptional, supplied if non-null. Only present for some numeric fields.
numericRangeMaxOptional, supplied if non-null. Only present for some numeric fields.
textLengthMinOptional, supplied if non-null. Only present for some text fields.
textLengthMaxOptional, supplied if non-null. Only present for some text fields.
optionsOptional, supplied for all single/multi select fields a collection of:

optionId | The option's value
displayLabel | Human-readable value
optionGroupsOptional, 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
  }
]