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

# Add a new category

> Add a new category to portal



## OpenAPI

````yaml https://raw.githubusercontent.com/chatwoot/chatwoot/develop/swagger/tag_groups/application_swagger.json post /api/v1/accounts/{account_id}/portals/{id}/categories
openapi: 3.1.0
info:
  title: Chatwoot
  description: This is the API documentation for Chatwoot server.
  version: 1.1.0
  termsOfService: https://www.chatwoot.com/terms-of-service/
  contact:
    email: hello@chatwoot.com
  license:
    name: MIT License
    url: https://opensource.org/licenses/MIT
servers:
  - url: https://app.chatwoot.com/
security: []
tags:
  - name: Account AgentBots
    description: Account-specific Agent Bots
  - name: Agents
    description: Agent management APIs
  - name: Canned Responses
    description: Pre-defined responses for common queries
  - name: Contacts
    description: Contact management APIs
  - name: Contact Labels
    description: Manage contact labels
  - name: Conversation Assignments
    description: Manage conversation assignments
  - name: Conversation Labels
    description: Manage conversation labels
  - name: Conversations
    description: Conversation management APIs
  - name: Custom Attributes
    description: Custom fields for contacts and conversations
  - name: Custom Filters
    description: Saved filters for conversations
  - name: Inboxes
    description: Communication channels setup
  - name: Integrations
    description: Third-party integrations
  - name: Labels
    description: Account label management APIs
  - name: Messages
    description: Message management APIs
  - name: Profile
    description: User profile APIs
  - name: Reports
    description: Analytics and reporting APIs
  - name: Teams
    description: Team management APIs
  - name: Webhooks
    description: Event notification webhooks
  - name: Automation Rule
    description: Workflow automation rules
  - name: Help Center
    description: Knowledge base management
paths:
  /api/v1/accounts/{account_id}/portals/{id}/categories:
    parameters:
      - $ref: '#/components/parameters/account_id'
      - $ref: '#/components/parameters/portal_id'
    post:
      tags:
        - Help Center
      summary: Add a new category
      description: Add a new category to portal
      operationId: add-new-category-to-account
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/category_create_update_payload'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/category'
        '403':
          description: Access denied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/bad_request_error'
      security:
        - userApiKey: []
components:
  parameters:
    account_id:
      in: path
      name: account_id
      schema:
        type: integer
      required: true
      description: The numeric ID of the account
    portal_id:
      in: path
      name: id
      schema:
        type: string
      required: true
      description: The slug identifier of the portal
  schemas:
    category_create_update_payload:
      type: object
      properties:
        name:
          type: string
          description: The name of the category
          example: Category Name
        description:
          type: string
          description: A description for the category
          example: Category description
        position:
          type: integer
          description: Category position in the portal list to sort
          example: 1
        slug:
          type: string
          description: The category slug used in the URL
          example: category-name
        locale:
          type: string
          description: The locale of the category
          example: en
        icon:
          type: string
          description: The icon of the category as a string (emoji)
          example: 📚
        parent_category_id:
          type: integer
          description: >-
            To define parent category, e.g product documentation has multiple
            level features in sales category or in engineering category.
          example: 1
        associated_category_id:
          type: integer
          description: >-
            To associate similar categories to each other, e.g same category of
            product documentation in different languages
          example: 2
    category:
      type: object
      properties:
        id:
          type: integer
        description:
          type: string
          description: The text content.
        locale:
          type: string
        name:
          type: string
        slug:
          type: string
        position:
          type: integer
        portal_id:
          type: integer
        account_id:
          type: integer
        associated_category_id:
          type: integer
          description: >-
            To associate similar categories to each other, e.g same category of
            product documentation in different languages
        parent_category_id:
          type: integer
          description: >-
            To define parent category, e.g product documentation has multiple
            level features in sales category or in engineering category.
    bad_request_error:
      title: data
      type: object
      properties:
        description:
          type: string
        errors:
          type: array
          items:
            $ref: '#/components/schemas/request_error'
    request_error:
      type: object
      properties:
        field:
          type: string
        message:
          type: string
        code:
          type: string
  securitySchemes:
    userApiKey:
      type: apiKey
      in: header
      name: api_access_token
      description: >-
        This token can be obtained by visiting the profile page or via rails
        console. Provides access to  endpoints based on the user permissions
        levels. This token can be saved by an external system when user is
        created via API, to perform activities on behalf of the user.

````