PATCH Selection/{id}
Some tooltip text!
• 9 minutes to read
• 9 minutes to read
PATCH /api/v1/Selection/{id}
Update a SelectionEntity 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.ISelectionAgent} service SaveSelectionEntity.
| Path Part | Type | Description |
|---|---|---|
| id | int32 | The SelectionEntity 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/Selection/{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:
SelectionEntity updated.
| Response | Description |
|---|---|
| 200 | SelectionEntity updated. |
| 404 | SelectionEntity 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 SelectionEntity has changed since the requested If-Unmodified-Since timestamp. |
Response body: SelectionEntityWithLinks
| Property Name | Type | Description |
|---|---|---|
| Description | string | The actual text, max 2047 significant characters even though it is stored as a larger data type on some databases |
| Postit | string | The actual text, max 2047 significant characters even though it is stored as a larger data type on some databases |
| Associate | Associate | Owner of the selection |
| CreatedBy | Associate | Who created the selection |
| UpdatedBy | Associate | Who last modified the selection |
| SelectionCategory | SelectionCategory | Selection category type (list item) Use MDO List name "searchCat" to get list items. |
| GroupIdx | int32 | Original primary user group of associate |
| IncludePerson | int32 | 0 = Include first person, 1 = Include all persons, 2 = Include no persons |
| MemberCount | int64 | How many selectionmembers (for progress bar calculations) - estimate, -1 (or 4294967295) means we don't know |
| Name | string | Name of selection, freetext indexed |
| PostitTextId | int32 | Postit text record id. |
| CreatedDate | date-time | Registered when in UTC. |
| SelectionId | int32 | Primary key |
| SoundEx | string | What the name sounds like, for duplicate detection |
| Source | int32 | How did we get this selection? For future integration needs |
| TextId | int32 | Description text record id |
| UpdatedDate | date-time | Last updated when in UTC. |
| UpdatedCount | int32 | Number of updates made to this record |
| Visibility | int32 | Obsolete, but still maintained denormalization of visiblefor |
| SelectionType | string | Static/Dynamic/Combined? |
| CompanyUnique | bool | Filter out duplicate members based on company? |
| TargetTableNumber | int32 | TargetTableNumber defines the type of selection members this selection contains. e.g. the table number for 'contact', or 'project' or 'sale' |
| TargetTableName | string | TargetTableName contains the name of the table in lowercase. defines the type of selection members this selection contains. e.g. 'contact', or 'project' or 'sale' |
| Completed | bool | The Completed state. |
| LeftSelectionId | int32 | LeftSelectionId is used in combination with RightSelectionId and CombinationType to define an union of two selections when SelectionType=Combined. |
| RightSelectionId | int32 | RightSelectionId is used in combination with LeftSelectionId and CombinationType to define an union of two selections when SelectionType=Combined. |
| SelectionUnionType | string | How to combine the two selections when SelectionType = Combined. |
| MainProviderName | string | The name of the Archive Provider that will deliver the content of the archive - the actual entity rows |
| ShadowProviderName | string | The name, if relevant, of the Archive Provider that will deliver the Shadow rows: contact/person rows related to the actual entity. Can be blank, indicating that there is no shadow archive |
| ChartKey | string | ID/key of the last-used chart tile on this selection |
| LastLoaded | date-time | The date/time this selection was last loaded (selectionentity fetched) |
| LastLoadedBy | int32 | Who last loaded this selection |
| LastLoadedByAssociate | Associate | Associate that last looked at the selection members; only date (not time) is valid |
| LastMembershipChange | date-time | The date/time the membership the selection last changed. Dynamic: change of criteria; Static: add/remove members; Combined: change of algorithm |
| LastMembershipChangeBy | int32 | Who last changed the membership |
| LastMembershipChangeByAssociate | Associate | Associate that last changed the selection membership (static members, dynamic criteria, combined parameters); only date (not time) is valid |
| MainHeading | string | 'Static selection of Companies', or whatever else is appropriate, made by combining text resources for the type and the entity (plural form); this string will contain resource references |
| MemberTabHeading | string | 'Companies', or whatever else is appropriate - the plural form of the entity name; this string will contain resource references |
| MailingsProviderName | string | The name of the provider for the Mailings tab, if relevant; this string will contain resource references |
| DashboardTileDefinitionId | int32 | The associated tile definition |
| VisibleFor | array | The set of users or groups the record is visible for |
| 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/Selection/{id}
Authorization: Basic dGplMDpUamUw
Accept: application/json; charset=utf-8
Accept-Language: en
Content-Type: application/json; charset=utf-8
[
{
"op": "add",
"path": "minima",
"value": {}
},
{
"op": "add",
"path": "minima",
"value": {}
}
]
Sample response
HTTP/1.1 200 SelectionEntity updated.
Content-Type: application/json; charset=utf-8
{
"Description": "Mandatory eco-centric superstructure",
"Postit": "quas",
"Associate": null,
"CreatedBy": null,
"UpdatedBy": null,
"SelectionCategory": null,
"GroupIdx": 682,
"IncludePerson": 27,
"MemberCount": 99.99,
"Name": "Terry Inc and Sons",
"PostitTextId": 854,
"CreatedDate": "2019-06-26T14:34:02.4107239+02:00",
"SelectionId": 521,
"SoundEx": "sit",
"Source": 938,
"TextId": 550,
"UpdatedDate": "1999-03-06T14:34:02.4107239+01:00",
"UpdatedCount": 140,
"Visibility": 563,
"SelectionType": "Combined",
"CompanyUnique": true,
"TargetTableNumber": 355,
"TargetTableName": "Stehr, Dach and Prosacco",
"Completed": false,
"LeftSelectionId": 577,
"RightSelectionId": 853,
"SelectionUnionType": "Intersect",
"MainProviderName": "Schumm-Schuppe",
"ShadowProviderName": "Fritsch Inc and Sons",
"ChartKey": "excepturi",
"LastLoaded": "2001-12-30T14:34:02.4107239+01:00",
"LastLoadedBy": 927,
"LastLoadedByAssociate": null,
"LastMembershipChange": "2022-12-25T14:34:02.4107239+01:00",
"LastMembershipChangeBy": 193,
"LastMembershipChangeByAssociate": null,
"MainHeading": "temporibus",
"MemberTabHeading": "est",
"MailingsProviderName": "Balistreri-Treutel",
"DashboardTileDefinitionId": 600,
"VisibleFor": [
{
"VisibleId": 678,
"Visibility": "All",
"DisplayValue": "earum",
"TableRight": null,
"FieldProperties": {
"fieldName": {
"FieldRight": null,
"FieldType": "System.Int32",
"FieldLength": 71
}
}
},
{
"VisibleId": 678,
"Visibility": "All",
"DisplayValue": "earum",
"TableRight": null,
"FieldProperties": {
"fieldName": {
"FieldRight": null,
"FieldType": "System.Int32",
"FieldLength": 71
}
}
}
],
"TableRight": null,
"FieldProperties": {
"fieldName": {
"FieldRight": null,
"FieldType": "System.Int32",
"FieldLength": 712
}
},
"_Links": {
"Self": "https://www.example.com/api/v1/project/321",
"Archive": "https://www.example.com/api/v1/project"
}
}