<Intro>

<EndpointHeader />

<Description>

Returns one suppression: the sender and subscriber it covers, why messages are stopped, how the record came to exist, what it blocks, and whether it is still in force.

Unlike the list, this answers for a suppression that has already ended: `blocking` is `false` and the `ended_*` fields say when and why, so an ID you kept from a create or a delete stays readable. To find one when you only know the number, use `GET /v1/sms/suppressions` with the `destination` parameter. An ID that does not exist in the workspace returns `404`.

</Description>

</Intro>

<Payload kind="response">

<Field name="id" type="string" required />

<Field name="destination" type="string" required>

<Description>

The subscriber, in E.164 format.

</Description>

</Field>

<Field name="originator" type="string" required>

<Description>

The sender this stops. A suppression covers one sender, so your other senders still reach this subscriber. Opting out of one of your programmes is not opting out of all of them.

</Description>

</Field>

<Field name="reason" type="string" required />

<Field name="origin" type="string" required />

<Field name="applies_to" type="string" required />

<Field name="blocking" type="boolean" required>

<Description>

Whether this is stopping messages right now. Always true in a list, which carries only the suppressions in force; false when you fetch one by ID that has since ended, which is also when `ended_at` is set.

</Description>

</Field>

<Field name="source_sms_id" type="nullable string">

<Description>

The inbound message the subscriber opted out with, or the outbound message whose delivery report reported the opt-out. Null when neither applies.

</Description>

</Field>

<Field name="effective_at" type="string" required>

<Description>

When the subscriber opted out, as reported by whoever reported it. This is what orders one subscriber's history, and it can be earlier than `created_at` when a message reached us late.

</Description>

</Field>

<Field name="ended_at" type="nullable string">

<Description>

When this stopped applying. Null while it is still stopping messages.

</Description>

</Field>

<Field name="ended_reason" type="nullable string">

<Description>

What ended it. Null while it is still stopping messages.

</Description>

</Field>

<Field name="ended_effective_at" type="nullable string">

<Description>

When the subscriber opted back in, as reported. Null while it is still stopping messages.

</Description>

</Field>

<Field name="source_end_sms_id" type="nullable string">

<Description>

The inbound message the subscriber opted back in with, when there was one. Null while it is still stopping messages, and when something other than a start keyword ended it.

</Description>

</Field>

<Field name="created_at" type="string" required>

<Description>

When we recorded it.

</Description>

</Field>

<Field name="last_asserted_at" type="string" required>

<Description>

When we last recorded the subscriber opting out of this sender. Later than `created_at` when they texted a stop keyword again while already suppressed, which adds no new record but does earn another confirmation reply.

</Description>

</Field>

</Payload>