[Cotlet](https://cotlet.dev/index.md) · [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Use cases](https://cotlet.dev/use-cases.md) · [Security](https://cotlet.dev/security.md) · [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md) · [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [Contact](https://cotlet.dev/contact.md) · [Pricing](https://cotlet.dev/pricing.md) · [Sign up](https://cotlet.dev/signup)

# List content actions

> Enrollments, status changes, certificate grants and revoked access from the Content Actions Log. Inputs, cURL, Python and Node.js examples and an example response.

Source: https://cotlet.dev/docs/api/thought-industries/list_content_actions

Docs sections: [Get started](https://cotlet.dev/docs.md) · [REST API](https://cotlet.dev/docs/api.md) · [MCP](https://cotlet.dev/docs/mcp.md) · [SDKs & CLI](https://cotlet.dev/docs/sdks.md) · [Integrations](https://cotlet.dev/docs/integrations.md)

Enrollments, status changes, certificate grants and revoked access from the Content Actions Log.

Thought Industries API: https://cotlet.dev/docs/api/thought-industries.md

`GET https://cotlet.dev/api/v1/thought-industries/content-actions`

Access: read.

Reads Reporting > Reports > Learner Actions > Content Actions Log with the same filters as the admin: date range, Panorama, content, learner, type and source. Each row has the learner email, Panorama, content type, content title, type, source and timestamp. type is enrollment, status_change, revoked_access or certificate_grant, and each source belongs to one type, for example course_completed under status_change. Use cursor to read every page.

## Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `since` | date | no | Only actions on or after this date. |
| `until` | date | no | Only actions on or before this date. |
| `type` | enum | no | enrollment, status_change, revoked_access or certificate_grant. |
| `source` | string | no | A source value such as course_completed, manager_course_enrollment or auto_enrollment. |
| `content` | string | no | Content title to filter by. |
| `learner` | string | no | Learner email to filter by. |
| `panorama` | string | no | Panorama (client) name to filter by. |
| `cursor` | string | no | Next page cursor from the previous call. |

## Request

**cURL**

```bash
curl "https://cotlet.dev/api/v1/thought-industries/content-actions?since=2026-10-12&until=2026-10-18&type=status_change&source=course_completed" \
  -H "Authorization: Bearer $COTLET_API_KEY"
```

**Python**

```python
result = client.call("thought-industries", "list_content_actions", {"since":"2026-10-12","until":"2026-10-18","type":"status_change","source":"course_completed"})
```

**Node.js**

```js
const result = await cotlet.call('thought-industries', 'list_content_actions', {"since":"2026-10-12","until":"2026-10-18","type":"status_change","source":"course_completed"});
```

**CLI**

```bash
cotlet call thought-industries list_content_actions --data '{"since":"2026-10-12","until":"2026-10-18","type":"status_change","source":"course_completed"}'
```

## Example response

```json
{
  "actions": [
    {
      "email": "priya.nair@example.com",
      "panorama": "Retail",
      "content_type": "course",
      "content_title": "Safety basics",
      "type": "status_change",
      "source": "course_completed",
      "timestamp": "2026-10-13T14:02:00.000Z"
    },
    {
      "email": "sam.okafor@example.com",
      "panorama": "Field",
      "content_type": "course",
      "content_title": "Safety basics",
      "type": "status_change",
      "source": "course_completed",
      "timestamp": "2026-10-15T09:41:00.000Z"
    }
  ],
  "next_cursor": null
}
```

Previous: [Get course enrollment settings](https://cotlet.dev/docs/api/thought-industries/get_course.md)
Next: [List Auto Assignment rules](https://cotlet.dev/docs/api/thought-industries/list_auto_assignment_rules.md)

---

Give your AI agents your signed-in browser.

**Product:** [Integrations](https://cotlet.dev/integrations.md) · [Use cases](https://cotlet.dev/use-cases.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Pricing](https://cotlet.dev/pricing.md) · [Security](https://cotlet.dev/security.md)

**Resources:** [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [GitHub](https://github.com/cotletdev/cotlet)

**Solutions:** [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md)

**Company:** [About](https://cotlet.dev/about.md) · [AI info: company facts](https://cotlet.dev/ai-info.md) · [Contact](https://cotlet.dev/contact.md)

**Legal:** [Terms of service](https://cotlet.dev/terms) · [Privacy policy](https://cotlet.dev/privacy) · [Refund policy](https://cotlet.dev/refunds) · [Acceptable use](https://cotlet.dev/acceptable-use) · [Cookie policy](https://cotlet.dev/cookies) · [DPA](https://cotlet.dev/dpa) · [Subprocessors](https://cotlet.dev/subprocessors)

**Elsewhere:** [Status page](https://status.cotlet.dev) · [Cotlet on GitHub](https://github.com/cotletdev) · [Cotlet on X](https://x.com/cotletdev) · [Cotlet on LinkedIn](https://www.linkedin.com/company/cotletdev) · [Cotlet on Product Hunt](https://www.producthunt.com/products/cotlet) · [Cotlet on Crunchbase](https://www.crunchbase.com/organization/cotlet) · [Cotlet on SaaSHub](https://www.saashub.com/cotlet)

Cotlet.dev is built by Bart Krawczyk and Jake Slugocki, the founders of Take Group sp. z o.o., ul. Wincentego Janasa 4, 40-855 Katowice, Poland. KRS 0000871398, NIP 6342984273, VAT EU: PL6342984273. [About us](https://cotlet.dev/about.md)

Cotlet is an independent service. It is not affiliated with, endorsed by or sponsored by any of the products listed on this site. Product names are trademarks of their respective owners.
