Fakturace a tarify
Většina toho, co následuje, je pro člověka v dashboardu, ne pro agenta:
POST /v1/billing/checkout, POST /v1/billing/portal, POST /v1/billing/addons/*
a POST /v1/team/* vyžadují přihlášenou dashboardovou session (cookie prohlížeče) —
API klíč MCP agenta je zavolat nemůže. Jediný fakturační endpoint, který agent zavolat
může přímo, je GET /v1/usage — ten přijímá session i API klíč. Přechod na vyšší tarif,
platba i zvaní kolegů do týmu musí proběhnout přes dashboard.
Srovnání tarifů
| Funkce | Free | Solo | Studio | Agency |
|---|---|---|---|---|
| Cena měsíčně | $0 | $29 | $50 | $79 |
| Aktivní sběry podkladů | 1 | 15 | 30 | 60 |
| Položek na sběr podkladů | 10 | Neomezeně | Neomezeně | Neomezeně |
| Uživatelů | 1 | 1 | 1 | 3 |
| Úložiště | 1 GB | 25 GB | 50 GB | 100 GB |
| Limit API | 60 req/h | 600 req/h | 1 500 req/h | 3 000 req/h |
| Trezor na přístupy | Ne | Ano | Ano | Ano |
| Žádosti o opravu položek | Ne | Ano | Ano | Ano |
| Vlastní branding | „Powered by BriefGate“ + referral odkaz | Vaše logo a barvy, bez referral odkazu | + vlastní doména portálu | + vlastní doména portálu |
| Vlastní doména pro odesílání | Ne | Ne | Ano | Ano |
| Rozvrhy upomínek | default, off | Všechny (gentle/default/aggressive/custom/off) | Všechny | Všechny |
| Šablony | 3 veřejné | 3 veřejné + vlastní | 3 veřejné + vlastní | 3 veřejné + vlastní + sdílené v týmu |
| Podpora | Komunitní | E-mail, 48 h | Prioritní e-mail, 24 h | Prioritní e-mail, 24 h |
| Roční platba | — | $23,20/měs (–20 %) | $40/měs (–20 %) | $63,20/měs (–20 %) |
Roční platba se strhává jednorázově dopředu. Měsíční částky výše ukazují efektivní cenu za měsíc.
Studio je pro jednoho člověka, který potřebuje funkce z Agency — vlastní doménu, prioritní podporu — bez placení za další uživatele. Nese všechny funkce Agency kromě dalších uživatelů a vyšších kvót: obě vlastní domény jsou k dispozici a podpora má stejný cíl 24 h.
Doplňky
| Doplněk | Cena | Tarif |
|---|---|---|
| Úložiště navíc | +50 GB za $5 měsíčně | Solo, Studio, Agency |
| Další uživatel v Agency | +$15 za uživatele měsíčně | Agency |
| Balíček SMS kreditů | 50 SMS kreditů za balíček | Studio, Agency |
Změna úložiště navíc
Úložiště se obnovuje spolu s tarifem, takže je to položka na stávajícím předplatném, ne samostatný nákup. Nastavíte, kolik bloků po 50 GB chcete:
POST /v1/billing/addons/storage{ "blocks": 2 }Změna platí okamžitě a Stripe ji poměrně dopočítá. { "blocks": 0 } doplněk zruší.
Vyžaduje aktivní placené předplatné.
Balíčky SMS kreditů
SMS kredity se čerpají za zprávu, takže balíček je jednorázový nákup přes Stripe, ne
položka předplatného — dokoupíte, kdykoli dojdou. K dispozici u Studio a Agency, protože
sms je funkce tarifů Studio a Agency:
POST /v1/billing/addons/sms-credits{ "packs": 2 }Odpověď:
{
"url": "https://checkout.stripe.com/c/pay/cs_live_...",
"packs": 2,
"credits": 100
}Jeden balíček je 50 kreditů (1–20 balíčků na nákup). Uživatele přesměrujte na url, kde
platbu dokončí; kredity se přidělí, až Stripe platbu potvrdí přes webhook, ne z téhle
odpovědi. Tarif bez funkce sms dostane plan_required; nasazení bez nakonfigurovaného
odesílání SMS (chybějící přihlašovací údaje Twilio) nákup rovnou odmítne — prodávat
kredity, které nejde doručit, by bylo braní peněz za nic.
Uživatelé navíc
Uživatele kupujete spolu s tarifem — pošlete seats do POST /v1/billing/checkout, nebo
množství později změňte v zákaznickém portálu. Roční tarif účtuje uživatele ročně, protože
všechny opakované položky jednoho předplatného musí mít stejný interval.
Sedadlo je člověk, který se přihlašuje do dashboardu. Klienti žádné nezabírají: svůj požadavek otevírají odkazem z e-mailu a účet nikdy nedostanou.
Koupené sedadlo se samo nezaplní — pozvěte do něj někoho v Nastavení → Tým, nebo:
POST /v1/team/invites
{ "email": "kolega@example.com" }Přijde mu e-mail s jednorázovým odkazem, nastaví si vlastní heslo a ocitne se ve stejném účtu
v roli member. Členové vidí požadavky a pracují s nimi; zvát, odebírat lidi, měnit fakturaci
a smazat účet může jen vlastník.
Čekající pozvánky se do kvóty sedadel počítají, takže hromadou neotevřených pozvánek nejde
jedno sedadlo obsadit dvakrát. GET /v1/team vrací aktuální seznam členů i to, co je ještě
nevyřízené; GET /v1/usage hlásí seats.used proti seats.limit.
Odebrání člověka (Nastavení → Tým, nebo DELETE /v1/team/members/:id) mu okamžitě ukončí
všechny relace a uvolní sedadlo. Vlastníka odebrat nelze.
Přechod na vyšší tarif
Checkout session založíte přes API:
POST /v1/billing/checkout{
"plan": "solo",
"interval": "monthly"
}Odpověď:
{
"url": "https://checkout.stripe.com/c/pay/cs_live_..."
}Uživatele přesměrujte na tuto adresu (nebo ji otevřete v prohlížeči), kde platbu dokončí přes Stripe. Po zaplacení je tarif aktivní okamžitě a stávajících sběrů podkladů se to nijak nedotkne.
Pro roční platbu nastavte "interval": "yearly". Přidáním "seats": 2 koupíte v témže checkoutu i uživatele navíc pro Agency (Studio má jediného uživatele a tento parametr nepřijímá).
Stránka Stripe Checkout přijímá promo kódy. Žádný parametr API pro ně není — kód zadá na stránce Stripe ten, kdo checkout dokončuje.
Aktuální veřejný kód: AGENT20 — sleva 20 % z faktur předplatného po dobu prvních 3 měsíců. U roční platby to znamená 20 % z první roční platby.
Správa předplatného
Zákaznický portál Stripe pro změnu tarifu, aktualizaci platební metody nebo zrušení:
POST /v1/billing/portalOdpověď:
{
"url": "https://billing.stripe.com/session/..."
}Session portálu vyprší po 5 minutách. Pokud ji uživatel nestihne využít, vygenerujte novou.
Spotřebitelé z EU/ČR mají navíc zákonné právo na odstoupení od smlouvy do 14 dnů,
nezávislé na tomhle zrušení — viz docs/terms.md. Řeší ho GET /v1/billing/withdrawal
(náhled, co by se teď při odstoupení vrátilo) a POST /v1/billing/withdraw (odstoupení
zaznamená a předplatné zruší); oba jen s dashboardovou session, vlastník i člen.
Kontrola spotřeby
Funguje s dashboardovou session i s API klíčem — žádný speciální scope není potřeba.
GET /v1/usageVrátí spotřebu za aktuální období proti limitům vašeho tarifu:
{
"tier": "solo",
"active_intakes": { "used": 7, "limit": 15 },
"storage": { "used_bytes": 3221225472, "limit_bytes": 26843545600 },
"seats": { "used": 2, "limit": 2 },
"sms_credits": 0,
"subscription": { "active": true },
"rate_limit_per_hour": 600,
"features": {
"secrets_vault": true,
"revisions": true,
"sms": false,
"custom_branding": true,
"custom_domain": false,
"custom_templates": true
},
"chase_schedules": ["default", "gentle", "aggressive", "custom", "off"]
}Do active_intakes se počítají sběry podkladů ve stavu draft, sent nebo in_progress. Dokončené a archivované se do limitu nezapočítávají — a rozpracovaný (draft) se počítá záměrně, aby sběr podkladů skládaný přes několik volání nástroje pořád zabíral svoje místo.
subscription.active říká, jestli jde o skutečné, placené předplatné ve Stripe, nebo o tarif přidělený přímo (jako sleva/výjimka nastavená operátorem) — ze samotných limitů je nerozeznáte. features odráží stejné feature flagy jako GET /pricing.json, ale jen ty, které tenhle konkrétní účet může právě teď opravdu použít.
chase_schedules je to, co chase_schedule u POST /v1/intakes a PATCH /v1/intakes/:id právě teď skutečně přijme — na tarifu Free je to ["default", "off"]; viz Upomínkový systém.
Ceník čitelný strojem
Agenti si aktuální ceník načtou, aniž by museli scrapovat landing page:
GET https://api.briefgate.dev/pricing.jsonBez autentizace. Vrací objekt TIER_LIMITS se všemi funkcemi a číselnými limity tarifů. Odpověď lze cachovat 5 minut (Cache-Control: public, max-age=300) a CORS je otevřené, takže si ji může natáhnout přímo jakákoli origin.
Uchovávání dat
- Výchozí nastavení: data se drží 150 dní po události
intake.completeda pak se automaticky smažou (soubory i odeslané hodnoty) - Dobu uchování nastavíte na účtu:
PATCH /v1/account
{"retention_days": 365}Platný rozsah: 1 až 3650 dní.
- Okamžité smazání konkrétního sběru podkladů (včetně všech souborů v úložišti R2):
DELETE /v1/intakes/:idTahle akce je nevratná. Smaže se sběr podkladů, všechny odeslané hodnoty, všechny soubory i celá historie upomínek.
Pro smazání celého účtu se obraťte na podporu. Všechna data zmizí do 30 dnů.
Když selže platba
Nic se nemaže a nic se okamžitě nevypíná.
Jakmile Stripe označí předplatné jako past_due nebo unpaid, účet si nechává
tarif i všechny add-ony po dobu 14denní ochranné lhůty — propadlá karta přes
víkend tak nikoho nestojí rozdělanou práci.
Dozvíte se o tom: každý vlastník účtu dostane e-mail ve chvíli, kdy ochranná
lhůta začne — s částkou, která neprošla, datem konce lhůty a odkazem, kterým
kartu na jedno kliknutí aktualizujete v zákaznickém portálu Stripe. Dashboard
ukazuje stejné varování jako lištu na každé stránce, dokud platba neprojde, a
druhý e-mail potvrdí, že prošla. Stripe během těch dvou týdnů kartu sám opakovaně
zkouší (Smart Retries) a posílá i vlastní upozornění na neúspěšnou platbu.
GET /v1/auth/me a GET /v1/account vrací stav v polích billing_grace_until
(ISO datum nebo null) a billing_grace_expired, takže ho může zobrazit i agent.
Když lhůta skončí a platba stále neprošla, začnou se limity free tarifu uplatňovat jen na nové sběry podkladů. Ty existující běží dál: klienti pořád mohou odesílat, urgence pořád chodí a výsledky zůstávají dostupné. Po zaplacení se tarif obnoví při nejbližší události ze Stripe, ručně není potřeba dělat nic.
Data mizí jedině podle retenční politiky sběru podkladů, po výslovném smazání, nebo se zrušením účtu — nikdy kvůli neuhrazené platbě.