Use this API to build and manage custom forms.
With this functionality in place, administrators can create and view form definitions and form instances.
Forms are composed of sections and fields. Sections split the form into logical groups of fields and fields are the data collection points within the form. Configure conditions to modify elements of the form as the responder provides input. Create form inputs to pass information from a calling feature, like a workflow, to your form.
Forms can be used within workflows as an action or as a trigger. The Form Action allows you to assign a form as a step in a running workflow, suspending the workflow until the form is submitted or times out, and the workflow resumes. The Form Submitted Trigger initiates a workflow when a form is submitted. The trigger can be configured to initiate on submission of a full form, a form element with any value, or a form element with a particular value.
Refer to Forms for more information about using forms in Identity Security Cloud.
$FormDefinitionID="00000000-0000-0000-0000-000000000000"# String | FormDefinitionID String specifying FormDefinitionID$File=# System.IO.FileInfo | File specifying the multipart# Upload new form definition file.try{New-V2025FormDefinitionFileRequest-FormDefinitionID$FormDefinitionID-File$File# Below is a request that includes all optional parameters# New-V2025FormDefinitionFileRequest -FormDefinitionID $FormDefinitionID -File $File }catch{Write-Host$_.Exception.Response.StatusCode.value__"Exception occurred when calling New-V2025FormDefinitionFileRequest"Write-Host$_.ErrorDetails}
$FormDefinitionID="00000000-0000-0000-0000-000000000000"# String | Form definition ID# Deletes a form definition.try{Remove-V2025FormDefinition-FormDefinitionID$FormDefinitionID# Below is a request that includes all optional parameters# Remove-V2025FormDefinition -FormDefinitionID $FormDefinitionID }catch{Write-Host$_.Exception.Response.StatusCode.value__"Exception occurred when calling Remove-V2025FormDefinition"Write-Host$_.ErrorDetails}
Offset Integer specifying the offset of the first result from the beginning of the collection. The standard syntax described in V3 API Standard Collection Parameters. The offset value is record-based, not page-based, and the index starts at 0.
Query
Limit
Int64
(optional) (default to 250)
Limit Integer specifying the maximum number of records to return in a single API call. The standard syntax described in V3 API Standard Collection Parameters. If it is not specified, a default limit is used.
Query
Filters
String
(optional)
Filter results using the standard syntax described in V3 API Standard Collection Parameters Filtering is supported for the following fields and operators: name: eq, gt, sw, indescription: eq, gt, sw, increated: eq, gt, sw, inmodified: eq, gt, sw, in
Query
Sorters
String
(optional) (default to "name")
Sort results using the standard syntax described in V3 API Standard Collection Parameters Sorting is supported for the following fields: name, description, created, modified
Returns a list of form definition objects by tenant used by SP-Config
ExportFormDefinitionsByTenant200ResponseInner[]
400
An error with the request occurred
SearchFormDefinitionsByTenant400Response
401
An error with the authorization occurred
SearchFormDefinitionsByTenant400Response
403
An error with the user permissions occurred
SearchFormDefinitionsByTenant400Response
429
Too many requests
ModelError
500
An internal server error occurred
SearchFormDefinitionsByTenant400Response
HTTP request headers
Content-Type: Not defined
Accept: application/json
Example
$Offset=0# Int64 | Offset Integer specifying the offset of the first result from the beginning of the collection. The standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results). The offset value is record-based, not page-based, and the index starts at 0. (optional) (default to 0)$Limit=250# Int64 | Limit Integer specifying the maximum number of records to return in a single API call. The standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results). If it is not specified, a default limit is used. (optional) (default to 250)$Filters='name sw "my form"'# String | Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#filtering-results) Filtering is supported for the following fields and operators: **name**: *eq, gt, sw, in* **description**: *eq, gt, sw, in* **created**: *eq, gt, sw, in* **modified**: *eq, gt, sw, in* (optional)$Sorters="name"# String | Sort results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#sorting-results) Sorting is supported for the following fields: **name, description, created, modified** (optional) (default to "name")# List form definitions by tenant.try{Export-V2025FormDefinitionsByTenant# Below is a request that includes all optional parameters# Export-V2025FormDefinitionsByTenant -Offset $Offset -Limit $Limit -Filters $Filters -Sorters $Sorters }catch{Write-Host$_.Exception.Response.StatusCode.value__"Exception occurred when calling Export-V2025FormDefinitionsByTenant"Write-Host$_.ErrorDetails}
$FormDefinitionID="00000000-0000-0000-0000-000000000000"# String | FormDefinitionID Form definition ID$FileID="00000031N0J7R2B57M8YG73J7M.png"# String | FileID String specifying the hashed name of the uploaded file we are retrieving.# Download definition file by fileid.try{Get-V2025FileFromS3-FormDefinitionID$FormDefinitionID-FileID$FileID# Below is a request that includes all optional parameters# Get-V2025FileFromS3 -FormDefinitionID $FormDefinitionID -FileID $FileID }catch{Write-Host$_.Exception.Response.StatusCode.value__"Exception occurred when calling Get-V2025FileFromS3"Write-Host$_.ErrorDetails}
$FormDefinitionID="00000000-0000-0000-0000-000000000000"# String | Form definition ID# Return a form definition.try{Get-V2025FormDefinitionByKey-FormDefinitionID$FormDefinitionID# Below is a request that includes all optional parameters# Get-V2025FormDefinitionByKey -FormDefinitionID $FormDefinitionID }catch{Write-Host$_.Exception.Response.StatusCode.value__"Exception occurred when calling Get-V2025FormDefinitionByKey"Write-Host$_.ErrorDetails}
$FormInstanceID="00000000-0000-0000-0000-000000000000"# String | Form instance ID# Returns a form instance.try{Get-V2025FormInstanceByKey-FormInstanceID$FormInstanceID# Below is a request that includes all optional parameters# Get-V2025FormInstanceByKey -FormInstanceID $FormInstanceID }catch{Write-Host$_.Exception.Response.StatusCode.value__"Exception occurred when calling Get-V2025FormInstanceByKey"Write-Host$_.ErrorDetails}
$FormInstanceID="00000000-0000-0000-0000-000000000000"# String | FormInstanceID Form instance ID$FileID="00000031N0J7R2B57M8YG73J7M.png"# String | FileID String specifying the hashed name of the uploaded file we are retrieving.# Download instance file by fileid.try{Get-V2025FormInstanceFile-FormInstanceID$FormInstanceID-FileID$FileID# Below is a request that includes all optional parameters# Get-V2025FormInstanceFile -FormInstanceID $FormInstanceID -FileID $FileID }catch{Write-Host$_.Exception.Response.StatusCode.value__"Exception occurred when calling Get-V2025FormInstanceFile"Write-Host$_.ErrorDetails}
Returns statuses of those form definition objects imported
ImportFormDefinitions202Response
400
An error with the request occurred
SearchFormDefinitionsByTenant400Response
401
An error with the authorization occurred
SearchFormDefinitionsByTenant400Response
403
An error with the user permissions occurred
SearchFormDefinitionsByTenant400Response
429
Too many requests
ModelError
500
An internal server error occurred
SearchFormDefinitionsByTenant400Response
HTTP request headers
Content-Type: application/json
Accept: application/json
Example
$Body=@"[{version=1, self={name=All fields not required, id=05ed4edb-d0a9-41d9-ad0c-2f6e486ec4aa, type=FORM_DEFINITION}, object={id=05ed4edb-d0a9-41d9-ad0c-2f6e486ec4aa, name=All fields not required, description=description, owner={type=IDENTITY, id=3447d8ec2602455ab6f1e8408a0f0150}, usedBy=[{type=WORKFLOW, id=5008594c-dacc-4295-8fee-41df60477304}, {type=WORKFLOW, id=97e75a75-c179-4fbc-a2da-b5fa4aaa8743}], formInput=[{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=3069272797630701, elementType=SECTION, config={label=First Section, formElements=[{id=3069272797630700, elementType=TEXT, key=firstName, config={label=First Name}}, {id=3498415402897539, elementType=TEXT, key=lastName, config={label=Last Name}}]}}], formConditions=[{ruleOperator=AND, rules=[{sourceType=INPUT, source=Department, operator=EQ, valueType=STRING, value=Sales}], effects=[{effectType=HIDE, config={element=2614088730489570}}]}], created=2022-10-04T19:27:04.456Z, modified=2022-11-16T20:45:02.172Z}}]"@# ImportFormDefinitionsRequestInner[] | Body is the request payload to import form definitions (optional)# Import form definitions from export.try{Import-V2025FormDefinitions# Below is a request that includes all optional parameters# Import-V2025FormDefinitions -Body $Result }catch{Write-Host$_.Exception.Response.StatusCode.value__"Exception occurred when calling Import-V2025FormDefinitions"Write-Host$_.ErrorDetails}
$FormDefinitionID="00000000-0000-0000-0000-000000000000"# String | Form definition ID$Body=@{key_example=}# Map[] | Body is the request payload to patch a form definition, check: https://jsonpatch.com (optional)$Body=@"[{op=replace, path=/description, value=test-description}]"@# Map[] | Body is the request payload to patch a form definition, check: https://jsonpatch.com (optional)# Patch a form definition.try{Update-V2025FormDefinition-FormDefinitionID$FormDefinitionID# Below is a request that includes all optional parameters# Update-V2025FormDefinition -FormDefinitionID $FormDefinitionID -Body $Result }catch{Write-Host$_.Exception.Response.StatusCode.value__"Exception occurred when calling Update-V2025FormDefinition"Write-Host$_.ErrorDetails}
An error with the request property conflicts with stored
SearchFormDefinitionsByTenant400Response
429
Too many requests
ModelError
500
An internal server error occurred
SearchFormDefinitionsByTenant400Response
HTTP request headers
Content-Type: application/json
Accept: application/json
Example
$FormInstanceID="00000000-0000-0000-0000-000000000000"# String | Form instance ID$Body=@{key_example=}# Map[] | Body is the request payload to patch a form instance, check: https://jsonpatch.com (optional)$Body=@"[{op=replace, path=/state, value=SUBMITTED}, {op=replace, path=/formData, value={a-key-1=a-value-1, a-key-2=true, a-key-3=1}}]"@# Map[] | Body is the request payload to patch a form instance, check: https://jsonpatch.com (optional)# Patch a form instance.try{Update-V2025FormInstance-FormInstanceID$FormInstanceID# Below is a request that includes all optional parameters# Update-V2025FormInstance -FormInstanceID $FormInstanceID -Body $Result }catch{Write-Host$_.Exception.Response.StatusCode.value__"Exception occurred when calling Update-V2025FormInstance"Write-Host$_.ErrorDetails}
Offset Integer specifying the offset of the first result from the beginning of the collection. The standard syntax described in V3 API Standard Collection Parameters. The offset value is record-based, not page-based, and the index starts at 0.
Query
Limit
Int64
(optional) (default to 250)
Limit Integer specifying the maximum number of records to return in a single API call. The standard syntax described in V3 API Standard Collection Parameters. If it is not specified, a default limit is used.
Query
Filters
String
(optional)
Filter results using the standard syntax described in V3 API Standard Collection Parameters Filtering is supported for the following fields and operators: name: eq, gt, sw, indescription: eq, gt, sw, increated: eq, gt, sw, inmodified: eq, gt, sw, in
Query
Sorters
String
(optional) (default to "name")
Sort results using the standard syntax described in V3 API Standard Collection Parameters Sorting is supported for the following fields: name, description, created, modified
$Offset=250# Int64 | Offset Integer specifying the offset of the first result from the beginning of the collection. The standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results). The offset value is record-based, not page-based, and the index starts at 0. (optional) (default to 0)$Limit=250# Int64 | Limit Integer specifying the maximum number of records to return in a single API call. The standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results). If it is not specified, a default limit is used. (optional) (default to 250)$Filters='name sw "my form"'# String | Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#filtering-results) Filtering is supported for the following fields and operators: **name**: *eq, gt, sw, in* **description**: *eq, gt, sw, in* **created**: *eq, gt, sw, in* **modified**: *eq, gt, sw, in* (optional)$Sorters="name"# String | Sort results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#sorting-results) Sorting is supported for the following fields: **name, description, created, modified** (optional) (default to "name")# Export form definitions by tenant.try{Search-V2025FormDefinitionsByTenant# Below is a request that includes all optional parameters# Search-V2025FormDefinitionsByTenant -Offset $Offset -Limit $Limit -Filters $Filters -Sorters $Sorters }catch{Write-Host$_.Exception.Response.StatusCode.value__"Exception occurred when calling Search-V2025FormDefinitionsByTenant"Write-Host$_.ErrorDetails}
Limit Integer specifying the maximum number of records to return in a single API call. The standard syntax described in V3 API Standard Collection Parameters. If it is not specified, a default limit is used.
Query
Filters
String
(optional)
Filter results using the standard syntax described in V3 API Standard Collection Parameters Filtering is supported for the following fields and operators: value: eq, ne, in Supported composite operators: not Only a single not may be used, and it can only be used with the in operator. The not composite operator must be used in front of the field. For example, the following is valid: not value in (""ID01"")
Query
Query
String
(optional)
String that is passed to the underlying API to filter other (non-ID) fields. For example, for access profile data sources, this string will be passed to the access profile api and used with a ""starts with"" filter against several fields.
Retrieves dynamic data to aid in correctly completing a valid form by form element ID from data source configuration
ListFormElementDataByElementIDResponse
400
An error with the request occurred
SearchFormDefinitionsByTenant400Response
401
An error with the authorization occurred
SearchFormDefinitionsByTenant400Response
403
An error with the user permissions occurred
SearchFormDefinitionsByTenant400Response
404
An error with the item not found
SearchFormDefinitionsByTenant400Response
429
Too many requests
ModelError
500
An internal server error occurred
SearchFormDefinitionsByTenant400Response
HTTP request headers
Content-Type: Not defined
Accept: application/json
Example
$FormInstanceID="00000000-0000-0000-0000-000000000000"# String | Form instance ID$FormElementID="1"# String | Form element ID$Limit=250# Int64 | Limit Integer specifying the maximum number of records to return in a single API call. The standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results). If it is not specified, a default limit is used. (optional) (default to 250)$Filters='value eq "ID01"" # String | Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#filtering-results) Filtering is supported for the following fields and operators: **value**: *eq, ne, in* Supported composite operators: *not* Only a single *not* may be used, and it can only be used with the `in` operator. The `not` composite operator must be used in front of the field. For example, the following is valid: `not value in (""ID01"')`(optional)$Query="support"# String | String that is passed to the underlying API to filter other (non-ID) fields. For example, for access profile data sources, this string will be passed to the access profile api and used with a ""starts with"" filter against several fields. (optional)# Retrieves dynamic data by element.try{Search-V2025FormElementDataByElementID-FormInstanceID$FormInstanceID-FormElementID$FormElementID# Below is a request that includes all optional parameters# Search-V2025FormElementDataByElementID -FormInstanceID $FormInstanceID -FormElementID $FormElementID -Limit $Limit -Filters $Filters -Query $Query }catch{Write-Host$_.Exception.Response.StatusCode.value__"Exception occurred when calling Search-V2025FormElementDataByElementID"Write-Host$_.ErrorDetails}
# List form instances by tenant.try{Search-V2025FormInstancesByTenant# Below is a request that includes all optional parameters# Search-V2025FormInstancesByTenant }catch{Write-Host$_.Exception.Response.StatusCode.value__"Exception occurred when calling Search-V2025FormInstancesByTenant"Write-Host$_.ErrorDetails}
Returns a list of available predefined select options
ListPredefinedSelectOptionsResponse
400
An error with the request occurred
SearchFormDefinitionsByTenant400Response
401
An error with the authorization occurred
SearchFormDefinitionsByTenant400Response
403
An error with the user permissions occurred
SearchFormDefinitionsByTenant400Response
429
Too many requests
ModelError
500
An internal server error occurred
SearchFormDefinitionsByTenant400Response
HTTP request headers
Content-Type: Not defined
Accept: application/json
Example
# List predefined select options.try{Search-V2025PreDefinedSelectOptions# Below is a request that includes all optional parameters# Search-V2025PreDefinedSelectOptions }catch{Write-Host$_.Exception.Response.StatusCode.value__"Exception occurred when calling Search-V2025PreDefinedSelectOptions"Write-Host$_.ErrorDetails}
Limit Integer specifying the maximum number of records to return in a single API call. The standard syntax described in V3 API Standard Collection Parameters. If it is not specified, a default limit is used.
Query
Filters
String
(optional)
Filter results using the standard syntax described in V3 API Standard Collection Parameters Filtering is supported for the following fields and operators: value: eq, ne, in Supported composite operators: not Only a single not may be used, and it can only be used with the in operator. The not composite operator must be used in front of the field. For example, the following is valid: not value in (""ID01"")
Query
Query
String
(optional)
String that is passed to the underlying API to filter other (non-ID) fields. For example, for access profile data sources, this string will be passed to the access profile api and used with a ""starts with"" filter against several fields.
Returns a preview of a form definition data source
PreviewDataSourceResponse
400
An error with the request occurred
SearchFormDefinitionsByTenant400Response
401
An error with the authorization occurred
SearchFormDefinitionsByTenant400Response
403
An error with the user permissions occurred
SearchFormDefinitionsByTenant400Response
404
An error with the item not found
SearchFormDefinitionsByTenant400Response
429
Too many requests
ModelError
500
An internal server error occurred
SearchFormDefinitionsByTenant400Response
HTTP request headers
Content-Type: application/json
Accept: application/json
Example
$FormDefinitionID="00000000-0000-0000-0000-000000000000"# String | Form definition ID$Limit=10# Int64 | Limit Integer specifying the maximum number of records to return in a single API call. The standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#paginating-results). If it is not specified, a default limit is used. (optional) (default to 10)$Filters='value eq "ID01"" # String | Filter results using the standard syntax described in [V3 API Standard Collection Parameters](https://developer.sailpoint.com/idn/api/standard-collection-parameters#filtering-results) Filtering is supported for the following fields and operators: **value**: *eq, ne, in* Supported composite operators: *not* Only a single *not* may be used, and it can only be used with the `in` operator. The `not` composite operator must be used in front of the field. For example, the following is valid: `not value in (""ID01"')`(optional)$Query="ac"# String | String that is passed to the underlying API to filter other (non-ID) fields. For example, for access profile data sources, this string will be passed to the access profile api and used with a ""starts with"" filter against several fields. (optional)$FormElementPreviewRequest=@"{
"dataSource" : {
"config" : {
"indices" : [ "identities" ],
"query" : "*",
"aggregationBucketField" : "attributes.cloudStatus.exact",
"objectType" : "IDENTITY"
},
"dataSourceType" : "STATIC"
}
}"@# Preview form definition data source.try{Show-V2025PreviewDataSource-FormDefinitionID$FormDefinitionID# Below is a request that includes all optional parameters# Show-V2025PreviewDataSource -FormDefinitionID $FormDefinitionID -Limit $Limit -Filters $Filters -Query $Query -FormElementPreviewRequest $Result }catch{Write-Host$_.Exception.Response.StatusCode.value__"Exception occurred when calling Show-V2025PreviewDataSource"Write-Host$_.ErrorDetails}