Headless REST API endpoint
Disclaimer: This endpoint documentation is generated from the latest Sitevision version. It might differ from the actual Sitevision environment where your website resides.
Use the RestApi utility of the Public API for server-side access of this endpoint.
Headless
Provides a Headless representation of the given node.
Applicable to: sv:sitePage, sv:page, sv:article, sv:structurePage, sv:collaborationGroupPage, sv:archive, sv:folder, sv:structureFolder, sv:collaborationGroupFolder, sv:template, sv:collaborationGroupTemplate, sv:portlet.
Headless is a compound endpoint
The Headless endpoint is a convenience compound endpoint. It lets you retrieve comprehensive data about a node and its children in a single request, eliminating the need to call multiple endpoints.
The response is a JSON object with three main sections: properties, nodes, and contentNodes. Each section corresponds to data provided by a separate endpoint:
-
properties — from the
Propertiesendpoint -
nodes — from the
Nodesendpoint -
contentNodes — from the
ContentNodesendpoint
If you only need a subset of this data, consider using the individual endpoints directly to avoid retrieving unnecessary information.
GET
Returns an object with data about the given node.
Requires that the caller is authorized to READ the node.
| Name | Type | Default | Values | Description | Since |
|---|---|---|---|---|---|
| includes | array |
An array of node types to include in the result | |||
| excludes | array |
["sv:pageContent", "sv:ratingRepository", "sv:metadataDefinitionRepository", "sv:collaborationGroup"] | An array of node types to exclude from the result | ||
| skip | number |
0 | Skips leading number of children | ||
| limit | number |
100 000 | Limits number of children to return | ||
| properties | array |
An array of properties to return. If omitted all properties are returned. | |||
| includeContent | boolean |
false |
Specifies if contentNodes should be included for sub nodes. | ||
| includeLinkedContent | boolean |
false |
Specifies if contentNodes from linked portlets/layouts should be included for sub nodes. | ||
| textPortletFormat | String |
PLAIN | PLAIN, JSON, MARKDOWN | The data format for text portlets in the returned result. (MARKDOWN since 2025.07.1) | 10 |
Example input
{
"properties": ["lastPublishDate", "publishedBy"],
"limit": 2
}
Example response
{
"properties": {
"lastPublishDate": 1588163955210,
"publishedBy": {
"id": "247.636e3d6a6f686e646f652c64633d73697465766973696f6e2c64633d7365",
"type": "sv:user",
"properties": {
"mail": "john.doe@example.com",
"displayName": "John Doe"
}
}
},
"nodes": [
{
"id": "4.1013759e171c5e52f2b16",
"type": "sv:page",
"name": "Sub page - 1",
"path": "/Externwebb/Page Repository/Site Page/Ny sida/New page/Sub page - 1",
"properties": {
"lastPublishDate": 1588163955721,
"publishedBy": {
"id": "247.636e3d6a6f686e646f652c64633d73697465766973696f6e2c64633d7365",
"type": "sv:user",
"properties": {
"mail": "john.doe@example.com",
"displayName": "John Doe"
}
}
}
},
{
"id": "4.1013759e171c5e52f2b22",
"type": "sv:page",
"name": "Sub page - 2",
"path": "/Externwebb/Page Repository/Site Page/Ny sida/New page/Sub page - 2",
"properties": {
"lastPublishDate": 1588163955419,
"publishedBy": {
"id": "247.636e3d6a6f686e646f652c64633d73697465766973696f6e2c64633d7365",
"type": "sv:user",
"properties": {
"mail": "john.doe@example.com",
"displayName": "John Doe"
}
}
}
}
],
"contentNodes": [
{
"type": "text",
"name": "Rubrik",
"contentIdentifier": "heading",
"properties": {
"textContent": "New page"
}
},
{
"type": "text",
"name": "Ingress",
"contentIdentifier": "summary",
"properties": {
"textContent": "Sjö bäckasiner vemod och dimma rot och oss se sin där tidigare dag, från tiden dunge annat bra sax samma sax plats groda erfarenheter. Det år olika i hav sällan mot tidigare från, miljoner där sig denna bäckasiner som rännil."
}
},
{
"type": "image",
"name": "Bild",
"properties": {
"image": {
"displayName": "höst.png",
"alt": "Väg i skogen och det är höst",
"mimeType": "image/png",
"URI": "/images/18.27f1fe4c168c1d8175137f6d/1557748066212/ho%CC%88st.png",
"URL": "http://leaf.sitevision.net/images/18.27f1fe4c168c1d8175137f6d/1557748066212/ho%CC%88st.png",
"id": "18.27f1fe4c168c1d8175137f6d",
"caption": "Hösten är en underbar årstid"
}
}
},
{
"type": "text",
"name": "Text",
"properties": {
"textContent": "Att ser nya det sin faktor bland vid och, regn tre fram vid dock olika del tre göras, trevnadens som tid räv gör sin att. Tre miljoner så om ska ta hav dag på, tre strand bland samtidigt för sig ingalunda, gör bra dimma omfångsrik sjö verkligen se. Att annat mot hans samma där icke varit jäst lax samtidigt från, dimmhöljd är färdväg vidsträckt tiden vi ingalunda och jäst lax. Stora för stig är som stora gör tre när faktor där redan brunsås verkligen, ännu färdväg där hela fram hav dimmhöljd där hans bland åker mot. Sista smultron denna söka brunsås åker bra tre åker, där se kan plats träutensilierna har icke, plats dimma genom ser samma sax hans. Dunge nu som träutensilierna oss på det, dunge ska där ingalunda dag, inom dag rot hav del."
}
}
]
}
Example input
{
"properties": ["lastPublishDate", "publishedBy"],
"limit": 2,
"textPortletFormat": "JSON"
}
Example response
{
"properties": {
"lastPublishDate": 1588163955210,
"publishedBy": {
"id": "247.636e3d6a6f686e646f652c64633d73697465766973696f6e2c64633d7365",
"type": "sv:user",
"properties": {
"mail": "john.doe@example.com",
"displayName": "John Doe"
}
}
},
"nodes": [
{
"id": "4.1013759e171c5e52f2b17",
"type": "sv:page",
"name": "Page",
"path": "/Externwebb/Page Repository/Site Page/Ny sida/New page/Sub page - 1",
"properties": {
"lastPublishDate": 1588163955721,
"publishedBy": {
"id": "247.636e3d6a6f686e646f652c64633d73697465766973696f6e2c64633d7365",
"type": "sv:user",
"properties": {
"mail": "john.doe@example.com",
"displayName": "John Doe"
}
}
}
},
{
"id": "4.1013759e171c5e52f2b23",
"type": "sv:page",
"name": "Page 2",
"path": "/Externwebb/Page Repository/Site Page/Ny sida/New page/Page 2",
"properties": {
"lastPublishDate": 1588163955419,
"publishedBy": {
"id": "247.636e3d6a6f686e646f652c64633d73697465766973696f6e2c64633d7365",
"type": "sv:user",
"properties": {
"mail": "john.doe@example.com",
"displayName": "John Doe"
}
}
}
}
],
"contentNodes": [
{
"type": "text",
"name": "Text",
"properties": {
"textContent": [
{
"type": "block",
"htmlName": "h1",
"attributes": {},
"children": [
{
"type": "text",
"content": "Heading"
}
]
},
{
"type": "block",
"htmlName": "p",
"attributes": {},
"children": [
{
"type": "text",
"content": "Lorem ipsum dolor sit amet"
}
]
},
{
"type": "block",
"htmlName": "h2",
"attributes": {},
"children": [
{
"type": "text",
"content": "Heading 2"
}
]
},
{
"type": "block",
"htmlName": "p",
"attributes": {},
"children": [
{
"type": "text",
"content": "Lorem ipsum "
},
{
"type": "inline",
"htmlName": "a",
"attributes": {
"href": "https://sitevision.se"
},
"children": [
{
"type": "text",
"content": "www.sitevision.se"
}
]
}
]
}
]
}
}
]
}
JSON text portlet format node types
// Block
{
"type": "block",
"htmlName": "p", // hx, ul, ol, blockquote, table
"attributes": {},
"children": [...]
}
// Inline
{
"type": "inline",
"htmlName": "a", // em, strong, q, code, sub, sup, span, abbr, li, td...
"attributes": {
"href": "https://sitevision.se"
}
"children": [...]
}
// Text (always a child)
{
"type": "text",
"content": "Hello"
}
// Line break (always a child)
{
"type": "lineBreak",
"htmlName": "br"
}