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

# List categories

> Retrieve menu categories with optional hierarchy, type and status filters



## OpenAPI

````yaml /api-reference/v2/openapi.json get /categories
openapi: 3.1.0
info:
  title: Clopos Open API v2
  description: >-
    The **Clopos Open API v2** provides secure and unified access to the Clopos
    ecosystem, enabling seamless integration of POS, ordering, payments, and
    restaurant management services.
  contact:
    email: dev@clopos.com
  version: 2.0.0
  license:
    name: ''
servers:
  - url: https://integrations.clopos.com/open-api/v2
    description: '**Base Url**'
security:
  - xToken: []
tags:
  - name: Authentication
  - name: Venues
  - name: Users
  - name: Customers
  - name: Menu
  - name: Stations
  - name: Products
  - name: Price Lists
  - name: Sales
  - name: Orders
  - name: Receipts
paths:
  /categories:
    get:
      tags:
        - Menu
      summary: List categories
      description: >-
        Retrieve menu categories with optional hierarchy, type and status
        filters
      parameters:
        - name: page
          in: query
          description: Page number for pagination (starts at 1)
          schema:
            type: integer
            minimum: 1
            default: 1
        - name: limit
          in: query
          description: Number of categories to return per page (1-999)
          schema:
            type: integer
            minimum: 1
            maximum: 999
            default: 50
        - name: parent_id
          in: query
          description: Filter to categories under a specific parent ID
          schema:
            type: string
            nullable: true
        - name: type
          in: query
          description: Filter by category type
          schema:
            type: string
            enum:
              - PRODUCT
              - INGREDIENT
              - ACCOUNTING
        - name: include_children
          in: query
          description: Include nested child categories in the response
          schema:
            type: boolean
            default: true
        - name: include_inactive
          in: query
          description: Whether to include inactive categories
          schema:
            type: boolean
            default: false
      responses:
        '200':
          description: Categories retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CategoriesResponse'
        '400':
          description: Invalid parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    CategoriesResponse:
      type: object
      properties:
        success:
          type: boolean
        data:
          type: array
          items:
            $ref: '#/components/schemas/Category'
        total:
          type: integer
        time:
          type: integer
        timestamp:
          type: string
          format: date-time
        unix:
          type: integer
    Error:
      type: object
      required:
        - error
        - message
      properties:
        error:
          type: string
        message:
          type: string
        details:
          type: object
    Category:
      type: object
      properties:
        id:
          type: integer
        parent_id:
          type: integer
          nullable: true
        name:
          type: string
        slug:
          type: string
          nullable: true
        type:
          type: string
          enum:
            - PRODUCT
            - INGREDIENT
            - ACCOUNTING
        color:
          type: string
        status:
          type: integer
        depth:
          type: integer
        _lft:
          type: integer
        _rgt:
          type: integer
        properties:
          type: object
        children:
          type: array
          items:
            $ref: '#/components/schemas/Category'
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
  securitySchemes:
    xToken:
      type: apiKey
      in: header
      name: x-token
      description: JWT access token obtained from /v2/auth endpoint

````