Liftpad / Developers / Developer docs / Authentication

Authentication

Every call to the API carries an API token. A token can deploy or only read, can be limited to one team, and can expire.

Create a token

  1. Sign in at app.liftpad.app and open Account, then API tokens.
  2. Give it a name you will recognize (for example GitHub Actions).
  3. Pick the team it may use (All my teams, or one team), the access (Deploy or Read only) and the expiry (90 days, 1 year or No expiry).
  4. Press Create token and copy it now: it starts with lp_ and is shown only once. Liftpad keeps only a hash of it.

Tokens are made only from a signed-in dashboard session: a token can never create another token.

Use it

curl -sS https://api.liftpad.app/v1/me -H "Authorization: Bearer $LIFTPAD_TOKEN"

The CLI reads it from LIFTPAD_TOKEN or from ~/.liftpad.json. In CI, keep it in the platform's secret store, never in the repository.

Read or deploy

AccessWhat it can do
readSee sites, deploys, launch checks, domains, forms and submissions, analytics, teams, credits and the activity log. Never changes anything. Acts as a Team viewer.
deployEverything read can, plus create sites, deploy, publish and roll back, take a site offline, connect and remove domains, code snippets, split tests and form submissions. Acts at most as a Developer, even when its owner is an Owner or Admin.

A token is never stronger than the person who made it: if they are a Team viewer, the token only reads. A Billing member's token only reads.

Each operation in the API reference shows the lowest access that works, and its x-liftpad-scopes field in the OpenAPI document says the same.

What a token can never do

These answer 403 with "error": "session_required", except deleting or moving a site, which answer 403 with "error": "forbidden" (a token acts at most as a Developer, and only an Owner may do them). Do them in the dashboard. Each operation's x-liftpad-token-error field in the OpenAPI document gives the exact code.

Expiry and revocation

Errors you may see

HTTPerrorMeaning
401unauthorizedNo token, a wrong one, an expired or revoked one
403session_requiredThis needs the dashboard (see above)
403forbiddenYour role, or the token's access, is too low (also a token deleting or moving a site)
404not_foundIt does not exist, or this token cannot see it
429rate_limitedOver 1200 requests a minute: wait and retry