The RESTCONF uses the HTTP PATCH method defined in to provide an extensible framework for resource patching mechanisms. Each patch mechanism needs a unique media type.
If the target resource instance does not exist, the server MUST NOT create it.
If the PATCH request succeeds, a "200 OK" status-line is returned if there is a message-body, and "204 No Content" is returned if no response message-body is sent.
If the user is not authorized to alter the target resource, an error response containing a "403 Forbidden" status-line will be returned. A server MAY return a "404 Not Found" status-line. The error-tag value "invalid-value" is used in this case.
The plain patch mechanism merges the contents of the message-body with the target resource. The message-body for a plain patch MUST be present and MUST be represented by the media type "application/yang-data+xml" or "application/yang-data+json".
Plain patch can be used to create or update, but not delete, a child resource within the target resource. If the target resource represents a YANG leaf-list, then the PATCH method MUST NOT change the value of the leaf-list instance.
If the target resource represents a YANG list instance, then the key leaf values, in message-body representation, MUST be the same as the key leaf values in the request URI. The PATCH method MUST NOT be used to change the key leaf values for a data resource instance.
After the plain patch is processed by the server, a response will be returned to the client.
To replace just the "year" field in the "album" resource (instead of replacing the entire resource with the PUT method), the client might send a plain patch as follows:
PATCH /restconf/data/example-jukebox:jukebox/\ library/artist=Foo%20Fighters/album=Wasting%20Light HTTP/1.1 Host: example.com If-Match: "b8389233a4c" Content-Type: application/yang-data+xml <album xmlns="http://example.com/ns/example-jukebox"> <year>2011</year> </album>
If the field is updated, the server might respond as follows:
HTTP/1.1 204 No Content Date: Thu, 26 Jan 2017 20:56:30 GMT Server: example-server Last-Modified: Thu, 26 Jan 2017 20:56:30 GMT ETag: "b2788923da4c"
Please see [YANG-Patch] for an alternate media type supporting the ability to delete child resources. The YANG Patch media type allows multiple sub-operations (e.g., "merge", "delete") within a single PATCH method.
For more details refer to RESTCONF [RFC8040]