Create a form definition by template.
POST/form-definitions/template
Create a form definition by template.
Request
- application/json
Body
Body is the request payload to create form definition request
Array [
Array [
]
Array [
]
]
Array [
Array [
]
]
Array [
]
Array [
]
Possible values: <= 2000 characters
Description is the form definition description
formConditions
object[]
FormConditions is the conditional logic that modify the form dynamically modify the form as the recipient is interacting out the form
Possible values: [AND
, OR
]
ConditionRuleLogicalOperatorType value. AND ConditionRuleLogicalOperatorTypeAnd OR ConditionRuleLogicalOperatorTypeOr
rules
object[]
List of rules.
Possible values: [INPUT
, ELEMENT
]
Defines the type of object being selected. It will be either a reference to a form input (by input name) or a form element (by technical key). INPUT ConditionRuleSourceTypeInput ELEMENT ConditionRuleSourceTypeElement
Source - if the sourceType is ConditionRuleSourceTypeInput, the source type is the name of the form input to accept. However, if the sourceType is ConditionRuleSourceTypeElement, the source is the name of a technical key of an element to retrieve its value.
Possible values: [EQ
, NE
, CO
, NOT_CO
, IN
, NOT_IN
, EM
, NOT_EM
, SW
, NOT_SW
, EW
, NOT_EW
]
ConditionRuleComparisonOperatorType value. EQ ConditionRuleComparisonOperatorTypeEquals This comparison operator compares the source and target for equality. NE ConditionRuleComparisonOperatorTypeNotEquals This comparison operator compares the source and target for inequality. CO ConditionRuleComparisonOperatorTypeContains This comparison operator searches the source to see whether it contains the value. NOT_CO ConditionRuleComparisonOperatorTypeNotContains IN ConditionRuleComparisonOperatorTypeIncludes This comparison operator searches the source if it equals any of the values. NOT_IN ConditionRuleComparisonOperatorTypeNotIncludes EM ConditionRuleComparisonOperatorTypeEmpty NOT_EM ConditionRuleComparisonOperatorTypeNotEmpty SW ConditionRuleComparisonOperatorTypeStartsWith Checks whether a string starts with another substring of the same string. This operator is case-sensitive. NOT_SW ConditionRuleComparisonOperatorTypeNotStartsWith EW ConditionRuleComparisonOperatorTypeEndsWith Checks whether a string ends with another substring of the same string. This operator is case-sensitive. NOT_EW ConditionRuleComparisonOperatorTypeNotEndsWith
Possible values: [STRING
, STRING_LIST
, INPUT
, ELEMENT
, LIST
, BOOLEAN
]
ConditionRuleValueType type. STRING ConditionRuleValueTypeString This value is a static string. STRING_LIST ConditionRuleValueTypeStringList This value is an array of string values. INPUT ConditionRuleValueTypeInput This value is a reference to a form input. ELEMENT ConditionRuleValueTypeElement This value is a reference to a form element (by technical key). LIST ConditionRuleValueTypeList BOOLEAN ConditionRuleValueTypeBoolean
Based on the ValueType.
effects
object[]
List of effects.
Possible values: [HIDE
, SHOW
, DISABLE
, ENABLE
, REQUIRE
, OPTIONAL
, SUBMIT_MESSAGE
, SUBMIT_NOTIFICATION
, SET_DEFAULT_VALUE
]
Type of effect to perform when the conditions are evaluated for this logic block. HIDE ConditionEffectTypeHide Disables validations. SHOW ConditionEffectTypeShow Enables validations. DISABLE ConditionEffectTypeDisable Disables validations. ENABLE ConditionEffectTypeEnable Enables validations. REQUIRE ConditionEffectTypeRequire OPTIONAL ConditionEffectTypeOptional SUBMIT_MESSAGE ConditionEffectTypeSubmitMessage SUBMIT_NOTIFICATION ConditionEffectTypeSubmitNotification SET_DEFAULT_VALUE ConditionEffectTypeSetDefaultValue This value is ignored on purpose.
config
object
Arbitrary map containing a configuration based on the EffectType.
Effect type's label.
Element's identifier.
formElements
object[]
FormElements is a list of nested form elements
Form element identifier.
Possible values: [TEXT
, TOGGLE
, TEXTAREA
, HIDDEN
, PHONE
, EMAIL
, SELECT
, DATE
, SECTION
, COLUMN_SET
, IMAGE
, DESCRIPTION
]
FormElementType value. TEXT FormElementTypeText TOGGLE FormElementTypeToggle TEXTAREA FormElementTypeTextArea HIDDEN FormElementTypeHidden PHONE FormElementTypePhone EMAIL FormElementTypeEmail SELECT FormElementTypeSelect DATE FormElementTypeDate SECTION FormElementTypeSection COLUMN_SET FormElementTypeColumns IMAGE FormElementTypeImage DESCRIPTION FormElementTypeDescription
config
object
Config object.
Config object.
Technical key.
validations
object[]
nullable
Possible values: [REQUIRED
, MIN_LENGTH
, MAX_LENGTH
, REGEX
, DATE
, MAX_DATE
, MIN_DATE
, LESS_THAN_DATE
, PHONE
, EMAIL
, DATA_SOURCE
, TEXTAREA
]
The type of data validation that you wish to enforce, e.g., a required field, a minimum length, etc.
formInput
object[]
FormInput is a list of form inputs that are required when creating a form-instance object
Unique identifier for the form input.
Possible values: [STRING
]
FormDefinitionInputType value. STRING FormDefinitionInputTypeString
Name for the form input.
Form input's description.
Possible values: <= 255 characters
Name is the form definition name
owner
object
required
Possible values: [IDENTITY
]
FormOwnerType value. IDENTITY FormOwnerTypeIdentity
Unique identifier of the form's owner.
Name of the form's owner.
usedBy
object[]
UsedBy is a list of objects where when any system uses a particular form it reaches out to the form service to record it is currently being used
Possible values: [WORKFLOW
, SOURCE
, MySailPoint
]
FormUsedByType value. WORKFLOW FormUsedByTypeWorkflow SOURCE FormUsedByTypeSource MySailPoint FormUsedByType
Unique identifier of the system using the form.
Name of the system using the form.
Responses
- 201
- 400
- 401
- 403
- 429
- 500
Returns a new form definition
- application/json
- Schema
- Example (from schema)
Schema
Array [
]
Array [
]
Array [
Array [
]
]
Array [
Array [
]
Array [
]
]
Unique guid identifying the form definition.
Name of the form definition.
Form definition's description.
owner
object
Possible values: [IDENTITY
]
FormOwnerType value. IDENTITY FormOwnerTypeIdentity
Unique identifier of the form's owner.
Name of the form's owner.
usedBy
object[]
List of objects using the form definition. Whenever a system uses a form, the API reaches out to the form service to record that the system is currently using it.
Possible values: [WORKFLOW
, SOURCE
, MySailPoint
]
FormUsedByType value. WORKFLOW FormUsedByTypeWorkflow SOURCE FormUsedByTypeSource MySailPoint FormUsedByType
Unique identifier of the system using the form.
Name of the system using the form.
formInput
object[]
List of form inputs required to create a form-instance object.
Unique identifier for the form input.
Possible values: [STRING
]
FormDefinitionInputType value. STRING FormDefinitionInputTypeString
Name for the form input.
Form input's description.
formElements
object[]
List of nested form elements.
Form element identifier.
Possible values: [TEXT
, TOGGLE
, TEXTAREA
, HIDDEN
, PHONE
, EMAIL
, SELECT
, DATE
, SECTION
, COLUMN_SET
, IMAGE
, DESCRIPTION
]
FormElementType value. TEXT FormElementTypeText TOGGLE FormElementTypeToggle TEXTAREA FormElementTypeTextArea HIDDEN FormElementTypeHidden PHONE FormElementTypePhone EMAIL FormElementTypeEmail SELECT FormElementTypeSelect DATE FormElementTypeDate SECTION FormElementTypeSection COLUMN_SET FormElementTypeColumns IMAGE FormElementTypeImage DESCRIPTION FormElementTypeDescription
config
object
Config object.
Config object.
Technical key.
validations
object[]
nullable
Possible values: [REQUIRED
, MIN_LENGTH
, MAX_LENGTH
, REGEX
, DATE
, MAX_DATE
, MIN_DATE
, LESS_THAN_DATE
, PHONE
, EMAIL
, DATA_SOURCE
, TEXTAREA
]
The type of data validation that you wish to enforce, e.g., a required field, a minimum length, etc.
formConditions
object[]
Conditional logic that can dynamically modify the form as the recipient is interacting with it.
Possible values: [AND
, OR
]
ConditionRuleLogicalOperatorType value. AND ConditionRuleLogicalOperatorTypeAnd OR ConditionRuleLogicalOperatorTypeOr
rules
object[]
List of rules.
Possible values: [INPUT
, ELEMENT
]
Defines the type of object being selected. It will be either a reference to a form input (by input name) or a form element (by technical key). INPUT ConditionRuleSourceTypeInput ELEMENT ConditionRuleSourceTypeElement
Source - if the sourceType is ConditionRuleSourceTypeInput, the source type is the name of the form input to accept. However, if the sourceType is ConditionRuleSourceTypeElement, the source is the name of a technical key of an element to retrieve its value.
Possible values: [EQ
, NE
, CO
, NOT_CO
, IN
, NOT_IN
, EM
, NOT_EM
, SW
, NOT_SW
, EW
, NOT_EW
]
ConditionRuleComparisonOperatorType value. EQ ConditionRuleComparisonOperatorTypeEquals This comparison operator compares the source and target for equality. NE ConditionRuleComparisonOperatorTypeNotEquals This comparison operator compares the source and target for inequality. CO ConditionRuleComparisonOperatorTypeContains This comparison operator searches the source to see whether it contains the value. NOT_CO ConditionRuleComparisonOperatorTypeNotContains IN ConditionRuleComparisonOperatorTypeIncludes This comparison operator searches the source if it equals any of the values. NOT_IN ConditionRuleComparisonOperatorTypeNotIncludes EM ConditionRuleComparisonOperatorTypeEmpty NOT_EM ConditionRuleComparisonOperatorTypeNotEmpty SW ConditionRuleComparisonOperatorTypeStartsWith Checks whether a string starts with another substring of the same string. This operator is case-sensitive. NOT_SW ConditionRuleComparisonOperatorTypeNotStartsWith EW ConditionRuleComparisonOperatorTypeEndsWith Checks whether a string ends with another substring of the same string. This operator is case-sensitive. NOT_EW ConditionRuleComparisonOperatorTypeNotEndsWith
Possible values: [STRING
, STRING_LIST
, INPUT
, ELEMENT
, LIST
, BOOLEAN
]
ConditionRuleValueType type. STRING ConditionRuleValueTypeString This value is a static string. STRING_LIST ConditionRuleValueTypeStringList This value is an array of string values. INPUT ConditionRuleValueTypeInput This value is a reference to a form input. ELEMENT ConditionRuleValueTypeElement This value is a reference to a form element (by technical key). LIST ConditionRuleValueTypeList BOOLEAN ConditionRuleValueTypeBoolean
Based on the ValueType.
effects
object[]
List of effects.
Possible values: [HIDE
, SHOW
, DISABLE
, ENABLE
, REQUIRE
, OPTIONAL
, SUBMIT_MESSAGE
, SUBMIT_NOTIFICATION
, SET_DEFAULT_VALUE
]
Type of effect to perform when the conditions are evaluated for this logic block. HIDE ConditionEffectTypeHide Disables validations. SHOW ConditionEffectTypeShow Enables validations. DISABLE ConditionEffectTypeDisable Disables validations. ENABLE ConditionEffectTypeEnable Enables validations. REQUIRE ConditionEffectTypeRequire OPTIONAL ConditionEffectTypeOptional SUBMIT_MESSAGE ConditionEffectTypeSubmitMessage SUBMIT_NOTIFICATION ConditionEffectTypeSubmitNotification SET_DEFAULT_VALUE ConditionEffectTypeSetDefaultValue This value is ignored on purpose.
config
object
Arbitrary map containing a configuration based on the EffectType.
Effect type's label.
Element's identifier.
Created is the date the form definition was created
Modified is the last date the form definition was modified
{
"id": "00000000-0000-0000-0000-000000000000",
"name": "My form",
"description": "My form description",
"owner": {
"type": "IDENTITY",
"id": "2c9180867624cbd7017642d8c8c81f67",
"name": "Grant Smith"
},
"usedBy": [
{
"type": "WORKFLOW",
"id": "61940a92-5484-42bc-bc10-b9982b218cdf",
"name": "Access Request Form"
}
],
"formInput": [
{
"id": "00000000-0000-0000-0000-000000000000",
"type": "STRING",
"label": "input1",
"description": "A single dynamic scalar value (i.e. number, string, date, etc.) that can be passed into the form for use in conditional logic"
}
],
"formElements": [
{
"id": "00000000-0000-0000-0000-000000000000",
"elementType": "TEXT",
"config": {
"label": "Department"
},
"key": "department",
"validations": [
{
"validationType": "REQUIRED"
}
]
}
],
"formConditions": [
{
"ruleOperator": "AND",
"rules": [
{
"sourceType": "ELEMENT",
"source": "department",
"operator": "EQ",
"valueType": "STRING",
"value": "Engineering"
}
],
"effects": [
{
"effectType": "HIDE",
"config": {
"defaultValueLabel": "Access to Remove",
"element": 8110662963316867
}
}
]
}
],
"created": "2023-07-12T20:14:57.74486Z",
"modified": "2023-07-12T20:14:57.74486Z"
}
An error with the request occurred
- application/json
- Schema
- Example (from schema)
Schema
Array [
]
messages
object[]
Locale is the current Locale
LocaleOrigin holds possible values of how the locale was selected
Text is the actual text of the error message
{
"detailCode": "string",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "This is an error"
}
],
"statusCode": 0,
"trackingId": "string"
}
An error with the authorization occurred
- application/json
- Schema
- Example (from schema)
Schema
Array [
]
messages
object[]
Locale is the current Locale
LocaleOrigin holds possible values of how the locale was selected
Text is the actual text of the error message
{
"detailCode": "string",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "This is an error"
}
],
"statusCode": 0,
"trackingId": "string"
}
An error with the user permissions occurred
- application/json
- Schema
- Example (from schema)
Schema
Array [
]
messages
object[]
Locale is the current Locale
LocaleOrigin holds possible values of how the locale was selected
Text is the actual text of the error message
{
"detailCode": "string",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "This is an error"
}
],
"statusCode": 0,
"trackingId": "string"
}
Too many requests
- application/json
- Schema
- Example (from schema)
Schema
Array [
]
DetailCode is the text of the status code returned
messages
object[]
Locale is the current Locale
LocaleOrigin holds possible values of how the locale was selected
Text is the actual text of the error message
TrackingID is the request tracking unique identifier
{
"detailCode": "Internal Server Error",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "This is an error"
}
],
"trackingId": "9cd03ef80e6a425eb6b11bdbb057cdb4"
}
An internal server error occurred
- application/json
- Schema
- Example (from schema)
Schema
Array [
]
messages
object[]
Locale is the current Locale
LocaleOrigin holds possible values of how the locale was selected
Text is the actual text of the error message
{
"detailCode": "string",
"messages": [
{
"locale": "en-US",
"localeOrigin": "DEFAULT",
"text": "This is an error"
}
],
"statusCode": 0,
"trackingId": "string"
}