title: How to create/update work item with parent-child relation in C# using Azure Devops API in Azure Devops
body: <p>I am trying to create/update work item in Azure devops using API. I am able to create/update with item if it does not have any relation. But if I specify relation e.g. parent-child then I am getting below error: </p>
  
  <p>TF401349: An unexpected error has occurred, please verify your request and try again.</p>
  
  <p>I am using JsonPatchDocument to create/update work item. Example below:</p>
  
  <pre><code>class Example
  {
      JsonPatchOperation AddRelationship(JsonPatchDocument doc, string rel, WorkItem linkedItem, bool isNew, int index)
      {
          //update link
          if (!isNew)
          {
              return new JsonPatchOperation()
              {
                  Operation = Operation.Add,
                  Path = "/relations/" + index,
                  Value = new { rel, url = linkedItem.Url, attributes = new { comment = "comment while update" } }
              };
          }
          else
              return new JsonPatchOperation()
              {
                  Operation = Operation.Add,
                  Path = "/relations/-",
                  Value = new { rel, url = linkedItem.Url, attributes = new { comment = "Comment while creating item" } }
              };
      }
  
      void Save()
      {
          // some code
          doc.Add(AddRelationship(doc, "System.LinkTypes.Hierarchy-Forward", item, isNew, index++));
  
          var workItem = isNew
                       ? witClient.CreateWorkItemAsync(doc, Vsts.Project, issueType, bypassRules: true, validateOnly: Mode == ProcessingMode.ReadOnly).Result
                       : witClient.UpdateWorkItemAsync(doc, existingWorkItemId.Value, bypassRules: true, validateOnly: Mode == ProcessingMode.ReadOnly).Result;
  
      }
  }
  </code></pre>
  
  <p>}</p>
  
  <p>Thank you.</p>