> ## Documentation Index
> Fetch the complete documentation index at: https://docs.neynar.com/llms.txt
> Use this file to discover all available pages before exploring further.

# postFrameAction

# postFrameAction

Post a mini app action, cast action or a cast composer action

> **Group:** Frame APIs

Use this when you need: **Post a mini app action, cast action or a cast composer action**.

## Usage

```ts theme={"system"}
import { NeynarAPIClient, Configuration } from "@neynar/nodejs-sdk";

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

const res = await client.postFrameAction({
  frameActionReqBody: "value", // required
});
console.log(res);
```

## Parameters

| Parameter            | Type                 | Required | Description |
| -------------------- | -------------------- | :------: | ----------- |
| `frameActionReqBody` | `FrameActionReqBody` |     ✅    | -           |

## Response

Returns a `RequestArgs` object.

## Error Handling

```ts theme={"system"}
try {
  const res = await client.postFrameAction({ /* required fields */ });
  // 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.


## Related topics

- [SDK v1 to v2 migration guide](/reference/neynar-nodejs-sdk-v1-to-v2-migration-guide.md)
- [postFrameActionDeveloperManaged](/nodejs-sdk/frame-apis/postFrameActionDeveloperManaged.md)
- [Post frame action](/reference/post-frame-action.md)
- [Post frame action developer managed](/reference/post-frame-action-developer-managed.md)
- [Frame Interactions](/docs/how-to-handle-frame-interactions-with-the-neynar-api.md)
