## Get messages in a conversation

**Group:** Studio APIs

Use this when you need: **Get messages in a conversation**.

## Usage

```javascript
import { NeynarAPIClient, Configuration } from "@neynar/nodejs-sdk";

const client = new NeynarAPIClient(
  new Configuration({ apiKey: "YOUR_NEYNAR_API_KEY" })
);

const res = await client.getConversationMessages({
  conversationId: "example", // Conversation ID
  // deploymentId: "example",
  // fid: 123,
  // name: "example",
  // namespace: "example",
  // includeDeleted: true,
  // limit: 123,
  // cursor: "example",
});
console.log(res);
```

## Parameters

| Parameter        | Type     | Required | Description                 |
| ---------------- | -------- | -------- | --------------------------- |
| `conversationId` | `string` | ✅       | Conversation ID             |
| `deploymentId`  | `string` | ❌       | -                           |
| `fid`           | `number` | ❌       | -                           |
| `name`          | `string` | ❌       | -                           |
| `namespace`     | `string` | ❌       | -                           |
| `includeDeleted` | `boolean`| ❌       | -                           |
| `limit`         | `number` | ❌       | -                           |
| `cursor`        | `string` | ❌       | -                           |

## Response

Returns a `RequestArgs` object.

## Error Handling

```javascript
try {
  const res = await client.getConversationMessages({
    conversationId: "example"
  });
  // use res
} catch (err) {
  // Axios/HTTP errors, invalid params, auth issues, etc.
  console.error(err);
}
```

## Tips

- Provide a **viewerFid** when supported to respect mutes/blocks and include `viewer_context`.
- Keep requests scoped (e.g., use `limit`) to improve latency.
- Cache results where sensible.
