# Get Topic Sessions — Hedy

> Retrieves a paginated list of Hedy sessions belonging to a specific topic. Use Get Many Topics first to find the topic ID. Paginate using the startAfter cursor (a session ID from the last item in the previous page). See the documentation

- Key: `hedy-get-topic-sessions`
- Type: Action (Read-only)
- Version: 0.0.2
- App: Hedy (`hedy`) — https://pipedream.com/apps/hedy.md
- This page (HTML): https://pipedream.com/apps/hedy/actions/get-topic-sessions
- Hints: read-only · open-world
- Source: https://github.com/PipedreamHQ/pipedream/blob/master/components/hedy/actions/get-topic-sessions/get-topic-sessions.mjs

## Description

Retrieves a paginated list of Hedy sessions belonging to a specific topic. Use **Get Many Topics** first to find the topic ID. Paginate using the `startAfter` cursor (a session ID from the last item in the previous page). [See the documentation](https://app.swaggerhub.com/apis-docs/HedyAI/hedy-api/1.5.2#/Topics/get_topics__topicId__sessions)

## Props

| Prop | Type | Required | Description |
|---|---|---|---|
| `topicId` | `string` | Yes | The unique identifier of the topic (e.g., topic_5f8e9a). Use Get Many Topics to list available topic IDs. |
| `limit` | `integer` | No | Maximum number of items to return (1–100). Defaults to 20. Example: 50. |
| `startAfter` | `string` | No | Pagination cursor — pass the session ID of the last item from the previous page to retrieve the next page. |

## Run it

**MCP**

```ts
import { Client } from "@modelcontextprotocol/sdk/client/index.js"
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const accessToken = await pd.rawAccessToken

const transport = new StreamableHTTPClientTransport(
  new URL("https://remote.mcp.pipedream.net/v3"),
  {
    requestInit: {
      headers: {
        Authorization: `Bearer ${accessToken}`,
        "x-pd-project-id": process.env.PIPEDREAM_PROJECT_ID!,
        "x-pd-environment": "production",
        "x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
        "x-pd-app-slug": "hedy",
      },
    },
  },
)

const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)

const { tools } = await mcp.listTools()

// listTools() hands your model this tool's input schema, so it can
// fill the arguments itself:
const result = await mcp.callTool({
  name: "hedy-get-topic-sessions",
  arguments: {
    topicId: "Topic ID",
    limit: 10,
  },
})
```

**TypeScript**

```ts
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const result = await pd.actions.run({
  id: "hedy-get-topic-sessions",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    hedy: { authProvisionId: "apn_xxxxxxx" },
    topicId: "Topic ID",
    limit: 10,
  },
})

console.log(result)
```

**cURL**

```bash
curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
  -H "Content-Type: application/json" \
  -H "X-PD-Environment: production" \
  -H "Authorization: Bearer {access_token}" \
  -d '{
    "external_user_id": "{external_user_id}",
    "id": "hedy-get-topic-sessions",
    "configured_props": {
      "hedy": { "authProvisionId": "apn_xxxxxxx" },
      "topicId": "Topic ID",
      "limit": 10
    }
  }'
```

---

- App: https://pipedream.com/apps/hedy.md · All apps: https://pipedream.com/apps
