Help Center
  • Welcome
  • Setka Editor
    • Getting started
    • Drag-and-Drop & Multiselect
    • Text editing
    • Grids and Layout
    • Images
      • Image Editor
    • Background images
    • Icons
    • Animations
    • Lists
    • Tables
    • Dividers
    • Footnotes
    • Hotspots
    • Enhance Symbols
    • Post templates
    • Buttons
    • Comments and collaboration
    • Embeds
    • Hyphenation
    • Responsive layout for mobile screens
    • Custom CSS
    • Custom JS plugins
  • Setka Content Design System Manager
    • Creating and editing styles
    • Text formats and fonts
    • Styles display for mobile mevices
    • Text and background colors
    • Dividers
    • Icons
    • Components – reusable design elements
      • Creating Components with HTML and CSS
        • CSS in components
        • Component examples
    • Configuring layout grids
    • Editing default elements with Custom CSS
    • Adding team members
  • Account Settings
    • Account settings basics
    • Access rights
    • Billing and subscription
  • Preserve your Setka Editor content after the service shutdown
  • Integrations
    • Setka and WordPress
      • Installing Setka Editor WordPress plugin
      • Launching Setka Editor on the post creation page
      • Setka Editor and WordPress compatibility
      • Setka Editor compatibility with the most popular WordPress plugins
      • Inserting graphs, charts, or diagrams into a post
      • Setka Editor and Google AMP
      • Inserting adverts into a post
      • srcset — the attribute for image size optimization
      • Page load speed optimization settings
        • Autoptimize plugin configuration
      • WordPress troubleshooting: known Issues and how to fix them
      • Preserve your Setka Editor content after the service shutdown
    • Setka and Drupal
      • Setka for Drupal — compatibility, and features
      • Installing Setka modules for Drupal
      • Setka content on AMP pages in Drupal
    • Setka and Magento
      • Installing Magento 2 extension
        • Setka Editor configuration page
      • Preserve your Setka Editor content after the service shutdown
    • Setka and HubSpot
      • Setka Editor and HubSpot Blogs
      • Setka Editor and HubSpot Landing Pages
      • Semi-gated content with a HubSpot form
      • Preserve your Setka Editor content after the service shutdown
    • Setka and Bitrix
      • Preserve your Setka Editor content after the service shutdown
    • Setka and Ghost
      • Copying and pasting posts from Setka to Ghost
    • Setka and SharePoint Online
      • Installing Setka Editor application into SharePoint Online
    • Setka and Zapier
      • Setka and Webflow
        • Exporting new posts
        • Updating exported posts
      • Setka and Shopify
    • Setka and Integromat
    • Content Cloud
  • API
    • Setka Content Cloud API
    • Webhooks
    • API for Custom CMS Integration
      • Introduction to custom integration
      • Integration with Content Design System Manager (CDSM)
        • Initial sync — receiving Setka Editor files to connect them to your CMS
        • Storing and processing Setka Editor files
        • Connecting Setka Editor files to the pages of your site
        • Receiving style updates from the Style Manager and new editor versions
      • Setka Post Editor initialization (JavaScript)
      • Integration with Style Manager (API v1, previous version)
      • Preserve your Setka Editor content after the service shutdown
    • Custom Components API
  • VIDEO TUTORIALS
    • Setka Editor Video Tutorials
  • Components Library
    • Components Library
    • Guide: Ideas for Using Setka Editor’s Components to Improve Content Design
  • Content Experience Design Best Practices
    • Guide To Designing a Great Content Experience
Powered by GitBook
On this page
  • Working with posts when Cloud API is enabled
  • Publishing the post
  • Updating the post
  • Making API requests with the Setka Cloud API
  • Authorization
  • 1. In the request header
  • 2. In the request parameters
  • Example API request response
  • Description of a received set of fields
  • Making API requests with additional parameters
  • Filters
  • Additional fields
  • Selecting post data
  • Possible errors when using the Setka Cloud API
  • Preserve your Setka Editor content after the service shutdown

Was this helpful?

  1. API

Setka Content Cloud API

PreviousContent CloudNextWebhooks

Last updated 1 year ago

Was this helpful?

Setka Cloud API allows you to download HTML code and auxiliary data of posts saved in your .

To enable Cloud API, please contact .

Working with posts when Cloud API is enabled

If Cloud API is active on your Setka account, you will see some new buttons that will help you operate with the posts.

Publishing the post

If Cloud API is enabled, you will see the Publish / Unpublish button on the post badge in your . It determines the status of the post: published or draft, respectively:

The same buttons will appear in the post editor:

Updating the post

After the post is published, it can also be updated. Until then, its' status will stay as draft . To update the post and make the new revision available as published :

  1. Make some changes in the published post and click Save draft.

  2. Click Republish:

Making API requests with the Setka Cloud API

To fetch a complete list of posts from your Setka account, run the following request by adding a license key:

GET https://editor.setka.io/api/v2/posts

To get a specific post from your Setka account, you need to specify its ID:

GET https://editor.setka.io/api/v2/posts/POST_ID

Where POST_ID is the post’s ID.

By default, API will only return published posts with no images or HubSpot data. To get draft posts, use the state:draft or state:all filters. To include HubSpot data and/or images in the results, add additional fields to the request.

Authorization

Authorizing your identity in the Setka Cloud API is possible in two ways:

1. In the request header

Add the authorization header to the request:

{
  "Authorization": "Bearer YOUR_LICENSE_KEY"
}

where YOUR_LICENSE_KEY is your license key.

2. In the request parameters

Add the token parameter to the request:

GET https://editor.setka.io/api/v2/posts?token=YOUR_LICENSE_KEY

where YOUR_LICENSE_KEY is your license key.

Example API request response

If the request is successful, you will receive a response consisting of an array of posts. The response will be paginated if the number of posts is large. Below is an example API request response:

HTTP/1.1 200 OK
{
  posts: [
    {
      "id": 2587,
      "title": "Stylist",
      "style_name": "General",
      "layout_name": "6col_19774",
      "reading_time": 240,
      "preview_link": "https://editor.setka.io/posts/80a44hd5924792",
      "state": "published"
      "author": {
        "id": 44,
        "name": "John Smith"
      },
      "body_html": "Hello!",
      "assets": {
        "plugins": [
          "https://ceditor.setka.io/clients/js_plugins/5ca41dc7f0df3e3d6170901b627d32fc/public.js"
        ],
        "styles": [
          "https://ceditor.setka.io/common_css/common_css_1565603693.css",
          "https://ceditor.setka.io/clients/GP1TwUnF9mFFVzgqnAplHSQs51xdl4WT/css/loM7yyO-6xsVawmBxqej8A.css",
          "https://ceditor.setka.io/clients/GP1TwUnF9mFFVzgqnAplHSQs51xdl4WT/layout_option_builds/19774/gazQpY7j6Cgq9gFsEKYF5A.css"
        ],
        "images": [
          {
            "id": 3310,
            "url": "https://ceditor.setka.io/clients/U8Cr2B1ZnJjyHr6e6xn_Qa7N1oqyj7cB/post_images/-tltJS8D79MI5Yltt37MCA.jpg",
            "alt": "Alt text"
            "sizes": [
              {
                "width": 3654,
                "height": 5473,
                "url": "https://ceditor.setka.io/clients/U8Cr2B1ZnJjyHr6e6xn_Qa7N1oqyj7cB/post_images/-tltJS8D79MI5Yltt37MCA.jpg"
              },
              {
                "width": 500,
                "height": 5473,
                "url": "https://ceditor.setka.io/6xAHRUiLM1NBnWZ9JupZNdugX1UyoQkg9kzIGk9--vk/w:500/q:88/plain/clients/U8Cr2B1ZnJjyHr6e6xn_Qa7N1oqyj7cB/post_images/-tltJS8D79MI5Yltt37MCA.jpg"
              },
              {
                "width": 1000,
                "height": 5473,
                "url": "https://ceditor.setka.io/Ioa24dDnWZ9JupZNdugX1UyoQkg9kzIGk9--vk/w:1000/q:88/plain/clients/U8Cr2B1ZnJjyHr6e6xn_Qa7N1oqyj7cB/post_images/-tltJS8D79MI5Yltt37MCA.jpg"
              }
            ]
          }
        ]
      },
      "hubspot_post": {
        "id": 141,
        "url": "https://hubspotblog.com/1-blog-page/-temporary-slug-bbd6cb8e-afed-4291-8937-c779c9ac2d25?hs_preview=ludkAblF-28956926215",
        "blog_id": 1315
      },
      "created_at": "2019-07-19T10:25:27Z",
      "updated_at": "2019-07-19T10:27:40Z",
      "published_at": "2019-07-22T13:34:11Z"
    }
  ],
  pagination: {
    "page": 1,
    "limit": 20,
    "page_count": 1,
    "total_count": 1
  }
}

Description of a received set of fields

Field

Description

posts

Posts array. Contains all the posts from your Setka account. The selection can be limited using additional parameters.

pagination

Pagination of search results. Contains information about the current page, the number of pages, the total number of posts, and the number of posts per page.

Posts array elements

Element

Description

id

The post’s unique ID.

title

The post’s title.

style_name

The name of the style used in the post.

layout_name

The name of the grid in which the post is laid out.

reading_time

The estimated time to read the post (in seconds).

preview_link

A link to the post’s preview in your Setka account.

state

The post’s state (either draft or published).

created_at

The date and time of the post’s creation.

updated_at

The date and time when the post was last updated.

published_at

The date and time of the post’s publication.

author

The post’s author, where

— id — the author’s unique ID.

— name — the author’s name specified in your Setka account.

body_html

The post’s full HTML code.

assets

Any additional files in the posts (e.g., CSS, JavaScript, or images).

hubspot_post

The post data exported to HubSpot, where:

— id — the post’s unique ID.

— url — the link to the post in HubSpot.

— blog_id — the post’s ID in HubSpot.

Note: Getting the hubspot_post field in your API response will require the use of additional parameters.

Assets element files

As mentioned above, the assets element contains links to other files and assets. The possible types of assets are:

File

URL

Description

plugins

https://ceditor.setka.io/clients

/js_plugins/5ca41dc7f0df3e3d6170901b627d32fc/public.js

The scripts to run interactive post elements (e.g., animations, galleries, or notes).

styles

https://ceditor.setka.io/common_css

/common_css_1565603693.css

images

https://ceditor.setka.io/clients

/U8Cr2B1ZnJjyHr6e6xn_Qa7N1oqyj7cB/post_images/-tltJS8D79MI5Yltt37MCA.jpg

The images used in the post, where:

— id — the image’s unique ID.

— url — the link to the file.

— alt — the alternative text.

Pagination object elements

Element

Description

page

The current page number.

limit

The maximum number of posts per page.

page_count

The total number of pages.

total_count

The total number of posts.

Making API requests with additional parameters

Using additional request parameters with the Setka Cloud API is necessary to filter posts by features or to include or exclude certain data in the response.

Filters

You can filter posts by status and author, e.g.:

GET https://editor.setka.io/api/v2/posts?filter=state:draft,author.id:1111&token=YOUR_LICENSE_KEY

The available filters are:

  • author — the post’s author. The filter works both by ID (i.e., author.id) and by author name (author.name).

  • state — the post’s status, i.e., one of the following: draft, published, or all (both draft and published).

Additional fields

You can also include additional fields in the API response with the include parameter and listing the fields separated by commas, e.g.:

GET https://editor.setka.io/api/v2/posts?include=hubspot_post,images&token=YOUR_LICENSE_KEY

The available fields are:

  • hubspot_post — the data of a post exported to HubSpot.

  • images — all images used in a post.

Selecting post data

If you need to obtain individual fields from your Setka account (e.g., only identifiers and post names), use the select parameter:

GET https://editor.setka.io/api/v2/posts?select=id,title&token=YOUR_LICENSE_KEY

The available fields are:

  • id — the post’s unique ID.

  • title — the post’s title.

  • style_name — the name of the style used in the post.

  • layout_name — the name of the grid in which the post is laid out.

  • reading_time — the estimated time to read the post (in seconds).

  • preview_link — a link to the post’s preview in your Setka account.

  • state — the post’s state (either draft or published).

  • created_at — the date and time of the post’s creation.

  • updated_at — the date and time when the post was last updated.

  • published_at — the date and time of the post’s publication.

  • author — the post’s author, where id is the author’s unique ID, and the name is the author’s name specified in your Setka account.

  • body_html — the post’s full HTML code.

  • assets — any additional files in the posts (e.g., CSS, JavaScript, or images).

  • hubspot_post — the post data exported to HubSpot, where id is the post’s unique ID; url is the link to the post in HubSpot; blog_id is the post’s ID in HubSpot.

Possible errors when using the Setka Cloud API

When using the Setka Cloud API, you might encounter the following errors:

HTTP/1.1 401 Unauthorized

{
   "error": "Not authorized!"
}

This error occurs when using an incorrect license key (token).

HTTP/1.1 404 Unauthorized

{
   "error": "Not found"
}

This error occurs when requesting a specific post if a post with this ID is not found.

Preserve your Setka Editor content after the service shutdown

If you use Post API to fetch content from Setka Cloud, you will need to migrate all assets to your own infrastructure. Post API response contains links to all necessary assets (CSS, Fonts, Images etc).

Advice – store CSS files with the same path, that will simplify the update script.

When all assets are downloaded and stored in your infrastructure, you need to replace all links used in the Post body and include CSS files in the Post Page. You will need a custom script tailored to your case.

Inside the Post body there might be images. If you created Posts inside Setka Cloud you’ll find srcset generated for multiple image sizes. It’s a feature provided by Setka Cloud. Links to image variations are not provided. We suggest that you remove everything inside the srcsetHTML attribute for in <img tag> and store the original image in your infrastructure.

Example:

You have the following piece of code:

<img src="https://img.setka.io/clients/AutWJxVDaz_R9_xWagHPL9nT4WVLIRNp/post_images/mufasa_headshot-2023012401152726.png" data-image-id="248663" data-image-name="Mufasa_headshot.png" class="stk-image stk-reset" srcset="https://img.setka.io/clients/AutWJxVDaz_R9_xWagHPL9nT4WVLIRNp/post_images/mufasa_headshot-2023012401152726.png 1044w, https://img.setka.io/rk1GAk6jbdIj4L5shxsSoWdU8vdWLXBx3AcTkiOmKec/w:500/q:88/plain/clients/AutWJxVDaz_R9_xWagHPL9nT4WVLIRNp/post_images/mufasa_headshot-2023012401152726.png 500w, https://img.setka.io/2g0DHW1QRePXqTjfSSAAuLYU4TPFisvQlQZF_jEez_8/w:750/q:88/plain/clients/AutWJxVDaz_R9_xWagHPL9nT4WVLIRNp/post_images/mufasa_headshot-2023012401152726.png 750w, https://img.setka.io/2G2xzHJHv4XawjrRFaa6V76e7G3ZltwPorAYSmLH0zU/w:1000/q:88/plain/clients/AutWJxVDaz_R9_xWagHPL9nT4WVLIRNp/post_images/mufasa_headshot-2023012401152726.png 1000w" width="1044" height="1302" loading="lazy">

Then change the link inside Setka Post body and remove the srcset. The result will look like this:

<img src="https://your-domain.com/clients/AutWJxVDaz_R9_xWagHPL9nT4WVLIRNp/post_images/mufasa_headshot-2023012401152726.png" data-image-id="248663" data-image-name="Mufasa_headshot.png" class="stk-image stk-reset" width="1044" height="1302" loading="lazy">

The of post styles, including the common style file, the standalone style, and the layout grid file.

— sizes — several options for the image size, depending on the device’s screen size. Note: Getting the images field in your response will require using .

If you need assistance with the Setka Cloud API, .

For example: If CSS URL looks like: you should store it in your infrastructure and make it accessible via the URL on your domain, for example like this: .

You should pick the original size – in src attribute (you can find the same link inside Post API response) and make it accessible on the URL like

please contact support
https://ceditor.setka.io/clients/123/example.css
https://you-domain.com/clients/123/example.css
https://img.setka.io/clients/AutWJxVDaz_R9_xWagHPL9nT4WVLIRNp/post_images/mufasa_headshot-2023012401152726.png
https://your-domain.com/clients/AutWJxVDaz_R9_xWagHPL9nT4WVLIRNp/post_images/mufasa_headshot-2023012401152726.png
CSS files
additional parameters
Setka account
support
Setka account
Screenshot of the Setka Editor interface: publishing the post via Cloud API
Screenshot of the Setka Editor interface: unpublishing the post via Cloud API
Screenshot of the Setka Editor interface: updaring the post via Cloud API