SMS Consent: lists consent records for the caller's scope.
GET
/api/twilio/sms-consent
deprecated
Requires: Twilio.SmsConsent.View, merchant scope.
Newest transition first, with cursor-based paging. Filters (phone number, status) are optional and combined with AND. Paging is keyset / cursor-based, not skip/take: pass `NextContinuationToken` from the previous response back as `ContinuationToken` to fetch the next page. Sorting supports `StatusChangedAt ASC` / `StatusChangedAt DESC` only and defaults to descending.
Example request
Every block below sends the same request. Replace {{BASE_URL}} with the address of the API you are calling and {{API_KEY}} with your own key.
The request body is a . See the Request body section below for its fields.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
MaxResultCount
required |
query | integer (int32) | Maximum rows per page (1 to `MaxPageSize`). Values at or below zero use the default page size. |
ContinuationToken
required |
query | string | Opaque cursor returned by a prior call. `null` for the first page. |
IncludeDeleted
required |
query | boolean | Part of the continuation-paging contract (`IContinuationPagedRequest`). Not applied by the consent list endpoint: consent records are never soft-deleted, so there is no soft-delete filter to toggle. Kept to satisfy the interface; ignored here. |
IncludeInactive
required |
query | boolean | Part of the continuation-paging contract (`IContinuationPagedRequest`). Not applied by the consent list endpoint: `SmsConsent` has no active/inactive concept. Kept to satisfy the interface; ignored here. |
IncludeApproxTotalCount
required |
query | boolean | Set to false to skip the approximate total count query and receive a null count; omit the value or set it to true to receive the count as before. |
Sorting
required |
query | string | Sort direction. Only `StatusChangedAt ASC` and `StatusChangedAt DESC` are supported: the cursor encodes (StatusChangedAt, Id). Anything else falls back to `StatusChangedAt DESC`. |
PhoneNumber
required |
query | string | Optional exact-match E.164 phone number filter. |
Status
required |
query | SmsConsentStatus | Optional status filter (opted in / opted out). |
MerchantId
required |
query | string (uuid) | Caller-requested merchant scope. Honoured only when the caller holds `SmsConsent.ViewAllMerchants`; otherwise the caller's own merchant is used. |
suppressNulls
required |
query | boolean | If true, omit properties with null values. |
Request body
application/json
, required
| Field | Type | Description |
|---|
This request body has no documented fields.
Responses
200 OK
Body: ContinuationPagedResultDtoOfSmsConsentDto
Each item has these fields.
| Field | Type | Description |
|---|---|---|
items
required |
array of SmsConsentDto | The items returned for this page. nullable |
nextContinuationToken
required |
string | Continuation token to use when requesting the next page. Null means no additional pages exist. nullable |
approxTotalCount
required |
integer (int64) | An approximate total count of matching items. This value is optional and may be stale or estimated, so treat it as an approximation. nullable |
pageItemCount
required |
integer (int32) | Convenience property for the number of items in this page. read only |
retrievedAt
required |
string (date-time) | When the page was retrieved. Useful for diagnostics and cache behavior. |
This response has no documented body fields.
403 Forbidden
Body: RemoteServiceErrorResponse
Each item has these fields.
| Field | Type | Description |
|---|---|---|
error
required |
RemoteServiceErrorInfo |
This response has no documented body fields.
401 Unauthorized
Body: RemoteServiceErrorResponse
Each item has these fields.
| Field | Type | Description |
|---|---|---|
error
required |
RemoteServiceErrorInfo |
This response has no documented body fields.
400 Bad Request
Body: RemoteServiceErrorResponse
Each item has these fields.
| Field | Type | Description |
|---|---|---|
error
required |
RemoteServiceErrorInfo |
This response has no documented body fields.
404 Not Found
Body: RemoteServiceErrorResponse
Each item has these fields.
| Field | Type | Description |
|---|---|---|
error
required |
RemoteServiceErrorInfo |
This response has no documented body fields.
501 Not Implemented
Body: RemoteServiceErrorResponse
Each item has these fields.
| Field | Type | Description |
|---|---|---|
error
required |
RemoteServiceErrorInfo |
This response has no documented body fields.
500 Internal Server Error
Body: RemoteServiceErrorResponse
Each item has these fields.
| Field | Type | Description |
|---|---|---|
error
required |
RemoteServiceErrorInfo |
This response has no documented body fields.
default The request failed. The body carries the standard error envelope: a machine-readable `error.code`, a human-readable `error.message`, and `error.validationErrors` when the failure was a validation rejection. See the error-code reference in this document's description for the values `error.code` can take.
Body: RemoteServiceErrorResponse
Each item has these fields.
| Field | Type | Description |
|---|---|---|
error
required |
RemoteServiceErrorInfo |
This response has no documented body fields.
429 The request was refused because a rate limit was exceeded. Wait at least the interval `Retry-After` names before retrying, then back off. Limits are tuned per deployment, so read the allowance from the response headers rather than assuming a fixed ceiling.
Body: RateLimitProblemDetails
Each item has these fields.
| Field | Type | Description |
|---|---|---|
type
required |
string | The problem type identifier. Always the same value: the failure is the status code itself, so there is no sub-type for a caller to branch on. nullable |
title
required |
string | A short, human-readable summary of the problem type. nullable |
status
required |
integer (int32) | The HTTP status code, repeated in the body as the problem-details format defines. |
detail
required |
string | A human-readable explanation of this occurrence of the problem. nullable |
retryAfterSeconds
required |
integer (int32) | How long to wait before retrying, in whole seconds, carrying the same figure as the `Retry-After` header. Always at least one: a value of zero would invite an immediate retry that is certain to be rejected again. |
This response has no documented body fields.
Errors
A failed request returns the platform error envelope. The
error reference lists every value
error.code can carry and shows the four response shapes.