Campaigns

Update campaign

Partially update campaign configuration, settings, sequences, and state. Supports all updates including: campaign settings, sequences/variations, pause/resume (isPaused), archive (isArchived), completion (isCompleted), and email account membership (userEmailAccounts). Note: leadList field is immutable and cannot be updated.

patch/v3/user-api/mail-campaigns/{id}

Request

  • Base URL
    https://api.nureply.com (the document declares no server; this is the origin it was published from)
  • Auth
    none declared. Required headers: x-personal-api-key

Path parameters

idstring required

Campaign MongoDB ObjectId

Headers

x-personal-api-keystring required

API Key from Dashboard

Request body

namestring

Campaign name

intervalMinnumber

Minimum interval between emails in minutes

intervalRandomUpTonumber

Random interval to add (0 to this value in minutes)

stopSendingAfterReplyboolean

Stop sending emails after receiving a reply

stopSendingFollowUpAfterReplyboolean

Stop sending follow-up emails after receiving a reply

stopSendingAfterClickboolean

Stop sending emails after a link is clicked

dailySendingLimitnumber

Maximum emails to send per day

isPausedboolean

Whether the campaign is paused

isCompletedboolean

Whether the campaign is completed

isDeletedboolean

Whether the campaign is deleted

isArchivedboolean

Whether the campaign is archived

openTrackingEnabledboolean

Enable email open tracking

clickTrackingEnabledboolean

Enable link click tracking

botFilteringboolean

Enable bot filtering using global IP blocklist

unsubscribeEnabledboolean

Enable unsubscribe functionality

timeZonestring

Campaign timezone (IANA timezone identifier)

allowedDaysstring[]

Days when emails can be sent

hourStartstring

Start hour for sending emails (HH:mm format)

hourEndstring

End hour for sending emails (HH:mm format)

ccstring[]

CC email addresses

bccstring[]

BCC email addresses

followUpPercentagenumber

Percentage of leads to follow up with (0-100)

winningMetric'replyRate' | 'clickRate' | 'openRate' | ''

Metric to optimize for in A/B testing

tagsstring[]

Campaign tags for organization

bounceThresholdnumber nullable

Bounce rate threshold to pause campaign (null for no threshold)

customESPRulesCustomESPRuleDto[]

Rules restricting which sender ESPs may mail which recipient ESPs

emailDeliveryOptimizationEmailDeliveryOptimizationDto
userEmailAccountsstring[]

Array of user email account IDs to send from. Can be empty if campaign has tags.

Example request

{
  "name": "Q4 Sales Outreach Campaign",
  "intervalMin": 5,
  "intervalRandomUpTo": 5,
  "sequences": [
    {
      "name": "Initial Outreach",
      "variations": [
        {
          "name": "Variation A",
          "subject": "Great opportunity for {{firstName}}",
          "body": "<p>Hi {{firstName}},</p><p>I wanted to reach out...</p>",
          "isActive": true
        }
      ],
      "waitDaysBeforeNextStep": 1
    }
  ],
  "stopSendingAfterReply": true,
  "dailySendingLimit": 50,
  "openTrackingEnabled": true,
  "clickTrackingEnabled": true,
  "timeZone": "America/New_York",
  "allowedDays": [
    "monday",
    "tuesday",
    "wednesday",
    "thursday",
    "friday"
  ],
  "hourStart": "09:00",
  "hourEnd": "17:00",
  "cc": [],
  "bcc": [],
  "followUpPercentage": 50,
  "tags": [
    "sales",
    "q4-2023"
  ],
  "userEmailAccounts": [
    "653a2b0bf5444e11e5cdd1d0"
  ]
}

Response

messagestring required

Example response

{
  "message": "Updated campaign successfully",
  "data": {
    "_id": "653a2b0bf5444e11e5cdd1ce",
    "name": "Q1 2024 Outreach Campaign",
    "intervalMin": 5,
    "intervalRandomUpTo": 5,
    "sequences": [
      {
        "name": "Initial Outreach",
        "variations": [
          {
            "name": "Variation A",
            "subject": "Great opportunity for {{firstName}}",
            "body": "<p>Hi {{firstName}},</p><p>I wanted to reach out...</p>",
            "isActive": true
          }
        ],
        "waitDaysBeforeNextStep": 1
      }
    ],
    "userEmailAccounts": [
      "653a2b0bf5444e11e5cdd1d0"
    ],
    "tags": [],
    "customESPRules": [],
    "stopSendingAfterReply": true,
    "dailySendingLimit": 5,
    "dailySendingLimitRemaining": 5,
    "leadList": "653a2b0bf5444e11e5cdd1d1",
    "openTrackingEnabled": true,
    "clickTrackingEnabled": true,
    "user": "62878b4e647d7bd25db029a3",
    "organization": "62878b4e647d7bd25db029a4",
    "timeZone": "America/New_York",
    "allowedDays": [
      "monday",
      "tuesday",
      "wednesday",
      "thursday",
      "friday"
    ],
    "hourStart": "09:00",
    "hourEnd": "17:00",
    "createdAt": "2023-10-26T11:11:25.365Z",
    "updatedAt": "2023-10-26T11:11:25.365Z",
    "id": "653a2b0bf5444e11e5cdd1ce"
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.