# Sitemap operations

Sitefinity’s OData web services expose a single endpoint that allows querying data from Sitefinity CMS sitemap. Such data can be used to construct navigation widgets. The navigation widget in Sitefinity ASP.NET Core renderer uses this endpoint.

> **IMPORTANT**: The following endpoint is designed to support ASP.NET Core development only. You cannot use the endpoint for MVC development.\
> For a comparison on using ASP.NET Core vs using MVC framework, see [Development comparison](https://www.progress.com/documentation/sitefinity-cms/mvc-or-.net-frontend---a-comparison).

> info **NOTE**: This endpoint does not require authentication.

To use the endpoint, execute a `POST` request to the following endpoint:

`{baseurl}/api/default/pages/Default.HierarhicalByLevelsResponse()`

**Sample request**

> success  **POST** `http://mysite.com/api/default/pages/Default.HierarhicalByLevelsResponse()`

**Sample response**

<SfDetails summary="Status code: 200 OK">

```JSON
{
    "@odata.context": "http://mysite.com/api/default/$metadata#Collection(Telerik.Sitefinity.Web.Api.OData.Operations.Pages.FrontendPageNodeExtended)",
    "value": [
        {
            "Key": "45B8578A-0184-456C-9F0D-68843DF4AF64",
            "Title": "Home",
            "Url": "/home",
            "LinkTarget": "_self",
            "IsCurrentlyOpened": false,
            "HasChildOpen": false,
            "PageSiteMapNode": {
                "Id": "45b8578a-0184-456c-9f0d-68843df4af64",
                "ParentId": "f669d9a7-009d-4d83-ddaa-000000000002",
                "Title": "Home",
                "HasChildren": false,
                "AvailableLanguages": [
                    "en"
                ],
                "BreadCrumb": [],
                "IsHomePage": false,
                "ViewUrl": "http://mysite.com/home",
                "PageType": "Standard",
                "Children": []
            },
            "ChildNodes": []
        },
        {
            "Key": "BA39D1F5-8FF7-44F7-A3B3-80CED77C63A3",
            "Title": "About us",
            "Url": "/about-us",
            "LinkTarget": "_self",
            "IsCurrentlyOpened": false,
            "HasChildOpen": false,
            "PageSiteMapNode": {
                "Id": "ba39d1f5-8ff7-44f7-a3b3-80ced77c63a3",
                "ParentId": "f669d9a7-009d-4d83-ddaa-000000000002",
                "Title": "About us",
                "HasChildren": false,
                "AvailableLanguages": [
                    "en"
                ],
                "BreadCrumb": [],
                "IsHomePage": false,
                "ViewUrl": "http://mysite.com/about-us",
                "PageType": "Standard",
                "Children": []
            },
            "ChildNodes": []
        },
        {
            "Key": "B5CB445C-BB30-4169-9476-422A1DAF3DF5",
            "Title": "Services",
            "Url": "/services",
            "LinkTarget": "_self",
            "IsCurrentlyOpened": false,
            "HasChildOpen": false,
            "PageSiteMapNode": {
                "Id": "b5cb445c-bb30-4169-9476-422a1daf3df5",
                "ParentId": "f669d9a7-009d-4d83-ddaa-000000000002",
                "Title": "Services",
                "HasChildren": true,
                "AvailableLanguages": [
                    "en"
                ],
                "BreadCrumb": [],
                "IsHomePage": false,
                "ViewUrl": "http://mysite.com/services",
                "PageType": "Standard",
                "Children": []
            },
            "ChildNodes": [
                {
                    "Key": "D9748465-F383-4003-8024-D76EA0FBAE9D",
                    "Title": "Developing software",
                    "Url": "/services/developing-software",
                    "LinkTarget": "_self",
                    "IsCurrentlyOpened": false,
                    "HasChildOpen": false,
                    "PageSiteMapNode": {
                        "Id": "d9748465-f383-4003-8024-d76ea0fbae9d",
                        "ParentId": "b5cb445c-bb30-4169-9476-422a1daf3df5",
                        "Title": "Developing software",
                        "HasChildren": false,
                        "AvailableLanguages": [
                            "en"
                        ],
                        "BreadCrumb": [
                            "Services"
                        ],
                        "IsHomePage": false,
                        "ViewUrl": "http://mysite.com/services/developing-software",
                        "PageType": "Standard",
                        "Children": []
                    },
                    "ChildNodes": []
                },
                {
                    "Key": "2B49EE1F-698C-43C1-AEC3-6EF684D40C7D",
                    "Title": "Professional services",
                    "Url": "/services/professional-services",
                    "LinkTarget": "_self",
                    "IsCurrentlyOpened": false,
                    "HasChildOpen": false,
                    "PageSiteMapNode": {
                        "Id": "2b49ee1f-698c-43c1-aec3-6ef684d40c7d",
                        "ParentId": "b5cb445c-bb30-4169-9476-422a1daf3df5",
                        "Title": "Professional services",
                        "HasChildren": true,
                        "AvailableLanguages": [
                            "en"
                        ],
                        "BreadCrumb": [
                            "Services"
                        ],
                        "IsHomePage": false,
                        "ViewUrl": "http://mysite.com/services/professional-services",
                        "PageType": "Standard",
                        "Children": []
                    },
                    "ChildNodes": [
                        {
                            "Key": "66F9855E-C096-4F79-A591-4F334BFD9845",
                            "Title": "Schedule a call",
                            "Url": "/services/professional-services/schedule-a-call",
                            "LinkTarget": "_self",
                            "IsCurrentlyOpened": false,
                            "HasChildOpen": false,
                            "PageSiteMapNode": {
                                "Id": "66f9855e-c096-4f79-a591-4f334bfd9845",
                                "ParentId": "2b49ee1f-698c-43c1-aec3-6ef684d40c7d",
                                "Title": "Schedule a call",
                                "HasChildren": false,
                                "AvailableLanguages": [
                                    "en"
                                ],
                                "BreadCrumb": [
                                    "Services",
                                    "Professional services"
                                ],
                                "IsHomePage": false,
                                "ViewUrl": "http://mysite.com/services/professional-services/schedule-a-call",
                                "PageType": "Standard",
                                "Children": []
                            },
                            "ChildNodes": []
                        }
                    ]
                },
                {
                    "Key": "3F93F325-6F8E-40AE-8E89-1AB7029631C1",
                    "Title": "Developer Support",
                    "Url": "/services/developer-support",
                    "LinkTarget": "_self",
                    "IsCurrentlyOpened": false,
                    "HasChildOpen": false,
                    "PageSiteMapNode": {
                        "Id": "3f93f325-6f8e-40ae-8e89-1ab7029631c1",
                        "ParentId": "b5cb445c-bb30-4169-9476-422a1daf3df5",
                        "Title": "Developer Support",
                        "HasChildren": false,
                        "AvailableLanguages": [
                            "en"
                        ],
                        "BreadCrumb": [
                            "Services"
                        ],
                        "IsHomePage": false,
                        "ViewUrl": "http://mysite.com/services/developer-support",
                        "PageType": "Standard",
                        "Children": []
                    },
                    "ChildNodes": []
                }
            ]
        }
    ]
}

```

</SfDetails>

There are query parameters that can be added to this request. For example:

* `selectionModeString`can have one of the following values:
  * `TopLevelPages`\
    This will force the request to take only the root level pages’ data. This is the default case.
  * `SelectedPages` works in conjunction with `selectedPages` to take only the explicitly stated pages’ data.
  * `CurrentPageSiblings` works in conjunction with `sf_page_node`.\
    It returns only the data for the sibling pages of the currently targeted page by the `sf_page_node` parameter.
  * `CurrentPageChildren` works in conjunction with `sf_page_node`.\
    It returns only the data for the child pages of the currently targeted page by the `sf_page_node` parameter.
  * `SelectedPageChildren` works in conjunction with `selectedPageId`.\
    It returns only the data for the child pages of the currently targeted page by the selectedPageId parameter.
* `showParentPage` shows information about the parent page.\
  This parameters is a `Boolean`.
* `selectedPageId` returns the `GUID` of a page node.
* `selectedPages` returns the `GUID` array of page node IDs.
* `sf_page_node` returns the `GUID` of a page node.

The following example uses some of the above query parameters:

**Sample request (with query parameters)**

> success  **POST** `http://mysite.com/api/default/pages/Default.HierarhicalByLevelsResponse()?selectionModeString=SelectedPages&showParentPage=False&selectedPageId=00000000-0000-0000-0000-000000000000&selectedPages=["b5cb445c-bb30-4169-9476-422a1daf3df5","45b8578a-0184-456c-9f0d-68843df4af64","882c78d7-dc3a-4934-998f-2eeae074459f"]&sf_page_node=882c78d7-dc3a-4934-998f-2eeae074459f`

**Sample response**

<SfDetails summary="Status code: 200 OK">

```JSON
{
    "@odata.context": "http://mysite.com/api/default/$metadata#Collection(Telerik.Sitefinity.Web.Api.OData.Operations.Pages.FrontendPageNodeExtended)",
    "value": [
        {
            "Key": "B5CB445C-BB30-4169-9476-422A1DAF3DF5",
            "Title": "Services",
            "Url": "/services",
            "LinkTarget": "_self",
            "IsCurrentlyOpened": false,
            "HasChildOpen": false,
            "PageSiteMapNode": {
                "Id": "b5cb445c-bb30-4169-9476-422a1daf3df5",
                "ParentId": "f669d9a7-009d-4d83-ddaa-000000000002",
                "Title": "Services",
                "HasChildren": true,
                "AvailableLanguages": [
                    "en"
                ],
                "BreadCrumb": [],
                "IsHomePage": false,
                "ViewUrl": "http://mysite.com/services",
                "PageType": "Standard",
                "Children": []
            },
            "ChildNodes": [
                {
                    "Key": "D9748465-F383-4003-8024-D76EA0FBAE9D",
                    "Title": "Developing software",
                    "Url": "/services/developing-software",
                    "LinkTarget": "_self",
                    "IsCurrentlyOpened": false,
                    "HasChildOpen": false,
                    "PageSiteMapNode": {
                        "Id": "d9748465-f383-4003-8024-d76ea0fbae9d",
                        "ParentId": "b5cb445c-bb30-4169-9476-422a1daf3df5",
                        "Title": "Developing software",
                        "HasChildren": false,
                        "AvailableLanguages": [
                            "en"
                        ],
                        "BreadCrumb": [
                            "Services"
                        ],
                        "IsHomePage": false,
                        "ViewUrl": "http://mysite.com/services/developing-software",
                        "PageType": "Standard",
                        "Children": []
                    },
                    "ChildNodes": []
                },
                {
                    "Key": "2B49EE1F-698C-43C1-AEC3-6EF684D40C7D",
                    "Title": "Professional services",
                    "Url": "/services/professional-services",
                    "LinkTarget": "_self",
                    "IsCurrentlyOpened": false,
                    "HasChildOpen": false,
                    "PageSiteMapNode": {
                        "Id": "2b49ee1f-698c-43c1-aec3-6ef684d40c7d",
                        "ParentId": "b5cb445c-bb30-4169-9476-422a1daf3df5",
                        "Title": "Professional services",
                        "HasChildren": true,
                        "AvailableLanguages": [
                            "en"
                        ],
                        "BreadCrumb": [
                            "Services"
                        ],
                        "IsHomePage": false,
                        "ViewUrl": "http://mysite.com/services/professional-services",
                        "PageType": "Standard",
                        "Children": []
                    },
                    "ChildNodes": [
                        {
                            "Key": "66F9855E-C096-4F79-A591-4F334BFD9845",
                            "Title": "Schedule a call",
                            "Url": "/services/professional-services/schedule-a-call",
                            "LinkTarget": "_self",
                            "IsCurrentlyOpened": false,
                            "HasChildOpen": false,
                            "PageSiteMapNode": {
                                "Id": "66f9855e-c096-4f79-a591-4f334bfd9845",
                                "ParentId": "2b49ee1f-698c-43c1-aec3-6ef684d40c7d",
                                "Title": "Schedule a call",
                                "HasChildren": false,
                                "AvailableLanguages": [
                                    "en"
                                ],
                                "BreadCrumb": [
                                    "Services",
                                    "Professional services"
                                ],
                                "IsHomePage": false,
                                "ViewUrl": "http://mysite.com/services/professional-services/schedule-a-call",
                                "PageType": "Standard",
                                "Children": []
                            },
                            "ChildNodes": []
                        }
                    ]
                },
                {
                    "Key": "3F93F325-6F8E-40AE-8E89-1AB7029631C1",
                    "Title": "Developer Support",
                    "Url": "/services/developer-support",
                    "LinkTarget": "_self",
                    "IsCurrentlyOpened": false,
                    "HasChildOpen": false,
                    "PageSiteMapNode": {
                        "Id": "3f93f325-6f8e-40ae-8e89-1ab7029631c1",
                        "ParentId": "b5cb445c-bb30-4169-9476-422a1daf3df5",
                        "Title": "Developer Support",
                        "HasChildren": false,
                        "AvailableLanguages": [
                            "en"
                        ],
                        "BreadCrumb": [
                            "Services"
                        ],
                        "IsHomePage": false,
                        "ViewUrl": "http://mysite.com/services/developer-support",
                        "PageType": "Standard",
                        "Children": []
                    },
                    "ChildNodes": []
                }
            ]
        },
        {
            "Key": "45B8578A-0184-456C-9F0D-68843DF4AF64",
            "Title": "Home",
            "Url": "/home",
            "LinkTarget": "_self",
            "IsCurrentlyOpened": false,
            "HasChildOpen": false,
            "PageSiteMapNode": {
                "Id": "45b8578a-0184-456c-9f0d-68843df4af64",
                "ParentId": "f669d9a7-009d-4d83-ddaa-000000000002",
                "Title": "Home",
                "HasChildren": false,
                "AvailableLanguages": [
                    "en"
                ],
                "BreadCrumb": [],
                "IsHomePage": false,
                "ViewUrl": "http://mysite.com/home",
                "PageType": "Standard",
                "Children": []
            },
            "ChildNodes": []
        },
        {
            "Key": "882C78D7-DC3A-4934-998F-2EEAE074459F",
            "Title": "dotNetCoreRenderer",
            "Url": "/dotnetcorerenderer",
            "LinkTarget": "_self",
            "IsCurrentlyOpened": true,
            "HasChildOpen": false,
            "PageSiteMapNode": {
                "Id": "882c78d7-dc3a-4934-998f-2eeae074459f",
                "ParentId": "f669d9a7-009d-4d83-ddaa-000000000002",
                "Title": "dotNetCoreRenderer",
                "HasChildren": false,
                "AvailableLanguages": [
                    "en"
                ],
                "BreadCrumb": [],
                "IsHomePage": false,
                "ViewUrl": "http://mysite.com/dotnetcorerenderer",
                "PageType": "Standard",
                "Children": []
            },
            "ChildNodes": []
        }
    ]
}
```

</SfDetails>
