Create relationships between a node and child nodes
POST/pcm/hierarchies/:hierarchyID/nodes/:nodeID/relationships/children
Use this endpoint to create relationships between a single parent node and one or more child nodes. You can create a relationship only if:
- The parent node already exists.
- All child nodes already exist.
- Every child node in the body of the request exists in the same hierarchy as the parent node.
- A node is not a parent of itself. An array of child nodes request body must not contain the ID of the parent node in the path.
- All siblings in a hierarchy must have a unique
slug
. Siblings are the child nodes that are related to the same parent.
Sort Order
You can also provide sort_order
information when you create a relationship by adding a meta
object to the array of node reference objects for each child node that requires sorting.
The node with the highest value of sort_order
appears at the top of the response. For example, a node with a sort_order
value of 3
appears before a node with a sort_order
value of 2
.
- If you don’t provide
sort_order
when creating relationships, all child nodes in the response for Get a Node’s Children request are ordered by theupdated_at
time in descending order. The most recently updated child node appears at the top of the response. - If you set
sort_order
for only a few child nodes or not all, the child nodes withsort_order
value appear first in the response and then other child nodes appear in the order ofupdated_at
time.
You can also specify a sort_order
when creating and updating a node.
- If you create or update a node (Node A) with a
sort_order
and then you create a relationship for Node A with another node (Node B), thesort_order
you specified when creating\updating Node A is overwritten. - If you create\update Node A and then you create a relationship with Node B but do not configure a
sort_order
, thesort_order
you specified when you created\updated Node A is not overwritten.
Request
Responses
- 200
- 403
- 404
- 422
- 500
Successfully returns the node's children
Forbidden
Bad Request. Not Found.
Bad request. The request failed validation.
Internal server error. There was a system failure in the platform.