Zum Inhalt springen
Doku

Anmeldeformulare erstellen, veröffentlichen und ihr öffentliches Token rotieren.

Basis-URLhttps://api.emailit.com/v2AuthentifizierungFehlerRate Limits

Formular erstellen

Erstellt ein Anmeldeformular mit dem Status draft und einem öffentlichen token. Erfordert einen API-Schlüssel mit dem Scope full. Formulare sind im Early Access.

Wenn Sie definition weglassen, generiert Emailit ein Startformular: einen Schritt mit einer Überschrift, einem Pflichtfeld für die E-Mail-Adresse und der Schaltfläche Subscribe sowie einen Erfolgsschritt. Erstellen und gestalten Sie Formulare in der Weboberfläche unter Email MarketingForms und veröffentlichen Sie sie anschließend.

POST/forms

Body-Parameter

namestringerforderlich
Name des Formulars. Besucher sehen ihn nicht.
typestringStandardwert: popup
Wie das Formular erscheint: popup, full_page, flyout, embed oder banner.
definitionobject

Der Inhalt des Formulars, unverändert gespeichert. Emailit prüft ihn erst beim Veröffentlichen. Felder der obersten Ebene:

  • version (Integer): 1.
  • type (String): der Formulartyp.
  • steps (Array): Jeder Schritt hat id, name, kind (form oder success) und blocks. Blöcke haben eine id und einen type: text, button (action: submit, next, close oder go_to_url), image oder ein Eingabefeld (email, text_input, phone, date, radio, checkbox, dropdown) mit Feldname (name), label und required.
  • styles, targeting, experiments (Objekte): Darstellungs- und Anzeigeregeln, die der Formular-Editor festlegt.
settingsobject
Beliebige Einstellungen, die mit dem Formular gespeichert werden. Standardwert: {}.

Rückgabe

Gibt 201 Created mit dem Formular-Objekt einschließlich definition und settings zurück.

tokenstring
Öffentliches Token, mit dem das Einbettungsskript das Formular lädt. Siehe Formular einbinden.
statusstring
draft, bis Sie das Formular veröffentlichen, danach live.
published_atstring | null
Zeitpunkt der letzten Veröffentlichung des Formulars.

Gibt 400 zurück, wenn name fehlt oder leer ist oder type keiner der erlaubten Werte ist.

POST/forms
Terminal
curl -X POST https://api.emailit.com/v2/forms \
  -H "Authorization: Bearer $EMAILIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "name": "Newsletter popup", "type": "popup" }'
JSON
{
  "object": "form",
  "id": "frm_3Bzpif9xswMlVbFvGZSPNixm5j5",
  "name": "Newsletter popup",
  "type": "popup",
  "status": "draft",
  "token": "9636697db6c8f136d6742cee9c86eb3ed53b89f0a44e3ce6",
  "created_at": "2026-10-01T11:20:31.000000+00:00",
  "updated_at": "2026-10-01T11:20:31.000000+00:00",
  "published_at": null,
  "definition": {
    "version": 1,
    "type": "popup",
    "steps": [
      {
        "id": "3Rb7Lq2NcX9vZt4Wm8Kd1Hs6PyE",
        "name": "Step 1",
        "kind": "form",
        "blocks": [
          { "id": "3Rb7Lq5TgB2kVw7Nn1Ps4Fd9QzA", "type": "text", "content": "<p>Join our list</p>" },
          {
            "id": "3Rb7Lq3JfM6xYc0Rr5Hh8Gk2SeU",
            "type": "email",
            "label": "<p>Email</p>",
            "placeholder": "you@example.com",
            "required": true,
            "name": "email"
          },
          { "id": "3Rb7Lq4WdP1zQa6Ee9Jj3Lm7TfV", "type": "button", "label": "<p>Subscribe</p>", "action": "submit" }
        ]
      },
      {
        "id": "3Rb7Lq2XkS8wUe3Tt6Mn0Bv5RgC",
        "name": "Success",
        "kind": "success",
        "blocks": [
          { "id": "3Rb7Lq6YhD4cFi9Uu2Oo7Cx1WhB", "type": "text", "content": "<p>Thanks for subscribing!</p>" }
        ]
      }
    ],
    "styles": {
      "backgroundColor": "#ffffff",
      "textColor": "#0f172a",
      "primaryColor": "#03a071",
      "borderRadius": 12,
      "fontFamily": "Inter, system-ui, sans-serif",
      "buttonStyle": "solid"
    },
    "targeting": {},
    "experiments": {}
  },
  "settings": {}
}

Formular abrufen

Ruft ein Formular mit seiner vollständigen Definition ab. Erfordert einen API-Schlüssel mit dem Scope full.

GET/forms/{id}

Pfadparameter

idstringerforderlich
Die Formular-ID (frm_…).

Rückgabe

Gibt das Formular-Objekt zurück.

objectstring
Immer form.
idstring
Formular-ID mit dem Präfix frm_.
namestring
Name des Formulars.
typestring
popup, full_page, flyout, embed oder banner.
statusstring
draft oder live. Nur Formulare mit dem Status live werden auf Ihrer Website geladen.
tokenstring
Öffentliches Token, das das Einbettungsskript verwendet.
definitionobject
Schritte, Blöcke, Styles und Targeting. Siehe Formular erstellen.
settingsobject
Beliebige Einstellungen.
created_at, updated_at, published_atstring | null
Zeitstempel in UTC. published_at ist bis zur ersten Veröffentlichung null.

Gibt 404 zurück, wenn das Formular nicht existiert.

GET/forms/{id}
Terminal
curl https://api.emailit.com/v2/forms/frm_3Bzpif9xswMlVbFvGZSPNixm5j5 \
  -H "Authorization: Bearer $EMAILIT_API_KEY"
JSON
{
  "object": "form",
  "id": "frm_3Bzpif9xswMlVbFvGZSPNixm5j5",
  "name": "Newsletter popup",
  "type": "popup",
  "status": "live",
  "token": "9636697db6c8f136d6742cee9c86eb3ed53b89f0a44e3ce6",
  "created_at": "2026-10-01T11:20:31.000000+00:00",
  "updated_at": "2026-10-01T11:48:02.000000+00:00",
  "published_at": "2026-10-01T11:48:02.000000+00:00",
  "definition": {
    "version": 1,
    "type": "popup",
    "steps": [
      {
        "id": "3Rb7Lq2NcX9vZt4Wm8Kd1Hs6PyE",
        "name": "Step 1",
        "kind": "form",
        "blocks": [
          { "id": "3Rb7Lq5TgB2kVw7Nn1Ps4Fd9QzA", "type": "text", "content": "<p>Get our monthly product notes</p>" },
          {
            "id": "3Rb7Lq3JfM6xYc0Rr5Hh8Gk2SeU",
            "type": "email",
            "label": "<p>Email</p>",
            "placeholder": "you@example.com",
            "required": true,
            "name": "email"
          },
          { "id": "3Rb7Lq4WdP1zQa6Ee9Jj3Lm7TfV", "type": "button", "label": "<p>Subscribe</p>", "action": "submit" }
        ]
      },
      {
        "id": "3Rb7Lq2XkS8wUe3Tt6Mn0Bv5RgC",
        "name": "Success",
        "kind": "success",
        "blocks": [
          { "id": "3Rb7Lq6YhD4cFi9Uu2Oo7Cx1WhB", "type": "text", "content": "<p>Thanks for subscribing!</p>" }
        ]
      }
    ],
    "styles": {
      "backgroundColor": "#ffffff",
      "textColor": "#0f172a",
      "primaryColor": "#03a071",
      "borderRadius": 12,
      "fontFamily": "Inter, system-ui, sans-serif",
      "buttonStyle": "solid"
    },
    "targeting": {},
    "experiments": {}
  },
  "settings": {}
}

Formular aktualisieren

Aktualisiert die übergebenen Felder und lässt die übrigen unverändert. Erfordert einen API-Schlüssel mit dem Scope full.

Änderungen an einem Formular mit dem Status live sind für Besucher sofort sichtbar; Sie müssen es nicht erneut veröffentlichen. Um es zu bearbeiten, ohne dass Besucher davon betroffen sind, ziehen Sie zuerst die Veröffentlichung zurück.

POST/forms/{id}

Pfadparameter

idstringerforderlich
Die Formular-ID (frm_…).

Body-Parameter

namestring
Neuer Name. Darf nicht leer sein.
typestring
popup, full_page, flyout, embed oder banner. Passen Sie definition.type entsprechend an.
definitionobject
Ersetzt die gesamte Definition. Ihre Struktur finden Sie unter Formular erstellen.
settingsobject
Ersetzt das Einstellungsobjekt.

Rückgabe

Gibt das aktualisierte Formular-Objekt zurück. Gibt 400 zurück, wenn ein Feld den falschen Typ hat oder name leer ist, und 404, wenn das Formular nicht existiert.

POST/forms/{id}
Terminal
curl -X POST https://api.emailit.com/v2/forms/frm_3Bzpif9xswMlVbFvGZSPNixm5j5 \
  -H "Authorization: Bearer $EMAILIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "name": "Newsletter popup (October)" }'
JSON
{
  "object": "form",
  "id": "frm_3Bzpif9xswMlVbFvGZSPNixm5j5",
  "name": "Newsletter popup (October)",
  "type": "popup",
  "status": "live",
  "token": "9636697db6c8f136d6742cee9c86eb3ed53b89f0a44e3ce6",
  "created_at": "2026-10-01T11:20:31.000000+00:00",
  "updated_at": "2026-10-02T08:05:14.000000+00:00",
  "published_at": "2026-10-01T11:48:02.000000+00:00",
  "definition": {
    "version": 1,
    "type": "popup",
    "steps": [
      {
        "id": "3Rb7Lq2NcX9vZt4Wm8Kd1Hs6PyE",
        "name": "Step 1",
        "kind": "form",
        "blocks": [
          { "id": "3Rb7Lq3JfM6xYc0Rr5Hh8Gk2SeU", "type": "email", "label": "<p>Email</p>", "required": true, "name": "email" },
          { "id": "3Rb7Lq4WdP1zQa6Ee9Jj3Lm7TfV", "type": "button", "label": "<p>Subscribe</p>", "action": "submit" }
        ]
      },
      {
        "id": "3Rb7Lq2XkS8wUe3Tt6Mn0Bv5RgC",
        "name": "Success",
        "kind": "success",
        "blocks": [{ "id": "3Rb7Lq6YhD4cFi9Uu2Oo7Cx1WhB", "type": "text", "content": "<p>Thanks for subscribing!</p>" }]
      }
    ],
    "styles": { "primaryColor": "#03a071", "borderRadius": 12, "buttonStyle": "solid" },
    "targeting": {},
    "experiments": {}
  },
  "settings": {}
}

Formulare auflisten

Gibt die Formulare des Workspaces zurück, neueste zuerst, ohne definition und settings. Erfordert einen API-Schlüssel mit dem Scope full.

GET/forms

Query-Parameter

pageintegerStandardwert: 1
Seitennummer, beginnend bei 1.
limitintegerStandardwert: 10
Formulare pro Seite, von 1 bis 100.
matchstring

all (Standardwert) verlangt, dass alle Filter zutreffen. or trifft zu, wenn ein beliebiger Filter passt. Siehe Filtern und Sortieren.

orderstring

Sortierschlüssel für diese Liste. Siehe die Sortierschlüssel unten.

directionstring

asc oder desc.

Filterschlüssel

Filter verwenden Query-Parameter der Form key.condition=value, zum Beispiel status.exact=live. Siehe Filtern.

Schlüssel Typ Hinweise
name string
type enum popup, full_page, flyout, embed, banner
status enum draft, live
created_at date

Sortierschlüssel für order: name, type, status, created_at.

Rückgabe

dataobject[]
Formulare auf dieser Seite: object, id, name, type, status, token, created_at, updated_at, published_at.
total_recordsinteger
Anzahl der Formulare, die der Abfrage entsprechen.
next_page_urlstring | null
Pfad der nächsten Seite oder null auf der letzten Seite. Er enthält nur page und limit; fügen Sie Ihre Suche und Filter erneut hinzu, wenn Sie ihm folgen.
previous_page_urlstring | null
Pfad der vorherigen Seite oder null auf der ersten Seite.
GET/forms
Terminal
curl -G https://api.emailit.com/v2/forms \
  -H "Authorization: Bearer $EMAILIT_API_KEY" \
  -d status.exact=live
JSON
{
  "data": [
    {
      "object": "form",
      "id": "frm_3Bzpif9xswMlVbFvGZSPNixm5j5",
      "name": "Newsletter popup",
      "type": "popup",
      "status": "live",
      "token": "9636697db6c8f136d6742cee9c86eb3ed53b89f0a44e3ce6",
      "created_at": "2026-10-01T11:20:31.000000+00:00",
      "updated_at": "2026-10-01T11:48:02.000000+00:00",
      "published_at": "2026-10-01T11:48:02.000000+00:00"
    }
  ],
  "total_records": 1,
  "next_page_url": null,
  "previous_page_url": null
}

Formular veröffentlichen

Setzt den Status des Formulars auf live und aktualisiert published_at. Formulare mit dem Status live werden auf jeder Website geladen, auf der das Emailit-Skript eingebunden ist, und können Einsendungen empfangen. Erfordert einen API-Schlüssel mit dem Scope full.

Die Definition braucht mindestens einen Schritt mit kind: "form" und einen mit kind: "success", sonst gibt die Anfrage 422 zurück. Einsendungen werden mit dem Formular gespeichert und erzeugen noch keine Kontakte.

POST/forms/{id}/publish

Pfadparameter

idstringerforderlich
Die Formular-ID (frm_…).

Rückgabe

Gibt das Formular-Objekt mit status auf live zurück. Gibt 422 zurück, wenn die Definition unvollständig ist, und 404, wenn das Formular nicht existiert.

POST/forms/{id}/publish
Terminal
curl -X POST https://api.emailit.com/v2/forms/frm_3Bzpif9xswMlVbFvGZSPNixm5j5/publish \
  -H "Authorization: Bearer $EMAILIT_API_KEY"
JSON
{
  "object": "form",
  "id": "frm_3Bzpif9xswMlVbFvGZSPNixm5j5",
  "name": "Newsletter popup",
  "type": "popup",
  "status": "live",
  "token": "9636697db6c8f136d6742cee9c86eb3ed53b89f0a44e3ce6",
  "created_at": "2026-10-01T11:20:31.000000+00:00",
  "updated_at": "2026-10-01T11:48:02.000000+00:00",
  "published_at": "2026-10-01T11:48:02.000000+00:00",
  "definition": {
    "version": 1,
    "type": "popup",
    "steps": [
      {
        "id": "3Rb7Lq2NcX9vZt4Wm8Kd1Hs6PyE",
        "name": "Step 1",
        "kind": "form",
        "blocks": [
          { "id": "3Rb7Lq3JfM6xYc0Rr5Hh8Gk2SeU", "type": "email", "label": "<p>Email</p>", "required": true, "name": "email" },
          { "id": "3Rb7Lq4WdP1zQa6Ee9Jj3Lm7TfV", "type": "button", "label": "<p>Subscribe</p>", "action": "submit" }
        ]
      },
      {
        "id": "3Rb7Lq2XkS8wUe3Tt6Mn0Bv5RgC",
        "name": "Success",
        "kind": "success",
        "blocks": [{ "id": "3Rb7Lq6YhD4cFi9Uu2Oo7Cx1WhB", "type": "text", "content": "<p>Thanks for subscribing!</p>" }]
      }
    ],
    "styles": { "primaryColor": "#03a071", "borderRadius": 12, "buttonStyle": "solid" },
    "targeting": {},
    "experiments": {}
  },
  "settings": {}
}

Veröffentlichung eines Formulars zurückziehen

Setzt den Status des Formulars auf draft zurück. Das Einbettungsskript lädt es nicht mehr und neue Einsendungen werden abgelehnt. Token, Definition und published_at bleiben unverändert, sodass Sie das Formular später erneut veröffentlichen können. Erfordert einen API-Schlüssel mit dem Scope full.

POST/forms/{id}/unpublish

Pfadparameter

idstringerforderlich
Die Formular-ID (frm_…).

Rückgabe

Gibt das Formular-Objekt mit status auf draft zurück. Gibt 404 zurück, wenn das Formular nicht existiert.

POST/forms/{id}/unpublish
Terminal
curl -X POST https://api.emailit.com/v2/forms/frm_3Bzpif9xswMlVbFvGZSPNixm5j5/unpublish \
  -H "Authorization: Bearer $EMAILIT_API_KEY"
JSON
{
  "object": "form",
  "id": "frm_3Bzpif9xswMlVbFvGZSPNixm5j5",
  "name": "Newsletter popup",
  "type": "popup",
  "status": "draft",
  "token": "9636697db6c8f136d6742cee9c86eb3ed53b89f0a44e3ce6",
  "created_at": "2026-10-01T11:20:31.000000+00:00",
  "updated_at": "2026-10-06T07:30:00.000000+00:00",
  "published_at": "2026-10-01T11:48:02.000000+00:00",
  "definition": {
    "version": 1,
    "type": "popup",
    "steps": [
      {
        "id": "3Rb7Lq2NcX9vZt4Wm8Kd1Hs6PyE",
        "name": "Step 1",
        "kind": "form",
        "blocks": [
          { "id": "3Rb7Lq3JfM6xYc0Rr5Hh8Gk2SeU", "type": "email", "label": "<p>Email</p>", "required": true, "name": "email" },
          { "id": "3Rb7Lq4WdP1zQa6Ee9Jj3Lm7TfV", "type": "button", "label": "<p>Subscribe</p>", "action": "submit" }
        ]
      },
      {
        "id": "3Rb7Lq2XkS8wUe3Tt6Mn0Bv5RgC",
        "name": "Success",
        "kind": "success",
        "blocks": [{ "id": "3Rb7Lq6YhD4cFi9Uu2Oo7Cx1WhB", "type": "text", "content": "<p>Thanks for subscribing!</p>" }]
      }
    ],
    "styles": { "primaryColor": "#03a071", "borderRadius": 12, "buttonStyle": "solid" },
    "targeting": {},
    "experiments": {}
  },
  "settings": {}
}

Öffentliches Token zurücksetzen

Generiert ein neues öffentliches token für das Formular. Das alte Token funktioniert ab sofort nicht mehr: Websites, die das Formular damit laden, zeigen es nicht mehr an und können keine Einsendungen mehr übermitteln. Aktualisieren Sie Ihren Einbettungscode mit dem neuen Token. Erfordert einen API-Schlüssel mit dem Scope full.

POST/forms/{id}/reset-token

Pfadparameter

idstringerforderlich
Die Formular-ID (frm_…).

Rückgabe

Gibt das Formular-Objekt mit dem neuen token zurück. Der Status ändert sich nicht. Gibt 404 zurück, wenn das Formular nicht existiert.

POST/forms/{id}/reset-token
Terminal
curl -X POST https://api.emailit.com/v2/forms/frm_3Bzpif9xswMlVbFvGZSPNixm5j5/reset-token \
  -H "Authorization: Bearer $EMAILIT_API_KEY"
JSON
{
  "object": "form",
  "id": "frm_3Bzpif9xswMlVbFvGZSPNixm5j5",
  "name": "Newsletter popup",
  "type": "popup",
  "status": "live",
  "token": "e5ed3f9ec299ae1c5dc043c45f2a616c352e47a13b6b763b",
  "created_at": "2026-10-01T11:20:31.000000+00:00",
  "updated_at": "2026-10-06T09:12:44.000000+00:00",
  "published_at": "2026-10-01T11:48:02.000000+00:00",
  "definition": {
    "version": 1,
    "type": "popup",
    "steps": [
      {
        "id": "3Rb7Lq2NcX9vZt4Wm8Kd1Hs6PyE",
        "name": "Step 1",
        "kind": "form",
        "blocks": [
          { "id": "3Rb7Lq3JfM6xYc0Rr5Hh8Gk2SeU", "type": "email", "label": "<p>Email</p>", "required": true, "name": "email" },
          { "id": "3Rb7Lq4WdP1zQa6Ee9Jj3Lm7TfV", "type": "button", "label": "<p>Subscribe</p>", "action": "submit" }
        ]
      },
      {
        "id": "3Rb7Lq2XkS8wUe3Tt6Mn0Bv5RgC",
        "name": "Success",
        "kind": "success",
        "blocks": [{ "id": "3Rb7Lq6YhD4cFi9Uu2Oo7Cx1WhB", "type": "text", "content": "<p>Thanks for subscribing!</p>" }]
      }
    ],
    "styles": { "primaryColor": "#03a071", "borderRadius": 12, "buttonStyle": "solid" },
    "targeting": {},
    "experiments": {}
  },
  "settings": {}
}

Formular löschen

Löscht ein Formular und alle gespeicherten Einsendungen endgültig. Websites, die es einbetten, zeigen es nicht mehr an. Erfordert einen API-Schlüssel mit dem Scope full.

DELETE/forms/{id}

Pfadparameter

idstringerforderlich
Die Formular-ID (frm_…).

Rückgabe

Gibt 204 No Content mit leerem Body zurück. Gibt 404 zurück, wenn das Formular nicht existiert.

DELETE/forms/{id}
Terminal
curl -X DELETE https://api.emailit.com/v2/forms/frm_3Bzpif9xswMlVbFvGZSPNixm5j5 \
  -H "Authorization: Bearer $EMAILIT_API_KEY"
Text
(empty body)

War diese Seite hilfreich?

Danke für Ihr Feedback.

Danke, wir lesen jede Nachricht.