Docs > The API >


First, welcome.

Keybase is two things.

  1. a public, publicly-auditable directory of keys and identity proofs
  2. a protocol (this API) for accessing the directory

If you just want to use Keybase from the command line, you should be looking at the command line doc. This API doc is for people who want to write their own client or study how our reference implementation works.

Please note we're in alpha and there may be some errors or missing calls in this documentation, and we may change calls without bumping version numbers. As we approach an official beta we'll make sure this document aligns better with the client. If you have any questions or notice an error, visit us on github.

Philosophy: simplicity!

As you read about the Keybase API, you might start pondering the possibilities. How do I post subkeys? How do I revoke a key on a precise date? Can I sign someone else's key?

The answer in most cases will be not yet. We believe public/private key crypto offers a world of possibilities, but there are some problems to overcome first.

  • PKI is confusing as hell.
  • private keys are hard to manage.
  • there's a bootstrapping problem; if a good PKI existed, more cool software would be built.

So, simplicity first. In version 1.0 of Keybase, you will see the simplest kinds of things: key posting, key accessing, identity proof lookups, etc.

We want everyone in the world to have a key pair, and we want it to feel as simple as a username.