Overview
Calls
- •signup
- •getsalt
- •login
- cors•user/lookup
- cors•<user>/pgp_keys.asc
- •key/add
- •key/fetch
- •session/killall
- •sig/next_seqno
- •sig/post
- •sig/post_auth
- cors•merkle/root
- cors•merkle/block
Other details
Keybase IDs Suffixes
With lots of different types of IDs floating around, we adopoted a convention of appending trailing bytes to otherwise opaque identifiers so that one can identify, at a glance, what type of ID it is. Here are the reserved public ID suffixes that are currently in use:
0x00
— User ID version 1. The first Keybase User IDs were random 15-byte identifiers with a trailing0x00
byte. These identifiers were generated independently of username. We discovered, however, that the disassociation between the two gives the server an opportunity to confuse clients. Thus, all of the original keybase User IDs are permamently pinned to the sitewide Merkle tree. Seepayload_json.body.legacy_uid_root
of the current Merkle tree.0x0a
— Key IDs0x0f
— Signature IDs0x19
— User ID version 2. Since March of 2015, all Keybase UIDs are the first 15 bytes of the SHA-256 hashes of the corresponding username. There was a bug early on where we didn't calltoLower
on these usernames, that was fixed in May 2015.
There are other suffixes used internally, which we may document in the future.