KI fragen
Deutsch DE
Zu Watbot

Listen und Felder

Die Methoden dieser Seite arbeiten mit dem Schema einer Liste — ihrem Namen und ihren Feldern. Wie Felder aufgebaut sind und welche Typen es gibt, steht auf der Seite Listen.

getListSchemas

Gibt die Listen aller Projekte zurück, deren Inhaber der Schlüsselinhaber ist, 50 pro Seite.

GETPOSThttps://watbot.org/de/api/v1/getListSchemas
Parameter Typ Pflicht Beschreibung
page Ganzzahl nein Seitennummer, standardmäßig 1
Anfrage
curl -X POST "https://watbot.org/de/api/v1/getListSchemas" \
  -H "Authorization: Bearer IHR_API_SCHLÜSSEL" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"page": 1}'
Antwort 200
{
  "data": [
    {
      "id": "6650a1f2c3d4e5f6a7b8c9d0",
      "fields": {
        "bezeichnung": {
          "name": "Bezeichnung",
          "type": "string",
          "is_required": true,
          "is_hidden": false,
          "is_encryptable": false
        },
        "preis": {
          "name": "Preis",
          "type": "money",
          "currency": "EUR",
          "is_required": true,
          "is_hidden": false,
          "is_encryptable": false
        }
      },
      "name": "Speisekarte des Cafés",
      "bot_id": 12345,
      "project": "3f2b8c1e-5a7d-4e9b-8c6f-1d2e3f4a5b6c",
      "is_menu": false,
      "created_at": "2026-10-01T09:15:00+00:00",
      "updated_at": "2026-10-02T11:40:12+00:00"
    }
  ],
  "links": {
    "first": "…/v1/getListSchemas?page=1",
    "last": "…/v1/getListSchemas?page=1",
    "prev": null,
    "next": null
  },
  "meta": {
    "current_page": 1,
    "from": 1,
    "last_page": 1,
    "path": "…/v1/getListSchemas",
    "per_page": 50,
    "to": 1,
    "total": 1
  }
}

Felder einer Liste in der Antwort:

Feld Beschreibung
id ID der Liste
fields Felder: Der Schlüssel ist der slug, der Wert enthält den Namen (name), den Typ (type) und die Einstellungen. Ein Geldfeld hat zusätzlich currency. Felder, die im Konto erstellt wurden, können weitere Schlüssel haben
name Name der Liste
bot_id Bot, in dem die Liste erstellt wurde; null, wenn die Liste im Projekt erstellt wurde
project UUID des Projekts, zu dem die Liste gehört
is_menu Veraltete Kennzeichnung, ohne Einfluss auf die Liste
created_at, updated_at Wann die Liste erstellt und zuletzt geändert wurde

Besonderheiten:

  • Eine Seite enthält 50 Listen, das lässt sich nicht ändern. Die Gesamtzahl der Seiten steht in meta.last_page, die Adresse der nächsten Seite in links.next.
  • Listen von Projekten, in die Sie als Teammitglied eingeladen wurden, sind nicht enthalten: Die API arbeitet nur mit den Projekten des Schlüsselinhabers.

getListSchema

Gibt eine Liste mit ihren Feldern zurück.

GETPOSThttps://watbot.org/de/api/v1/getListSchema
Parameter Typ Pflicht Beschreibung
schema_id String ja ID der Liste
Anfrage
curl -X POST "https://watbot.org/de/api/v1/getListSchema" \
  -H "Authorization: Bearer IHR_API_SCHLÜSSEL" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"schema_id": "6650a1f2c3d4e5f6a7b8c9d0"}'
Antwort 200
{
  "data": {
    "id": "6650a1f2c3d4e5f6a7b8c9d0",
    "fields": {
      "bezeichnung": {
        "name": "Bezeichnung",
        "type": "string",
        "is_required": true,
        "is_hidden": false,
        "is_encryptable": false
      },
      "preis": {
        "name": "Preis",
        "type": "money",
        "currency": "EUR",
        "is_required": true,
        "is_hidden": false,
        "is_encryptable": false
      }
    },
    "name": "Speisekarte des Cafés",
    "bot_id": 12345,
    "project": "3f2b8c1e-5a7d-4e9b-8c6f-1d2e3f4a5b6c",
    "is_menu": false,
    "created_at": "2026-10-01T09:15:00+00:00",
    "updated_at": "2026-10-02T11:40:12+00:00"
  }
}
Antwort 404
{
  "message": "Schema not found",
  "error": "Schema not found",
  "errors": {
    "schema_id": ["Schema not found"]
  }
}

Fehler:

  • Die Liste existiert nicht oder wurde gelöscht — 404. Der Fehlertext steht in error und message; aus Kompatibilitätsgründen auch in errors.schema_id.
  • Die Liste gehört zu einem fremden Projekt — 403.

createListSchema

Erstellt eine Liste mit Feldern — in einem Projekt oder in einem Bot.

GETPOSThttps://watbot.org/de/api/v1/createListSchema
Parameter Typ Pflicht Beschreibung
name String ja Name der Liste, bis zu 255 Zeichen
project_uuid String ja, wenn bot_id fehlt UUID des Projekts, in dem die Liste erstellt wird
bot_id Ganzzahl ja, wenn project_uuid fehlt ID des Bots: Die Liste kommt in das Projekt dieses Bots und wird als in ihm erstellt gekennzeichnet. Werden beide Parameter übergeben, gilt bot_id
fields Array ja Felder der Liste — 1 bis 30
fields[].name String ja Name des Feldes, bis zu 255 Zeichen
fields[].slug String ja Feldname: Buchstaben, Ziffern, - und _, bis zu 255 Zeichen; am besten lateinische Buchstaben. Darf sich in der Liste nicht wiederholen und nicht mit den internen Namen übereinstimmen
fields[].type String ja Feldtyp: string, number, bool, date, datetime, money, file, image, contact, bot
fields[].currency String nein Nur für money: dreibuchstabiger Währungscode nach ISO 4217 — EUR, USD, CHF. Standardmäßig USD. Ein unbekannter Code — 422
fields[].is_required Boolean nein Pflichtfeld. Standardmäßig true
fields[].is_hidden Boolean nein Feld in der Oberfläche ausblenden. Standardmäßig false
fields[].is_encryptable Boolean nein Wert verschlüsselt speichern. Standardmäßig false
is_menu Boolean nein Veraltete Kennzeichnung, ohne Einfluss auf die Liste
Anfrage
curl -X POST "https://watbot.org/de/api/v1/createListSchema" \
  -H "Authorization: Bearer IHR_API_SCHLÜSSEL" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
    "project_uuid": "3f2b8c1e-5a7d-4e9b-8c6f-1d2e3f4a5b6c",
    "name": "Speisekarte des Cafés",
    "fields": [
      {"name": "Bezeichnung", "slug": "bezeichnung", "type": "string"},
      {"name": "Preis", "slug": "preis", "type": "money", "currency": "EUR"},
      {"name": "Foto", "slug": "foto", "type": "image", "is_required": false},
      {"name": "Verfügbar", "slug": "verfuegbar", "type": "bool", "is_required": false}
    ]
  }'
Antwort 201
{
  "data": {
    "id": "6650a1f2c3d4e5f6a7b8c9d0",
    "fields": {
      "bezeichnung": {
        "name": "Bezeichnung",
        "type": "string",
        "is_required": true,
        "is_hidden": false,
        "is_encryptable": false
      },
      "preis": {
        "name": "Preis",
        "type": "money",
        "is_required": true,
        "is_hidden": false,
        "is_encryptable": false,
        "currency": "EUR"
      },
      "foto": {
        "name": "Foto",
        "type": "image",
        "is_required": false,
        "is_hidden": false,
        "is_encryptable": false
      },
      "verfuegbar": {
        "name": "Verfügbar",
        "type": "bool",
        "is_required": false,
        "is_hidden": false,
        "is_encryptable": false
      }
    },
    "name": "Speisekarte des Cafés",
    "bot_id": null,
    "project": "3f2b8c1e-5a7d-4e9b-8c6f-1d2e3f4a5b6c",
    "is_menu": false,
    "created_at": "2026-10-03T08:00:00+00:00",
    "updated_at": "2026-10-03T08:00:00+00:00"
  }
}
Antwort 422
{
  "message": "The slug is reserved.",
  "errors": {
    "fields.0.slug": ["The slug is reserved."]
  }
}

Besonderheiten und Fehler:

  • Die Felder werden in der Reihenfolge angelegt, in der sie übergeben werden.
  • Eine Liste können Sie nur in Ihrem eigenen Projekt oder Ihrem eigenen Bot erstellen. Ein Bot oder Projekt eines anderen Kontos, auch eines, in das Sie als Teammitglied eingeladen wurden, — 403.
  • Eine nicht existierende bot_id oder project_uuid — 422.
  • Ein wiederholter slug — 422 mit einem Fehler am Feld fields.N.slug, wobei N die Position des Feldes im Array ab null ist.
  • Ein unbekannter Währungscode — 422 mit einem Fehler am Feld fields.N.currency.
  • Das Projekt hat bereits 5000 Listen — 403: {"message": "A project cannot have more than 5000 lists", "error": "A project cannot have more than 5000 lists"}.
  • In einer GET-Anfrage werden die Felder so in der Adresse übergeben: fields[0][name]=Bezeichnung&fields[0][slug]=bezeichnung&fields[0][type]=string. Bequemer ist POST mit JSON.

deleteListSchema

Löscht eine Liste zusammen mit ihren Einträgen.

GETPOSThttps://watbot.org/de/api/v1/deleteListSchema
Parameter Typ Pflicht Beschreibung
schema_id String ja ID der Liste
Anfrage
curl -X POST "https://watbot.org/de/api/v1/deleteListSchema" \
  -H "Authorization: Bearer IHR_API_SCHLÜSSEL" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"schema_id": "6650a1f2c3d4e5f6a7b8c9d0"}'
Antwort 404
{
  "message": "Schema not found",
  "error": "Schema not found",
  "errors": {
    "schema_id": ["Schema not found"]
  }
}

Eine erfolgreiche Antwort hat den Code 204 und keinen Inhalt.

Besonderheiten und Fehler:

  • Prüfen Sie vor dem Löschen, dass die Liste in keinem Block eines Bots ausgewählt ist: Nach dem Löschen finden die Blöcke keine Einträge mehr.
  • Nach dem Löschen findet weder getListItems noch die Suche per item_id die Einträge der Liste: updateListItem und deleteListItem antworten mit 404.
  • Die Liste existiert nicht oder wurde bereits gelöscht — 404, wie bei getListSchema.
  • Die Liste gehört zu einem fremden Projekt — 403.

addListSchemaField

Fügt am Ende der Liste ein Feld hinzu.

GETPOSThttps://watbot.org/de/api/v1/addListSchemaField
Parameter Typ Pflicht Beschreibung
schema_id String ja ID der Liste
field Objekt ja Das neue Feld
field.name String ja Name des Feldes, bis zu 255 Zeichen
field.slug String ja Feldname: Buchstaben, Ziffern, - und _, bis zu 255 Zeichen; am besten lateinische Buchstaben
field.type String ja Feldtyp — wie bei createListSchema
field.is_required Boolean nein Pflichtfeld. Standardmäßig true
field.is_hidden Boolean nein Feld in der Oberfläche ausblenden. Standardmäßig false
field.is_encryptable Boolean nein Wert verschlüsselt speichern. Standardmäßig false
field.currency String bei money Nur für money: dreibuchstabiger Währungscode nach ISO 4217 — EUR, USD, CHF
Anfrage
curl -X POST "https://watbot.org/de/api/v1/addListSchemaField" \
  -H "Authorization: Bearer IHR_API_SCHLÜSSEL" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
    "schema_id": "6650a1f2c3d4e5f6a7b8c9d0",
    "field": {"name": "Größe, ml", "slug": "volumen", "type": "number", "is_required": false}
  }'
Antwort 422
{
  "message": "The list already has a field with this slug",
  "errors": {
    "field.slug": ["The list already has a field with this slug"]
  }
}

Eine erfolgreiche Antwort hat den Code 204 und keinen Inhalt. Um die Liste mit dem neuen Feld zu sehen, rufen Sie getListSchema auf.

Besonderheiten und Fehler:

  • Ein Feld mit diesem slug gibt es bereits — 422 mit einem Fehler an field.slug.
  • Ein money-Feld braucht eine Währung in field.currency: Ohne sie oder mit einem unbekannten Code — 422 mit einem Fehler an field.currency.
  • Ist das neue Feld ein Pflichtfeld, müssen Sie es bei jedem neuen Eintrag ausfüllen. Bereits vorhandene Einträge ändern sich nicht.
  • Die Liste existiert nicht — 404, wie bei getListSchema; die Liste gehört zu einem fremden Projekt — 403.

deleteListSchemaField

Löscht ein Feld aus der Liste und entfernt seine Werte in allen Einträgen.

GETPOSThttps://watbot.org/de/api/v1/deleteListSchemaField
Parameter Typ Pflicht Beschreibung
schema_id String ja ID der Liste
slug String ja Feldname
Anfrage
curl -X POST "https://watbot.org/de/api/v1/deleteListSchemaField" \
  -H "Authorization: Bearer IHR_API_SCHLÜSSEL" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"schema_id": "6650a1f2c3d4e5f6a7b8c9d0", "slug": "volumen"}'
Antwort 422
{
  "message": "Field not found",
  "errors": {
    "slug": ["Field not found"]
  }
}

Eine erfolgreiche Antwort hat den Code 204 und keinen Inhalt.

Achtung

Die Werte des Feldes werden in allen Einträgen auf einmal entfernt. Sie lassen sich nicht wiederherstellen — genau wie beim Löschen eines Feldes im Konto.

Fehler:

  • Ein Feld mit diesem slug gibt es nicht — 422 mit einem Fehler an slug.
  • Die Liste existiert nicht — 404, wie bei getListSchema; die Liste gehört zu einem fremden Projekt — 403.