# decideSuggestion

Accept or dismiss any card in the suggestion feed (a contact's, an AI employee's or an account card) by its id (`verb` ACCEPT or DISMISS), the same door Work through uses. DISMISS takes `reason` and optionally `note` (their words). An account card's ACCEPT runs only the actions named in `selectedProposalKeys`; a card with a question of its own takes its answer in `decisions`. Accepting a reply sends it, under every gate the app's Accept runs; an account card's accept needs an org admin. Only on the person's word. Behind the send consent attestation and Pause everything, a DISMISS too. Returns id, kind, status.

- Call: `POST https://server.goliathdata.com/api/v1/call` with `{ "operationId": "decideSuggestion", "variables": {...} }`
- Scope: `WRITE`
- Type: mutation
- Idempotency: honors `Idempotency-Key` (24 h)
- Rate-limited: no

## Variables

- `suggestionId`: `ID!` (required)
- `verb`: `SuggestionDecisionVerb!` (required, one of `ACCEPT`, `DISMISS`)
- `reason`: `ContactSuggestionDismissReason` (one of `NOT_RELEVANT`, `WRONG_TONE`, `WRONG_FACTS`, `ALREADY_DONE`, `OTHER`, `NO_LONGER_DISTRESSED`, `WRONG_PROPERTY`, `NOT_MY_LEAD`, `WRONG_PERSON`, `ESTATE_ALREADY_HANDLED`, `STILL_OWNS`, `KEPT_MINE`, `SHOULDNT_MESSAGE`)
- `note`: `String`
- `acknowledgedWarning`: `String`
- `selectedProposalKeys`: `[String!]`
- `decisions`: `JSON`

## Response (data, an example)

```json
{
  "suggestionFeedMutation": {
    "decideSuggestion": {
      "id": "<ID>",
      "kind": "…",
      "status": "PENDING"
    }
  }
}
```

## Example

```bash
curl https://server.goliathdata.com/api/v1/call \
  -H "Authorization: Bearer $GOLIATH_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
    "operationId": "decideSuggestion",
    "variables": {
      "suggestionId": "<suggestionId>",
      "verb": "ACCEPT"
    }
  }'
```
