Skip to main content
PUT
cURL
Idempotently ensure an address is the recipient’s primary contact for a medium. Unlike add contact (which is strict and 409s on conflict), this is a create-or-update: it creates the primary if absent, updates the existing primary in place if the address differs (which resets verified_at), or no-ops if it already matches — always 200. 💡 This is the one call a server-side sync needs to keep a recipient’s primary email current — no list-then-diff. Sync it server-side so the address never rides a browser request.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer bv_xxxxxxxxx, where bv_xxxxxxxxx is your API Key with Full access or Recipient acess scope.

Path Parameters

recipient_id
string
required

The unique identifier of the recipient.

Body

application/json
medium
enum<string>
required

The delivery transport. Only email is exercised today.

Available options:
email,
sms,
web_push,
mobile_push
address
string
required

The address to make primary. For email it must contain @ and is stored lowercased.

Response

The resulting primary contact.