> ## Documentation Index
> Fetch the complete documentation index at: https://docs.neuracall.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Actualizar Categoría

> Updates an existing category within an analysis model.

**Important:** Categories cannot be modified if the model has existing call analyses,
as this would affect historical results.

**Requires scope:** `write:model-category`



## OpenAPI

````yaml PUT /v1/models/{model_id}/categories/{id}
openapi: 3.0.2
info:
  title: Neuracall API
  description: >-

    ## Overview


    The Neuracall API provides powerful call analysis capabilities for contact
    centers and customer service teams.

    Submit audio recordings and receive detailed analysis including:


    - **Transcription**: Accurate speech-to-text conversion

    - **Quality Scoring**: Automated evaluation against customizable criteria

    - **Insights & Keywords**: AI-extracted conversation highlights

    - **Statistics**: Aggregated performance metrics


    ## Authentication


    All API endpoints (except `/v1/auth`) require a Bearer token. Obtain your
    token using the Authentication endpoint with your client credentials.


    ```

    Authorization: Bearer <your_access_token>

    ```


    ## Support


    For questions or issues, contact support@neuracall.com
        
  contact:
    name: Neuracall Support
    url: https://neuracall.com/support
    email: support@neuracall.com
  license:
    name: Proprietary
    url: https://neuracall.com/license
  version: 1.0.0
servers: []
security: []
tags:
  - name: Authentication
    description: >-
      Obtain access tokens to authenticate your application. Required before
      making other API calls.
  - name: Analysis Models
    description: >-
      Manage analysis models that define evaluation criteria and scoring
      parameters for call analysis.
  - name: Model Categories
    description: >-
      Manage categories within analysis models. Categories group related
      evaluation variables and help organize the scoring structure.
  - name: Model Variables
    description: >-
      Manage evaluation variables within analysis models. Variables define
      specific scoring criteria used during call analysis.
  - name: Model Metadata
    description: >-
      Manage metadata fields within analysis models. Metadata defines additional
      information required when submitting calls for analysis (e.g., campaign,
      department).
  - name: Call Analysis
    description: >-
      Submit audio recordings for analysis and retrieve results including
      transcriptions, scores, and insights.
  - name: Statistics
    description: >-
      Retrieve aggregated statistics and performance metrics from analyzed calls
      for dashboards and reporting.
paths:
  /v1/models/{model_id}/categories/{id}:
    put:
      tags:
        - Model Categories
      summary: Update an existing category
      description: >-
        Updates an existing category within an analysis model.


        **Important:** Categories cannot be modified if the model has existing
        call analyses,

        as this would affect historical results.


        **Requires scope:** `write:model-category`
      operationId: Update_Model_Category_v1_models__model_id__categories__id__put
      parameters:
        - description: The analysis model ID
          required: true
          schema:
            title: Model Id
            type: integer
            description: The analysis model ID
          name: model_id
          in: path
        - description: The category ID
          required: true
          schema:
            title: Id
            type: integer
            description: The category ID
          name: id
          in: path
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CategoryRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CategoryResponse'
        '400':
          description: Category name or slug already exists
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Model or category not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '409':
          description: Model has existing analyses
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - HTTPBearer: []
components:
  schemas:
    CategoryRequest:
      title: CategoryRequest
      required:
        - name
        - description
        - max_score
      type: object
      properties:
        name:
          title: Name
          maxLength: 128
          minLength: 1
          type: string
          description: Category name. Must be unique within the model.
          example: Opening
        description:
          title: Description
          maxLength: 512
          type: string
          description: Detailed description of the category purpose
          example: Evaluation criteria for call opening and greeting
        max_score:
          title: Max Score
          minimum: 0
          type: integer
          description: Maximum score achievable in this category
          example: 100
        order_number:
          title: Order Number
          minimum: 0
          type: integer
          description: Display order within the model. Lower numbers appear first.
          example: 1
      description: Request body for creating or updating a category.
      example:
        name: Opening
        description: Evaluation criteria for call opening and greeting
        max_score: 100
        order_number: 1
    CategoryResponse:
      title: CategoryResponse
      required:
        - id
        - client_prompt_template_id
        - name
        - slug
        - description
        - max_score
        - enabled
        - created_at
        - created_by
      type: object
      properties:
        id:
          title: Id
          type: integer
          description: Unique identifier
          example: 1
        client_prompt_template_id:
          title: Client Prompt Template Id
          type: integer
          description: Parent model ID
          example: 1
        name:
          title: Name
          type: string
          description: Category name
          example: Opening
        slug:
          title: Slug
          type: string
          description: >-
            Auto-generated slug from name (kebab-case). Used as variable name in
            JSON responses.
          example: opening
        description:
          title: Description
          type: string
          description: Category description
        max_score:
          title: Max Score
          type: integer
          description: Maximum score achievable in this category
          example: 100
        order_number:
          title: Order Number
          type: integer
          description: Display order within the model
        enabled:
          title: Enabled
          type: boolean
          description: Whether the category is active
        created_at:
          title: Created At
          type: string
          description: Creation timestamp
          format: date-time
        created_by:
          title: Created By
          type: string
          description: Creator identifier
        updated_at:
          title: Updated At
          type: string
          description: Last update timestamp
          format: date-time
        updated_by:
          title: Updated By
          type: string
          description: Last updater identifier
      description: Response model for category.
      example:
        id: 1
        client_prompt_template_id: 1
        name: Opening
        slug: opening
        description: Evaluation criteria for call opening
        max_score: 100
        order_number: 1
        enabled: true
        created_at: '2026-01-11T10:00:00Z'
        created_by: client_abc123
    ErrorResponse:
      title: ErrorResponse
      required:
        - code
        - message
      type: object
      properties:
        code:
          title: Code
          type: string
          description: Error code for programmatic handling
          example: 001-001-0001
        path:
          title: Path
          type: string
          description: Field path for validation errors
          example: body.external_id
        message:
          title: Message
          type: string
          description: Human-readable error message
          example: The requested resource was not found
      description: Standard error response format for API errors
      example:
        code: 001-001-0001
        message: The requested resource was not found
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer

````