# List product content

`GET https://api.cademi.com.br/api/v3/products/{product_id}/content`

Operation ID: `products.content.list` · API v3

Lists the top-level content of a product: its root modules and the lessons that do not belong to any module, in their display order.

Required permissions: `products.read`.

## Parameters

| Name | In | Type | Required | Description |
|---|---|---|---|---|
| `product_id` | path | string | yes |  |
| `status` | query | string, one of `published`, `draft` | no |  |

## Responses

### 200

Returns the product's top-level content in display order.

Body: `data`: array of ContentEntry.

Fields of ContentEntry:

| Field | Type | Required | Description |
|---|---|---|---|
| `id` | string | yes | Public ID of the module or lesson, prefixed with mod or les according to kind. |
| `kind` | string, one of `module`, `lesson` | yes |  |
| `name` | string | yes |  |
| `object` | string, one of `content_entry` | yes |  |
| `position` | integer | yes |  |
| `status` | string, one of `published`, `draft` | yes |  |

### 400

The request contains an unsupported query parameter.

Body: Error.

### 401

The credential is missing, malformed, expired, or revoked.

Body: Error.

### 403

The current credentials do not have the permission required by this operation.

Body: Error.

### 404

The product was not found or is not accessible with the current credentials.

Body: Error.

Full schema: https://cademi.dev/openapi/v3.json
