Create relationships between a hierarchy and child nodes
POSThttps://euwest.api.elasticpath.com/pcm/hierarchies/:hierarchyID/relationships/children
Use this endpoint to create relationships between a hierarchy and one or more child nodes. You can create a relationship only if:
- All child nodes already exist.
- Every child node in the request body must belong to this hierarchy.
- All siblings in a hierarchy must have a unique
name
andslug
. 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 Hierarchy’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 hierarchy (Hierarchy A) with a newsort_order
, thesort_order
you specified when creating\updating Node A is overwritten. - If you create\update Node A and then you create a relationship with Hierarchy A 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 hierarchy
Forbidden
Bad Request. Not Found.
Bad request. The request failed validation.
Internal server error. There was a system failure in the platform.
Authorization: http
name: bearerAuthtype: httpscheme: bearer
- csharp
- curl
- dart
- go
- http
- java
- javascript
- kotlin
- c
- nodejs
- objective-c
- ocaml
- php
- powershell
- python
- r
- ruby
- rust
- shell
- swift
- HTTPCLIENT
- RESTSHARP
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://euwest.api.elasticpath.com/pcm/hierarchies/:hierarchyID/relationships/children");
request.Headers.Add("Accept", "application/json");
request.Headers.Add("Authorization", "Bearer <token>");
var content = new StringContent("{\n \"data\": [\n {\n \"id\": \"00000000-0000-0000-0000-000000000000\",\n \"type\": \"node\"\n }\n ]\n}", null, "application/json");
request.Content = content;
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());