Erzeugen Sie vollständige Businesspläne direkt aus Ihrer eigenen Software: Angaben übergeben, kostenlose Vorschau prüfen, Plan bestellen, PDF, Word und Excel abholen. Dieselbe Pipeline wie auf businessplanersteller.de, ohne dass Ihre Mandanten den Fragebogen ausfüllen müssen.
Stand: 29.09.2026
Schlüssel vergeben wir von Hand. Schreiben Sie uns kurz, wer Sie sind (Beratung, Bildungsträger, Kammer, Software) und mit wie vielen Plänen im Monat Sie rechnen. Der Zugang steht in der Regel innerhalb eines Werktags.
Die API bildet den Ablauf von businessplanersteller.de ab. Ein Plan entsteht in zwei Stufen:
Basis-URL: https://api.businessplanersteller.de/v1. Alle Anfragen laufen über HTTPS, alle Inhalte sind UTF-8-JSON, Zeitangaben ISO 8601, Geldbeträge in Cent.
Wer einen KI-Assistenten den Plan im Gespräch erarbeiten lassen möchte, nutzt den MCP-Server.
Es gibt keine Grundgebühr. Abgerechnet wird ausschließlich pro bestelltem Plan zum Listenpreis von 199,00 €, gesammelt als Monatsrechnung. Entwürfe (Executive Summary und Gliederung) sind kostenlos.
Ab 20 bestellten Plänen im Monat bieten wir Staffelpreise an; sprechen Sie uns an. Schlüssel vergeben wir von Hand über [email protected], in der Regel innerhalb eines Werktags. Sie erhalten einen Testschlüssel und einen Live-Schlüssel.
Die freiwillige 24-Stunden-Geld-zurück-Garantie aus dem Shop gilt auch hier: Ist ein Plan unbrauchbar, schreiben Sie uns innerhalb von 24 Stunden nach Fertigstellung mit der Plan-ID, und er erscheint nicht auf der Rechnung.
Der Schlüssel steht als Bearer-Token im Header Authorization. Schlüssel mit sk_test_ arbeiten im Testmodus, Schlüssel mit sk_live_ erzeugen echte, abrechenbare Pläne.
curl https://api.businessplanersteller.de/v1/plans \
-H "Authorization: Bearer $BPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"branche": "handwerk",
"gruendungsart": "neugruendung",
"geschaeftsidee": "Meisterbetrieb für Elektroinstallation mit Schwerpunkt Wallboxen und PV-Anlagen für Privathaushalte",
"standort": "Heilbronn",
"einzugsgebiet": "regional",
"raeumlichkeiten": "gemietet",
"rechtsform": "einzelunternehmen",
"team": "allein_mit_mitarbeitern",
"nebenerwerb": "hauptberuflich",
"zweck": "gruendungszuschuss",
"startkapital": "5000_15000",
"finanzierungsbedarf": "25000_50000"
}'
Bewahren Sie den Schlüssel nur serverseitig auf, niemals im Browser oder in einer App. Ist er nach außen gelangt, sperren wir ihn auf Zuruf innerhalb weniger Minuten und stellen einen neuen aus.
Der kürzeste Weg vom Fragebogen Ihrer Software zum fertigen Plan: Entwurf anlegen, Vorschau zeigen, bestellen.
import os, time, requests
API = "https://api.businessplanersteller.de/v1"
HEAD = {"Authorization": "Bearer " + os.environ["BPE_API_KEY"]}
antworten = {
"branche": "gastronomie",
"gruendungsart": "uebernahme",
"geschaeftsidee": "Übernahme eines Cafés mit 40 Plätzen, Ausbau um Frühstück und Catering für Büros",
"standort": "Leipzig-Plagwitz",
"einzugsgebiet": "lokal",
"raeumlichkeiten": "gemietet",
"rechtsform": "ug",
"team": "team",
"nebenerwerb": "hauptberuflich",
"gruenderprofil": "Köchin mit 12 Jahren Berufserfahrung, davon 4 als Souschefin",
"vorname": "Miriam",
"zweck": "kredit",
"startkapital": "15000_50000",
"finanzierungsbedarf": "50000_125000",
"investitionen": "Kaufpreis Inventar 38.000 €, Siebträgermaschine 9.500 €, Renovierung 12.000 €",
"angebot_preise": "Frühstück 9 bis 16 €, Kaffee 3,20 bis 4,80 €, Catering ab 14 € pro Person",
"zielgruppe": "Kreative und Büros im Viertel, Wochenendpublikum",
}
plan = requests.post(f"{API}/plans", headers=HEAD, json=antworten).json()
# Teaser (Executive Summary und Gliederung) ist kostenlos
while plan["teaser"]["status"] != "completed":
time.sleep(5)
plan = requests.get(f"{API}/plans/{plan['id']}", headers=HEAD).json()
print(plan["teaser"]["executive_summary"])
# Vollständigen Plan bestellen, ab hier kostenpflichtig
requests.post(f"{API}/plans/{plan['id']}/order", headers=HEAD).raise_for_status()
Statt zu pollen, können Sie auf den Webhook plan.completed warten. Siehe Webhooks.
| Methode | Pfad | Zweck |
|---|---|---|
| POST | /v1/plans | Entwurf anlegen. Erzeugt kostenlos Executive Summary und Gliederung. |
| GET | /v1/plans/{id} | Plan mit Antworten, Teaser, Bestellstatus und Fortschritt lesen. |
| GET | /v1/plans | Eigene Pläne auflisten, neueste zuerst. |
| POST | /v1/plans/{id}/order | Vollständigen Plan bestellen. Kostenpflichtig. |
| GET | /v1/plans/{id}/chapters | Die neun Kapitel als Markdown, sobald der Plan fertig ist. |
| GET | /v1/plans/{id}/finance | Der berechnete Finanzplan als JSON. |
| GET | /v1/plans/{id}/files/{format} | PDF, Word-Datei oder Excel-Finanzplan herunterladen. |
| DELETE | /v1/plans/{id} | Plan mit allen Angaben und Dateien endgültig löschen. |
| GET | /v1/options | Erlaubte Werte aller Auswahlfelder, mit den Beschriftungen aus dem Fragebogen. |
| GET | /v1/account | Preis, Verbrauch im laufenden Monat und Limits des Schlüssels. |
POST /v1/plans nimmt die Angaben entgegen, die auf businessplanersteller.de im Fragebogen abgefragt werden. Kein Feld ist Pflicht, aber jede fehlende Angabe wird aus Branchenwerten geschätzt. Je genauer geschaeftsidee, investitionen und angebot_preise sind, desto belastbarer wird der Finanzplan.
curl https://api.businessplanersteller.de/v1/plans \
-H "Authorization: Bearer $BPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"branche": "handwerk",
"gruendungsart": "neugruendung",
"geschaeftsidee": "Meisterbetrieb für Elektroinstallation mit Schwerpunkt Wallboxen und PV-Anlagen für Privathaushalte",
"standort": "Heilbronn",
"einzugsgebiet": "regional",
"raeumlichkeiten": "gemietet",
"rechtsform": "einzelunternehmen",
"team": "allein_mit_mitarbeitern",
"nebenerwerb": "hauptberuflich",
"zweck": "gruendungszuschuss",
"startkapital": "5000_15000",
"finanzierungsbedarf": "25000_50000"
}'
| Feld | Typ | Bedeutung |
|---|---|---|
| branche | enum | Branche, bestimmt Recherche und Vergleichswerte. Werte siehe unten. |
| gruendungsart | enum | Neugründung, Übernahme oder bereits gegründet (Plan wird nachträglich benötigt). |
| geschaeftsidee | string | Die Idee in eigenen Worten: was, für wen, wie. Bis 4.000 Zeichen. |
| standort | string | Stadt, Stadtteil oder PLZ. Grundlage für die lokale Wettbewerbsrecherche. |
| einzugsgebiet | enum | Lokal, regional oder bundesweit bzw. online. |
| raeumlichkeiten | enum | Gemietete Räume, von zu Hause, mobil beim Kunden oder noch offen. |
| rechtsform | enum | Geplante Rechtsform. Fließt in Kapitel 6 und in die Gründungskosten ein. |
| team | enum | Allein, allein mit geplanten Mitarbeitern oder im Team. |
| nebenerwerb | enum | Haupt- oder nebenberuflich. Gründungszuschuss und Einstiegsgeld setzen eine hauptberufliche Gründung voraus. |
| gruenderprofil | string | Ausbildung, Berufserfahrung, Qualifikationen. Grundlage für Kapitel 2. |
| vorname | string | Vorname für die persönliche Ansprache im Plan. |
| zweck | enum | Wofür der Plan gebraucht wird. Steuert Schwerpunkt und Tonalität (siehe unten). |
| startkapital | enum | Vorhandenes Eigenkapital als Spanne. |
| finanzierungsbedarf | enum | Zusätzlicher Kapitalbedarf als Spanne. |
| investitionen | string | Geplante Anschaffungen mit Beträgen, soweit bekannt. |
| angebot_preise | string | Leistungen und Preise. Wichtigste Quelle für die Umsatzplanung. |
| zielgruppe | string | Wer die Kunden sind. |
| besonderheiten | string | Was das Vorhaben von der Konkurrenz unterscheidet, bestehende Kundenkontakte, Zusagen. |
| metadata | object | Bis zu 20 eigene Schlüssel-Wert-Paare, etwa Ihre Mandantennummer. Kommen unverändert in jeder Antwort und jedem Webhook zurück. |
Die Antwort ist das Plan-Objekt. teaser.status steht zunächst auf generating und nach etwa einer Minute auf completed.
{
"id": "bp_7Kx2mQ9tLw",
"object": "plan",
"created_at": "2026-09-29T08:12:44Z",
"livemode": true,
"answers": {
"branche": "handwerk",
"gruendungsart": "neugruendung",
"standort": "Heilbronn",
"zweck": "gruendungszuschuss",
"...": "..."
},
"teaser": {
"status": "completed",
"executive_summary": "Mit dem Elektromeisterbetrieb ...",
"outline": [
"1. Executive Summary: ...",
"2. Gründerprofil: ...",
"..."
]
},
"order": null,
"pipeline_status": "none",
"progress": { "chapters_done": 0, "chapters_total": 9, "percent": 0 },
"metadata": { "mandant": "K-2026-118" }
}
Auswahlfelder nehmen feste Werte an. Die API verwendet kurze Schlüssel statt der Beschriftungen aus dem Fragebogen; GET /v1/options liefert beides, damit Sie Ihre eigene Oberfläche daraus bauen können.
| Feld | Werte | |
|---|---|---|
| branche | friseur_kosmetik, gastronomie, handwerk, einzelhandel, online_shop, coaching_beratung, pflege_gesundheit, it_software, transport_logistik, immobilien, fitness_sport, agentur_marketing, sonstige_dienstleistung, sonstiges_gewerbe | |
| gruendungsart | neugruendung, uebernahme, bestehend | |
| einzugsgebiet | lokal, regional, bundesweit | |
| raeumlichkeiten | gemietet, zuhause, mobil, offen | |
| rechtsform | einzelunternehmen, freiberuflich, gbr, ug, gmbh, unklar | |
| team | allein, allein_mit_mitarbeitern, team | |
| nebenerwerb | hauptberuflich, nebenberuflich | |
| zweck | gruendungszuschuss, einstiegsgeld, kredit, investoren, sonstiges | |
| startkapital | kein, unter_5000, 5000_15000, 15000_50000, ueber_50000 | |
| finanzierungsbedarf | kein, unter_10000, 10000_25000, 25000_50000, 50000_125000, ueber_125000 |
{
"object": "options",
"fields": {
"branche": [
{ "value": "friseur_kosmetik", "label": "Friseur / Kosmetik / Beauty" },
{ "value": "gastronomie", "label": "Gastronomie / Café / Imbiss" },
{ "value": "handwerk", "label": "Handwerk (Elektro, SHK, Bau, Tischlerei, ...)" }
],
"zweck": [
{ "value": "gruendungszuschuss", "label": "Gründungszuschuss (Agentur für Arbeit)" },
{ "value": "einstiegsgeld", "label": "Einstiegsgeld (Jobcenter)" }
]
}
}
zweck bewirktgruendungszuschuss und einstiegsgeld: Schwerpunkt auf Tragfähigkeit und Lebensunterhalt, so wie Agentur für Arbeit und Jobcenter es prüfen.kredit: Schwerpunkt auf Kapitaldienstfähigkeit, Sicherheiten und Liquiditätsreserve, so wie Hausbank und KfW es prüfen.investoren: Schwerpunkt auf Marktpotenzial, Wachstum und Mittelverwendung.sonstiges: ausgewogener Plan für die eigene Planung.POST /v1/plans/{id}/order startet die Erstellung des vollständigen Plans. Erst dieser Aufruf ist kostenpflichtig. Mit notify_email schicken wir der Gründerin oder dem Gründer zusätzlich die Liefer-E-Mail mit den Dateien; ohne das Feld geht keine E-Mail an Dritte.
curl -X POST https://api.businessplanersteller.de/v1/plans/bp_7Kx2mQ9tLw/order \
-H "Authorization: Bearer $BPE_API_KEY" \
-H "Idempotency-Key: 5c1e9a7f-2b44-4f0e-8d3a-9e61c0b7a212" \
-H "Content-Type: application/json" \
-d '{ "notify_email": "[email protected]" }'
{
"id": "bp_7Kx2mQ9tLw",
"object": "plan",
"order": {
"ordered_at": "2026-09-29T08:20:03Z",
"amount": 19900,
"currency": "eur",
"invoice": "monthly"
},
"pipeline_status": "pending",
"progress": { "chapters_done": 0, "chapters_total": 9, "percent": 0 }
}
Antworten lassen sich nach der Bestellung nicht mehr ändern. Soll der Plan mit anderen Angaben neu entstehen, legen Sie einen neuen Entwurf an. Kleinere Anpassungen nehmen Sie direkt in der Word- und Excel-Datei vor, die genau dafür mitgeliefert werden.
Der vollständige Plan ist in der Regel innerhalb einer Stunde fertig, oft nach 15 bis 30 Minuten. pipeline_status zeigt, wo er gerade steht, progress wie viele der neun Kapitel geschrieben sind.
| Status | Bedeutung |
|---|---|
| none | Entwurf, noch nicht bestellt. |
| pending | Bestellt, wartet auf einen freien Platz in der Warteschlange. |
| researching | Recherche läuft: Markt und Branchentrends, lokale Wettbewerber, übliche Preise und Kosten, passende Förderprogramme. |
| generating | Kapitel und Finanzplan werden geschrieben und berechnet. |
| completed | Fertig. Kapitel, Finanzplan und Dateien sind abrufbar. |
| failed | Fehlgeschlagen. Wir starten automatisch neu; bleibt der Status, melden wir uns. Ein fehlgeschlagener Plan wird nicht berechnet. |
curl https://api.businessplanersteller.de/v1/plans/bp_7Kx2mQ9tLw \
-H "Authorization: Bearer $BPE_API_KEY" \
| jq '{pipeline_status, progress}'
# {
# "pipeline_status": "generating",
# "progress": { "chapters_done": 5, "chapters_total": 9, "percent": 61 }
# }
Bitte fragen Sie höchstens alle zehn Sekunden ab. Der Webhook ist die bessere Wahl.
Jeder Plan hat dieselbe Gliederung, die sich an den Erwartungen von Banken, KfW und Arbeitsagentur orientiert. GET /v1/plans/{id}/chapters liefert sie als Markdown, damit Sie die Texte in Ihre eigene Oberfläche übernehmen können.
| Nr. | Key | Inhalt |
|---|---|---|
| 1 | executive_summary | Executive Summary. Wird zuletzt geschrieben, damit sie die Zahlen des Finanzplans enthält. |
| 2 | gruenderprofil | Gründerprofil: Qualifikation und Erfahrung. |
| 3 | geschaeftsidee | Geschäftsidee und Angebot. |
| 4 | markt | Markt und Wettbewerb, auf Grundlage der Recherche, mit Quellen. |
| 5 | marketing | Marketing und Vertrieb. |
| 6 | organisation | Organisation und Rechtsform. |
| 7 | finanzplan | Finanzplan: Erläuterung der Zahlen aus der Berechnung. |
| 8 | swot | SWOT-Analyse. |
| 9 | meilensteine | Meilensteine und Umsetzungsplan. |
{
"object": "list",
"data": [
{
"number": 1,
"key": "executive_summary",
"title": "Executive Summary",
"markdown": "Mit dem Elektromeisterbetrieb ...",
"words": 612
},
{
"number": 4,
"key": "markt",
"title": "Markt und Wettbewerb",
"markdown": "Im Landkreis Heilbronn ...",
"words": 1180,
"sources": [
{ "title": "Statistisches Landesamt Baden-Württemberg", "url": "https://..." }
]
}
]
}
Die Zahlen im Plan schreibt kein Sprachmodell frei. Das Modell leitet aus Ihren Angaben und der Recherche nur die Annahmen ab (Umsatzpositionen, Anlaufkurve, Kosten, Finanzierung); gerechnet wird anschließend deterministisch. GET /v1/plans/{id}/finance liefert Annahmen und Ergebnis.
kapitalbedarf: Investitionen, Gründungskosten, Summe.finanzierung: Eigenkapital, Kredit, Zins, Laufzeit, tilgungsfreie Monate, Monatsrate (Annuität).years: Rentabilitätsvorschau über drei Jahre mit Umsatz, Wareneinsatz, Fixkosten, Personal, Abschreibung, Zinsen und Ergebnis.monthly: Liquiditätsplanung über 36 Monate mit Kassenbestand.kennzahlen: die Werte, auf die Bank und Arbeitsagentur zuerst schauen.| Kennzahl | Typ | Bedeutung |
|---|---|---|
| break_even_monat | integer | Erster Monat mit positivem Ergebnis. |
| kapitaldienst_jahr | number | Zins und Tilgung pro Jahr. |
| niedrigste_liquiditaet | number | Tiefster Kassenbestand in den 36 Monaten. Ist er negativ, fehlt Kapital. |
| niedrigste_liquiditaet_monat | integer | Monat, in dem der tiefste Kassenbestand erreicht wird. |
| umsatz_jahr1 ... 3 | number | Umsatz je Planjahr. |
| ergebnis_jahr1 ... 3 | number | Ergebnis nach Privatentnahme je Planjahr. |
{
"object": "finance",
"plan_id": "bp_7Kx2mQ9tLw",
"kapitalbedarf": { "investitionen": 31500, "gruendungskosten": 2400, "gesamt": 33900 },
"finanzierung": {
"eigenkapital": 9000, "kredit": 25000, "zins_prozent": 5.9,
"laufzeit_monate": 84, "tilgungsfrei_monate": 12, "monatsrate": 412.37
},
"kennzahlen": {
"break_even_monat": 9,
"kapitaldienst_jahr": 4948.44,
"niedrigste_liquiditaet": 3120.55,
"niedrigste_liquiditaet_monat": 5,
"umsatz_jahr1": 118400, "umsatz_jahr2": 164900, "umsatz_jahr3": 187300,
"ergebnis_jahr1": 21300, "ergebnis_jahr2": 44800, "ergebnis_jahr3": 52900
},
"years": [ { "jahr": 1, "umsatz": 118400, "wareneinsatz": 35500, "fixkosten": 28800, "personal": 21000, "afa": 4500, "zinsen": 1300, "ergebnis": 21300 } ],
"monthly": [ { "monat": 1, "umsatz": 3100, "ausgaben": 7420, "kassenbestand": 29580 } ],
"assumptions": { "...": "..." }
}
Sobald pipeline_status auf completed steht, liefert GET /v1/plans/{id}/files/{format} die fertigen Dokumente. Vorher antwortet der Endpunkt mit 409 not_ready.
| Format | MIME-Typ | Inhalt |
|---|---|---|
| application/pdf | Der Plan zum Einreichen: Deckblatt, Inhaltsverzeichnis, neun Kapitel, Tabellen zu Kapitalbedarf und Finanzierung, Rentabilität über drei Jahre und Liquidität im ersten Jahr. | |
| docx | application/vnd.openxmlformats-officedocument.wordprocessingml.document | Derselbe Plan als Word-Datei zum Überarbeiten. |
| xlsx | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet | Finanzplan mit den Blättern Annahmen, Rentabilität 3 Jahre, Liquidität 36 Monate und Kennzahlen. |
curl -L -o Businessplan.pdf \
https://api.businessplanersteller.de/v1/plans/bp_7Kx2mQ9tLw/files/pdf \
-H "Authorization: Bearer $BPE_API_KEY"
curl -L -o Businessplan.docx https://api.businessplanersteller.de/v1/plans/bp_7Kx2mQ9tLw/files/docx \
-H "Authorization: Bearer $BPE_API_KEY"
curl -L -o Finanzplan.xlsx https://api.businessplanersteller.de/v1/plans/bp_7Kx2mQ9tLw/files/xlsx \
-H "Authorization: Bearer $BPE_API_KEY"
Die Dateien bleiben abrufbar, bis Sie den Plan löschen.
GET /v1/plans liefert Ihre Pläne seitenweise (bis 100 pro Seite, Cursor in next_cursor). Filtern lässt sich nach pipeline_status, Zeitraum und eigenen metadata.
curl -G https://api.businessplanersteller.de/v1/plans \
-H "Authorization: Bearer $BPE_API_KEY" \
-d pipeline_status=completed \
-d created_after=2026-09-01 \
-d "metadata[mandant]=K-2026-118"
DELETE /v1/plans/{id} löscht Angaben, Texte, Finanzplan und Dateien endgültig. Ein bestellter Plan bleibt auf der Rechnung, auch wenn Sie ihn löschen.
{
"object": "account",
"name": "Gründungsberatung Muster",
"price_per_plan": 19900,
"currency": "eur",
"current_period": {
"from": "2026-09-01", "to": "2026-09-30",
"teasers": 58, "plans_ordered": 17, "amount_due": 338300
},
"limits": { "teasers_per_day": 200, "requests_per_minute": 60 },
"livemode": true
}
Nennen Sie uns einen HTTPS-Endpunkt, dann senden wir bei jeder Statusänderung ein Ereignis per POST.
| Ereignis | Auslöser |
|---|---|
| plan.teaser_ready | Executive Summary und Gliederung des Entwurfs sind fertig. |
| plan.ordered | Ein Plan wurde bestellt. |
| plan.researching | Die Recherche hat begonnen. |
| plan.completed | Der Plan ist fertig, die Dateien sind abrufbar. |
| plan.failed | Die Erstellung ist endgültig fehlgeschlagen. Der Plan wird nicht berechnet. |
| plan.deleted | Ein Plan wurde gelöscht. |
{
"id": "evt_3Mv8cT1rPz",
"type": "plan.completed",
"created_at": "2026-09-29T08:51:17Z",
"livemode": true,
"data": {
"plan_id": "bp_7Kx2mQ9tLw",
"pipeline_status": "completed",
"files": {
"pdf": "https://api.businessplanersteller.de/v1/plans/bp_7Kx2mQ9tLw/files/pdf",
"docx": "https://api.businessplanersteller.de/v1/plans/bp_7Kx2mQ9tLw/files/docx",
"xlsx": "https://api.businessplanersteller.de/v1/plans/bp_7Kx2mQ9tLw/files/xlsx"
},
"metadata": { "mandant": "K-2026-118" }
}
}
Jede Anfrage trägt den Header BPE-Signature mit Zeitstempel und einem HMAC-SHA256 über zeitstempel.body, signiert mit Ihrem Webhook-Geheimnis.
BPE-Signature: t=1790664677,v1=4f0c2b9e7a...
import hmac, hashlib, os, time
SECRET = os.environ["BPE_WEBHOOK_SECRET"].encode()
def verify(header: str, raw_body: bytes) -> bool:
parts = dict(p.split("=", 1) for p in header.split(","))
ts, sig = parts["t"], parts["v1"]
if abs(time.time() - int(ts)) > 300:
return False
expected = hmac.new(SECRET, ts.encode() + b"." + raw_body, hashlib.sha256).hexdigest()
return hmac.compare_digest(expected, sig)
Antworten Sie innerhalb von zehn Sekunden mit einem 2xx-Status. Andernfalls wiederholen wir die Zustellung mit wachsenden Abständen 24 Stunden lang. Ereignisse können doppelt ankommen; nutzen Sie id, um sie zu erkennen.
Senden Sie bei jedem POST einen Idempotency-Key. Wiederholen Sie eine Anfrage nach einem Verbindungsabbruch mit demselben Schlüssel innerhalb von 24 Stunden, erhalten Sie die ursprüngliche Antwort zurück. Bei /order ist das besonders wichtig: So wird ein Plan nie doppelt bestellt.
Unabhängig davon ist /order für denselben Plan nur einmal möglich. Ein zweiter Aufruf liefert den bestehenden Bestellstatus und löst keine zweite Berechnung aus.
Fehler kommen mit passendem HTTP-Status und einem Körper, der sagt, was zu tun ist.
{
"error": {
"type": "validation_error",
"code": "invalid_option",
"message": "Der Wert 'minijob' ist für nebenerwerb nicht erlaubt. Erlaubt sind: hauptberuflich, nebenberuflich.",
"field": "nebenerwerb",
"request_id": "req_8Tq4nB2xKd"
}
}
| Typ | Status | Bedeutung |
|---|---|---|
| invalid_request | 400 | Die Anfrage ist nicht lesbar, etwa fehlerhaftes JSON oder ein unbekanntes Feld. |
| authentication_error | 401 | Schlüssel fehlt, ist falsch oder gesperrt. |
| permission_error | 403 | Der Schlüssel darf diese Aktion nicht ausführen, etwa ein Lese-Schlüssel bei /order. |
| not_found | 404 | Der Plan existiert nicht oder gehört nicht zu Ihrem Konto. |
| conflict | 409 | Derselbe Idempotenzschlüssel wurde mit anderem Inhalt verwendet. |
| not_ready | 409 | Kapitel, Finanzplan oder Dateien werden abgefragt, bevor der Plan fertig ist. |
| validation_error | 422 | Ein Wert ist nicht erlaubt, etwa eine unbekannte Option oder ein zu langer Text. field nennt das Feld. |
| rate_limit | 429 | Zu viele Anfragen. Warten Sie RateLimit-Reset Sekunden. |
| api_error | 500 | Fehler bei uns. Später erneut versuchen und bei Wiederholung die request_id schicken. |
| Wert | Limit |
|---|---|
| 60 / min | Anfragen pro Minute und Schlüssel. |
| 200 / Tag | Kostenlose Entwürfe pro Tag und Schlüssel. |
| 20 | Gleichzeitig laufende Pläne. Weitere Bestellungen warten mit pending. |
| 4.000 | Zeichen je Freitextfeld. |
| 24 h | Idempotenzfenster: so lange merken wir uns einen Schlüssel. |
RateLimit-Limit: 60
RateLimit-Remaining: 57
RateLimit-Reset: 23
Für Seminare mit vielen Teilnehmern am selben Tag heben wir die Limits nach Absprache an.
Die Version steht im Pfad (/v1). Innerhalb von v1 kommen nur Dinge hinzu: neue Endpunkte, neue optionale Felder, neue Ereignisse, neue Auswahlwerte. Ihr Code sollte unbekannte Felder ignorieren.
Änderungen, die bestehende Anbindungen brechen könnten, erhalten eine neue Datumsversion. Sie können eine Version per Header festschreiben; ohne Header gilt die Version, die bei Ausgabe Ihres Schlüssels aktuell war. Solche Änderungen kündigen wir mindestens sechs Monate vorher per E-Mail an.
BPE-Version: 2026-09-01
Mit einem sk_test_-Schlüssel funktioniert alles wie im Live-Betrieb, mit drei Unterschieden:
notify_email.Webhooks aus dem Testmodus tragen "livemode": false, ein Endpunkt kann also beide annehmen.
Angaben zu Gründerinnen und Gründern sind personenbezogene Daten. Wir verarbeiten sie ausschließlich zur Erstellung des Plans und im Auftrag.
DELETE /v1/plans/{id} löschen Sie einen Plan jederzeit selbst und vollständig.Übergeben Sie nur, was für den Plan nötig ist. vorname genügt für die Ansprache, Nachnamen, Adressen oder Steuernummern braucht der Plan nicht.
Der Plan ist ein vollständiger, sauber gegliederter Entwurf und eine Formulierungs- und Strukturierungshilfe. Er ersetzt keine Steuer-, Rechts- oder Finanzberatung.
Wenn Sie die API in einem Beratungsangebot einsetzen, liegt die fachliche Prüfung des Plans bei Ihnen. Die Rechte am Plan liegen beim Endkunden: Er darf ihn uneingeschränkt nutzen, bearbeiten und an Banken, Behörden und Berater weitergeben.
Fragen zur API, zu einem Schlüssel oder zu einem einzelnen Plan an [email protected]. Nennen Sie bitte immer die Plan-ID oder die request_id aus der Antwort, dann finden wir die Anfrage sofort.
Schlüssel vergeben wir von Hand. Schreiben Sie uns kurz, wer Sie sind (Beratung, Bildungsträger, Kammer, Software) und mit wie vielen Plänen im Monat Sie rechnen. Der Zugang steht in der Regel innerhalb eines Werktags.