> ## 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: Campaigns
    description: >-
      Create, schedule, and manage campaigns. Requires an account administrator
      and API access enabled for the account.
  - 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:
        - userBearerAuth: []
        - 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:
    userBearerAuth:
      type: http
      scheme: bearer
      description: >-
        Authenticate with `Authorization: Bearer <token>` using a user API token
        from **Profile Settings**. Available in Chatwoot `v4.19.0` and later.
    userApiKey:
      type: apiKey
      in: header
      name: api_access_token
      description: >-
        Find your API token in **Profile Settings**. The `api_access_token`
        header remains supported, but will be deprecated in a future release.
        For new integrations, use Bearer authentication.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.