Preview. This site is still being built. Features, prices and terms may change, and nothing here is a binding offer. Read the preview notice

Preview. Still being built; nothing here is a binding offer. Details

CMS · public

13 routes. Paths are relative to https://api.intersink.com/v1.

All groups

The sidebar of a version: nested {id, kind, title, path, deprecated, children} (Public; weak ETag)

GET/cms/docs/nav

Public: no sign-in needed.

Parameters

NameTypeDescription
channel_idstring (uuid), queryThe channel, when no X-App-Key / x-ref is sent
versionstring, queryA version tag, or latest (default) At most 32 characters. Example: "latest"
X-App-Keystring, headerThe channel's app key (names the channel)
x-refstring, headerOr the channel id
If-None-Matchstring, headerA previous weak ETag; a match answers 304

Response

200. data is object (PublicDocNavDto). OK. Headers: ETag (weak), Cache-Control (public, short), Vary: Accept-Encoding, X-App-Key, X-Ref

FieldTypeDescription
versionrequiredstringExample: "v2"
labelrequiredstringExample: "v2 (current)"
latest_versionrequiredstringExample: "v2"
is_latestrequiredboolean
deprecationrequiredobjectThe version's own deprecation
deprecation.deprecatedrequiredboolean
deprecation.bannerrequiredstringExample: "You are reading the docs for v1, which is deprecated."
navrequiredobject[]
nav[].idrequirednumberExample: 12
nav[].kindrequiredstringgroup: a heading without a page (don't link it) One of: "page", "group".
nav[].titlerequiredstringExample: "Sessions"
nav[].pathrequiredstringExample: "guides/auth/sessions"
nav[].deprecatedrequiredboolean
nav[].childrenrequiredobject[]
nav[].children[].idrequirednumberExample: 12
nav[].children[].kindrequiredstringgroup: a heading without a page (don't link it) One of: "page", "group".
nav[].children[].titlerequiredstringExample: "Sessions"
nav[].children[].pathrequiredstringExample: "guides/auth/sessions"
nav[].children[].deprecatedrequiredboolean
nav[].children[].childrenrequiredobject[]

One page by path: Markdown, TOC, reading time, breadcrumbs, prev/next, deprecation, other versions (Public; weak ETag)

GET/cms/docs/page

Public: no sign-in needed.

Parameters

NameTypeDescription
channel_idstring (uuid), queryThe channel, when no X-App-Key / x-ref is sent
versionstring, queryA version tag, or latest (default) At most 32 characters. Example: "latest"
pathrequiredstring, queryThe page's full path (leading/trailing slashes and case are ignored) At most 700 characters. Example: "guides/auth/sessions"
X-App-Keystring, headerThe channel's app key (names the channel)
x-refstring, headerOr the channel id
If-None-Matchstring, headerA previous weak ETag; a match answers 304

Response

200. data is object (PublicDocPageDto). OK. Headers: ETag (weak), Cache-Control (public, short), Vary: Accept-Encoding, X-App-Key, X-Ref

FieldTypeDescription
idrequirednumberExample: 12
versionrequiredstringExample: "v2"
slugrequiredstringExample: "sessions"
pathrequiredstringExample: "guides/auth/sessions"
titlerequiredstringExample: "Sessions"
nav_titlerequiredstring
descriptionrequiredstring
body_mdrequiredstringExample: "## Refresh tokens\n\nUse the refresh token…"
tocrequiredobject[]
toc[].depthrequirednumberExample: 2
toc[].textrequiredstringExample: "Refresh tokens"
toc[].idrequiredstringAnchor id (rehype-slug / github-slugger) Example: "refresh-tokens"
reading_minutesrequirednumberExample: 3
word_countrequirednumberExample: 512
seo_titlerequiredstring
seo_descriptionrequiredstring
date_createdrequiredstring (date-time)
date_updatedrequiredstring (date-time)
is_latestrequiredboolean
latest_versionrequiredstringExample: "v2"
deprecationrequiredobject
deprecation.deprecatedrequiredboolean
deprecation.bannerrequiredstringExample: "You are reading the docs for v1, which is deprecated."
breadcrumbsrequiredobject[]
breadcrumbs[].titlerequiredstringExample: "Tokens"
breadcrumbs[].pathrequiredstringExample: "guides/auth/tokens"
breadcrumbs[].kindrequiredstringOne of: "page", "group". Example: "page"
prevrequiredobject
prev.titlerequiredstringExample: "Tokens"
prev.pathrequiredstringExample: "guides/auth/tokens"
nextrequiredobject
next.titlerequiredstringExample: "Tokens"
next.pathrequiredstringExample: "guides/auth/tokens"
other_versionsrequiredobject[]
other_versions[].versionrequiredstringExample: "v1"
other_versions[].labelrequiredstringExample: "v1"
other_versions[].is_latestrequiredboolean
other_versions[].pathrequiredstringThis page in that version, else that version's first page Example: "guides/auth/sessions"
other_versions[].same_pagerequiredbooleanfalse when path is that version's first page instead

Readable docs versions, which one latest is, and deprecation banners (Public; weak ETag)

GET/cms/docs/versions

Public: no sign-in needed.

Parameters

NameTypeDescription
channel_idstring (uuid), queryThe channel, when no X-App-Key / x-ref is sent
versionstring, queryA version tag, or latest (default) At most 32 characters. Example: "latest"
X-App-Keystring, headerThe channel's app key (names the channel)
x-refstring, headerOr the channel id
If-None-Matchstring, headerA previous weak ETag; a match answers 304

Response

200. data is object (PublicDocVersionsDto). OK. Headers: ETag (weak), Cache-Control (public, short), Vary: Accept-Encoding, X-App-Key, X-Ref

FieldTypeDescription
latest_versionrequiredstringExample: "v2"
versionsrequiredobject[]
versions[].namerequiredstringExample: "v2"
versions[].labelrequiredstringExample: "v2 (current)"
versions[].is_latestrequiredboolean
versions[].deprecatedrequiredboolean
versions[].bannerrequiredstring

Site layout / theme settings (Public)

GET/cms/public/{channelId}/layout

Public: no sign-in needed.

Parameters

NameTypeDescription
channelIdrequiredstring, path

Response

200. The payload in data is of type object.

Published menus with their item trees (Public)

GET/cms/public/{channelId}/menus

Public: no sign-in needed.

Parameters

NameTypeDescription
channelIdrequiredstring, path
locationstring, queryExample: "header"

Response

200. data is object[].

Live blog posts, newest first (Public, max 50)

GET/cms/public/{channelId}/posts

Public: no sign-in needed.

Parameters

NameTypeDescription
channelIdrequiredstring, path

Response

200. data is object[].

One live blog post by slug (Public)

GET/cms/public/{channelId}/posts/{slug}

Public: no sign-in needed.

Parameters

NameTypeDescription
channelIdrequiredstring, path
slugrequiredstring, path

Response

200. The payload in data is of type object.

A published home surface for one audience: {banners[], shortcuts[], ads[], texts{}} (Public; ETag/304; cached)

GET/cms/public/{channelId}/surfaces/{surface}

Public: no sign-in needed.

Parameters

NameTypeDescription
channelIdrequiredstring, path
surfacerequiredstring, path
If-None-Matchstring, header
localeany, queryExample: "en-GB"
platformany, queryweb, ios, android, mac, windows or linux Example: "windows"
countryany, queryExample: "GB"

Response

200. The payload in data is not described in the spec yet.

Live 'surface changed' signal (SSE, Public)

GET/cms/public/{channelId}/surfaces/{surface}/events

Public: no sign-in needed.

Server-Sent Events: surface.version on connect (the current public version), then surface.changed {surface, version, published} each time it is published, unpublished or deleted. No content travels; refetch the surface (with If-None-Match) when the version is newer than yours.

Parameters

NameTypeDescription
channelIdrequiredstring, path
surfacerequiredstring, path

Response

200. The payload in data is not described in the spec yet.

Just the public version of a surface (cheap polling fallback for the stream)

GET/cms/public/{channelId}/surfaces/{surface}/version

Public: no sign-in needed.

Parameters

NameTypeDescription
channelIdrequiredstring, path
surfacerequiredstring, path

Response

200. The payload in data is not described in the spec yet.

Published testimonials (Public, max 100)

GET/cms/public/{channelId}/testimonials

Public: no sign-in needed.

Parameters

NameTypeDescription
channelIdrequiredstring, path

Response

200. data is object[].

The same, naming the channel with x-ref, X-App-Key or ?channel_id (Public)

GET/cms/surfaces/{surface}

Public: no sign-in needed.

Parameters

NameTypeDescription
surfacerequiredstring, path
x-refstring, headerChannel id (or send X-App-Key)
channel_idany, query
localeany, queryExample: "en-GB"
platformany, queryweb, ios, android, mac, windows or linux Example: "windows"
countryany, queryExample: "GB"

Response

200. The payload in data is not described in the spec yet.