Skip to main content
POST
/
categories
/
create
Create category
curl --request POST \
  --url https://api.octaviatech.app/cms/categories/create \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "name": {
    "en": "Surgery",
    "es": "Cirugía"
  },
  "slug": "surgery",
  "description": {
    "en": "Surgical topics",
    "es": "Temas quirúrgicos"
  },
  "icon": "https://cdn.example.com/icons/scalpel.svg",
  "banner": "https://cdn.example.com/banners/surgery.jpg",
  "order": 1,
  "isActive": true
}
'
{
  "success": true,
  "statusCode": 201,
  "message": "Created",
  "data": {
    "id": "{{objectId}}",
    "slug": "surgery"
  }
}

Documentation Index

Fetch the complete documentation index at: https://developers.octaviatech.app/llms.txt

Use this file to discover all available pages before exploring further.

Octavia AI CMS allows you to create multilingual categories to organize your content effectively.
Each category can include names and descriptions in multiple languages using the standard multilingual format.
Example:
"name": {
  "en": "Technology",
  "es": "Tecnología",
  ...
}

Rules

  • ✅ Keys must be lowercase ISO 639-1 codes (e.g., en, es, fr)
  • ✅ At least one language (your default locale) is required
  • ✅ Values must be plain strings
  • ❌ Do not send a single string for multilingual fields
  • ❌ Do not use uppercase or invalid codes (e.g., EN, eng)

Validation & Behavior

  • Slug must be unique within your workspace
  • Name and description fields support multilingual format
  • Thumbnail and isPrivate fields are optional
  • Language fallback applies when fetching data (if a requested language doesn’t exist, the default is returned)

Authorizations

x-api-key
string
header
required

Body

application/json
name
object
required

Category name in multiple languages

slug
string

URL-friendly unique identifier

description
object

Optional description in multiple languages

icon
string<uri>

Optional icon URL

banner
string<uri>

Optional banner URL

order
integer

Optional ordering index

Required range: x >= 0
isActive
boolean

Whether category is active

Response

Created