# List categories

Endpoint: GET /catalogs/{catalogID}/categories
Version: 1.0.445.36017
Security: OAuth2

## Path parameters:

  - `catalogID` (string, required)
    ID of the catalog.

## Query parameters:

  - `depth` (string)
    Depth of the category.

  - `search` (string)
    Word or phrase to search for.

  - `searchOn` (array)
    Comma-delimited list of fields to search on.
    Enum: "ID", "Name", "Description"

  - `sortBy` (array)
    Comma-delimited list of fields to sort by.
    Enum: "ID", "Name", "!ID", "!Name"

  - `page` (integer)
    Page of results to return. When paginating through many items (> page 30), we recommend the "Last ID" method, as outlined in the Advanced Querying documentation.

  - `pageSize` (integer)
    Number of results to return per page.

  - `filters` (object)
    An object or dictionary representing key/value pairs to apply as filters. Valid keys are top-level properties of the returned model or 'xp.???'

## Response 200 fields (application/json):

  - `Items` (array)
    Example: [{"ID":"","Name":"","Description":"","ListOrder":1,"Active":false,"ParentID":"","ChildCount":0,"xp":{}}]

  - `Items.ID` (string)

  - `Items.Name` (string)

  - `Items.Description` (string)

  - `Items.ListOrder` (integer)
    Order that the category appears within its parent or catalog (if root level).
    Example: 1

  - `Items.Active` (boolean)
    If false, buyers cannot see this category or any categories or products under it.

  - `Items.ParentID` (string)
    ID of the parent category.

  - `Items.ChildCount` (integer)
    Number of categories that are immediate children of this category.

  - `Items.xp` (object)
    Example: {}

  - `Meta` (object)

  - `Meta.Page` (integer)

  - `Meta.PageSize` (integer)

  - `Meta.TotalCount` (integer)

  - `Meta.TotalPages` (integer)

  - `Meta.ItemRange` (array)

  - `Meta.NextPageKey` (string)

## Response 4XX fields (application/json):

  - `StatusCode` (integer)
    Example: "404"

  - `ErrorCode` (string)
    Example: "NotFoundError"

  - `Message` (string)
    Example: "Object not found"

  - `Data` (object)
    Example: {"ObjectType":"","ObjectID":""}


