curl --request GET \
--url https://{subdomain}.logicgate.com/api/v2/fields \
--header 'Authorization: Bearer <token>'import requests
url = "https://{subdomain}.logicgate.com/api/v2/fields"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{subdomain}.logicgate.com/api/v2/fields', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{subdomain}.logicgate.com/api/v2/fields",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://{subdomain}.logicgate.com/api/v2/fields"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://{subdomain}.logicgate.com/api/v2/fields")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{subdomain}.logicgate.com/api/v2/fields")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"content": [
{
"id": "a1b2c3d4",
"name": "Risk Severity",
"application": {
"id": "a1b2c3d4",
"name": "Cyber Risk Management Application",
"type": "CONTROLS_COMPLIANCE",
"object": "application"
},
"workflow": {
"id": "a1b2c3d4",
"name": "Risk Assessments",
"recordPrefix": "Assessment",
"object": "workflow"
},
"label": "Enter the Risk Severity based on your assessment",
"global": false,
"required": false,
"tooltip": "Select the Risk Severity",
"helpText": "Determine the Risk Severity from your assessment",
"type": "SELECT",
"valueType": "OPTION",
"optionValues": [
{
"id": "a1b2c3d4",
"type": "OPTION",
"textValue": "Medium Risk",
"numericValue": 2,
"object": "value"
}
],
"defaultValues": [
{
"id": "a1b2c3d4",
"type": "OPTION",
"textValue": "Medium Risk",
"numericValue": 2,
"object": "value"
}
],
"pattern": "[0-9][0-9][0-9]-[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]$",
"message": "<string>",
"expression": "%f + %f",
"nullStrategy": "Available options are: null, 0, 1, N/A, a blank space, and an empty String.",
"logicalHandling": "Some examples are: EQUALS, NOT_EQUALS, GREATER_THAN, GREATER_THAN_EQUALS, etc.",
"labelsEnabled": true,
"fieldInputs": [
{
"id": "<string>",
"crossflowReducer": "NEWEST",
"calcSpecificToStep": true,
"calcStep": {
"id": "a1b2c3d4",
"name": "Identify Risk",
"description": "This is a description of the step",
"xpos": 20,
"ypos": 20,
"type": "ORIGIN",
"enableComments": false,
"assignableUserType": "APP_USERS",
"externalUserMfaRequired": false,
"autofillEnabled": false,
"workflow": {
"id": "a1b2c3d4",
"name": "Risk Assessments",
"recordPrefix": "Assessment",
"object": "workflow"
},
"object": "step"
},
"systemField": "NAME",
"fieldWorkflow": {
"id": "a1b2c3d4",
"name": "Risk Assessments",
"recordPrefix": "Assessment",
"object": "workflow"
},
"fieldWorkflowId": "<string>",
"customField": {
"id": "a1b2c3d4",
"name": "Risk Severity",
"label": "Enter the Risk Severity based on your assessment",
"global": false,
"required": false,
"tooltip": "Select the Risk Severity",
"helpText": "Determine the Risk Severity from your assessment",
"type": "SELECT",
"valueType": "OPTION",
"pattern": "[0-9][0-9][0-9]-[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]$",
"message": "<string>",
"expression": "%f + %f",
"nullStrategy": "Available options are: null, 0, 1, N/A, a blank space, and an empty String.",
"logicalHandling": "Some examples are: EQUALS, NOT_EQUALS, GREATER_THAN, GREATER_THAN_EQUALS, etc.",
"labelsEnabled": true,
"linkDepth": 123,
"object": "field"
},
"customFieldId": "<string>",
"priority": 123
}
],
"linkDepth": 123,
"object": "field"
}
],
"links": {
"first": "/api/v2/resource?page=0&size=20",
"prev": "/api/v2/resource?page=2&size=20",
"self": "/api/v2/resource?page=3&size=20",
"next": "/api/v2/resource?page=4&size=20",
"last": "/api/v2/resource?page=6&size=20"
},
"page": {
"size": 20,
"totalElements": 50,
"totalPages": 3,
"number": 0
}
}Retrieve fields
Permissions: Build Access
Retrieve a page of all fields whose parent application the current user has Build Access to.
curl --request GET \
--url https://{subdomain}.logicgate.com/api/v2/fields \
--header 'Authorization: Bearer <token>'import requests
url = "https://{subdomain}.logicgate.com/api/v2/fields"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{subdomain}.logicgate.com/api/v2/fields', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{subdomain}.logicgate.com/api/v2/fields",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://{subdomain}.logicgate.com/api/v2/fields"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://{subdomain}.logicgate.com/api/v2/fields")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{subdomain}.logicgate.com/api/v2/fields")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"content": [
{
"id": "a1b2c3d4",
"name": "Risk Severity",
"application": {
"id": "a1b2c3d4",
"name": "Cyber Risk Management Application",
"type": "CONTROLS_COMPLIANCE",
"object": "application"
},
"workflow": {
"id": "a1b2c3d4",
"name": "Risk Assessments",
"recordPrefix": "Assessment",
"object": "workflow"
},
"label": "Enter the Risk Severity based on your assessment",
"global": false,
"required": false,
"tooltip": "Select the Risk Severity",
"helpText": "Determine the Risk Severity from your assessment",
"type": "SELECT",
"valueType": "OPTION",
"optionValues": [
{
"id": "a1b2c3d4",
"type": "OPTION",
"textValue": "Medium Risk",
"numericValue": 2,
"object": "value"
}
],
"defaultValues": [
{
"id": "a1b2c3d4",
"type": "OPTION",
"textValue": "Medium Risk",
"numericValue": 2,
"object": "value"
}
],
"pattern": "[0-9][0-9][0-9]-[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]$",
"message": "<string>",
"expression": "%f + %f",
"nullStrategy": "Available options are: null, 0, 1, N/A, a blank space, and an empty String.",
"logicalHandling": "Some examples are: EQUALS, NOT_EQUALS, GREATER_THAN, GREATER_THAN_EQUALS, etc.",
"labelsEnabled": true,
"fieldInputs": [
{
"id": "<string>",
"crossflowReducer": "NEWEST",
"calcSpecificToStep": true,
"calcStep": {
"id": "a1b2c3d4",
"name": "Identify Risk",
"description": "This is a description of the step",
"xpos": 20,
"ypos": 20,
"type": "ORIGIN",
"enableComments": false,
"assignableUserType": "APP_USERS",
"externalUserMfaRequired": false,
"autofillEnabled": false,
"workflow": {
"id": "a1b2c3d4",
"name": "Risk Assessments",
"recordPrefix": "Assessment",
"object": "workflow"
},
"object": "step"
},
"systemField": "NAME",
"fieldWorkflow": {
"id": "a1b2c3d4",
"name": "Risk Assessments",
"recordPrefix": "Assessment",
"object": "workflow"
},
"fieldWorkflowId": "<string>",
"customField": {
"id": "a1b2c3d4",
"name": "Risk Severity",
"label": "Enter the Risk Severity based on your assessment",
"global": false,
"required": false,
"tooltip": "Select the Risk Severity",
"helpText": "Determine the Risk Severity from your assessment",
"type": "SELECT",
"valueType": "OPTION",
"pattern": "[0-9][0-9][0-9]-[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]$",
"message": "<string>",
"expression": "%f + %f",
"nullStrategy": "Available options are: null, 0, 1, N/A, a blank space, and an empty String.",
"logicalHandling": "Some examples are: EQUALS, NOT_EQUALS, GREATER_THAN, GREATER_THAN_EQUALS, etc.",
"labelsEnabled": true,
"linkDepth": 123,
"object": "field"
},
"customFieldId": "<string>",
"priority": 123
}
],
"linkDepth": 123,
"object": "field"
}
],
"links": {
"first": "/api/v2/resource?page=0&size=20",
"prev": "/api/v2/resource?page=2&size=20",
"self": "/api/v2/resource?page=3&size=20",
"next": "/api/v2/resource?page=4&size=20",
"last": "/api/v2/resource?page=6&size=20"
},
"page": {
"size": 20,
"totalElements": 50,
"totalPages": 3,
"number": 0
}
}Authorizations
Bearer token issued via the Authentication endpoints.
Headers
A bearer authorization header containing a Risk Cloud API access token in the format Authorization: Bearer TOKEN — replace TOKEN with your actual access token.
To obtain a Risk Cloud API access token, refer to Obtain an API Access Token in the LogicGate Help Center.
Query Parameters
The unique ID of an application where, if provided, the response will only contain fields from the identified application
The unique ID of a workflow where, if provided, the response will only contain fields from the identified workflow
The unique ID of a step where, if provided, the response will only contain fields from the identified step
A field type where, if provided, the response will only contain fields of the identified field type
DATE, USER, EXTERNAL_USER, TEXT, TEXT_AREA, NUMBER, E_SIGNATURE, CHECKBOX, MULTI_SELECT, RADIO, SELECT, ATTACHMENT, CALCULATION, TEXT_CONCATENATION, DATE_CALCULATION A scope where, if provided, the response will only contain fields that have either global or workflow scopes (defaults to ALL)
ALL, GLOBAL, WORKFLOW The zero-indexed page number (must not be less than 0, defaults to 0)
x >= 0The size of the page and maximum number of items to be returned (must not be less than 1, defaults to 20)
x >= 1