# Create content

Canonical page: https://docs.ovok.com/api/cms-(fhir-legacy)/create-content

`POST /cms/{type}/{language}`

Creates a content item of one type in one language. Use it to add a blog post, video, audio item or template to your project's content.

**Auth:** bearer token.
**Scope:** the caller's project (from the token). The item is stored in that 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.
- The item is stored as a FHIR `Composition`. Ovok sets `key`, `date` (now), `author` (your profile), `type`, `language` and the project. You cannot set them yourself.
- `key` is built from the type and the title plus a random suffix. Use it to address the item in other routes and to link its translations across languages.
- When you create an item in the project's default language, a background job creates an AI translation of it for every other project language. The translations appear later, not in this response.
- The route is also served under `/internal/cms/{type}`.

## Example

```bash
curl -X POST 'https://api.sandbox.ovok.com/cms/blog/en-US' \
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NjcyNjg4MDAsImV4cCI6MTc2NzI3MjQwMH0.Ql3B_ztDvctlyZ2z0vp4sl3ExXRQGkzmxdmTAqxNzZk' \
  -H 'Content-Type: application/json' \
  -d '{
    "title": "Sleeping well",
    "category": "health",
    "section": [
      { "title": "Introduction", "text": "Why sleep matters.", "code": ["main-content"] }
    ]
  }'
```
