CMS (FHIR Legacy)

List content with translations

  • Sandbox: available
  • Staging: available
  • Production: unknown
GET
/internal/cms/{type}/map/{language}

Lists content items as pairs of the default-language item and its translation in the requested language. Use it for translation screens that show the original next to the translation.

Auth: bearer token. Scope: the caller's project (from the token). Only items in that project are listed.

Behaviour

  • type is one of blog, video, audio, template or export-template.
  • language is the target language and must be one of the languages in your project's locale settings.
  • Each result has source (the item in the project's default language) and target (the item in language) for the same key. Either one is missing when that language has no item for the key.
  • Pairs are sorted by the target's date, newest first, falling back to the source's date.
  • search is a fuzzy match over the title, author name, category, section titles and text, and key of both items.
  • code keeps only items with that content code.
  • _count defaults to 10 and _offset to 0. total is the number of matching pairs before paging.
  • The route is also served under /internal/cms/{type}.

Example

curl -X GET 'https://api.sandbox.ovok.com/cms/blog/map/de-DE?search=sleep&_count=20' \  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NjcyNjg4MDAsImV4cCI6MTc2NzI3MjQwMH0.Ql3B_ztDvctlyZ2z0vp4sl3ExXRQGkzmxdmTAqxNzZk'

Authorization

headerAuthorizationBearer <JWT>

Path Parameters

type*string
Value in"blog""video""audio""template""export-template"
language*string
Value in"Cy-az-AZ""Cy-sr-SP""Cy-uz-UZ""Lt-az-AZ""Lt-sr-SP""Lt-uz-UZ""aa""ab""ae""af""af-ZA""ak""am""an""ar""ar-AE""ar-BH""ar-DZ""ar-EG""ar-IQ""ar-JO""ar-KW""ar-LB""ar-LY""ar-MA""ar-OM""ar-QA""ar-SA""ar-SY""ar-TN""ar-YE""as""av""ay""az""ba""be""be-BY""bg""bg-BG""bh""bi""bm""bn""bo""br""bs""ca""ca-ES""ce""ch""co""cr""cs""cs-CZ""cu""cv""cy""da""da-DK""de""de-AT""de-CH""de-DE""de-LI""de-LU""div-MV""dv""dz""ee""el""el-GR""en""en-AU""en-BZ""en-CA""en-CB""en-GB""en-IE""en-JM""en-NZ""en-PH""en-TT""en-US""en-ZA""en-ZW""eo""es""es-AR""es-BO""es-CL""es-CO""es-CR""es-DO""es-EC""es-ES""es-GT""es-HN""es-MX""es-NI""es-PA""es-PE""es-PR""es-PY""es-SV""es-UY""es-VE""et""et-EE""eu""eu-ES""fa""fa-IR""ff""fi""fi-FI""fj""fo""fo-FO""fr""fr-BE""fr-CA""fr-CH""fr-FR""fr-LU""fr-MC""fy""ga""gd""gl""gl-ES""gn""gu""gu-IN""gv""ha""he""he-IL""hi""hi-IN""ho""hr""hr-HR""ht""hu""hu-HU""hy""hy-AM""hz""ia""id""id-ID""ie""ig""ii""ik""io""is""is-IS""it""it-CH""it-IT""iu""ja""ja-JP""jv""ka""ka-GE""kg""ki""kj""kk""kk-KZ""kl""km""kn""kn-IN""ko""ko-KR""kr""ks""ku""kv""kw""ky""ky-KZ""la""lb""lg""li""ln""lo""lt""lt-LT""lu""lv""lv-LV""mg""mh""mi""mk""mk-MK""ml""mn""mn-MN""mr""mr-IN""ms""ms-BN""ms-MY""mt""my""na""nb""nb-NO""nd""ne""ng""nl""nl-BE""nl-NL""nn""nn-NO""no""nr""nv""ny""oc""oj""om""or""os""pa""pa-IN""pi""pl""pl-PL""ps""pt""pt-BR""pt-PT""qu""rm""rn""ro""ro-RO""ru""ru-RU""rw""sa""sa-IN""sc""sd""se""sg""si""sk""sk-SK""sl""sl-SI""sm""sn""so""sq""sq-AL""sr""ss""st""su""sv""sv-FI""sv-SE""sw""sw-KE""ta""ta-IN""te""te-IN""tg""th""th-TH""ti""tk""tl""tn""to""tr""tr-TR""ts""tt""tt-RU""tw""ty""ug""uk""uk-UA""ur""ur-PK""uz""ve""vi""vi-VN""vo""wa""wo""xh""yi""yo""za""zh""zh-CHS""zh-CHT""zh-CN""zh-HK""zh-MO""zh-SG""zh-TW""zu"

Query Parameters

search?string
code?string
_count?string
Default"10"
_offset?string
Default"0"

Response Body

Pairs of default-language and target-language items, with the total match count.

Example Request
curl -X GET 'https://api.sandbox.ovok.com/internal/cms/blog/map/Cy-az-AZ'
Example Response
Empty

List content with translations GET

Lists content items as pairs of the default-language item and its translation in the requested language. Use it for translation screens that show the original next to the translation. **Auth:** bearer token. **Scope:** the caller's project (from the token). Only items in that project are listed. ## Behaviour - `type` is one of `blog`, `video`, `audio`, `template` or `export-template`. - `language` is the target language and must be one of the languages in your project's locale settings. - Each result has `source` (the item in the project's default language) and `target` (the item in `language`) for the same key. Either one is missing when that language has no item for the key. - Pairs are sorted by the target's `date`, newest first, falling back to the source's `date`. - `search` is a fuzzy match over the title, author name, category, section titles and text, and key of both items. - `code` keeps only items with that content code. - `_count` defaults to `10` and `_offset` to `0`. `total` is the number of matching pairs before paging. - The route is also served under `/internal/cms/{type}`. ## Example ```bash curl -X GET 'https://api.sandbox.ovok.com/cms/blog/map/de-DE?search=sleep&_count=20' \ -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NjcyNjg4MDAsImV4cCI6MTc2NzI3MjQwMH0.Ql3B_ztDvctlyZ2z0vp4sl3ExXRQGkzmxdmTAqxNzZk' ```

Copy all content from the parent project POST

Copies all content items of one type from the parent project, giving each copy a new key. Use it in a sub-project to start from the parent's content. **Auth:** bearer token. You must be a project admin. **Scope:** the caller's project (from the token) and its parent project. ## Behaviour - `type` is one of `blog`, `video`, `audio`, `template` or `export-template`. - `language` must be one of the languages in your project's locale settings. - If `language` is your project's default language, items in every language are copied. Otherwise only items in `language` are copied. - Each copy is a new item with a new key: the original key plus a random suffix. Translations of the same original key share the same new key. `date` is set to now and `author` to your profile. - Running the route again creates another set of copies. It does not update earlier copies. - If the parent has no matching items, nothing is copied and the response is still `{ "success": true }`. - The route is also served under `/internal/cms/{type}`. ## Example ```bash curl -X POST 'https://api.sandbox.ovok.com/cms/blog/en-US/copy-from-parent-project' \ -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NjcyNjg4MDAsImV4cCI6MTc2NzI3MjQwMH0.Ql3B_ztDvctlyZ2z0vp4sl3ExXRQGkzmxdmTAqxNzZk' ```