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

# Create author



## OpenAPI

````yaml /api-reference/ai-cms/openapi.json post /authors/create
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:
  /authors/create:
    post:
      tags:
        - Authors
      summary: Create author
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              required:
                - name
                - slug
                - email
              properties:
                name:
                  type: object
                  description: >-
                    Author name keyed by language code. Keys must be language
                    codes configured for the service.
                  additionalProperties: false
                  properties:
                    en:
                      type: string
                    es:
                      type: string
                slug:
                  type: string
                  description: URL-friendly unique identifier (unique per tenant).
                  example: john-carter
                bio:
                  type: object
                  description: Author bio keyed by language code (HTML allowed).
                  additionalProperties: false
                  properties:
                    en:
                      type: string
                      description: HTML string
                    es:
                      type: string
                      description: HTML string
                avatar:
                  type: string
                  description: Avatar image URL.
                email:
                  type: string
                  format: email
                  description: Public contact email (unique per tenant).
                isPrivate:
                  type: boolean
                  description: >-
                    Whether the author is hidden from public listings. Defaults
                    to false.
                isActive:
                  type: boolean
                  description: Whether author is active. Defaults to true.
            examples:
              Create Author:
                value:
                  name:
                    en: John Carter
                    es: Juan Carter
                  slug: john-carter
                  bio:
                    en: <p>Editor and writer focused on AI topics.</p>
                    es: <p>Editor y escritor enfocado en temas de IA.</p>
                  avatar: https://cdn.example.com/avatars/john.jpg
                  email: john@example.com
                  isActive: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              examples:
                Created:
                  value:
                    success: true
                    statusCode: 201
                    message: Create Author successfully
                    data:
                      author:
                        id: '{{objectId}}'
                        slug: john-carter
        '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
        '409':
          description: >-
            Conflict (validation error, duplicate slug, or email already used
            for this tenant)
          content:
            application/json:
              examples:
                Validation:
                  value:
                    success: false
                    statusCode: 409
                    message: Validation Error
                    data: null
                EmailExists:
                  value:
                    success: false
                    statusCode: 409
                    message: Author with this email already exists
                    data: null
        '500':
          description: Server error
          content:
            application/json:
              examples:
                ServerError:
                  value:
                    success: false
                    statusCode: 500
                    message: Server Error
                    data: null
      security:
        - ApiKeyAuth: []
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key

````