Hi everyone,
I am a Brand Admin attempting to trigger an Individual Distribution via the /v3/distributions POST endpoint using Google Apps Script. I am stuck in a "Schema Loop" where the API rejects my payload regardless of structure.
The Loop:
-
If I use a nested structure (with
recipients,message, andheaderobjects), I get:-
400 Bad Request: Expected param not found: sendDate (RP_10)
-
-
If I then add
sendDateat the root level (ISO 8601 format), I get:-
400 Bad Request: Unexpected json key provided: sendDate (RP_9)
-
-
If I remove the
action: CreateDistributionkey and try a flat transactional structure, I get:-
400 Bad Request: Expected param not found: sendDate (RP_10)
-
My Environment:
-
Engine: XM Directory (Transactional)
-
Account: Brand Administrator
-
Auth: X-API-TOKEN
-
Endpoint:
https://[DataCenter].qualtrics.com/API/v3/distributions
My Payload (Standard attempt):
{
"action": "CreateDistribution",
"surveyId": "SV_XXXXXXXXX",
"linkType": "Individual",
"sendDate": "2026-02-20T18:00:00Z",
"recipients": {
"contactId": "CID_XXXXXXXXX",
"mailingListId": "CG_XXXXXXXXX"
},
"message": {
"libraryId": "UR_XXXXXXXXX",
"messageId": "MS_XXXXXXXXX"
}
}Question: Is there a specific brand-level setting or a hidden mandatory parameter (like expirationDate or a specific sendDate format) that causes the API to flip-flop between these two errors? Is my brand forced into a specific Transactional vs. Legacy validation engine?
