keybase / keybase/keybase-issues

API: Fetch PGP key fingerprint only

Open
#3,269 1 comment 1 reaction 0 assignees View on GitHub
Dominant language
No language data
Stars
899
Forks
40
PR merge metrics
No merged PRs in 30d

Description

I am looking to build an Ansible module that fetches key fingerprints via the Keybase API to check if the PGP key file must be downloaded. Looking through the Keybase API, there does not seem to be an ideal way to find just the fingerprint.

This response is quite heavy, returning my PGP key and all its subkeys:
https://keybase.io/_/api/1.0/user/lookup.json?github=brandonkal&fields=public_keys
Those are included as part of the /pgp_keys.asc endpoint so I wasn't really expecting it there. It would be nice to be able to further filter this response.

Perhaps the PGP key fingerprint could be added to the basics query:
https://keybase.io/_/api/1.0/user/lookup.json?usernames=brandonkal&fields=basics
That seems quite reasonable. It would be nice having the primary PGP key there as it seems it would be a common request.

Or ideally, I could just do this:
https://keybase.io/_/api/1.0/user/lookup.json?github=brandonkal&fields=fingerprint

From my testing, the lightest response I found that included the main PGP key fingerprint was this:
https://keybase.io/_/api/1.0/user/discover.json?github=brandonkal
This is not ideal when usernames differ. Another option would be to extend discover to allow usernames parameter. So long term, support for better filtering would be ideal.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by comparing the lookup.json requests with fields=public_keys and fields=basics, and the discover.json response described in the issue. Determine which endpoint and parameter shape can return only the primary PGP fingerprint; the work is done when that behavior is defined and documented without requiring the full key payload.

Written by the indexing model from the issue text.

Assessment

Tech stack
ansible
Domain
api, backend-api-design
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.