Delivers: Extend POST /v1/track with an additive, race-safe way to apply subscribed:false only when the contact is created while preserving an existing contact’s subscription state. Keep the existing explicit-subscribed behavior backward-compatible; the bisceanu form uses the new mode so one call creates new contacts pending without unsubscribing active contacts or resubscribing suppressed contacts.
Done when: service and HTTP concurrency tests prove new→unsubscribed, existing subscribed→subscribed, existing unsubscribed→unsubscribed, and a concurrent first-contact winner keeps the elected row’s state; current callers without the new option retain their behavior. The public schema and docs describe the double-opt-in recipe.
Read the design in the parent epic before starting.
Delivers: Extend
POST /v1/trackwith an additive, race-safe way to applysubscribed:falseonly when the contact is created while preserving an existing contact’s subscription state. Keep the existing explicit-subscribedbehavior backward-compatible; the bisceanu form uses the new mode so one call creates new contacts pending without unsubscribing active contacts or resubscribing suppressed contacts.Done when: service and HTTP concurrency tests prove new→unsubscribed, existing subscribed→subscribed, existing unsubscribed→unsubscribed, and a concurrent first-contact winner keeps the elected row’s state; current callers without the new option retain their behavior. The public schema and docs describe the double-opt-in recipe.
Read the design in the parent epic before starting.