The Rest of This Post Is for Members
You can read this post and the other members-only posts for free.
The API begins where the dashboard connector stops. Service account impersonation, the asymmetry of batch limits, the fields that are not hashed, the hidden cost of a dry run, and the only way to read the result of an upload.
The hard part of a Data Manager API setup is not the request body, it is the four decisions around it: building authentication on impersonation rather than a key file, batch sizes differing between the audience and event sides, deciding which field gets hashed, and reading the result through a separate call. The synchronous response only says the request was accepted; how many records were processed comes from a separate status call that can take up to twenty-four hours.
You can read this post and the other members-only posts for free.