/v2/date/listTermine auflisten
Liest Termine im gewählten Konto. filter, fields, order und limit steuern Auswahl, Felder, Sortierung und Seitengröße; response_type=array liefert eine Liste. Termine gelöschter bzw. im Papierkorb befindlicher Angebote werden ausgeschlossen. Zusätzliche Filter: admin und user. Bei einem user-Filter wird die verknüpfte booking-ID zusätzlich ausgegeben. fields unterstützt offerdata, user_stats und calendar_entries; calendar_entries benötigt Leserechte für booking und user und enthält buchungsbezogene Kalenderdaten.
Operation-ID get_v2_date_list
Vertrag & Verhalten
- Dokumentationsstand
- reviewed
- Ändert Zustand
- Nein
- Als readOnly markiert
- Ja
- Für Automation markiert
- Ja
read
Authentifizierung
Eine der folgenden Alternativen muss erfüllt sein (ODER). Innerhalb jeder Alternative werden alle angegebenen Schemas gemeinsam benötigt (UND).
Alternative 1
bearerAuthhttp · bearerExisting edoobox v2 access token. Never substitute API key/secret headers.
Format: JWT
Security-Schema als JSON
{
"type": "http",
"scheme": "bearer",
"bearerFormat": "JWT",
"description": "Existing edoobox v2 access token. Never substitute API key/secret headers."
}accountContextapiKeySelected login/account context from the JWT, not a database primary key. Required even for a JWT with one account.
header: edid
Security-Schema als JSON
{
"type": "apiKey",
"in": "header",
"name": "edid",
"description": "Selected login/account context from the JWT, not a database primary key. Required even for a JWT with one account."
}Alternative 2
sessionCookieapiKeyExisting browser login session, with the same permission checks as Bearer authentication.
cookie: _edlogin
Security-Schema als JSON
{
"type": "apiKey",
"in": "cookie",
"name": "_edlogin",
"description": "Existing browser login session, with the same permission checks as Bearer authentication."
}accountContextapiKeySelected login/account context from the JWT, not a database primary key. Required even for a JWT with one account.
header: edid
Security-Schema als JSON
{
"type": "apiKey",
"in": "header",
"name": "edid",
"description": "Selected login/account context from the JWT, not a database primary key. Required even for a JWT with one account."
}Parameter
Query-Parameter
fieldsoptionalFelder der Termine. offerdata ergänzt Angebotsname, Nummer und maximale Teilnehmerzahl; user_stats ergänzt Belegung. calendar_entries enthält buchungsbezogene Kalenderkarten und Antworten und benötigt Leserechte für booking und user.
application/json
Array-Elemente
Vollständiges Schema als JSON
{
"type": "array",
"items": {
"type": "string"
}
}Beispiel
[
"id",
"offer",
"date_start",
"date_end",
"offerdata",
"user_stats",
"calendar_entries"
]filteroptionalJSON-encoded filter value consumed by RequestAPIData / API_DATA; specific actions may ignore it.
application/json
Schema-Beispiel
[
{
"property": "id",
"expression": "=",
"value": "date_012345abcdef_123456"
}
]Array-Elemente
property string expression string value Typ nicht eingeschränkt Zusätzliche, hier nicht aufgeführte Felder sind erlaubt.
Vollständiges Schema als JSON
{
"type": "array",
"items": {
"type": "object",
"properties": {
"property": {
"type": "string"
},
"expression": {
"type": "string"
},
"value": {}
},
"additionalProperties": true
},
"examples": [
[
{
"property": "id",
"expression": "=",
"value": "date_012345abcdef_123456"
}
]
]
}Beispiel
[
{
"property": "id",
"expression": "=",
"value": "date_012345abcdef_123456"
}
]limitoptionalJSON-encoded limit value consumed by RequestAPIData / API_DATA; specific actions may ignore it.
application/json
Schema-Beispiel
{
"start": 0,
"reply": 25
}start integer - minimum
0
Standardwert: 0
reply integer - maximum
2000
Standardwert: 100
Vollständiges Schema als JSON
{
"type": "object",
"properties": {
"start": {
"type": "integer",
"minimum": 0,
"default": 0
},
"reply": {
"type": "integer",
"maximum": 2000,
"default": 100
}
},
"examples": [
{
"start": 0,
"reply": 25
}
]
}Beispiel
{
"start": 0,
"reply": 25
}orderoptionalJSON-encoded order value consumed by RequestAPIData / API_DATA; specific actions may ignore it.
application/json
Schema-Beispiel
[
{
"property": "id",
"value": "ASC"
}
]Array-Elemente
property string value string "ASC""DESC"Zusätzliche, hier nicht aufgeführte Felder sind erlaubt.
Vollständiges Schema als JSON
{
"type": "array",
"items": {
"type": "object",
"properties": {
"property": {
"type": "string"
},
"value": {
"type": "string",
"enum": [
"ASC",
"DESC"
]
}
},
"additionalProperties": true
},
"examples": [
[
{
"property": "id",
"value": "ASC"
}
]
]
}Beispiel
[
{
"property": "id",
"value": "ASC"
}
]response_typeoptionalControls generic collection representation; default is an ID-keyed object.
"array""object"Schema-Beispiel
"array"Vollständiges Schema als JSON
{
"type": "string",
"enum": [
"array",
"object"
],
"examples": [
"array"
]
}Header
languageoptionalAccount language code, where the resource supports setLanguage().
Schema-Beispiel
"de"Vollständiges Schema als JSON
{
"type": "string",
"examples": [
"de"
]
}Request Body
Kein Request Body in der Spezifikation beschrieben.
Antworten
9HTTP-Status und Antwortinhalt gemeinsam auswerten. In dieser API können auch Antworten mit HTTP 200 einen Fehler enthalten.
200application/json
Response; inspect error and success as legacy failures may also use HTTP 200.
application/json
success boolean error boolean | string error_code string data Typ nicht eingeschränkt ID-indizierte Sammlung; response_type=array liefert eine Liste. Leere Ergebnismengen können [] sein.
anyOf · Mindestens eine Variante muss passen
Variante 1 object Schema für zusätzliche Felder
id string Opaque edoobox v2 object ID returned by this account. Never send a raw database ID. The synthetic example is illustrative and is not a real record.
- pattern
"^[a-z0-9]+_[a-f0-9]{12}_-?[0-9]+$"
Schema-Beispiel
"date_012345abcdef_123456"description string Response field from the resource Structure; dynamic values remain unconstrained.
Feld-Metadaten aus der Spezifikation
{
"x-edoobox-sourceLine": 40
}date_start Typ nicht eingeschränkt Response field from the resource Structure; dynamic values remain unconstrained.
anyOf · Mindestens eine Variante muss passen
Variante 1 string Variante 2 Typ nicht eingeschränkt Fester Wert: false
Feld-Metadaten aus der Spezifikation
{
"x-edoobox-sourceLine": 49
}date_end Typ nicht eingeschränkt Response field from the resource Structure; dynamic values remain unconstrained.
anyOf · Mindestens eine Variante muss passen
Variante 1 string Variante 2 Typ nicht eingeschränkt Fester Wert: false
Feld-Metadaten aus der Spezifikation
{
"x-edoobox-sourceLine": 62
}place Typ nicht eingeschränkt anyOf · Mindestens eine Variante muss passen
Variante 1 string Opaque v2 ID returned for a record in the selected account.
- pattern
"^[a-z0-9]+_[a-f0-9]{12}_-?[0-9]+$"
Variante 2 Typ nicht eingeschränkt Fester Wert: false
Feld-Metadaten aus der Spezifikation
{
"x-edoobox-contractSource": [
{
"file": "application/models/v2/Date.php",
"line": 77,
"reason": "Falsey write input becomes zero; otherwise the public relation ID is decoded.",
"sha256": "6c2cc9b158ba60e211d7da77a920adc45001382fdb859ff62c711562d493b264"
},
{
"file": "application/models/v2/Date.php",
"line": 84,
"reason": "Response is a public relation ID or false.",
"sha256": "6c2cc9b158ba60e211d7da77a920adc45001382fdb859ff62c711562d493b264"
}
]
}room Typ nicht eingeschränkt anyOf · Mindestens eine Variante muss passen
Variante 1 string Opaque v2 ID returned for a record in the selected account.
- pattern
"^[a-z0-9]+_[a-f0-9]{12}_-?[0-9]+$"
Variante 2 Typ nicht eingeschränkt Fester Wert: false
Feld-Metadaten aus der Spezifikation
{
"x-edoobox-contractSource": [
{
"file": "application/models/v2/Date.php",
"line": 90,
"reason": "Falsey write input becomes zero; otherwise the public relation ID is decoded.",
"sha256": "6c2cc9b158ba60e211d7da77a920adc45001382fdb859ff62c711562d493b264"
},
{
"file": "application/models/v2/Date.php",
"line": 97,
"reason": "Response is a public relation ID or false.",
"sha256": "6c2cc9b158ba60e211d7da77a920adc45001382fdb859ff62c711562d493b264"
}
]
}offer Typ nicht eingeschränkt Response field from the resource Structure; dynamic values remain unconstrained.
anyOf · Mindestens eine Variante muss passen
Variante 1 string Opaque edoobox v2 object ID returned by this account. Never send a raw database ID. The synthetic example is illustrative and is not a real record.
- pattern
"^[a-z0-9]+_[a-f0-9]{12}_-?[0-9]+$"
Schema-Beispiel
"offer_012345abcdef_123456"Variante 2 Typ nicht eingeschränkt Fester Wert: false
Variante 3 null Feld-Metadaten aus der Spezifikation
{
"x-edoobox-sourceLine": 101
}leader array Assigns administrators as leaders of this date within the current account. The relation hook applies assignments separately from the storage getter.
Array-Elemente
Opaque v2 ID returned for a record in the selected account.
- pattern
"^[a-z0-9]+_[a-f0-9]{12}_-?[0-9]+$"
Feld-Metadaten aus der Spezifikation
{
"x-edoobox-contractSource": [
{
"file": "application/models/v2/Datefunc.php",
"line": 174,
"lineEnd": 179,
"reason": "PUT obtains a fully validated leader list before modifying assignments.",
"sha256": "66cb9ba28b2fba16b68a1f1d213c72010ba38750e8bdb34deb9d82bbdf630b1a"
},
{
"file": "application/models/v2/Datefunc.php",
"line": 239,
"lineEnd": 243,
"reason": "POST relation callback consumes the same validated list.",
"sha256": "66cb9ba28b2fba16b68a1f1d213c72010ba38750e8bdb34deb9d82bbdf630b1a"
},
{
"file": "application/models/v2/Datefunc.php",
"line": 266,
"lineEnd": 289,
"reason": "Strict list, typed admin decoding, positive IDs and deduplicated same-account user_info existence checks precede relation mutations.",
"sha256": "66cb9ba28b2fba16b68a1f1d213c72010ba38750e8bdb34deb9d82bbdf630b1a"
},
{
"file": "application/models/v2/Date.php",
"line": 131,
"reason": "Response maps joined leaders to an array of public administrator IDs.",
"sha256": "6c2cc9b158ba60e211d7da77a920adc45001382fdb859ff62c711562d493b264"
}
]
}color Typ nicht eingeschränkt anyOf · Mindestens eine Variante muss passen
Variante 1 string Variante 2 Typ nicht eingeschränkt Fester Wert: false
Feld-Metadaten aus der Spezifikation
{
"x-edoobox-contractSource": [
{
"file": "application/models/v2/Date.php",
"line": 153,
"lineStart": 153,
"lineEnd": 172,
"sha256": "6c2cc9b158ba60e211d7da77a920adc45001382fdb859ff62c711562d493b264",
"spanSha256": "2ec5847a45af791e05db717f2e4f5946198cf290fc3c441b95d55d54f6045814",
"reason": "Structure getter, output setter and field flags."
},
{
"file": "application/helpers/edooboxhelp_helper.php",
"line": 11560,
"lineStart": 11560,
"lineEnd": 11606,
"sha256": "090d351b5bde81813c7a829bedf2f1f9f978fce5765f246989779f996198934e",
"spanSha256": "2172cc49e4bcdb6840448b62929037cb9b90c299da3cb6fb0be6a8782881750f",
"reason": "aP text normalization and aQ output. Reviewed aP update preserves legacy encoded storage and aQ read semantics. Truncation removes a dangling final escape backslash rather than creating a broken SQL literal; it remains normalization, not a rejecting raw input maxLength."
},
{
"file": "application/models/v2/Date.php",
"line": 189,
"lineStart": 189,
"lineEnd": 202,
"sha256": "6c2cc9b158ba60e211d7da77a920adc45001382fdb859ff62c711562d493b264",
"spanSha256": "d6306bef7b4617f803aff2ac2de39df94f0233667a11ff2c4b269b9a46d47987",
"reason": "Actual resource dispatch and generic writer reachability; action branches are distinct."
},
{
"file": "application/models/v2/Date.php",
"line": 237,
"lineStart": 237,
"lineEnd": 244,
"sha256": "6c2cc9b158ba60e211d7da77a920adc45001382fdb859ff62c711562d493b264",
"spanSha256": "ccfc31e1b13732e53c6b5ff2f95400c7664e404c4bc10eb0645152b9e3f4bb47",
"reason": "Actual resource dispatch and generic writer reachability; action branches are distinct."
},
{
"file": "docs/openapi/reviews/domain-fields.json",
"line": 1,
"reason": "Independent field-level source review, direction applicability, examples and explicit runtime limitations.",
"sha256": "0da1cbbf108a5871b54204c3c76aaf59dabf85a6886bfb38210136885cfc1667"
}
]
}admin string Öffentliche v2-ID im gewählten Konto; Beispiel ist synthetisch.
- pattern
"^admin_[a-f0-9]{12}_-?[0-9]+$"
Schema-Beispiel
"admin_012345abcdef_123456"user string Öffentliche v2-ID im gewählten Konto; Beispiel ist synthetisch.
- pattern
"^user_[a-f0-9]{12}_-?[0-9]+$"
Schema-Beispiel
"user_012345abcdef_123456"booking string Öffentliche v2-ID im gewählten Konto; Beispiel ist synthetisch.
- pattern
"^booking_[a-f0-9]{12}_-?[0-9]+$"
Schema-Beispiel
"booking_012345abcdef_123456"offerdata object name string number string user_maximum integer Zusätzliche, hier nicht aufgeführte Felder sind erlaubt.
user_stats object count_users integer maximum_places integer free_places integer Zusätzliche, hier nicht aufgeführte Felder sind erlaubt.
calendar_entries array Array-Elemente
id string erforderlich Öffentliche v2-ID im gewählten Konto; Beispiel ist synthetisch.
- pattern
"^booking_[a-f0-9]{12}_-?[0-9]+$"
Schema-Beispiel
"booking_012345abcdef_123456"booking string erforderlich Öffentliche v2-ID im gewählten Konto; Beispiel ist synthetisch.
- pattern
"^booking_[a-f0-9]{12}_-?[0-9]+$"
Schema-Beispiel
"booking_012345abcdef_123456"offer string erforderlich Öffentliche v2-ID im gewählten Konto; Beispiel ist synthetisch.
- pattern
"^offer_[a-f0-9]{12}_-?[0-9]+$"
Schema-Beispiel
"offer_012345abcdef_123456"booker_name string erforderlich participant_count integer erforderlich lesson_booking boolean erforderlich questions array erforderlich Array-Elemente
id string erforderlich Öffentliche v2-ID im gewählten Konto; Beispiel ist synthetisch.
- pattern
"^questiongroup_[a-f0-9]{12}_-?[0-9]+$"
Schema-Beispiel
"questiongroup_012345abcdef_123456"key string erforderlich offer Typ nicht eingeschränkt erforderlich anyOf · Mindestens eine Variante muss passen
Variante 1 string Öffentliche v2-ID im gewählten Konto; Beispiel ist synthetisch.
- pattern
"^offer_[a-f0-9]{12}_-?[0-9]+$"
Schema-Beispiel
"offer_012345abcdef_123456"Variante 2 Typ nicht eingeschränkt Fester Wert: false
title string erforderlich value string erforderlich response_type string erforderlich Zusätzliche, hier nicht aufgeführte Felder sind erlaubt.
Zusätzliche, hier nicht aufgeführte Felder sind erlaubt.
Zusätzliche, hier nicht aufgeführte Felder sind erlaubt.
Variante 2 array Array-Elemente
id string Opaque edoobox v2 object ID returned by this account. Never send a raw database ID. The synthetic example is illustrative and is not a real record.
- pattern
"^[a-z0-9]+_[a-f0-9]{12}_-?[0-9]+$"
Schema-Beispiel
"date_012345abcdef_123456"description string Response field from the resource Structure; dynamic values remain unconstrained.
Feld-Metadaten aus der Spezifikation
{
"x-edoobox-sourceLine": 40
}date_start Typ nicht eingeschränkt Response field from the resource Structure; dynamic values remain unconstrained.
anyOf · Mindestens eine Variante muss passen
Variante 1 string Variante 2 Typ nicht eingeschränkt Fester Wert: false
Feld-Metadaten aus der Spezifikation
{
"x-edoobox-sourceLine": 49
}date_end Typ nicht eingeschränkt Response field from the resource Structure; dynamic values remain unconstrained.
anyOf · Mindestens eine Variante muss passen
Variante 1 string Variante 2 Typ nicht eingeschränkt Fester Wert: false
Feld-Metadaten aus der Spezifikation
{
"x-edoobox-sourceLine": 62
}place Typ nicht eingeschränkt anyOf · Mindestens eine Variante muss passen
Variante 1 string Opaque v2 ID returned for a record in the selected account.
- pattern
"^[a-z0-9]+_[a-f0-9]{12}_-?[0-9]+$"
Variante 2 Typ nicht eingeschränkt Fester Wert: false
Feld-Metadaten aus der Spezifikation
{
"x-edoobox-contractSource": [
{
"file": "application/models/v2/Date.php",
"line": 77,
"reason": "Falsey write input becomes zero; otherwise the public relation ID is decoded.",
"sha256": "6c2cc9b158ba60e211d7da77a920adc45001382fdb859ff62c711562d493b264"
},
{
"file": "application/models/v2/Date.php",
"line": 84,
"reason": "Response is a public relation ID or false.",
"sha256": "6c2cc9b158ba60e211d7da77a920adc45001382fdb859ff62c711562d493b264"
}
]
}room Typ nicht eingeschränkt anyOf · Mindestens eine Variante muss passen
Variante 1 string Opaque v2 ID returned for a record in the selected account.
- pattern
"^[a-z0-9]+_[a-f0-9]{12}_-?[0-9]+$"
Variante 2 Typ nicht eingeschränkt Fester Wert: false
Feld-Metadaten aus der Spezifikation
{
"x-edoobox-contractSource": [
{
"file": "application/models/v2/Date.php",
"line": 90,
"reason": "Falsey write input becomes zero; otherwise the public relation ID is decoded.",
"sha256": "6c2cc9b158ba60e211d7da77a920adc45001382fdb859ff62c711562d493b264"
},
{
"file": "application/models/v2/Date.php",
"line": 97,
"reason": "Response is a public relation ID or false.",
"sha256": "6c2cc9b158ba60e211d7da77a920adc45001382fdb859ff62c711562d493b264"
}
]
}offer Typ nicht eingeschränkt Response field from the resource Structure; dynamic values remain unconstrained.
anyOf · Mindestens eine Variante muss passen
Variante 1 string Opaque edoobox v2 object ID returned by this account. Never send a raw database ID. The synthetic example is illustrative and is not a real record.
- pattern
"^[a-z0-9]+_[a-f0-9]{12}_-?[0-9]+$"
Schema-Beispiel
"offer_012345abcdef_123456"Variante 2 Typ nicht eingeschränkt Fester Wert: false
Variante 3 null Feld-Metadaten aus der Spezifikation
{
"x-edoobox-sourceLine": 101
}leader array Assigns administrators as leaders of this date within the current account. The relation hook applies assignments separately from the storage getter.
Array-Elemente
Opaque v2 ID returned for a record in the selected account.
- pattern
"^[a-z0-9]+_[a-f0-9]{12}_-?[0-9]+$"
Feld-Metadaten aus der Spezifikation
{
"x-edoobox-contractSource": [
{
"file": "application/models/v2/Datefunc.php",
"line": 174,
"lineEnd": 179,
"reason": "PUT obtains a fully validated leader list before modifying assignments.",
"sha256": "66cb9ba28b2fba16b68a1f1d213c72010ba38750e8bdb34deb9d82bbdf630b1a"
},
{
"file": "application/models/v2/Datefunc.php",
"line": 239,
"lineEnd": 243,
"reason": "POST relation callback consumes the same validated list.",
"sha256": "66cb9ba28b2fba16b68a1f1d213c72010ba38750e8bdb34deb9d82bbdf630b1a"
},
{
"file": "application/models/v2/Datefunc.php",
"line": 266,
"lineEnd": 289,
"reason": "Strict list, typed admin decoding, positive IDs and deduplicated same-account user_info existence checks precede relation mutations.",
"sha256": "66cb9ba28b2fba16b68a1f1d213c72010ba38750e8bdb34deb9d82bbdf630b1a"
},
{
"file": "application/models/v2/Date.php",
"line": 131,
"reason": "Response maps joined leaders to an array of public administrator IDs.",
"sha256": "6c2cc9b158ba60e211d7da77a920adc45001382fdb859ff62c711562d493b264"
}
]
}color Typ nicht eingeschränkt anyOf · Mindestens eine Variante muss passen
Variante 1 string Variante 2 Typ nicht eingeschränkt Fester Wert: false
Feld-Metadaten aus der Spezifikation
{
"x-edoobox-contractSource": [
{
"file": "application/models/v2/Date.php",
"line": 153,
"lineStart": 153,
"lineEnd": 172,
"sha256": "6c2cc9b158ba60e211d7da77a920adc45001382fdb859ff62c711562d493b264",
"spanSha256": "2ec5847a45af791e05db717f2e4f5946198cf290fc3c441b95d55d54f6045814",
"reason": "Structure getter, output setter and field flags."
},
{
"file": "application/helpers/edooboxhelp_helper.php",
"line": 11560,
"lineStart": 11560,
"lineEnd": 11606,
"sha256": "090d351b5bde81813c7a829bedf2f1f9f978fce5765f246989779f996198934e",
"spanSha256": "2172cc49e4bcdb6840448b62929037cb9b90c299da3cb6fb0be6a8782881750f",
"reason": "aP text normalization and aQ output. Reviewed aP update preserves legacy encoded storage and aQ read semantics. Truncation removes a dangling final escape backslash rather than creating a broken SQL literal; it remains normalization, not a rejecting raw input maxLength."
},
{
"file": "application/models/v2/Date.php",
"line": 189,
"lineStart": 189,
"lineEnd": 202,
"sha256": "6c2cc9b158ba60e211d7da77a920adc45001382fdb859ff62c711562d493b264",
"spanSha256": "d6306bef7b4617f803aff2ac2de39df94f0233667a11ff2c4b269b9a46d47987",
"reason": "Actual resource dispatch and generic writer reachability; action branches are distinct."
},
{
"file": "application/models/v2/Date.php",
"line": 237,
"lineStart": 237,
"lineEnd": 244,
"sha256": "6c2cc9b158ba60e211d7da77a920adc45001382fdb859ff62c711562d493b264",
"spanSha256": "ccfc31e1b13732e53c6b5ff2f95400c7664e404c4bc10eb0645152b9e3f4bb47",
"reason": "Actual resource dispatch and generic writer reachability; action branches are distinct."
},
{
"file": "docs/openapi/reviews/domain-fields.json",
"line": 1,
"reason": "Independent field-level source review, direction applicability, examples and explicit runtime limitations.",
"sha256": "0da1cbbf108a5871b54204c3c76aaf59dabf85a6886bfb38210136885cfc1667"
}
]
}admin string Öffentliche v2-ID im gewählten Konto; Beispiel ist synthetisch.
- pattern
"^admin_[a-f0-9]{12}_-?[0-9]+$"
Schema-Beispiel
"admin_012345abcdef_123456"user string Öffentliche v2-ID im gewählten Konto; Beispiel ist synthetisch.
- pattern
"^user_[a-f0-9]{12}_-?[0-9]+$"
Schema-Beispiel
"user_012345abcdef_123456"booking string Öffentliche v2-ID im gewählten Konto; Beispiel ist synthetisch.
- pattern
"^booking_[a-f0-9]{12}_-?[0-9]+$"
Schema-Beispiel
"booking_012345abcdef_123456"offerdata object name string number string user_maximum integer Zusätzliche, hier nicht aufgeführte Felder sind erlaubt.
user_stats object count_users integer maximum_places integer free_places integer Zusätzliche, hier nicht aufgeführte Felder sind erlaubt.
calendar_entries array Array-Elemente
id string erforderlich Öffentliche v2-ID im gewählten Konto; Beispiel ist synthetisch.
- pattern
"^booking_[a-f0-9]{12}_-?[0-9]+$"
Schema-Beispiel
"booking_012345abcdef_123456"booking string erforderlich Öffentliche v2-ID im gewählten Konto; Beispiel ist synthetisch.
- pattern
"^booking_[a-f0-9]{12}_-?[0-9]+$"
Schema-Beispiel
"booking_012345abcdef_123456"offer string erforderlich Öffentliche v2-ID im gewählten Konto; Beispiel ist synthetisch.
- pattern
"^offer_[a-f0-9]{12}_-?[0-9]+$"
Schema-Beispiel
"offer_012345abcdef_123456"booker_name string erforderlich participant_count integer erforderlich lesson_booking boolean erforderlich questions array erforderlich Array-Elemente
id string erforderlich Öffentliche v2-ID im gewählten Konto; Beispiel ist synthetisch.
- pattern
"^questiongroup_[a-f0-9]{12}_-?[0-9]+$"
Schema-Beispiel
"questiongroup_012345abcdef_123456"key string erforderlich offer Typ nicht eingeschränkt erforderlich anyOf · Mindestens eine Variante muss passen
Variante 1 string Öffentliche v2-ID im gewählten Konto; Beispiel ist synthetisch.
- pattern
"^offer_[a-f0-9]{12}_-?[0-9]+$"
Schema-Beispiel
"offer_012345abcdef_123456"Variante 2 Typ nicht eingeschränkt Fester Wert: false
title string erforderlich value string erforderlich response_type string erforderlich Zusätzliche, hier nicht aufgeführte Felder sind erlaubt.
Zusätzliche, hier nicht aufgeführte Felder sind erlaubt.
Zusätzliche, hier nicht aufgeführte Felder sind erlaubt.
type string Zusätzliche, hier nicht aufgeführte Felder sind erlaubt.
Vollständiges Schema als JSON
{
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"error": {
"type": [
"boolean",
"string"
]
},
"error_code": {
"type": "string"
},
"data": {
"anyOf": [
{
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[a-z0-9]+_[a-f0-9]{12}_-?[0-9]+$",
"description": "Opaque edoobox v2 object ID returned by this account. Never send a raw database ID. The synthetic example is illustrative and is not a real record.",
"examples": [
"date_012345abcdef_123456"
]
},
"description": {
"description": "Response field from the resource Structure; dynamic values remain unconstrained.",
"x-edoobox-sourceLine": 40,
"type": "string"
},
"date_start": {
"description": "Response field from the resource Structure; dynamic values remain unconstrained.",
"x-edoobox-sourceLine": 49,
"anyOf": [
{
"type": "string"
},
{
"const": false
}
]
},
"date_end": {
"description": "Response field from the resource Structure; dynamic values remain unconstrained.",
"x-edoobox-sourceLine": 62,
"anyOf": [
{
"type": "string"
},
{
"const": false
}
]
},
"place": {
"anyOf": [
{
"type": "string",
"pattern": "^[a-z0-9]+_[a-f0-9]{12}_-?[0-9]+$",
"description": "Opaque v2 ID returned for a record in the selected account."
},
{
"const": false
}
],
"x-edoobox-contractSource": [
{
"file": "application/models/v2/Date.php",
"line": 77,
"reason": "Falsey write input becomes zero; otherwise the public relation ID is decoded.",
"sha256": "6c2cc9b158ba60e211d7da77a920adc45001382fdb859ff62c711562d493b264"
},
{
"file": "application/models/v2/Date.php",
"line": 84,
"reason": "Response is a public relation ID or false.",
"sha256": "6c2cc9b158ba60e211d7da77a920adc45001382fdb859ff62c711562d493b264"
}
]
},
"room": {
"anyOf": [
{
"type": "string",
"pattern": "^[a-z0-9]+_[a-f0-9]{12}_-?[0-9]+$",
"description": "Opaque v2 ID returned for a record in the selected account."
},
{
"const": false
}
],
"x-edoobox-contractSource": [
{
"file": "application/models/v2/Date.php",
"line": 90,
"reason": "Falsey write input becomes zero; otherwise the public relation ID is decoded.",
"sha256": "6c2cc9b158ba60e211d7da77a920adc45001382fdb859ff62c711562d493b264"
},
{
"file": "application/models/v2/Date.php",
"line": 97,
"reason": "Response is a public relation ID or false.",
"sha256": "6c2cc9b158ba60e211d7da77a920adc45001382fdb859ff62c711562d493b264"
}
]
},
"offer": {
"description": "Response field from the resource Structure; dynamic values remain unconstrained.",
"x-edoobox-sourceLine": 101,
"anyOf": [
{
"type": "string",
"pattern": "^[a-z0-9]+_[a-f0-9]{12}_-?[0-9]+$",
"description": "Opaque edoobox v2 object ID returned by this account. Never send a raw database ID. The synthetic example is illustrative and is not a real record.",
"examples": [
"offer_012345abcdef_123456"
]
},
{
"const": false
},
{
"type": "null"
}
]
},
"leader": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-z0-9]+_[a-f0-9]{12}_-?[0-9]+$",
"description": "Opaque v2 ID returned for a record in the selected account."
},
"x-edoobox-contractSource": [
{
"file": "application/models/v2/Datefunc.php",
"line": 174,
"lineEnd": 179,
"reason": "PUT obtains a fully validated leader list before modifying assignments.",
"sha256": "66cb9ba28b2fba16b68a1f1d213c72010ba38750e8bdb34deb9d82bbdf630b1a"
},
{
"file": "application/models/v2/Datefunc.php",
"line": 239,
"lineEnd": 243,
"reason": "POST relation callback consumes the same validated list.",
"sha256": "66cb9ba28b2fba16b68a1f1d213c72010ba38750e8bdb34deb9d82bbdf630b1a"
},
{
"file": "application/models/v2/Datefunc.php",
"line": 266,
"lineEnd": 289,
"reason": "Strict list, typed admin decoding, positive IDs and deduplicated same-account user_info existence checks precede relation mutations.",
"sha256": "66cb9ba28b2fba16b68a1f1d213c72010ba38750e8bdb34deb9d82bbdf630b1a"
},
{
"file": "application/models/v2/Date.php",
"line": 131,
"reason": "Response maps joined leaders to an array of public administrator IDs.",
"sha256": "6c2cc9b158ba60e211d7da77a920adc45001382fdb859ff62c711562d493b264"
}
],
"description": "Assigns administrators as leaders of this date within the current account.\nThe relation hook applies assignments separately from the storage getter."
},
"color": {
"anyOf": [
{
"type": "string"
},
{
"const": false
}
],
"x-edoobox-contractSource": [
{
"file": "application/models/v2/Date.php",
"line": 153,
"lineStart": 153,
"lineEnd": 172,
"sha256": "6c2cc9b158ba60e211d7da77a920adc45001382fdb859ff62c711562d493b264",
"spanSha256": "2ec5847a45af791e05db717f2e4f5946198cf290fc3c441b95d55d54f6045814",
"reason": "Structure getter, output setter and field flags."
},
{
"file": "application/helpers/edooboxhelp_helper.php",
"line": 11560,
"lineStart": 11560,
"lineEnd": 11606,
"sha256": "090d351b5bde81813c7a829bedf2f1f9f978fce5765f246989779f996198934e",
"spanSha256": "2172cc49e4bcdb6840448b62929037cb9b90c299da3cb6fb0be6a8782881750f",
"reason": "aP text normalization and aQ output. Reviewed aP update preserves legacy encoded storage and aQ read semantics. Truncation removes a dangling final escape backslash rather than creating a broken SQL literal; it remains normalization, not a rejecting raw input maxLength."
},
{
"file": "application/models/v2/Date.php",
"line": 189,
"lineStart": 189,
"lineEnd": 202,
"sha256": "6c2cc9b158ba60e211d7da77a920adc45001382fdb859ff62c711562d493b264",
"spanSha256": "d6306bef7b4617f803aff2ac2de39df94f0233667a11ff2c4b269b9a46d47987",
"reason": "Actual resource dispatch and generic writer reachability; action branches are distinct."
},
{
"file": "application/models/v2/Date.php",
"line": 237,
"lineStart": 237,
"lineEnd": 244,
"sha256": "6c2cc9b158ba60e211d7da77a920adc45001382fdb859ff62c711562d493b264",
"spanSha256": "ccfc31e1b13732e53c6b5ff2f95400c7664e404c4bc10eb0645152b9e3f4bb47",
"reason": "Actual resource dispatch and generic writer reachability; action branches are distinct."
},
{
"file": "docs/openapi/reviews/domain-fields.json",
"line": 1,
"reason": "Independent field-level source review, direction applicability, examples and explicit runtime limitations.",
"sha256": "0da1cbbf108a5871b54204c3c76aaf59dabf85a6886bfb38210136885cfc1667"
}
]
},
"admin": {
"type": "string",
"pattern": "^admin_[a-f0-9]{12}_-?[0-9]+$",
"examples": [
"admin_012345abcdef_123456"
],
"description": "Öffentliche v2-ID im gewählten Konto; Beispiel ist synthetisch."
},
"user": {
"type": "string",
"pattern": "^user_[a-f0-9]{12}_-?[0-9]+$",
"examples": [
"user_012345abcdef_123456"
],
"description": "Öffentliche v2-ID im gewählten Konto; Beispiel ist synthetisch."
},
"booking": {
"type": "string",
"pattern": "^booking_[a-f0-9]{12}_-?[0-9]+$",
"examples": [
"booking_012345abcdef_123456"
],
"description": "Öffentliche v2-ID im gewählten Konto; Beispiel ist synthetisch."
},
"offerdata": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"number": {
"type": "string"
},
"user_maximum": {
"type": "integer"
}
},
"additionalProperties": true
},
"user_stats": {
"type": "object",
"properties": {
"count_users": {
"type": "integer"
},
"maximum_places": {
"type": "integer"
},
"free_places": {
"type": "integer"
}
},
"additionalProperties": true
},
"calendar_entries": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^booking_[a-f0-9]{12}_-?[0-9]+$",
"examples": [
"booking_012345abcdef_123456"
],
"description": "Öffentliche v2-ID im gewählten Konto; Beispiel ist synthetisch."
},
"booking": {
"type": "string",
"pattern": "^booking_[a-f0-9]{12}_-?[0-9]+$",
"examples": [
"booking_012345abcdef_123456"
],
"description": "Öffentliche v2-ID im gewählten Konto; Beispiel ist synthetisch."
},
"offer": {
"type": "string",
"pattern": "^offer_[a-f0-9]{12}_-?[0-9]+$",
"examples": [
"offer_012345abcdef_123456"
],
"description": "Öffentliche v2-ID im gewählten Konto; Beispiel ist synthetisch."
},
"booker_name": {
"type": "string"
},
"participant_count": {
"type": "integer"
},
"lesson_booking": {
"type": "boolean"
},
"questions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^questiongroup_[a-f0-9]{12}_-?[0-9]+$",
"examples": [
"questiongroup_012345abcdef_123456"
],
"description": "Öffentliche v2-ID im gewählten Konto; Beispiel ist synthetisch."
},
"key": {
"type": "string"
},
"offer": {
"anyOf": [
{
"type": "string",
"pattern": "^offer_[a-f0-9]{12}_-?[0-9]+$",
"examples": [
"offer_012345abcdef_123456"
],
"description": "Öffentliche v2-ID im gewählten Konto; Beispiel ist synthetisch."
},
{
"const": false
}
]
},
"title": {
"type": "string"
},
"value": {
"type": "string"
},
"response_type": {
"type": "string"
}
},
"additionalProperties": true,
"required": [
"id",
"key",
"offer",
"title",
"value",
"response_type"
]
}
}
},
"additionalProperties": true,
"required": [
"id",
"booking",
"offer",
"booker_name",
"participant_count",
"lesson_booking",
"questions"
]
}
}
},
"additionalProperties": true
}
},
{
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[a-z0-9]+_[a-f0-9]{12}_-?[0-9]+$",
"description": "Opaque edoobox v2 object ID returned by this account. Never send a raw database ID. The synthetic example is illustrative and is not a real record.",
"examples": [
"date_012345abcdef_123456"
]
},
"description": {
"description": "Response field from the resource Structure; dynamic values remain unconstrained.",
"x-edoobox-sourceLine": 40,
"type": "string"
},
"date_start": {
"description": "Response field from the resource Structure; dynamic values remain unconstrained.",
"x-edoobox-sourceLine": 49,
"anyOf": [
{
"type": "string"
},
{
"const": false
}
]
},
"date_end": {
"description": "Response field from the resource Structure; dynamic values remain unconstrained.",
"x-edoobox-sourceLine": 62,
"anyOf": [
{
"type": "string"
},
{
"const": false
}
]
},
"place": {
"anyOf": [
{
"type": "string",
"pattern": "^[a-z0-9]+_[a-f0-9]{12}_-?[0-9]+$",
"description": "Opaque v2 ID returned for a record in the selected account."
},
{
"const": false
}
],
"x-edoobox-contractSource": [
{
"file": "application/models/v2/Date.php",
"line": 77,
"reason": "Falsey write input becomes zero; otherwise the public relation ID is decoded.",
"sha256": "6c2cc9b158ba60e211d7da77a920adc45001382fdb859ff62c711562d493b264"
},
{
"file": "application/models/v2/Date.php",
"line": 84,
"reason": "Response is a public relation ID or false.",
"sha256": "6c2cc9b158ba60e211d7da77a920adc45001382fdb859ff62c711562d493b264"
}
]
},
"room": {
"anyOf": [
{
"type": "string",
"pattern": "^[a-z0-9]+_[a-f0-9]{12}_-?[0-9]+$",
"description": "Opaque v2 ID returned for a record in the selected account."
},
{
"const": false
}
],
"x-edoobox-contractSource": [
{
"file": "application/models/v2/Date.php",
"line": 90,
"reason": "Falsey write input becomes zero; otherwise the public relation ID is decoded.",
"sha256": "6c2cc9b158ba60e211d7da77a920adc45001382fdb859ff62c711562d493b264"
},
{
"file": "application/models/v2/Date.php",
"line": 97,
"reason": "Response is a public relation ID or false.",
"sha256": "6c2cc9b158ba60e211d7da77a920adc45001382fdb859ff62c711562d493b264"
}
]
},
"offer": {
"description": "Response field from the resource Structure; dynamic values remain unconstrained.",
"x-edoobox-sourceLine": 101,
"anyOf": [
{
"type": "string",
"pattern": "^[a-z0-9]+_[a-f0-9]{12}_-?[0-9]+$",
"description": "Opaque edoobox v2 object ID returned by this account. Never send a raw database ID. The synthetic example is illustrative and is not a real record.",
"examples": [
"offer_012345abcdef_123456"
]
},
{
"const": false
},
{
"type": "null"
}
]
},
"leader": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-z0-9]+_[a-f0-9]{12}_-?[0-9]+$",
"description": "Opaque v2 ID returned for a record in the selected account."
},
"x-edoobox-contractSource": [
{
"file": "application/models/v2/Datefunc.php",
"line": 174,
"lineEnd": 179,
"reason": "PUT obtains a fully validated leader list before modifying assignments.",
"sha256": "66cb9ba28b2fba16b68a1f1d213c72010ba38750e8bdb34deb9d82bbdf630b1a"
},
{
"file": "application/models/v2/Datefunc.php",
"line": 239,
"lineEnd": 243,
"reason": "POST relation callback consumes the same validated list.",
"sha256": "66cb9ba28b2fba16b68a1f1d213c72010ba38750e8bdb34deb9d82bbdf630b1a"
},
{
"file": "application/models/v2/Datefunc.php",
"line": 266,
"lineEnd": 289,
"reason": "Strict list, typed admin decoding, positive IDs and deduplicated same-account user_info existence checks precede relation mutations.",
"sha256": "66cb9ba28b2fba16b68a1f1d213c72010ba38750e8bdb34deb9d82bbdf630b1a"
},
{
"file": "application/models/v2/Date.php",
"line": 131,
"reason": "Response maps joined leaders to an array of public administrator IDs.",
"sha256": "6c2cc9b158ba60e211d7da77a920adc45001382fdb859ff62c711562d493b264"
}
],
"description": "Assigns administrators as leaders of this date within the current account.\nThe relation hook applies assignments separately from the storage getter."
},
"color": {
"anyOf": [
{
"type": "string"
},
{
"const": false
}
],
"x-edoobox-contractSource": [
{
"file": "application/models/v2/Date.php",
"line": 153,
"lineStart": 153,
"lineEnd": 172,
"sha256": "6c2cc9b158ba60e211d7da77a920adc45001382fdb859ff62c711562d493b264",
"spanSha256": "2ec5847a45af791e05db717f2e4f5946198cf290fc3c441b95d55d54f6045814",
"reason": "Structure getter, output setter and field flags."
},
{
"file": "application/helpers/edooboxhelp_helper.php",
"line": 11560,
"lineStart": 11560,
"lineEnd": 11606,
"sha256": "090d351b5bde81813c7a829bedf2f1f9f978fce5765f246989779f996198934e",
"spanSha256": "2172cc49e4bcdb6840448b62929037cb9b90c299da3cb6fb0be6a8782881750f",
"reason": "aP text normalization and aQ output. Reviewed aP update preserves legacy encoded storage and aQ read semantics. Truncation removes a dangling final escape backslash rather than creating a broken SQL literal; it remains normalization, not a rejecting raw input maxLength."
},
{
"file": "application/models/v2/Date.php",
"line": 189,
"lineStart": 189,
"lineEnd": 202,
"sha256": "6c2cc9b158ba60e211d7da77a920adc45001382fdb859ff62c711562d493b264",
"spanSha256": "d6306bef7b4617f803aff2ac2de39df94f0233667a11ff2c4b269b9a46d47987",
"reason": "Actual resource dispatch and generic writer reachability; action branches are distinct."
},
{
"file": "application/models/v2/Date.php",
"line": 237,
"lineStart": 237,
"lineEnd": 244,
"sha256": "6c2cc9b158ba60e211d7da77a920adc45001382fdb859ff62c711562d493b264",
"spanSha256": "ccfc31e1b13732e53c6b5ff2f95400c7664e404c4bc10eb0645152b9e3f4bb47",
"reason": "Actual resource dispatch and generic writer reachability; action branches are distinct."
},
{
"file": "docs/openapi/reviews/domain-fields.json",
"line": 1,
"reason": "Independent field-level source review, direction applicability, examples and explicit runtime limitations.",
"sha256": "0da1cbbf108a5871b54204c3c76aaf59dabf85a6886bfb38210136885cfc1667"
}
]
},
"admin": {
"type": "string",
"pattern": "^admin_[a-f0-9]{12}_-?[0-9]+$",
"examples": [
"admin_012345abcdef_123456"
],
"description": "Öffentliche v2-ID im gewählten Konto; Beispiel ist synthetisch."
},
"user": {
"type": "string",
"pattern": "^user_[a-f0-9]{12}_-?[0-9]+$",
"examples": [
"user_012345abcdef_123456"
],
"description": "Öffentliche v2-ID im gewählten Konto; Beispiel ist synthetisch."
},
"booking": {
"type": "string",
"pattern": "^booking_[a-f0-9]{12}_-?[0-9]+$",
"examples": [
"booking_012345abcdef_123456"
],
"description": "Öffentliche v2-ID im gewählten Konto; Beispiel ist synthetisch."
},
"offerdata": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"number": {
"type": "string"
},
"user_maximum": {
"type": "integer"
}
},
"additionalProperties": true
},
"user_stats": {
"type": "object",
"properties": {
"count_users": {
"type": "integer"
},
"maximum_places": {
"type": "integer"
},
"free_places": {
"type": "integer"
}
},
"additionalProperties": true
},
"calendar_entries": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^booking_[a-f0-9]{12}_-?[0-9]+$",
"examples": [
"booking_012345abcdef_123456"
],
"description": "Öffentliche v2-ID im gewählten Konto; Beispiel ist synthetisch."
},
"booking": {
"type": "string",
"pattern": "^booking_[a-f0-9]{12}_-?[0-9]+$",
"examples": [
"booking_012345abcdef_123456"
],
"description": "Öffentliche v2-ID im gewählten Konto; Beispiel ist synthetisch."
},
"offer": {
"type": "string",
"pattern": "^offer_[a-f0-9]{12}_-?[0-9]+$",
"examples": [
"offer_012345abcdef_123456"
],
"description": "Öffentliche v2-ID im gewählten Konto; Beispiel ist synthetisch."
},
"booker_name": {
"type": "string"
},
"participant_count": {
"type": "integer"
},
"lesson_booking": {
"type": "boolean"
},
"questions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^questiongroup_[a-f0-9]{12}_-?[0-9]+$",
"examples": [
"questiongroup_012345abcdef_123456"
],
"description": "Öffentliche v2-ID im gewählten Konto; Beispiel ist synthetisch."
},
"key": {
"type": "string"
},
"offer": {
"anyOf": [
{
"type": "string",
"pattern": "^offer_[a-f0-9]{12}_-?[0-9]+$",
"examples": [
"offer_012345abcdef_123456"
],
"description": "Öffentliche v2-ID im gewählten Konto; Beispiel ist synthetisch."
},
{
"const": false
}
]
},
"title": {
"type": "string"
},
"value": {
"type": "string"
},
"response_type": {
"type": "string"
}
},
"additionalProperties": true,
"required": [
"id",
"key",
"offer",
"title",
"value",
"response_type"
]
}
}
},
"additionalProperties": true,
"required": [
"id",
"booking",
"offer",
"booker_name",
"participant_count",
"lesson_booking",
"questions"
]
}
}
},
"additionalProperties": true
}
}
],
"description": "ID-indizierte Sammlung; response_type=array liefert eine Liste. Leere Ergebnismengen können [] sein."
},
"type": {
"type": "string"
}
},
"additionalProperties": true
}Beispiel
{
"success": true,
"error": false,
"data": {
"date_012345abcdef_123456": {
"id": "date_012345abcdef_123456",
"description": "Einführung",
"offer": "offer_012345abcdef_123456",
"date_start": "2026-11-03T09:00:00+01:00",
"date_end": "2026-11-03T10:00:00+01:00",
"place": false,
"room": false,
"leader": [],
"color": false
}
},
"limit": {
"start": 0,
"reply": 100,
"total": 1
}
}400application/json
Invalid request.
application/json
Kein Schema angegeben. Daraus lässt sich kein vollständiger Feldvertrag ableiten.
Beispiel
{
"success": false,
"error": "ED40006"
}401application/json
Missing/expired token, missing account context, account paused or model-specific authorization failure.
application/json
Kein Schema angegeben. Daraus lässt sich kein vollständiger Feldvertrag ableiten.
Beispiel
{
"success": false,
"error": "ED40103"
}402application/json
Missing/invalid action data or subscription/operation restriction.
application/json
Kein Schema angegeben. Daraus lässt sich kein vollständiger Feldvertrag ableiten.
Beispiel
{
"success": false,
"error": "ED80100"
}403application/json
Permission denied. Browser CORS rejection may have an empty body.
application/json
Kein Schema angegeben. Daraus lässt sich kein vollständiger Feldvertrag ableiten.
Beispiel
{
"success": false,
"error": "ED40340"
}404application/json
Unknown resource/action or unsupported method.
application/json
Kein Schema angegeben. Daraus lässt sich kein vollständiger Feldvertrag ableiten.
Beispiel
{
"success": false,
"error": "ED80019"
}422application/json
Validation failed.
application/json
Kein Schema angegeben. Daraus lässt sich kein vollständiger Feldvertrag ableiten.
Beispiel
{
"success": false,
"error": "ED80020"
}429application/json
Request/login rate limit exceeded. Honor Retry-After when supplied; legacy rate-limit paths may omit it. Retry only proven reads within a bounded deadline; a mutation is never automatically replayed after an ambiguous response.
Response Header
Retry-After
Optional server delay in whole seconds or an HTTP date. Absence is not permission for an immediate retry.
Schema-Beispiel
"30"Vollständiges Schema als JSON
{
"type": "string",
"examples": [
"30"
]
}application/json
Kein Schema angegeben. Daraus lässt sich kein vollständiger Feldvertrag ableiten.
Beispiel
{
"success": false,
"error": "ED42902"
}502application/json
Server-side operation failed.
application/json
Kein Schema angegeben. Daraus lässt sich kein vollständiger Feldvertrag ableiten.
Beispiel
{
"success": false,
"error": "ED50201"
}Quelle & Metadaten
application/models/v2/Date.php:330getDate()Diese Angaben stammen unverändert aus der gelieferten OpenAPI-Datei. Zusätzliche Freigaben, Vorbedingungen, sensible Felder und Hinweise stehen in den Erweiterungen.
x-edoobox-mutates-state
falsex-edoobox-runtimeMutationGuard
falsex-edoobox-get-effect
"read"x-edoobox-documentationReview
{
"file": "docs/openapi/operation-contracts/03-offers-places.json",
"notes": []
}x-edoobox-source
{
"file": "application/models/v2/Date.php",
"method": "getDate",
"line": 330
}x-edoobox-documentationStatus
"reviewed"x-edoobox-readOnly
truex-edoobox-safeForAutomation
truex-edoobox-permission
{
"resource": "date",
"short": "date",
"checkedByDispatcher": true,
"levels": [
1,
3,
4
],
"description": "Resource permission mapping from APIPermissions(), Authfunc::_getCheckJWT. Additional model/admin/plugin checks may apply; resources absent from api_permission do not acquire a fictitious scope."
}Vollständige Operation als JSON
{
"operationId": "get_v2_date_list",
"summary": "Termine auflisten",
"description": "Liest Termine im gewählten Konto. filter, fields, order und limit steuern Auswahl, Felder, Sortierung und Seitengröße; response_type=array liefert eine Liste. Termine gelöschter bzw. im Papierkorb befindlicher Angebote werden ausgeschlossen. Zusätzliche Filter: admin und user. Bei einem user-Filter wird die verknüpfte booking-ID zusätzlich ausgegeben. fields unterstützt offerdata, user_stats und calendar_entries; calendar_entries benötigt Leserechte für booking und user und enthält buchungsbezogene Kalenderdaten.",
"tags": [
"date"
],
"security": [
{
"bearerAuth": [],
"accountContext": []
},
{
"sessionCookie": [],
"accountContext": []
}
],
"parameters": [
{
"name": "fields",
"in": "query",
"required": false,
"description": "Felder der Termine. offerdata ergänzt Angebotsname, Nummer und maximale Teilnehmerzahl; user_stats ergänzt Belegung. calendar_entries enthält buchungsbezogene Kalenderkarten und Antworten und benötigt Leserechte für booking und user.",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "string"
}
},
"example": [
"id",
"offer",
"date_start",
"date_end",
"offerdata",
"user_stats",
"calendar_entries"
]
}
}
},
{
"name": "filter",
"in": "query",
"required": false,
"description": "JSON-encoded filter value consumed by RequestAPIData / API_DATA; specific actions may ignore it.",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"property": {
"type": "string"
},
"expression": {
"type": "string"
},
"value": {}
},
"additionalProperties": true
},
"examples": [
[
{
"property": "id",
"expression": "=",
"value": "date_012345abcdef_123456"
}
]
]
},
"example": [
{
"property": "id",
"expression": "=",
"value": "date_012345abcdef_123456"
}
]
}
}
},
{
"name": "limit",
"in": "query",
"required": false,
"description": "JSON-encoded limit value consumed by RequestAPIData / API_DATA; specific actions may ignore it.",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"start": {
"type": "integer",
"minimum": 0,
"default": 0
},
"reply": {
"type": "integer",
"maximum": 2000,
"default": 100
}
},
"examples": [
{
"start": 0,
"reply": 25
}
]
},
"example": {
"start": 0,
"reply": 25
}
}
}
},
{
"name": "order",
"in": "query",
"required": false,
"description": "JSON-encoded order value consumed by RequestAPIData / API_DATA; specific actions may ignore it.",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"property": {
"type": "string"
},
"value": {
"type": "string",
"enum": [
"ASC",
"DESC"
]
}
},
"additionalProperties": true
},
"examples": [
[
{
"property": "id",
"value": "ASC"
}
]
]
},
"example": [
{
"property": "id",
"value": "ASC"
}
]
}
}
},
{
"name": "response_type",
"in": "query",
"required": false,
"schema": {
"type": "string",
"enum": [
"array",
"object"
],
"examples": [
"array"
]
},
"description": "Controls generic collection representation; default is an ID-keyed object."
},
{
"name": "language",
"in": "header",
"required": false,
"description": "Account language code, where the resource supports setLanguage().",
"schema": {
"type": "string",
"examples": [
"de"
]
}
}
],
"responses": {
"200": {
"description": "Response; inspect error and success as legacy failures may also use HTTP 200.",
"content": {
"application/json": {
"example": {
"success": true,
"error": false,
"data": {
"date_012345abcdef_123456": {
"id": "date_012345abcdef_123456",
"description": "Einführung",
"offer": "offer_012345abcdef_123456",
"date_start": "2026-11-03T09:00:00+01:00",
"date_end": "2026-11-03T10:00:00+01:00",
"place": false,
"room": false,
"leader": [],
"color": false
}
},
"limit": {
"start": 0,
"reply": 100,
"total": 1
}
},
"schema": {
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"error": {
"type": [
"boolean",
"string"
]
},
"error_code": {
"type": "string"
},
"data": {
"anyOf": [
{
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[a-z0-9]+_[a-f0-9]{12}_-?[0-9]+$",
"description": "Opaque edoobox v2 object ID returned by this account. Never send a raw database ID. The synthetic example is illustrative and is not a real record.",
"examples": [
"date_012345abcdef_123456"
]
},
"description": {
"description": "Response field from the resource Structure; dynamic values remain unconstrained.",
"x-edoobox-sourceLine": 40,
"type": "string"
},
"date_start": {
"description": "Response field from the resource Structure; dynamic values remain unconstrained.",
"x-edoobox-sourceLine": 49,
"anyOf": [
{
"type": "string"
},
{
"const": false
}
]
},
"date_end": {
"description": "Response field from the resource Structure; dynamic values remain unconstrained.",
"x-edoobox-sourceLine": 62,
"anyOf": [
{
"type": "string"
},
{
"const": false
}
]
},
"place": {
"anyOf": [
{
"type": "string",
"pattern": "^[a-z0-9]+_[a-f0-9]{12}_-?[0-9]+$",
"description": "Opaque v2 ID returned for a record in the selected account."
},
{
"const": false
}
],
"x-edoobox-contractSource": [
{
"file": "application/models/v2/Date.php",
"line": 77,
"reason": "Falsey write input becomes zero; otherwise the public relation ID is decoded.",
"sha256": "6c2cc9b158ba60e211d7da77a920adc45001382fdb859ff62c711562d493b264"
},
{
"file": "application/models/v2/Date.php",
"line": 84,
"reason": "Response is a public relation ID or false.",
"sha256": "6c2cc9b158ba60e211d7da77a920adc45001382fdb859ff62c711562d493b264"
}
]
},
"room": {
"anyOf": [
{
"type": "string",
"pattern": "^[a-z0-9]+_[a-f0-9]{12}_-?[0-9]+$",
"description": "Opaque v2 ID returned for a record in the selected account."
},
{
"const": false
}
],
"x-edoobox-contractSource": [
{
"file": "application/models/v2/Date.php",
"line": 90,
"reason": "Falsey write input becomes zero; otherwise the public relation ID is decoded.",
"sha256": "6c2cc9b158ba60e211d7da77a920adc45001382fdb859ff62c711562d493b264"
},
{
"file": "application/models/v2/Date.php",
"line": 97,
"reason": "Response is a public relation ID or false.",
"sha256": "6c2cc9b158ba60e211d7da77a920adc45001382fdb859ff62c711562d493b264"
}
]
},
"offer": {
"description": "Response field from the resource Structure; dynamic values remain unconstrained.",
"x-edoobox-sourceLine": 101,
"anyOf": [
{
"type": "string",
"pattern": "^[a-z0-9]+_[a-f0-9]{12}_-?[0-9]+$",
"description": "Opaque edoobox v2 object ID returned by this account. Never send a raw database ID. The synthetic example is illustrative and is not a real record.",
"examples": [
"offer_012345abcdef_123456"
]
},
{
"const": false
},
{
"type": "null"
}
]
},
"leader": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-z0-9]+_[a-f0-9]{12}_-?[0-9]+$",
"description": "Opaque v2 ID returned for a record in the selected account."
},
"x-edoobox-contractSource": [
{
"file": "application/models/v2/Datefunc.php",
"line": 174,
"lineEnd": 179,
"reason": "PUT obtains a fully validated leader list before modifying assignments.",
"sha256": "66cb9ba28b2fba16b68a1f1d213c72010ba38750e8bdb34deb9d82bbdf630b1a"
},
{
"file": "application/models/v2/Datefunc.php",
"line": 239,
"lineEnd": 243,
"reason": "POST relation callback consumes the same validated list.",
"sha256": "66cb9ba28b2fba16b68a1f1d213c72010ba38750e8bdb34deb9d82bbdf630b1a"
},
{
"file": "application/models/v2/Datefunc.php",
"line": 266,
"lineEnd": 289,
"reason": "Strict list, typed admin decoding, positive IDs and deduplicated same-account user_info existence checks precede relation mutations.",
"sha256": "66cb9ba28b2fba16b68a1f1d213c72010ba38750e8bdb34deb9d82bbdf630b1a"
},
{
"file": "application/models/v2/Date.php",
"line": 131,
"reason": "Response maps joined leaders to an array of public administrator IDs.",
"sha256": "6c2cc9b158ba60e211d7da77a920adc45001382fdb859ff62c711562d493b264"
}
],
"description": "Assigns administrators as leaders of this date within the current account.\nThe relation hook applies assignments separately from the storage getter."
},
"color": {
"anyOf": [
{
"type": "string"
},
{
"const": false
}
],
"x-edoobox-contractSource": [
{
"file": "application/models/v2/Date.php",
"line": 153,
"lineStart": 153,
"lineEnd": 172,
"sha256": "6c2cc9b158ba60e211d7da77a920adc45001382fdb859ff62c711562d493b264",
"spanSha256": "2ec5847a45af791e05db717f2e4f5946198cf290fc3c441b95d55d54f6045814",
"reason": "Structure getter, output setter and field flags."
},
{
"file": "application/helpers/edooboxhelp_helper.php",
"line": 11560,
"lineStart": 11560,
"lineEnd": 11606,
"sha256": "090d351b5bde81813c7a829bedf2f1f9f978fce5765f246989779f996198934e",
"spanSha256": "2172cc49e4bcdb6840448b62929037cb9b90c299da3cb6fb0be6a8782881750f",
"reason": "aP text normalization and aQ output. Reviewed aP update preserves legacy encoded storage and aQ read semantics. Truncation removes a dangling final escape backslash rather than creating a broken SQL literal; it remains normalization, not a rejecting raw input maxLength."
},
{
"file": "application/models/v2/Date.php",
"line": 189,
"lineStart": 189,
"lineEnd": 202,
"sha256": "6c2cc9b158ba60e211d7da77a920adc45001382fdb859ff62c711562d493b264",
"spanSha256": "d6306bef7b4617f803aff2ac2de39df94f0233667a11ff2c4b269b9a46d47987",
"reason": "Actual resource dispatch and generic writer reachability; action branches are distinct."
},
{
"file": "application/models/v2/Date.php",
"line": 237,
"lineStart": 237,
"lineEnd": 244,
"sha256": "6c2cc9b158ba60e211d7da77a920adc45001382fdb859ff62c711562d493b264",
"spanSha256": "ccfc31e1b13732e53c6b5ff2f95400c7664e404c4bc10eb0645152b9e3f4bb47",
"reason": "Actual resource dispatch and generic writer reachability; action branches are distinct."
},
{
"file": "docs/openapi/reviews/domain-fields.json",
"line": 1,
"reason": "Independent field-level source review, direction applicability, examples and explicit runtime limitations.",
"sha256": "0da1cbbf108a5871b54204c3c76aaf59dabf85a6886bfb38210136885cfc1667"
}
]
},
"admin": {
"type": "string",
"pattern": "^admin_[a-f0-9]{12}_-?[0-9]+$",
"examples": [
"admin_012345abcdef_123456"
],
"description": "Öffentliche v2-ID im gewählten Konto; Beispiel ist synthetisch."
},
"user": {
"type": "string",
"pattern": "^user_[a-f0-9]{12}_-?[0-9]+$",
"examples": [
"user_012345abcdef_123456"
],
"description": "Öffentliche v2-ID im gewählten Konto; Beispiel ist synthetisch."
},
"booking": {
"type": "string",
"pattern": "^booking_[a-f0-9]{12}_-?[0-9]+$",
"examples": [
"booking_012345abcdef_123456"
],
"description": "Öffentliche v2-ID im gewählten Konto; Beispiel ist synthetisch."
},
"offerdata": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"number": {
"type": "string"
},
"user_maximum": {
"type": "integer"
}
},
"additionalProperties": true
},
"user_stats": {
"type": "object",
"properties": {
"count_users": {
"type": "integer"
},
"maximum_places": {
"type": "integer"
},
"free_places": {
"type": "integer"
}
},
"additionalProperties": true
},
"calendar_entries": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^booking_[a-f0-9]{12}_-?[0-9]+$",
"examples": [
"booking_012345abcdef_123456"
],
"description": "Öffentliche v2-ID im gewählten Konto; Beispiel ist synthetisch."
},
"booking": {
"type": "string",
"pattern": "^booking_[a-f0-9]{12}_-?[0-9]+$",
"examples": [
"booking_012345abcdef_123456"
],
"description": "Öffentliche v2-ID im gewählten Konto; Beispiel ist synthetisch."
},
"offer": {
"type": "string",
"pattern": "^offer_[a-f0-9]{12}_-?[0-9]+$",
"examples": [
"offer_012345abcdef_123456"
],
"description": "Öffentliche v2-ID im gewählten Konto; Beispiel ist synthetisch."
},
"booker_name": {
"type": "string"
},
"participant_count": {
"type": "integer"
},
"lesson_booking": {
"type": "boolean"
},
"questions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^questiongroup_[a-f0-9]{12}_-?[0-9]+$",
"examples": [
"questiongroup_012345abcdef_123456"
],
"description": "Öffentliche v2-ID im gewählten Konto; Beispiel ist synthetisch."
},
"key": {
"type": "string"
},
"offer": {
"anyOf": [
{
"type": "string",
"pattern": "^offer_[a-f0-9]{12}_-?[0-9]+$",
"examples": [
"offer_012345abcdef_123456"
],
"description": "Öffentliche v2-ID im gewählten Konto; Beispiel ist synthetisch."
},
{
"const": false
}
]
},
"title": {
"type": "string"
},
"value": {
"type": "string"
},
"response_type": {
"type": "string"
}
},
"additionalProperties": true,
"required": [
"id",
"key",
"offer",
"title",
"value",
"response_type"
]
}
}
},
"additionalProperties": true,
"required": [
"id",
"booking",
"offer",
"booker_name",
"participant_count",
"lesson_booking",
"questions"
]
}
}
},
"additionalProperties": true
}
},
{
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[a-z0-9]+_[a-f0-9]{12}_-?[0-9]+$",
"description": "Opaque edoobox v2 object ID returned by this account. Never send a raw database ID. The synthetic example is illustrative and is not a real record.",
"examples": [
"date_012345abcdef_123456"
]
},
"description": {
"description": "Response field from the resource Structure; dynamic values remain unconstrained.",
"x-edoobox-sourceLine": 40,
"type": "string"
},
"date_start": {
"description": "Response field from the resource Structure; dynamic values remain unconstrained.",
"x-edoobox-sourceLine": 49,
"anyOf": [
{
"type": "string"
},
{
"const": false
}
]
},
"date_end": {
"description": "Response field from the resource Structure; dynamic values remain unconstrained.",
"x-edoobox-sourceLine": 62,
"anyOf": [
{
"type": "string"
},
{
"const": false
}
]
},
"place": {
"anyOf": [
{
"type": "string",
"pattern": "^[a-z0-9]+_[a-f0-9]{12}_-?[0-9]+$",
"description": "Opaque v2 ID returned for a record in the selected account."
},
{
"const": false
}
],
"x-edoobox-contractSource": [
{
"file": "application/models/v2/Date.php",
"line": 77,
"reason": "Falsey write input becomes zero; otherwise the public relation ID is decoded.",
"sha256": "6c2cc9b158ba60e211d7da77a920adc45001382fdb859ff62c711562d493b264"
},
{
"file": "application/models/v2/Date.php",
"line": 84,
"reason": "Response is a public relation ID or false.",
"sha256": "6c2cc9b158ba60e211d7da77a920adc45001382fdb859ff62c711562d493b264"
}
]
},
"room": {
"anyOf": [
{
"type": "string",
"pattern": "^[a-z0-9]+_[a-f0-9]{12}_-?[0-9]+$",
"description": "Opaque v2 ID returned for a record in the selected account."
},
{
"const": false
}
],
"x-edoobox-contractSource": [
{
"file": "application/models/v2/Date.php",
"line": 90,
"reason": "Falsey write input becomes zero; otherwise the public relation ID is decoded.",
"sha256": "6c2cc9b158ba60e211d7da77a920adc45001382fdb859ff62c711562d493b264"
},
{
"file": "application/models/v2/Date.php",
"line": 97,
"reason": "Response is a public relation ID or false.",
"sha256": "6c2cc9b158ba60e211d7da77a920adc45001382fdb859ff62c711562d493b264"
}
]
},
"offer": {
"description": "Response field from the resource Structure; dynamic values remain unconstrained.",
"x-edoobox-sourceLine": 101,
"anyOf": [
{
"type": "string",
"pattern": "^[a-z0-9]+_[a-f0-9]{12}_-?[0-9]+$",
"description": "Opaque edoobox v2 object ID returned by this account. Never send a raw database ID. The synthetic example is illustrative and is not a real record.",
"examples": [
"offer_012345abcdef_123456"
]
},
{
"const": false
},
{
"type": "null"
}
]
},
"leader": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-z0-9]+_[a-f0-9]{12}_-?[0-9]+$",
"description": "Opaque v2 ID returned for a record in the selected account."
},
"x-edoobox-contractSource": [
{
"file": "application/models/v2/Datefunc.php",
"line": 174,
"lineEnd": 179,
"reason": "PUT obtains a fully validated leader list before modifying assignments.",
"sha256": "66cb9ba28b2fba16b68a1f1d213c72010ba38750e8bdb34deb9d82bbdf630b1a"
},
{
"file": "application/models/v2/Datefunc.php",
"line": 239,
"lineEnd": 243,
"reason": "POST relation callback consumes the same validated list.",
"sha256": "66cb9ba28b2fba16b68a1f1d213c72010ba38750e8bdb34deb9d82bbdf630b1a"
},
{
"file": "application/models/v2/Datefunc.php",
"line": 266,
"lineEnd": 289,
"reason": "Strict list, typed admin decoding, positive IDs and deduplicated same-account user_info existence checks precede relation mutations.",
"sha256": "66cb9ba28b2fba16b68a1f1d213c72010ba38750e8bdb34deb9d82bbdf630b1a"
},
{
"file": "application/models/v2/Date.php",
"line": 131,
"reason": "Response maps joined leaders to an array of public administrator IDs.",
"sha256": "6c2cc9b158ba60e211d7da77a920adc45001382fdb859ff62c711562d493b264"
}
],
"description": "Assigns administrators as leaders of this date within the current account.\nThe relation hook applies assignments separately from the storage getter."
},
"color": {
"anyOf": [
{
"type": "string"
},
{
"const": false
}
],
"x-edoobox-contractSource": [
{
"file": "application/models/v2/Date.php",
"line": 153,
"lineStart": 153,
"lineEnd": 172,
"sha256": "6c2cc9b158ba60e211d7da77a920adc45001382fdb859ff62c711562d493b264",
"spanSha256": "2ec5847a45af791e05db717f2e4f5946198cf290fc3c441b95d55d54f6045814",
"reason": "Structure getter, output setter and field flags."
},
{
"file": "application/helpers/edooboxhelp_helper.php",
"line": 11560,
"lineStart": 11560,
"lineEnd": 11606,
"sha256": "090d351b5bde81813c7a829bedf2f1f9f978fce5765f246989779f996198934e",
"spanSha256": "2172cc49e4bcdb6840448b62929037cb9b90c299da3cb6fb0be6a8782881750f",
"reason": "aP text normalization and aQ output. Reviewed aP update preserves legacy encoded storage and aQ read semantics. Truncation removes a dangling final escape backslash rather than creating a broken SQL literal; it remains normalization, not a rejecting raw input maxLength."
},
{
"file": "application/models/v2/Date.php",
"line": 189,
"lineStart": 189,
"lineEnd": 202,
"sha256": "6c2cc9b158ba60e211d7da77a920adc45001382fdb859ff62c711562d493b264",
"spanSha256": "d6306bef7b4617f803aff2ac2de39df94f0233667a11ff2c4b269b9a46d47987",
"reason": "Actual resource dispatch and generic writer reachability; action branches are distinct."
},
{
"file": "application/models/v2/Date.php",
"line": 237,
"lineStart": 237,
"lineEnd": 244,
"sha256": "6c2cc9b158ba60e211d7da77a920adc45001382fdb859ff62c711562d493b264",
"spanSha256": "ccfc31e1b13732e53c6b5ff2f95400c7664e404c4bc10eb0645152b9e3f4bb47",
"reason": "Actual resource dispatch and generic writer reachability; action branches are distinct."
},
{
"file": "docs/openapi/reviews/domain-fields.json",
"line": 1,
"reason": "Independent field-level source review, direction applicability, examples and explicit runtime limitations.",
"sha256": "0da1cbbf108a5871b54204c3c76aaf59dabf85a6886bfb38210136885cfc1667"
}
]
},
"admin": {
"type": "string",
"pattern": "^admin_[a-f0-9]{12}_-?[0-9]+$",
"examples": [
"admin_012345abcdef_123456"
],
"description": "Öffentliche v2-ID im gewählten Konto; Beispiel ist synthetisch."
},
"user": {
"type": "string",
"pattern": "^user_[a-f0-9]{12}_-?[0-9]+$",
"examples": [
"user_012345abcdef_123456"
],
"description": "Öffentliche v2-ID im gewählten Konto; Beispiel ist synthetisch."
},
"booking": {
"type": "string",
"pattern": "^booking_[a-f0-9]{12}_-?[0-9]+$",
"examples": [
"booking_012345abcdef_123456"
],
"description": "Öffentliche v2-ID im gewählten Konto; Beispiel ist synthetisch."
},
"offerdata": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"number": {
"type": "string"
},
"user_maximum": {
"type": "integer"
}
},
"additionalProperties": true
},
"user_stats": {
"type": "object",
"properties": {
"count_users": {
"type": "integer"
},
"maximum_places": {
"type": "integer"
},
"free_places": {
"type": "integer"
}
},
"additionalProperties": true
},
"calendar_entries": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^booking_[a-f0-9]{12}_-?[0-9]+$",
"examples": [
"booking_012345abcdef_123456"
],
"description": "Öffentliche v2-ID im gewählten Konto; Beispiel ist synthetisch."
},
"booking": {
"type": "string",
"pattern": "^booking_[a-f0-9]{12}_-?[0-9]+$",
"examples": [
"booking_012345abcdef_123456"
],
"description": "Öffentliche v2-ID im gewählten Konto; Beispiel ist synthetisch."
},
"offer": {
"type": "string",
"pattern": "^offer_[a-f0-9]{12}_-?[0-9]+$",
"examples": [
"offer_012345abcdef_123456"
],
"description": "Öffentliche v2-ID im gewählten Konto; Beispiel ist synthetisch."
},
"booker_name": {
"type": "string"
},
"participant_count": {
"type": "integer"
},
"lesson_booking": {
"type": "boolean"
},
"questions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^questiongroup_[a-f0-9]{12}_-?[0-9]+$",
"examples": [
"questiongroup_012345abcdef_123456"
],
"description": "Öffentliche v2-ID im gewählten Konto; Beispiel ist synthetisch."
},
"key": {
"type": "string"
},
"offer": {
"anyOf": [
{
"type": "string",
"pattern": "^offer_[a-f0-9]{12}_-?[0-9]+$",
"examples": [
"offer_012345abcdef_123456"
],
"description": "Öffentliche v2-ID im gewählten Konto; Beispiel ist synthetisch."
},
{
"const": false
}
]
},
"title": {
"type": "string"
},
"value": {
"type": "string"
},
"response_type": {
"type": "string"
}
},
"additionalProperties": true,
"required": [
"id",
"key",
"offer",
"title",
"value",
"response_type"
]
}
}
},
"additionalProperties": true,
"required": [
"id",
"booking",
"offer",
"booker_name",
"participant_count",
"lesson_booking",
"questions"
]
}
}
},
"additionalProperties": true
}
}
],
"description": "ID-indizierte Sammlung; response_type=array liefert eine Liste. Leere Ergebnismengen können [] sein."
},
"type": {
"type": "string"
}
},
"additionalProperties": true
}
}
}
},
"400": {
"description": "Invalid request.",
"content": {
"application/json": {
"example": {
"success": false,
"error": "ED40006"
}
}
}
},
"401": {
"description": "Missing/expired token, missing account context, account paused or model-specific authorization failure.",
"content": {
"application/json": {
"example": {
"success": false,
"error": "ED40103"
}
}
}
},
"402": {
"description": "Missing/invalid action data or subscription/operation restriction.",
"content": {
"application/json": {
"example": {
"success": false,
"error": "ED80100"
}
}
}
},
"403": {
"description": "Permission denied. Browser CORS rejection may have an empty body.",
"content": {
"application/json": {
"example": {
"success": false,
"error": "ED40340"
}
}
}
},
"404": {
"description": "Unknown resource/action or unsupported method.",
"content": {
"application/json": {
"example": {
"success": false,
"error": "ED80019"
}
}
}
},
"422": {
"description": "Validation failed.",
"content": {
"application/json": {
"example": {
"success": false,
"error": "ED80020"
}
}
}
},
"429": {
"description": "Request/login rate limit exceeded. Honor Retry-After when supplied; legacy rate-limit paths may omit it. Retry only proven reads within a bounded deadline; a mutation is never automatically replayed after an ambiguous response.",
"content": {
"application/json": {
"example": {
"success": false,
"error": "ED42902"
}
}
},
"headers": {
"Retry-After": {
"description": "Optional server delay in whole seconds or an HTTP date. Absence is not permission for an immediate retry.",
"schema": {
"type": "string",
"examples": [
"30"
]
}
}
}
},
"502": {
"description": "Server-side operation failed.",
"content": {
"application/json": {
"example": {
"success": false,
"error": "ED50201"
}
}
}
}
},
"x-edoobox-mutates-state": false,
"x-edoobox-runtimeMutationGuard": false,
"x-edoobox-get-effect": "read",
"x-edoobox-documentationReview": {
"file": "docs/openapi/operation-contracts/03-offers-places.json",
"notes": []
},
"x-edoobox-source": {
"file": "application/models/v2/Date.php",
"method": "getDate",
"line": 330
},
"x-edoobox-documentationStatus": "reviewed",
"x-edoobox-readOnly": true,
"x-edoobox-safeForAutomation": true,
"x-edoobox-permission": {
"resource": "date",
"short": "date",
"checkedByDispatcher": true,
"levels": [
1,
3,
4
],
"description": "Resource permission mapping from APIPermissions(), Authfunc::_getCheckJWT. Additional model/admin/plugin checks may apply; resources absent from api_permission do not acquire a fictitious scope."
}
}