# Answer a card

> Resolve a card the way the dashboard's primary button would: approve, answer a question, or choose an option.

Canonical: https://revnu.com/docs/review-answer

```bash
curl -X POST -H "Authorization: Bearer $REVNU_API_TOKEN" \
  -H "content-type: application/json" \
  -d '{"action":"approve"}' \
  https://revnu.com/api/v1/review/k97…/answer
```

## Body

| Field | Type | Meaning |
|---|---|---|
| `action` | `approve`, `answer` or `choose` | Must be in the card's `actions`. |
| `text` | string, up to 8,000 UTF-8 bytes | For `answer`, and optionally with `approve`. |
| `optionValues` | string[] | For `choose`: exactly one of the card's option values. |

## What approve does

The source type picks the path: a plain approve, publish a blog draft, apply a blog edit, set up an outbound proposal, or post to Reddit. It is a real approval.

## Responses

| Code | Meaning |
|---|---|
| 200 | `{ ok, kind, result? }` |
| 409 | `invalid_action` with the current `actions`, a guard rejection with a `message`, or `use_send` for a Gmail card |

## Frequently asked questions

### Which scope does this need?

`review:write`. A token without it gets `403` with `requiredScope` in the body. `GET /me` shows a token's scopes.

### Are responses cached?

No. Every response is `Cache-Control: no-store`, so what you read is current.
