Developers

REST API & pricing

Pricing (EUR)

Plan Monthly Included usage Support
Self-hosted €0 Unlimited on your infrastructure (you operate Flask + secrets). Community / docs
Business (hosted) €25 Stripe subscription; operator workflow and dashboard as deployed. Email (EU business days)
Volume / enterprise Custom Negotiated quotas, SSO review, optional dedicated reporting. Named channel

Setup checklist

Authentication model

Data residency & retention

Core endpoints

Method & path Purpose
GET /api/ping Liveness probe → { "ok": true, "service": "lingo-logic" }
GET /api/health/full Operator health: model providers, Stripe config, DB read, fill queue depth.
GET /api/session Current subscriber session (requires prior sign-in).
POST /api/register-email Begin manual email flow (name + email); may issue verification challenge.
POST /api/verify-email-code Complete email verification with the emailed code.
POST /api/auth/google Exchange a Google Identity Services credential for a session.
POST /api/generate-queries Body: url, brand, location, optional wizard fields. Builds queries.csv and kicks off answer fill (async by default).
GET /api/fill-status Poll background fill progress for the signed-in user (multi-worker safe via DB).
POST /api/fill-answers Re-run assistant answer pipeline for existing queries.
GET /api/dashboard Query brand → aggregated summary, sentiment snippets, and competitors (each with mentions, cluster, optional entity grounding, and segment), plus market_graph (nodes, edges, segments) derived from query overlap and description similarity.
GET /api/runs · GET /api/runs/<id> Saved report metadata per subscriber.
GET /api/runs/diff Compare the two latest runs for a brand: per-model visibility delta, gained/lost prompts.
POST /api/localize-snippet Localized copy suggestion for a missed prompt / locale.
GET /api/profile · POST /api/profile Read/update display name and email. GET also returns Stripe fields when set: billing_plan, billing_status.
GET /api/stripe/config Public JSON: checkout_ready (boolean) and publishable_key (pk_* when STRIPE_PUBLISHABLE_KEY is set). Used to initialize Stripe.js on the pricing page; Checkout sessions are still created server-side.
POST /api/stripe/create-checkout-session Starts Stripe Checkout for the Business EUR recurring price (empty JSON body). Requires a signed-in session; returns { "url": "…" } when Stripe and STRIPE_PRICE_ID_BUSINESS_EUR are configured.
POST /api/stripe/webhook Stripe webhook endpoint (raw body). Configure in the Stripe Dashboard with your signing secret; updates subscription state on the subscriber record.

Example: authenticated generate

Rate limits