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

# List categories

> List all categories



## OpenAPI

````yaml get /categories
openapi: 3.1.0
info:
  title: CookieChimp API
  description: API for CookieChimp.com
  version: 1.0.1
servers:
  - url: https://cookiechimp.com/api/v1
security:
  - authorization: []
paths:
  /categories:
    get:
      tags:
        - Categories
      summary: List categories
      description: List all categories
      operationId: listCategories
      parameters:
        - $ref: '#/components/parameters/limit'
        - $ref: '#/components/parameters/offset'
        - $ref: '#/components/parameters/sort'
        - $ref: '#/components/parameters/order'
      responses:
        '200':
          description: List of categories
          content:
            application/json:
              schema:
                type: object
                properties:
                  pagination:
                    $ref: '#/components/schemas/CategoryPagination'
                    type: object
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Category'
        default:
          description: unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  parameters:
    limit:
      name: limit
      in: query
      description: Number of resources to return
      required: false
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 20
    offset:
      name: offset
      in: query
      description: Number of resources to skip
      required: false
      schema:
        type: integer
        minimum: 0
        default: 0
    sort:
      name: sort
      in: query
      description: Field to sort by
      required: false
      schema:
        type: string
    order:
      name: order
      in: query
      description: Sort order
      required: false
      schema:
        type: string
        enum:
          - asc
          - desc
  schemas:
    CategoryPagination:
      allOf:
        - $ref: '#/components/schemas/BasePagination'
      example:
        prev_url: /api/v1/categories?page=
        next_url: /api/v1/categories?page=2
        count: 4
        page: 1
        prev: null
        next: 2
    Category:
      type: object
      allOf:
        - $ref: '#/components/schemas/CategoryWrite'
      properties:
        id:
          type: string
          readOnly: true
          description: Unique identifier for the category
        created_at:
          type: string
          format: date-time
          readOnly: true
          description: Date and time when the category was created
        updated_at:
          type: string
          format: date-time
          readOnly: true
          description: Date and time when the category was last updated
      example:
        id: essential
        name: Essential
        description: Cookies essential for website functionality
        required: true
        created_at: '2023-01-01T00:00:00Z'
        updated_at: '2023-01-02T00:00:00Z'
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
      example:
        error:
          code: 400
          message: Invalid request
    BasePagination:
      type: object
      properties:
        prev_url:
          type: string
          description: Path to get previous page
        next_url:
          type: string
          description: Path to get next page
        count:
          type: integer
          description: Total number of pages
        page:
          type: integer
          description: Current page
        prev:
          type: integer
          description: Previous page number
        next:
          type: integer
          description: Next page number
    CategoryWrite:
      type: object
      properties:
        name:
          type: string
          description: Name of the category that is displayed to users
        description:
          type: string
          description: Description of the category that is displayed to users
        required:
          type: boolean
          description: Whether the category is required for the website to function
      required:
        - name
        - description
        - required
  securitySchemes:
    authorization:
      type: http
      scheme: bearer
      description: API token obtained from the login endpoint or the dashboard

````