Cobalt API references and documentation

1. OVERVIEW

The Site APIs is a way to get data in and out of Cobalt platform. It’s a low-level HTTP/JSON based API that you can use to query data in the site and build custom applications (e.g. mobile apps) on top of a site.

The Site APIs offer programmatic access to sites contents.

The API offers to developers the ability to read the site map, the contents and stories published on the site, and more. Responses are available in JSON.

2. USING THE REST APIS

The Site APIs are accessible from the "/api" path of your site and include the endpoints:

  • "/cache" to manage ContentData, NodeData and Generic caches,

  • "/nodes" to retrieve information about the site’s published nodes, including both content and hierarchical nodes,

  • "/pages" to retrieve aggregate pages,

  • "/publications" to access site publication data,

  • "/search" to query published content through powerful free text search,

  • "/site" to retrieve information about the site structure, its section and specific data of each site node,

  • "/themes" to list the themes available for your site,

  • "/urls" to eval urls for contents or, the other way around, resolve contents from their url.

The site module is capable of serving multiple sites on a single installation. Some of the APIs are dependent on the hostname (and the site) on the request uri, some others, such as the "themes" API are site independent.

3. ERRORS

3.1. Site not found

Code Description

404

You requested a site dependent API from a non existing site’s hostname

{
    "error": {
        "message": "Site not found for base uri 'http://localhost:8080'",
        "type": "ENTITY_NOT_FOUND"
    }
}

3.2. Section not found

Code Description

404

The requested section path does not exists.

{
    "error": {
        "message": "Section not found",
        "type": "ENTITY_NOT_FOUND"
    }
}

4. Endpoints

4.1. Cache

4.1.1. preload

POST /cache/contentData/preload

Preload ContentData cache from previous cache version. When one of 'PortalCodeVersionTimestamp' and 'CustomerCodeVersionTimestamp' constants is increased all the existing cache entries are not visible for the new version. That’s because both constants are part of any cache ID. This allows different servers to run different Cobalt versions without corrupting each other’s cache. This method preload the ContentData cache for the new version by reloading all the existing ContentData cache entries.

Description
Parameters
Query Parameters
Name Description Required Default Pattern

previousPortalCodeVersionTimestamp

PortalCodeVersionTimestamp of the cache entries to be reloaded

X

null

previousCustomerCodeVersionTimestamp

CustomerCodeVersionTimestamp of the cache entries to be reloaded

X

null

Return Type

-

Content Type
  • application/json

Responses
Table 1. http response codes
Code Message Datatype

200

<<>>

Samples

Request samples:

Response samples:

{
  "successCount" : 1000,
  "failedCount" : 0
}

4.2. Default

4.2.1. approve

POST /moderate/approve

Approve an item

Description
Parameters
Body Parameter
Name Description Required Default Pattern

body

[object]

-

Content Type
  • application/json

Responses
Table 2. http response codes
Code Message Datatype

0

default response

[ModerationModuleData]

Samples

Request samples:

Object

Response samples:

4.2.2. list

GET /moderate/list

List items to be moderated

Description
Parameters
Query Parameters
Name Description Required Default Pattern

objectIds

[String]

-

null

Return Type

-

Content Type
  • application/json

Responses
Table 3. http response codes
Code Message Datatype

0

default response

<<>>

Samples

Request samples:

Response samples:

4.2.3. reject

POST /moderate/reject

Reject an item

Description
Parameters
Body Parameter
Name Description Required Default Pattern

body

[object]

-

Content Type
  • application/json

Responses
Table 4. http response codes
Code Message Datatype

0

default response

[ModerationModuleData]

Samples

Request samples:

Object

Response samples:

4.3. Liveblogs

4.3.1. posts

GET /liveblogs/{id}/posts

List posts for a live blog.

Description
Parameters
Path Parameters
Name Description Required Default Pattern

id

Node id of the live blog

X

null

Query Parameters
Name Description Required Default Pattern

from

NodeId of the starting posts

-

null

limit

Number of posts to load

-

10

renderHtml

Render html for the posts (does not work with template engine disabled)

-

false

template

Force template for the live blog

-

null

aggregator

Aggregator [String]

-

null

Return Type

-

Content Type
  • application/json

Responses
Table 5. http response codes
Code Message Datatype

200

<<>>

Samples

Request samples:

Response samples:

{
  "count" : 1,
  "result" : [ {
    "dataType" : "node",
    "id" : "0238-068f01583851-5de8671f139d-10ff",
    "version" : "0238-068f01583851-5de8671f139d-10ff-72112726459",
    "timestamp" : "2017-04-14T15:18:46.487Z",
    "foreignId" : "bb039526-2d15-407d-957b-0b6c5c5e9de2",
    "title" : "Live Blog Post bb039526-2d15-407d-957b-0b6c5c5e9de2",
    "sys" : {
      "kind" : "content",
      "baseType" : "liveblogpost",
      "type" : "text",
      "creationTime" : "2017-04-14T15:18:46.483Z",
      "createdBy" : {
        "userId" : "e0b8011e-655f-4e41-8ac3-fadececd376f",
        "userName" : "admin"
      },
      "updateTime" : "2017-04-14T15:18:46.487Z",
      "updatedBy" : {
        "userId" : "e0b8011e-655f-4e41-8ac3-fadececd376f",
        "userName" : "admin"
      }
    },
    "pubInfo" : {
      "siteName" : "matteo",
      "status" : "LIVE",
      "publicationTime" : "2017-04-14T15:18:46.459Z",
      "publishedBy" : {
        "userId" : "e0b8011e-655f-4e41-8ac3-fadececd376f",
        "userName" : "admin"
      },
      "sectionPath" : "/",
      "embargoVisible" : true
    },
    "attributes" : {
      "tags" : [ ]
    },
    "files" : {
      "content" : {
        "fileName" : "text.xml",
        "mimeType" : "text/xml",
        "updatedBy" : {
          "userId" : "e0b8011e-655f-4e41-8ac3-fadececd376f",
          "userName" : "admin"
        },
        "updateTime" : "2017-04-14T15:18:46.487Z",
        "size" : 741,
        "data" : "<?xml version='1.0'?><article type=\"liveblog-post-text\">\n    <h1>\n        Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n    </h1>\n    <p>\n        Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris vel dictum massa.\n        Praesent sapien enim, <strong>tristique a sapien</strong> neque. Donec augue\n        ante, blandit mattis auctor sed, elementum quis purus. Curabitur condimentum aliquam\n        risus, in accumsan enim accumsan ut. In blandit, <i>dolor nec</i> ornare tempor, \n        ante congue arcu, sit amet <u>gravida lorem quam quis magna</u>. Praesent ultricies\n        dignissim mi at lobortis. Maecenas pretium enim sit amet tortor tincidunt porta.\n        Fusce aliquet diam eget arcu pretium placerat.\n    </p>\n</article>"
      }
    },
    "pubInfoEx" : {
      "matteo" : {
        "siteName" : "matteo",
        "status" : "LIVE",
        "publicationTime" : "2017-04-14T15:18:42.527Z",
        "publishedBy" : {
          "userId" : "e0b8011e-655f-4e41-8ac3-fadececd376f",
          "userName" : "admin"
        },
        "liveInfo" : {
          "version" : "0238-068f01583851-5de8671f139d-10ff-72112726459",
          "sourceVersion" : "0238-068f01583851-5de8671f139d-10ff-n72112722527",
          "publicationTime" : "2017-04-14T15:18:46.459Z",
          "publishedBy" : {
            "userId" : "e0b8011e-655f-4e41-8ac3-fadececd376f",
            "userName" : "admin"
          }
        },
        "stageInfo" : {
          "version" : "0238-068f01583851-5de8671f139d-10ff-n72112722527",
          "publicationTime" : "2017-04-14T15:18:42.527Z",
          "publishedBy" : {
            "userId" : "e0b8011e-655f-4e41-8ac3-fadececd376f",
            "userName" : "admin"
          }
        },
        "previewInfo" : {
          "version" : "0238-068f01583851-5de8671f139d-10ff-n72112722527",
          "publishedBy" : {
            "userId" : "e0b8011e-655f-4e41-8ac3-fadececd376f",
            "userName" : "admin"
          }
        },
        "sectionPath" : "/",
        "embargoVisible" : true
      }
    },
    "extra" : {
      "html" : "<article type=\"liveblog-post-text\">\n    \n    <h1>\n        Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n    </h1>\n    \n    <p>\n        Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris vel dictum massa.\n        Praesent sapien enim, <strong>tristique a sapien</strong> neque. Donec augue\n        ante, blandit mattis auctor sed, elementum quis purus. Curabitur condimentum aliquam\n        risus, in accumsan enim accumsan ut. In blandit, <i>dolor nec</i> ornare tempor, \n        ante congue arcu, sit amet <u>gravida lorem quam quis magna</u>. Praesent ultricies\n        dignissim mi at lobortis. Maecenas pretium enim sit amet tortor tincidunt porta.\n        Fusce aliquet diam eget arcu pretium placerat.\n    </p>\n\n</article>\n"
    },
    "contentLength" : 0,
    "lastModified" : 1492183126487,
    "etag" : "0238-068f01583851-5de8671f139d-10ff-72112726459"
  } ],
  "parent" : {
    "dataType" : "node",
    "id" : "0238-068f01514b02-855fa2f33533-1012",
    "version" : "0238-068f01514b02-855fa2f33533-1012-72112726459",
    "timestamp" : "2017-04-14T15:18:46.459Z",
    "foreignId" : "e2f15d13-2561-4cf1-ad69-a117914d5955",
    "title" : "Test publish e2f15d13-2561-4cf1-ad69-a117914d5955",
    "sys" : {
      "kind" : "content",
      "baseType" : "liveblog",
      "type" : "liveblog",
      "creationTime" : "2017-04-14T15:18:41.948Z",
      "createdBy" : {
        "userId" : "e0b8011e-655f-4e41-8ac3-fadececd376f",
        "userName" : "admin"
      },
      "updateTime" : "2017-04-14T15:18:46.459Z",
      "updatedBy" : {
        "userId" : "e0b8011e-655f-4e41-8ac3-fadececd376f",
        "userName" : "admin"
      }
    },
    "pubInfo" : {
      "siteName" : "matteo",
      "status" : "LIVE",
      "publicationTime" : "2017-04-14T15:18:46.459Z",
      "publishedBy" : {
        "userId" : "e0b8011e-655f-4e41-8ac3-fadececd376f",
        "userName" : "admin"
      },
      "sectionPath" : "/",
      "embargoVisible" : true
    },
    "attributes" : {
      "template" : "sport",
      "tags" : [ ]
    },
    "files" : {
      "content" : {
        "fileName" : "liveblog.xml",
        "mimeType" : "application/xml",
        "updatedBy" : {
          "userId" : "e0b8011e-655f-4e41-8ac3-fadececd376f",
          "userName" : "admin"
        },
        "updateTime" : "2017-04-14T15:18:42.471Z",
        "size" : 5042,
        "data" : "..."
      }
    },
    "pubInfoEx" : {
      "matteo" : {
        "siteName" : "matteo",
        "status" : "LIVE",
        "publicationTime" : "2017-04-14T15:18:42.527Z",
        "publishedBy" : {
          "userId" : "e0b8011e-655f-4e41-8ac3-fadececd376f",
          "userName" : "admin"
        },
        "liveInfo" : {
          "version" : "0238-068f01514b02-855fa2f33533-1012-72112726459",
          "sourceVersion" : "0238-068f01514b02-855fa2f33533-1012-n72112722527",
          "publicationTime" : "2017-04-14T15:18:46.459Z",
          "publishedBy" : {
            "userId" : "e0b8011e-655f-4e41-8ac3-fadececd376f",
            "userName" : "admin"
          }
        },
        "stageInfo" : {
          "version" : "0238-068f01514b02-855fa2f33533-1012-n72112722527",
          "publicationTime" : "2017-04-14T15:18:42.527Z",
          "publishedBy" : {
            "userId" : "e0b8011e-655f-4e41-8ac3-fadececd376f",
            "userName" : "admin"
          }
        },
        "previewInfo" : {
          "version" : "0238-068f01514b02-855fa2f33533-1012-n72112722527",
          "publishedBy" : {
            "userId" : "e0b8011e-655f-4e41-8ac3-fadececd376f",
            "userName" : "admin"
          }
        },
        "sectionPath" : "/",
        "embargoVisible" : true
      }
    },
    "children" : [ "0238-068f01583851-5de8671f139d-10ff", "0238-068f0157d28c-30d709878667-10ff", "0238-068f015767de-07ccf9ce6854-10ff", "0238-068f0156edfb-dbe1f4061d44-10ff", "0238-068f0156725e-1acfa726219e-10ff", "0238-068f01560655-eb4a8954ba2b-10ff", "0238-068f0155a1ca-fa5d6427f618-10ff", "0238-068f01553ef2-6ff3040cf51b-10ff", "0238-068f0154e2bc-df7fea603100-10ff", "0238-068f01547d0c-47dd1ed70286-10ff" ],
    "contentLength" : 0,
    "lastModified" : 1492183126459,
    "etag" : "0238-068f01514b02-855fa2f33533-1012-72112726459"
  }
}

4.3.2. updates

GET /liveblogs/{id}/updates

List updates (new or updated contents).

Description
Parameters
Path Parameters
Name Description Required Default Pattern

id

Node id of the live blog

X

null

Query Parameters
Name Description Required Default Pattern

version

Current version of the liveblog node (or the latest version value returned by this api)

-

null

renderHtml

Render html for the posts (does not work with template engine disabled)

-

false

template

Force template for the live blog (required renderHtml to true)

-

null

aggregator

Aggregators list [String]

-

null

Return Type

-

Content Type
  • application/json

Responses
Table 6. http response codes
Code Message Datatype

200

<<>>

0

[LiveBlogData]

Samples

Request samples:

Response samples:

{
  "count" : 3,
  "result" : [ {
    "operation" : "add",
    "post" : {
      "dataType" : "node",
      "id" : "0250-0c372856c4bf-5e863b695e34-10ff",
      "version" : "0250-0c372856c4bf-5e863b695e34-10ff-134310395316",
      "timestamp" : "2019-04-04T12:26:35.316Z",
      "foreignId" : "76cc845a-55d4-11e9-b2b7-a0fe99940c51",
      "title" : "Test 3",
      "description" : "",
      "authors" : [ ],
      "sys" : {
        "kind" : "content",
        "baseType" : "liveblogpost",
        "type" : "text",
        "creationTime" : "2019-04-04T12:26:35.316Z",
        "createdBy" : {
          "userId" : "7d850632-95e8-4a6c-bf32-df9bf2b1473c",
          "userName" : "alessandro.bertacco"
        },
        "updateTime" : "2019-04-04T12:26:35.316Z",
        "updatedBy" : {
          "userId" : "7d850632-95e8-4a6c-bf32-df9bf2b1473c",
          "userName" : "alessandro.bertacco"
        }
      },
      "pubInfo" : {
        "siteName" : "test-site",
        "status" : "LIVE",
        "publicationTime" : "2019-04-04T12:26:35.316Z",
        "publishedBy" : {
          "userId" : "7d850632-95e8-4a6c-bf32-df9bf2b1473c",
          "userName" : "alessandro.bertacco"
        },
        "attributes" : {
          "pubDate" : "2019-04-04T12:23:23.911Z",
          "lastModified" : "2019-04-03T05:47:49.000Z",
          "sha1Content" : "g1bjzjHJWQMZ6YZXKxfTuH3Kxd8",
          "sha1Correlations" : "2jmj7l5rSw0yVb/vlWAYkK/YBwk",
          "primary" : true,
          "agent" : "cobaltpub",
          "path" : "/Cobalt/test-site/Stories/test-lb1.emlive",
          "eomDbid" : "41",
          "publicationId" : "1da9a051-3ad0-443c-9c83-8e2e1d89bdd8"
        },
        "sectionPath" : "/",
        "visible" : true
      },
      "attributes" : {
        "tags" : [ ],
        "notes" : "",
        "liveblogpost" : {
          "type" : "text",
          "subject" : "",
          "status" : "APPROVED",
          "eventTime" : "1554380791885"
        },
        "creator" : "eom:alessandro.bertacco",
        "created" : "2019-04-03T05:51:02.000Z",
        "last_modifier" : "eom:alessandro.bertacco",
        "modified" : "2019-04-03T05:51:05.000Z",
        "eventTime" : "2019-04-04T12:26:31.885Z"
      },
      "files" : {
        "content" : {
          "fileName" : "content.emlivepost",
          "mimeType" : "text/xml",
          "updatedBy" : {
            "userId" : "7d850632-95e8-4a6c-bf32-df9bf2b1473c",
            "userName" : "alessandro.bertacco"
          },
          "updateTime" : "2019-04-04T12:26:35.316Z",
          "size" : 92,
          "data" : "<article><h1>Test 3</h1><p><p><br/></p></p></article>"
        }
      },
      "pubInfoEx" : {
        "test-site" : {
          "siteName" : "test-site",
          "status" : "LIVE",
          "publicationTime" : "2019-04-04T12:26:35.316Z",
          "publishedBy" : {
            "userId" : "7d850632-95e8-4a6c-bf32-df9bf2b1473c",
            "userName" : "alessandro.bertacco"
          },
          "attributes" : {
            "pubDate" : "2019-04-04T12:23:23.911Z",
            "lastModified" : "2019-04-03T05:47:49.000Z",
            "sha1Content" : "g1bjzjHJWQMZ6YZXKxfTuH3Kxd8",
            "sha1Correlations" : "2jmj7l5rSw0yVb/vlWAYkK/YBwk",
            "primary" : true,
            "agent" : "cobaltpub",
            "path" : "/Cobalt/test-site/Stories/test-lb1.emlive",
            "eomDbid" : "41",
            "publicationId" : "1da9a051-3ad0-443c-9c83-8e2e1d89bdd8"
          },
          "liveInfo" : {
            "version" : "0250-0c372856c4bf-5e863b695e34-10ff-134310395316",
            "sourceVersion" : "0250-0c372856c4bf-5e863b695e34-10ff-n134310204885",
            "publicationTime" : "2019-04-04T12:26:35.316Z",
            "publishedBy" : {
              "userId" : "7d850632-95e8-4a6c-bf32-df9bf2b1473c",
              "userName" : "alessandro.bertacco"
            }
          },
          "stageInfo" : {
            "version" : "0250-0c372856c4bf-5e863b695e34-10ff-n134310204885",
            "publicationTime" : "2019-04-04T12:23:24.885Z",
            "publishedBy" : {
              "userId" : "7d850632-95e8-4a6c-bf32-df9bf2b1473c",
              "userName" : "alessandro.bertacco"
            }
          },
          "previewInfo" : {
            "version" : "0250-0c372856c4bf-5e863b695e34-10ff-n134310204885",
            "publicationTime" : "2019-04-04T12:23:24.885Z",
            "publishedBy" : {
              "userId" : "7d850632-95e8-4a6c-bf32-df9bf2b1473c",
              "userName" : "alessandro.bertacco"
            }
          },
          "sectionPath" : "/",
          "visible" : true
        }
      },
      "extra" : {
        "html" : "\n\t\t<article id=\"0250-0c372856c4bf-5e863b695e34-10ff\">\n\t\t\t<aside>\n\t\t\t<time datetime=\"2019-04-04T12:26:31Z\"><div class=\"date\">Apr 4,<br>02:26 PM</div></time>\n\t\t\t</aside>\n\t\t\t<header>\n\t\t\t\t<img src=\"http://10.200.10.1:8480/directory/users/picture?id=7d850632-95e8-4a6c-bf32-df9bf2b1473c\"/>\n\t\t\t\t<address>alessandro.bertacco</address>\n\t\t\t\t\t<h3>Test 3</h3>\n\t\t\t</header>\n\n\t\t\t<p>\n    <p></p>\n</p>\n\n\n<!--\n{\n  \"dataType\" : \"node\",\n  \"id\" : \"0250-0c372856c4bf-5e863b695e34-10ff\",\n  \"version\" : \"0250-0c372856c4bf-5e863b695e34-10ff-134310395316\",\n  \"timestamp\" : \"2019-04-04T12:26:35.316Z\",\n  \"foreignId\" : \"76cc845a-55d4-11e9-b2b7-a0fe99940c51\",\n  \"title\" : \"Test 3\",\n  \"description\" : \"\",\n  \"authors\" : [ ],\n  \"sys\" : {\n    \"kind\" : \"content\",\n    \"baseType\" : \"liveblogpost\",\n    \"type\" : \"text\",\n    \"creationTime\" : \"2019-04-04T12:26:35.316Z\",\n    \"createdBy\" : {\n      \"userId\" : \"7d850632-95e8-4a6c-bf32-df9bf2b1473c\",\n      \"userName\" : \"alessandro.bertacco\"\n    },\n    \"updateTime\" : \"2019-04-04T12:26:35.316Z\",\n    \"updatedBy\" : {\n      \"userId\" : \"7d850632-95e8-4a6c-bf32-df9bf2b1473c\",\n      \"userName\" : \"alessandro.bertacco\"\n    }\n  },\n  \"pubInfo\" : {\n    \"siteName\" : \"test-site\",\n    \"status\" : \"LIVE\",\n    \"publicationTime\" : \"2019-04-04T12:26:35.316Z\",\n    \"publishedBy\" : {\n      \"userId\" : \"7d850632-95e8-4a6c-bf32-df9bf2b1473c\",\n      \"userName\" : \"alessandro.bertacco\"\n    },\n    \"attributes\" : {\n      \"pubDate\" : \"2019-04-04T12:23:23.911Z\",\n      \"lastModified\" : \"2019-04-03T05:47:49.000Z\",\n      \"sha1Content\" : \"g1bjzjHJWQMZ6YZXKxfTuH3Kxd8\",\n      \"sha1Correlations\" : \"2jmj7l5rSw0yVb/vlWAYkK/YBwk\",\n      \"primary\" : true,\n      \"agent\" : \"cobaltpub\",\n      \"path\" : \"/Cobalt/test-site/Stories/test-lb1.emlive\",\n      \"eomDbid\" : \"41\",\n      \"publicationId\" : \"1da9a051-3ad0-443c-9c83-8e2e1d89bdd8\"\n    },\n    \"sectionPath\" : \"/\",\n    \"visible\" : true\n  },\n  \"attributes\" : {\n    \"tags\" : [ ],\n    \"notes\" : \"\",\n    \"liveblogpost\" : {\n      \"type\" : \"text\",\n      \"subject\" : \"\",\n      \"status\" : \"APPROVED\",\n      \"eventTime\" : \"1554380791885\"\n    },\n    \"creator\" : \"eom:alessandro.bertacco\",\n    \"created\" : \"2019-04-03T05:51:02.000Z\",\n    \"last_modifier\" : \"eom:alessandro.bertacco\",\n    \"modified\" : \"2019-04-03T05:51:05.000Z\",\n    \"eventTime\" : \"2019-04-04T12:26:31.885Z\"\n  },\n  \"files\" : {\n    \"content\" : {\n      \"fileName\" : \"content.emlivepost\",\n      \"mimeType\" : \"text/xml\",\n      \"updatedBy\" : {\n        \"userId\" : \"7d850632-95e8-4a6c-bf32-df9bf2b1473c\",\n        \"userName\" : \"alessandro.bertacco\"\n      },\n      \"updateTime\" : \"2019-04-04T12:26:35.316Z\",\n      \"size\" : 92,\n      \"data\" : \"<article><h1>Test 3</h1><p><p><br/></p></p></article>\"\n    }\n  },\n  \"pubInfoEx\" : {\n    \"test-site\" : {\n      \"siteName\" : \"test-site\",\n      \"status\" : \"LIVE\",\n      \"publicationTime\" : \"2019-04-04T12:26:35.316Z\",\n      \"publishedBy\" : {\n        \"userId\" : \"7d850632-95e8-4a6c-bf32-df9bf2b1473c\",\n        \"userName\" : \"alessandro.bertacco\"\n      },\n      \"attributes\" : {\n        \"pubDate\" : \"2019-04-04T12:23:23.911Z\",\n        \"lastModified\" : \"2019-04-03T05:47:49.000Z\",\n        \"sha1Content\" : \"g1bjzjHJWQMZ6YZXKxfTuH3Kxd8\",\n        \"sha1Correlations\" : \"2jmj7l5rSw0yVb/vlWAYkK/YBwk\",\n        \"primary\" : true,\n        \"agent\" : \"cobaltpub\",\n        \"path\" : \"/Cobalt/test-site/Stories/test-lb1.emlive\",\n        \"eomDbid\" : \"41\",\n        \"publicationId\" : \"1da9a051-3ad0-443c-9c83-8e2e1d89bdd8\"\n      },\n      \"liveInfo\" : {\n        \"version\" : \"0250-0c372856c4bf-5e863b695e34-10ff-134310395316\",\n        \"sourceVersion\" : \"0250-0c372856c4bf-5e863b695e34-10ff-n134310204885\",\n        \"publicationTime\" : \"2019-04-04T12:26:35.316Z\",\n        \"publishedBy\" : {\n          \"userId\" : \"7d850632-95e8-4a6c-bf32-df9bf2b1473c\",\n          \"userName\" : \"alessandro.bertacco\"\n        }\n      },\n      \"stageInfo\" : {\n        \"version\" : \"0250-0c372856c4bf-5e863b695e34-10ff-n134310204885\",\n        \"publicationTime\" : \"2019-04-04T12:23:24.885Z\",\n        \"publishedBy\" : {\n          \"userId\" : \"7d850632-95e8-4a6c-bf32-df9bf2b1473c\",\n          \"userName\" : \"alessandro.bertacco\"\n        }\n      },\n      \"previewInfo\" : {\n        \"version\" : \"0250-0c372856c4bf-5e863b695e34-10ff-n134310204885\",\n        \"publicationTime\" : \"2019-04-04T12:23:24.885Z\",\n        \"publishedBy\" : {\n          \"userId\" : \"7d850632-95e8-4a6c-bf32-df9bf2b1473c\",\n          \"userName\" : \"alessandro.bertacco\"\n        }\n      },\n      \"sectionPath\" : \"/\",\n      \"visible\" : true\n    }\n  },\n  \"etag\" : \"0250-0c372856c4bf-5e863b695e34-10ff-134310395316\",\n  \"dataType\" : \"node\",\n  \"contentLength\" : 0,\n  \"lastModified\" : 1554380795316\n}\n-->\n\n\t\t</article>"
      },
      "etag" : "0250-0c372856c4bf-5e863b695e34-10ff-134310395316",
      "contentLength" : 0,
      "lastModified" : 1554380795316
    }
  } ],
  "version" : "0250-0c37273345bb-a55953b9603b-1012-134310395316",
  "reset" : false
}

4.5. Nodes

4.5.1. getNode

GET /nodes/{id}

Retrieve hierarchy or content node information by id

Description
Parameters
Path Parameters
Name Description Required Default Pattern

id

Node id

X

null

Query Parameters
Name Description Required Default Pattern

aggregator

Aggregators list [String]

-

null

Return Type

-

Content Type
  • application/json

Responses
Table 9. http response codes
Code Message Datatype

200

<<>>

404

if no site corresponding to the requested hostname can be found or if the node does not exists.

<<>>

Samples

Request samples:

Response samples:

{
  "id" : "022f-0455cc697fbb-16bf8de3505e-0004",
  "version" : "022f-0455cc697fbb-16bf8de3505e-0004-47743466261",
  "timestamp" : "2016-07-06T14:04:26.261Z",
  "foreignId" : "8965fbb4-42cc-11e6-8397-58a7d6f7e45e",
  "title" : "Ned Stark’s Death",
  "description" : "",
  "summary" : "The Death of Ned",
  "sys" : {
    "kind" : "content",
    "baseType" : "article",
    "type" : "article",
    "creationTime" : "2016-07-05T16:24:42.251Z",
    "createdBy" : {
      "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
      "userName" : "matteo"
    },
    "updateTime" : "2016-07-06T14:04:26.261Z",
    "updatedBy" : {
      "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
      "userName" : "matteo"
    }
  },
  "pubInfo" : {
    "siteName" : "game-of-thrones",
    "status" : "LIVE",
    "publicationTime" : "2016-07-06T14:04:26.261Z",
    "publishedBy" : {
      "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
      "userName" : "matteo"
    },
    "attributes" : {
      "pubDate" : "2016-07-06T14:04:25.592Z",
      "lastModified" : "2016-07-05T21:50:04.000Z",
      "sha1Content" : "kNXz0fqhoU15/CRsCQs5qKgSz+o",
      "primary" : true,
      "agent" : "cobaltpub",
      "path" : "/Cobalt/game-of-thrones/Stories/season-1/Ned Stark's Death.xml",
      "eomDbid" : "199",
      "publicationId" : "3228e45e-5745-412c-b521-2a63be224150"
    },
    "sectionPath" : "/season-1/"
  },
  "attributes" : {
    "tags" : [ "GameOfThrones", "war", "حدوث", "à" ]
  },
  "files" : {
    "content" : {
      "fileName" : "content.xml",
      "mimeType" : "text/xml",
      "updatedBy" : {
        "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
        "userName" : "matteo"
      },
      "updateTime" : "2016-07-06T14:04:25.980Z",
      "size" : 4007,
      "data" : "..."
    }
  },
  "links" : {
    "hyperlink" : {
      "image" : [ {
        "targetId" : "022f-0455cc697fe4-dd009fb432f0-0004-47743466261",
        "key" : 1537228672809128960,
        "maxItems" : 0
      }, {
        "targetId" : "022f-0457841d4f6c-5a49343db2ff-0004-47743466261",
        "key" : 2767011611056432640,
        "maxItems" : 0
      }, {
        "targetId" : "022f-04579d3ad2f0-5855aa05ef58-0004-47743466261",
        "key" : 3504881374004814720,
        "maxItems" : 0
      } ]
    }
  },
  "pubInfoEx" : {
    "game-of-thrones" : {
      "siteName" : "game-of-thrones",
      "status" : "LIVE",
      "publicationTime" : "2016-07-06T14:04:26.037Z",
      "publishedBy" : {
        "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
        "userName" : "matteo"
      },
      "attributes" : {
        "pubDate" : "2016-07-06T14:04:25.592Z",
        "lastModified" : "2016-07-05T21:50:04.000Z",
        "sha1Content" : "kNXz0fqhoU15/CRsCQs5qKgSz+o",
        "primary" : true,
        "agent" : "cobaltpub",
        "path" : "/Cobalt/game-of-thrones/Stories/season-1/Ned Stark's Death.xml",
        "eomDbid" : "199",
        "publicationId" : "3228e45e-5745-412c-b521-2a63be224150"
      },
      "liveInfo" : {
        "version" : "022f-0455cc697fbb-16bf8de3505e-0004-47743466261",
        "sourceVersion" : "022f-0455cc697fbb-16bf8de3505e-0004-n47743466037",
        "publicationTime" : "2016-07-06T14:04:26.261Z",
        "publishedBy" : {
          "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
          "userName" : "matteo"
        }
      },
      "stageInfo" : {
        "version" : "022f-0455cc697fbb-16bf8de3505e-0004-n47743466037",
        "publicationTime" : "2016-07-06T14:04:26.037Z",
        "publishedBy" : {
          "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
          "userName" : "matteo"
        }
      },
      "previewInfo" : {
        "version" : "022f-0455cc697fbb-16bf8de3505e-0004-n47743466037",
        "publishedBy" : {
          "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
          "userName" : "matteo"
        }
      },
      "sectionPath" : "/season-1/"
    }
  },
  "contentLength" : 0,
  "cacheKey" : "022f-0455cc697fbb-16bf8de3505e-0004",
  "lastModified" : 0,
  "cacheTimestamp" : 0,
  "dataType" : "node"
}

4.5.2. getNodeByForeignId

GET /nodes/foreignid/{foreignId}

Retrieve hierarchy or content node information by foreign id

Description
Parameters
Path Parameters
Name Description Required Default Pattern

foreignId

Node foreign id

X

null

Query Parameters
Name Description Required Default Pattern

aggregator

Aggregators list [String]

-

null

Return Type

-

Content Type
  • application/json

Responses
Table 10. http response codes
Code Message Datatype

200

<<>>

404

if no site corresponding to the requested hostname can be found or if the node does not exists.

<<>>

Samples

Request samples:

Response samples:

{
  "id" : "022f-0455cc697fbb-16bf8de3505e-0004",
  "version" : "022f-0455cc697fbb-16bf8de3505e-0004-47743466261",
  "timestamp" : "2016-07-06T14:04:26.261Z",
  "foreignId" : "8965fbb4-42cc-11e6-8397-58a7d6f7e45e",
  "title" : "Ned Stark’s Death",
  "description" : "",
  "summary" : "The Death of Ned",
  "sys" : {
    "kind" : "content",
    "baseType" : "article",
    "type" : "article",
    "creationTime" : "2016-07-05T16:24:42.251Z",
    "createdBy" : {
      "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
      "userName" : "matteo"
    },
    "updateTime" : "2016-07-06T14:04:26.261Z",
    "updatedBy" : {
      "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
      "userName" : "matteo"
    }
  },
  "pubInfo" : {
    "siteName" : "game-of-thrones",
    "status" : "LIVE",
    "publicationTime" : "2016-07-06T14:04:26.261Z",
    "publishedBy" : {
      "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
      "userName" : "matteo"
    },
    "attributes" : {
      "pubDate" : "2016-07-06T14:04:25.592Z",
      "lastModified" : "2016-07-05T21:50:04.000Z",
      "sha1Content" : "kNXz0fqhoU15/CRsCQs5qKgSz+o",
      "primary" : true,
      "agent" : "cobaltpub",
      "path" : "/Cobalt/game-of-thrones/Stories/season-1/Ned Stark's Death.xml",
      "eomDbid" : "199",
      "publicationId" : "3228e45e-5745-412c-b521-2a63be224150"
    },
    "sectionPath" : "/season-1/"
  },
  "attributes" : {
    "tags" : [ "GameOfThrones", "war", "حدوث", "à" ]
  },
  "files" : {
    "content" : {
      "fileName" : "content.xml",
      "mimeType" : "text/xml",
      "updatedBy" : {
        "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
        "userName" : "matteo"
      },
      "updateTime" : "2016-07-06T14:04:25.980Z",
      "size" : 4007,
      "data" : "..."
    }
  },
  "links" : {
    "hyperlink" : {
      "image" : [ {
        "targetId" : "022f-0455cc697fe4-dd009fb432f0-0004-47743466261",
        "key" : 1537228672809128960,
        "maxItems" : 0
      }, {
        "targetId" : "022f-0457841d4f6c-5a49343db2ff-0004-47743466261",
        "key" : 2767011611056432640,
        "maxItems" : 0
      }, {
        "targetId" : "022f-04579d3ad2f0-5855aa05ef58-0004-47743466261",
        "key" : 3504881374004814720,
        "maxItems" : 0
      } ]
    }
  },
  "pubInfoEx" : {
    "game-of-thrones" : {
      "siteName" : "game-of-thrones",
      "status" : "LIVE",
      "publicationTime" : "2016-07-06T14:04:26.037Z",
      "publishedBy" : {
        "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
        "userName" : "matteo"
      },
      "attributes" : {
        "pubDate" : "2016-07-06T14:04:25.592Z",
        "lastModified" : "2016-07-05T21:50:04.000Z",
        "sha1Content" : "kNXz0fqhoU15/CRsCQs5qKgSz+o",
        "primary" : true,
        "agent" : "cobaltpub",
        "path" : "/Cobalt/game-of-thrones/Stories/season-1/Ned Stark's Death.xml",
        "eomDbid" : "199",
        "publicationId" : "3228e45e-5745-412c-b521-2a63be224150"
      },
      "liveInfo" : {
        "version" : "022f-0455cc697fbb-16bf8de3505e-0004-47743466261",
        "sourceVersion" : "022f-0455cc697fbb-16bf8de3505e-0004-n47743466037",
        "publicationTime" : "2016-07-06T14:04:26.261Z",
        "publishedBy" : {
          "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
          "userName" : "matteo"
        }
      },
      "stageInfo" : {
        "version" : "022f-0455cc697fbb-16bf8de3505e-0004-n47743466037",
        "publicationTime" : "2016-07-06T14:04:26.037Z",
        "publishedBy" : {
          "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
          "userName" : "matteo"
        }
      },
      "previewInfo" : {
        "version" : "022f-0455cc697fbb-16bf8de3505e-0004-n47743466037",
        "publishedBy" : {
          "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
          "userName" : "matteo"
        }
      },
      "sectionPath" : "/season-1/"
    }
  },
  "contentLength" : 0,
  "cacheKey" : "022f-0455cc697fbb-16bf8de3505e-0004",
  "lastModified" : 0,
  "cacheTimestamp" : 0,
  "dataType" : "node"
}

4.5.3. getNodeFile

GET /nodes/{id}/files/{file}/metadata

Retrieve site node file information. File can be retrieved from both content and hierarchical node. Require the name (a.k.a. format) of the file.

Description
Parameters
Path Parameters
Name Description Required Default Pattern

id

Node id

X

null

file

File name

X

null

Return Type

-

Content Type
  • application/json

Responses
Table 11. http response codes
Code Message Datatype

200

<<>>

404

if no site corresponding to the requested hostname can be found or if the node or the file do not exist.

<<>>

Samples

Request samples:

Response samples:

{
  "fileName" : "content.xml",
  "mimeType" : "text/xml",
  "updatedBy" : {
    "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
    "userName" : "matteo"
  },
  "updateTime" : "2016-07-06T14:04:25.980Z",
  "size" : 4007,
  "data" : "..."
}

4.5.4. listNodes

GET /nodes

List all nodes published on a site or section. Include both hierarchy nodes and content nodes and allows to filter by tags, base type of the node. The \"tag\" parameter filter nodes containing the requested tags in the default tag family. To search a different tag family you can use as many \"tag<family>\" parameters as you need.

Description
Parameters
Query Parameters
Name Description Required Default Pattern

tagf.*

Filter over specific values of a tag family

-

null

sectionId

Section id

-

null

section

Section path (slash separated section's name from the root)

-

/

type

Nodes type [Type]

-

null

author

Nodes author

-

null

tag

Nodes tags (Use &quot;tag.<family>&quot; as parameter if you want to search in a different family) [String]

-

null

recursive

Search recursively in nested sections

-

false

limit

Page limit

-

20

offset

Page offset

-

0

sortBy

Order of the results

-

DATE

aggregator

Aggregator [String]

-

null

count

Add the total count of the results

-

true

Return Type

-

Content Type
  • application/json

Responses
Table 12. http response codes
Code Message Datatype

200

<<>>

404

if no site corresponding to the requested hostname can be found or if no section correspond to the requested section path.

<<>>

Samples

Request samples:

Response samples:

{
  "count" : 1,
  "result" : [ {
    "id" : "022f-0455cc697fbb-16bf8de3505e-0004",
    "version" : "022f-0455cc697fbb-16bf8de3505e-0004-47743466261",
    "timestamp" : "2016-07-06T14:04:26.261Z",
    "foreignId" : "8965fbb4-42cc-11e6-8397-58a7d6f7e45e",
    "title" : "Ned Stark’s Death",
    "description" : "",
    "summary" : "The Death of Ned",
    "sys" : {
      "kind" : "content",
      "baseType" : "article",
      "type" : "article",
      "creationTime" : "2016-07-05T16:24:42.251Z",
      "createdBy" : {
        "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
        "userName" : "matteo"
      },
      "updateTime" : "2016-07-06T14:04:26.261Z",
      "updatedBy" : {
        "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
        "userName" : "matteo"
      }
    },
    "pubInfo" : {
      "siteName" : "game-of-thrones",
      "status" : "LIVE",
      "publicationTime" : "2016-07-06T14:04:26.261Z",
      "publishedBy" : {
        "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
        "userName" : "matteo"
      },
      "attributes" : {
        "pubDate" : "2016-07-06T14:04:25.592Z",
        "lastModified" : "2016-07-05T21:50:04.000Z",
        "sha1Content" : "kNXz0fqhoU15/CRsCQs5qKgSz+o",
        "primary" : true,
        "agent" : "cobaltpub",
        "path" : "/Cobalt/game-of-thrones/Stories/season-1/Ned Stark's Death.xml",
        "eomDbid" : "199",
        "publicationId" : "3228e45e-5745-412c-b521-2a63be224150"
      },
      "sectionPath" : "/season-1/"
    },
    "attributes" : {
      "tags" : [ "GameOfThrones", "war", "حدوث", "à" ]
    },
    "files" : {
      "content" : {
        "fileName" : "content.xml",
        "mimeType" : "text/xml",
        "updatedBy" : {
          "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
          "userName" : "matteo"
        },
        "updateTime" : "2016-07-06T14:04:25.980Z",
        "size" : 4007,
        "data" : "..."
      }
    },
    "links" : {
      "hyperlink" : {
        "image" : [ {
          "targetId" : "022f-0455cc697fe4-dd009fb432f0-0004-47743466261",
          "key" : 1537228672809128960,
          "maxItems" : 0
        }, {
          "targetId" : "022f-0457841d4f6c-5a49343db2ff-0004-47743466261",
          "key" : 2767011611056432640,
          "maxItems" : 0
        }, {
          "targetId" : "022f-04579d3ad2f0-5855aa05ef58-0004-47743466261",
          "key" : 3504881374004814720,
          "maxItems" : 0
        } ]
      }
    },
    "pubInfoEx" : {
      "game-of-thrones" : {
        "siteName" : "game-of-thrones",
        "status" : "LIVE",
        "publicationTime" : "2016-07-06T14:04:26.037Z",
        "publishedBy" : {
          "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
          "userName" : "matteo"
        },
        "attributes" : {
          "pubDate" : "2016-07-06T14:04:25.592Z",
          "lastModified" : "2016-07-05T21:50:04.000Z",
          "sha1Content" : "kNXz0fqhoU15/CRsCQs5qKgSz+o",
          "primary" : true,
          "agent" : "cobaltpub",
          "path" : "/Cobalt/game-of-thrones/Stories/season-1/Ned Stark's Death.xml",
          "eomDbid" : "199",
          "publicationId" : "3228e45e-5745-412c-b521-2a63be224150"
        },
        "liveInfo" : {
          "version" : "022f-0455cc697fbb-16bf8de3505e-0004-47743466261",
          "sourceVersion" : "022f-0455cc697fbb-16bf8de3505e-0004-n47743466037",
          "publicationTime" : "2016-07-06T14:04:26.261Z",
          "publishedBy" : {
            "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
            "userName" : "matteo"
          }
        },
        "stageInfo" : {
          "version" : "022f-0455cc697fbb-16bf8de3505e-0004-n47743466037",
          "publicationTime" : "2016-07-06T14:04:26.037Z",
          "publishedBy" : {
            "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
            "userName" : "matteo"
          }
        },
        "previewInfo" : {
          "version" : "022f-0455cc697fbb-16bf8de3505e-0004-n47743466037",
          "publishedBy" : {
            "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
            "userName" : "matteo"
          }
        },
        "sectionPath" : "/season-1/"
      }
    },
    "contentLength" : 0,
    "cacheKey" : "022f-0455cc697fbb-16bf8de3505e-0004",
    "lastModified" : 0,
    "cacheTimestamp" : 0,
    "dataType" : "node"
  } ],
  "limit" : 20,
  "offset" : 0
}

4.5.5. previewNodeFile

GET /nodes/{id}/files/{file}

Redirect to the url serving the requested node file content stream. File can be retrieved from both content and hierarchical node. Require the name (a.k.a. format) of the file.

Description
Parameters
Path Parameters
Name Description Required Default Pattern

id

Node id

X

null

file

File name

X

null

Return Type

-

Content Type
  • text/xml

  • application/json

Responses
Table 13. http response codes
Code Message Datatype

200

<<>>

404

if no site corresponding to the requested hostname can be found or if the node or the file do not exist.

<<>>

Samples

Request samples:

Response samples:

"<document emk-type=\"story\">\n    <headgroup emk-id=\"R59B2a1b8xwVGy7uhKdQ34M\">\n        <headline emk-id=\"\">\n            <p>Ned Stark’s Death</p>\n        </headline>\n    </headgroup>\n    <mediagroup>\n        <figure emk-type=\"picture\">\n            ...\n        </figure>\n    </mediagroup>\n    <linkgroup/>\n    <summary emk-id=\"R47gD0ldNxb7C1Bl8vo1gfM\">\n        <p>The Death of Ned</p>\n    </summary>\n    <content emk-id=\"RG62sgQu28EgbuLhJa08lxI\">\n        ...\n    </content>\n    <style/>\n</document>"

4.5.6. versions

GET /nodes/{id}/versions/live

List the history of live versions of the requested node. The user must have write permission on the requested node family.

Description
Parameters
Path Parameters
Name Description Required Default Pattern

id

Node family id

X

null

Query Parameters
Name Description Required Default Pattern

oldestFirst

Put oldest version on top

-

false

Return Type

-

Content Type
  • application/json

Responses
Table 14. http response codes
Code Message Datatype

200

The live node

<<>>

404

if no site corresponding to the requested hostname can be found or if the node or the file do not exist.

<<>>

Samples

Request samples:

Response samples:

{
  "count" : 4,
  "result" : [ {
    "title" : "life-dwp.dwp",
    "type" : "webpage",
    "versionTimestamp" : 109344856998,
    "versionDate" : "2018-06-19T13:34:16.998Z",
    "nodeId" : "0243-094f20b24418-5a4e5c5ada05-1000-109344856998",
    "major" : 5,
    "minor" : 0,
    "pubInfo" : {
      "siteName" : "the-globe",
      "status" : "LIVE",
      "publicationTime" : "2018-06-19T13:34:16.998Z",
      "attributes" : {
        "pubDate" : "2018-06-19T13:34:00.614Z",
        "lastModified" : "2018-03-21T20:24:53.000Z",
        "sha1DwxLinks" : "k+3GG3N56RUyJg2ig+erHoXQmPU",
        "sha1Correlations" : "2jmj7l5rSw0yVb/vlWAYkK/YBwk",
        "primary" : true,
        "agent" : "cobaltpub",
        "path" : "/Cobalt/the-globe/WebPages/life/life-dwp.dwp",
        "eomDbid" : "199",
        "publicationId" : "360878b7-1581-482e-a491-10249c75e8be"
      },
      "sectionPath" : "/news/",
      "visible" : true
    }
  }, {
    "title" : "life-dwp.dwp",
    "type" : "webpage",
    "versionTimestamp" : 109344731031,
    "versionDate" : "2018-06-19T13:32:11.031Z",
    "nodeId" : "0243-094f20b24418-5a4e5c5ada05-1000-109344731031",
    "major" : 4,
    "minor" : 0,
    "pubInfo" : {
      "siteName" : "the-globe",
      "status" : "LIVE",
      "publicationTime" : "2018-06-19T13:32:11.031Z",
      "attributes" : {
        "pubDate" : "2018-06-19T13:31:19.497Z",
        "lastModified" : "2018-03-21T20:24:53.000Z",
        "sha1DwxLinks" : "k+3GG3N56RUyJg2ig+erHoXQmPU",
        "sha1Correlations" : "2jmj7l5rSw0yVb/vlWAYkK/YBwk",
        "primary" : true,
        "agent" : "cobaltpub",
        "path" : "/Cobalt/the-globe/WebPages/life/life-dwp.dwp",
        "eomDbid" : "199",
        "publicationId" : "2be2cf03-1c32-4e35-a25b-ed960cf770c5"
      },
      "sectionPath" : "/life/",
      "visible" : true
    }
  }, {
    "title" : "life-dwp.dwp",
    "type" : "webpage",
    "versionTimestamp" : 108834348854,
    "versionDate" : "2018-06-13T15:45:48.854Z",
    "nodeId" : "0243-094f20b24418-5a4e5c5ada05-1000-108834348854",
    "major" : 2,
    "minor" : 0,
    "pubInfo" : {
      "siteName" : "the-globe",
      "status" : "LIVE",
      "publicationTime" : "2018-06-13T15:45:48.854Z",
      "attributes" : {
        "pubDate" : "2018-06-13T15:45:48.423Z",
        "lastModified" : "2018-03-21T20:24:53.000Z",
        "sha1DwxLinks" : "k+3GG3N56RUyJg2ig+erHoXQmPU",
        "sha1Correlations" : "2jmj7l5rSw0yVb/vlWAYkK/YBwk",
        "primary" : true,
        "agent" : "cobaltpub",
        "path" : "/Cobalt/the-globe/WebPages/life/life-dwp.dwp",
        "eomDbid" : "199",
        "publicationId" : "8971e290-db3e-4477-9d8a-338b90c0c5b8"
      },
      "sectionPath" : "/life/",
      "visible" : true
    }
  }, {
    "title" : "life-dwp.dwp",
    "type" : "webpage",
    "versionTimestamp" : 108833946410,
    "versionDate" : "2018-06-13T15:39:06.410Z",
    "nodeId" : "0243-094f20b24418-5a4e5c5ada05-1000-108833946410",
    "major" : 1,
    "minor" : 0,
    "pubInfo" : {
      "siteName" : "the-globe",
      "status" : "LIVE",
      "publicationTime" : "2018-06-13T15:39:06.410Z",
      "attributes" : {
        "pubDate" : "2018-06-13T15:38:52.968Z",
        "lastModified" : "2018-03-21T20:24:53.000Z",
        "sha1DwxLinks" : "t8WJlB2PKQx0N3iaEPwROTSpOxA",
        "sha1Correlations" : "2jmj7l5rSw0yVb/vlWAYkK/YBwk",
        "primary" : true,
        "agent" : "cobaltpub",
        "path" : "/Cobalt/the-globe/WebPages/life/life-dwp.dwp",
        "eomDbid" : "199",
        "publicationId" : "4aa07abe-5641-4883-8dff-b397f8721df5"
      },
      "sectionPath" : "/life/",
      "visible" : true
    }
  } ]
}

4.6. Pages

4.6.1. getPage

GET /pages

Retrieve page aggregate by any of its paths. Any relative url that resolves the content can be used as the path parameter.

Description
Parameters
Query Parameters
Name Description Required Default Pattern

url

Relative (without scheme) URL of the content

-

null

urlsAbsolute

Resolve urls with absolute intent

-

false

aggregator

Aggregator [String]

-

null

Return Type
Content Type
  • application/json

Responses
Table 15. http response codes
Code Message Datatype

404

if no site corresponding to the requested hostname can be found or if the node or the file do not exist.

<<>>

0

[Context]

Samples

Request samples:

Response samples:

4.6.2. getPage1

GET /pages/{id}

Retrieve page aggregate by id

Description
Parameters
Path Parameters
Name Description Required Default Pattern

id

Id of the content

X

null

Query Parameters
Name Description Required Default Pattern

view

View to show the content

-

null

pageNumber

Page number for pagination of some contents

-

1

urlsAbsolute

Resolve urls with absolute intent

-

false

aggregator

Aggregator [String]

-

null

Return Type
Content Type
  • application/json

Responses
Table 16. http response codes
Code Message Datatype

404

if no site corresponding to the requested hostname can be found or if the node or the file do not exist.

<<>>

0

[Context]

Samples

Request samples:

Response samples:

4.6.3. getPageByForeignId

GET /pages/foreignid/{foreignId}

Retrieve page aggregate by foreign id

Description
Parameters
Path Parameters
Name Description Required Default Pattern

foreignId

Id of the content

X

null

Query Parameters
Name Description Required Default Pattern

view

View to show the content

-

null

pageNumber

Page number for pagination of some contents

-

1

urlsAbsolute

Resolve urls with absolute intent

-

false

aggregator

Aggregator [String]

-

null

Return Type
Content Type
  • application/json

Responses
Table 17. http response codes
Code Message Datatype

404

if no site corresponding to the requested hostname can be found or if the node or the file do not exist.

<<>>

0

[Context]

Samples

Request samples:

Response samples:

4.7. Preview

4.9. Site

4.9.1. getHierarchy

GET /site

Retrieve the entire site map, this method allows to retrieve the entire site map for the current site.

Description
Parameters
Return Type

-

Content Type
  • application/json

Responses
Table 25. http response codes
Code Message Datatype

200

<<>>

404

if no site corresponding to the requested hostname can be found

<<>>

Samples

Request samples:

Response samples:

{
  "root" : {
    "id" : "4000-044d3c58f808-e77dbc211220-0002",
    "name" : "game-of-thrones",
    "title" : "Game of Thrones",
    "description" : "Blog about Game of Thrones",
    "uri" : "/",
    "items" : [ {
      "id" : "4000-044da040fe02-ff804890f74b-0003",
      "name" : "season-1",
      "title" : "Season 1",
      "description" : "Season 1",
      "uri" : "/season-1",
      "items" : [ ],
      "status" : "ENABLED",
      "commentsEnabled" : false
    } ],
    "status" : "ENABLED",
    "commentsEnabled" : false
  },
  "nodes" : {
    "4000-044d3c58f808-e77dbc211220-0002" : {
      "id" : "4000-044d3c58f808-e77dbc211220-0002",
      "version" : "4000-044d3c58f808-e77dbc211220-0002-47297723212",
      "timestamp" : "2016-07-01T10:15:23.212Z",
      "name" : "game-of-thrones",
      "title" : "Game of Thrones",
      "description" : "Blog about Game of Thrones",
      "sys" : {
        "kind" : "site",
        "baseType" : "site",
        "type" : "blog",
        "creationTime" : "2016-07-01T10:15:14.559Z",
        "createdBy" : {
          "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
          "userName" : "matteo"
        },
        "updateTime" : "2016-07-01T10:15:23.212Z",
        "updatedBy" : {
          "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
          "userName" : "matteo"
        }
      },
      "pubInfo" : {
        "siteName" : "game-of-thrones",
        "status" : "LIVE",
        "publicationTime" : "2016-07-01T10:15:23.212Z",
        "publishedBy" : {
          "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
          "userName" : "matteo"
        },
        "canonical" : "/",
        "baseUrls" : [ "gameofthrones.dev" ],
        "urls" : [ ],
        "sectionPath" : "/"
      },
      "attributes" : {
        "tags" : [ ]
      },
      "staticAttributes" : {
        "status" : "ENABLED"
      },
      "pubInfoEx" : {
        "game-of-thrones" : {
          "siteName" : "game-of-thrones",
          "status" : "LIVE",
          "publicationTime" : "2016-07-01T10:15:14.962Z",
          "publishedBy" : {
            "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
            "userName" : "matteo"
          },
          "canonical" : "/",
          "baseUrls" : [ "gameofthrones.dev" ],
          "urls" : [ ],
          "liveInfo" : {
            "version" : "4000-044d3c58f808-e77dbc211220-0002-47297723212",
            "sourceVersion" : "4000-044d3c58f808-e77dbc211220-0002-n47297714962",
            "publicationTime" : "2016-07-01T10:15:23.212Z",
            "publishedBy" : {
              "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
              "userName" : "matteo"
            }
          },
          "stageInfo" : {
            "version" : "4000-044d3c58f808-e77dbc211220-0002-n47297714962",
            "publicationTime" : "2016-07-01T10:15:14.962Z",
            "publishedBy" : {
              "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
              "userName" : "matteo"
            }
          },
          "previewInfo" : {
            "version" : "4000-044d3c58f808-e77dbc211220-0002-n47297714962",
            "publishedBy" : {
              "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
              "userName" : "matteo"
            }
          },
          "sectionPath" : "/"
        }
      },
      "hierarchyChildrenIds" : [ "4000-044da040fe02-ff804890f74b-0003" ],
      "cacheKey" : "4000-044d3c58f808-e77dbc211220-0002",
      "contentLength" : 0,
      "lastModified" : 0,
      "cacheTimestamp" : 0,
      "dataType" : "node"
    },
    "4000-044da040fe02-ff804890f74b-0003" : {
      "id" : "4000-044da040fe02-ff804890f74b-0003",
      "version" : "4000-044da040fe02-ff804890f74b-0003-47314478708",
      "timestamp" : "2016-07-01T14:54:38.708Z",
      "parentId" : "4000-044d3c58f808-e77dbc211220-0002",
      "name" : "season-1",
      "title" : "Season 1",
      "description" : "Season 1",
      "sys" : {
        "kind" : "sitehierarchy",
        "baseType" : "section",
        "type" : "blogsection",
        "creationTime" : "2016-07-01T14:54:36.067Z",
        "createdBy" : {
          "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
          "userName" : "matteo"
        },
        "updateTime" : "2016-07-01T14:54:38.708Z",
        "updatedBy" : {
          "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
          "userName" : "matteo"
        }
      },
      "pubInfo" : {
        "siteName" : "game-of-thrones",
        "status" : "LIVE",
        "publicationTime" : "2016-07-01T14:54:38.708Z",
        "publishedBy" : {
          "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
          "userName" : "matteo"
        },
        "canonical" : "/season-1",
        "urls" : [ ],
        "sectionPath" : "/season-1/"
      },
      "attributes" : {
        "tags" : [ ]
      },
      "staticAttributes" : {
        "status" : "ENABLED"
      },
      "pubInfoEx" : {
        "game-of-thrones" : {
          "siteName" : "game-of-thrones",
          "status" : "LIVE",
          "publicationTime" : "2016-07-01T14:54:36.241Z",
          "publishedBy" : {
            "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
            "userName" : "matteo"
          },
          "canonical" : "/season-1",
          "urls" : [ ],
          "liveInfo" : {
            "version" : "4000-044da040fe02-ff804890f74b-0003-47314478708",
            "sourceVersion" : "4000-044da040fe02-ff804890f74b-0003-n47314476241",
            "publicationTime" : "2016-07-01T14:54:38.708Z",
            "publishedBy" : {
              "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
              "userName" : "matteo"
            }
          },
          "stageInfo" : {
            "version" : "4000-044da040fe02-ff804890f74b-0003-n47314476241",
            "publicationTime" : "2016-07-01T14:54:36.241Z",
            "publishedBy" : {
              "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
              "userName" : "matteo"
            }
          },
          "previewInfo" : {
            "version" : "4000-044da040fe02-ff804890f74b-0003-n47314476241",
            "publishedBy" : {
              "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
              "userName" : "matteo"
            }
          },
          "sectionPath" : "/season-1/"
        }
      },
      "hierarchyChildrenIds" : [ ],
      "cacheKey" : "4000-044da040fe02-ff804890f74b-0003",
      "contentLength" : 0,
      "lastModified" : 0,
      "cacheTimestamp" : 0,
      "dataType" : "node"
    }
  }
}

4.9.2. getNode1

GET /site/nodes

Retrieve info of the site root node

Description
Parameters
Return Type

-

Content Type
  • application/json

Responses
Table 26. http response codes
Code Message Datatype

200

<<>>

404

if no site corresponding to the requested hostname can be found

<<>>

Samples

Request samples:

Response samples:

{
  "id" : "4000-044d3c58f808-e77dbc211220-0002",
  "name" : "game-of-thrones",
  "title" : "Game of Thrones",
  "description" : "Blog about Game of Thrones",
  "uri" : "/",
  "nodeData" : {
    "id" : "4000-044d3c58f808-e77dbc211220-0002",
    "version" : "4000-044d3c58f808-e77dbc211220-0002-47834196189",
    "timestamp" : "2016-07-07T15:16:36.189Z",
    "name" : "game-of-thrones",
    "title" : "Game of Thrones",
    "description" : "Blog about Game of Thrones",
    "sys" : {
      "kind" : "site",
      "baseType" : "site",
      "type" : "blog",
      "creationTime" : "2016-07-01T10:15:14.559Z",
      "createdBy" : {
        "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
        "userName" : "matteo"
      },
      "updateTime" : "2016-07-07T15:16:36.189Z",
      "updatedBy" : {
        "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
        "userName" : "matteo"
      }
    },
    "pubInfo" : {
      "siteName" : "game-of-thrones",
      "status" : "LIVE",
      "publicationTime" : "2016-07-07T15:16:36.189Z",
      "publishedBy" : {
        "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
        "userName" : "matteo"
      },
      "canonical" : "/",
      "baseUrls" : [ "gameofthrones.dev" ],
      "urls" : [ ],
      "sectionPath" : "/"
    },
    "attributes" : {
      "tags" : [ ]
    },
    "staticAttributes" : {
      "status" : "ENABLED",
      "commentsEnabled" : true
    },
    "pubInfoEx" : {
      "game-of-thrones" : {
        "siteName" : "game-of-thrones",
        "status" : "LIVE",
        "publicationTime" : "2016-07-07T15:16:22.491Z",
        "publishedBy" : {
          "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
          "userName" : "matteo"
        },
        "canonical" : "/",
        "baseUrls" : [ "gameofthrones.dev" ],
        "urls" : [ ],
        "liveInfo" : {
          "version" : "4000-044d3c58f808-e77dbc211220-0002-47834196189",
          "sourceVersion" : "4000-044d3c58f808-e77dbc211220-0002-n47834182491",
          "publicationTime" : "2016-07-07T15:16:36.189Z",
          "publishedBy" : {
            "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
            "userName" : "matteo"
          }
        },
        "stageInfo" : {
          "version" : "4000-044d3c58f808-e77dbc211220-0002-n47834182491",
          "publicationTime" : "2016-07-07T15:16:22.491Z",
          "publishedBy" : {
            "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
            "userName" : "matteo"
          }
        },
        "previewInfo" : {
          "version" : "4000-044d3c58f808-e77dbc211220-0002-n47834182491",
          "publishedBy" : {
            "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
            "userName" : "matteo"
          }
        },
        "sectionPath" : "/"
      }
    },
    "hierarchyChildrenIds" : [ "4000-044da040fe02-ff804890f74b-0003" ],
    "cacheKey" : "4000-044d3c58f808-e77dbc211220-0002",
    "lastModified" : 0,
    "contentLength" : 0,
    "dataType" : "node",
    "cacheTimestamp" : 0
  },
  "status" : "ENABLED",
  "commentsEnabled" : true
}

4.9.3. getNode2

GET /site/nodes/{id}

Retrieve info of the specified site node

Description
Parameters
Path Parameters
Name Description Required Default Pattern

id

Node id

X

null

Return Type

-

Content Type
  • application/json

Responses
Table 27. http response codes
Code Message Datatype

200

<<>>

404

if no site corresponding to the requested hostname can be found

<<>>

Samples

Request samples:

Response samples:

{
  "id" : "4000-044d3c58f808-e77dbc211220-0002",
  "name" : "game-of-thrones",
  "title" : "Game of Thrones",
  "description" : "Blog about Game of Thrones",
  "uri" : "/",
  "nodeData" : {
    "id" : "4000-044d3c58f808-e77dbc211220-0002",
    "version" : "4000-044d3c58f808-e77dbc211220-0002-47834196189",
    "timestamp" : "2016-07-07T15:16:36.189Z",
    "name" : "game-of-thrones",
    "title" : "Game of Thrones",
    "description" : "Blog about Game of Thrones",
    "sys" : {
      "kind" : "site",
      "baseType" : "site",
      "type" : "blog",
      "creationTime" : "2016-07-01T10:15:14.559Z",
      "createdBy" : {
        "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
        "userName" : "matteo"
      },
      "updateTime" : "2016-07-07T15:16:36.189Z",
      "updatedBy" : {
        "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
        "userName" : "matteo"
      }
    },
    "pubInfo" : {
      "siteName" : "game-of-thrones",
      "status" : "LIVE",
      "publicationTime" : "2016-07-07T15:16:36.189Z",
      "publishedBy" : {
        "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
        "userName" : "matteo"
      },
      "canonical" : "/",
      "baseUrls" : [ "gameofthrones.dev" ],
      "urls" : [ ],
      "sectionPath" : "/"
    },
    "attributes" : {
      "tags" : [ ]
    },
    "staticAttributes" : {
      "status" : "ENABLED",
      "commentsEnabled" : true
    },
    "pubInfoEx" : {
      "game-of-thrones" : {
        "siteName" : "game-of-thrones",
        "status" : "LIVE",
        "publicationTime" : "2016-07-07T15:16:22.491Z",
        "publishedBy" : {
          "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
          "userName" : "matteo"
        },
        "canonical" : "/",
        "baseUrls" : [ "gameofthrones.dev" ],
        "urls" : [ ],
        "liveInfo" : {
          "version" : "4000-044d3c58f808-e77dbc211220-0002-47834196189",
          "sourceVersion" : "4000-044d3c58f808-e77dbc211220-0002-n47834182491",
          "publicationTime" : "2016-07-07T15:16:36.189Z",
          "publishedBy" : {
            "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
            "userName" : "matteo"
          }
        },
        "stageInfo" : {
          "version" : "4000-044d3c58f808-e77dbc211220-0002-n47834182491",
          "publicationTime" : "2016-07-07T15:16:22.491Z",
          "publishedBy" : {
            "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
            "userName" : "matteo"
          }
        },
        "previewInfo" : {
          "version" : "4000-044d3c58f808-e77dbc211220-0002-n47834182491",
          "publishedBy" : {
            "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
            "userName" : "matteo"
          }
        },
        "sectionPath" : "/"
      }
    },
    "hierarchyChildrenIds" : [ "4000-044da040fe02-ff804890f74b-0003" ],
    "cacheKey" : "4000-044d3c58f808-e77dbc211220-0002",
    "lastModified" : 0,
    "contentLength" : 0,
    "dataType" : "node",
    "cacheTimestamp" : 0
  },
  "status" : "ENABLED",
  "commentsEnabled" : true
}

4.9.4. getSiteRiquestHandlers

GET /site/handlers

Retrieves the {@link SiteRequestHandler}s configured on the site

Description
Parameters
Return Type

-

Content Type
  • application/json

Responses
Table 28. http response codes
Code Message Datatype

200

<<>>

403

if the user has no ADMINISTATOR rights on the site.

<<>>

Samples

Request samples:

Response samples:

{
  "id" : "4000-044d3c58f808-e77dbc211220-0002",
  "name" : "game-of-thrones",
  "title" : "Game of Thrones",
  "description" : "Blog about Game of Thrones",
  "uri" : "/",
  "nodeData" : {
    "id" : "4000-044d3c58f808-e77dbc211220-0002",
    "version" : "4000-044d3c58f808-e77dbc211220-0002-47834196189",
    "timestamp" : "2016-07-07T15:16:36.189Z",
    "name" : "game-of-thrones",
    "title" : "Game of Thrones",
    "description" : "Blog about Game of Thrones",
    "sys" : {
      "kind" : "site",
      "baseType" : "site",
      "type" : "blog",
      "creationTime" : "2016-07-01T10:15:14.559Z",
      "createdBy" : {
        "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
        "userName" : "matteo"
      },
      "updateTime" : "2016-07-07T15:16:36.189Z",
      "updatedBy" : {
        "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
        "userName" : "matteo"
      }
    },
    "pubInfo" : {
      "siteName" : "game-of-thrones",
      "status" : "LIVE",
      "publicationTime" : "2016-07-07T15:16:36.189Z",
      "publishedBy" : {
        "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
        "userName" : "matteo"
      },
      "canonical" : "/",
      "baseUrls" : [ "gameofthrones.dev" ],
      "urls" : [ ],
      "sectionPath" : "/"
    },
    "attributes" : {
      "tags" : [ ]
    },
    "staticAttributes" : {
      "status" : "ENABLED",
      "commentsEnabled" : true
    },
    "pubInfoEx" : {
      "game-of-thrones" : {
        "siteName" : "game-of-thrones",
        "status" : "LIVE",
        "publicationTime" : "2016-07-07T15:16:22.491Z",
        "publishedBy" : {
          "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
          "userName" : "matteo"
        },
        "canonical" : "/",
        "baseUrls" : [ "gameofthrones.dev" ],
        "urls" : [ ],
        "liveInfo" : {
          "version" : "4000-044d3c58f808-e77dbc211220-0002-47834196189",
          "sourceVersion" : "4000-044d3c58f808-e77dbc211220-0002-n47834182491",
          "publicationTime" : "2016-07-07T15:16:36.189Z",
          "publishedBy" : {
            "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
            "userName" : "matteo"
          }
        },
        "stageInfo" : {
          "version" : "4000-044d3c58f808-e77dbc211220-0002-n47834182491",
          "publicationTime" : "2016-07-07T15:16:22.491Z",
          "publishedBy" : {
            "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
            "userName" : "matteo"
          }
        },
        "previewInfo" : {
          "version" : "4000-044d3c58f808-e77dbc211220-0002-n47834182491",
          "publishedBy" : {
            "userId" : "323dc672-e3f0-4549-8d9a-5e45d5464028",
            "userName" : "matteo"
          }
        },
        "sectionPath" : "/"
      }
    },
    "hierarchyChildrenIds" : [ "4000-044da040fe02-ff804890f74b-0003" ],
    "cacheKey" : "4000-044d3c58f808-e77dbc211220-0002",
    "lastModified" : 0,
    "contentLength" : 0,
    "dataType" : "node",
    "cacheTimestamp" : 0
  },
  "status" : "ENABLED",
  "commentsEnabled" : true
}

4.10. Tags

4.10.1. tagsByFamily

GET /tags/{family}

Retrieve N most used tags in the content published in the last Y days

Description
Parameters
Path Parameters
Name Description Required Default Pattern

family

Family name

X

null

Query Parameters
Name Description Required Default Pattern

maxResults

Max results number

-

10

days

Days of oldest results

-

null

sortAlphabetically

Sort alphabetically

-

false

baseSection

Section to be used to define a subset of the published content. Default is all sites section.

-

/

Return Type

array[[Tag]]

Content Type
  • application/json

Responses
Table 29. http response codes
Code Message Datatype

0

default response

List[[Tag]]

Samples

Request samples:

Response samples:

4.11. Themes

4.11.1. getTheme

GET /themes/{name}

Read theme data. Return information about the specified theme. The theme name correspond to the name of the theme folder inside the themes directory

Description
Parameters
Path Parameters
Name Description Required Default Pattern

name

Theme name

X

null

Return Type

-

Content Type
  • application/json

Responses
Table 30. http response codes
Code Message Datatype

200

<<>>

404

if no theme corresponding to the provided name can be found.

<<>>

Samples

Request samples:

Response samples:

{
  "name" : "default",
  "title" : "Cobalt Default Theme",
  "author" : "Cobalt Dev Team",
  "extension" : "ftl",
  "version" : "0.0.1",
  "description" : "Cobalt Default Theme - Based on Clean Blog (http://startbootstrap.com/template-overviews/clean-blog/)",
  "thumb" : "http://site.dev:8080/default/thumb.jpg",
  "templates" : {
    "archive" : [ {
      "name" : "default",
      "resource" : "http://site.dev:8080/default/templates/archive.ftl",
      "type" : "archive"
    } ],
    "section" : [ {
      "name" : "default",
      "resource" : "http://site.dev:8080/default/templates/section.ftl",
      "type" : "section"
    } ],
    "error" : [ {
      "name" : "default",
      "resource" : "http://site.dev:8080/default/templates/error.ftl",
      "type" : "error"
    } ],
    "article" : [ {
      "name" : "amp",
      "resource" : "http://site.dev:8080/default/templates/article-amp.ftl",
      "type" : "article"
    }, {
      "name" : "default",
      "resource" : "http://site.dev:8080/default/templates/article.ftl",
      "type" : "article",
      "thumb" : "http://site.dev:8080/default/templates/article.jpg"
    } ],
    "search" : [ {
      "name" : "default",
      "resource" : "http://site.dev:8080/default/templates/search.ftl",
      "type" : "search"
    } ],
    "site" : [ {
      "name" : "default",
      "resource" : "http://site.dev:8080/default/templates/site.ftl",
      "type" : "site",
      "thumb" : "http://site.dev:8080/default/templates/site.jpg"
    } ],
    "searchSidebar" : [ {
      "name" : "default",
      "resource" : "http://site.dev:8080/default/templates/searchSidebar.ftl",
      "type" : "searchSidebar"
    } ],
    "sidebar" : [ {
      "name" : "default",
      "resource" : "http://site.dev:8080/default/templates/sidebar.ftl",
      "type" : "sidebar"
    } ],
    "registration" : [ {
      "name" : "default",
      "resource" : "http://site.dev:8080/default/templates/registration.ftl",
      "type" : "registration"
    } ],
    "styles" : [ {
      "name" : "default",
      "resource" : "http://site.dev:8080/default/templates/styles.ftl",
      "type" : "styles"
    } ],
    "tag" : [ {
      "name" : "default",
      "resource" : "http://site.dev:8080/default/templates/tag.ftl",
      "type" : "tag"
    } ],
    "scripts" : [ {
      "name" : "default",
      "resource" : "http://site.dev:8080/default/templates/scripts.ftl",
      "type" : "scripts"
    } ],
    "verification" : [ {
      "name" : "default",
      "resource" : "http://site.dev:8080/default/templates/verification.ftl",
      "type" : "verification"
    } ]
  },
  "variants" : [ {
    "name" : "default",
    "resource" : "http://site.dev:8080/assets/themes/default/css/default.css",
    "thumb" : "http://site.dev:8080/assets/themes/default/css/default.jpg"
  } ],
  "lastModified" : 0
}

4.11.2. themes

GET /themes

List all themes

Description
Parameters
Query Parameters
Name Description Required Default Pattern

limit

Page limit

-

20

offset

Page offset

-

0

Return Type

-

Content Type
  • application/json

Responses
Table 31. http response codes
Code Message Datatype

200

<<>>

Samples

Request samples:

Response samples:

{
  "count" : 1,
  "result" : [ {
    "name" : "default",
    "title" : "Cobalt Default Theme",
    "author" : "Cobalt Dev Team",
    "extension" : "ftl",
    "version" : "0.0.1",
    "description" : "Cobalt Default Theme - Based on Clean Blog (http://startbootstrap.com/template-overviews/clean-blog/)",
    "thumb" : "http://site.dev:8080/default/thumb.jpg",
    "templates" : {
      "archive" : [ {
        "name" : "default",
        "resource" : "http://site.dev:8080/default/templates/archive.ftl",
        "type" : "archive"
      } ],
      "section" : [ {
        "name" : "default",
        "resource" : "http://site.dev:8080/default/templates/section.ftl",
        "type" : "section"
      } ],
      "error" : [ {
        "name" : "default",
        "resource" : "http://site.dev:8080/default/templates/error.ftl",
        "type" : "error"
      } ],
      "article" : [ {
        "name" : "amp",
        "resource" : "http://site.dev:8080/default/templates/article-amp.ftl",
        "type" : "article"
      }, {
        "name" : "default",
        "resource" : "http://site.dev:8080/default/templates/article.ftl",
        "type" : "article",
        "thumb" : "http://site.dev:8080/default/templates/article.jpg"
      } ],
      "search" : [ {
        "name" : "default",
        "resource" : "http://site.dev:8080/default/templates/search.ftl",
        "type" : "search"
      } ],
      "site" : [ {
        "name" : "default",
        "resource" : "http://site.dev:8080/default/templates/site.ftl",
        "type" : "site",
        "thumb" : "http://site.dev:8080/default/templates/site.jpg"
      } ],
      "searchSidebar" : [ {
        "name" : "default",
        "resource" : "http://site.dev:8080/default/templates/searchSidebar.ftl",
        "type" : "searchSidebar"
      } ],
      "sidebar" : [ {
        "name" : "default",
        "resource" : "http://site.dev:8080/default/templates/sidebar.ftl",
        "type" : "sidebar"
      } ],
      "registration" : [ {
        "name" : "default",
        "resource" : "http://site.dev:8080/default/templates/registration.ftl",
        "type" : "registration"
      } ],
      "styles" : [ {
        "name" : "default",
        "resource" : "http://site.dev:8080/default/templates/styles.ftl",
        "type" : "styles"
      } ],
      "tag" : [ {
        "name" : "default",
        "resource" : "http://site.dev:8080/default/templates/tag.ftl",
        "type" : "tag"
      } ],
      "scripts" : [ {
        "name" : "default",
        "resource" : "http://site.dev:8080/default/templates/scripts.ftl",
        "type" : "scripts"
      } ],
      "verification" : [ {
        "name" : "default",
        "resource" : "http://site.dev:8080/default/templates/verification.ftl",
        "type" : "verification"
      } ]
    },
    "variants" : [ {
      "name" : "default",
      "resource" : "http://site.dev:8080/assets/themes/default/css/default.css",
      "thumb" : "http://site.dev:8080/assets/themes/default/css/default.jpg"
    } ],
    "lastModified" : 0
  } ],
  "limit" : 10,
  "offset" : 0
}

4.12. Urls

4.12.1. evalUrl

GET /urls/{id}

Eval url from id

Description
Parameters
Path Parameters
Name Description Required Default Pattern

id

Id of the node to resolve the url

X

null

Query Parameters
Name Description Required Default Pattern

viewStatus

View status of the site the node is in

-

LIVE

siteName

Site name of the site the node is in

-

null

format

Specific format (a.k.a. file) of the node for the url resolution

-

null

urlIntent

Url intent among ABSOLUTE or HOST_RELATIVE

-

ABSOLUTE

resolutionType

Resolution type among RESOURCE or CONTENT

-

RESOURCE

view

Specific view for the url resolution

-

null

page

Specific page to ask if needed

-

null

Return Type
Content Type
  • application/json

Responses
Table 32. http response codes
Code Message Datatype

0

default response

[UrlHolder]

Samples

Request samples:

Response samples:

4.12.2. evalUrlByForeignId

GET /urls/foreignid/{foreignId}

Eval url from foreign id

Description
Parameters
Path Parameters
Name Description Required Default Pattern

foreignId

Foreign id of the node to resolve the url

X

null

Query Parameters
Name Description Required Default Pattern

viewStatus

View status of the site the node is in

-

LIVE

siteName

Site name of the site the node is in

-

null

format

Specific format (a.k.a. file) of the node for the url resolution

-

null

urlIntent

Url intent among ABSOLUTE or HOST_RELATIVE

-

ABSOLUTE

resolutionType

Resolution type among RESOURCE or CONTENT

-

RESOURCE

view

Specific view for the url resolution

-

null

page

Specific page to ask if needed

-

null

Return Type
Content Type
  • application/json

Responses
Table 33. http response codes
Code Message Datatype

0

default response

[UrlHolder]

Samples

Request samples:

Response samples:

4.12.3. listUrl

GET /urls/list

List urls for node id

Description
Parameters
Query Parameters
Name Description Required Default Pattern

id

node id

X

null

Content Type
  • application/json

Responses
Table 34. http response codes
Code Message Datatype

0

default response

[CollectionResultString]

Samples

Request samples:

Response samples:

4.12.4. resolveUrl

GET /urls/resolve

Resolve url into a node id

Description
Parameters
Query Parameters
Name Description Required Default Pattern

url

url to be resolved

X

null

Return Type
Content Type
  • application/json

Responses
Table 35. http response codes
Code Message Datatype

0

default response

[ContentDescriptor]

Samples

Request samples:

Response samples: