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

# Get Product Categories

> Gets a list of product categories.




## OpenAPI

````yaml api-reference/v2/openapi-v2-stable.yaml get /products/categories
openapi: 3.0.3
info:
  title: CoCart - Cart API v2
  version: 4.6.0
  description: >
    CoCart REST API v2 for managing shopping carts, products, and store
    functionality.

    Compared to API v1, this version provides enhanced endpoints for cart
    operations, product management,

    and administrative functions with improved response structures and better
    error handling.
  termsOfService: http://cocartapi.com/terms-of-conditions-polar/
  contact:
    email: support@cocartapi.com
  license:
    name: GNU General Public License v3.0
    url: http://www.gnu.org/licenses/gpl-3.0.html
servers:
  - url: '{protocol}://{host}/wp-json/cocart/v2'
    description: API v2
    variables:
      protocol:
        enum:
          - http
          - https
        default: https
      host:
        default: example-store.com
        description: Your store domain
security: []
tags:
  - name: cart
    description: Operations for managing the shopping cart
  - name: cart-items
    description: Operations for managing cart items
  - name: cart-calculate
    description: Operations for calculating cart totals
  - name: products
    description: Operations for browsing and retrieving product information
  - name: product-attributes
    description: Operations for retrieving product attributes and attribute terms
  - name: product-categories
    description: Operations for browsing and filtering product categories
  - name: product-tags
    description: Operations for browsing and filtering product tags
  - name: product-reviews
    description: Operations for retrieving product reviews and ratings
  - name: product-variations
    description: Operations for retrieving variable product variations
  - name: admin-sessions
    description: Administrative operations for managing cart sessions
  - name: authentication
    description: Operations for user authentication
  - name: store
    description: Operations for retrieving store information and configuration
externalDocs:
  description: Find out more about CoCart API
  url: https://docs.cocartapi.com
paths:
  /products/categories:
    get:
      tags:
        - product-categories
      summary: Get product categories
      description: |
        Gets a list of product categories.
      parameters:
        - name: page
          in: query
          description: Current page of the collection.
          schema:
            type: integer
            default: 1
        - name: per_page
          in: query
          description: Maximum number of items to return per page.
          schema:
            type: integer
            default: 10
        - name: search
          in: query
          description: Limit results to those matching a search string.
          schema:
            type: string
        - name: exclude
          in: query
          description: Ensure result set excludes specific IDs.
          schema:
            type: array
            items:
              type: integer
        - name: include
          in: query
          description: Limit result set to specific IDs.
          schema:
            type: array
            items:
              type: integer
        - name: order
          in: query
          description: Sort order.
          schema:
            type: string
            enum:
              - asc
              - desc
            default: asc
        - name: orderby
          in: query
          description: Sort categories by field.
          schema:
            type: string
            enum:
              - id
              - include
              - name
              - slug
              - term_group
              - description
              - count
            default: name
        - name: parent
          in: query
          description: Limit results to categories with a specific parent.
          schema:
            type: integer
        - name: hide_empty
          in: query
          description: Whether to hide categories with no products.
          schema:
            type: boolean
            default: false
        - name: slug
          in: query
          description: Limit result set to categories with specific slug(s).
          schema:
            type: array
            items:
              type: string
      responses:
        '200':
          description: Product categories retrieved successfully.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProductCategory'
              example:
                - id: 15
                  name: Electronics
                  slug: electronics
                  description: Electronic devices and accessories for modern living
                  display: default
                  image:
                    id: 234
                    date_created: '2024-01-10T08:00:00'
                    date_modified: '2024-01-10T08:00:00'
                    src: >-
                      https://example-store.com/wp-content/uploads/2024/01/electronics-category.jpg
                    name: electronics-category
                    alt: Electronics Category
                  menu_order: 0
                  count: 156
                - id: 23
                  name: Clothing
                  slug: clothing
                  description: Fashion and apparel for all occasions
                  display: default
                  image:
                    id: 345
                    date_created: '2024-01-12T09:30:00'
                    date_modified: '2024-01-12T09:30:00'
                    src: >-
                      https://example-store.com/wp-content/uploads/2024/01/clothing-category.jpg
                    name: clothing-category
                    alt: Clothing Category
                  menu_order: 1
                  count: 284
                - id: 28
                  name: T-Shirts
                  slug: t-shirts
                  description: Comfortable t-shirts in various styles
                  display: default
                  image: null
                  menu_order: 0
                  count: 89
        '400':
          description: Bad request - invalid parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                code: cocart_invalid_parameter
                message: Invalid parameter provided.
                data:
                  status: 400
components:
  schemas:
    ProductCategory:
      type: object
      description: CoCart v2 Product Category
      properties:
        id:
          type: integer
          description: Category ID
        name:
          type: string
          description: Category name
        slug:
          type: string
          description: Category slug
        rest_url:
          type: string
          description: REST URL for this category
    ErrorResponse:
      type: object
      description: Standard error response structure.
      properties:
        code:
          type: string
          description: Machine-readable error code.
          example: cocart_invalid_parameter
        message:
          type: string
          description: Human-readable error message.
          example: Invalid parameter provided.
        data:
          type: object
          description: Additional error data.
          properties:
            status:
              type: integer
              description: HTTP status code.
              example: 400
            params:
              type: object
              description: Parameter-specific error details.
              additionalProperties: true
          additionalProperties: true

````