Graph#

The Graph endpoints enable access to Integrated Risk workspaces, such as to pull reports and records, create and edit records, and more.

Please refer to the Graph Guides for further documentation and examples.

Edit#

Properties#

Name

Type

Description

Restrictions

label

string

To create or delete a relationship, the label describing how the records are related

operation

string

The operation to carry out (see enumerated values)

required

properties

object

To create a record or set its properties, the properties related to the record type. Keyed by the property name, this always includes the datatype and value. When setting properties, send a partial object representing only the values to update. Valid datatypes are integer, number, boolean, string, date-time, map, list, array, and set.

recordId

string

To create or delete a relationship, the actual ID or temporaryRecordId of the source record.

targetId

string

To create or delete a relationship, the ID of its target record. If creating, the actual ID or temporaryRecordId. If deleting, the actual ID.

temporaryRecordId

string

To create a record, a temporary ID that is replaced at time of processing. You can subsequently use this ID within the same request to create relationships between created records.

type

string

To create a record, the type of record to create

Enumerated Values#

Property

Value

operation

create_record

operation

delete_record

operation

create_relationship

operation

delete_relationship

operation

set_properties

Example#

{
  "operation": "create_record",
  "properties": {
    "dateReported": {
      "datatype": "date-time",
      "value": "2019-12-11T00:00:00Z"
    },
    "email": {
      "datatype": "string",
      "value": "jane.doe@example.com"
    },
    "hyperlink": {
      "datatype": "map",
      "value": {
        "text": "Example Website",
        "url": "www.example.com"
      }
    }
  },
  "temporaryRecordId": "custom-temporary-id",
  "type": "Issue"
}

Edits#

An array of Edits to submit at once

Properties#

Name

Type

Description

Restrictions

anonymous

[Edit]

An array of Edits to submit at once

Example#

[
  {
    "operation": "create_record",
    "properties": {
      "id": {
        "datatype": "string",
        "value": "User ID for the issue"
      },
      "secondProperty": {
        "datatype": "string",
        "value": "This is a second property"
      }
    },
    "temporaryRecordId": "<user-generated-temporary-id-for-this-issue-record>",
    "type": "Issue"
  },
  {
    "label": "indicates_issue_on_control",
    "operation": "create_relationship",
    "recordId": "<user-generated-temporary-id-for-this-issue-record>",
    "targetId": "085ce4f5-8687-4cb0-aad6-d5c4e1a89a3d"
  },
  {
    "operation": "set_properties",
    "properties": {
      "customProperty": {
        "datatype": "string",
        "value": "This is a custom property"
      }
    },
    "recordId": "085ce4f5-8687-4cb0-aad6-d5c4e1a89a3d"
  },
  {
    "label": "severity_of_issue",
    "operation": "delete_relationship",
    "recordId": "033a531f-c741-4a97-bc09-bb72358e75ad",
    "targetId": "008c4041-e941-4478-88ea-8ae74b21f6bf"
  },
  {
    "operation": "delete_record",
    "recordId": "033a531f-c741-4a97-bc09-bb72358e75ad"
  }
]

EditsResult#

A response from the POST edits endpoint

Properties#

Name

Type

Description

Restrictions

recordIdMap

object

A mapping between temporary and actual record IDs

read-only

Example#

{
  "recordIdMap": {
    "recordIdMap": {
      "myTempId123": "3f9d4e19-6281-4efb-8821-709d299809e7"
    }
  }
}

GraphReportExport#

Details about a graph report export.

Properties#

Name

Type

Description

Restrictions

format

string

The format to export the graph report to - curently, only .CSV

required

Enumerated Values#

Property

Value

format

csv

Example#

{
  "format": "csv"
}

Record#

Properties#

Name

Type

Description

Restrictions

id

string

The unique identifier of the record

read-only

properties

any

The properties related to this type of record. Keyed by the property name, this always includes the datatype and value.

* See edits endpoint for modification of record properties

relationships

[Relationship]

An array of relationships that exist with this record

* See edits endpoint for modification of record relationships

read-only

type

string

The type of the record

read-only

Example#

{
  "id": "931c768b-c3dd-4392-b56e-06d7d6ff88a6",
  "properties": {
    "dateReported": {
      "datatype": "date-time",
      "value": "2019-12-11T00:00:00Z"
    },
    "email": {
      "datatype": "string",
      "value": "jane.doe@example.com"
    },
    "hyperlink": {
      "datatype": "map",
      "value": {
        "text": "Example Website",
        "url": "www.example.com"
      }
    }
  },
  "relationships": [
    {
      "fromRecord": "8e0c1db5-a208-48b0-99d0-d8976ac22c49",
      "fromType": "Issue",
      "label": "created_by",
      "toRecord": "931c768b-c3dd-4392-b56e-06d7d6ff88a6",
      "toType": "User"
    }
  ],
  "type": "User"
}

RecordsListResult#

Returns a JSON object with data and @nextLink properties. data contains a list of Record objects, and @nextLink provides the URL to the next set of results. If there are no additional results, @nextLink doesn’t appear. If the request returns no results at all, data contains an empty array.

Properties#

Name

Type

Description

Restrictions

@nextLink

string

Pagination link for next set of results

data

[Record]

Example#

{
  "@nextLink": "<opaque_url>",
  "data": [
    {
      "id": "931c768b-c3dd-4392-b56e-06d7d6ff88a6",
      "properties": {
        "dateReported": {
          "datatype": "date-time",
          "value": "2019-12-11T00:00:00Z"
        },
        "email": {
          "datatype": "string",
          "value": "jane.doe@example.com"
        },
        "hyperlink": {
          "datatype": "map",
          "value": {
            "text": "Example Website",
            "url": "www.example.com"
          }
        }
      },
      "relationships": [
        {
          "fromRecord": "8e0c1db5-a208-48b0-99d0-d8976ac22c49",
          "fromType": "Issue",
          "label": "created_by",
          "toRecord": "931c768b-c3dd-4392-b56e-06d7d6ff88a6",
          "toType": "User"
        }
      ],
      "type": "User"
    }
  ]
}

Relationship#

Properties#

Name

Type

Description

Restrictions

displayLabel

string

A human-readable description of the relationship between the two items

read-only

fromRecord

string

The unique identifier of the source record

read-only

fromType

string

The unique identifier of the source type. For a type, its name.

read-only

label

string

A description of the relationship between the two items

read-only

toRecord

string

The unique identifier of the target record

read-only

toType

string

The unique identifier of the target Type. For a type, its name.

read-only

Example#

{
  "displayLabel": "Created By",
  "fromRecord": "3a1b3603-98b0-4ba8-86e1-805e3cbdde87",
  "fromType": "Issue",
  "label": "created_by",
  "toRecord": "8e0c1db5-a208-48b0-99d0-d8976ac22c49",
  "toType": "User"
}

Type#

Properties#

Name

Type

Description

Restrictions

id

string

The unique name of the record type

read-only, required

properties

[string]

The list of properties related to this record type

read-only, required

relationships

[Relationship]

An array of relationships that exist with this type

read-only

Example#

{
  "id": "User",
  "properties": [
    "firstName",
    "lastName"
  ],
  "relationships": [
    {
      "displayLabel": "Created By",
      "fromType": "Issue",
      "label": "created_by",
      "toType": "User"
    }
  ]
}

TypesListResult#

Returns a JSON object with data and @nextLink properties. data contains a list of Type objects, and @nextLink provides the URL to the next set of results. If there are no additional results, @nextLink doesn’t appear. If the request returns no results at all, data contains an empty array.

Properties#

Name

Type

Description

Restrictions

@nextLink

string

Pagination link for next set of results

data

[Type]

Example#

{
  "@nextLink": "<opaque_url>",
  "data": [
    {
      "id": "User",
      "properties": [
        "firstName",
        "lastName"
      ],
      "relationships": [
        {
          "displayLabel": "Created By",
          "fromType": "Issue",
          "label": "created_by",
          "toType": "User"
        }
      ]
    }
  ]
}