campaigns/export creates a fresh CSV and returns a short-lived presigned download URL. It does not persist export configuration, so calling it again is the supported way to change filters or refresh an expired URL.
Contact limits
OmitmaxContactsPerAccount to include every available contact. Pass a positive integer to cap contacts per account.
0 to create an account-only file with one row per account and no contact columns populated.
Contact filters
UsehasMobilePhone and hasEmail to require contactability:
true, a contact is included when it has a mobile phone or an email address.
Download handling
The response describes the generated file and row counts:url is presigned and embeds its own credentials. Download it without an Authorization header. Treat the URL itself as a secret: anyone who has it can fetch the file until urlExpiresAt (about one hour). The UTF-8 byte-order mark improves compatibility with spreadsheet applications.
Exports require an enriched campaign with unexpired results.