Basic key generation and API