Authentication
Every request carries a key in a header: Authorization: Bearer <key>. Create a key from the dashboard after you sign in. API access comes with the Education plan today, and with paid plans once billing starts.
A key is a signed token. Its scope, its expiry date and a random id are written inside the key, and the signature shows nobody changed them. Nothing about the key is stored on the server, which has two consequences. The dashboard shows a key once, and cannot show it again. And you cannot revoke a key yourself: it works until it expires, 90 days after you create it. If a key leaks, stop using it and create a new one. To have a leaked key blocked before it expires, email hello@olive.is; it is added to a block list at the next deploy.