Consent Groups API and Wallet pass install URLs
New endpoints and fields have been added to the API for managing consent groups and generating wallet pass installation URLs.
Consent Groups
Consent groups represent categories of contact opt-in/opt-out preferences. The following endpoints are available when the Consent Groups feature is enabled for your account (they return 403 with code CONSENT_GROUP_NOT_ENABLED otherwise):
- List all consent groups —
GET /contacts/consent-groups. Paginated; filterable byid,name, andsignupMode. - Create a consent group —
POST /contacts/consent-groups. - Get a consent group —
GET /contacts/consent-groups/{id}. - Update a consent group —
PUT /contacts/consent-groups/{id}. Updates name, description, or signup mode. - Delete a consent group —
DELETE /contacts/consent-groups/{id}. Removes it from all associated contacts.
Two existing operations were extended:
- Import contacts (
POST /contacts/import) accepts a new optionalconsentGroupIdsfield to add all imported contacts to the specified consent groups. - Get a contact’s details (
GET /contacts/{identifier}) now returns aconsentGroupsarray showing each consent group the contact belongs to and their subscription status. This is present only when the Consent Groups feature is enabled.
Wallet
- Get a pass installation URL for a contact —
GET /wallet/passes/{passId}/installUrl/{contactId}. Generates a per-contact wallet installation URL. The returned URL points to the pass installation page and encodes the pass, contact, and organization identifiers as an encrypted token, so it can be shared (email, SMS, QR code) for the contact to add the pass to their Apple Wallet or Google Wallet.