I have issues with the REST API call for Send Preview. I am using the method given here -https://gortonington.com/email-send-preview-and-test-sends-via-rest-api/.

I am testing this in POSTMAN

  1. Endpoint URL : https://SUBDOMAIN.rest.marketingcloudapis.com/guide/v1/emails/preview/send

  2. here is the JSON request body

  "dataSource": {
    "id": "xxxxxxxxx",
    "row": 1,
    "type": "DataExtension"
  "emailID": "1111",
  "isMultipart": true,
  "options": {
    "EnableETURLs": "true"
  "recipients": [
    "[email protected]"
  "sendManagement": {
    "sendClassificationID": "xxxxxxxxxx"
  "subjectPrefix": "[Test]:",
  "suppressTracking": true,
  "trackLinks": true

The call works perfectly if I remove the "row": 1 . If I keep the row then I get an error like the below.

A contact id (integer), contact key (string), or row id (integer) must be provided to send a preview email.

There are 2 records in the Data Extension. I want to send the preview only for row 1 . How can I fix this problem?

1 Answer 1


Row is based off entry in the DE and can be influenced by previously deleted rows. So for instance if you had 4 items in your de but then cleared it out and added 2 more items, these would be row 5 and row 6, not row 1 and row 2.

The best way I have found to verify is if you go into the UI and do send preview. You open your network tab in DevTools (F12 on PC) and then select your DE and record. You then look at the 'Preview' API call and in that URL it will list the Row number of that record. From there you can then update your above call to use that Row Number and it should work as expected.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .