LogicGate Edge Path API
A [Conditional Edge Path](https://help.logicgate.com/hc/en-us/articles/4402683114004-Work-with-Paths#conditional-edge-paths) defines an alternative route that a Record might need to follow if specific conditions are met.
A [Conditional Edge Path](https://help.logicgate.com/hc/en-us/articles/4402683114004-Work-with-Paths#conditional-edge-paths) defines an alternative route that a Record might need to follow if specific conditions are met.
openapi: 3.1.0
info:
title: Risk Cloud Access Audit Edge Path API
description: 'Welcome to the Risk Cloud API v2! This is a collection of new API-first and RESTful API endpoints to streamline the creation of custom integrations with the Risk Cloud.
For the API documentation of our legacy API v1 endpoints, reference [Risk Cloud API v1](https://docs.logicgate.com/v1/index.html).'
contact:
name: developer-relations@logicgate.com
email: developer-relations@logicgate.com
version: v2026.7.0
servers:
- url: https://{env}.logicgate.com
description: The LogicGate API application.
variables:
env:
default: qa
security:
- API Token: []
- basic: []
tags:
- name: Edge Path
description: A [Conditional Edge Path](https://help.logicgate.com/hc/en-us/articles/4402683114004-Work-with-Paths#conditional-edge-paths) defines an alternative route that a Record might need to follow if specific conditions are met.
paths:
/api/v2/paths/edge:
get:
tags:
- Edge Path
summary: List all conditional edge paths
description: Get a list of all conditional edge paths in the environment that are entitled to the current user. Build user privileges are required.
operationId: readEdgePaths
parameters:
- name: step
in: query
description: Providing a step ID returns paths only to or from the identified step.
required: false
schema:
type: string
default: ''
- name: page
in: query
description: Results page you want to retrieve (0..N)
- name: size
in: query
description: Number of records per page.
- name: sort
in: query
description: 'Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. Multiple sort criteria are supported.'
- name: Authorization
in: header
description: 'A bearer authorization header containing a Risk Cloud API access token in the format `Authorization: Bearer {TOKEN}`.
To obtain a Risk Cloud API access token, refer to [Obtain an API Access Token](https://www.logicgate.com/developer/risk-cloud-api-authentication/) in the [LogicGate Help Center](https://help.logicgate.com/hc/en-us).'
required: true
schema:
type: string
example: Bearer {TOKEN}
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/PageModelOutEdgePathApiOut'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/AppBadRequestResponse'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/AppBadRequestResponse'
x-beta: 'true'
post:
tags:
- Edge Path
summary: Create a conditional edge path
description: '**Permissions:** [Build Access to parent application](https://help.logicgate.com/hc/en-us/articles/4402683190164-Control-Build-Access-for-Applications)
Create a conditional edge path from a JSON request body.'
operationId: createEdgePath
parameters:
- name: Authorization
in: header
description: 'A bearer authorization header containing a Risk Cloud API access token in the format `Authorization: Bearer {TOKEN}`.
To obtain a Risk Cloud API access token, refer to [Obtain an API Access Token](https://www.logicgate.com/developer/risk-cloud-api-authentication/) in the [LogicGate Help Center](https://help.logicgate.com/hc/en-us).'
required: true
schema:
type: string
example: Bearer {TOKEN}
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/EdgeApiCreateIn'
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/EdgePathApiOut'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/AppBadRequestResponse'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/AppBadRequestResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/AppStatusResponse'
x-beta: 'true'
/api/v2/paths/edge/{id}:
get:
tags:
- Edge Path
summary: Retrieve a conditional edge path
description: Find a path by ID. Build user privileges are required.
operationId: readEdgePath
parameters:
- name: id
in: path
description: The unique ID of the conditional edge path.
required: true
schema:
type: string
- name: Authorization
in: header
description: 'A bearer authorization header containing a Risk Cloud API access token in the format `Authorization: Bearer {TOKEN}`.
To obtain a Risk Cloud API access token, refer to [Obtain an API Access Token](https://www.logicgate.com/developer/risk-cloud-api-authentication/) in the [LogicGate Help Center](https://help.logicgate.com/hc/en-us).'
required: true
schema:
type: string
example: Bearer {TOKEN}
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/EdgePathApiOut'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/AppBadRequestResponse'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/AppBadRequestResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/AppStatusResponse'
x-beta: 'true'
delete:
tags:
- Edge Path
summary: Delete a conditional edge path
description: Build user privileges are required.
operationId: deleteEdgePath
parameters:
- name: id
in: path
description: The unique ID of the conditional edge path.
required: true
schema:
type: string
- name: Authorization
in: header
description: 'A bearer authorization header containing a Risk Cloud API access token in the format `Authorization: Bearer {TOKEN}`.
To obtain a Risk Cloud API access token, refer to [Obtain an API Access Token](https://www.logicgate.com/developer/risk-cloud-api-authentication/) in the [LogicGate Help Center](https://help.logicgate.com/hc/en-us).'
required: true
schema:
type: string
example: Bearer {TOKEN}
responses:
'204':
description: No Content
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/AppBadRequestResponse'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/AppBadRequestResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/AppStatusResponse'
x-beta: 'true'
patch:
tags:
- Edge Path
summary: Update a conditional edge path
description: User must be entitled to the path in question, meaning they must have build access and be entitled both the source and target steps.
operationId: updateEdgePath
parameters:
- name: id
in: path
description: The unique ID of the conditional edge path.
required: true
schema:
type: string
- name: Authorization
in: header
description: 'A bearer authorization header containing a Risk Cloud API access token in the format `Authorization: Bearer {TOKEN}`.
To obtain a Risk Cloud API access token, refer to [Obtain an API Access Token](https://www.logicgate.com/developer/risk-cloud-api-authentication/) in the [LogicGate Help Center](https://help.logicgate.com/hc/en-us).'
required: true
schema:
type: string
example: Bearer {TOKEN}
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/EdgePathApiUpdateIn'
required: true
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/EdgePathApiOut'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/AppBadRequestResponse'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/AppBadRequestResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/AppStatusResponse'
x-beta: 'true'
components:
schemas:
PageLinksOut:
type: object
properties:
first:
type: string
description: A URL path to the first page of requested data
example: /api/v2/resource?page=0&size=20
prev:
type: string
description: A URL path to the next page of requested data or `null` if currently on first page
example: /api/v2/resource?page=2&size=20
self:
type: string
description: A URL path to the current page of requested data
example: /api/v2/resource?page=3&size=20
next:
type: string
description: A URL link to the next page of requested data or `null` if currently on last page
example: /api/v2/resource?page=4&size=20
last:
type: string
description: A URL link to the last page of requested data
example: /api/v2/resource?page=6&size=20
title: Page Links
ValuePropertyApiOut:
type: object
properties:
id:
type: string
description: The unique ID of this Risk Cloud resource
example: a1b2c3d4
type:
type: string
description: The type of the value
enum:
- NUMBER
- CALCULATION
- ATTACHMENT
- DATE
- OPTION
- USER
- TEXT
- OTHER
example: OPTION
textValue:
type: string
description: 'The text representation of the record value, with the format varying by value type:
- `NUMBER`: a string representation of the number, with currency if specified on the field (example: `"42"`)
- `CALCULATION`: a string representation of the label if specified on the field, otherwise the number (example: `"Highest Risk"`)
- `ATTACHMENT`: the name of the attachment file (example: `"my-evidence.pdf"`)
- `DATE`: the date formatted according to the requesting user''s settings (example: `"1/1/23, 12:00 PM"`)
- `OPTION`: the text value of the option (example: `"Medium Risk"`)
- `USER`: the full name and email of the user (example: `"First Last (first.last@example.com)"`)
- `TEXT`: the text value (example: `"Data Theft"`)'
example: Medium Risk
numericValue:
type: number
format: double
description: 'The numeric representation of the record value, with the format varying by value type:
- `NUMBER`: the numeric value of the number (example: `42.0`)
- `CALCULATION`: the numeric value of the calculation (example: `42.0`)
- `ATTACHMENT`: the version count of the attachment (example: `2.0`)
- `DATE`: the date measured in milliseconds since the Unix epoch (example: `1672552800000.0`)
- `OPTION`: the numeric value of the option (example: `2.0`)
- `USER`: a null value (example: `null`)
- `TEXT`: a null value (example: `null`)'
example: 2.0
object:
type: string
description: Identifies the type of object this data represents
example: value
title: Value (Property)
FieldApiOut:
type: object
properties:
id:
type: string
description: The unique ID of this Risk Cloud resource
example: a1b2c3d4
name:
type: string
description: The name of the field
example: Risk Severity
application:
$ref: '#/components/schemas/ApplicationPropertyApiOut'
description: The parent application of the field, or null for global fields
workflow:
$ref: '#/components/schemas/WorkflowPropertyApiOut'
description: The parent workflow of the field, or null for global fields
label:
type: string
description: The label of the field as shown on the record
example: Enter the Risk Severity based on your assessment
global:
type: boolean
description: Whether the field is global
example: false
required:
type: boolean
description: Whether the field is required for the current step
example: false
tooltip:
type: string
description: The tooltip information of the field
example: Select the Risk Severity
helpText:
type: string
description: The help text of the field to supply necessary context for filling out the field
example: Determine the Risk Severity from your assessment
type:
type: string
description: The type of the field
enum:
- DATE
- USER
- EXTERNAL_USER
- TEXT
- TEXT_AREA
- NUMBER
- E_SIGNATURE
- CHECKBOX
- MULTI_SELECT
- RADIO
- SELECT
- ATTACHMENT
- CALCULATION
- TEXT_CONCATENATION
- LINKED_RECORDS_COUNT
- DATE_CALCULATION
- OTHER
example: SELECT
title: Field Type
valueType:
type: string
description: The type of the field value
enum:
- NUMBER
- CALCULATION
- ATTACHMENT
- DATE
- OPTION
- USER
- TEXT
- OTHER
example: OPTION
optionValues:
type: array
description: The option values of the field for Select, Multi-Select, Radio, Checkbox, and E-Signature field types
items:
$ref: '#/components/schemas/ValuePropertyApiOut'
defaultValues:
type: array
description: The default values of the field
items:
$ref: '#/components/schemas/ValuePropertyApiOut'
pattern:
type: string
description: The regular expression used to validate field input.
example: '[0-9]{3}-[0-9]{3}-[0-9]{4}$'
message:
type: string
description: The text that displays in a Field when no value has been input yet.
expression:
type: string
description: The mathematical expression used to calculate a value for a Calculation Field.
example: '%f + %f'
nullStrategy:
type: string
description: The way in which null values are handled for a calculation.
example: 'Available options are: null, 0, 1, N/A, a blank space, and an empty String.'
logicalHandling:
type: string
description: The comparison operator used to define label range boundaries for a calculation field. Determines whether ranges are created for values greater than or less than the baseline number.
enum:
- EQUALS
- NOT_EQUALS
- IS
- IS_NOT
- GREATER_THAN
- GREATER_THAN_EQUALS
- LESS_THAN
- LESS_THAN_EQUALS
- CONTAINS
- DOES_NOT_CONTAIN
- 'NULL'
- NOT_NULL
- DATE_RANGE
- NUMERIC_RANGE
example: 'Some examples are: EQUALS, NOT_EQUALS, GREATER_THAN, GREATER_THAN_EQUALS, etc.'
labelsEnabled:
type: boolean
description: A true or false describing if labels are enabled.
example: true
fieldInputs:
type: array
description: The Fields that are used by a calculation as input.
items:
$ref: '#/components/schemas/Crossflow (Response)'
linkDepth:
type: integer
format: int32
description: The number of relationship hops from the source Record that the Linked Records Count calculation counts. Value between 1 and 10.
object:
type: string
description: Identifies the type of object this data represents
example: field
title: Field (Response)
PageModelOutEdgePathApiOut:
type: object
properties:
content:
type: array
description: A array of returned items
items:
$ref: '#/components/schemas/EdgePathApiOut'
links:
$ref: '#/components/schemas/PageLinksOut'
description: A collection of page URL links for navigation and iteration
page:
$ref: '#/components/schemas/PageInfoOut'
description: A collection page metadata
title: Page (Response)
EdgeApiCreateIn:
type: object
description: Conditional edge path (Create).
properties:
from:
type: string
description: The ID of the source step.
example: a1b2c3d4
to:
type: string
description: The ID of the destination step.
example: a1b2c3d4
allowInternal:
type: boolean
description: Whether a step's current assignee may assign this record to any user with access to the target step on submission.
example: false
allowExternal:
type: boolean
description: Whether a step's current assignee may assign this record to external email addresses on submission.
example: false
allowCurrentAssignee:
type: boolean
description: Allow a step's current assignee to submit without assigning
example: false
description:
type: string
description: Description of the path.
example: This describes the path.
requireAssignee:
type: boolean
description: Require an assignee to be chosen
example: false
operator:
type: string
description: Type of operator for an edge path.
enum:
- EQUALS
- NOT_EQUALS
- IS
- IS_NOT
- GREATER_THAN
- GREATER_THAN_EQUALS
- LESS_THAN
- LESS_THAN_EQUALS
- CONTAINS
- DOES_NOT_CONTAIN
- 'NULL'
- NOT_NULL
- DATE_RANGE
- NUMERIC_RANGE
example: EQUALS
priority:
type: integer
format: int32
description: Determines which edge path should be invoked first. Priority is in descending order with 0 being the first edge.
example: 0
field:
type: string
description: Field that is to be evaluated for the edge.
example: a1b2c3d4
option:
$ref: '#/components/schemas/FieldOptionCreateIn'
description: Value to be compared against.
required:
- from
- to
title: Conditional edge path (Create).
StepApiOut:
type: object
properties:
id:
type: string
description: The unique ID of this Risk Cloud resource
example: a1b2c3d4
name:
type: string
description: The name of the step
example: Identify Risk
description:
type: string
description: The description of the step
example: This is a description of the step
xpos:
type: integer
format: int32
description: The x-coordinate of the step in the application builder
example: 20
ypos:
type: integer
format: int32
description: The y-coordinate of the step in the application builder
example: 20
type:
type: string
description: The type of the step
enum:
- ORIGIN
- CHAIN
- END
example: ORIGIN
enableComments:
type: boolean
description: Whether comments are displayed on a step
example: false
assignableUserType:
type: string
description: Indicates which users are allowed to be assigned this step on a record
enum:
- APP_AND_EXTERNAL_USERS
- APP_USERS
- EXTERNAL_USERS
example: APP_USERS
externalUserMfaRequired:
type: boolean
description: Whether MFA is required for external users to access this step.
example: false
autofillEnabled:
type: boolean
description: Whether or not to enable autofill on the step.
example: false
workflow:
$ref: '#/components/schemas/WorkflowPropertyApiOut'
description: The parent workflow of the step
object:
type: string
description: Identifies the type of object this data represents
example: step
title: Step (Response)
PageInfoOut:
type: object
properties:
size:
type: integer
format: int64
description: The size of the page and maximum number of items to be returned (must not be less than 1, defaults to 20)
example: 20
totalElements:
type: integer
format: int64
description: The total number of items available
example: 50
totalPages:
type: integer
format: int64
description: The total number of pages available based on the size
example: 3
number:
type: integer
format: int64
description: The zero-indexed page number (must not be less than 0, defaults to 0)
example: 0
title: Page Info
AppBadRequestResponse:
type: object
properties:
property:
type: string
value:
type: string
message:
type: string
Crossflow (Response):
type: object
properties:
id:
type: string
description: The unique ID of this Risk Cloud resource
crossflowReducer:
type: string
enum:
- NEWEST
- OLDEST
- MOST_RECENTLY_LINKED
- LEAST_RECENTLY_LINKED
- SUM
- AVERAGE
- HIGHEST
- LOWEST
calcSpecificToStep:
type: boolean
calcStep:
$ref: '#/components/schemas/StepApiOut'
systemField:
type: string
enum:
- NAME
- STATUS
- CREATED
- ENTERED_STEP_DATE
- USER_DATE
- EFFECTIVE_DUE_DATE
- STEP_DUE_DATE
- CURRENT_DATE
- DUE_DATE
- DAYS_UNTIL_DUE
- SIMILARITY
- RATIONALE
- MATCH_CONFIDENCE
- COMPLETED_DATE
- LAST_COMPLETED_DATE
- ID
- SEQUENCE
- ASSESSMENT_COUNT
- USER_NAME
- USER_ID
- CREATOR_NAME
- USER_GROUP
- STEP_NAME
- STEP_ID
- ORIGIN_NAME
- ORIGIN_ID
- WORKFLOW_NAME
- WORKFLOW_RECORD_PREFIX
- WORKFLOW_ID
- PRIMARY_FIELD
- STATE
fieldWorkflow:
$ref: '#/components/schemas/WorkflowPropertyApiOut'
fieldWorkflowId:
type: string
customField:
$ref: '#/components/schemas/FieldPropertyApiOut'
customFieldId:
type: string
priority:
type: integer
format: int32
ApplicationPropertyApiOut:
type: object
properties:
id:
type: string
description: The unique ID of this Risk Cloud resource
example: a1b2c3d4
name:
type: string
description: The name of the application
example: Cyber Risk Management Application
type:
type: string
description: The type of Risk Cloud application
enum:
- ACCESS_MANAGEMENT
- AML_KYC
- ASSET_MANAGEMENT
- AUDIT_MANAGEMENT
- BUSINESS_CONTINUITY_PLANNING
- CHANGE_MANAGEMENT
- COMPLAINT_MANAGEMENT
- COMPLIANCE_MANAGEMENT
- CONTRACT_MANAGEMENT
- CONTROLS_COMPLIANCE
- CONTROLS_MANAGEMENT
- CRISIS_MANAGEMENT
- CUSTOM
- CUSTOM_GRC_USE_CASE
- CYBER_RISK_MANAGEMENT
- DATA_PRIVACY_MANAGEMENT
- EMPLOYEE_COMPLIANCE
- ENTERPRISE_RISK_MANAGEMENT
- ESG
- INCIDENT_MANAGEMENT
- INTERNAL_AUDIT_MANAGEMENT
- IT_RISK_MANAGEMENT
- NONE
- OPERATIONAL_RESILIENCY
- OTHER
- POLICY_AND_PROCEDURE_MANAGEMENT
- POLICY_MANAGEMENT
- PRIVACY_MANAGEMENT
- QUANTIFY
- REGULATORY_COMPLIANCE
- REPOSITORY
- RISK_QUANTIFICATION
- SOX_TESTING
- STANDARDS_REGULATIONS
- SURVEY
- THIRD_PARTY_RISK_MANAGEMENT
example: CONTROLS_COMPLIANCE
object:
type: string
description: Identifies the type of object this data represents
example: application
title: Application (Property)
FieldOptionCreateIn:
type: object
properties:
textValue:
type: string
description: 'The text representation of the record value, with the format varying by value type:
- `NUMBER`: a string representation of the number, with currency if specified on the field (example: `"42"`)
- `CALCULATION`: a string representation of the label if specified on the field, otherwise the number (example: `"Highest Risk"`)
- `ATTACHMENT`: the name of the attachment file (example: `"my-evidence.pdf"`)
- `DATE`: the date formatted according to the requesting user''s settings (example: `"1/1/23, 12:00 PM"`)
- `OPTION`: the text value of the option (example: `"Medium Risk"`)
- `USER`: the full name and email of the user (example: `"First Last (first.last@example.com)"`)
- `TEXT`: the text value (example: `"Data Theft"`)'
example: Medium Risk
numericValue:
type: number
format: double
description: 'The numeric representation of the record value, with the format varying by value type:
- `NUMBER`: the numeric value of the number (example: `42.0`)
- `CALCULATION`: the numeric value of the calculation (example: `42.0`)
- `ATTACHMENT`: the version count of the attachment (example: `2.0`)
- `DATE`: the date measured in milliseconds since the Unix epoch (example: `1672552800000.0`)
- `OPTION`: the numeric value of the option (example: `2.0`)
- `USER`: a null value (example: `null`)
- `TEXT`: a null value (example: `null`)'
example: 2.0
title: Field (Create)
EdgePathApiUpdateIn:
type: object
description: Conditional edge path (Update).
properties:
allowInternal:
type: boolean
description: Whether a step's current assignee may assign this record to any user with access to the target step on submission.
example: false
allowExternal:
type: boolean
description: Whether a step's current assignee may assign this record to external email addresses on submission.
example: false
allowCurrentAssignee:
type: boolean
description: Allow a step's current assignee to submit without assigning
example: false
description:
type: string
description: Description of the path.
example: This describes the path.
requireAssignee:
type: boolean
description: Require an assignee to be chosen
example: false
operator:
type: string
description: Type of operator for an edge path.
enum:
- EQUALS
- NOT_EQUALS
- IS
- IS_NOT
- GREATER_THAN
- GREATER_THAN_EQUALS
- LESS_THAN
- LESS_THAN_EQUALS
- CONTAINS
- DOES_NOT_CONTAIN
- 'NULL'
- NOT_NULL
- DATE_RANGE
- NUMERIC_RANGE
example: EQUALS
priority:
type: integer
format: int32
description: Determines which edge path should be invoked first. Priority is in descending order with 0 being the first edge.
example: 0
title: Conditional edge path (Update).
AppStatusResponse:
type: object
properties:
status:
type: string
message:
type: string
FieldPropertyApiOut:
type: object
properties:
id:
type: string
description: The unique ID of this Risk Cloud resource
example: a1b2c3d4
name:
type: string
description: The name of the field
example: Risk Severity
label:
type: string
description: The label of the field as shown on the record
example: Enter the Risk Severity based on your assessment
global:
type: boolean
description: Whether the field is global
example: false
required:
type: boolean
description: Whether the field is required for the current step
example: false
tooltip:
type: string
description: The tooltip information of the field
example: Select the Risk Severity
helpText:
type: string
description: The help text of the field to supply necessary context for filling out the field
example: Determine the Risk Severity from your assessment
type:
type: string
description: The type of the field
enum:
- DATE
- USER
- EXTERNAL_USER
- TEXT
- TEXT_AREA
- NUMBER
- E_SIGNATURE
- CHECKBOX
- MULTI_SELECT
- RADIO
- SELECT
- ATTACHMENT
- CALCULATION
- TEXT_CONCATENATION
- LINKED_RECORDS_COUNT
- DATE_CALCULATION
- OTHER
example: SELECT
title: Field Type
valueType:
type: string
description: The type of the field value
enum:
- NUMBER
- CALCULATION
- ATTACHMENT
- DATE
- OPTION
- USER
- TEXT
- OTHER
example: OPTION
pattern:
type: string
description: The regular expression used to validate field input.
example: '[0-9]{3}-[0-9]{3}-[0-9]{4}$'
message:
type: string
description: The text that displays in a Field when no value has been input yet.
expres
# --- truncated at 32 KB (36 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/logicgate/refs/heads/main/openapi/logicgate-edge-path-api-openapi.yml