Custom Fields#
Endpoints to manage custom field definitions on platform objects
BuiltinCustomFieldGroupProperties#
Subtype property for a custom field group defined by the Workiva platform
Properties#
Name |
Type |
Description |
Restrictions |
|---|---|---|---|
description |
string |
A human-readable description of the group and its purpose |
required |
id |
User-defined unique identifier. A prefix of “Workiva” (case insensitive) is reserved for internal use. |
required |
|
name |
string |
A human-readable display name for the group |
required |
objectTypes |
The object types for which use of this group is intended |
required, unique |
|
state |
The state of a custom field group in its usage lifecycle. |
required |
Example#
{
"description": "Custom fields that apply to every Document",
"id": "Document",
"name": "All Documents",
"objectTypes": [
"Document"
],
"state": "Active"
}
CustomField#
Custom Field is a user-defined field added to a platform Record Type
Properties#
Name |
Type |
Description |
Restrictions |
|---|---|---|---|
id |
A stable user-defined unique identifier. To indicate logical grouping and avoid collisions with other fields, a dot-delimited naming convention is recommended. |
required |
|
schema |
Supported subset of JSON Schema Draft 2020-12 that is supported for use in custom fields. |
required |
Example#
{
"id": "com.workiva.gsr.legal_entity",
"schema": {
"description": "string",
"enum": [
null
],
"format": "date-time",
"maxLength": 0,
"maximum": 0,
"minLength": 0,
"minimum": 0,
"pattern": "/regex/",
"reference": {
"$comment": "string",
"cardinality": "one",
"description": "string",
"field": "/json/pointer",
"referenceType": "ReadCache",
"resource": "Document"
},
"rhp_position_hint": 0,
"state": "Draft",
"title": "string",
"type": "boolean"
}
}
CustomFieldGroup#
A group of custom fields with related purpose that is intended for use with particular record types. A group has a subtype, either builtin or userDefined. Exactly one of these is always set, and the subtype of a group cannot be changed.
Properties#
Name |
Type |
Description |
Restrictions |
|---|---|---|---|
builtin |
Subtype property for a custom field group defined by the Workiva platform |
||
userDefined |
Subtype property for a custom field group defined by a user of the Workiva platform |
Example#
{
"builtin": {
"description": "Custom fields that apply to every Document",
"id": "Document",
"name": "All Documents",
"objectTypes": [
"Document"
],
"state": "Active"
},
"userDefined": {
"description": "Custom fields relevant to GSR reporting",
"id": "gsr",
"modified": {
"datetime": "2019-10-30T15:03:27Z",
"user": {
"id": "V0ZVc2VyHzQ4Mjk1OTA4NjYzNjIzNjg"
}
},
"name": "GSR Reporting",
"objectTypes": [
"Document",
"Spreadsheet",
"Presentation",
"Section",
"Sheet",
"Slide"
],
"state": "Active"
}
}
CustomFieldGroupState#
The state of a custom field group in its usage lifecycle. Active groups are in active use and can be associated with data. Inactive groups are “archived” and can no longer be associated with new data.
Properties#
Name |
Type |
Description |
Restrictions |
|---|---|---|---|
anonymous |
string |
The state of a custom field group in its usage lifecycle. |
Enumerated Values#
Property |
Value |
|---|---|
anonymous |
|
anonymous |
|
Example#
"Active"
CustomFieldId#
A stable user-defined unique identifier. To indicate logical grouping and avoid collisions with other fields, a dot-delimited naming convention is recommended.
Properties#
Name |
Type |
Description |
Restrictions |
|---|---|---|---|
anonymous |
string |
A stable user-defined unique identifier. To indicate logical grouping and avoid collisions with other fields, a dot-delimited naming convention is recommended. |
Example#
"com.workiva.gsr.legal_entity"
CustomFieldIdentifier#
User-defined unique identifier. A prefix of “Workiva” (case insensitive) is reserved for internal use.
Properties#
Name |
Type |
Description |
Restrictions |
|---|---|---|---|
anonymous |
string |
User-defined unique identifier. A prefix of “Workiva” (case insensitive) is reserved for internal use. |
read-only |
Example#
"gsr.legal_entity"
Custom Field Schema#
Supported subset of JSON Schema Draft 2020-12 that is supported for use in custom fields.
Properties#
Name |
Type |
Description |
Restrictions |
|---|---|---|---|
description |
string |
Human-readable description explaining the field’s purpose |
|
enum |
[any] |
A list of specific valid values |
Minimum items: 1 |
format |
string |
(string) Constrains the valid format of a string field. See https://json-schema.org/understanding-json-schema/reference/string.html#built-in-formats |
|
maxLength |
integer |
(string) Inclusive maximum number of characters allowed |
Minimum: 0 |
maximum |
integer |
(integer, number) Inclusive maximum value |
Minimum: 0 |
minLength |
integer |
(string) Inclusive minimum number of characters allowed |
Minimum: 0 |
minimum |
integer |
(integer, number) Inclusive minimum value |
Minimum: 0 |
pattern |
string(regex) |
(string) Constrains valid strings with an ECMA 262 regular expression |
|
reference |
object |
Documentation that field values are programmatic references something else at Workiva |
|
reference.$comment |
string |
A comment to help document the reference. |
|
reference.cardinality |
string |
Denotes how many resources the value references. Defaults to ‘one’ |
|
reference.description |
string |
A human-readable description |
|
reference.field |
string(json-pointer) |
The field in the resource the value represents. Required when ReferenceType is ‘ReadCache’ |
required |
reference.referenceType |
string |
Subtype of the reference |
required |
reference.resource |
string |
Kind of resource to which the Platform (User) or ReadCache (Document, Spreadsheet, Presentation, Section, Sheet, Slide) reference refers |
required |
rhp_position_hint |
number |
Configurable hint for how a field should be positioned relative to the other fields when rendered in a UI. Fields will be ordered descending with the smallest position first. If a rhp_position_hint is omitted, it will be placed unsorted at the end of the list. |
|
state |
The lifecycle state of a custom field definition. ‘Draft’ fields are proposed but do not yet accept values. ‘Active’ fields are in use and can accept values. ‘Inactive’ fields are previously-active fields that are now read-only. |
required |
|
title |
string |
Human-readable name for the field |
required |
type |
string |
Data type of the custom field |
required |
Enumerated Values#
Property |
Value |
|---|---|
format |
|
format |
|
format |
|
format |
|
format |
|
format |
|
format |
|
format |
|
format |
|
format |
|
format |
|
format |
|
format |
|
format |
|
format |
|
format |
|
cardinality |
|
cardinality |
|
referenceType |
|
referenceType |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
resource |
|
type |
|
type |
|
type |
|
type |
|
Example#
{
"description": "string",
"enum": [
null
],
"format": "date-time",
"maxLength": 0,
"maximum": 0,
"minLength": 0,
"minimum": 0,
"pattern": "/regex/",
"reference": {
"$comment": "string",
"cardinality": "one",
"description": "string",
"field": "/json/pointer",
"referenceType": "ReadCache",
"resource": "Document"
},
"rhp_position_hint": 0,
"state": "Draft",
"title": "string",
"type": "boolean"
}
CustomFieldsListResult#
Returns a JSON object with data and @nextLink properties. data contains a list of CustomField objects, and @nextLink provides the URL to the next set of results. If there are no additional results, @nextLink doesn’t appear. If the request returns no results at all, data contains an empty array.
Properties#
Name |
Type |
Description |
Restrictions |
|---|---|---|---|
@nextLink |
string |
Pagination link for next set of results |
|
data |
Custom Field is a user-defined field added to a platform Record Type |
required |
Example#
{
"@nextLink": "<opaque_url>",
"data": [
{
"id": "com.workiva.gsr.legal_entity",
"schema": {
"description": "string",
"enum": [
null
],
"format": "date-time",
"maxLength": 0,
"maximum": 0,
"minLength": 0,
"minimum": 0,
"pattern": "/regex/",
"reference": {
"$comment": "string",
"cardinality": "one",
"description": "string",
"field": "/json/pointer",
"referenceType": "ReadCache",
"resource": "Document"
},
"rhp_position_hint": 0,
"state": "Draft",
"title": "string",
"type": "boolean"
}
}
]
}
CustomFieldState#
The lifecycle state of a custom field definition. ‘Draft’ fields are proposed but do not yet accept values. ‘Active’ fields are in use and can accept values. ‘Inactive’ fields are previously-active fields that are now read-only.
Properties#
Name |
Type |
Description |
Restrictions |
|---|---|---|---|
anonymous |
string |
The lifecycle state of a custom field definition. ‘Draft’ fields are proposed but do not yet accept values. ‘Active’ fields are in use and can accept values. ‘Inactive’ fields are previously-active fields that are now read-only. |
Enumerated Values#
Property |
Value |
|---|---|
anonymous |
|
anonymous |
|
anonymous |
|
Example#
"Draft"
CustomFieldV2#
Data model for a custom field.
Properties#
Name |
Type |
Description |
Restrictions |
|---|---|---|---|
userDefined |
A custom field defined by a user |
Example#
{
"userDefined": {
"id": "gsr.legal_entity",
"modified": {
"datetime": "2019-10-30T15:03:27Z",
"user": {
"id": "V0ZVc2VyHzQ4Mjk1OTA4NjYzNjIzNjg"
}
},
"schema": {
"state": "Active",
"title": "Legal Entity",
"type": "string"
}
}
}
CustomSchema#
The complete workspace-wide schema of custom fields, custom field groups, and mapping of custom fields to each group represented as custom field group memberships.
Properties#
Name |
Type |
Description |
Restrictions |
|---|---|---|---|
customFieldGroupMemberships |
object |
Map from each custom field id to the set of custom field group ids for groups in which it is a member. |
required |
customFieldGroupMemberships.additionalProperties |
any |
A set of custom field group ids. The order of items in this set is not significant and should not be |
|
customFieldGroups |
object |
Map from custom field group ids to their definitions |
required |
customFieldGroups.additionalProperties |
A group of custom fields with related purpose that is intended for use with particular record types. |
||
customFields |
object |
Map from custom field ids to their definitions |
required |
customFields.additionalProperties |
Data model for a custom field. |
||
revision |
A schema revision that increases any time the custom fields, groups, or memberships are modified. Revisions should be treated as opaque, except for the purposes of comparing to other revisions to determine which one is more recent. |
required |
Example#
{
"customFieldGroupMemberships": {
"gsr.legal_entity": [
"gsr"
],
"items": false,
"legal": [
"Document",
"Presentation",
"Spreadsheet",
"Section",
"Sheet",
"Slide"
],
"type": "array",
"uniqueItems": true
},
"customFieldGroups": {
"Document": {
"builtin": {
"description": "Custom fields that apply to every Document",
"id": "Document",
"name": "All Documents",
"objectTypes": [
"Document"
],
"state": "Active"
}
},
"Presentation": {
"builtin": {
"description": "Custom fields that apply to every Presentation",
"id": "Presentation",
"name": "All Presentations",
"objectTypes": [
"Presentation"
],
"state": "Active"
}
},
"Section": {
"builtin": {
"description": "Custom fields that apply to every Section",
"id": "Section",
"name": "All Sections",
"objectTypes": [
"Section"
],
"state": "Active"
}
},
"Sheet": {
"builtin": {
"description": "Custom fields that apply to every Sheet",
"id": "Sheet",
"name": "All Sheets",
"objectTypes": [
"Sheet"
],
"state": "Active"
}
},
"Slide": {
"builtin": {
"description": "Custom fields that apply to every Slide",
"id": "Slide",
"name": "All Slides",
"objectTypes": [
"Slide"
],
"state": "Active"
}
},
"Spreadsheet": {
"builtin": {
"description": "Custom fields that apply to every Spreadsheet",
"id": "Spreadsheet",
"name": "All Spreadsheets",
"objectTypes": [
"Spreadsheet"
],
"state": "Active"
}
},
"gsr": {
"userDefined": {
"description": "Custom fields relevant to GSR reporting",
"id": "gsr",
"modified": {
"datetime": "2019-10-30T15:03:27Z",
"user": {
"id": "V0ZVc2VyHzQ4Mjk1OTA4NjYzNjIzNjg"
}
},
"name": "GSR Reporting",
"objectTypes": [
"Document",
"Spreadsheet",
"Presentation",
"Section",
"Sheet",
"Slide"
],
"state": "Active"
}
}
},
"customFields": {
"gsr.legal_entity": {
"userDefined": {
"id": "gsr.legal_entity",
"modified": {
"datetime": "2019-10-30T15:03:27Z",
"user": {
"id": "V0ZVc2VyHzQ4Mjk1OTA4NjYzNjIzNjg"
}
},
"schema": {
"state": "Active",
"title": "Legal Entity",
"type": "string"
}
}
}
},
"revision": 123456789
}
CustomSchemaRevision#
A schema revision that increases any time the custom fields, groups, or memberships are modified. Revisions should be treated as opaque, except for the purposes of comparing to other revisions to determine which one is more recent.
Properties#
Name |
Type |
Description |
Restrictions |
|---|---|---|---|
anonymous |
integer(int64) |
A schema revision that increases any time the custom fields, groups, or memberships are modified. Revisions should be treated as opaque, except for the purposes of comparing to other revisions to determine which one is more recent. |
read-only, Minimum: 0 |
Example#
123456789
ObjectType#
Type of object within the Workiva Platform
Properties#
Name |
Type |
Description |
Restrictions |
|---|---|---|---|
anonymous |
string |
Type of object within the Workiva Platform |
Enumerated Values#
Property |
Value |
|---|---|
anonymous |
|
anonymous |
|
anonymous |
|
anonymous |
|
anonymous |
|
anonymous |
|
anonymous |
|
anonymous |
|
Example#
"Document"
UserDefinedCustomFieldGroupProperties#
Subtype property for a custom field group defined by a user of the Workiva platform
Properties#
Name |
Type |
Description |
Restrictions |
|---|---|---|---|
description |
string¦null |
A human-readable description of the group and its purpose |
|
id |
User-defined unique identifier. A prefix of “Workiva” (case insensitive) is reserved for internal use. |
required |
|
modified |
When the action was performed, and details about the user who did it |
||
name |
string |
A human-readable display name for the group |
required |
objectTypes |
The object types for which use of this group is intended |
unique |
|
state |
The state of a custom field group in its usage lifecycle. |
Example#
{
"description": "Custom fields relevant to GSR reporting",
"id": "gsr",
"modified": {
"datetime": "2019-10-30T15:03:27Z",
"user": {
"id": "V0ZVc2VyHzQ4Mjk1OTA4NjYzNjIzNjg"
}
},
"name": "GSR Reporting",
"objectTypes": [
"Document",
"Spreadsheet",
"Presentation",
"Section",
"Sheet",
"Slide"
],
"state": "Active"
}
UserDefinedCustomFieldProperties#
A custom field defined by a user
Properties#
Name |
Type |
Description |
Restrictions |
|---|---|---|---|
id |
User-defined unique identifier. A prefix of “Workiva” (case insensitive) is reserved for internal use. |
required |
|
modified |
When the action was performed, and details about the user who did it |
required |
|
schema |
Supported subset of JSON Schema Draft 2020-12 that is supported for use in custom fields. |
required |
Example#
{
"id": "gsr.legal_entity",
"modified": {
"datetime": "2019-10-30T15:03:27Z",
"user": {
"id": "V0ZVc2VyHzQ4Mjk1OTA4NjYzNjIzNjg"
}
},
"schema": {
"state": "Active",
"title": "Legal Entity",
"type": "string"
}
}