PATCH Relation/{id}
Some tooltip text!
• 5 minutes to read
• 5 minutes to read
PATCH /api/v1/Relation/{id}
Update a ContactRelationEntity with changes, as described in a JSON Patch or a JSON Merge Patch document.
See RFC6902 and RFC 7396. NsApiSlow threshold: 5000 ms. Update the Department field to "foo" can be done either as a JSON PATCH:
[ { "op": "replace", "path": "/Department", "value": "foo" } ]
or as a JSON MERGE PATCH, which describes the change directly:
{ "Department": "foo" }
JSON PATCH supports operations 'add', 'replace', 'remove' and 'test'. The path is case insensitive, and the leading slash is optional, so the paths "/department", "Department" and "department" are all equivalent.
Calls the {SuperOffice.CRM.Services.IRelationAgent} service SaveContactRelation.
| Path Part | Type | Description |
|---|---|---|
| id | int32 | The ContactRelationEntity id to update. Required |
Query String Parameters
| Parameter Name | Type | Description |
|---|---|---|
| $select | string | Optional comma separated list of properties to include in the result. Other fields are then nulled out to reduce payload size: "Name,department,category" Default = show all fields. |
PATCH /api/v1/Relation/{id}?$select=name,department,category/id
Request Headers
| Parameter Name | Description |
|---|---|
| Authorization | Supports 'Basic', 'SoTicket' and 'Bearer' schemes, depending on installation type. |
| X-XSRF-TOKEN | If not using Authorization header, you must provide XSRF value from cookie or hidden input field |
| Content-Type | Content-type of the request body: |
| Accept | Content-type(s) you would like the response in: application/json, text/json, application/xml, text/xml, application/json-patch+json, application/merge-patch+json |
| Accept-Language | Convert string references and multi-language values into a specified language (iso2) code. |
| SO-Language | Convert string references and multi-language values into a specified language (iso2) code. Overrides Accept-Language value. |
| SO-Culture | Number, date formatting in a specified culture (iso2 language) code. Partially overrides SO-Language/Accept-Language value. Ignored if no Language set. |
| SO-TimeZone | Specify the timezone code that you would like date/time responses converted to. |
| SO-AppToken | The application token that identifies the partner app. Used when calling Online WebAPI from a server. |
Request Body: changes
JSON-Patch array of operations+path+value, or a MERGE-PATCH object (which will be converted to a list of JSON-PATCH operations).
| Property Name | Type | Description |
|---|---|---|
| op | String | "add", "replace", "remove", "test" "move" and "copy" not supported |
| path | String | The property names to modify. "/users/0/email", "/users/-", |
| value | Object | New/Replaced value - string or object. |
Response:
ContactRelationEntity updated.
| Response | Description |
|---|---|
| 200 | ContactRelationEntity updated. |
| 404 | ContactRelationEntity with given id does not exist in the db. |
| 409 | Update blocked because a 'test' operation has detected a conflict with the entity value. |
| 412 | Update aborted because ContactRelationEntity has changed since the requested If-Unmodified-Since timestamp. |
Response body: ContactRelationEntityWithLinks
| Property Name | Type | Description |
|---|---|---|
| SourceContactId | int32 | Id of the source contact. The value is mandatory. |
| SourcePersonId | int32 | Id of the source person. The value is not mandatory. The person must belong to the source contact. |
| DestinationContactId | int32 | Id of the destination contact. The value is mandatory. |
| DestinationPersonId | int32 | Id of the destination person. The value is not mandatory. The person must belong to the destination contact. |
| RelationId | int32 | Primary key |
| Comment | string | Comment for relation |
| RelationDefinitionId | int32 | Reference to definition |
| Reversed | int32 | Is direction reversed relative to definition |
| UpdatedDate | date-time | Last updated when in UTC. |
| CreatedDate | date-time | Registered when in UTC. |
| CreatedBy | Associate | Carrier object for Associate. Services for the Associate Carrier is available from the Associate Agent. |
| UpdatedBy | Associate | Carrier object for Associate. Services for the Associate Carrier is available from the Associate Agent. |
| SourceContactName | string | Name of the source contact. |
| SourcePersonName | string | Name of the source person. |
| DestinationContactName | string | Name of the destination contact. |
| DestinationPersonName | string | Name of the destination person. |
| ActiveText | string | Active text for the relation. |
| PassiveText | string | Passive text for the relation. |
| TableRight | TableRight | The carrier's table right |
| FieldProperties | object | Field property dictionary mapping field names to field access rights. |
| _Links | object |
Sample request
PATCH /api/v1/Relation/{id}
Authorization: Basic dGplMDpUamUw
Accept: application/json; charset=utf-8
Accept-Language: en
Content-Type: application/json; charset=utf-8
[
{
"op": "add",
"path": "voluptatem",
"value": {}
},
{
"op": "add",
"path": "voluptatem",
"value": {}
}
]
Sample response
HTTP/1.1 200 ContactRelationEntity updated.
Content-Type: application/json; charset=utf-8
{
"SourceContactId": 973,
"SourcePersonId": 104,
"DestinationContactId": 353,
"DestinationPersonId": 701,
"RelationId": 755,
"Comment": "Main business relationship",
"RelationDefinitionId": 318,
"Reversed": 820,
"UpdatedDate": "2018-03-19T14:34:01.8459763+01:00",
"CreatedDate": "2017-09-23T14:34:01.8459763+02:00",
"CreatedBy": null,
"UpdatedBy": null,
"SourceContactName": "Rohan Group",
"SourcePersonName": "Sanford-Barrows",
"DestinationContactName": "Mraz LLC",
"DestinationPersonName": "Labadie LLC",
"ActiveText": "id",
"PassiveText": "exercitationem",
"TableRight": null,
"FieldProperties": {
"fieldName": {
"FieldRight": null,
"FieldType": "System.Int32",
"FieldLength": 767
}
},
"_Links": {
"Self": "https://www.example.com/api/v1/project/321",
"Archive": "https://www.example.com/api/v1/project"
}
}