I'm creating a little toy utility to interact with Bluesky, and I'm finding that a non-trivial share of the account objects returned by the getFollows and getProfile APIs (using did as the actor) will have a handle value of "handle.invalid".
When I go to Bluesky in a web browser and navigate to those accounts, they do appear to have valid handles.
Any idea why this would be? An example response (python dict parsed from getProfile):
{'did': 'did:plc:vd2cot5pu24kdoc2j6fjtdt6', 'handle': 'handle.invalid', 'displayName': 'Lisa S Marie', 'avatar': 'https://cdn.bsky.app/img/avatar/plain/did:plc:vd2cot5pu24kdoc2j6fjtdt6/bafkreifmn7g4tgv4zupcqwlyx2uckw5ka42ub45alqltx2yaozuehf2sv4@jpeg', 'associated': {'lists': 0, 'feedgens': 0, 'starterPacks': 0, 'labeler': False, 'chat': {'allowIncoming': 'following'}}, 'labels': [], 'createdAt': '2023-10-10T15:55:18.110Z', 'description': 'Wife, mom & Nonna. Politically active. Fluent in sarcasm. Nature and dogs soothe my soul. Hypocrisy sends me over the edge. Native southerner. ', 'indexedAt': '2024-01-20T07:34:41.800Z', 'banner': 'https://cdn.bsky.app/img/banner/plain/did:plc:vd2cot5pu24kdoc2j6fjtdt6/bafkreieu47egru2fn3xvpgzvimqe2lhjnmamzszikm5c6l4tyddrv4ttwm@jpeg', 'followersCount': 566, 'followsCount': 611, 'postsCount': 108}
This account's handle (looked up in a browser) is frequentbuyer1.bsky.social
.
Per Rafael Eyng's comment, this seems to have been a temporary issue with the API.