Skip to main content

Credentials

All credentials go in the root .env file. Below is the full reference grouped by service.

Linear

VariableDescriptionHow to obtain
LINEAR_API_TOKENPersonal API tokenLinear Settings → API → "Personal API keys"

Slack

VariableDescriptionHow to obtain
SLACK_BOT_TOKENBot user OAuth token (xoxb-...)Slack API Apps → your app → "OAuth & Permissions"

Crisp

VariableDescriptionHow to obtain
CRISP_WEBSITE_IDWebsite identifierCrisp Dashboard → Settings → Website Settings
CRISP_IDENTIFIERAPI token IDCrisp Marketplace → your plugin → Tokens
CRISP_KEYAPI token keySame as above

Stripe

VariableDescriptionHow to obtain
STRIPE_API_KEYSecret key (sk_...)Stripe Dashboard

Mailgun

VariableDescriptionHow to obtain
MAILGUN_API_KEYAPI keyMailgun Dashboard
MAILGUN_API_BASEAPI base URLDefault: https://api.mailgun.net/v4

Featurebase

VariableDescriptionHow to obtain
FEATUREBASE_API_KEYAPI keyFeaturebase → Settings → API

Google (OAuth)

All Google handlers share a single OAuth Client. See the Google OAuth Setup guide for the full walkthrough.

VariableDescription
GMAIL_CLIENT_IDOAuth client ID (shared across all Google handlers)
GMAIL_CLIENT_SECRETOAuth client secret (shared)
GMAIL_REFRESH_TOKENRun php scripts/gmailHandler.php setup
GOOGLE_CALENDAR_REFRESH_TOKENRun php scripts/calendarHandler.php setup
GOOGLE_DOCS_REFRESH_TOKENRun php scripts/googleDocsHandler.php setup

Google Play Reviews

Uses a Service Account instead of OAuth.

VariableDescriptionHow to obtain
GOOGLE_PLAY_SERVICE_ACCOUNT_JSONPath to service account JSONGoogle Cloud Console → IAM → Service Accounts
GOOGLE_PLAY_PACKAGE_NAMEApp package nameDefault: la.publica.reader

Farfalla API

Multi-tenant configuration for direct API access.

VariableDescription
FARFALLA_TENANTSComma-separated list of tenant codes (e.g. mb)
FARFALLA_DEFAULT_TENANTDefault tenant code
FARFALLA_URL_<CODE>Base URL per tenant (e.g. FARFALLA_URL_MB)
FARFALLA_TOKEN_<CODE>API token per tenant (e.g. FARFALLA_TOKEN_MB)