> ## Documentation Index
> Fetch the complete documentation index at: https://docs.omneo.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Email and Mobile Consent

> Managing marketing consent in Omneo, opt-ins, opt-outs, and comms preferences.

Comms consent in Omneo is managed through the profile's `attributes.comms` object. This object controls whether a customer can be contacted via email, SMS, push notification, phone, and post, and for which categories.

## Consent fields

Each channel has two types of consent fields:

| Field type             | Example                             | Meaning                                            |
| ---------------------- | ----------------------------------- | -------------------------------------------------- |
| **Global opt-out**     | `email_optout`                      | Customer has opted out of all email communications |
| **Promotional opt-in** | `email_promo`                       | Customer consents to promotional/marketing email   |
| **Category opt-in**    | `email_benefits`, `email_reminders` | Customer consents to a specific category of email  |

A customer can have `email_optout: false` (not globally opted out) but `email_promo: false` (not opted into promotional email). Your comms platform should check both before sending.

## Capturing consent

Consent should be captured:

* At the point of join (account creation form, POS sign-up)
* In Profile Portal (comms preference centre)
* In Clienteling (staff can update comms prefs during a consultation)

Always capture consent in a way that is clear, specific, and documented. Do not pre-tick marketing opt-in checkboxes.

## Updating consent via API

When `email_promo` or `sms_promo` is included in the payload **and the update was triggered by the end user** (for example, via a preference centre, sign-up form, or in-app toggle), you must also include the matching consent timestamp:

* `email_consent_updated_at` whenever `email_promo` is set
* `sms_consent_updated_at` whenever `sms_promo` is set

These timestamps record the moment the customer gave (or withdrew) consent and are required for compliance auditing under regimes such as GDPR, the Australian Spam Act, and TCPA. They are also propagated to downstream comms platforms (e.g. Klaviyo, Emarsys) so subscription state is synced with the correct consent date.

Omit the timestamps only when the change is **not** initiated by the end user, for example a backend correction or admin override that does not represent a new consent decision.

```shell theme={null}
curl -X PUT https://api.[tenant].getomneo.com/api/v3/profiles/{profileId}/attributes/comms \
  -H "Authorization: Bearer ${TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "email_promo": true,
    "email_consent_updated_at": "2026-05-19T04:32:10Z",
    "sms_promo": false,
    "sms_consent_updated_at": "2026-05-19T04:32:10Z",
    "email_optout": false
  }'
```

<Note>
  Send timestamps in UTC, ISO 8601 format. Use the time the customer actually submitted the change, not the time the request was processed.
</Note>

## Bounce handling

When emails or SMS messages bounce, Omneo updates the bounce flags automatically:

* `email_bounced: true`, email address is not deliverable
* `sms_bounced: true`, mobile number is not deliverable

Bounced contacts should be suppressed from sends. Review and update bounce statuses when customers provide corrected contact details.

## Australia privacy requirements

Under the Australian Spam Act 2003, you must have express or inferred consent before sending commercial electronic messages. You must also include an unsubscribe mechanism in every marketing communication, and honour unsubscribe requests within 5 business days.

Omneo's opt-out flags support compliance, but your comms platform configuration and email templates must also meet these requirements.
