# setInboxThreadHandled

Mark a TEXT thread HANDLED, the inbox's "no reply needed": it leaves Needs reply (channel NEEDS_RESPONSE) for everyone in the organization until the contact texts again. textConversationId is a MESSAGE row's id; handledThroughMessageId is the newest INBOUND message you read (from getTextThreadMessages), so a reply newer than it keeps the thread in Needs reply. Pass handledThroughMessageId null to put the thread back in Needs reply. Returns false when you cannot act on the thread or the message is not its inbound.

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

## Variables

- `textConversationId`: `String!` (required)
- `handledThroughMessageId`: `ID`

## Response (data, an example)

```json
{
  "smsMutation": {
    "setConversationNeedsReplyHandled": true
  }
}
```

## 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": "setInboxThreadHandled",
    "variables": {
      "textConversationId": "<String>"
    }
  }'
```
