Skip to content

[Feature Request]: Add app.bsky.contact namespace support #314

Description

@KC-2001MS

Summary

The upstream app.bsky.contact.* namespace (phone verification, contact import, matching, sync state, contact data removal, match notification) is missing from ATProtoKit. The namespace is a coherent "friend finder via phone book" surface that Bluesky has been adding to the lexicon, with no SDK access available today.

Pain points

  • No way to enroll a user into the contact import flow through typed wrappers (startPhoneVerification / verifyPhone / importContacts).
  • No way to query the resulting matches (getMatches / dismissMatch) or sync state (getSyncStatus).
  • No way to purge previously uploaded contact data (removeData) — a likely compliance requirement.
  • No way to trigger the match notification surface (sendNotification).

Considered Alternatives

Raw XRPC for the entire contact surface — viable but every consumer re-implements the same auth + endpoint plumbing.

Is this a breaking change?

No

Library Examples

N/A

Additional Context

Missing lexicons

Lexicon Suggested wrapper
app.bsky.contact.defs types only
app.bsky.contact.startPhoneVerification startContactPhoneVerification(phoneNumber:)
app.bsky.contact.verifyPhone verifyContactPhone(code:)
app.bsky.contact.importContacts importContacts(_:)
app.bsky.contact.getSyncStatus getContactSyncStatus()
app.bsky.contact.getMatches getContactMatches(limit:cursor:)
app.bsky.contact.dismissMatch dismissContactMatch(did:)
app.bsky.contact.removeData removeContactData()
app.bsky.contact.sendNotification sendContactNotification(to:)

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    new featureNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions