Nodes API

This page describes the nodes API, which can be used to access and manipulate JCR nodes.

The Nodes API is best used as a content management API. For content delivery, we recommend using our Delivery API.

GET

Returns a node from the specified workspace and path.

Request URL

/.rest/nodes/v1/{workspace}/{path}

Parameters

Parameter Description Type Data Type

workspace

required

The name of the workspace.

path

String

path

optional, default is /

The absolute path to the node within the workspace.

path

String

depth

optional, default is 0

The depth of child nodes to be included. 0 is just the node itself. 1 is the node and its children etc.

query

Integer

excludeNodeTypes

optional

A list of node types to be excluded.

query

String

includeMetadata

optional, default is false

If set to true, the result will contain metadata properties.

query

boolean

Example

Read the content of the /travel/about/company node from the website workspace including the metadata.

  • Get JSON

  • Get XML

curl -X GET 'http://localhost:8080/magnoliaAuthor/.rest/nodes/v1/website/travel/about/company?includeMetadata=true' \
-u superuser:superuser

Response

{
  "name": "company",
  "type": "mgnl:page",
  "path": "/travel/about/company",
  "identifier": "8fa4a73f-51c3-40ac-b698-715595216186",
  "properties": [
    {
      "name": "jcr:createdBy",
      "type": "String",
      "multiple": false,
      "values": [
        "admin"
      ]
    },
    {
      "name": "hideInNav",
      "type": "Boolean",
      "multiple": false,
      "values": [
        "false"
      ]
    },
    {
      "name": "mgnl:template",
      "type": "String",
      "multiple": false,
      "values": [
        "travel-demo:pages/standard"
      ]
    },
    {
      "name": "mgnl:lastActivatedBy",
      "type": "String",
      "multiple": false,
      "values": [
        "superuser"
      ]
    },
    {
      "name": "jcr:created",
      "type": "Date",
      "multiple": false,
      "values": [
        "2017-10-23T14:27:09.873+02:00"
      ]
    },
    {
      "name": "mgnl:lastActivated",
      "type": "Date",
      "multiple": false,
      "values": [
        "2017-10-23T14:27:13.852+02:00"
      ]
    },
    {
      "name": "mgnl:created",
      "type": "Date",
      "multiple": false,
      "values": [
        "2015-02-02T20:45:27.224+01:00"
      ]
    },
    {
      "name": "mgnl:createdBy",
      "type": "String",
      "multiple": false,
      "values": [
        "superuser"
      ]
    },
    {
      "name": "jcr:uuid",
      "type": "String",
      "multiple": false,
      "values": [
        "8fa4a73f-51c3-40ac-b698-715595216186"
      ]
    },
    {
      "name": "title",
      "type": "String",
      "multiple": false,
      "values": [
        "Our Company"
      ]
    },
    {
      "name": "title_de",
      "type": "String",
      "multiple": false,
      "values": [
        "Unser Unternehmen"
      ]
    },
    {
      "name": "mgnl:lastModified",
      "type": "Date",
      "multiple": false,
      "values": [
        "2015-10-27T13:48:35.936+01:00"
      ]
    },
    {
      "name": "mgnl:activationStatus",
      "type": "Boolean",
      "multiple": false,
      "values": [
        "true"
      ]
    },
    {
      "name": "jcr:primaryType",
      "type": "Name",
      "multiple": false,
      "values": [
        "mgnl:page"
      ]
    },
    {
      "name": "mgnl:lastModifiedBy",
      "type": "String",
      "multiple": false,
      "values": [
        "superuser"
      ]
    }
  ],
  "nodes": null
}
curl -X GET 'http://localhost:8080/magnoliaAuthor/.rest/nodes/v1/website/travel/about/company?includeMetadata=true' \
-u superuser:superuser -H "Accept: application/xml"

Response

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<node>
  <identifier>8fa4a73f-51c3-40ac-b698-715595216186</identifier>
  <name>company</name>
  <path>/travel/about/company</path>
  <properties>
    <property>
      <multiple>false</multiple>
      <name>jcr:createdBy</name>
      <type>String</type>
      <values>
        <value>admin</value>
      </values>
    </property>
    <property>
      <multiple>false</multiple>
      <name>hideInNav</name>
      <type>Boolean</type>
      <values>
        <value>false</value>
      </values>
    </property>
    <property>
      <multiple>false</multiple>
      <name>mgnl:template</name>
      <type>String</type>
      <values>
        <value>travel-demo:pages/standard</value>
      </values>
    </property>
    <property>
      <multiple>false</multiple>
      <name>mgnl:lastActivatedBy</name>
      <type>String</type>
      <values>
        <value>superuser</value>
      </values>
    </property>
    <property>
      <multiple>false</multiple>
      <name>jcr:created</name>
      <type>Date</type>
      <values>
        <value>2017-10-23T14:27:09.873+02:00</value>
      </values>
    </property>
    <property>
      <multiple>false</multiple>
      <name>mgnl:lastActivated</name>
      <type>Date</type>
      <values>
        <value>2017-10-23T14:27:13.852+02:00</value>
      </values>
    </property>
    <property>
      <multiple>false</multiple>
      <name>mgnl:created</name>
      <type>Date</type>
      <values>
        <value>2015-02-02T20:45:27.224+01:00</value>
      </values>
    </property>
    <property>
      <multiple>false</multiple>
      <name>mgnl:createdBy</name>
      <type>String</type>
      <values>
        <value>superuser</value>
      </values>
    </property>
    <property>
      <multiple>false</multiple>
      <name>jcr:uuid</name>
      <type>String</type>
      <values>
        <value>8fa4a73f-51c3-40ac-b698-715595216186</value>
      </values>
    </property>
    <property>
      <multiple>false</multiple>
      <name>title</name>
      <type>String</type>
      <values>
        <value>Our Company</value>
      </values>
    </property>
    <property>
      <multiple>false</multiple>
      <name>title_de</name>
      <type>String</type>
      <values>
        <value>Unser Unternehmen</value>
      </values>
    </property>
    <property>
      <multiple>false</multiple>
      <name>mgnl:lastModified</name>
      <type>Date</type>
      <values>
        <value>2015-10-27T13:48:35.936+01:00</value>
      </values>
    </property>
    <property>
      <multiple>false</multiple>
      <name>mgnl:activationStatus</name>
      <type>Boolean</type>
      <values>
        <value>true</value>
      </values>
    </property>
    <property>
      <multiple>false</multiple>
      <name>jcr:primaryType</name>
      <type>Name</type>
      <values>
        <value>mgnl:page</value>
      </values>
    </property>
    <property>
      <multiple>false</multiple>
      <name>mgnl:lastModifiedBy</name>
      <type>String</type>
      <values>
        <value>superuser</value>
      </values>
    </property>
  </properties>
  <type>mgnl:page</type>
</node>

PUT

Creates a new node and adds the properties passed in the request.

You can add only one node per request. You cannot PUT nested nodes.

Request URL

/.rest/nodes/v1/{workspace}/{path}

Parameters

Parameter Description Type Data Type

workspace

required

The name of the workspace to add a node to.

path

String

path

optional, default is /

The absolute parent path of the new node.

path

String

body

required

Request body format: JSON (default) or XML.

body

String

Example 1: Create a new page

Create a new page called /travel/hello (add a new node to the website workspace).

  • Put JSON

  • Put XML

curl http://localhost:8080/magnoliaAuthor/.rest/nodes/v1/website/travel \
-H "Content-Type: application/json" \
-X PUT -i \ (1)
--user superuser:superuser \
--data \
'{
  "name": "hello",
  "type": "mgnl:page",
  "path": "/travel/hello",
  "properties": [
    {
      "name": "title",
      "type": "String",
      "multiple": false,
      "values": [
        "Hello REST"
      ]
    },
    {
      "name": "mgnl:template",
      "type": "String",
      "multiple": false,
      "values": [
        "travel-demo:pages/standard"
      ]
    }
   ]
}'
1 Use the -i option with cURL to show the HTTP response headers.
curl http://localhost:8080/magnoliaAuthor/.rest/nodes/v1/website/travel \
-H "Content-Type: application/xml" \
-X PUT -i \ (1)
--user superuser:superuser \
--data \
'<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<node>
  <name>hello</name>
  <path>/travel/hello</path>
  <properties>
    <property>
      <multiple>false</multiple>
      <name>mgnl:template</name>
      <type>String</type>
      <values>
        <value>travel-demo:pages/standard</value>
      </values>
    </property>
    <property>
      <multiple>false</multiple>
      <name>title</name>
      <type>String</type>
      <values>
        <value>Hello REST</value>
      </values>
    </property>
  </properties>
  <type>mgnl:page</type>
</node>'
1 Use the -i option with cURL to show the HTTP response headers.

Example 2: Create a component in an area

After creating the new hello page using the above PUT request, you can also create a textImage component in the main area of /travel/hello/.

curl http://localhost:8080/magnoliaAuthor/.rest/nodes/v1/website/travel/hello/main \
-H "Content-Type: application/json" \
-X PUT -i \
--user superuser:superuser \
--data \
'{
    "name": "0",
    "type": "mgnl:component",
    "path": "/travel/hello/main/0",
    "properties": [
        {
            "name": "headline",
            "type": "String",
            "multiple": false,
            "values": [
                "Hello REST"
            ]
        },
        {
            "name": "mgnl:template",
            "type": "String",
            "multiple": false,
            "values": [
            "travel-demo:components/textImage"
            ]
        }
    ]
}'

Example 3: Creating an asset in the dam workspace

Before uploading an asset, make sure that the role assigned to the uploading user grants appropriate permissions. For the below example, you’d need to allow uploading data for the /.rest/nodes/v1/dam* path pattern in the dam workspace.

Now create a new PNG asset called logo by issuing PUT requests to the nodes endpoint. This requires two REST calls:

  • The first call creates an asset node.

  • The second call adds binary data.

To upload the binary asset data, you must convert it into a String. When working with JSON, Base64 is a good format.

Create an asset node

curl http://localhost:8080/magnoliaAuthor/.rest/nodes/v1/dam \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -X PUT \
  --user superuser:superuser \
  --data \
'{
  "name": "logo",
  "type": "mgnl:asset",
  "path": "/logo",
  "properties": [
    {
      "name": "type",
      "type": "String",
      "multiple": false,
      "values": [
        "png"
      ]
    },
    {
      "name": "name",
      "type": "String",
      "multiple": false,
      "values": [
        "logo"
      ]
    },
    {
      "name": "type",
      "type": "String",
      "multiple": false,
      "values": [
        "png"
      ]
    }
  ]
}'

Add binary data

curl http://localhost:8080/magnoliaAuthor/.rest/nodes/v1/dam/logo \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -X PUT \
  --user superuser:superuser \
  --data \
'{
  "name": "jcr:content",
  "type": "mgnl:resource",
  "path": "/logo/jcr:content",
  "properties": [
    {
      "name": "jcr:data",
      "type": "Binary",
      "multiple": false,
      "values": [ "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" ]
    },
    {
      "name": "height",
      "type": "Long",
      "multiple": false,
      "values": [
        "5"
      ]
    },
    {
      "name": "width",
      "type": "Long",
      "multiple": false,
      "values": [
        "5"
      ]
    },
    {
      "name": "extension",
      "type": "String",
      "multiple": false,
      "values": [
        "png"
      ]
    },
    {
      "name": "fileName",
      "type": "String",
      "multiple": false,
      "values": [
        "logo.png"
      ]
    },
    {
      "name": "jcr:mimeType",
      "type": "String",
      "multiple": false,
      "values": [
        "image/png"
      ]
    }
  ]
}'

POST

Updates a node by adding the properties passed in the request. The method is changing only the properties passed with the response body. Other existing properties and subnodes are not affected.

Request URL

/.rest/nodes/v1/{workspace}/{path}

Parameters

Parameter Description Type Data Type

workspace

required

The name of the workspace.

path

String

path

optional, default is /

The path of the node to be updated.

path

String

body

required

Request body format: JSON or XML.

body

String

Example

Update the title and hideInNav properties of the /travel/hello page.

  • Put JSON

  • Put XML

Post JSON
curl http://localhost:8080/magnoliaAuthor/.rest/nodes/v1/website/travel/hello \
-H "Content-Type: application/json" \
-X POST -i \
--user superuser:superuser \
--data \
'{
  "properties": [
    {
      "name": "title",
      "type": "String",
      "values": [
        "Hello REST updated"
      ]
    },
    {
      "name": "hideInNav",
      "type": "Boolean",
      "values": [
        true
      ]
    }
  ]
}'
curl http://localhost:8080/magnoliaAuthor/.rest/nodes/v1/website/travel/hello \
-H "Content-Type: application/xml" \
-X POST -i \
--user superuser:superuser \
--data \
'<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<node>
  <properties>
    <property>
      <multiple>false</multiple>
      <name>title</name>
      <type>String</type>
      <values>
        <value>Hello REST - updated with XML :-P</value>
      </values>
    </property>
    <property>
      <multiple>false</multiple>
      <name>hideInNav</name>
      <type>Boolean</type>
      <values>
        <value>true</value>
      </values>
    </property>
  </properties>
</node>'

DELETE

Deletes a node.

Request URL

/.rest/nodes/v1/{workspace}/{path}

Parameters

Parameter Description Type Data Type

workspace

required

The name of the workspace.

path

String

path

optional, default is /

The path of the node which you want to delete.

Always provide a path. If default / is used, this will delete all content of the given workspace.

path

String

Example

Delete the /destinations/polar node in the category workspace:

curl -X DELETE 'http://localhost:8080/magnoliaAuthor/.rest/nodes/v1/category/destinations/polar' \
-u superuser:superuser -i

The DELETE method is shown here for the sake of completeness only. If the content has already been published, applying this method is not a good idea.

In most of your cases you had better apply the chained command delete with the commands endpoint instead of directly deleting the nodes via the DELETE method.

Feedback

DX Core

×

Location

This widget lets you know where you are on the docs site.

You are currently perusing through the DX Core docs.

Main doc sections

DX Core Headless PaaS Legacy Cloud Incubator modules