2025-03-06 - Graph Handler Docs

From Izara Wiki
Jump to navigation Jump to search

GraphHandler Function

CreateNode

Request Parameters

  • objType
    • Type : object
    • Required: true
  • objType.objectType
    • Type : string
    • Required : true
  • objType.serviceTag
    • Type : string
    • Required : true
  • objInstanceFull
    • Type : object
    • Required: true
  • objInstanceFull.identifiers
    • Type : string
    • Required : true
  • objInstanceFull.fields
    • Type : object
    • Required: optional
  • settings
    • Type : object
    • Required : optional
  • settings.updatePropertiesOnMatch
    • Type: Boolean // false // true
    • Required : optional
  • originTimestamp
    • Type : date.now() // number
    • Required : optional for create or update
  • relationships
    • Type : array
    • Required : optional for create
  • relationships[item]
    • Type : object
    • Required: optional
  • relationships[item].relType
    • Type : object
    • Required: optional
  • relationships[item].relationshipProperties
    • Type : object
    • Required: optional
  • relationships[item].relationshipDirection
    • Type : string
    • Required: true
  • relationships[item].targetIdentifiers
    • Type : object
    • Required: true
  • callingFlowConfig
    • Type: object
    • Required : optional
  • callingFlowConfig.callingFlow
    • Type: string
    • Required : optional

Request Example

{
  "objType": {
    "objectType": string,
    "serviceTag": string
  },
  "objInstanceFull": {
    "identifiers": {
      // ...identifier
    },
    "fields": {
      // ...fields
    }
  },
  "relationships": [
    {
      "relType": {
        "serviceTag": string,
        "relationshipTag": string
      },
      "relationshipProperties": {
        //... key and value of targetIdentifiers
      },
   	  "relationshipDirection": string, // "from" | "to"
      "targetObjType": {
        "serviceTag": string,
        "objectType": string
      },
      "targetIdentifiers": {
        //... targetIdentifiers
      }
    }
  ],
  "originTimestamp": number,    // timestamp when create
  "settings": { 
   "updatePropertiesOnMatch": boolean  // default=false
  },
  "callingFlow": string,
  "callingFlowProperties": object,
}

Output Response

  • returnValue
    • Type: object
  • returnValue.queryResult
    • Type: object
    • Description: data from created node
  • queryResult.objTypes
    • Type: array
    • Description: serviceTag and objectType
  • queryResult.exitsNode
    • Type: object
  • queryResult.userNode
    • Type: object
    • Description: return user's created
  • queryResult.relationships
    • Type: array
    • Description: data from relationships in targetNode
  • returnValue.requestParams
    • Type: object
    • Description: return same requestParams
  • Status
    • Type: string
    • Description: Status from create node. Return "error" or "complete".
  • errorsFound
    • Type: array
  • graphServiceTag
    • Type: string

Return Example

{
  returnValue: {
    queryResult: {
      returnCreateNode: {
        objTypes: [
          {
            serviceTag: "string",
            objectType: "string"
          }
        ],
          objInstanceFull: {
          identifiers: {
            //...identifier
          },
          fields: {
            //...fields
          }
        },
        existsNode: { },
        userNode: { // // if has userNode send to createNode
          objTypes: [
            {
              "serviceTag": "UserAccount",
              "objectType": "user"
            }
          ],
            properties: {
            //...properties
          }
        },
        relationships: [ // optional : if has requiredOnCreated , createNode with targetNode
          {
            objTypes: [
              { serviceTag: 'string', objectType: 'string' }
            ],
            objInstanceFull: {
              identifiers: {
                // identifiers
              }
            },
            relType: {
              serviceTag: 'string',
              relationshipTag: 'rel'
            },
            relationshipProperties: {
              // properties
            }
          },
        ]
      }
    },
    requestParams: {
      // return example send param
    }
  },
  status: "string", // "complete' or "error"
    errorsFound: [],
      graphServiceTag: "GraphHandler"
}

GetNode

Request Parameters

  • objType
    • Type : object
    • Required: true
  • objType.objectType
    • Type : string
    • Required : true
  • objType.serviceTag
    • Type : string
    • Required : true
  • objInstanceFull
    • Type : object
    • Required: true
  • objInstanceFull.identifiers
    • Type : string
    • Required : true
  • objInstanceFull.fields
    • Type : object
    • Required: optional
  • versionedDataLabels
    • Type: Array
    • Required : optional
  • settings.updatePropertiesOnMatch
    • Type: Boolean
    • Required : optional

Request Example

{
 "objType":{
    "serviceTag":string,
    "objectType":string
 },
 "objInstanceFull":{
    "identifiers":{
     // ...identifier
    },
    "fields":{
     // ...fields
    }
 },
 "versionedDataLabels":[
   //…versionedData
 ],
 "settings": {
  "returnSystemFieldsName" :boolean // default =  true or false
 }
}

Output Response

  • returnValue
    • Type: object
  • returnValue.queryResult
    • Type: object
  • queryResult.refactoredNodes
    • Type: object
    • Description: return object from getNode
  • refactoredNodes.objTypes
    • Type: array
  • refactoredNodes.objInstanceFull
    • Type: object
  • refactoredNodes.objInstanceFull.identifiers
    • Type: object
  • refactoredNodes.objInstanceFull.fields
    • Type: object
  • refactoredNodes.versionDataSystemFields
    • Type: object
  • refactoredNodes.versionDataSystemFields.versionedDataLabel
    • Type: object
  • queryResult.requestParam
    • Type: object
    • Description: return example send param
  • errorsFound
    • Type: string
  • graphServiceTag
    • Type: string

Return Example

{
  returnValue: {
    queryResult: {
      refactoredNodes: {
        objTypes: [
          {
            serviceTag: "string",
            objectType: "string",
          }
        ],
          objInstanceFull: {
          identifiers: {
            //… identifier 
          },
          fields: {
            //…fields
          }
        },
        versionDataSystemFields: {
          versionedDataLabel: {
            originTimestamp: number,
              forMatchedId: "string",
                versionedDataId: "string"
          }
        }
      }
    },
    requestParam: {
      // return example send param
    }
  },
  errorsFound: [],
  graphServiceTag: ''
}

GetNodes

Request Parameters

  • objType
    • Type : object
    • Required: true
  • objType.objectType
    • Type : string
    • Required : true
  • objType.serviceTag
    • Type : string
    • Required : true
  • fields
    • Type : object
    • Required: true
  • versionedDataLabels
    • Type: Array
    • Required : optional
  • settings.returnSystemFieldsName
    • Type: Boolean
    • Required : optional

Request Example

{
  "objType":{
     "serviceTag":string,
     "objectType":string
  },
  "fields":{
    //…fields with matching value
  },
  "versionedDataLabels":[
     //…versionedDataLabels
  ],
  "settings":{
     "returnSystemFieldsName":boolean // default=false
  }
}

Output Response

  • returnValue
    • Type: object
  • queryResults
    • Type: object
  • queryResults.getNodesReturnValues
    • Type: array
  • getNodesReturnValues.objTypes
    • Type: array
  • getNodesReturnValues.objInstanceFull
    • Type: object
  • getNodesReturnValues.objInstanceFull.identifiers
    • Type: object
  • getNodesReturnValues.objInstanceFull.fields
    • Type: object
  • getNodesReturnValues.versionDataSystemFields
    • Type: object
  • getNodesReturnValues.versionDataSystemFields.versionedDataLabel
    • Type: object
  • requestParams
    • Type: object
  • errorsFound
    • Type: string
  • graphServiceTag
    • Type: string

Return Example

{
  returnValue: {
    queryResults: {
      getNodesReturnValues: [
        {
          objTypes: [
            {
              serviceTag: 'string',
              objectType: 'string'
            }
          ],
          objInstanceFull: {
            identifiers: {
              //...identifier
            },
            fields: {
              //.. all fields-1
            }
          },
          versionDataSystemFields: {}
        },
        {
          objTypes: [
            {
              serviceTag: 'string',
              objectType: 'string'
            }
          ],
          objInstanceFull: {
            identifiers: {
              //...identifier
            },
            fields: {
              //...all fields-2
            }
          },
          versionDataSystemFields: {
            versionedDataLabel: {
              originTimestamp: number,
              forMatchedId: 'string',
              versionedDataId: 'string'
            }
          }
        }
      ]
    },
    requestParams: {
      // return example send param
    }
  }
}

UpdateNode

Request Parameters

  • objType
    • Type : object
    • Required: true
  • objType.objectType
    • Type : string
    • Required : true
  • objType.serviceTag
    • Type : string
    • Required : true
  • objInstanceFull
    • Type: object
    • Required : true
  • objInstanceFull.identifiers
    • Type: object
    • Required : true
  • objInstanceFull.fields
    • Type : object
    • Required: true
  • versionedDataIds
    • Type: object
    • Required: optional
  • originTimestamp
    • Type: number
    • Required: true
  • settings
    • Type: object
    • Required: optional
  • callingFlow
    • Type: string
    • Required: optional

Request Example

{
"objType": {
   "serviceTag": string,
   "objectType": string
},
"objInstanceFull": {
   "identifiers": {
   //…identifiers
   },
   "fields": {
   //…fields
   }
  },
"versionedDataIds": {},
"originTimestamp": number, //// timestamp when update
"settings": {},
"callingFlow": string
}

Output Response

  • returnValue
    • Type: object
  • returnValue.queryResult
    • Type: object
    • Description: data from created node
  • queryResult.objTypes
    • Type: array
    • Description: serviceTag and objectType
  • queryResult.objInstanceFull
    • Type: object
    • Description: identifiers and fields
  • queryResult.userId
    • Type: object
    • Description: data that update from user Account
  • queryResult.versionDataSystemFields
    • Type: object
    • Description: optional return versionedData
  • returnValue.requestParams
    • Type: object
    • Description: return same requestParams
  • returnValue.Status
    • Type: string
    • Description: status from updated node // error or complete
  • returnValue.errorsFound
    • Type: array
  • returnValue.graphServiceTag
    • Type: string

Return Example

{
   returnValue: {
     queryResult: {
       objTypes: [
         {
           serviceTag: 'string',
           objectType: 'string'
         }
       ],
       objInstanceFull: {
         identifiers: {
           //...identifiers
         },
         fields: {
          //...fields
         }
       },
       userId: {
         // if have userNode send to updated
       },
       versionDataSystemFields: {
         versionedDataLabel: {
         }
       }
     },
     requestParams: {
      // return example send param
     }
   },
   status: 'string',//"complete" // "error"
   errorsFound: [],
   graphServiceTag: 'string'
 }

CreateRelationship

Request Parameters

  • firstObject
    • Type: object
    • Required: true
  • secondObject
    • Type: object
    • Required: true
  • objType
    • Type : object
    • Required: true
  • objType.objectType
    • Type : string
    • Required : true
  • objType.serviceTag
    • Type : string
    • Required : true
  • identifiers
    • Type: object
    • Required : true
  • createRelationshipIfNothave
    • Type : array
    • Required: optional
    • Description : using createRelationshipIfNothave for check relationship if not has created , can check both firstNode and SeconNode or onCreateAddRelationships
  • onCreateAddRelationships
    • Type: array of object
    • Required: optional
  • relType
    • Type: object
    • Required: true
  • relationshipDirection
    • Type: string
    • Required: true
  • relationshipProperties
    • Type: object
    • Required: true
  • Settings
    • Type: object
    • Required: true
  • settings.updateRelPropsWhenExist
    • Type: boolean
    • Required: optional
  • callingFlow
    • Type: string
    • Required: optional
  • callingFlowConfig
    • Type: object
    • Required: optional

Request Example

{
  "firstObject": {
    "objType": {
      "serviceTag": string,
      "objectType":string
    },
    "identifiers": {
      //…identifiers
    },
    "createRelationshipIfNothave": [ // optional 
      {
        "onMatchRelationship": {
          "relType": {
            "serviceTag": string,
            "relationshipTag": string
          },
          "relationshipProperties": {},
          "relationshipDirection": string
        },
        "onMatchNode": {
          "objType": {
            "serviceTag":string,
            "objectType": string
          },
          "fields": {
          }
        }
      }
    ],
    "onCreateAddRelationships": [
      {
        "objType": {
          "serviceTag":string,
          "objectType":string
        },
        "identifiers": {
          //…identifiers
        },
        "relType": {
          "serviceTag":string,
          "relationshipTag":string
        },
        "relationshipProperties": {
          //…properties
        },
        "relationshipDirection":string // “from” , “to” 
      }
    ]
  },
  "secondObject": {
    "objType": {
      "serviceTag":string,
      "objectType":string
    },
    "identifiers": {
      //…identifiers
    },
    "onCreateAddRelationships": [
      //…optional 
    ]
  },
  "relType": {
    "serviceTag":string,
    "relationshipTag":string
  },
  "relationshipDirection":string, // “from” , “to”
  "relationshipProperties": {
    //…properties
  },
  "settings": {
    "updateRelPropsWhenExist": boolean,
  },
  "callingFlow": "xxxx",
  "callingFlowProperties": {
    "graphServiceName": string
  }
}

Output Response

  • returnValue
    • Type: object
  • queryResult
    • Type: object
  • queryResult.relationship
    • Type: object
  • queryResult.relationship.relType
    • Type: object
  • queryResult.relationship.relationshipProperties
    • Type: object
  • queryResult.firstNode
    • Type: object
    • Description: return data structure from firstNode
  • queryResult.secondNode
    • Type: object
    • Description: return data structure from secondNode
  • queryResult..onCreateAddRelationships
    • Type: array
    • Description: return data structure from onCreateAddRelationships
  • returnValue.firstObject
    • Type: object
  • returnValue.requestParams
    • Type: object
    • Description: return same requestParams
  • Status
    • Type: string
    • Description: status from create node // error or complete
  • errorsFound
    • Type: array

Return Example

{
  returnValue: {
    queryResult: {
      relationship: {
        relType: {
          serviceTag: 'string',
            relationshipTag: 'string'
        },
        relationshipProperties: {
          //…properties
        }
      },
      firstNode: {
        objTypes: [
          {
            serviceTag: 'string',
            objectType: 'string'
          }
        ],
          objInstanceFull: {
          identifiers: { //… identifiers },
            fields: {
              //… all fields
            }
          },
          onCreateAddRelationships: [
            {
              objTypes: [
                {
                  serviceTag: 'string',
                  objectType: 'string'
                }
              ],
              objInstanceFull: {
                identifiers: {
                  //… identifiers 
                },
                fields: {
                  //… all fields 
                }
              },
              relType: {
                serviceTag: 'string',
                relationshipTag: 'string'
              },
              relationshipProperties: {
                //… all properties
              }
            }
          ]
        },
        secondNode: {
          objTypes: [
            {
              serviceTag: 'string',
              objectType: 'string'
            }
          ],
            objInstanceFull: {
            identifiers: { //… identifiers },
              fields: {
                //… all fields
              }
            },
            onCreateAddRelationships: [
              //… optional 
            ]
          }
        }
      }
    }
    requestParams: {
      // return example send param

    },
    Status: 'string', //“complete” // “error”
    errorsFound: []
  }
}

GetRelationship

Request Parameters

  • firstObject
    • Type: object
    • Required: true
  • secondObject
    • Type: object
    • Required: true
  • objType
    • Type: object
    • Required: true
    • Description: has serviceTag and objectType
  • identifiers
    • Type: object
    • Required: true
  • relType
    • Type: object
    • Required: true
    • Description: has relationshipTag and serviceTag
  • relId
    • Type: string
    • Required: true

Request Example

{
   "firstObject":{
      "objType":{
         "serviceTag":string,
         "objectType":string
      },
      "identifiers":{
        //…identifiers
      }
   },
   "secondObject":{
      "objType":{
         "serviceTag": string,
         "objectType": string
      },
      "identifiers":{
         //…identifiers
      }
   },
   "relType":{
      "relationshipTag": string,
      "serviceTag": string
   },
   "relId": string
}

Output Response

  • returnValue
    • Type: object
  • queryResult
  • Type: object
  • queryResult.relType
    • Type: object
  • queryResult.relationshipProperties
    • Type: object
    • Description: return relId and properties
  • returnValue.requestParams
    • Type: object
    • Description: return same requestParams
  • errorsFound
    • Type: array
  • graphServiceTag
    • Type: string

Return Example

{
  returnValue: {
    queryResults: {
      relType: {
        serviceTag: 'string',
          relationshipTag: 'string'
      },
      relationshipProperties: {
        //…properties : 'string’
      }
    },
    requestParams: {
      // return example send param
    }
  }
}

UpdateRelationship

Request Parameters

  • firstObject
    • Type: object
    • Required: true
  • secondObject
    • Type: object
    • Required: true
  • objType
    • Type: object
    • Required: true
    • Description: has serviceTag and objectType
  • identifiers
    • Type: object
    • Required: true
  • relId
    • Type: string
    • Required: true
  • relType
    • Type: object
    • Required: true
    • Description: has relationshipTag and serviceTag
  • relationshipProperties
    • Type: object
    • Required: true
    • Description: send properties that want to update
  • relationshipDirection
    • Type: string
    • Required: true
  • callingFlow
    • Type: string
    • Required: optional

Request Example

{
"firstObject":{
   "objType":{
      "serviceTag": string,
      "objectType": string
   },
   "identifiers":{
     //…identifiers
   }
},
"secondObject":{
   "objType":{
      "serviceTag": string,
      "objectType": string
   },
   "identifiers":{
    //…identifiers
   }
},
"relId": string,
"relType":{
   "serviceTag":string,
   "relationshipTag":string
},
"relationshipProperties":{
 //… properties that want to update
},
"relationshipDirection": string, // "from" // “to”
"callingFlow": string
}

Output Response

  • returnValue
    • Type: object
  • queryResult
    • Type: object
  • queryResult.firstObject And secondObject
    • Type: object
    • Description : return objType {seviceTag and objectType} And identifiers
  • queryResult.relId
    • Type: string
  • queryResult.relType
    • Type: object
    • Description: return {seviceTag and relationshipTag}
  • queryResult.relationshipDirection
    • Type: string
  • queryResult.updatePropertiesParam
    • Type: object
    • Description: return properties to updated
  • queryResult.oldRelationshipProperties
    • Type: object
    • Description: return old properties before update
  • queryResult.newRelationshipProperties
    • Type: object
    • Description: return new properties after updated
  • returnValue.requestParams
    • Type: object
    • Description: return same requestParams
  • status
    • Type : string
  • errorsFound
    • Type: array

Return Example

{
  returnValue: {
    queryResult: {
      firstObject: {
        objType: {
          serviceTag: "string",
            objectType: "string"
        },
        identifiers: {
          //…identifiers
        }
      },
      secondObject: {
        objType: {
          serviceTag: "string",
            objectType: "string"
        },
        identifiers: {
          //…identifiers
        }
      },
      relId: "string",
        relType: {
        serviceTag: "string",
          relationshipTag: "string"
      },
      relationshipDirection: "string",
        updatePropertiesParam: {
        //… properties updated
      },
      oldRelationshipProperties: {
        // … old properties before update
      },
      newRelationshipProperties: {
        //… new properties after updated
      }
    }
  },
  requestParams: {
     // return example send param
  }
  status: string, // "complete",”error”
  errorsFound: []
}

GetNodeAndRelationship

Request Parameters

  • sourceObjType
    • Required: true
    • Description: has serviceTag and objectType
  • sourceIdentifiers
    • Type: object
    • Required: true
  • sourceVersionedDataLabels
    • Type: object
    • Required: optional
  • targetRelationships
    • Type: Array
    • Required: true
  • relTypeAndDirection
    • Type: object
    • Required: true
  • relTypeAndDirection.relType
    • Type: object
    • Required: true
    • Description: has serviceTag and relationshipTag
  • relTypeAndDirection.relationshipProperties
    • Type: object
    • Required: optional
  • relTypeAndDirection.relationshipDirection
    • Type: String
    • Required: optional
  • targetObjects
    • Type: Array
    • Required: Optional
  • targetObjects.objType
    • Type: object
    • Required: required if send targetObjects in param
  • targetObjects.identifiers
    • Type: object
    • Required: optional should have objType if identifiers exists
  • targetObjects.versionedDataLabels
    • Type: object
    • Required: optional have objType if versionedDataLabels exists

Request Example

{
 "sourceObjType": { // required
   "serviceTag": "xxxx",
     "objectType": "yyyy"
 },
 "sourceIdentifiers": {}, // required
 "sourceVersionedDataLabels": [], // optional
   "targetRelationships": [ //required
     {
       "relTypeAndDirection": { // required
         "relType": {
           "serviceTag": "xxxx",
           "relationshipTag": "rel"
         },
         "relationshipProperties": {},//optional
         "relationshipDirection": "" // required
       },
       "targetObjects": [ // optional
         {
           "objType": {
             "serviceTag": "xxxx",
             "objectType": "yyyy"
           },
           "identifiers": {}, // optional 
           "versionedDataLabels": [] // optional have objType if versionedDataLabels exists
         }
       ]
     },
     // if have multiple relTypeAndDirection
   ],
     "settings": {} // defaulf = false  >>> if have versionedDataLabels want to return all field of versionedata: settings = { returnSystemFieldsName: true }
}

Output Response

  • returnValue
    • Type: object
  • queryResult
    • Type: object
  • queryResult.objTypes
    • Type: array of object
    • Description: return {serviceTag and objectType}
  • queryResult.objInstanceFull
    • Type: object
    • Description: return {identifiers and fields}
  • queryResult.relNodes:
    • Type: array
  • relNodes.relType
    • Type: object
    • Description: return {serviceTag and relationshipTag}
  • relNodes.relationshipProperties
    • Type: object
  • relNodes.objTypes
    • Type: array of object
    • Description: return {serviceTag and objectType}
  • relNodes.objInstanceFull
    • Type: object
    • Description: return {identifiers and fields}
  • requestParams
    • Type: object
    • Description: return same requestParams
  • errorsFound
    • Type: array
  • graphServiceTag
    • Type: String

Return Example

{
 returnValue: {
   queryResult: {
     objTypes: [
       { serviceTag: 'xxx', objectType: 'yyy' },
     ],
       objInstanceFull: {
       identifiers: {},
       fields:  }
     },
     relNodes: [
       {
         relType: {
           serviceTag: 'xxxx',
           relationshipTag: 'rel'
         },
         relationshipProperties: {},
         objTypes: [
           {
             serviceTag: 'xxxx',
             objectType: 'yyyy'
           }
         ],
         objInstanceFull: {
           identifiers: {},
           fields: {}
         }
       },
       // if have multiple....
     ]
   },
   requestParams: {  // return example send param
     sourceObjType: { serviceTag: 'xxx', objectType: 'yyy' },
     sourceIdentifiers: { },
     sourceVersionedDataLabels: [],
       targetRelationships: [
         {
           relTypeAndDirection: {
             relType: {
               serviceTag: 'xxx',
               relationshipTag: 'rel'
             },
             relationshipProperties: {},
             relationshipDirection: ''
           },
           targetObjects: [
             {
               objType: {
                 serviceTag: 'xxxx',
                 objectType: 'yyyy'
               },
               identifiers: {},
               versionedDataLabels: []
             }
           ]
         },
       ],
       settings: {}
     }
   },
  errorsFound: [],
  graphServiceTag: 'GraphHandler'
}

ChangeRelationshipType

Request Parameters

  • fromObject
    • Type : object
    • Required : true
  • toObject
    • Type : object
    • Required : true
  • objType
    • Type : object
    • Required : true
  • Identifiers
    • Type : object
    • Required : true
  • oldRelType
    • Type : object
    • Required : true
  • newRelType
    • Type : object
    • Required : true
  • originTimestamp
    • Type : number
    • Required : true
  • changedByUserId
    • Type : String
    • Required : true
  • callingFlow
    • Type : String
    • Required : optional

Request Example

{
 fromObject: {
   objType: {
     serviceTag: 'xxxx',
       objectType: 'yyyy'
   },
   identifiers: {
    //identifiers
   }
 },
 toObject: {
   objType: {
     serviceTag: 'xxxx',
       objectType: 'yyyy'
   },
   identifiers: {
   // identifiers
   }
 },
 oldRelType: {
   serviceTag: 'xxxx',
     relationshipTag: 'old'
 },
 newRelType: {
   serviceTag: 'xxxx',
     relationshipTag: 'new'
 },
 originTimestamp: 1234567890,
   changedByUserId: 'xxxx',
     "callingFlow": "yyyy"
}

Output Response

  • returnValue
    • Type: object
  • newRelationshipType
    • Type: object
  • newRelationshipType.relType
    • Type: object
  • newRelationshipType.relType.relationshipProperties
    • Type: object
  • oldRelationshipType
    • Type: object
  • status
    • Type: string

Return Example

{
 "returnValue": {
   "newRelationshipType": {
     "relType": {
       "serviceTag": "xxxx",
       "relationshipTag": "new"
     },
     "relationshipProperties": {
       "relId": "xxxxxxx",
       "originTimestamp": 1234567890
     }
   },
   "oldRelationshipType": {
     "serviceTag": "xxxx",
     "relationshipTag": "old"
   }
 },
 "status": "complete" // or error
}

DeleteRelationship

Request Parameters

  • fromObject
    • Type : object
    • Required : true
  • secondObject
    • Type : object
    • Required : true
  • objType
    • Type : object
    • Required : true
  • Identifiers
    • Type : object
    • Required : true
  • relType
    • Type : object
    • Required : true
  • relationshipProperties.relId
    • Type: string
    • Required : true
  • relationshipDirection
    • Type: string
    • Required : true
  • callingFlow
    • Type: string
    • Required : true

Request Example

{
 firstObject: {
   objType: {
     serviceTag: 'xxxx',
     objectType: 'yyyy'
   },
   identifiers: { //identifiers }
 },
 secondObject: {
   objType: {
     serviceTag: 'xxxx',
     objectType: 'yyyy'
   },
   identifiers: { //identifiers  }
 },
 relType: {
   serviceTag: 'xxxx',
   relationshipTag: 'yyyy'
 },
 relationshipProperties: { relId: 'string' },
 relationshipDirection: 'string', // default  "from" or "to"
 callingFlow: 'string'
}

Output Response

  • returnValue
    • Type: object
  • queryResult
    • Type: object
  • queryResult.objects
    • Type: array
  • queryResult.objTypes
    • Type: array
  • queryResult.objInstanceFull.identifiers
    • Type: object
  • queryResult.objInstanceFull.fields
    • Type: object
    • Description: return data of fromObject and secondObject
  • queryResult.userNode
    • Type: object
    • Description: return data of userNode
  • queryResult.resultDeleteRel
    • Type : string
    • Description: return status Relationship Delete
  • requestParams
    • Type: object
    • Description: return same requestParams
  • status
    • Type: string
  • errorsFound
    • Type: array

Return Example

{
  returnValue: {
    queryResult: {
      objects: [
        {
          objTypes: [
            {
              serviceTag: "xxxx",
              objectType: "yyyy"
            }
          ],
          objInstanceFull: {
            identifiers: {
              // identifiers
            },
            fields: {
              // fields
            }
          }
        },
        {
          // if have multiple object objTypes
        }
      ],
      userNode: {
        objTypes: [
          {
            serviceTag: "UserAccount",
            objectType: "user"
          }
        ],
        objInstanceFull: {
          identifiers: {
            userId: "zzz"
          }
        }
      },
      resultDeleteRel: "Relationship Deleted" // default
    },
    requeatParam: {
       // return example send param
    },
    status: "string", //default "complete" or "error"
    errorsFound: []
  }
}

DeleteNode