Skip to content

Authentication

Authentication connects the runner to your Skippr account. Once authenticated, you get a hosted LLM key by default (no OpenAI account needed), cloud-backed control-plane services, and usage metering.

Quick start

For local development, log in interactively:

bash
skippr user login

You'll verify via SMS and accept the Skippr EULA once for your account: https://skippr.io/terms/eula. That's it -- you're ready to run pipelines.

What authentication does and does not do

  • Does: authenticate the runner, unlock hosted LLM access by default, and connect the run to Skippr's cloud-backed control plane.
  • Does not: send row-level source data through Skippr's cloud path.
  • By default: AI-assisted modeling uses schema metadata. Data samples are optional and off by default.

CI/CD and automation

Create an API key for non-interactive environments:

bash
skippr user create-api-key --name "github-actions"

The key (prefixed sk_live_) is shown once -- save it securely. Then set it in your CI environment:

bash
export SKIPPR_API_KEY="sk_live_..."
skippr sync --pipeline <name> --once   # authenticates automatically
skippr model --data-sink <sink-name>   # uses the same API key for modeling and metering

No setup scripts, no token refresh logic. skippr sync and skippr model detect the key and handle the rest.

Managing API keys

bash
skippr user list-api-keys
skippr user revoke-api-key --key-id <id>

Details

Auth priority

When an authenticated command starts, it resolves credentials in this order:

  1. SKIPPR_API_KEY env var -- exchanged for session tokens (CI/CD)
  2. ~/.skippr/credentials.json -- from interactive login

If neither is present, the CLI exits with a clear error.

Credential storage

Interactive login stores tokens in ~/.skippr/credentials.json. These are session tokens, not passwords.

Credits

Every run checks your account balance. If you're out of credits:

bash
skippr user buy-credits --amount 25

See skippr user for all account commands.