PATCH PreferenceDescription/{id}
PATCH /api/v1/PreferenceDescription/{id}
Update a PreferenceDescription with changes, as described in a JSON Patch or a JSON Merge Patch document.
See RFC6902 and RFC 7396. NsApiSlow threshold: 1000 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.IPreferenceAgent} service SavePreferenceDescription.
| Path Part | Type | Description |
|---|---|---|
| id | int32 | The PreferenceDescription 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/PreferenceDescription/{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:
PreferenceDescription updated.
| Response | Description |
|---|---|
| 200 | PreferenceDescription updated. |
| 404 | PreferenceDescription 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 PreferenceDescription has changed since the requested If-Unmodified-Since timestamp. |
Response body: PreferenceDescriptionWithLinks
| Property Name | Type | Description |
|---|---|---|
| PrefDescId | int32 | Primary key |
| Section | string | Preference section name |
| Key | string | Preference key name |
| Name | string | Multi-language name |
| ValueType | string | 1=number, 2=text, 3=bool, 4=list of values; 5=list table ref; 6=contact ID, 7=Person ID, 8=Project ID, 9=Selection ID |
| MaxLevel | string | Lowest allowed setting level, set by user, but not lower than sysMaxLevel |
| SysMaxLevel | string | Lowest allowed setting level, set by SuperOffice |
| AccessFlags | string | 1=wizard mode, 2=level 0, 4=admin gui, 8=crm gui |
| Description | string | Description of preference, multi-language parsed |
| IsBuiltin | bool | 1 = This row populated and maintained by SuperOffice |
| TableName | string | If valueType = 5, then TableName contains the table referenced by the preference |
| UserDefinedListId | int32 | Read-only field, If valueType = 5, and TableName is UDList, then UserdefinedLIstId contains the id of the list referenced by the preference |
| Rank | int32 | Rank field for ordering sections, and keys within sections |
| SubGroup | string | Keys that share a value (including NULL) in this field are shown together; a visual spacer is shown between groups |
| MinLevel | int32 | The minimum (furthest away from User) level this preference can be set for |
| MaxValue | int32 | Max value (if type 1); list table ID (if type 5) |
| MinValue | int32 | Min value (if type 1); list extra id (if type 5) |
| RequiredLicense | string | Licenses the user/installation must have if this reference is to be shown. Comma-separated list of owner.module pairs |
| 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/PreferenceDescription/{id}
Authorization: Basic dGplMDpUamUw
Accept: application/json; charset=utf-8
Accept-Language: en
Content-Type: application/json; charset=utf-8
[
{
"op": "add",
"path": "dignissimos",
"value": {}
},
{
"op": "add",
"path": "dignissimos",
"value": {}
}
]
Sample response
HTTP/1.1 200 PreferenceDescription updated.
Content-Type: application/json; charset=utf-8
{
"PrefDescId": 224,
"Section": "dolorem",
"Key": "voluptatum",
"Name": "Email Notifications",
"ValueType": "Bool",
"MaxLevel": "Database",
"SysMaxLevel": "Database",
"AccessFlags": "adminGUI",
"Description": "Inverse 6th generation matrices",
"IsBuiltin": false,
"TableName": "Nolan, Bednar and Abshire",
"UserDefinedListId": 273,
"Rank": 991,
"SubGroup": "ut",
"MinLevel": 254,
"MaxValue": 442,
"MinValue": 347,
"RequiredLicense": "quasi",
"TableRight": null,
"FieldProperties": {
"fieldName": {
"FieldRight": null,
"FieldType": "System.Int32",
"FieldLength": 426
}
},
"_Links": {
"Self": "https://www.example.com/api/v1/contact/321",
"Archive": "https://www.example.com/api/v1/contact"
}
}