Quintype JSON Syndication Guide

This document explains how to set up JSON syndication for content ingestion into Bold CMS.

Written By Manisha D (Administrator)

Updated at December 30th, 2025

This document describes the API endpoint requirements and data format for syndicating stories into Bold CMS using Quintype JSON Syndication.

API Endpoint Specifications:

  • Host an API endpoint that returns the latest published stories in JSON format.
  • Quintype will make a GET request to this endpoint at a configurable frequency (1 minute to 24 hours).

Example endpoint format:

https://<your-website.com>/<route>/stories.json
 

  • Stories will not be syndicated again unless the id or pub-date is updated.
  • Ensure that pub-date is updated whenever changes are made to a story.

Expected Response Formats: (Without Cards)


{
  "stories": [
    {
      "categories": [
        "Finance",
        "Politics",
        "Sports"
      ],
      "template":"photo",
      "headline": "Sample story headline",
      "sub-headline": "Sample story sub-headline",
      "hero-image-url": "https://images.assettype.com/thequint/2018-10/212e5a00-501a-4cb6-aab0-72f21130c8bc/Modi_Nehru_Bose_HI.jpg",
      "hero-image-caption": "some caption",
      "id": "e46a4c7a-a14b-4c5c-ab1c-9bc767e8b014",
      "slug": "sample-story-headline",
      "content": "<p>Lorem ipsum dolret.</p><p>However, foo lore ispum dolret.</p><aside><cite>Foo to QT Now</cite>“No one said anything like this. Foo ”</aside><p>Bruce Wayne, eccentric billionaire. Hero can be anyone. Even a man knowing something as simple and reassuring as putting a coat around a young boy shoulders to let him know the world hadn't ended</p>",
      "summary": "<p>Lorem ipsum dolret.</p>",
      "pub-date": "02/14/1999 04:02:40",
      "canonical-url": "https://www.publisher-host.com/politics/sample-story-headline"
      "tags": [
        "health",
        "slice of life",
        "elections2020"
      ],
      "authors": [
        {
          "name": "foo",
          "email": "foo@bar.com"
        },
        {
          "name": "bar",
          "email": "bar@baz.com"
        }
      ],
      "seo": {
          "meta-title": "seo meta title",
          "meta-description": "seo meta description",
          "meta-keywords": ["seo-meta-keyword-1", "seo-meta-keyword-2"]
      }
    }
  ]
}

Expected Response with cards

{
  "stories": [
    {
      "categories": [
        "Finance",
        "Politics",
        "Sports"
      ],
      "template":"photo",
      "headline": "Sample story headline",
      "sub-headline": "Sample story sub-headline",
      "hero-image-url": "https://images.assettype.com/thequint/2018-10/212e5a00-501a-4cb6-aab0-72f21130c8bc/Modi_Nehru_Bose_HI.jpg",
      "hero-image-caption": "some caption",
      "id": "e46a4c7a-a14b-4c5c-ab1c-9bc767e8b014",
      "slug": "sample-story-headline",
       "cards": [
        {
          "content": "<p>Use BR tags to indicate a next line character within a story element. This is the content in the first element.</p>"
        },
        {
          "content": "<p> this is content in card no.2 </p>"
        }
      ],
      "summary": "<p>Lorem ipsum dolret.</p>",
      "pub-date": "02/14/1999 04:02:40",
      "canonical-url": "https://www.publisher-host.com/politics/sample-story-headline"
      "tags": [
        "health",
        "slice of life",
        "elections2020"
      ],
      "authors": [
        {
          "name": "foo",
          "email": "foo@bar.com"
        },
        {
          "name": "bar",
          "email": "bar@baz.com"
        }
      ],
      "seo": {
          "meta-title": "seo meta title",
          "meta-description": "seo meta description",
          "meta-keywords": ["seo-meta-keyword-1", "seo-meta-keyword-2"]
      }
    }
  ]
}


Syndication Format Reference:
 

Key Description Sample Value Type Required
stories Root element with array of stories Array Yes
categories Story categories / mapped sections ["Finance","Sports"] Array Yes
headline Story headline "Sample headline" String Yes
sub-headline Subheadline "Sample sub-headline" String No
hero-image-url URL of main story image https://example.com/image.jpg String/URL No
id Unique story ID "uuid" String Yes
slug URL slug "sample-headline" String Optional
content Story body (HTML) "Content" String Yes (if no cards)
cards Array of story cards [{"content": "Text"}] Array Yes (if no content)
summary Short description "Summary" String No
pub-date Published date (MM/dd/yyyy HH:mm:ss) "02/14/2019 04:02:40" String Yes
canonical-url Canonical story URL https://example.com/story URL No
tags Story tags ["tag1", "tag2"] Array No
authors Story authors [{"name":"X","email":"x@y.com"}] Array Yes
seo SEO metadata {"meta-title": "..."} Object No
template Story template in Bold "Photo" String No

How to syndicate content into multiple cards and paragraphs
You can structure story content using multiple cards, where each card represents a separate story element. This helps control how content is broken up and displayed in Bold. 

Multiple Cards with a Single Paragraph Each 
Each card contains one paragraph wrapped in a <p> tag.

"cards": [
 {
   "content": "<p>This is the content of the first card.</p>"
 },
 {
   "content": "<p>This is the content of the second card.</p>"
 }
]

Multiple cards: A single card can include more than one paragraph by using multiple <p> tags.

"cards": [
  {
    "content": "<p>This is the first paragraph in card one.</p>"
  },
  {
    "content": "<p>This is the first paragraph in card two.</p><p>This is the second paragraph in the same card.</p>"
  }
]
Important:
When using the cards field, do not include the content field at the root level of the story. The cards array will be used as the primary story content during syndication.


Syndicating Single or Multiple Story Elements

Single paragraph in one element:

"content": "<p>Paragraph text</p>"
Multiple paragraphs in one element:
"content": "<p>Paragraph 1</p><p>Paragraph 2</p>"

Multiple story elements:

"content": "<p>First element</p><p>Second element</p>"
 

Image Syndication Guidelines
When syndicating content, HTML image elements within your story content will automatically be converted to Bold-specific image elements. To include captions with images, you can use any of the following approaches:

Important: Image URLs must be valid, accessible, and have proper image file extensions.

Valid Examples:

  • https://<your-website.com>/<someroute>/sample.jpeg
  • https://<your-website.com>/2024-05/e30bc2f9-3e6b-44e2-b78f-a17d4605fb75/FIRE.jpg


Invalid Examples:

  1. Missing protocol: www.example.com/image.jpg
  2. Incorrect domain: https://ww.example.com/image.jpg
  3. Wrong path or extension: http://www.example.com/image.jpgg
  4. File not found: http://www.example.com/nonexistent.jpg
  5. Restricted access: http://www.example.com/restricted/image.jpg
  6. Invalid characters in URL: http://www.example.com/image with spaces.jpg
  7. Expired URL: http://www.example.com/expired.jpg
  8. Missing filename: https://www.example.com/?uuid=c29cff3c-977e-5c07-a0a5-16a8e35d3316
     

Methods to Include Captions

1. Pass the caption as data-title in the <img> element. Caption for the below element will be “Singer Arjun Kanungo. (Photo: IANS)“

<img src='http://iansphoto.in/web/photoimages_new/400/2017/05/07/42b5f93b0f04a21a4f43a7384e089674.jpg' data-title='Singer Arjun Kanungo. (Photo: IANS)'/>

2. Pass the caption as figcaption of figure HTML tag. Caption for the below element will be “A cheeky macaque, Lower Kintaganban River, Borneo“

<figure> <img src="http://html5doctor.com/wp-content/uploads/2010/03/macaque.jpg" alt="Macaque in the trees"> <figcaption>A cheeky macaque, Lower Kintaganban River, Borneo</figcaption> </figure>

3. Captions in Wordpress follow a different pattern but the system has support for that too. Listing the structure below just for reference because this is expected to be generated by Wordpress. Here the caption will be “Marion <em> Braune</em>”

<div id="attachment_1897" style="width: 810px" class="wp-caption aligncenter"> <a href="http://iansphoto.in/web/photoimages_new/400/2017/05/07/42b5f93b0f04a21a4f43a7384e089674.jpg" class="lightbox" rel="lightbox"> <img class="wp-image-1897 size-full" src="http://iansphoto.in/web/photoimages_new/400/2017/05/07/42b5f93b0f04a21a4f43a7384e089674.jpg" alt="" width="800" height="533"> </a> <p class="wp-caption-text">Marion <em>Braune</em></p> </div>

If you have any further questions, please reach out to support@quintype.com

To know more about syndication, please click here