PATCHes in request inclusion
When using request inclusion, you can PATCH both root and included resources.
When PATCHing root resources using request inclusion, payloads generally have similar structures to POST payloads. For more information on payload structures, see Syntax for simple parent/child relationships and Syntax for named relationships.
However, when PATCHing, the uri
field for included resources is treated
differently from POSTs.
The this
keyword is invalid when
PATCHing
this
keyword is a placeholder that is
only used when the id of the root resource has not yet been generated. If the root
resource is being PATCHed, its id has already been generated, so the use of
this
results in an error. PATCHing parent and POSTing child
Here is the basic syntax for PATCHing a parent and POSTing a child.
{
"data" : {
"attributes": {
...
}
},
"included": {
"<resourceType>": [
{
"attributes": {
...
},
"method": "post",
"uri": "/../<parentId>/<resourceType>"
}
]
}
}
PATCHing parent and PATCHing child
Here is the basic syntax for PATCHing a parent and PATCHing a child.
{
"data" : {
"attributes": {
...
}
},
"included": {
"<resourceType>": [
{
"attributes": {
...
},
"method": "patch",
"uri": "/../<childId>"
}
]
}
}
Note: The
uri
field may or may not include a
placeholder for the parent id. It depends on the structure of the endpoint the uri
is referencing. For example, if the children were a PATCHed contact on
an account and a PATCHed note, the
uri
fields would be:"uri": "/account/v1/accounts/<accountId>/contacts/<contactId>"
"uri": "/common/v1/notes/<noteId>"