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

> Update Article.

When updating an article, only the fields you include in the request will be updated — all other fields remain unchanged.

The only required field is **`id`**, which identifies the article to update.


## OpenAPI

````yaml PUT /articles/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: []
paths:
  /articles/update:
    put:
      tags:
        - Articles
      summary: Update article
      description: Partial update. Provide only fields you want to change, plus the `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}}'
                mainTitle:
                  type: object
                  additionalProperties: false
                  properties:
                    en:
                      type: string
                    es:
                      type: string
                title2:
                  type: object
                  additionalProperties: false
                  properties:
                    en:
                      type: string
                    es:
                      type: string
                title3:
                  type: object
                  additionalProperties: false
                  properties:
                    en:
                      type: string
                    es:
                      type: string
                slug:
                  type: string
                summary:
                  type: object
                  additionalProperties: false
                  properties:
                    en:
                      type: string
                    es:
                      type: string
                body:
                  type: object
                  additionalProperties: false
                  properties:
                    en:
                      type: string
                      description: HTML string
                    es:
                      type: string
                      description: HTML string
                thumbnail:
                  type: string
                  format: uri
                banner:
                  type: string
                  format: uri
                tags:
                  type: array
                  items:
                    type: string
                category:
                  type: array
                  items:
                    type: string
                    pattern: ^[a-fA-F0-9]{24}$
                subCategory:
                  type: array
                  items:
                    type: string
                    pattern: ^[a-fA-F0-9]{24}$
                author:
                  type: string
                  pattern: ^[a-fA-F0-9]{24}$
                gallery:
                  type: array
                  items:
                    type: string
                    format: uri
                publishDate:
                  type: string
                  format: date-time
                isPublished:
                  type: boolean
                isPrivate:
                  type: boolean
            examples:
              Update (partial):
                value:
                  id: '{{objectId}}'
                  mainTitle:
                    en: Hello World (updated)
                    es: Hola Mundo (actualizado)
                  tags:
                    - news
                    - ai
                    - ml
      responses:
        '201':
          description: Updated
          content:
            application/json:
              example:
                success: true
                statusCode: 201
                message: Article updated
                data:
                  id: '{{objectId}}'
        '401':
          description: Unauthorized
          content:
            application/json:
              example:
                success: false
                statusCode: 401
                message: Unauthorized
                data: null
        '403':
          description: Forbidden
          content:
            application/json:
              example:
                success: false
                statusCode: 403
                message: Forbidden
                data: null
        '404':
          description: Not found
          content:
            application/json:
              example:
                success: false
                statusCode: 404
                message: Not found
                data: null
        '422':
          description: Validation
          content:
            application/json:
              example:
                success: false
                statusCode: 422
                message: Validation failed
                data: null
        '500':
          description: Server error
          content:
            application/json:
              example:
                success: false
                statusCode: 500
                message: Internal server error
                data: null
      security:
        - ApiKeyAuth: []
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key

````