Update Form
PUT {{apiPath}}/environments/{{envID}}/forms/{{formID}}
The PUT {{apiPath}}/environments/{environmentID}/forms/{{formID}} operation updates the forms resource in the environment identified by its ID in the request URL.
Request Model
Refer to Forms for complete descriptions.
| Property | Type | Required? |
|---|---|---|
|
Date |
N/A |
|
String |
Required |
|
Integer |
Optional |
|
Object |
Required |
|
String |
Optional |
|
String |
N/A |
|
Object |
Optional |
|
String |
N/A |
|
Object |
Optional |
|
Boolean |
Required |
|
Boolean |
Required |
|
Date |
N/A |
|
String |
Required |
|
String |
Optional |
|
Object |
Optional |
|
String |
Optional |
|
String |
Optional |
Body
raw ( application/json )
{
"name": "Custom-Form_Updated_{{$timestamp}}",
"description": "Test Description - updated via UPDATE Custom Form request",
"category": "CUSTOM",
"components": {
"fields": [
{
"type": "TEXT",
"position": {
"row": 0,
"col": 0
},
"key": "field",
"label": "[{\"type\":\"paragraph\",\"children\":[{\"text\":\"\"},{\"type\":\"i18n\",\"key\":\"fields.user.email.label\",\"defaultTranslation\":\"Email Address\",\"inline\":true,\"children\":[{\"text\":\"\"}]},{\"text\":\"\"}]}]",
"required": true,
"validation": {
"type": "NONE",
"regex": "",
"errorMessage": ""
},
"attributeDisabled": false
},
{
"type": "SUBMIT_BUTTON",
"position": {
"row": 1,
"col": 0
},
"label": "[{\"type\":\"paragraph\",\"children\":[{\"text\":\"\"},{\"type\":\"i18n\",\"key\":\"button.text\",\"defaultTranslation\":\"Submit\",\"inline\":true,\"children\":[{\"text\":\"\"}]},{\"text\":\"\"}]}]"
}
]
},
"cols": 4,
"markOptional": true,
"markRequired": false,
"translationMethod": "TRANSLATE",
"fieldTypes": [
"SUBMIT_BUTTON",
"TEXT"
],
"languageBundle": {
"fields.user.email.label": "Email Address",
"button.text": "Submit"
}
}
Example Request
-
cURL
-
C#
-
Go
-
HTTP
-
Java
-
jQuery
-
NodeJS
-
Python
-
PHP
-
Ruby
-
Swift
curl --location --globoff --request PUT '{{apiPath}}/environments/{{envID}}/forms/{{formID}}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{accessToken}}' \
--data '{
"name": "Custom-Form_Updated_{{$timestamp}}",
"description": "Test Description - updated via UPDATE Custom Form request",
"category": "CUSTOM",
"components": {
"fields": [
{
"type": "TEXT",
"position": {
"row": 0,
"col": 0
},
"key": "field",
"label": "[{\"type\":\"paragraph\",\"children\":[{\"text\":\"\"},{\"type\":\"i18n\",\"key\":\"fields.user.email.label\",\"defaultTranslation\":\"Email Address\",\"inline\":true,\"children\":[{\"text\":\"\"}]},{\"text\":\"\"}]}]",
"required": true,
"validation": {
"type": "NONE",
"regex": "",
"errorMessage": ""
},
"attributeDisabled": false
},
{
"type": "SUBMIT_BUTTON",
"position": {
"row": 1,
"col": 0
},
"label": "[{\"type\":\"paragraph\",\"children\":[{\"text\":\"\"},{\"type\":\"i18n\",\"key\":\"button.text\",\"defaultTranslation\":\"Submit\",\"inline\":true,\"children\":[{\"text\":\"\"}]},{\"text\":\"\"}]}]"
}
]
},
"cols": 4,
"markOptional": true,
"markRequired": false,
"translationMethod": "TRANSLATE",
"fieldTypes": [
"SUBMIT_BUTTON",
"TEXT"
],
"languageBundle": {
"fields.user.email.label": "Email Address",
"button.text": "Submit"
}
}'
var options = new RestClientOptions("{{apiPath}}/environments/{{envID}}/forms/{{formID}}")
{
MaxTimeout = -1,
};
var client = new RestClient(options);
var request = new RestRequest("", Method.Put);
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Authorization", "Bearer {{accessToken}}");
var body = @"{" + "\n" +
@" ""name"": ""Custom-Form_Updated_{{$timestamp}}""," + "\n" +
@" ""description"": ""Test Description - updated via UPDATE Custom Form request""," + "\n" +
@" ""category"": ""CUSTOM""," + "\n" +
@" ""components"": {" + "\n" +
@" ""fields"": [" + "\n" +
@" {" + "\n" +
@" ""type"": ""TEXT""," + "\n" +
@" ""position"": {" + "\n" +
@" ""row"": 0," + "\n" +
@" ""col"": 0" + "\n" +
@" }," + "\n" +
@" ""key"": ""field""," + "\n" +
@" ""label"": ""[{\""type\"":\""paragraph\"",\""children\"":[{\""text\"":\""\""},{\""type\"":\""i18n\"",\""key\"":\""fields.user.email.label\"",\""defaultTranslation\"":\""Email Address\"",\""inline\"":true,\""children\"":[{\""text\"":\""\""}]},{\""text\"":\""\""}]}]""," + "\n" +
@" ""required"": true," + "\n" +
@" ""validation"": {" + "\n" +
@" ""type"": ""NONE""," + "\n" +
@" ""regex"": """"," + "\n" +
@" ""errorMessage"": """"" + "\n" +
@" }," + "\n" +
@" ""attributeDisabled"": false" + "\n" +
@" }," + "\n" +
@" {" + "\n" +
@" ""type"": ""SUBMIT_BUTTON""," + "\n" +
@" ""position"": {" + "\n" +
@" ""row"": 1," + "\n" +
@" ""col"": 0" + "\n" +
@" }," + "\n" +
@" ""label"": ""[{\""type\"":\""paragraph\"",\""children\"":[{\""text\"":\""\""},{\""type\"":\""i18n\"",\""key\"":\""button.text\"",\""defaultTranslation\"":\""Submit\"",\""inline\"":true,\""children\"":[{\""text\"":\""\""}]},{\""text\"":\""\""}]}]""" + "\n" +
@" }" + "\n" +
@" ]" + "\n" +
@" }," + "\n" +
@" ""cols"": 4," + "\n" +
@" ""markOptional"": true," + "\n" +
@" ""markRequired"": false," + "\n" +
@" ""translationMethod"": ""TRANSLATE""," + "\n" +
@" ""fieldTypes"": [" + "\n" +
@" ""SUBMIT_BUTTON""," + "\n" +
@" ""TEXT""" + "\n" +
@" ]," + "\n" +
@" ""languageBundle"": {" + "\n" +
@" ""fields.user.email.label"": ""Email Address""," + "\n" +
@" ""button.text"": ""Submit""" + "\n" +
@" }" + "\n" +
@"}";
request.AddStringBody(body, DataFormat.Json);
RestResponse response = await client.ExecuteAsync(request);
Console.WriteLine(response.Content);
package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "{{apiPath}}/environments/{{envID}}/forms/{{formID}}"
method := "PUT"
payload := strings.NewReader(`{
"name": "Custom-Form_Updated_{{$timestamp}}",
"description": "Test Description - updated via UPDATE Custom Form request",
"category": "CUSTOM",
"components": {
"fields": [
{
"type": "TEXT",
"position": {
"row": 0,
"col": 0
},
"key": "field",
"label": "[{\"type\":\"paragraph\",\"children\":[{\"text\":\"\"},{\"type\":\"i18n\",\"key\":\"fields.user.email.label\",\"defaultTranslation\":\"Email Address\",\"inline\":true,\"children\":[{\"text\":\"\"}]},{\"text\":\"\"}]}]",
"required": true,
"validation": {
"type": "NONE",
"regex": "",
"errorMessage": ""
},
"attributeDisabled": false
},
{
"type": "SUBMIT_BUTTON",
"position": {
"row": 1,
"col": 0
},
"label": "[{\"type\":\"paragraph\",\"children\":[{\"text\":\"\"},{\"type\":\"i18n\",\"key\":\"button.text\",\"defaultTranslation\":\"Submit\",\"inline\":true,\"children\":[{\"text\":\"\"}]},{\"text\":\"\"}]}]"
}
]
},
"cols": 4,
"markOptional": true,
"markRequired": false,
"translationMethod": "TRANSLATE",
"fieldTypes": [
"SUBMIT_BUTTON",
"TEXT"
],
"languageBundle": {
"fields.user.email.label": "Email Address",
"button.text": "Submit"
}
}`)
client := &http.Client {
}
req, err := http.NewRequest(method, url, payload)
if err != nil {
fmt.Println(err)
return
}
req.Header.Add("Content-Type", "application/json")
req.Header.Add("Authorization", "Bearer {{accessToken}}")
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := io.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}
PUT /environments/{{envID}}/forms/{{formID}} HTTP/1.1
Host: {{apiPath}}
Content-Type: application/json
Authorization: Bearer {{accessToken}}
{
"name": "Custom-Form_Updated_{{$timestamp}}",
"description": "Test Description - updated via UPDATE Custom Form request",
"category": "CUSTOM",
"components": {
"fields": [
{
"type": "TEXT",
"position": {
"row": 0,
"col": 0
},
"key": "field",
"label": "[{\"type\":\"paragraph\",\"children\":[{\"text\":\"\"},{\"type\":\"i18n\",\"key\":\"fields.user.email.label\",\"defaultTranslation\":\"Email Address\",\"inline\":true,\"children\":[{\"text\":\"\"}]},{\"text\":\"\"}]}]",
"required": true,
"validation": {
"type": "NONE",
"regex": "",
"errorMessage": ""
},
"attributeDisabled": false
},
{
"type": "SUBMIT_BUTTON",
"position": {
"row": 1,
"col": 0
},
"label": "[{\"type\":\"paragraph\",\"children\":[{\"text\":\"\"},{\"type\":\"i18n\",\"key\":\"button.text\",\"defaultTranslation\":\"Submit\",\"inline\":true,\"children\":[{\"text\":\"\"}]},{\"text\":\"\"}]}]"
}
]
},
"cols": 4,
"markOptional": true,
"markRequired": false,
"translationMethod": "TRANSLATE",
"fieldTypes": [
"SUBMIT_BUTTON",
"TEXT"
],
"languageBundle": {
"fields.user.email.label": "Email Address",
"button.text": "Submit"
}
}
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n \"name\": \"Custom-Form_Updated_{{$timestamp}}\",\n \"description\": \"Test Description - updated via UPDATE Custom Form request\",\n \"category\": \"CUSTOM\",\n \"components\": {\n \"fields\": [\n {\n \"type\": \"TEXT\",\n \"position\": {\n \"row\": 0,\n \"col\": 0\n },\n \"key\": \"field\",\n \"label\": \"[{\\\"type\\\":\\\"paragraph\\\",\\\"children\\\":[{\\\"text\\\":\\\"\\\"},{\\\"type\\\":\\\"i18n\\\",\\\"key\\\":\\\"fields.user.email.label\\\",\\\"defaultTranslation\\\":\\\"Email Address\\\",\\\"inline\\\":true,\\\"children\\\":[{\\\"text\\\":\\\"\\\"}]},{\\\"text\\\":\\\"\\\"}]}]\",\n \"required\": true,\n \"validation\": {\n \"type\": \"NONE\",\n \"regex\": \"\",\n \"errorMessage\": \"\"\n },\n \"attributeDisabled\": false\n },\n {\n \"type\": \"SUBMIT_BUTTON\",\n \"position\": {\n \"row\": 1,\n \"col\": 0\n },\n \"label\": \"[{\\\"type\\\":\\\"paragraph\\\",\\\"children\\\":[{\\\"text\\\":\\\"\\\"},{\\\"type\\\":\\\"i18n\\\",\\\"key\\\":\\\"button.text\\\",\\\"defaultTranslation\\\":\\\"Submit\\\",\\\"inline\\\":true,\\\"children\\\":[{\\\"text\\\":\\\"\\\"}]},{\\\"text\\\":\\\"\\\"}]}]\"\n }\n ]\n },\n \"cols\": 4,\n \"markOptional\": true,\n \"markRequired\": false,\n \"translationMethod\": \"TRANSLATE\",\n \"fieldTypes\": [\n \"SUBMIT_BUTTON\",\n \"TEXT\"\n ],\n \"languageBundle\": {\n \"fields.user.email.label\": \"Email Address\",\n \"button.text\": \"Submit\"\n }\n}");
Request request = new Request.Builder()
.url("{{apiPath}}/environments/{{envID}}/forms/{{formID}}")
.method("PUT", body)
.addHeader("Content-Type", "application/json")
.addHeader("Authorization", "Bearer {{accessToken}}")
.build();
Response response = client.newCall(request).execute();
var settings = {
"url": "{{apiPath}}/environments/{{envID}}/forms/{{formID}}",
"method": "PUT",
"timeout": 0,
"headers": {
"Content-Type": "application/json",
"Authorization": "Bearer {{accessToken}}"
},
"data": JSON.stringify({
"name": "Custom-Form_Updated_{{$timestamp}}",
"description": "Test Description - updated via UPDATE Custom Form request",
"category": "CUSTOM",
"components": {
"fields": [
{
"type": "TEXT",
"position": {
"row": 0,
"col": 0
},
"key": "field",
"label": "[{\"type\":\"paragraph\",\"children\":[{\"text\":\"\"},{\"type\":\"i18n\",\"key\":\"fields.user.email.label\",\"defaultTranslation\":\"Email Address\",\"inline\":true,\"children\":[{\"text\":\"\"}]},{\"text\":\"\"}]}]",
"required": true,
"validation": {
"type": "NONE",
"regex": "",
"errorMessage": ""
},
"attributeDisabled": false
},
{
"type": "SUBMIT_BUTTON",
"position": {
"row": 1,
"col": 0
},
"label": "[{\"type\":\"paragraph\",\"children\":[{\"text\":\"\"},{\"type\":\"i18n\",\"key\":\"button.text\",\"defaultTranslation\":\"Submit\",\"inline\":true,\"children\":[{\"text\":\"\"}]},{\"text\":\"\"}]}]"
}
]
},
"cols": 4,
"markOptional": true,
"markRequired": false,
"translationMethod": "TRANSLATE",
"fieldTypes": [
"SUBMIT_BUTTON",
"TEXT"
],
"languageBundle": {
"fields.user.email.label": "Email Address",
"button.text": "Submit"
}
}),
};
$.ajax(settings).done(function (response) {
console.log(response);
});
var request = require('request');
var options = {
'method': 'PUT',
'url': '{{apiPath}}/environments/{{envID}}/forms/{{formID}}',
'headers': {
'Content-Type': 'application/json',
'Authorization': 'Bearer {{accessToken}}'
},
body: JSON.stringify({
"name": "Custom-Form_Updated_{{$timestamp}}",
"description": "Test Description - updated via UPDATE Custom Form request",
"category": "CUSTOM",
"components": {
"fields": [
{
"type": "TEXT",
"position": {
"row": 0,
"col": 0
},
"key": "field",
"label": "[{\"type\":\"paragraph\",\"children\":[{\"text\":\"\"},{\"type\":\"i18n\",\"key\":\"fields.user.email.label\",\"defaultTranslation\":\"Email Address\",\"inline\":true,\"children\":[{\"text\":\"\"}]},{\"text\":\"\"}]}]",
"required": true,
"validation": {
"type": "NONE",
"regex": "",
"errorMessage": ""
},
"attributeDisabled": false
},
{
"type": "SUBMIT_BUTTON",
"position": {
"row": 1,
"col": 0
},
"label": "[{\"type\":\"paragraph\",\"children\":[{\"text\":\"\"},{\"type\":\"i18n\",\"key\":\"button.text\",\"defaultTranslation\":\"Submit\",\"inline\":true,\"children\":[{\"text\":\"\"}]},{\"text\":\"\"}]}]"
}
]
},
"cols": 4,
"markOptional": true,
"markRequired": false,
"translationMethod": "TRANSLATE",
"fieldTypes": [
"SUBMIT_BUTTON",
"TEXT"
],
"languageBundle": {
"fields.user.email.label": "Email Address",
"button.text": "Submit"
}
})
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
import requests
import json
url = "{{apiPath}}/environments/{{envID}}/forms/{{formID}}"
payload = json.dumps({
"name": "Custom-Form_Updated_{{$timestamp}}",
"description": "Test Description - updated via UPDATE Custom Form request",
"category": "CUSTOM",
"components": {
"fields": [
{
"type": "TEXT",
"position": {
"row": 0,
"col": 0
},
"key": "field",
"label": "[{\"type\":\"paragraph\",\"children\":[{\"text\":\"\"},{\"type\":\"i18n\",\"key\":\"fields.user.email.label\",\"defaultTranslation\":\"Email Address\",\"inline\":true,\"children\":[{\"text\":\"\"}]},{\"text\":\"\"}]}]",
"required": True,
"validation": {
"type": "NONE",
"regex": "",
"errorMessage": ""
},
"attributeDisabled": False
},
{
"type": "SUBMIT_BUTTON",
"position": {
"row": 1,
"col": 0
},
"label": "[{\"type\":\"paragraph\",\"children\":[{\"text\":\"\"},{\"type\":\"i18n\",\"key\":\"button.text\",\"defaultTranslation\":\"Submit\",\"inline\":true,\"children\":[{\"text\":\"\"}]},{\"text\":\"\"}]}]"
}
]
},
"cols": 4,
"markOptional": True,
"markRequired": False,
"translationMethod": "TRANSLATE",
"fieldTypes": [
"SUBMIT_BUTTON",
"TEXT"
],
"languageBundle": {
"fields.user.email.label": "Email Address",
"button.text": "Submit"
}
})
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer {{accessToken}}'
}
response = requests.request("PUT", url, headers=headers, data=payload)
print(response.text)
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('{{apiPath}}/environments/{{envID}}/forms/{{formID}}');
$request->setMethod(HTTP_Request2::METHOD_PUT);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'Content-Type' => 'application/json',
'Authorization' => 'Bearer {{accessToken}}'
));
$request->setBody('{\n "name": "Custom-Form_Updated_{{$timestamp}}",\n "description": "Test Description - updated via UPDATE Custom Form request",\n "category": "CUSTOM",\n "components": {\n "fields": [\n {\n "type": "TEXT",\n "position": {\n "row": 0,\n "col": 0\n },\n "key": "field",\n "label": "[{\\"type\\":\\"paragraph\\",\\"children\\":[{\\"text\\":\\"\\"},{\\"type\\":\\"i18n\\",\\"key\\":\\"fields.user.email.label\\",\\"defaultTranslation\\":\\"Email Address\\",\\"inline\\":true,\\"children\\":[{\\"text\\":\\"\\"}]},{\\"text\\":\\"\\"}]}]",\n "required": true,\n "validation": {\n "type": "NONE",\n "regex": "",\n "errorMessage": ""\n },\n "attributeDisabled": false\n },\n {\n "type": "SUBMIT_BUTTON",\n "position": {\n "row": 1,\n "col": 0\n },\n "label": "[{\\"type\\":\\"paragraph\\",\\"children\\":[{\\"text\\":\\"\\"},{\\"type\\":\\"i18n\\",\\"key\\":\\"button.text\\",\\"defaultTranslation\\":\\"Submit\\",\\"inline\\":true,\\"children\\":[{\\"text\\":\\"\\"}]},{\\"text\\":\\"\\"}]}]"\n }\n ]\n },\n "cols": 4,\n "markOptional": true,\n "markRequired": false,\n "translationMethod": "TRANSLATE",\n "fieldTypes": [\n "SUBMIT_BUTTON",\n "TEXT"\n ],\n "languageBundle": {\n "fields.user.email.label": "Email Address",\n "button.text": "Submit"\n }\n}');
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}
require "uri"
require "json"
require "net/http"
url = URI("{{apiPath}}/environments/{{envID}}/forms/{{formID}}")
http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Put.new(url)
request["Content-Type"] = "application/json"
request["Authorization"] = "Bearer {{accessToken}}"
request.body = JSON.dump({
"name": "Custom-Form_Updated_{{\$timestamp}}",
"description": "Test Description - updated via UPDATE Custom Form request",
"category": "CUSTOM",
"components": {
"fields": [
{
"type": "TEXT",
"position": {
"row": 0,
"col": 0
},
"key": "field",
"label": "[{\"type\":\"paragraph\",\"children\":[{\"text\":\"\"},{\"type\":\"i18n\",\"key\":\"fields.user.email.label\",\"defaultTranslation\":\"Email Address\",\"inline\":true,\"children\":[{\"text\":\"\"}]},{\"text\":\"\"}]}]",
"required": true,
"validation": {
"type": "NONE",
"regex": "",
"errorMessage": ""
},
"attributeDisabled": false
},
{
"type": "SUBMIT_BUTTON",
"position": {
"row": 1,
"col": 0
},
"label": "[{\"type\":\"paragraph\",\"children\":[{\"text\":\"\"},{\"type\":\"i18n\",\"key\":\"button.text\",\"defaultTranslation\":\"Submit\",\"inline\":true,\"children\":[{\"text\":\"\"}]},{\"text\":\"\"}]}]"
}
]
},
"cols": 4,
"markOptional": true,
"markRequired": false,
"translationMethod": "TRANSLATE",
"fieldTypes": [
"SUBMIT_BUTTON",
"TEXT"
],
"languageBundle": {
"fields.user.email.label": "Email Address",
"button.text": "Submit"
}
})
response = http.request(request)
puts response.read_body
let parameters = "{\n \"name\": \"Custom-Form_Updated_{{$timestamp}}\",\n \"description\": \"Test Description - updated via UPDATE Custom Form request\",\n \"category\": \"CUSTOM\",\n \"components\": {\n \"fields\": [\n {\n \"type\": \"TEXT\",\n \"position\": {\n \"row\": 0,\n \"col\": 0\n },\n \"key\": \"field\",\n \"label\": \"[{\\\"type\\\":\\\"paragraph\\\",\\\"children\\\":[{\\\"text\\\":\\\"\\\"},{\\\"type\\\":\\\"i18n\\\",\\\"key\\\":\\\"fields.user.email.label\\\",\\\"defaultTranslation\\\":\\\"Email Address\\\",\\\"inline\\\":true,\\\"children\\\":[{\\\"text\\\":\\\"\\\"}]},{\\\"text\\\":\\\"\\\"}]}]\",\n \"required\": true,\n \"validation\": {\n \"type\": \"NONE\",\n \"regex\": \"\",\n \"errorMessage\": \"\"\n },\n \"attributeDisabled\": false\n },\n {\n \"type\": \"SUBMIT_BUTTON\",\n \"position\": {\n \"row\": 1,\n \"col\": 0\n },\n \"label\": \"[{\\\"type\\\":\\\"paragraph\\\",\\\"children\\\":[{\\\"text\\\":\\\"\\\"},{\\\"type\\\":\\\"i18n\\\",\\\"key\\\":\\\"button.text\\\",\\\"defaultTranslation\\\":\\\"Submit\\\",\\\"inline\\\":true,\\\"children\\\":[{\\\"text\\\":\\\"\\\"}]},{\\\"text\\\":\\\"\\\"}]}]\"\n }\n ]\n },\n \"cols\": 4,\n \"markOptional\": true,\n \"markRequired\": false,\n \"translationMethod\": \"TRANSLATE\",\n \"fieldTypes\": [\n \"SUBMIT_BUTTON\",\n \"TEXT\"\n ],\n \"languageBundle\": {\n \"fields.user.email.label\": \"Email Address\",\n \"button.text\": \"Submit\"\n }\n}"
let postData = parameters.data(using: .utf8)
var request = URLRequest(url: URL(string: "{{apiPath}}/environments/{{envID}}/forms/{{formID}}")!,timeoutInterval: Double.infinity)
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue("Bearer {{accessToken}}", forHTTPHeaderField: "Authorization")
request.httpMethod = "PUT"
request.httpBody = postData
let task = URLSession.shared.dataTask(with: request) { data, response, error in
guard let data = data else {
print(String(describing: error))
return
}
print(String(data: data, encoding: .utf8)!)
}
task.resume()
Example Response
200 OK
{
"_links": {
"self": {
"href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6/forms/05e406b0-156a-45d4-ab5f-6cc612057643"
}
},
"id": "05e406b0-156a-45d4-ab5f-6cc612057643",
"environment": {
"id": "abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6"
},
"name": "Custom-Form_Updated_1723747832",
"description": "Test Description - updated via UPDATE Custom Form request",
"category": "CUSTOM",
"components": {
"fields": [
{
"type": "TEXT",
"position": {
"row": 0,
"col": 0
},
"key": "field",
"label": "[{\"type\":\"paragraph\",\"children\":[{\"text\":\"\"},{\"type\":\"i18n\",\"key\":\"fields.user.email.label\",\"defaultTranslation\":\"Email Address\",\"inline\":true,\"children\":[{\"text\":\"\"}]},{\"text\":\"\"}]}]",
"required": true,
"validation": {
"type": "NONE",
"regex": "",
"errorMessage": ""
},
"otherOptionEnabled": false,
"otherOptionAttributeDisabled": false,
"attributeDisabled": false
},
{
"type": "SUBMIT_BUTTON",
"position": {
"row": 1,
"col": 0
},
"label": "[{\"type\":\"paragraph\",\"children\":[{\"text\":\"\"},{\"type\":\"i18n\",\"key\":\"button.text\",\"defaultTranslation\":\"Submit\",\"inline\":true,\"children\":[{\"text\":\"\"}]},{\"text\":\"\"}]}]"
}
]
},
"cols": 4,
"markOptional": true,
"markRequired": false,
"translationMethod": "TRANSLATE",
"fieldTypes": [
"TEXT",
"SUBMIT_BUTTON"
],
"languageBundle": {
"fields.user.email.label": "Email Address",
"button.text": "Submit"
},
"created": "2024-08-15T18:49:55.948Z",
"modified": "2024-08-15T18:50:32.257Z"
}