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 |