CMS (FHIR Legacy)

List content with translations

  • Sandbox: available
  • Staging: available
  • Production: unknown
GET
/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/cms/blog/map/Cy-az-AZ'
Example Response
Empty

Execute a bot POST

Runs a Medplum Bot of your project, found by its identifier, and returns its output. Use it to call custom server-side logic without knowing the Bot's id. **Auth:** bearer token. The Bot is searched and run with your token, so you need read access to the Bot and permission to execute it. ## Behaviour - `identifier` uses FHIR token search syntax: `system|value`, `system|`, or just `value`. Exactly one Bot must match. - The JSON request body is passed to the Bot as its input, unchanged. The body is optional. - The response is whatever the Bot returns. ## Example ```bash curl -X POST 'https://api.sandbox.ovok.com/bots?identifier=https://example.com|get-users' \ -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NjcyNjg4MDAsImV4cCI6MTc2NzI3MjQwMH0.Ql3B_ztDvctlyZ2z0vp4sl3ExXRQGkzmxdmTAqxNzZk' \ -H 'Content-Type: application/json' \ -d '{ "parameter1": "value1" }' ```

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' ```