Skip to main content
PUT /api/v2/notification-preferences Sets the notification opt-in preferences for the authenticated user. This replaces all existing opt-ins — send the full desired set on every call.

Request

curl
curl -X PUT https://api.interchange.io/api/v2/notification-preferences \
  -H "Authorization: Bearer $SCOPE3_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "optIns": [
      { "notificationType": "campaign.unhealthy", "channel": "email" },
      { "notificationType": "campaign.completed", "channel": "in_app" },
      { "notificationType": "creative.rejected", "channel": "email" }
    ]
  }'

Parameters

FieldTypeRequiredNotes
optInsarrayYesFull replacement set of opt-ins (max 200). Send an empty array to clear all
optIns[].notificationTypeenumYesEvent type to opt into — e.g. campaign.created, campaign.unhealthy, creative.approved, media_buy.updated, optimization.suggestion_received, system.error
optIns[].channelenumYesemail or in_app

Response

{
  "optIns": [
    { "notificationType": "campaign.unhealthy", "channel": "email" },
    { "notificationType": "campaign.completed", "channel": "in_app" },
    { "notificationType": "creative.rejected", "channel": "email" }
  ]
}
The response echoes the opt-ins now in effect.

Errors

  • 400 VALIDATION_ERROR — unknown notificationType, invalid channel, or more than 200 opt-ins.
  • 401 UNAUTHORIZED — missing or invalid bearer token.
See Errors for the full error contract.

Account tasks

All account operations

Get notification preferences

Your current opt-ins