Subscription Type handling: V3 communication-preferences vs V1 subscriptions

Our application currently uses the /email/public/v1/subscriptions/:email endpoint in order to determine whether a contact has opted into a specific type of mailing.

We are upgrading to begin using /communication-preferences/v3/status/email/:email for the same purpose.

We have discovered some cases where the new v3 endpoint returns records with status of SUBSCRIBED for a subscription type, when the v1 endpoint returned an empty subscriptionStatuses array.

We expected that the new API would report the same set of opted in (and hopefully opted out) subscription types for the same email.

This is causing unexpected contact count changes in our integration - as we are discovering more people that could be emailed than we have previously been contacting.

What are the expectations - and when/why would we see a record from the new endpoint that we didn’t see from the old endpoint?

Hey @pchristmann - thanks for posting in the Community!
I’d like to tag in some experts here for more thorough insight on expectations. @nickdeckerdevs1, @alyssamwilie, and @Kevin-C - any insight here?
Shane, Community Manager