CustomFormsAPI
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.
All URIs are relative to https://sailpoint.api.identitynow.com/v2024
Method | HTTP request | Description |
---|---|---|
create-form-definition | Post /form-definitions | Creates a form definition. |
create-form-definition-dynamic-schema | Post /form-definitions/forms-action-dynamic-schema | Generate JSON Schema dynamically. |
create-form-definition-file-request | Post /form-definitions/{formDefinitionID}/upload | Upload new form definition file. |
create-form-instance | Post /form-instances | Creates a form instance. |
delete-form-definition | Delete /form-definitions/{formDefinitionID} | Deletes a form definition. |
export-form-definitions-by-tenant | Get /form-definitions/export | List form definitions by tenant. |
get-file-from-s3 | Get /form-definitions/{formDefinitionID}/file/{fileID} | Download definition file by fileId. |
get-form-definition-by-key | Get /form-definitions/{formDefinitionID} | Return a form definition. |
get-form-instance-by-key | Get /form-instances/{formInstanceID} | Returns a form instance. |
get-form-instance-file | Get /form-instances/{formInstanceID}/file/{fileID} | Download instance file by fileId. |
import-form-definitions | Post /form-definitions/import | Import form definitions from export. |
patch-form-definition | Patch /form-definitions/{formDefinitionID} | Patch a form definition. |
patch-form-instance | Patch /form-instances/{formInstanceID} | Patch a form instance. |
search-form-definitions-by-tenant | Get /form-definitions | Export form definitions by tenant. |
search-form-element-data-by-element-id | Get /form-instances/{formInstanceID}/data-source/{formElementID} | Retrieves dynamic data by element. |
search-form-instances-by-tenant | Get /form-instances | List form instances by tenant. |
search-pre-defined-select-options | Get /form-definitions/predefined-select-options | List predefined select options. |
show-preview-data-source | Post /form-definitions/{formDefinitionID}/data-source | Preview form definition data source. |
create-form-definition
Creates a form definition.
Path Parameters
Other Parameters
Other parameters are passed through a pointer to a apiCreateFormDefinitionRequest struct via the builder pattern
Name | Type | Description | Notes |
---|---|---|---|
body | CreateFormDefinitionRequest | Body is the request payload to create form definition request |
Return type
HTTP request headers
- Content-Type: application/json
- Accept: application/json
Example
package main
import (
"context"
"fmt"
"os"
sailpoint "github.com/sailpoint-oss/golang-sdk/v2"
)
func main() {
body := []byte(`{
"owner" : {
"name" : "Grant Smith",
"id" : "2c9180867624cbd7017642d8c8c81f67",
"type" : "IDENTITY"
},
"formConditions" : [ {
"ruleOperator" : "AND",
"effects" : [ {
"config" : {
"defaultValueLabel" : "Access to Remove",
"element" : "8110662963316867"
},
"effectType" : "HIDE"
}, {
"config" : {
"defaultValueLabel" : "Access to Remove",
"element" : "8110662963316867"
},
"effectType" : "HIDE"
} ],
"rules" : [ {
"sourceType" : "ELEMENT",
"valueType" : "STRING",
"source" : "department",
"value" : "Engineering",
"operator" : "EQ"
}, {
"sourceType" : "ELEMENT",
"valueType" : "STRING",
"source" : "department",
"value" : "Engineering",
"operator" : "EQ"
} ]
}, {
"ruleOperator" : "AND",
"effects" : [ {
"config" : {
"defaultValueLabel" : "Access to Remove",
"element" : "8110662963316867"
},
"effectType" : "HIDE"
}, {
"config" : {
"defaultValueLabel" : "Access to Remove",
"element" : "8110662963316867"
},
"effectType" : "HIDE"
} ],
"rules" : [ {
"sourceType" : "ELEMENT",
"valueType" : "STRING",
"source" : "department",
"value" : "Engineering",
"operator" : "EQ"
}, {
"sourceType" : "ELEMENT",
"valueType" : "STRING",
"source" : "department",
"value" : "Engineering",
"operator" : "EQ"
} ]
} ],
"formInput" : [ {
"description" : "A single dynamic scalar value (i.e. number, string, date, etc.) that can be passed into the form for use in conditional logic",
"id" : "00000000-0000-0000-0000-000000000000",
"label" : "input1",
"type" : "STRING"
}, {
"description" : "A single dynamic scalar value (i.e. number, string, date, etc.) that can be passed into the form for use in conditional logic",
"id" : "00000000-0000-0000-0000-000000000000",
"label" : "input1",
"type" : "STRING"
} ],
"name" : "My form",
"description" : "My form description",
"usedBy" : [ {
"name" : "Access Request Form",
"id" : "61940a92-5484-42bc-bc10-b9982b218cdf",
"type" : "WORKFLOW"
}, {
"name" : "Access Request Form",
"id" : "61940a92-5484-42bc-bc10-b9982b218cdf",
"type" : "WORKFLOW"
} ],
"formElements" : [ {
"id" : "00000000-0000-0000-0000-000000000000",
"validations" : [ {
"validationType" : "REQUIRED"
}, {
"validationType" : "REQUIRED"
} ],
"elementType" : "TEXT",
"config" : {
"label" : "Department"
},
"key" : "department"
}, {
"id" : "00000000-0000-0000-0000-000000000000",
"validations" : [ {
"validationType" : "REQUIRED"
}, {
"validationType" : "REQUIRED"
} ],
"elementType" : "TEXT",
"config" : {
"label" : "Department"
},
"key" : "department"
} ]
}`) // CreateFormDefinitionRequest | Body is the request payload to create form definition request (optional)
configuration := sailpoint.NewDefaultConfiguration()
apiClient := sailpoint.NewAPIClient(configuration)
resp, r, err := apiClient.V2024.CustomFormsAPI.CreateFormDefinition(context.Background()).Execute()
//resp, r, err := apiClient.V2024.CustomFormsAPI.CreateFormDefinition(context.Background()).Body(body).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `CustomFormsAPI.CreateFormDefinition``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `CreateFormDefinition`: FormDefinitionResponse
fmt.Fprintf(os.Stdout, "Response from `CustomFormsAPI.CreateFormDefinition`: %v\n", resp)
}
create-form-definition-dynamic-schema
Generate JSON Schema dynamically.
Path Parameters
Other Parameters
Other parameters are passed through a pointer to a apiCreateFormDefinitionDynamicSchemaRequest struct via the builder pattern
Name | Type | Description | Notes |
---|---|---|---|
body | FormDefinitionDynamicSchemaRequest | Body is the request payload to create a form definition dynamic schema |
Return type
FormDefinitionDynamicSchemaResponse
HTTP request headers
- Content-Type: application/json
- Accept: application/json
Example
package main
import (
"context"
"fmt"
"os"
sailpoint "github.com/sailpoint-oss/golang-sdk/v2"
)
func main() {
body := []byte(`{
"description" : "A description",
"attributes" : {
"formDefinitionId" : "00000000-0000-0000-0000-000000000000"
},
"id" : "00000000-0000-0000-0000-000000000000",
"type" : "action",
"versionNumber" : 1
}`) // FormDefinitionDynamicSchemaRequest | Body is the request payload to create a form definition dynamic schema (optional)
configuration := sailpoint.NewDefaultConfiguration()
apiClient := sailpoint.NewAPIClient(configuration)
resp, r, err := apiClient.V2024.CustomFormsAPI.CreateFormDefinitionDynamicSchema(context.Background()).Execute()
//resp, r, err := apiClient.V2024.CustomFormsAPI.CreateFormDefinitionDynamicSchema(context.Background()).Body(body).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `CustomFormsAPI.CreateFormDefinitionDynamicSchema``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `CreateFormDefinitionDynamicSchema`: FormDefinitionDynamicSchemaResponse
fmt.Fprintf(os.Stdout, "Response from `CustomFormsAPI.CreateFormDefinitionDynamicSchema`: %v\n", resp)
}
create-form-definition-file-request
Upload new form definition file.
Parameter {formDefinitionID}
should match a form definition ID.
Path Parameters
Name | Type | Description | Notes |
---|---|---|---|
ctx | context.Context | context for authentication, logging, cancellation, deadlines, tracing, etc. | |
formDefinitionID | string | FormDefinitionID String specifying FormDefinitionID |
Other Parameters
Other parameters are passed through a pointer to a apiCreateFormDefinitionFileRequestRequest struct via the builder pattern
Name | Type | Description | Notes |
---|
file | *os.File | File specifying the multipart |
Return type
FormDefinitionFileUploadResponse
HTTP request headers
- Content-Type: multipart/form-data
- Accept: application/json
Example
package main
import (
"context"
"fmt"
"os"
sailpoint "github.com/sailpoint-oss/golang-sdk/v2"
)
func main() {
formDefinitionID := `00000000-0000-0000-0000-000000000000` // string | FormDefinitionID String specifying FormDefinitionID # string | FormDefinitionID String specifying FormDefinitionID
file := BINARY_DATA_HERE // *os.File | File specifying the multipart # *os.File | File specifying the multipart
configuration := sailpoint.NewDefaultConfiguration()
apiClient := sailpoint.NewAPIClient(configuration)
resp, r, err := apiClient.V2024.CustomFormsAPI.CreateFormDefinitionFileRequest(context.Background(), formDefinitionID).File(file).Execute()
//resp, r, err := apiClient.V2024.CustomFormsAPI.CreateFormDefinitionFileRequest(context.Background(), formDefinitionID).File(file).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `CustomFormsAPI.CreateFormDefinitionFileRequest``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `CreateFormDefinitionFileRequest`: FormDefinitionFileUploadResponse
fmt.Fprintf(os.Stdout, "Response from `CustomFormsAPI.CreateFormDefinitionFileRequest`: %v\n", resp)
}
create-form-instance
Creates a form instance.
Path Parameters
Other Parameters
Other parameters are passed through a pointer to a apiCreateFormInstanceRequest struct via the builder pattern
Name | Type | Description | Notes |
---|---|---|---|
body | CreateFormInstanceRequest | Body is the request payload to create a form instance |
Return type
HTTP request headers
- Content-Type: application/json
- Accept: application/json
Example
package main
import (
"context"
"fmt"
"os"
sailpoint "github.com/sailpoint-oss/golang-sdk/v2"
)
func main() {
body := []byte(`{
"formInput" : {
"input1" : "Sales"
},
"standAloneForm" : false,
"createdBy" : {
"id" : "00000000-0000-0000-0000-000000000000",
"type" : "WORKFLOW_EXECUTION"
},
"recipients" : [ {
"id" : "00000000-0000-0000-0000-000000000000",
"type" : "IDENTITY"
}, {
"id" : "00000000-0000-0000-0000-000000000000",
"type" : "IDENTITY"
} ],
"expire" : "2023-08-12T20:14:57.74486Z",
"formDefinitionId" : "00000000-0000-0000-0000-000000000000",
"state" : "ASSIGNED",
"ttl" : 1571827560
}`) // CreateFormInstanceRequest | Body is the request payload to create a form instance (optional)
configuration := sailpoint.NewDefaultConfiguration()
apiClient := sailpoint.NewAPIClient(configuration)
resp, r, err := apiClient.V2024.CustomFormsAPI.CreateFormInstance(context.Background()).Execute()
//resp, r, err := apiClient.V2024.CustomFormsAPI.CreateFormInstance(context.Background()).Body(body).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `CustomFormsAPI.CreateFormInstance``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `CreateFormInstance`: FormInstanceResponse
fmt.Fprintf(os.Stdout, "Response from `CustomFormsAPI.CreateFormInstance`: %v\n", resp)
}
delete-form-definition
Deletes a form definition.
Parameter {formDefinitionID}
should match a form definition ID.
Path Parameters
Name | Type | Description | Notes |
---|---|---|---|
ctx | context.Context | context for authentication, logging, cancellation, deadlines, tracing, etc. | |
formDefinitionID | string | Form definition ID |
Other Parameters
Other parameters are passed through a pointer to a apiDeleteFormDefinitionRequest struct via the builder pattern
Name | Type | Description | Notes |
---|
Return type
map[string]interface
HTTP request headers
- Content-Type: Not defined
- Accept: application/json
Example
package main
import (
"context"
"fmt"
"os"
sailpoint "github.com/sailpoint-oss/golang-sdk/v2"
)
func main() {
formDefinitionID := `00000000-0000-0000-0000-000000000000` // string | Form definition ID # string | Form definition ID
configuration := sailpoint.NewDefaultConfiguration()
apiClient := sailpoint.NewAPIClient(configuration)
resp, r, err := apiClient.V2024.CustomFormsAPI.DeleteFormDefinition(context.Background(), formDefinitionID).Execute()
//resp, r, err := apiClient.V2024.CustomFormsAPI.DeleteFormDefinition(context.Background(), formDefinitionID).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `CustomFormsAPI.DeleteFormDefinition``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `DeleteFormDefinition`: map[string]interface{}
fmt.Fprintf(os.Stdout, "Response from `CustomFormsAPI.DeleteFormDefinition`: %v\n", resp)
}
export-form-definitions-by-tenant
List form definitions by tenant. No parameters required.
Path Parameters
Other Parameters
Other parameters are passed through a pointer to a apiExportFormDefinitionsByTenantRequest struct via the builder pattern
Name | Type | Description | Notes |
---|---|---|---|
offset | 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. The offset value is record-based, not page-based, and the index starts at 0. | [default to 0] |
limit | 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. If it is not specified, a default limit is used. | [default to 250] |
filters | string | 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, in description: eq, gt, sw, in created: eq, gt, sw, in modified: eq, gt, sw, in | |
sorters | string | Sort results using the standard syntax described in V3 API Standard Collection Parameters Sorting is supported for the following fields: name, description, created, modified | [default to "name"] |
Return type
[]ExportFormDefinitionsByTenant200ResponseInner
HTTP request headers
- Content-Type: Not defined
- Accept: application/json
Example
package main
import (
"context"
"fmt"
"os"
sailpoint "github.com/sailpoint-oss/golang-sdk/v2"
)
func main() {
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) # 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) # 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) # 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") # 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")
configuration := sailpoint.NewDefaultConfiguration()
apiClient := sailpoint.NewAPIClient(configuration)
resp, r, err := apiClient.V2024.CustomFormsAPI.ExportFormDefinitionsByTenant(context.Background()).Execute()
//resp, r, err := apiClient.V2024.CustomFormsAPI.ExportFormDefinitionsByTenant(context.Background()).Offset(offset).Limit(limit).Filters(filters).Sorters(sorters).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `CustomFormsAPI.ExportFormDefinitionsByTenant``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `ExportFormDefinitionsByTenant`: []ExportFormDefinitionsByTenant200ResponseInner
fmt.Fprintf(os.Stdout, "Response from `CustomFormsAPI.ExportFormDefinitionsByTenant`: %v\n", resp)
}
get-file-from-s3
Download definition file by fileId.
Path Parameters
Name | Type | Description | Notes |
---|---|---|---|
ctx | context.Context | context for authentication, logging, cancellation, deadlines, tracing, etc. | |
formDefinitionID | string | FormDefinitionID Form definition ID | |
fileID | string | FileID String specifying the hashed name of the uploaded file we are retrieving. |
Other Parameters
Other parameters are passed through a pointer to a apiGetFileFromS3Request struct via the builder pattern
Name | Type | Description | Notes |
---|
Return type
HTTP request headers
- Content-Type: Not defined
- Accept: application/json, image/jpeg, image/png, application/octet-stream
Example
package main
import (
"context"
"fmt"
"os"
sailpoint "github.com/sailpoint-oss/golang-sdk/v2"
)
func main() {
formDefinitionID := `00000000-0000-0000-0000-000000000000` // string | FormDefinitionID Form definition ID # string | FormDefinitionID Form definition ID
fileID := `00000031N0J7R2B57M8YG73J7M.png` // string | FileID String specifying the hashed name of the uploaded file we are retrieving. # string | FileID String specifying the hashed name of the uploaded file we are retrieving.
configuration := sailpoint.NewDefaultConfiguration()
apiClient := sailpoint.NewAPIClient(configuration)
resp, r, err := apiClient.V2024.CustomFormsAPI.GetFileFromS3(context.Background(), formDefinitionID, fileID).Execute()
//resp, r, err := apiClient.V2024.CustomFormsAPI.GetFileFromS3(context.Background(), formDefinitionID, fileID).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `CustomFormsAPI.GetFileFromS3``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `GetFileFromS3`: *os.File
fmt.Fprintf(os.Stdout, "Response from `CustomFormsAPI.GetFileFromS3`: %v\n", resp)
}
get-form-definition-by-key
Return a form definition.
Parameter {formDefinitionID}
should match a form definition ID.
Path Parameters
Name | Type | Description | Notes |
---|---|---|---|
ctx | context.Context | context for authentication, logging, cancellation, deadlines, tracing, etc. | |
formDefinitionID | string | Form definition ID |
Other Parameters
Other parameters are passed through a pointer to a apiGetFormDefinitionByKeyRequest struct via the builder pattern
Name | Type | Description | Notes |
---|
Return type
HTTP request headers
- Content-Type: Not defined
- Accept: application/json
Example
package main
import (
"context"
"fmt"
"os"
sailpoint "github.com/sailpoint-oss/golang-sdk/v2"
)
func main() {
formDefinitionID := `00000000-0000-0000-0000-000000000000` // string | Form definition ID # string | Form definition ID
configuration := sailpoint.NewDefaultConfiguration()
apiClient := sailpoint.NewAPIClient(configuration)
resp, r, err := apiClient.V2024.CustomFormsAPI.GetFormDefinitionByKey(context.Background(), formDefinitionID).Execute()
//resp, r, err := apiClient.V2024.CustomFormsAPI.GetFormDefinitionByKey(context.Background(), formDefinitionID).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `CustomFormsAPI.GetFormDefinitionByKey``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `GetFormDefinitionByKey`: FormDefinitionResponse
fmt.Fprintf(os.Stdout, "Response from `CustomFormsAPI.GetFormDefinitionByKey`: %v\n", resp)
}
get-form-instance-by-key
Returns a form instance.
Parameter {formInstanceID}
should match a form instance ID.
Path Parameters
Name | Type | Description | Notes |
---|---|---|---|
ctx | context.Context | context for authentication, logging, cancellation, deadlines, tracing, etc. | |
formInstanceID | string | Form instance ID |
Other Parameters
Other parameters are passed through a pointer to a apiGetFormInstanceByKeyRequest struct via the builder pattern
Name | Type | Description | Notes |
---|
Return type
HTTP request headers
- Content-Type: Not defined
- Accept: application/json
Example
package main
import (
"context"
"fmt"
"os"
sailpoint "github.com/sailpoint-oss/golang-sdk/v2"
)
func main() {
formInstanceID := `00000000-0000-0000-0000-000000000000` // string | Form instance ID # string | Form instance ID
configuration := sailpoint.NewDefaultConfiguration()
apiClient := sailpoint.NewAPIClient(configuration)
resp, r, err := apiClient.V2024.CustomFormsAPI.GetFormInstanceByKey(context.Background(), formInstanceID).Execute()
//resp, r, err := apiClient.V2024.CustomFormsAPI.GetFormInstanceByKey(context.Background(), formInstanceID).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `CustomFormsAPI.GetFormInstanceByKey``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `GetFormInstanceByKey`: FormInstanceResponse
fmt.Fprintf(os.Stdout, "Response from `CustomFormsAPI.GetFormInstanceByKey`: %v\n", resp)
}
get-form-instance-file
Download instance file by fileId.
Path Parameters
Name | Type | Description | Notes |
---|---|---|---|
ctx | context.Context | context for authentication, logging, cancellation, deadlines, tracing, etc. | |
formInstanceID | string | FormInstanceID Form instance ID | |
fileID | string | FileID String specifying the hashed name of the uploaded file we are retrieving. |
Other Parameters
Other parameters are passed through a pointer to a apiGetFormInstanceFileRequest struct via the builder pattern
Name | Type | Description | Notes |
---|
Return type
HTTP request headers
- Content-Type: Not defined
- Accept: application/json, image/jpeg, image/png, application/octet-stream
Example
package main
import (
"context"
"fmt"
"os"
sailpoint "github.com/sailpoint-oss/golang-sdk/v2"
)
func main() {
formInstanceID := `00000000-0000-0000-0000-000000000000` // string | FormInstanceID Form instance ID # string | FormInstanceID Form instance ID
fileID := `00000031N0J7R2B57M8YG73J7M.png` // string | FileID String specifying the hashed name of the uploaded file we are retrieving. # string | FileID String specifying the hashed name of the uploaded file we are retrieving.
configuration := sailpoint.NewDefaultConfiguration()
apiClient := sailpoint.NewAPIClient(configuration)
resp, r, err := apiClient.V2024.CustomFormsAPI.GetFormInstanceFile(context.Background(), formInstanceID, fileID).Execute()
//resp, r, err := apiClient.V2024.CustomFormsAPI.GetFormInstanceFile(context.Background(), formInstanceID, fileID).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `CustomFormsAPI.GetFormInstanceFile``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `GetFormInstanceFile`: *os.File
fmt.Fprintf(os.Stdout, "Response from `CustomFormsAPI.GetFormInstanceFile`: %v\n", resp)
}
import-form-definitions
Import form definitions from export.
Path Parameters
Other Parameters
Other parameters are passed through a pointer to a apiImportFormDefinitionsRequest struct via the builder pattern
Name | Type | Description | Notes |
---|---|---|---|
body | []ImportFormDefinitionsRequestInner | Body is the request payload to import form definitions |
Return type
ImportFormDefinitions202Response
HTTP request headers
- Content-Type: application/json
- Accept: application/json
Example
package main
import (
"context"
"fmt"
"os"
sailpoint "github.com/sailpoint-oss/golang-sdk/v2"
)
func main() {
body := []byte(`[{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)
configuration := sailpoint.NewDefaultConfiguration()
apiClient := sailpoint.NewAPIClient(configuration)
resp, r, err := apiClient.V2024.CustomFormsAPI.ImportFormDefinitions(context.Background()).Execute()
//resp, r, err := apiClient.V2024.CustomFormsAPI.ImportFormDefinitions(context.Background()).Body(body).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `CustomFormsAPI.ImportFormDefinitions``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `ImportFormDefinitions`: ImportFormDefinitions202Response
fmt.Fprintf(os.Stdout, "Response from `CustomFormsAPI.ImportFormDefinitions`: %v\n", resp)
}
patch-form-definition
Patch a form definition.
Parameter {formDefinitionID}
should match a form definition ID.
Path Parameters
Name | Type | Description | Notes |
---|---|---|---|
ctx | context.Context | context for authentication, logging, cancellation, deadlines, tracing, etc. | |
formDefinitionID | string | Form definition ID |
Other Parameters
Other parameters are passed through a pointer to a apiPatchFormDefinitionRequest struct via the builder pattern
Name | Type | Description | Notes |
---|
body | []map[string]map[string]interface | Body is the request payload to patch a form definition, check: https://jsonpatch.com |
Return type
HTTP request headers
- Content-Type: application/json
- Accept: application/json
Example
package main
import (
"context"
"fmt"
"os"
sailpoint "github.com/sailpoint-oss/golang-sdk/v2"
)
func main() {
formDefinitionID := `00000000-0000-0000-0000-000000000000` // string | Form definition ID # string | Form definition ID
body := []byte(`[{op=replace, path=/description, value=test-description}]`) // []map[string]map[string]interface{} | Body is the request payload to patch a form definition, check: https://jsonpatch.com (optional)
configuration := sailpoint.NewDefaultConfiguration()
apiClient := sailpoint.NewAPIClient(configuration)
resp, r, err := apiClient.V2024.CustomFormsAPI.PatchFormDefinition(context.Background(), formDefinitionID).Execute()
//resp, r, err := apiClient.V2024.CustomFormsAPI.PatchFormDefinition(context.Background(), formDefinitionID).Body(body).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `CustomFormsAPI.PatchFormDefinition``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `PatchFormDefinition`: FormDefinitionResponse
fmt.Fprintf(os.Stdout, "Response from `CustomFormsAPI.PatchFormDefinition`: %v\n", resp)
}
patch-form-instance
Patch a form instance.
Parameter {formInstanceID}
should match a form instance ID.
Path Parameters
Name | Type | Description | Notes |
---|---|---|---|
ctx | context.Context | context for authentication, logging, cancellation, deadlines, tracing, etc. | |
formInstanceID | string | Form instance ID |
Other Parameters
Other parameters are passed through a pointer to a apiPatchFormInstanceRequest struct via the builder pattern
Name | Type | Description | Notes |
---|
body | []map[string]map[string]interface | Body is the request payload to patch a form instance, check: https://jsonpatch.com |
Return type
HTTP request headers
- Content-Type: application/json
- Accept: application/json
Example
package main
import (
"context"
"fmt"
"os"
sailpoint "github.com/sailpoint-oss/golang-sdk/v2"
)
func main() {
formInstanceID := `00000000-0000-0000-0000-000000000000` // string | Form instance ID # string | Form instance ID
body := []byte(`[{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[string]map[string]interface{} | Body is the request payload to patch a form instance, check: https://jsonpatch.com (optional)
configuration := sailpoint.NewDefaultConfiguration()
apiClient := sailpoint.NewAPIClient(configuration)
resp, r, err := apiClient.V2024.CustomFormsAPI.PatchFormInstance(context.Background(), formInstanceID).Execute()
//resp, r, err := apiClient.V2024.CustomFormsAPI.PatchFormInstance(context.Background(), formInstanceID).Body(body).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `CustomFormsAPI.PatchFormInstance``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `PatchFormInstance`: FormInstanceResponse
fmt.Fprintf(os.Stdout, "Response from `CustomFormsAPI.PatchFormInstance`: %v\n", resp)
}
search-form-definitions-by-tenant
Export form definitions by tenant. No parameters required.
Path Parameters
Other Parameters
Other parameters are passed through a pointer to a apiSearchFormDefinitionsByTenantRequest struct via the builder pattern
Name | Type | Description | Notes |
---|---|---|---|
offset | 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. The offset value is record-based, not page-based, and the index starts at 0. | [default to 0] |
limit | 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. If it is not specified, a default limit is used. | [default to 250] |
filters | string | 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, in description: eq, gt, sw, in created: eq, gt, sw, in modified: eq, gt, sw, in | |
sorters | string | Sort results using the standard syntax described in V3 API Standard Collection Parameters Sorting is supported for the following fields: name, description, created, modified | [default to "name"] |
Return type
ListFormDefinitionsByTenantResponse
HTTP request headers
- Content-Type: Not defined
- Accept: application/json
Example
package main
import (
"context"
"fmt"
"os"
sailpoint "github.com/sailpoint-oss/golang-sdk/v2"
)
func main() {
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) # 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) # 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) # 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") # 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")
configuration := sailpoint.NewDefaultConfiguration()
apiClient := sailpoint.NewAPIClient(configuration)
resp, r, err := apiClient.V2024.CustomFormsAPI.SearchFormDefinitionsByTenant(context.Background()).Execute()
//resp, r, err := apiClient.V2024.CustomFormsAPI.SearchFormDefinitionsByTenant(context.Background()).Offset(offset).Limit(limit).Filters(filters).Sorters(sorters).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `CustomFormsAPI.SearchFormDefinitionsByTenant``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `SearchFormDefinitionsByTenant`: ListFormDefinitionsByTenantResponse
fmt.Fprintf(os.Stdout, "Response from `CustomFormsAPI.SearchFormDefinitionsByTenant`: %v\n", resp)
}
search-form-element-data-by-element-id
Retrieves dynamic data by element.
Parameter {formInstanceID}
should match a form instance ID.
Parameter {formElementID}
should match a form element ID at the data source configuration.
Path Parameters
Name | Type | Description | Notes |
---|---|---|---|
ctx | context.Context | context for authentication, logging, cancellation, deadlines, tracing, etc. | |
formInstanceID | string | Form instance ID | |
formElementID | string | Form element ID |
Other Parameters
Other parameters are passed through a pointer to a apiSearchFormElementDataByElementIDRequest struct via the builder pattern
Name | Type | Description | Notes |
---|
limit | 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. If it is not specified, a default limit is used. | [default to 250] filters | string | 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 | 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. |
Return type
ListFormElementDataByElementIDResponse
HTTP request headers
- Content-Type: Not defined
- Accept: application/json
Example
package main
import (
"context"
"fmt"
"os"
sailpoint "github.com/sailpoint-oss/golang-sdk/v2"
)
func main() {
formInstanceID := `00000000-0000-0000-0000-000000000000` // string | Form instance ID # string | Form instance ID
formElementID := `1` // string | Form element ID # 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) # 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) # 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) # 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)
configuration := sailpoint.NewDefaultConfiguration()
apiClient := sailpoint.NewAPIClient(configuration)
resp, r, err := apiClient.V2024.CustomFormsAPI.SearchFormElementDataByElementID(context.Background(), formInstanceID, formElementID).Execute()
//resp, r, err := apiClient.V2024.CustomFormsAPI.SearchFormElementDataByElementID(context.Background(), formInstanceID, formElementID).Limit(limit).Filters(filters).Query(query).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `CustomFormsAPI.SearchFormElementDataByElementID``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `SearchFormElementDataByElementID`: ListFormElementDataByElementIDResponse
fmt.Fprintf(os.Stdout, "Response from `CustomFormsAPI.SearchFormElementDataByElementID`: %v\n", resp)
}
search-form-instances-by-tenant
List form instances by tenant. No parameters required.
Path Parameters
This endpoint does not need any parameter.
Other Parameters
Other parameters are passed through a pointer to a apiSearchFormInstancesByTenantRequest struct via the builder pattern
Return type
[]ListFormInstancesByTenantResponse
HTTP request headers
- Content-Type: Not defined
- Accept: application/json
Example
package main
import (
"context"
"fmt"
"os"
sailpoint "github.com/sailpoint-oss/golang-sdk/v2"
)
func main() {
configuration := sailpoint.NewDefaultConfiguration()
apiClient := sailpoint.NewAPIClient(configuration)
resp, r, err := apiClient.V2024.CustomFormsAPI.SearchFormInstancesByTenant(context.Background()).Execute()
//resp, r, err := apiClient.V2024.CustomFormsAPI.SearchFormInstancesByTenant(context.Background()).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `CustomFormsAPI.SearchFormInstancesByTenant``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `SearchFormInstancesByTenant`: []ListFormInstancesByTenantResponse
fmt.Fprintf(os.Stdout, "Response from `CustomFormsAPI.SearchFormInstancesByTenant`: %v\n", resp)
}
search-pre-defined-select-options
List predefined select options. No parameters required.
Path Parameters
This endpoint does not need any parameter.
Other Parameters
Other parameters are passed through a pointer to a apiSearchPreDefinedSelectOptionsRequest struct via the builder pattern
Return type
ListPredefinedSelectOptionsResponse
HTTP request headers
- Content-Type: Not defined
- Accept: application/json
Example
package main
import (
"context"
"fmt"
"os"
sailpoint "github.com/sailpoint-oss/golang-sdk/v2"
)
func main() {
configuration := sailpoint.NewDefaultConfiguration()
apiClient := sailpoint.NewAPIClient(configuration)
resp, r, err := apiClient.V2024.CustomFormsAPI.SearchPreDefinedSelectOptions(context.Background()).Execute()
//resp, r, err := apiClient.V2024.CustomFormsAPI.SearchPreDefinedSelectOptions(context.Background()).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `CustomFormsAPI.SearchPreDefinedSelectOptions``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `SearchPreDefinedSelectOptions`: ListPredefinedSelectOptionsResponse
fmt.Fprintf(os.Stdout, "Response from `CustomFormsAPI.SearchPreDefinedSelectOptions`: %v\n", resp)
}
show-preview-data-source
Preview form definition data source.
Path Parameters
Name | Type | Description | Notes |
---|---|---|---|
ctx | context.Context | context for authentication, logging, cancellation, deadlines, tracing, etc. | |
formDefinitionID | string | Form definition ID |
Other Parameters
Other parameters are passed through a pointer to a apiShowPreviewDataSourceRequest struct via the builder pattern
Name | Type | Description | Notes |
---|
limit | 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. If it is not specified, a default limit is used. | [default to 10] filters | string | 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 | 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. | formElementPreviewRequest | FormElementPreviewRequest | Body is the request payload to create a form definition dynamic schema |
Return type
HTTP request headers
- Content-Type: application/json
- Accept: application/json
Example
package main
import (
"context"
"fmt"
"os"
sailpoint "github.com/sailpoint-oss/golang-sdk/v2"
)
func main() {
formDefinitionID := `00000000-0000-0000-0000-000000000000` // string | Form definition ID # 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) # 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) # 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) # 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 := []byte(`{
"dataSource" : {
"config" : {
"indices" : [ "identities" ],
"query" : "*",
"aggregationBucketField" : "attributes.cloudStatus.exact",
"objectType" : "IDENTITY"
},
"dataSourceType" : "STATIC"
}
}`) // FormElementPreviewRequest | Body is the request payload to create a form definition dynamic schema (optional)
configuration := sailpoint.NewDefaultConfiguration()
apiClient := sailpoint.NewAPIClient(configuration)
resp, r, err := apiClient.V2024.CustomFormsAPI.ShowPreviewDataSource(context.Background(), formDefinitionID).Execute()
//resp, r, err := apiClient.V2024.CustomFormsAPI.ShowPreviewDataSource(context.Background(), formDefinitionID).Limit(limit).Filters(filters).Query(query).FormElementPreviewRequest(formElementPreviewRequest).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `CustomFormsAPI.ShowPreviewDataSource``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `ShowPreviewDataSource`: PreviewDataSourceResponse
fmt.Fprintf(os.Stdout, "Response from `CustomFormsAPI.ShowPreviewDataSource`: %v\n", resp)
}