---
title: "List consent setups"
description: "Where and how people opt in to your texts: the form or page, the brand and purpose it discloses. `GET /api/v1/sms/consent-setups`"
url: https://www.unitpost.com/docs/sms/get-sms-consent-setups
section: "SMS API reference"
updated: 2026-10-13
---
# List consent setups

`GET /api/v1/sms/consent-setups`

Where and how people opt in to your texts: the form or page, the brand and purpose it discloses. A messaging program points at one with `consent_setup_id`. Archived ones are left out. Requires the `sms:read` capability.

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `limit` | query | integer | no | Max rows to return (default 20, max 100). |
| `after` | query | string | no | Return rows after this id (forward paging). |
| `before` | query | string | no | Return rows before this id (backward paging). |

## Response fields (200)

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `object` | string | yes | — |
| `id` | string | yes | — |
| `name` | string | yes | — |
| `type` | string | yes | How people opt in, in the carriers' words (`DIGITAL_FORM`, `TEXT`, …): the values a program's `opt_in_type` takes. |
| `source_url` | string \| null | yes | — |
| `is_public` | boolean | yes | — |
| `requires_authentication` | boolean | yes | — |
| `brand_name` | string \| null | yes | — |
| `message_purpose` | string \| null | yes | — |
| `frequency_disclosure` | string \| null | yes | — |
| `status` | string | yes | — |
| `updated_at` | string | yes | — |

## Responses

| Status | Description |
| --- | --- |
| 200 | Consent setups. |
| 401 | Missing or invalid API key. |
| 403 | Insufficient scope. |
| 404 | Not found, or SMS is not enabled for this workspace. |
| 422 | A bad `limit`, `after` or `before`, or an unknown query key. |

## Example request

```bash
curl -X GET 'https://www.unitpost.com/api/v1/sms/consent-setups' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'User-Agent: my-app/1.0'
```

## Example response (200)

```json
{
  "object": "list",
  "has_more": false,
  "data": [
    {
      "object": "sms_consent_setup",
      "id": "id_123",
      "name": "Example",
      "type": "string",
      "source_url": "https://example.com",
      "is_public": false,
      "requires_authentication": false,
      "brand_name": "string",
      "message_purpose": "string",
      "frequency_disclosure": "string",
      "status": "queued",
      "updated_at": "2026-01-01T00:00:00.000Z"
    }
  ]
}
```

## Links

- HTML reference (with Node.js, Python, Ruby, PHP, Laravel, Go, Java, Rust, .NET and CLI examples): https://www.unitpost.com/docs/sms/get-sms-consent-setups
- OpenAPI 3.1 (full schemas): https://www.unitpost.com/api/v1/openapi.json
