# Count who a text blast would be resent to

A QUESTION, not a send: how many of one text blast's recipients ended up in the outcomes you name, and a sample to recognise them by. Body: `outcomes` (any of queued, sent, delivered, failed, skipped), `includeNoOutcome` (addresses the dispatcher never spoke about at all, which is not the same as failed, so it is its own flag), `sampleLimit`. Each address's LATEST outcome decides, so a redelivery does not count twice. Nothing is created and nothing is queued — `post_sms-blasts_id_retarget-send` is what sends again.

Access class: `workspace`.

## Endpoint

`POST /v1/sms-blasts/{id}/retarget-preview`

## Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| id | path | string | Yes |

## Request body

Content type: `application/json`.

```json
{
  "body": {
    "includeNoOutcome": true,
    "outcomes": [
      "string"
    ],
    "sampleLimit": 1,
    "target": "string"
  },
  "params": {
    ":id": "string"
  },
  "query": {}
}
```

## Responses

### 201

the action's answer

Content type: `application/json`.

```json
{
  "data": {
    "audience": 1,
    "blastId": 1,
    "matched": 1,
    "sample": [
      {
        "addedAt": "string",
        "address": "string",
        "displayName": "string",
        "lastOutcome": "string",
        "sourceRowId": ""
      }
    ],
    "sampleTruncated": true
  }
}
```

### default

a refusal: `{"error": "<what a person needs to read>"}`. 401 no credential, 402 the plan does not include this, 403 the seat does not, 404 the thing does not exist or is not yours to see.

Content type: `application/json`.

```json
{
  "error": "string"
}
```
