PATCH Document/{id}
Some tooltip text!
• 9 minutes to read
• 9 minutes to read
PATCH /api/v1/Document/{id}
Update a DocumentEntity with changes, as described in a JSON Patch or a JSON Merge Patch document.
See RFC6902 and RFC 7396. NsApiSlow threshold: 2000 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.IDocumentAgent} service SaveDocumentEntity.
| Path Part | Type | Description |
|---|---|---|
| id | int32 | The DocumentEntity 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/Document/{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:
DocumentEntity updated.
| Response | Description |
|---|---|
| 200 | DocumentEntity updated. |
| 404 | DocumentEntity 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 DocumentEntity has changed since the requested If-Unmodified-Since timestamp. |
Response body: DocumentEntityWithLinks
| Property Name | Type | Description |
|---|---|---|
| DocumentId | int32 | Primary key |
| UpdatedBy | Associate | The person that last updated the appointment. |
| CreatedBy | Associate | The person that first created the document. The property is read-only. |
| Attention | string | Attention/salutation |
| Header | string | Visible document name |
| Name | string | File name |
| OurRef | string | Our reference, searchable field from freetext search |
| YourRef | string | Your reference |
| CreatedDate | date-time | Registered when in UTC. |
| UpdatedDate | date-time | Last updated when in UTC. |
| Description | string | The actual text, max 2047 significant characters even though it is stored as a larger data type on some databases |
| DocumentTemplate | DocumentTemplate | The template type of the document. Use MDO List name "doctmpl" to get list items. |
| Person | Person | A document may also be connected to a person; this must be a contact person registered on the current company. This does not mean however that a person is required. Use MDO List name "person" to get list items. |
| Associate | Associate | The owner of the document - the associate whose checklist the document is in. Use MDO List name "associate" to get list items. |
| Contact | Contact | The contact associated with the document. It may also be null if no contact is associated with the document. Use MDO List name "contact" to get list items. |
| Project | Project | A document may also be connected to a project, so you see the document both on the company card, and on the project card. This does not mean however that a project is required. Use MDO List name "project" to get list items. |
| Date | date-time | date + start time planned |
| ExternalRef | string | External reference for document plugin to resolve document identity (Notes ID, e-mail message ID, whatever) |
| Completed | string | Document Completed state. This is the part of the Status property. |
| ActiveLinks | int32 | Number of active links to sale, document, appointment. |
| Type | string | Is this a normal document or a mail-merge or report? |
| Links | array | List of all elements linked to the document. |
| LockSemantics | string | |
| Sale | Sale | A document may also be connected to a sale, so you see the document on the company card, on the project card and on the sale card. This does not mean however that a sale is required. May be null. Use MDO List name "sale" to get list items. |
| SuggestedDocumentId | int32 | Suggested guide item that this document is an instance of (Note: NOT valid for appointments, they have their own link) |
| Snum | int32 | The sequence number allocated from refcount on used template when creating the document |
| UserDefinedFields | object | Deprecated: Use {SuperOffice.CRM.Services.DocumentEntity.CustomFields} instead. Dictionary of user defined field data. The key string is the ProgId of the UdefField, or if the ProgId is empty it is a string of the format "SuperOffice:[UdefFieldIdentity]", e.g. "SuperOffice:1234" |
| ExtraFields | object | Deprecated: Use {SuperOffice.CRM.Services.DocumentEntity.CustomFields} instead. Extra fields added to the carrier. This could be data from Plug-ins, the foreign key system, external applications, etc. |
| CustomFields | object | Udef + Extra fields added to the carrier. Extra fields as defined by changes to database schema + user-defined fields as defined by admin. Custom fields combines user defined fields and extra fields into one bucket. The individual {SuperOffice.CRM.Services.DocumentEntity.ExtraFields} and UserDefinedFields properties are deprecated in favor of this combined collection. |
| PublishEventDate | date-time | Publish event date |
| PublishTo | date-time | Publication valid to (inclusive) |
| PublishFrom | date-time | Publication valid from (inclusive) |
| IsPublished | bool | Publication is published |
| 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/Document/{id}
Authorization: Basic dGplMDpUamUw
Accept: application/json; charset=utf-8
Accept-Language: fr,de,ru,zh
Content-Type: application/json; charset=utf-8
[
{
"op": "add",
"path": "neque",
"value": {}
},
{
"op": "add",
"path": "neque",
"value": {}
}
]
Sample response
HTTP/1.1 200 DocumentEntity updated.
Content-Type: application/json; charset=utf-8
{
"DocumentId": 699,
"UpdatedBy": null,
"CreatedBy": null,
"Attention": "porro",
"Header": "Quarterly Sales Report Q4 2024",
"Name": "Lakin-McClure",
"OurRef": "SO-2024-001",
"YourRef": "CUST-REF-123",
"CreatedDate": "2014-05-31T14:34:01.9377176+02:00",
"UpdatedDate": "2008-06-10T14:34:01.9377176+02:00",
"Description": "Public-key optimal secured line",
"DocumentTemplate": null,
"Person": null,
"Associate": null,
"Contact": null,
"Project": null,
"Date": "2015-06-07T14:34:01.9409864+02:00",
"ExternalRef": "quis",
"Completed": "Completed",
"ActiveLinks": 791,
"Type": "BookingForChecklist",
"Links": [
{
"EntityName": "Morar, Donnelly and Mertz",
"Id": 941,
"Description": "Sales proposal document",
"ExtraInfo": "voluptatem",
"LinkId": 918,
"TableRight": null,
"FieldProperties": {
"fieldName": {
"FieldRight": null,
"FieldType": "System.Int32",
"FieldLength": 510
}
}
}
],
"LockSemantics": "Locking",
"Sale": null,
"SuggestedDocumentId": 642,
"Snum": 444,
"UserDefinedFields": {
"SuperOffice:1": "Claud Alvera Kuhic DDS",
"SuperOffice:2": "2015260240"
},
"ExtraFields": {
"ExtraFields1": "enim",
"ExtraFields2": "minus"
},
"CustomFields": {
"CustomFields1": "suscipit",
"CustomFields2": "odit"
},
"PublishEventDate": "2006-04-30T14:34:01.9409864+02:00",
"PublishTo": "1998-11-25T14:34:01.9409864+01:00",
"PublishFrom": "2023-08-09T14:34:01.9409864+02:00",
"IsPublished": true,
"VisibleFor": [
{
"VisibleId": 137,
"Visibility": "All",
"DisplayValue": "id",
"TableRight": null,
"FieldProperties": {
"fieldName": {
"FieldRight": null,
"FieldType": "System.String",
"FieldLength": 273
}
}
},
{
"VisibleId": 137,
"Visibility": "All",
"DisplayValue": "id",
"TableRight": null,
"FieldProperties": {
"fieldName": {
"FieldRight": null,
"FieldType": "System.String",
"FieldLength": 273
}
}
}
],
"TableRight": null,
"FieldProperties": {
"fieldName": {
"FieldRight": null,
"FieldType": "System.Int32",
"FieldLength": 140
}
},
"_Links": {
"Self": "https://www.example.com/api/v1/contact/321",
"Archive": "https://www.example.com/api/v1/contact"
}
}