> Tychron Atlas API & Provisioning Reference — chapter 28 of 35 as Markdown. Web version: https://docs.tychron.com/api-reference/csp-campaign-optout-items/
> Source: https://docs.tychron.com/api-reference/ · Updated 2026-08-12 · Generated from the Atlas OpenAPI spec (https://api.atlas.tychron.online/api/v1/openapi is the live contract; this file is a dated snapshot of it).
> Source revision: atlas_api_reference_2026-08-12.md · sha256 482ebd3b014af053 · sanitize gate v1 clean · reconciled with OpenAPI 2026.8.25-p01 (spec sha256 cc049ef38c71cd6e) on 2026-09-05 · content last modified 2026-09-09 · newer definition under review since 2026-09-09 (not yet reconciled)
> Scope: the Atlas platform API only. The SMS, MMS, CNAM, LRN and MCL services are separate APIs with their own specifications: https://docs.tychron.com/openapi/
> Machine index: https://docs.tychron.com/llms.txt

# CSP - Campaign - Optout Items

## Schema

A record representing an opt-out for a host and remote number pair under a campaign.

Optouts may be manually added or may be triggered by the remote_number to stop receiving messages.


__Type__ Object

| Name              | Type                     | Description                          |
| ----------------- | ------------------------ | ------------------------------------ |
| `host_number`     | String                   | [Desc. `host_number`](https://docs.tychron.com/api-reference/csp-campaign-optout-items/#desc-397)     |
| `id`              | String(format:uuid)      | [Desc. `id`](https://docs.tychron.com/api-reference/csp-campaign-optout-items/#desc-398)              |
| `inserted_at`     | String(format:date-time) | An ISO8601 formatted timestamp       |
| `keyword`         | String                   | [Desc. `keyword`](https://docs.tychron.com/api-reference/csp-campaign-optout-items/#desc-399)         |
| `remote_number`   | String                   | [Desc. `remote_number`](https://docs.tychron.com/api-reference/csp-campaign-optout-items/#desc-400)   |
| `tcr_campaign_id` | String                   | [Desc. `tcr_campaign_id`](https://docs.tychron.com/api-reference/csp-campaign-optout-items/#desc-401) |
| `updated_at`      | String(format:date-time) | An ISO8601 formatted timestamp       |

#### Desc. `host_number` {#desc-397}

A reference to the host number that this optout belongs to.

That is the number that received the optout request.

#### Desc. `id` {#desc-398}

A Universally unique identifier, which identifies the resource

#### Desc. `keyword` {#desc-399}

If the optout was triggered by the system, this field will be populated with the keyword
used.

Will be some variant of STOP normally.

For more information about keywords and their handling, contact support.

#### Desc. `remote_number` {#desc-400}

The client number that sent the optout, or is opted out of receiving messages from the
host number

#### Desc. `tcr_campaign_id` {#desc-401}

The Campaign ID, as issued by TCR.



__Example__

```json
{
  "host_number": "12003004000",
  "id": "c6be45e4-b7dd-412c-96c4-777e83fb9c48",
  "inserted_at": "2021-08-13T04:08:44.762841Z",
  "keyword": "STOP",
  "remote_number": "12003004001",
  "tcr_campaign_id": "C012345",
  "updated_at": "2021-08-13T04:08:44.762841Z"
}
```


## Summary

Campaign level optout items control a campaign-wide subscription, regardless of host number.

## API

### List all CSP Campaign Optout Items

```http
GET /api/v1/campaign_optout_items HTTP/1.1
```

Retrieve a list of csp campaign optouts.


__Query Parameters__

| Name   | Type    | Description                     |
| ------ | ------- | ------------------------------- |
| first  | Integer | [Query Desc. first](https://docs.tychron.com/api-reference/csp-campaign-optout-items/#desc-402)  |
| last   | Integer | [Query Desc. last](https://docs.tychron.com/api-reference/csp-campaign-optout-items/#desc-403)   |
| after  | String  | [Query Desc. after](https://docs.tychron.com/api-reference/csp-campaign-optout-items/#desc-404)  |
| before | String  | [Query Desc. before](https://docs.tychron.com/api-reference/csp-campaign-optout-items/#desc-405) |

#### Query Desc. first {#desc-402}

The number of items to return starting from the 'after' cursor

#### Query Desc. last {#desc-403}

The number of items to return behind the 'before' cursor

#### Query Desc. after {#desc-404}

The cursor representing the starting point of a 'first' based paging

#### Query Desc. before {#desc-405}

The cursor representing the starting point of a 'last' based paging

#### Request

```http
GET /api/v1/campaign_optout_items HTTP/1.1
Accept: application/json
```
#### Response 200

##### application/json

```http
HTTP/1.1 200
Content-Type: application/json
Content-Length: 895
```

```json
{
  "count": 1,
  "page_info": {
    "first": "string",
    "has_next_page": true,
    "has_previous_page": true,
    "last": "string"
  },
  "results": [
    {
      "associations": {
        "csp_campaign": {
          "id": "c6be45e4-b7dd-412c-96c4-777e83fb9c48",
          "tcr_campaign_id": "C012345"
        },
        "host_did": {
          "id": "c6be45e4-b7dd-412c-96c4-777e83fb9c48",
          "number": "12003004000"
        },
        "sms": {
          "id": "01EH2Y28M6KXG14QMPM3HSP1Y0"
        }
      },
      "data": {
        "host_number": "12003004000",
        "id": "c6be45e4-b7dd-412c-96c4-777e83fb9c48",
        "inserted_at": "2021-08-13T04:08:44.762841Z",
        "keyword": "STOP",
        "remote_number": "12003004001",
        "tcr_campaign_id": "C012345",
        "updated_at": "2021-08-13T04:08:44.762841Z"
      },
      "type": "number_optout_item"
    }
  ]
}
```
#### Response 403

##### application/json

```http
HTTP/1.1 403
Content-Type: application/json
Content-Length: 312
```

```json
{
  "errors": [
    {
      "code": "access_denied.no_scope",
      "detail": "No scope available to user role",
      "params": {
        "action": "index",
        "level": "guest",
        "resource": "resource"
      },
      "sub_code": "none",
      "title": "Access Denied, no scope available"
    }
  ]
}
```


### Get CSP Campaign Optout Item

```http
GET /api/v1/campaign_optout_items/{id} HTTP/1.1
```

Lookup a optout item by ID


__Path Parameters__

| Name | Type                 | Description                |
| ---- | -------------------- | -------------------------- |
| id   | String(format:uuid)! | [Path Desc. id](https://docs.tychron.com/api-reference/csp-campaign-optout-items/#desc-406) |

#### Path Desc. id {#desc-406}

Optout Item ID A Universally unique identifier, which identifies the resource

#### Request

```http
GET /api/v1/campaign_optout_items/{id} HTTP/1.1
Accept: application/json
```
#### Response 200

##### application/json

```http
HTTP/1.1 200
Content-Type: application/json
Content-Length: 634
```

```json
{
  "associations": {
    "csp_campaign": {
      "id": "c6be45e4-b7dd-412c-96c4-777e83fb9c48",
      "tcr_campaign_id": "C012345"
    },
    "host_did": {
      "id": "c6be45e4-b7dd-412c-96c4-777e83fb9c48",
      "number": "12003004000"
    },
    "sms": {
      "id": "01EH2Y28M6KXG14QMPM3HSP1Y0"
    }
  },
  "data": {
    "host_number": "12003004000",
    "id": "c6be45e4-b7dd-412c-96c4-777e83fb9c48",
    "inserted_at": "2021-08-13T04:08:44.762841Z",
    "keyword": "STOP",
    "remote_number": "12003004001",
    "tcr_campaign_id": "C012345",
    "updated_at": "2021-08-13T04:08:44.762841Z"
  },
  "type": "number_optout_item"
}
```
#### Response 403

##### application/json

```http
HTTP/1.1 403
Content-Type: application/json
Content-Length: 312
```

```json
{
  "errors": [
    {
      "code": "access_denied.no_scope",
      "detail": "No scope available to user role",
      "params": {
        "action": "index",
        "level": "guest",
        "resource": "resource"
      },
      "sub_code": "none",
      "title": "Access Denied, no scope available"
    }
  ]
}
```
#### Response 404

##### application/json

```http
HTTP/1.1 404
Content-Type: application/json
Content-Length: 314
```

```json
{
  "errors": [
    {
      "code": "not_found",
      "detail": "The specified resource could not be found",
      "params": {
        "resource": {
          "id": "3fbb573a-6049-44a0-a12c-d3a1ffae0b69",
          "type": "user"
        }
      },
      "sub_code": "none",
      "title": "Not Found"
    }
  ]
}
```

---

Previous chapter: https://docs.tychron.com/api-reference/csp-campaigns.md  
Next chapter: https://docs.tychron.com/api-reference/shared-resource-groups.md  
Complete reference in one file: https://docs.tychron.com/llms-full.txt
