v1

latestOpenAPI 3.1.0© Copyright Partoo2026-07-26163503484.0 KB
Feedback Management

Send a feedback email campaign

Validates the sender email, validates recipients, and sends a feedback email campaign to the provided recipient list.

Use the Get campaign requirements endpoint to retrieve the variables each recipient must provide.

The sender email domain must be authorized for your organization and validated for email sending. If sender validation fails, the entire campaign is rejected and the response includes sender_validation details.

If any recipient fails validation, the entire campaign is rejected and no emails are sent. The response body details every validation error.

Set is_dry_run: true to validate recipients without sending any emails.

post/feedback/campaign/send

Request body

feedback_form_idstring required

ID of the feedback form to associate with this campaign

feedback_email_template_idinteger required

ID of the email template to use for this campaign

sender_emailstring email required

Email address displayed as the sender.

<Warning> The domain of this address must be authorized for your organization and validated for email sending. If this check fails, the campaign is rejected with `status: failed` and the response includes `sender_validation` details. </Warning>
sender_namestring required

Name displayed as the sender

is_dry_runboolean

When true, validates the recipients without actually sending the emails. Use this to verify your recipient list before triggering a real send.

Example request

{
  "feedback_form_id": "5a3f8c2e1b4d7f9a0c6e2b18",
  "feedback_email_template_id": 42,
  "sender_email": "noreply@example.com",
  "sender_name": "Acme Corp",
  "recipients": [
    {
      "email_address": "john.doe@example.com",
      "unsubscribe_url": "https://example.com/unsubscribe?token=abc123",
      "variables": {
        "first_name": "John",
        "store_name": "Paris Store"
      }
    }
  ]
}

Response

Campaign accepted or failed validation. Check the status field to distinguish the two outcomes.

status'accepted' | 'failed' required

accepted — validation passed; emails have been enqueued (or skipped if is_dry_run was true).

failed — sender or recipient validation failed; no emails were sent. Check the error fields for details.

feedback_email_campaign_idinteger nullable

ID of the created campaign. null when status is failed or is_dry_run is true

feedback_form_idstring required

ID of the feedback form associated with this campaign

feedback_email_template_idinteger required

ID of the email template used for this campaign

recipient_countinteger required

Total number of recipients provided in the request

duplicate_emailsstring[] nullable

Email addresses that appear more than once in the recipients list. Populated when status is failed

invalid_emailsstring[] nullable

Email addresses that are not valid. Populated when status is failed

Example response

{
  "status": "accepted",
  "feedback_email_campaign_id": 101,
  "feedback_form_id": "5a3f8c2e1b4d7f9a0c6e2b18",
  "feedback_email_template_id": 42,
  "recipient_count": 150,
  "duplicate_emails": [
    "duplicate@example.com"
  ],
  "invalid_emails": [
    "not-an-email",
    "missing@"
  ],
  "missing_variables": [
    [
      "john@example.com",
      [
        "first_name",
        "store_name"
      ]
    ]
  ],
  "empty_variables": [
    [
      "jane@example.com",
      [
        "store_name"
      ]
    ]
  ],
  "sender_validation": {
    "sender_email": "sender@example.com",
    "domain": "example.com",
    "status": "validated"
  }
}