> ## 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.

# Update category

> Partial update. Provide only fields to change, plus `id`.



## OpenAPI

````yaml /api-reference/ai-cms/openapi.json put /categories/update
openapi: 3.1.0
info:
  title: Blog API
  version: 1.0.0
servers:
  - url: https://api.octaviatech.app/cms
    description: Production
security:
  - ApiKeyAuth: []
tags:
  - name: Tags
    description: Tag management endpoints
paths:
  /categories/update:
    put:
      tags:
        - Categories
      summary: Update category
      description: Partial update. Provide only fields to change, plus `id`.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              required:
                - id
              properties:
                id:
                  type: string
                  pattern: ^[a-fA-F0-9]{24}$
                  example: '{{objectId}}'
                name:
                  type: object
                  additionalProperties: false
                  properties:
                    en:
                      type: string
                    es:
                      type: string
                slug:
                  type: string
                description:
                  type: object
                  additionalProperties: false
                  properties:
                    en:
                      type: string
                    es:
                      type: string
                thumbnail:
                  type: string
                  format: uri
                isPrivate:
                  type: boolean
                isActive:
                  type: boolean
            examples:
              Update Category:
                value:
                  id: '{{objectId}}'
                  name:
                    en: Surgery (updated)
                    es: Cirugía (actualizado)
      responses:
        '200':
          description: Updated
          content:
            application/json:
              examples:
                Updated:
                  value:
                    success: true
                    statusCode: 200
                    message: Category updated successfully
                    data:
                      category:
                        _id: '{{objectId}}'
        '401':
          description: Unauthorized
          content:
            application/json:
              examples:
                Unauthorized:
                  value:
                    success: false
                    statusCode: 401
                    message: Unauthorized
                    data: null
        '403':
          description: Forbidden
          content:
            application/json:
              examples:
                Forbidden:
                  value:
                    success: false
                    statusCode: 403
                    message: Forbidden
                    data: null
        '404':
          description: Not found
          content:
            application/json:
              examples:
                NotFound:
                  value:
                    success: false
                    statusCode: 404
                    message: Category not found
                    data: null
        '409':
          description: Conflict (slug already in use by another category)
          content:
            application/json:
              examples:
                Conflict:
                  value:
                    success: false
                    statusCode: 409
                    message: Slug already exists for this tenant
                    data: null
        '500':
          description: >-
            Server error (validation failures are reported as 406 internally and
            coerced to 500)
          content:
            application/json:
              examples:
                ServerError:
                  value:
                    success: false
                    statusCode: 500
                    message: Internal server error
                    data: null
      security:
        - ApiKeyAuth: []
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key

````