generic

UPDATE: Updates a document in the collection

Normally the document with the matching identifier will be replaced in the collection by the whole JSON request body and 200 HTTP status code will be returned.

If the document has been found in the collection but it had already been deleted, 410 HTTP status code is to be returned.

When no document with identifier has been found in the collection, then an insert operation takes place instead of updating. Finally 201 HTTP status code is returned with only Last-Modified header (identifier is already known from the path parameter).

You can also specify If-Unmodified-Since request header including your timestamp of document's last modification. If the document has been modified by somebody else on the server afterwards (and you do not know about it), the 412 HTTP status code is returned cancelling the update operation. You can use this feature to prevent race condition problems.

This operation provides autopruning of the collection (if autopruning is enabled).

This operation requires update (and/or create) permission for the API and the collection (e.g. api:treatments:update and api:treatments:create)

put/{collection}/{identifier}

Headers

If-Unmodified-Sincestring

Timestamp (defined with respect to server's clock) of the last document modification formatted as:

<day-name>, <day> <month> <year> <hour>:<minute>:<second> GMT

If this header is present, the operation will compare its value with the srvModified timestamp of the document at first and the operation result then may differ. The srvModified timestamp was defined by server's clock.

Example:

<pre>If-Unmodified-Since&#58; Wed, 17 Oct 2018 05&#58;13&#58;00 GMT</pre>

Request body

OR
OR
OR
OR
OR

Example request

{
  "identifier": "53409478-105f-11e9-ab14-d663bd873d93",
  "date": 1525383610088,
  "utcOffset": 120,
  "app": "xdrip",
  "device": "dexcom G5",
  "_id": "58e9dfbc166d88cc18683aac",
  "srvCreated": 1525383610088,
  "subject": "uploader",
  "srvModified": 1525383610088,
  "modifiedBy": "admin",
  "isReadOnly": true
}

Response

The request was successfully processed

statusinteger

Example response

{
  "status": 200
}

Changes

Changed in 4 of the 6 revisions of this API.9627

    • the endpoint scheme security accessToken was removed from the API

      api-security-removed

    This revision also has 1 change that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

  • 8252719e8e34112See the full diff
    • removed the success response with the status 204

      response-success-status-removed

    • the endpoint scheme security accessToken was added to the API

      api-security-added

    • the endpoint scheme security jwtoken was added to the API

      api-security-added

    • the endpoint scheme security apiKeyAuth was removed from the API

      api-security-removed

    • added the media type application/json for the response with the status 201

      response-media-type-added

    • added the media type application/json for the response with the status 400

      response-media-type-added

    • added the media type application/json for the response with the status 401

      response-media-type-added

    • added the media type application/json for the response with the status 403

      response-media-type-added

    • added the media type application/json for the response with the status 404

      response-media-type-added

    • added the media type application/json for the response with the status 410

      response-media-type-added

    • added the media type application/json for the response with the status 412

      response-media-type-added

    • added the media type application/json for the response with the status 422

      response-media-type-added

    • added the success response with the status 200

      response-success-status-added

    • added the new optional request property oneOf[DeviceStatus]/allOf[DocumentBase]/isReadOnly

      new-optional-request-property

    • added the new optional request property oneOf[Entry]/allOf[DocumentBase]/isReadOnly

      new-optional-request-property

    • added the new optional request property oneOf[Food]/allOf[DocumentBase]/isReadOnly

      new-optional-request-property

    • added the new optional request property oneOf[Profile]/allOf[DocumentBase]/isReadOnly

      new-optional-request-property

    • added the new optional request property oneOf[Settings]/allOf[DocumentBase]/isReadOnly

      new-optional-request-property

    • added the new optional request property oneOf[Treatment]/allOf[DocumentBase]/isReadOnly

      new-optional-request-property

    • added the non-success response with the status 422

      response-non-success-status-added

  • e3a793475629867See the full diff
    • removed the media type application/json for the response with the status 201

      response-media-type-removed

    • removed the media type application/json for the response with the status 400

      response-media-type-removed

    • removed the media type application/json for the response with the status 401

      response-media-type-removed

    • removed the media type application/json for the response with the status 403

      response-media-type-removed

    • removed the media type application/json for the response with the status 404

      response-media-type-removed

    • removed the media type application/json for the response with the status 410

      response-media-type-removed

    • removed the media type application/json for the response with the status 412

      response-media-type-removed

    • removed the success response with the status 200

      response-success-status-removed

    • removed the request property oneOf[DeviceStatus]/allOf[DocumentBase]/isReadOnly

      request-property-removed

    • removed the request property oneOf[Entry]/allOf[DocumentBase]/isReadOnly

      request-property-removed

    • removed the request property oneOf[Food]/allOf[DocumentBase]/isReadOnly

      request-property-removed

    • removed the request property oneOf[Profile]/allOf[DocumentBase]/isReadOnly

      request-property-removed

    • removed the request property oneOf[Settings]/allOf[DocumentBase]/isReadOnly

      request-property-removed

    • removed the request property oneOf[Treatment]/allOf[DocumentBase]/isReadOnly

      request-property-removed

    • the endpoint scheme security apiKeyAuth was added to the API

      api-security-added

    • the endpoint scheme security jwtoken was removed from the API

      api-security-removed

    • added the new optional header request parameter Date to all path's operations

      new-optional-request-default-parameter-to-existing-path

    • added the new optional query request parameter now to all path's operations

      new-optional-request-default-parameter-to-existing-path

    • added the new optional query request parameter token to all path's operations

      new-optional-request-default-parameter-to-existing-path

    • removed the non-success response with the status 422

      response-non-success-status-removed

    • added the success response with the status 204

      response-success-status-added

    This revision also has 8 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog