---
title: "Manage User Consent (Opt-in/Opt-out)"
method: POST
path: "/v2/consent/manage"
tags: ["Consent Management"]
---

# Manage User Consent (Opt-in/Opt-out)

`POST /v2/consent/manage`

Use this API to register or update user consent for WhatsApp messaging. Supports opt-in and opt-out actions with full compliance tracking.

**Opt-in Sources:**
- Website forms and checkboxes  
- Mobile app interfaces  
- SMS or IVR campaigns  
- Retail and contact center interactions  
- Session-based consent in WhatsApp

**Compliance Tracking:**
- Capture consent source and timestamp  
- Log IP address and user agent  
- Maintain records for audits

**Use Cases:**
- Marketing opt-ins (promotions, newsletters)  
- Transactional messages (order updates, alerts)  
- Service notifications (reminders, customer support)

## Headers

- `Content-Type` string, required

## Request body

- ConsentManagementRequest — Defines the payload for managing user consent actions.
  - `type` 'optin' | 'optout', required — Specifies the consent action — opt-in or opt-out.
  - `recipients` ConsentRecipient[], required — Lists the recipients whose consent will be managed.
    - `recipient` string, required — Phone number of the recipient including country code (6–15 digits).
    - `source` 'WEB' | 'MOBILE_APP' | 'SMS_CAMPAIGN' | 'IVR' | 'EMAIL' | 'RETAIL' | 'CONTACT_CENTER' | 'WHATSAPP_SESSION' | 'API' | 'ADMIN_PANEL' | 'USER_REQUEST' | 'COMPLIANCE' | 'GDPR_REQUEST' | 'SPAM_DETECTION' | 'REGULATORY_COMPLIANCE' | 'TESTING' | 'DEVELOPMENT' | 'OTHER', required — Source from which the consent or blocklist request originated.
    - `user_agent` string — User agent string from the source device or application.
    - `ip` string, ipv4 — IP address from where the request originated.

## Response `200`

Indicates that user consent was updated successfully.

- ConsentResponse — Represents the standard success response for consent or blocklist actions.
  - `status` 'success' | 'error', required — Indicates success or failure of the request.
  - `message` string, required — Human-readable message about the response.
  - `data` object — Contains operation result details.
    - `processed_count` integer — Number of recipients successfully processed.
    - `failed_count` integer — Number of recipients that failed processing.
    - `failed_recipients` object[] — List of recipients that failed processing.
      - `recipient` string
      - `error` string

## Other responses

- `400` — The request parameters are invalid or the body is malformed.
- `401` — Authentication failed due to an invalid or missing token.
- `403` — The user does not have permission to perform this operation.
- `500` — A server error occurred while processing the request.

---

[API](https://skmtc.dev/netcorecloud/apis/email-api-v6.md) · [All operations](https://skmtc.dev/netcorecloud/apis/email-api-v6/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/netcorecloud/email-api-v6/revisions/73f83bc2eff8/schema)
