Skip to content

MailerUpdateProfile

PUT mailer/providerProfile

Updates a provider profile. Only the fields present in the request are changed, so rotating credentials does not require resending the domain lists.

Enabling a profile that was paused automatically also clears the pause: the reputation guard set pausedAt and pauseReason, and switching the profile back on is the explicit decision to resume sending.

Access Control

Allowed role: admin, within the brand of the caller.

Request

PUT https://{broker_domain}/mailer/providerProfile
{
  "id": 3,
  "maxPerMinute": 600,
  "status": "ENABLED"
}
{
  "command": "MailerUpdateProfile",
  "extID": "1",
  "data": {
    "id": 3,
    "maxPerMinute": 600,
    "status": "ENABLED"
  }
}
const res = await platform.MailerUpdateProfile({
  id: 3,
  maxPerMinute: 600,
  status: "ENABLED"
});

Request Data

Field Type Required Description
id int Yes Profile id
name string No Profile name shown to managers
description string No Free-form note
providerId int No Provider from the catalogue
mode enum No COMMON — one sender for everyone; INDIVIDUAL — the sender comes from the manager link
status enum No ENABLED or DISABLED
credentials object No Provider credentials; fields are described by the adapter, see MailerGetProviderAdapters
fromEmail string No Default sender address; its domain must be verified at the provider
fromName string No Name shown in the From header
replyToEmail string No Default Reply-To address
kind enum No ANY (default), TRANSACTIONAL, or MARKETING — restrict the profile to one class of email
deliveryUpdateBy enum No NONE, REQUEST (module polls the provider), or WEBHOOK (provider posts events)
allowedDomains array No Allowed recipient domains, ["gmail.com", ".ru"]. Empty means every domain
blockedDomains array No Blocked recipient domains, ["mailinator.com"]
trackOpens bool No Let the provider count opens (it injects a tracking pixel)
trackClicks bool No Let the provider count clicks (it rewrites links)
maxPerMinute int No Provider rate limit per minute; 0 means unlimited
dailyLimit int No Daily sending cap; 0 means unlimited
routingPriority int No Lower value is tried first: 100 for the primary profile, 200 for a backup
isDefault bool No Default profile of the brand; setting it clears the flag on the others

Response Data

{
  "id": 3,
  "name": "Postmark transactional",
  "status": "ENABLED",
  "deliveryUpdateBy": "WEBHOOK",
  "fromEmail": "[email protected]",
  "maxPerMinute": 600,
  "pausedAt": null,
  "pauseReason": null,
  "updatedAt": "2026-08-24 14:02:55"
}

Errors

Code Error Description
400 UPDATE_MODE_NOT_SUPPORTED Provider or adapter cannot deliver events this way
404 NOT_FOUND Profile or provider not found in the brand