Zum Inhalt
edoobox Docs
Kostenlos testen 7 Tage unverbindlich testen
Menü
Kostenlos testen 7 Tage unverbindlich testen
OpenAPI herunterladen
settingsAPI-Referenz
GET/v2/settings

Account-Einstellungen abrufen

Liest die zentralen Einstellungen des ausgewählten Accounts sowie Sprachen, Archiv-/Papierkorb-IDs, Währungen, Abonnement- und Versionsinformationen. Die Antwort reduziert die generische Auswahl auf das erste gefundene Einstellungsobjekt und ergänzt Account-Metadaten. Bei Bedarf werden Versions-Caches für Admin-Konfigurationsvorlagen und Mehrwertsteuer befüllt. Keine Zugangsdaten aus der Antwort veröffentlichen.

Operation-ID get_v2_settings

01

Vertrag & Verhalten

Dokumentationsstand
reviewed
Ändert Zustand
Ja
Als readOnly markiert
Nein
Für Automation markiert
Nein

Dieser GET-Aufruf kann Zustand verändern. Die HTTP-Methode allein kennzeichnet hier keinen reinen Lesezugriff.

GET-Verhalten laut Spezifikation

maintenance

02

Authentifizierung

Eine der folgenden Alternativen muss erfüllt sein (ODER). Innerhalb jeder Alternative werden alle angegebenen Schemas gemeinsam benötigt (UND).

Alternative 1

bearerAuthhttp · bearer

Existing 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."
}
accountContextapiKey

Selected 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

sessionCookieapiKey

Existing 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."
}
accountContextapiKey

Selected 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."
}

Berechtigungen

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.

03

Parameter

Query-Parameter

fieldsoptional

JSON-encoded fields value consumed by RequestAPIData / API_DATA; specific actions may ignore it.

application/json

array
Schema-Beispiel
[
  "id"
]
Array-Elemente
string
Vollständiges Schema als JSON
{
  "type": "array",
  "items": {
    "type": "string"
  },
  "examples": [
    [
      "id"
    ]
  ]
}
Beispiel
[
  "id"
]
filteroptional

JSON-encoded filter value consumed by RequestAPIData / API_DATA; specific actions may ignore it.

application/json

array
Schema-Beispiel
[
  {
    "property": "id",
    "expression": "=",
    "value": "settings_012345abcdef_123456"
  }
]
Array-Elemente
object
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": "settings_012345abcdef_123456"
      }
    ]
  ]
}
Beispiel
[
  {
    "property": "id",
    "expression": "=",
    "value": "settings_012345abcdef_123456"
  }
]
limitoptional

JSON-encoded limit value consumed by RequestAPIData / API_DATA; specific actions may ignore it.

application/json

object
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
}
orderoptional

JSON-encoded order value consumed by RequestAPIData / API_DATA; specific actions may ignore it.

application/json

array
Schema-Beispiel
[
  {
    "property": "id",
    "value": "ASC"
  }
]
Array-Elemente
object
property string
value string
Erlaubte Werte
"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_typeoptional

Controls generic collection representation; default is an ID-keyed object.

string
Erlaubte Werte
"array""object"
Schema-Beispiel
"array"
Vollständiges Schema als JSON
{
  "type": "string",
  "enum": [
    "array",
    "object"
  ],
  "examples": [
    "array"
  ]
}

Header

languageoptional

Account language code, where the resource supports setLanguage().

string
Schema-Beispiel
"de"
Vollständiges Schema als JSON
{
  "type": "string",
  "examples": [
    "de"
  ]
}
04

Request Body

Kein Request Body in der Spezifikation beschrieben.

05

Antworten

9

HTTP-Status und Antwortinhalt gemeinsam auswerten. In dieser API können auch Antworten mit HTTP 200 einen Fehler enthalten.

200application/json

Ein einzelnes Einstellungsobjekt mit zusätzlichen Account-Metadaten, auch bei /list.

application/json

object
success boolean
error boolean | string
error_code string
data Typ nicht eingeschränkt

Einzelnes Account-Einstellungsobjekt; auch die Listenroute reduziert auf das erste gefundene Objekt.

anyOf · Mindestens eine Variante muss passen
Variante 1 object
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
"settings_012345abcdef_123456"
firstweekday integer

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 44
}
format_date integer

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 53
}
format_time integer

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 62
}
format_calendar_grid integer

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 71
}
format_timezone string
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settingsfunc.php",
      "line": 5,
      "reason": "PUT consumes a zone-name string instead of the integer get placeholder.",
      "sha256": "7a289d246c7c6b70fd88c739a308a883f0f983913cc06f6e04b160792aef3c4f"
    },
    {
      "file": "application/models/v2/Settings.php",
      "line": 85,
      "reason": "Response returns the account timezone zone_name.",
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1"
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
    }
  ]
}
congress_module boolean

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 102
}
format_number integer

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 112
}
design 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
"design_012345abcdef_123456"
Variante 2 Typ nicht eingeschränkt

Fester Wert: false

Variante 3 null
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 121
}
root_category 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
"rootcategory_012345abcdef_123456"
Variante 2 Typ nicht eingeschränkt

Fester Wert: false

Variante 3 null
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 130
}
shortcut string

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 140
}
organization_name string

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 150
}
organization_contactperson string

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 159
}
organization_street string

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 168
}
organization_postcode string

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 177
}
organization_town string

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 186
}
organization_country 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
"organizationcountry_012345abcdef_123456"
Variante 2 Typ nicht eingeschränkt

Fester Wert: false

Variante 3 null
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 195
}
organization_language string | null
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settings.php",
      "line": 205,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Structure input getter, response setter and update flags."
    },
    {
      "file": "application/helpers/langedoobox_helper.php",
      "line": 731,
      "sha256": "6454b27d47a74f3cf236ef8e258fbe821228c1607165d00433a309b2e9127d3c",
      "reason": "edLangIDByName returns configured entry, with fallback for unknown names."
    },
    {
      "file": "application/helpers/langedoobox_helper.php",
      "line": 566,
      "sha256": "6454b27d47a74f3cf236ef8e258fbe821228c1607165d00433a309b2e9127d3c",
      "reason": "edLangById converts internal entries back to public language keys."
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
    }
  ]
}
organization_phone string

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 214
}
organization_url string
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settings.php",
      "line": 223,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Structure input getter, response setter and update flags."
    },
    {
      "file": "application/helpers/edooboxhelp_helper.php",
      "line": 11560,
      "sha256": "090d351b5bde81813c7a829bedf2f1f9f978fce5765f246989779f996198934e",
      "reason": "aP text storage normalization."
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
    }
  ]
}
organization_email string
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settingsfunc.php",
      "line": 57,
      "reason": "PUT callback validates the trimmed email syntax, checks raw and encoded lengths, and requires an exact aP/aQ identity before returning storage. False is rejected by generic update as ED90100 before a write.",
      "sha256": "7a289d246c7c6b70fd88c739a308a883f0f983913cc06f6e04b160792aef3c4f",
      "lineEnd": 75
    },
    {
      "file": "application/models/v2/Settings.php",
      "line": 237,
      "reason": "Incoming model getter is bounded to200 characters; generic PUT uses the dedicated validation hook; response unescapes stored text.",
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "lineEnd": 246
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
    }
  ]
}
organization_currency string

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 247
}
billingaddress_organization string

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 257
}
billingaddress_user string

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 266
}
billingaddress_street string

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 275
}
billingaddress_postcode_town string

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 284
}
billingaddress_phone string
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settings.php",
      "line": 293,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Structure input getter, response setter and update flags."
    },
    {
      "file": "application/helpers/edooboxhelp_helper.php",
      "line": 11560,
      "sha256": "090d351b5bde81813c7a829bedf2f1f9f978fce5765f246989779f996198934e",
      "reason": "Actual aP string-only/truncating storage normalization."
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
    }
  ]
}
billingaddress_email string

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 303
}
billingaddress_status boolean

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 312
}
user_duplicate_config object
version Typ nicht eingeschränkt erforderlich

Fester Wert: 2

enabled boolean erforderlich
candidate_threshold integer erforderlich
minimum
0
maximum
100
auto_merge_threshold integer | null erforderlich
minimum
1
maximum
100
survivor_strategy Typ nicht eingeschränkt erforderlich
Erlaubte Werte
"newest""oldest"
max_merge_users integer erforderlich
minimum
2
maximum
10
rules array erforderlich
Array-Elemente
object
field Typ nicht eingeschränkt erforderlich
Erlaubte Werte
"gender""first_name""last_name""street""postcode""location""country""language""phone_number""email""company""data_1""data_2""data_3""data_4""data_5""data_6""data_7""data_8""data_9""data_10""data_11""data_12""data_13""data_14""data_15""data_16""data_17""data_18""data_19""data_20""data_21""data_22""data_23""data_24""data_25""data_26""data_27""data_28""data_29""data_30"
enabled boolean erforderlich
required boolean erforderlich
weight integer erforderlich
minimum
1
maximum
10

Zusätzliche Felder sind in diesem Teilschema ausgeschlossen.

rules_hash string erforderlich
pattern
"^[a-f0-9]{64}$"
matching_rules_hash string erforderlich
pattern
"^[a-f0-9]{64}$"

Zusätzliche, hier nicht aufgeführte Felder sind erlaubt.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settings.php",
      "line": 321,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Structure input getter, response setter and update flags."
    },
    {
      "file": "application/models/v2/Userduplicatefunc.php",
      "line": 28,
      "sha256": "10da9ce285a01836c403fec784c04775e7713b8f0c61d49c21de38cf3f8ea157",
      "reason": "Actual normalizeConfigForSave preserves unchanged rule hashes and normalizes current state."
    },
    {
      "file": "application/models/v2/Userduplicatefunc.php",
      "line": 40,
      "sha256": "10da9ce285a01836c403fec784c04775e7713b8f0c61d49c21de38cf3f8ea157",
      "reason": "Full known config defaults, coercion, clamping, hash/version semantics."
    },
    {
      "file": "application/models/v2/Userduplicatefunc.php",
      "line": 648,
      "sha256": "10da9ce285a01836c403fec784c04775e7713b8f0c61d49c21de38cf3f8ea157",
      "reason": "Rule filtering, uniqueness and weight normalization."
    },
    {
      "file": "application/models/v2/Userduplicatefunc.php",
      "line": 968,
      "sha256": "10da9ce285a01836c403fec784c04775e7713b8f0c61d49c21de38cf3f8ea157",
      "reason": "Allowed public data-field selectors for duplicate matching."
    },
    {
      "file": "application/models/v2/Userduplicatefunc.php",
      "line": 488,
      "sha256": "10da9ce285a01836c403fec784c04775e7713b8f0c61d49c21de38cf3f8ea157",
      "reason": "Changed matching rules invalidate derived duplicate data, not only the stored JSON."
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
    }
  ]
}
admin_avatar_mode Typ nicht eingeschränkt
Erlaubte Werte
"face""symbol"
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settings.php",
      "line": 344,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Structure input getter, response setter and update flags."
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
    }
  ]
}
account_billing_recipient_type Typ nicht eingeschränkt
Erlaubte Werte
"organization""billing_address""admin"
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settings.php",
      "line": 363,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Structure input getter, response setter and update flags."
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
    }
  ]
}
account_billing_recipient_email string

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 390
}
account_billing_recipient_admin_id Typ nicht eingeschränkt

Billing administrator as a public admin v2 ID; false when unset. Internal database primary keys are never serialized.

anyOf · Mindestens eine Variante muss passen
Variante 1 string

Canonical public admin v2 ID issued in this account; server validates the account-bound checksum and rejects raw IDs.

pattern
"^admin_[a-f0-9]{12}_(?:-35|[1-9][0-9]*)$"
Schema-Beispiel
"admin_012345abcdef_123456"
Variante 2 Typ nicht eingeschränkt

Fester Wert: false

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-id-kind": "empty-relation"
}
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settings.php",
      "line": 421,
      "reason": "The corrected inbound getter accepts a canonical tenant-bound admin v2 reference and normalizes explicit clear sentinels; positive raw primary keys are rejected.",
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1"
    },
    {
      "file": "application/models/v2/Settings.php",
      "line": 437,
      "reason": "The outbound setter encodes a positive database admin key as a public v2 ID and emits false for zero.",
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1"
    },
    {
      "file": "application/models/v2/API_DATA.php",
      "line": 1853,
      "reason": "Join updates call the field getter before persisting; response serialization calls the field setter at line1068. Final joined writer rejects strict-false getters and unresolved/multi-join metadata before writes, anchors the joined row to the own parent (including account-key parents), and preserves constant join.where constraints as additional AND predicates. Join-only writes verify the own existing parent. Generic simple-owner hard/soft DELETE now verifies the own existing parent before hooks and repeats FID in DML; missing optional hook data no longer warns. Read, insert, signed authority and GET-effect classifications are unchanged.",
      "sha256": "c0e15d26a7a4f3fb3c25e35557d4420ad395b2af3925caec292de08e32ebf44c"
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "ba623ac262f6f53eec7d494cd53d3c45f91f0eaa6e0d5757b869d71df6423aa5"
    }
  ]
}
account_billing_auto_charge_enabled boolean

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 440
}
account_billing_topup_enabled boolean

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 459
}
account_billing_topup_threshold number
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settings.php",
      "line": 478,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Structure input getter, response setter and update flags."
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
    }
  ]
}
account_billing_topup_amount number
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settings.php",
      "line": 497,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Structure input getter, response setter and update flags."
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
    }
  ]
}
internal_all boolean
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settings.php",
      "line": 516,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Structure input getter, response setter and update flags."
    },
    {
      "file": "application/models/v2/Settingsfunc.php",
      "line": 23,
      "sha256": "7a289d246c7c6b70fd88c739a308a883f0f983913cc06f6e04b160792aef3c4f",
      "reason": "Actual field hook handles loose truthiness and subscription verification."
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
    }
  ]
}
notification_minimummaximum boolean

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 526
}
notification_booking boolean

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 535
}
vat_included Typ nicht eingeschränkt
Erlaubte Werte
"exclusive""including"
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settings.php",
      "line": 544,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Structure input getter, response setter and update flags."
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
    }
  ]
}
vat_reverse_charge_texts Typ nicht eingeschränkt
anyOf · Mindestens eine Variante muss passen
Variante 1 object
Schema für zusätzliche Felder
string
Variante 2 array
maxItems
0
Variante 3 null
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settings.php",
      "line": 553,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Structure input getter, response setter and update flags."
    },
    {
      "file": "application/helpers/edooboxhelp_helper.php",
      "line": 11560,
      "sha256": "090d351b5bde81813c7a829bedf2f1f9f978fce5765f246989779f996198934e",
      "reason": "Each recognized text is normalized by aP."
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
    }
  ]
}
offer_sort Typ nicht eingeschränkt
Erlaubte Werte
"date""manual"
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settings.php",
      "line": 580,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Structure input getter, response setter and update flags."
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
    }
  ]
}
offer_func_1 boolean

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 589
}
offer_func_1_status Typ nicht eingeschränkt
Erlaubte Werte
34
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settings.php",
      "line": 598,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Structure input getter, response setter and update flags."
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
    }
  ]
}
offer_archiving Typ nicht eingeschränkt
Erlaubte Werte
123false
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settings.php",
      "line": 607,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Structure input getter, response setter and update flags."
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
    }
  ]
}
offer_archiving_reference_date Typ nicht eingeschränkt
Erlaubte Werte
"start""visibility"
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settings.php",
      "line": 634,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Structure input getter, response setter and update flags."
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
    }
  ]
}
news_and_tricks boolean

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 644
}
booking_create_admin Typ nicht eingeschränkt
Erlaubte Werte
12false
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settings.php",
      "line": 653,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Structure input getter, response setter and update flags."
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
    }
  ]
}
booking_userlogin Typ nicht eingeschränkt
Erlaubte Werte
1234
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settings.php",
      "line": 686,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Structure input getter, response setter and update flags."
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
    }
  ]
}
booking_login Typ nicht eingeschränkt
Erlaubte Werte
123null
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settings.php",
      "line": 713,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Structure input getter, response setter and update flags."
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
    }
  ]
}
booking_login_global_users boolean

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 738
}
booking_cancellation Typ nicht eingeschränkt
Erlaubte Werte
1234
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settings.php",
      "line": 757,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Structure input getter, response setter and update flags."
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
    }
  ]
}
booking_cancellation_admin_confirmation_mail boolean

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 784
}
booking_reservation boolean

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 803
}
booking_paymentpage boolean

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 812
}
booking_sendinfo boolean

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 822
}
booking_label_notifications array
Array-Elemente
object
label string erforderlich
minLength
1
maxLength
15
email string erforderlich
emailtemplate string erforderlich
pattern
"^emailtemplate_[a-f0-9]{12}_-?[0-9]+$"

Zusätzliche Felder sind in diesem Teilschema ausgeschlossen.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settings.php",
      "line": 831,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Structure input getter, response setter and update flags."
    },
    {
      "file": "application/models/v2/Settings.php",
      "line": 3060,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Actual rule filtering and per-account template lookup."
    },
    {
      "file": "application/models/v2/Settings.php",
      "line": 3105,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Response filter emits typed public emailtemplate IDs."
    },
    {
      "file": "application/models/v2/Settings.php",
      "line": 3159,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Template must belong to the account and be an email template, not PDF."
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
    }
  ]
}
booking_send_pdf boolean

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 850
}
booking_send_ics boolean

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 859
}
booking_reminder boolean

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 878
}
booking_reminder_hours integer

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 887
}
booking_visitconfirmation Typ nicht eingeschränkt
Erlaubte Werte
12false
booking_number integer
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settings.php",
      "line": 937,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Structure input getter, response setter and update flags."
    },
    {
      "file": "application/models/v2/Settingsfunc.php",
      "line": 288,
      "sha256": "7a289d246c7c6b70fd88c739a308a883f0f983913cc06f6e04b160792aef3c4f",
      "reason": "Actual hook range check and tenant-scoped uniqueness query."
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
    }
  ]
}
booking_cert_percent integer
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settings.php",
      "line": 948,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Structure input getter, response setter and update flags."
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
    }
  ]
}
booking_cert_notvisitmail boolean

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 975
}
booking_cert_senddelayhours integer
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settings.php",
      "line": 996,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Structure input getter, response setter and update flags."
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
    }
  ]
}
booking_cert_validation_url boolean
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settings.php",
      "line": 1024,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Structure input getter, response setter and update flags."
    },
    {
      "file": "application/models/v2/Settingsfunc.php",
      "line": 40,
      "sha256": "7a289d246c7c6b70fd88c739a308a883f0f983913cc06f6e04b160792aef3c4f",
      "reason": "Actual field hook handles loose truthiness and subscription verification."
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
    }
  ]
}
booking_cert_attachpdf boolean

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 1046
}
booking_cert_attachpdfpercent integer
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settings.php",
      "line": 1206,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Structure input getter, response setter and update flags."
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
    }
  ]
}
booking_cert_secondemail boolean
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settings.php",
      "line": 1094,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Structure input getter, response setter and update flags."
    },
    {
      "file": "application/models/v2/Settingsfunc.php",
      "line": 641,
      "sha256": "7a289d246c7c6b70fd88c739a308a883f0f983913cc06f6e04b160792aef3c4f",
      "reason": "Actual conditional second-email flag hook; getter called explicitly and destination checked against stored settings."
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
    }
  ]
}
booking_cert_secondemail_field Typ nicht eingeschränkt
anyOf · Mindestens eine Variante muss passen
Variante 1 string
Erlaubte Werte
"status""gender""first_name""last_name""street""postcode""location""country""language""phone_number""email""company""data_1""data_2""data_3""data_4""data_5""data_6""data_7""data_8""data_9""data_10""data_11""data_12""data_13""data_14""data_15""data_16""data_17""data_18""data_19""data_20""data_21""data_22""data_23""data_24""data_25""data_26""data_27""data_28""data_29""data_30"
Variante 2 Typ nicht eingeschränkt

Fester Wert: false

Variante 3 null
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settings.php",
      "line": 1115,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Structure input getter, response setter and update flags."
    },
    {
      "file": "application/models/v2/Datastructure.php",
      "line": 20,
      "sha256": "256cfd2c1002e4708b342b6649fa6bfda780273306c30ae2a43d424fd0e2e6a8",
      "reason": "Public field-key to storage-column map; this selector is not a database record ID."
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
    }
  ]
}
booking_secondemail boolean
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settings.php",
      "line": 1150,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Structure input getter, response setter and update flags."
    },
    {
      "file": "application/models/v2/Settingsfunc.php",
      "line": 693,
      "sha256": "7a289d246c7c6b70fd88c739a308a883f0f983913cc06f6e04b160792aef3c4f",
      "reason": "Actual conditional second-email flag hook; getter called explicitly and destination checked against stored settings."
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
    }
  ]
}
booking_secondemail_field Typ nicht eingeschränkt
anyOf · Mindestens eine Variante muss passen
Variante 1 string
Erlaubte Werte
"status""gender""first_name""last_name""street""postcode""location""country""language""phone_number""email""company""data_1""data_2""data_3""data_4""data_5""data_6""data_7""data_8""data_9""data_10""data_11""data_12""data_13""data_14""data_15""data_16""data_17""data_18""data_19""data_20""data_21""data_22""data_23""data_24""data_25""data_26""data_27""data_28""data_29""data_30"
Variante 2 Typ nicht eingeschränkt

Fester Wert: false

Variante 3 null
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settings.php",
      "line": 1171,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Structure input getter, response setter and update flags."
    },
    {
      "file": "application/models/v2/Datastructure.php",
      "line": 20,
      "sha256": "256cfd2c1002e4708b342b6649fa6bfda780273306c30ae2a43d424fd0e2e6a8",
      "reason": "Public field-key to storage-column map; this selector is not a database record ID."
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
    }
  ]
}
booking_offerlist_secondemail_field Typ nicht eingeschränkt
anyOf · Mindestens eine Variante muss passen
Variante 1 string
Erlaubte Werte
"status""gender""first_name""last_name""street""postcode""location""country""language""phone_number""email""company""data_1""data_2""data_3""data_4""data_5""data_6""data_7""data_8""data_9""data_10""data_11""data_12""data_13""data_14""data_15""data_16""data_17""data_18""data_19""data_20""data_21""data_22""data_23""data_24""data_25""data_26""data_27""data_28""data_29""data_30"
Variante 2 Typ nicht eingeschränkt

Fester Wert: false

Variante 3 null
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settings.php",
      "line": 1233,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Structure input getter, response setter and update flags."
    },
    {
      "file": "application/models/v2/Datastructure.php",
      "line": 20,
      "sha256": "256cfd2c1002e4708b342b6649fa6bfda780273306c30ae2a43d424fd0e2e6a8",
      "reason": "Public field-key to storage-column map; this selector is not a database record ID."
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
    }
  ]
}
booking_offerlist_cancel_mail boolean

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 1268
}
booking_allow_promotions boolean

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 1288
}
booking_designation_promotions string

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 1297
}
skip_counter integer

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 1306
}
question_deliverables_show boolean

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 1316
}
multi_offer_show boolean

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 1336
}
multi_offer_child_limit integer

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 1346
}
automatic_deletion Typ nicht eingeschränkt

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 1367
}
edsupport_access integer
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settings.php",
      "line": 1395,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Structure input getter, response setter and update flags."
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
    }
  ]
}
payment_confirmation_mail boolean

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 1428
}
barcode_type Typ nicht eingeschränkt
Erlaubte Werte
"pdf417""qrcode""datamatrix"
barcode_mobile_wallet boolean

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 1461
}
mobile_wallet_background_color string
pattern
"^#[0-9A-F]{6}$"
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settings.php",
      "line": 1470,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Structure input getter, response setter and update flags."
    },
    {
      "file": "application/models/v2/Settings.php",
      "line": 3181,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Shared color normalizer returns uppercase hex or the field-specific fallback."
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
    }
  ]
}
mobile_wallet_foreground_color string
pattern
"^(?:#[0-9A-F]{6})?$"
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settings.php",
      "line": 1479,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Structure input getter, response setter and update flags."
    },
    {
      "file": "application/models/v2/Settings.php",
      "line": 3181,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Shared color normalizer returns uppercase hex or the field-specific fallback."
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
    }
  ]
}
mobile_wallet_use_offer_image boolean

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 1488
}
mobile_wallet_fallback_image_url string
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settings.php",
      "line": 1497,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Structure input getter, response setter and update flags."
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
    }
  ]
}
mobile_wallet_display_name string
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settings.php",
      "line": 1506,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Structure input getter, response setter and update flags."
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
    }
  ]
}
mobile_wallet_support_url string
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settings.php",
      "line": 1515,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Structure input getter, response setter and update flags."
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
    }
  ]
}
barcode_ticket Typ nicht eingeschränkt
Erlaubte Werte
false"always""offer"
collective_booking_max integer

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 1548
}
collective_booking_identify Typ nicht eingeschränkt
anyOf · Mindestens eine Variante muss passen
Variante 1 string
Erlaubte Werte
"status""gender""first_name""last_name""street""postcode""location""country""language""phone_number""email""company""data_1""data_2""data_3""data_4""data_5""data_6""data_7""data_8""data_9""data_10""data_11""data_12""data_13""data_14""data_15""data_16""data_17""data_18""data_19""data_20""data_21""data_22""data_23""data_24""data_25""data_26""data_27""data_28""data_29""data_30"
Variante 2 Typ nicht eingeschränkt

Fester Wert: false

Variante 3 null
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settings.php",
      "line": 1563,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Structure input getter, response setter and update flags."
    },
    {
      "file": "application/models/v2/Datastructure.php",
      "line": 20,
      "sha256": "256cfd2c1002e4708b342b6649fa6bfda780273306c30ae2a43d424fd0e2e6a8",
      "reason": "Public field-key to storage-column map; this selector is not a database record ID."
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
    }
  ]
}
collective_booking_identify_privacy Typ nicht eingeschränkt
anyOf · Mindestens eine Variante muss passen
Variante 1 string
Erlaubte Werte
"status""gender""first_name""last_name""street""postcode""location""country""language""phone_number""email""company""data_1""data_2""data_3""data_4""data_5""data_6""data_7""data_8""data_9""data_10""data_11""data_12""data_13""data_14""data_15""data_16""data_17""data_18""data_19""data_20""data_21""data_22""data_23""data_24""data_25""data_26""data_27""data_28""data_29""data_30"
Variante 2 Typ nicht eingeschränkt

Fester Wert: false

Variante 3 null
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settings.php",
      "line": 1586,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Structure input getter, response setter and update flags."
    },
    {
      "file": "application/models/v2/Datastructure.php",
      "line": 20,
      "sha256": "256cfd2c1002e4708b342b6649fa6bfda780273306c30ae2a43d424fd0e2e6a8",
      "reason": "Public field-key to storage-column map; this selector is not a database record ID."
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
    }
  ]
}
collective_booking_identify_obligatory boolean

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 1610
}
collective_booking_master Typ nicht eingeschränkt
Erlaubte Werte
"manual""all"false
security_headers_csp boolean

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 1654
}
design_subcategory boolean

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 1699
}
legaltext_atc boolean

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 1708
}
legaltext_ri boolean

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 1717
}
legaltext_pp boolean

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 1726
}
attendance_config array
Array-Elemente
object
status integer | string erforderlich

The key is derived with an integer cast; stored status representation is preserved in the record.

order integer erforderlich
counter Typ nicht eingeschränkt
val Typ nicht eingeschränkt
color Typ nicht eingeschränkt
help Typ nicht eingeschränkt
lock boolean

Zusätzliche, hier nicht aufgeführte Felder sind erlaubt.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settingsfunc.php",
      "line": 153,
      "reason": "PUT sorts the status-record array, casts status/order and normalizes counter.",
      "sha256": "7a289d246c7c6b70fd88c739a308a883f0f983913cc06f6e04b160792aef3c4f"
    },
    {
      "file": "application/models/v2/Settingsfunc.php",
      "line": 208,
      "reason": "Exactly three required-status occurrences are checked.",
      "sha256": "7a289d246c7c6b70fd88c739a308a883f0f983913cc06f6e04b160792aef3c4f"
    },
    {
      "file": "application/models/v2/Settings.php",
      "line": 1739,
      "reason": "Response returns ordered status records as a JSON array.",
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1"
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
    }
  ]
}
language object
languages array
Array-Elemente
string
active object | array
inactive object | array

Zusätzliche, hier nicht aufgeführte Felder sind erlaubt.

edsubscription string

Öffentliche v2-ID aus dem ausgewählten Account; keine interne Datenbank-ID.

pattern
"^edsubscription_[a-f0-9]{12}_-?[0-9]+$"
edsubscription_testinguntildate Typ nicht eingeschränkt

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 1786
}
versions object

Zusätzliche, hier nicht aufgeführte Felder sind erlaubt.

pdf_engine Typ nicht eingeschränkt
Erlaubte Werte
12null
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settings.php",
      "line": 1821,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Structure input getter, response setter and update flags."
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
    }
  ]
}
pdf_edit_restriction_password boolean

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 1851
}
pdf_paper_size string
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settings.php",
      "line": 1870,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Structure input getter, response setter and update flags."
    },
    {
      "file": "vendor/dompdf/dompdf/src/Adapter/CPDF.php",
      "line": 42,
      "sha256": "7dca4a096b08c006f12bfccd733068223d92e502b9a625c49bd919373f714001",
      "reason": "Installed Dompdf paper-size key list, matched case-insensitively by the source getter."
    },
    {
      "file": "application/models/v2/API_DATA.php",
      "line": 1853,
      "sha256": "c0e15d26a7a4f3fb3c25e35557d4420ad395b2af3925caec292de08e32ebf44c",
      "reason": "Normal fields check strict false; joined fields instead collect getter output at 1793 and execute it at 1827 without that rejection. Final joined writer rejects strict-false getters and unresolved/multi-join metadata before writes, anchors the joined row to the own parent (including account-key parents), and preserves constant join.where constraints as additional AND predicates. Join-only writes verify the own existing parent. Generic simple-owner hard/soft DELETE now verifies the own existing parent before hooks and repeats FID in DML; missing optional hook data no longer warns. Read, insert, signed authority and GET-effect classifications are unchanged."
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
    }
  ]
}
pdf_custom_css string
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settings.php",
      "line": 1892,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Structure input getter, response setter and update flags."
    },
    {
      "file": "application/libraries/edoobox/integrations/pdf/Pdf.php",
      "line": 16,
      "sha256": "b286cdc4d20e02601db9acc35b06564357f10378961e72cb8f4e22e64b3a3254",
      "reason": "Allowed PDF font keys used by the CSS normalizer."
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
    }
  ]
}
dinaco_client_id string

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 1960
}
dinaco_client_secret Typ nicht eingeschränkt sensibler Wert

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 1979,
  "x-edoobox-sensitive": true
}
gtm_mess_id string
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settings.php",
      "line": 1998,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Structure input getter, response setter and update flags."
    },
    {
      "file": "application/helpers/edooboxhelp_helper.php",
      "line": 11560,
      "sha256": "090d351b5bde81813c7a829bedf2f1f9f978fce5765f246989779f996198934e",
      "reason": "aP normalization after the substring test."
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
    }
  ]
}
gtm_container_id string

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 2024
}
meta_html string
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settings.php",
      "line": 2044,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Structure input getter, response setter and update flags."
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
    }
  ]
}
system_attachments_file_naming Typ nicht eingeschränkt

Associative map, or [] when there are no naming rules.

anyOf · Mindestens eine Variante muss passen
Variante 1 object
Schema für zusätzliche Felder
object
Schema für zusätzliche Felder
string
Variante 2 array
maxItems
0
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settings.php",
      "line": 2076,
      "reason": "Input iterates template/ics keys and language-to-name objects; edid occurs on map keys.",
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1"
    },
    {
      "file": "application/models/v2/Settings.php",
      "line": 2106,
      "reason": "Response maps stored keys back to public emailtemplate IDs or ics.",
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1"
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
    }
  ]
}
website_integration Typ nicht eingeschränkt

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 2132
}
website_url string
Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-contractSource": [
    {
      "file": "application/models/v2/Settings.php",
      "line": 2159,
      "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
      "reason": "Structure input getter, response setter and update flags."
    },
    {
      "file": "application/models/v2/API_DATA.php",
      "line": 1853,
      "sha256": "c0e15d26a7a4f3fb3c25e35557d4420ad395b2af3925caec292de08e32ebf44c",
      "reason": "Strict false getter rejects invalid URL inputs. Final joined writer rejects strict-false getters and unresolved/multi-join metadata before writes, anchors the joined row to the own parent (including account-key parents), and preserves constant join.where constraints as additional AND predicates. Join-only writes verify the own existing parent. Generic simple-owner hard/soft DELETE now verifies the own existing parent before hooks and repeats FID in DML; missing optional hook data no longer warns. Read, insert, signed authority and GET-effect classifications are unchanged."
    },
    {
      "file": "docs/openapi/reviews/settings-fields.json",
      "line": 1,
      "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
      "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
    }
  ]
}
admin_custom_permissions boolean

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 2172
}
admin_academic_title_use boolean

Response field from the resource Structure; dynamic values remain unconstrained.

Feld-Metadaten aus der Spezifikation
{
  "x-edoobox-sourceLine": 2192
}
root_archive string

Öffentliche v2-ID aus dem ausgewählten Account; keine interne Datenbank-ID.

pattern
"^category_[a-f0-9]{12}_-?[0-9]+$"
root_trash string

Öffentliche v2-ID aus dem ausgewählten Account; keine interne Datenbank-ID.

pattern
"^category_[a-f0-9]{12}_-?[0-9]+$"
user_currencys array
Array-Elemente
string
stripe_public_key string | boolean

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",
          "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": [
                "settings_012345abcdef_123456"
              ]
            },
            "firstweekday": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 44,
              "type": "integer"
            },
            "format_date": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 53,
              "type": "integer"
            },
            "format_time": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 62,
              "type": "integer"
            },
            "format_calendar_grid": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 71,
              "type": "integer"
            },
            "format_timezone": {
              "type": "string",
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settingsfunc.php",
                  "line": 5,
                  "reason": "PUT consumes a zone-name string instead of the integer get placeholder.",
                  "sha256": "7a289d246c7c6b70fd88c739a308a883f0f983913cc06f6e04b160792aef3c4f"
                },
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 85,
                  "reason": "Response returns the account timezone zone_name.",
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1"
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                }
              ]
            },
            "congress_module": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 102,
              "type": "boolean"
            },
            "format_number": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 112,
              "type": "integer"
            },
            "design": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 121,
              "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": [
                    "design_012345abcdef_123456"
                  ]
                },
                {
                  "const": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "root_category": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 130,
              "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": [
                    "rootcategory_012345abcdef_123456"
                  ]
                },
                {
                  "const": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "shortcut": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 140,
              "type": "string"
            },
            "organization_name": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 150,
              "type": "string"
            },
            "organization_contactperson": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 159,
              "type": "string"
            },
            "organization_street": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 168,
              "type": "string"
            },
            "organization_postcode": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 177,
              "type": "string"
            },
            "organization_town": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 186,
              "type": "string"
            },
            "organization_country": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 195,
              "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": [
                    "organizationcountry_012345abcdef_123456"
                  ]
                },
                {
                  "const": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "organization_language": {
              "type": [
                "string",
                "null"
              ],
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 205,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Structure input getter, response setter and update flags."
                },
                {
                  "file": "application/helpers/langedoobox_helper.php",
                  "line": 731,
                  "sha256": "6454b27d47a74f3cf236ef8e258fbe821228c1607165d00433a309b2e9127d3c",
                  "reason": "edLangIDByName returns configured entry, with fallback for unknown names."
                },
                {
                  "file": "application/helpers/langedoobox_helper.php",
                  "line": 566,
                  "sha256": "6454b27d47a74f3cf236ef8e258fbe821228c1607165d00433a309b2e9127d3c",
                  "reason": "edLangById converts internal entries back to public language keys."
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                }
              ]
            },
            "organization_phone": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 214,
              "type": "string"
            },
            "organization_url": {
              "type": "string",
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 223,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Structure input getter, response setter and update flags."
                },
                {
                  "file": "application/helpers/edooboxhelp_helper.php",
                  "line": 11560,
                  "sha256": "090d351b5bde81813c7a829bedf2f1f9f978fce5765f246989779f996198934e",
                  "reason": "aP text storage normalization."
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                }
              ]
            },
            "organization_email": {
              "type": "string",
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settingsfunc.php",
                  "line": 57,
                  "reason": "PUT callback validates the trimmed email syntax, checks raw and encoded lengths, and requires an exact aP/aQ identity before returning storage. False is rejected by generic update as ED90100 before a write.",
                  "sha256": "7a289d246c7c6b70fd88c739a308a883f0f983913cc06f6e04b160792aef3c4f",
                  "lineEnd": 75
                },
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 237,
                  "reason": "Incoming model getter is bounded to200 characters; generic PUT uses the dedicated validation hook; response unescapes stored text.",
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "lineEnd": 246
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                }
              ]
            },
            "organization_currency": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 247,
              "type": "string"
            },
            "billingaddress_organization": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 257,
              "type": "string"
            },
            "billingaddress_user": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 266,
              "type": "string"
            },
            "billingaddress_street": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 275,
              "type": "string"
            },
            "billingaddress_postcode_town": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 284,
              "type": "string"
            },
            "billingaddress_phone": {
              "type": "string",
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 293,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Structure input getter, response setter and update flags."
                },
                {
                  "file": "application/helpers/edooboxhelp_helper.php",
                  "line": 11560,
                  "sha256": "090d351b5bde81813c7a829bedf2f1f9f978fce5765f246989779f996198934e",
                  "reason": "Actual aP string-only/truncating storage normalization."
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                }
              ]
            },
            "billingaddress_email": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 303,
              "type": "string"
            },
            "billingaddress_status": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 312,
              "type": "boolean"
            },
            "user_duplicate_config": {
              "type": "object",
              "required": [
                "version",
                "enabled",
                "candidate_threshold",
                "auto_merge_threshold",
                "survivor_strategy",
                "max_merge_users",
                "rules",
                "rules_hash",
                "matching_rules_hash"
              ],
              "properties": {
                "version": {
                  "const": 2
                },
                "enabled": {
                  "type": "boolean"
                },
                "candidate_threshold": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 100
                },
                "auto_merge_threshold": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "minimum": 1,
                  "maximum": 100
                },
                "survivor_strategy": {
                  "enum": [
                    "newest",
                    "oldest"
                  ]
                },
                "max_merge_users": {
                  "type": "integer",
                  "minimum": 2,
                  "maximum": 10
                },
                "rules": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "field",
                      "enabled",
                      "required",
                      "weight"
                    ],
                    "properties": {
                      "field": {
                        "enum": [
                          "gender",
                          "first_name",
                          "last_name",
                          "street",
                          "postcode",
                          "location",
                          "country",
                          "language",
                          "phone_number",
                          "email",
                          "company",
                          "data_1",
                          "data_2",
                          "data_3",
                          "data_4",
                          "data_5",
                          "data_6",
                          "data_7",
                          "data_8",
                          "data_9",
                          "data_10",
                          "data_11",
                          "data_12",
                          "data_13",
                          "data_14",
                          "data_15",
                          "data_16",
                          "data_17",
                          "data_18",
                          "data_19",
                          "data_20",
                          "data_21",
                          "data_22",
                          "data_23",
                          "data_24",
                          "data_25",
                          "data_26",
                          "data_27",
                          "data_28",
                          "data_29",
                          "data_30"
                        ]
                      },
                      "enabled": {
                        "type": "boolean"
                      },
                      "required": {
                        "type": "boolean"
                      },
                      "weight": {
                        "type": "integer",
                        "minimum": 1,
                        "maximum": 10
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "rules_hash": {
                  "type": "string",
                  "pattern": "^[a-f0-9]{64}$"
                },
                "matching_rules_hash": {
                  "type": "string",
                  "pattern": "^[a-f0-9]{64}$"
                }
              },
              "additionalProperties": true,
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 321,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Structure input getter, response setter and update flags."
                },
                {
                  "file": "application/models/v2/Userduplicatefunc.php",
                  "line": 28,
                  "sha256": "10da9ce285a01836c403fec784c04775e7713b8f0c61d49c21de38cf3f8ea157",
                  "reason": "Actual normalizeConfigForSave preserves unchanged rule hashes and normalizes current state."
                },
                {
                  "file": "application/models/v2/Userduplicatefunc.php",
                  "line": 40,
                  "sha256": "10da9ce285a01836c403fec784c04775e7713b8f0c61d49c21de38cf3f8ea157",
                  "reason": "Full known config defaults, coercion, clamping, hash/version semantics."
                },
                {
                  "file": "application/models/v2/Userduplicatefunc.php",
                  "line": 648,
                  "sha256": "10da9ce285a01836c403fec784c04775e7713b8f0c61d49c21de38cf3f8ea157",
                  "reason": "Rule filtering, uniqueness and weight normalization."
                },
                {
                  "file": "application/models/v2/Userduplicatefunc.php",
                  "line": 968,
                  "sha256": "10da9ce285a01836c403fec784c04775e7713b8f0c61d49c21de38cf3f8ea157",
                  "reason": "Allowed public data-field selectors for duplicate matching."
                },
                {
                  "file": "application/models/v2/Userduplicatefunc.php",
                  "line": 488,
                  "sha256": "10da9ce285a01836c403fec784c04775e7713b8f0c61d49c21de38cf3f8ea157",
                  "reason": "Changed matching rules invalidate derived duplicate data, not only the stored JSON."
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                }
              ]
            },
            "admin_avatar_mode": {
              "enum": [
                "face",
                "symbol"
              ],
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 344,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Structure input getter, response setter and update flags."
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                }
              ]
            },
            "account_billing_recipient_type": {
              "enum": [
                "organization",
                "billing_address",
                "admin"
              ],
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 363,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Structure input getter, response setter and update flags."
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                }
              ]
            },
            "account_billing_recipient_email": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 390,
              "type": "string"
            },
            "account_billing_recipient_admin_id": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^admin_[a-f0-9]{12}_(?:-35|[1-9][0-9]*)$",
                  "examples": [
                    "admin_012345abcdef_123456"
                  ],
                  "description": "Canonical public admin v2 ID issued in this account; server validates the account-bound checksum and rejects raw IDs."
                },
                {
                  "const": false,
                  "x-edoobox-id-kind": "empty-relation"
                }
              ],
              "description": "Billing administrator as a public admin v2 ID; false when unset. Internal database primary keys are never serialized.",
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 421,
                  "reason": "The corrected inbound getter accepts a canonical tenant-bound admin v2 reference and normalizes explicit clear sentinels; positive raw primary keys are rejected.",
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1"
                },
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 437,
                  "reason": "The outbound setter encodes a positive database admin key as a public v2 ID and emits false for zero.",
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1"
                },
                {
                  "file": "application/models/v2/API_DATA.php",
                  "line": 1853,
                  "reason": "Join updates call the field getter before persisting; response serialization calls the field setter at line1068. Final joined writer rejects strict-false getters and unresolved/multi-join metadata before writes, anchors the joined row to the own parent (including account-key parents), and preserves constant join.where constraints as additional AND predicates. Join-only writes verify the own existing parent. Generic simple-owner hard/soft DELETE now verifies the own existing parent before hooks and repeats FID in DML; missing optional hook data no longer warns. Read, insert, signed authority and GET-effect classifications are unchanged.",
                  "sha256": "c0e15d26a7a4f3fb3c25e35557d4420ad395b2af3925caec292de08e32ebf44c"
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "ba623ac262f6f53eec7d494cd53d3c45f91f0eaa6e0d5757b869d71df6423aa5"
                }
              ]
            },
            "account_billing_auto_charge_enabled": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 440,
              "type": "boolean"
            },
            "account_billing_topup_enabled": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 459,
              "type": "boolean"
            },
            "account_billing_topup_threshold": {
              "type": "number",
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 478,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Structure input getter, response setter and update flags."
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                }
              ]
            },
            "account_billing_topup_amount": {
              "type": "number",
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 497,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Structure input getter, response setter and update flags."
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                }
              ]
            },
            "internal_all": {
              "type": "boolean",
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 516,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Structure input getter, response setter and update flags."
                },
                {
                  "file": "application/models/v2/Settingsfunc.php",
                  "line": 23,
                  "sha256": "7a289d246c7c6b70fd88c739a308a883f0f983913cc06f6e04b160792aef3c4f",
                  "reason": "Actual field hook handles loose truthiness and subscription verification."
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                }
              ]
            },
            "notification_minimummaximum": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 526,
              "type": "boolean"
            },
            "notification_booking": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 535,
              "type": "boolean"
            },
            "vat_included": {
              "enum": [
                "exclusive",
                "including"
              ],
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 544,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Structure input getter, response setter and update flags."
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                }
              ]
            },
            "vat_reverse_charge_texts": {
              "anyOf": [
                {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                {
                  "type": "array",
                  "maxItems": 0
                },
                {
                  "type": "null"
                }
              ],
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 553,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Structure input getter, response setter and update flags."
                },
                {
                  "file": "application/helpers/edooboxhelp_helper.php",
                  "line": 11560,
                  "sha256": "090d351b5bde81813c7a829bedf2f1f9f978fce5765f246989779f996198934e",
                  "reason": "Each recognized text is normalized by aP."
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                }
              ]
            },
            "offer_sort": {
              "enum": [
                "date",
                "manual"
              ],
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 580,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Structure input getter, response setter and update flags."
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                }
              ]
            },
            "offer_func_1": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 589,
              "type": "boolean"
            },
            "offer_func_1_status": {
              "enum": [
                3,
                4
              ],
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 598,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Structure input getter, response setter and update flags."
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                }
              ]
            },
            "offer_archiving": {
              "enum": [
                1,
                2,
                3,
                false
              ],
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 607,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Structure input getter, response setter and update flags."
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                }
              ]
            },
            "offer_archiving_reference_date": {
              "enum": [
                "start",
                "visibility"
              ],
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 634,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Structure input getter, response setter and update flags."
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                }
              ]
            },
            "news_and_tricks": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 644,
              "type": "boolean"
            },
            "booking_create_admin": {
              "enum": [
                1,
                2,
                false
              ],
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 653,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Structure input getter, response setter and update flags."
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                }
              ]
            },
            "booking_userlogin": {
              "enum": [
                1,
                2,
                3,
                4
              ],
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 686,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Structure input getter, response setter and update flags."
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                }
              ]
            },
            "booking_login": {
              "enum": [
                1,
                2,
                3,
                null
              ],
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 713,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Structure input getter, response setter and update flags."
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                }
              ]
            },
            "booking_login_global_users": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 738,
              "type": "boolean"
            },
            "booking_cancellation": {
              "enum": [
                1,
                2,
                3,
                4
              ],
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 757,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Structure input getter, response setter and update flags."
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                }
              ]
            },
            "booking_cancellation_admin_confirmation_mail": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 784,
              "type": "boolean"
            },
            "booking_reservation": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 803,
              "type": "boolean"
            },
            "booking_paymentpage": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 812,
              "type": "boolean"
            },
            "booking_sendinfo": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 822,
              "type": "boolean"
            },
            "booking_label_notifications": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "label",
                  "email",
                  "emailtemplate"
                ],
                "properties": {
                  "label": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 15
                  },
                  "email": {
                    "type": "string"
                  },
                  "emailtemplate": {
                    "type": "string",
                    "pattern": "^emailtemplate_[a-f0-9]{12}_-?[0-9]+$"
                  }
                },
                "additionalProperties": false
              },
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 831,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Structure input getter, response setter and update flags."
                },
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 3060,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Actual rule filtering and per-account template lookup."
                },
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 3105,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Response filter emits typed public emailtemplate IDs."
                },
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 3159,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Template must belong to the account and be an email template, not PDF."
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                }
              ]
            },
            "booking_send_pdf": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 850,
              "type": "boolean"
            },
            "booking_send_ics": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 859,
              "type": "boolean"
            },
            "booking_reminder": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 878,
              "type": "boolean"
            },
            "booking_reminder_hours": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 887,
              "type": "integer"
            },
            "booking_visitconfirmation": {
              "enum": [
                1,
                2,
                false
              ]
            },
            "booking_number": {
              "type": "integer",
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 937,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Structure input getter, response setter and update flags."
                },
                {
                  "file": "application/models/v2/Settingsfunc.php",
                  "line": 288,
                  "sha256": "7a289d246c7c6b70fd88c739a308a883f0f983913cc06f6e04b160792aef3c4f",
                  "reason": "Actual hook range check and tenant-scoped uniqueness query."
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                }
              ]
            },
            "booking_cert_percent": {
              "type": "integer",
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 948,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Structure input getter, response setter and update flags."
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                }
              ]
            },
            "booking_cert_notvisitmail": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 975,
              "type": "boolean"
            },
            "booking_cert_senddelayhours": {
              "type": "integer",
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 996,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Structure input getter, response setter and update flags."
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                }
              ]
            },
            "booking_cert_validation_url": {
              "type": "boolean",
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 1024,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Structure input getter, response setter and update flags."
                },
                {
                  "file": "application/models/v2/Settingsfunc.php",
                  "line": 40,
                  "sha256": "7a289d246c7c6b70fd88c739a308a883f0f983913cc06f6e04b160792aef3c4f",
                  "reason": "Actual field hook handles loose truthiness and subscription verification."
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                }
              ]
            },
            "booking_cert_attachpdf": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 1046,
              "type": "boolean"
            },
            "booking_cert_attachpdfpercent": {
              "type": "integer",
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 1206,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Structure input getter, response setter and update flags."
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                }
              ]
            },
            "booking_cert_secondemail": {
              "type": "boolean",
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 1094,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Structure input getter, response setter and update flags."
                },
                {
                  "file": "application/models/v2/Settingsfunc.php",
                  "line": 641,
                  "sha256": "7a289d246c7c6b70fd88c739a308a883f0f983913cc06f6e04b160792aef3c4f",
                  "reason": "Actual conditional second-email flag hook; getter called explicitly and destination checked against stored settings."
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                }
              ]
            },
            "booking_cert_secondemail_field": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "status",
                    "gender",
                    "first_name",
                    "last_name",
                    "street",
                    "postcode",
                    "location",
                    "country",
                    "language",
                    "phone_number",
                    "email",
                    "company",
                    "data_1",
                    "data_2",
                    "data_3",
                    "data_4",
                    "data_5",
                    "data_6",
                    "data_7",
                    "data_8",
                    "data_9",
                    "data_10",
                    "data_11",
                    "data_12",
                    "data_13",
                    "data_14",
                    "data_15",
                    "data_16",
                    "data_17",
                    "data_18",
                    "data_19",
                    "data_20",
                    "data_21",
                    "data_22",
                    "data_23",
                    "data_24",
                    "data_25",
                    "data_26",
                    "data_27",
                    "data_28",
                    "data_29",
                    "data_30"
                  ]
                },
                {
                  "const": false
                },
                {
                  "type": "null"
                }
              ],
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 1115,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Structure input getter, response setter and update flags."
                },
                {
                  "file": "application/models/v2/Datastructure.php",
                  "line": 20,
                  "sha256": "256cfd2c1002e4708b342b6649fa6bfda780273306c30ae2a43d424fd0e2e6a8",
                  "reason": "Public field-key to storage-column map; this selector is not a database record ID."
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                }
              ]
            },
            "booking_secondemail": {
              "type": "boolean",
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 1150,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Structure input getter, response setter and update flags."
                },
                {
                  "file": "application/models/v2/Settingsfunc.php",
                  "line": 693,
                  "sha256": "7a289d246c7c6b70fd88c739a308a883f0f983913cc06f6e04b160792aef3c4f",
                  "reason": "Actual conditional second-email flag hook; getter called explicitly and destination checked against stored settings."
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                }
              ]
            },
            "booking_secondemail_field": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "status",
                    "gender",
                    "first_name",
                    "last_name",
                    "street",
                    "postcode",
                    "location",
                    "country",
                    "language",
                    "phone_number",
                    "email",
                    "company",
                    "data_1",
                    "data_2",
                    "data_3",
                    "data_4",
                    "data_5",
                    "data_6",
                    "data_7",
                    "data_8",
                    "data_9",
                    "data_10",
                    "data_11",
                    "data_12",
                    "data_13",
                    "data_14",
                    "data_15",
                    "data_16",
                    "data_17",
                    "data_18",
                    "data_19",
                    "data_20",
                    "data_21",
                    "data_22",
                    "data_23",
                    "data_24",
                    "data_25",
                    "data_26",
                    "data_27",
                    "data_28",
                    "data_29",
                    "data_30"
                  ]
                },
                {
                  "const": false
                },
                {
                  "type": "null"
                }
              ],
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 1171,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Structure input getter, response setter and update flags."
                },
                {
                  "file": "application/models/v2/Datastructure.php",
                  "line": 20,
                  "sha256": "256cfd2c1002e4708b342b6649fa6bfda780273306c30ae2a43d424fd0e2e6a8",
                  "reason": "Public field-key to storage-column map; this selector is not a database record ID."
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                }
              ]
            },
            "booking_offerlist_secondemail_field": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "status",
                    "gender",
                    "first_name",
                    "last_name",
                    "street",
                    "postcode",
                    "location",
                    "country",
                    "language",
                    "phone_number",
                    "email",
                    "company",
                    "data_1",
                    "data_2",
                    "data_3",
                    "data_4",
                    "data_5",
                    "data_6",
                    "data_7",
                    "data_8",
                    "data_9",
                    "data_10",
                    "data_11",
                    "data_12",
                    "data_13",
                    "data_14",
                    "data_15",
                    "data_16",
                    "data_17",
                    "data_18",
                    "data_19",
                    "data_20",
                    "data_21",
                    "data_22",
                    "data_23",
                    "data_24",
                    "data_25",
                    "data_26",
                    "data_27",
                    "data_28",
                    "data_29",
                    "data_30"
                  ]
                },
                {
                  "const": false
                },
                {
                  "type": "null"
                }
              ],
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 1233,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Structure input getter, response setter and update flags."
                },
                {
                  "file": "application/models/v2/Datastructure.php",
                  "line": 20,
                  "sha256": "256cfd2c1002e4708b342b6649fa6bfda780273306c30ae2a43d424fd0e2e6a8",
                  "reason": "Public field-key to storage-column map; this selector is not a database record ID."
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                }
              ]
            },
            "booking_offerlist_cancel_mail": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 1268,
              "type": "boolean"
            },
            "booking_allow_promotions": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 1288,
              "type": "boolean"
            },
            "booking_designation_promotions": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 1297,
              "type": "string"
            },
            "skip_counter": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 1306,
              "type": "integer"
            },
            "question_deliverables_show": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 1316,
              "type": "boolean"
            },
            "multi_offer_show": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 1336,
              "type": "boolean"
            },
            "multi_offer_child_limit": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 1346,
              "type": "integer"
            },
            "automatic_deletion": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 1367
            },
            "edsupport_access": {
              "type": "integer",
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 1395,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Structure input getter, response setter and update flags."
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                }
              ]
            },
            "payment_confirmation_mail": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 1428,
              "type": "boolean"
            },
            "barcode_type": {
              "enum": [
                "pdf417",
                "qrcode",
                "datamatrix"
              ]
            },
            "barcode_mobile_wallet": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 1461,
              "type": "boolean"
            },
            "mobile_wallet_background_color": {
              "type": "string",
              "pattern": "^#[0-9A-F]{6}$",
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 1470,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Structure input getter, response setter and update flags."
                },
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 3181,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Shared color normalizer returns uppercase hex or the field-specific fallback."
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                }
              ]
            },
            "mobile_wallet_foreground_color": {
              "type": "string",
              "pattern": "^(?:#[0-9A-F]{6})?$",
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 1479,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Structure input getter, response setter and update flags."
                },
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 3181,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Shared color normalizer returns uppercase hex or the field-specific fallback."
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                }
              ]
            },
            "mobile_wallet_use_offer_image": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 1488,
              "type": "boolean"
            },
            "mobile_wallet_fallback_image_url": {
              "type": "string",
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 1497,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Structure input getter, response setter and update flags."
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                }
              ]
            },
            "mobile_wallet_display_name": {
              "type": "string",
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 1506,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Structure input getter, response setter and update flags."
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                }
              ]
            },
            "mobile_wallet_support_url": {
              "type": "string",
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 1515,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Structure input getter, response setter and update flags."
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                }
              ]
            },
            "barcode_ticket": {
              "enum": [
                false,
                "always",
                "offer"
              ]
            },
            "collective_booking_max": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 1548,
              "type": "integer"
            },
            "collective_booking_identify": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "status",
                    "gender",
                    "first_name",
                    "last_name",
                    "street",
                    "postcode",
                    "location",
                    "country",
                    "language",
                    "phone_number",
                    "email",
                    "company",
                    "data_1",
                    "data_2",
                    "data_3",
                    "data_4",
                    "data_5",
                    "data_6",
                    "data_7",
                    "data_8",
                    "data_9",
                    "data_10",
                    "data_11",
                    "data_12",
                    "data_13",
                    "data_14",
                    "data_15",
                    "data_16",
                    "data_17",
                    "data_18",
                    "data_19",
                    "data_20",
                    "data_21",
                    "data_22",
                    "data_23",
                    "data_24",
                    "data_25",
                    "data_26",
                    "data_27",
                    "data_28",
                    "data_29",
                    "data_30"
                  ]
                },
                {
                  "const": false
                },
                {
                  "type": "null"
                }
              ],
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 1563,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Structure input getter, response setter and update flags."
                },
                {
                  "file": "application/models/v2/Datastructure.php",
                  "line": 20,
                  "sha256": "256cfd2c1002e4708b342b6649fa6bfda780273306c30ae2a43d424fd0e2e6a8",
                  "reason": "Public field-key to storage-column map; this selector is not a database record ID."
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                }
              ]
            },
            "collective_booking_identify_privacy": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "status",
                    "gender",
                    "first_name",
                    "last_name",
                    "street",
                    "postcode",
                    "location",
                    "country",
                    "language",
                    "phone_number",
                    "email",
                    "company",
                    "data_1",
                    "data_2",
                    "data_3",
                    "data_4",
                    "data_5",
                    "data_6",
                    "data_7",
                    "data_8",
                    "data_9",
                    "data_10",
                    "data_11",
                    "data_12",
                    "data_13",
                    "data_14",
                    "data_15",
                    "data_16",
                    "data_17",
                    "data_18",
                    "data_19",
                    "data_20",
                    "data_21",
                    "data_22",
                    "data_23",
                    "data_24",
                    "data_25",
                    "data_26",
                    "data_27",
                    "data_28",
                    "data_29",
                    "data_30"
                  ]
                },
                {
                  "const": false
                },
                {
                  "type": "null"
                }
              ],
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 1586,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Structure input getter, response setter and update flags."
                },
                {
                  "file": "application/models/v2/Datastructure.php",
                  "line": 20,
                  "sha256": "256cfd2c1002e4708b342b6649fa6bfda780273306c30ae2a43d424fd0e2e6a8",
                  "reason": "Public field-key to storage-column map; this selector is not a database record ID."
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                }
              ]
            },
            "collective_booking_identify_obligatory": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 1610,
              "type": "boolean"
            },
            "collective_booking_master": {
              "enum": [
                "manual",
                "all",
                false
              ]
            },
            "security_headers_csp": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 1654,
              "type": "boolean"
            },
            "design_subcategory": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 1699,
              "type": "boolean"
            },
            "legaltext_atc": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 1708,
              "type": "boolean"
            },
            "legaltext_ri": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 1717,
              "type": "boolean"
            },
            "legaltext_pp": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 1726,
              "type": "boolean"
            },
            "attendance_config": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "status": {
                    "type": [
                      "integer",
                      "string"
                    ],
                    "description": "The key is derived with an integer cast; stored status representation is preserved in the record."
                  },
                  "order": {
                    "type": "integer"
                  },
                  "counter": {},
                  "val": {},
                  "color": {},
                  "help": {},
                  "lock": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": true,
                "required": [
                  "status",
                  "order"
                ]
              },
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settingsfunc.php",
                  "line": 153,
                  "reason": "PUT sorts the status-record array, casts status/order and normalizes counter.",
                  "sha256": "7a289d246c7c6b70fd88c739a308a883f0f983913cc06f6e04b160792aef3c4f"
                },
                {
                  "file": "application/models/v2/Settingsfunc.php",
                  "line": 208,
                  "reason": "Exactly three required-status occurrences are checked.",
                  "sha256": "7a289d246c7c6b70fd88c739a308a883f0f983913cc06f6e04b160792aef3c4f"
                },
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 1739,
                  "reason": "Response returns ordered status records as a JSON array.",
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1"
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                }
              ]
            },
            "language": {
              "type": "object",
              "properties": {
                "languages": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "active": {
                  "type": [
                    "object",
                    "array"
                  ]
                },
                "inactive": {
                  "type": [
                    "object",
                    "array"
                  ]
                }
              },
              "additionalProperties": true
            },
            "edsubscription": {
              "type": "string",
              "pattern": "^edsubscription_[a-f0-9]{12}_-?[0-9]+$",
              "description": "Öffentliche v2-ID aus dem ausgewählten Account; keine interne Datenbank-ID."
            },
            "edsubscription_testinguntildate": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 1786
            },
            "versions": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            },
            "pdf_engine": {
              "enum": [
                1,
                2,
                null
              ],
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 1821,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Structure input getter, response setter and update flags."
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                }
              ]
            },
            "pdf_edit_restriction_password": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 1851,
              "type": "boolean"
            },
            "pdf_paper_size": {
              "type": "string",
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 1870,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Structure input getter, response setter and update flags."
                },
                {
                  "file": "vendor/dompdf/dompdf/src/Adapter/CPDF.php",
                  "line": 42,
                  "sha256": "7dca4a096b08c006f12bfccd733068223d92e502b9a625c49bd919373f714001",
                  "reason": "Installed Dompdf paper-size key list, matched case-insensitively by the source getter."
                },
                {
                  "file": "application/models/v2/API_DATA.php",
                  "line": 1853,
                  "sha256": "c0e15d26a7a4f3fb3c25e35557d4420ad395b2af3925caec292de08e32ebf44c",
                  "reason": "Normal fields check strict false; joined fields instead collect getter output at 1793 and execute it at 1827 without that rejection. Final joined writer rejects strict-false getters and unresolved/multi-join metadata before writes, anchors the joined row to the own parent (including account-key parents), and preserves constant join.where constraints as additional AND predicates. Join-only writes verify the own existing parent. Generic simple-owner hard/soft DELETE now verifies the own existing parent before hooks and repeats FID in DML; missing optional hook data no longer warns. Read, insert, signed authority and GET-effect classifications are unchanged."
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                }
              ]
            },
            "pdf_custom_css": {
              "type": "string",
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 1892,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Structure input getter, response setter and update flags."
                },
                {
                  "file": "application/libraries/edoobox/integrations/pdf/Pdf.php",
                  "line": 16,
                  "sha256": "b286cdc4d20e02601db9acc35b06564357f10378961e72cb8f4e22e64b3a3254",
                  "reason": "Allowed PDF font keys used by the CSS normalizer."
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                }
              ]
            },
            "dinaco_client_id": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 1960,
              "type": "string"
            },
            "dinaco_client_secret": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 1979,
              "x-edoobox-sensitive": true
            },
            "gtm_mess_id": {
              "type": "string",
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 1998,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Structure input getter, response setter and update flags."
                },
                {
                  "file": "application/helpers/edooboxhelp_helper.php",
                  "line": 11560,
                  "sha256": "090d351b5bde81813c7a829bedf2f1f9f978fce5765f246989779f996198934e",
                  "reason": "aP normalization after the substring test."
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                }
              ]
            },
            "gtm_container_id": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 2024,
              "type": "string"
            },
            "meta_html": {
              "type": "string",
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 2044,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Structure input getter, response setter and update flags."
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                }
              ]
            },
            "system_attachments_file_naming": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": {
                    "type": "object",
                    "properties": {},
                    "additionalProperties": {
                      "type": "string"
                    }
                  }
                },
                {
                  "type": "array",
                  "maxItems": 0
                }
              ],
              "description": "Associative map, or [] when there are no naming rules.",
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 2076,
                  "reason": "Input iterates template/ics keys and language-to-name objects; edid occurs on map keys.",
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1"
                },
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 2106,
                  "reason": "Response maps stored keys back to public emailtemplate IDs or ics.",
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1"
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                }
              ]
            },
            "website_integration": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 2132
            },
            "website_url": {
              "type": "string",
              "x-edoobox-contractSource": [
                {
                  "file": "application/models/v2/Settings.php",
                  "line": 2159,
                  "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                  "reason": "Structure input getter, response setter and update flags."
                },
                {
                  "file": "application/models/v2/API_DATA.php",
                  "line": 1853,
                  "sha256": "c0e15d26a7a4f3fb3c25e35557d4420ad395b2af3925caec292de08e32ebf44c",
                  "reason": "Strict false getter rejects invalid URL inputs. Final joined writer rejects strict-false getters and unresolved/multi-join metadata before writes, anchors the joined row to the own parent (including account-key parents), and preserves constant join.where constraints as additional AND predicates. Join-only writes verify the own existing parent. Generic simple-owner hard/soft DELETE now verifies the own existing parent before hooks and repeats FID in DML; missing optional hook data no longer warns. Read, insert, signed authority and GET-effect classifications are unchanged."
                },
                {
                  "file": "docs/openapi/reviews/settings-fields.json",
                  "line": 1,
                  "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                  "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                }
              ]
            },
            "admin_custom_permissions": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 2172,
              "type": "boolean"
            },
            "admin_academic_title_use": {
              "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
              "x-edoobox-sourceLine": 2192,
              "type": "boolean"
            },
            "root_archive": {
              "type": "string",
              "pattern": "^category_[a-f0-9]{12}_-?[0-9]+$",
              "description": "Öffentliche v2-ID aus dem ausgewählten Account; keine interne Datenbank-ID."
            },
            "root_trash": {
              "type": "string",
              "pattern": "^category_[a-f0-9]{12}_-?[0-9]+$",
              "description": "Öffentliche v2-ID aus dem ausgewählten Account; keine interne Datenbank-ID."
            },
            "user_currencys": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "stripe_public_key": {
              "type": [
                "string",
                "boolean"
              ]
            }
          },
          "additionalProperties": true
        }
      ],
      "description": "Einzelnes Account-Einstellungsobjekt; auch die Listenroute reduziert auf das erste gefundene Objekt."
    },
    "type": {
      "type": "string"
    }
  },
  "additionalProperties": true
}
Beispiel
{
  "success": true,
  "error": false,
  "data": {
    "id": "account_012345abcdef_123456",
    "organization_name": "Beispielorganisation",
    "organization_language": "de",
    "root_archive": "category_012345abcdef_123456",
    "root_trash": "category_012345abcdef_123456",
    "language": {
      "languages": [
        "Deutsch",
        "English"
      ],
      "active": [
        "de"
      ],
      "inactive": [
        "en"
      ]
    },
    "user_currencys": [
      "CHF"
    ],
    "account_billing_recipient_admin_id": false
  },
  "limit": {
    "start": 0,
    "reply": 100,
    "total": 1
  }
}
400application/json

Invalid request.

application/json

Typ nicht eingeschränkt

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

Typ nicht eingeschränkt

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

Typ nicht eingeschränkt

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

Typ nicht eingeschränkt

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

Typ nicht eingeschränkt

Kein Schema angegeben. Daraus lässt sich kein vollständiger Feldvertrag ableiten.

Beispiel
{
  "success": false,
  "error": "ED80019"
}
422application/json

Validation failed.

application/json

Typ nicht eingeschränkt

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.

string
Schema-Beispiel
"30"
Vollständiges Schema als JSON
{
  "type": "string",
  "examples": [
    "30"
  ]
}

application/json

Typ nicht eingeschränkt

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

Typ nicht eingeschränkt

Kein Schema angegeben. Daraus lässt sich kein vollständiger Feldvertrag ableiten.

Beispiel
{
  "success": false,
  "error": "ED50201"
}
06

Quelle & Metadaten

Quelle laut Spezifikationapplication/models/v2/Settings.php:2408getSettings()

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
true
x-edoobox-sensitiveResponseFields
[
  "dinaco_client_secret"
]
x-edoobox-mutationReview
{
  "source": {
    "file": "application/models/v2/Settings.php",
    "line": 2586
  },
  "reason": "Settings object/dashboard query; sensitive field exposure is separately controlled."
}
x-edoobox-runtimeMutationGuard
false
x-edoobox-get-effect
"maintenance"
x-edoobox-documentationReview
{
  "file": "docs/openapi/operation-contracts/06-admin-settings.json",
  "notes": []
}
x-edoobox-source
{
  "file": "application/models/v2/Settings.php",
  "method": "getSettings",
  "line": 2408
}
x-edoobox-documentationStatus
"reviewed"
x-edoobox-readOnly
false
x-edoobox-safeForAutomation
false
x-edoobox-permission
{
  "resource": "settings",
  "short": "setti",
  "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_settings",
  "summary": "Account-Einstellungen abrufen",
  "description": "Liest die zentralen Einstellungen des ausgewählten Accounts sowie Sprachen, Archiv-/Papierkorb-IDs, Währungen, Abonnement- und Versionsinformationen. Die Antwort reduziert die generische Auswahl auf das erste gefundene Einstellungsobjekt und ergänzt Account-Metadaten. Bei Bedarf werden Versions-Caches für Admin-Konfigurationsvorlagen und Mehrwertsteuer befüllt. Keine Zugangsdaten aus der Antwort veröffentlichen.",
  "tags": [
    "settings"
  ],
  "security": [
    {
      "bearerAuth": [],
      "accountContext": []
    },
    {
      "sessionCookie": [],
      "accountContext": []
    }
  ],
  "parameters": [
    {
      "name": "fields",
      "in": "query",
      "required": false,
      "description": "JSON-encoded fields value consumed by RequestAPIData / API_DATA; specific actions may ignore it.",
      "content": {
        "application/json": {
          "schema": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "examples": [
              [
                "id"
              ]
            ]
          },
          "example": [
            "id"
          ]
        }
      }
    },
    {
      "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": "settings_012345abcdef_123456"
                }
              ]
            ]
          },
          "example": [
            {
              "property": "id",
              "expression": "=",
              "value": "settings_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": "Ein einzelnes Einstellungsobjekt mit zusätzlichen Account-Metadaten, auch bei /list.",
      "content": {
        "application/json": {
          "example": {
            "success": true,
            "error": false,
            "data": {
              "id": "account_012345abcdef_123456",
              "organization_name": "Beispielorganisation",
              "organization_language": "de",
              "root_archive": "category_012345abcdef_123456",
              "root_trash": "category_012345abcdef_123456",
              "language": {
                "languages": [
                  "Deutsch",
                  "English"
                ],
                "active": [
                  "de"
                ],
                "inactive": [
                  "en"
                ]
              },
              "user_currencys": [
                "CHF"
              ],
              "account_billing_recipient_admin_id": 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",
                    "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": [
                          "settings_012345abcdef_123456"
                        ]
                      },
                      "firstweekday": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 44,
                        "type": "integer"
                      },
                      "format_date": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 53,
                        "type": "integer"
                      },
                      "format_time": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 62,
                        "type": "integer"
                      },
                      "format_calendar_grid": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 71,
                        "type": "integer"
                      },
                      "format_timezone": {
                        "type": "string",
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settingsfunc.php",
                            "line": 5,
                            "reason": "PUT consumes a zone-name string instead of the integer get placeholder.",
                            "sha256": "7a289d246c7c6b70fd88c739a308a883f0f983913cc06f6e04b160792aef3c4f"
                          },
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 85,
                            "reason": "Response returns the account timezone zone_name.",
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1"
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                          }
                        ]
                      },
                      "congress_module": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 102,
                        "type": "boolean"
                      },
                      "format_number": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 112,
                        "type": "integer"
                      },
                      "design": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 121,
                        "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": [
                              "design_012345abcdef_123456"
                            ]
                          },
                          {
                            "const": false
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "root_category": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 130,
                        "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": [
                              "rootcategory_012345abcdef_123456"
                            ]
                          },
                          {
                            "const": false
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "shortcut": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 140,
                        "type": "string"
                      },
                      "organization_name": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 150,
                        "type": "string"
                      },
                      "organization_contactperson": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 159,
                        "type": "string"
                      },
                      "organization_street": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 168,
                        "type": "string"
                      },
                      "organization_postcode": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 177,
                        "type": "string"
                      },
                      "organization_town": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 186,
                        "type": "string"
                      },
                      "organization_country": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 195,
                        "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": [
                              "organizationcountry_012345abcdef_123456"
                            ]
                          },
                          {
                            "const": false
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "organization_language": {
                        "type": [
                          "string",
                          "null"
                        ],
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 205,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Structure input getter, response setter and update flags."
                          },
                          {
                            "file": "application/helpers/langedoobox_helper.php",
                            "line": 731,
                            "sha256": "6454b27d47a74f3cf236ef8e258fbe821228c1607165d00433a309b2e9127d3c",
                            "reason": "edLangIDByName returns configured entry, with fallback for unknown names."
                          },
                          {
                            "file": "application/helpers/langedoobox_helper.php",
                            "line": 566,
                            "sha256": "6454b27d47a74f3cf236ef8e258fbe821228c1607165d00433a309b2e9127d3c",
                            "reason": "edLangById converts internal entries back to public language keys."
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                          }
                        ]
                      },
                      "organization_phone": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 214,
                        "type": "string"
                      },
                      "organization_url": {
                        "type": "string",
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 223,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Structure input getter, response setter and update flags."
                          },
                          {
                            "file": "application/helpers/edooboxhelp_helper.php",
                            "line": 11560,
                            "sha256": "090d351b5bde81813c7a829bedf2f1f9f978fce5765f246989779f996198934e",
                            "reason": "aP text storage normalization."
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                          }
                        ]
                      },
                      "organization_email": {
                        "type": "string",
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settingsfunc.php",
                            "line": 57,
                            "reason": "PUT callback validates the trimmed email syntax, checks raw and encoded lengths, and requires an exact aP/aQ identity before returning storage. False is rejected by generic update as ED90100 before a write.",
                            "sha256": "7a289d246c7c6b70fd88c739a308a883f0f983913cc06f6e04b160792aef3c4f",
                            "lineEnd": 75
                          },
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 237,
                            "reason": "Incoming model getter is bounded to200 characters; generic PUT uses the dedicated validation hook; response unescapes stored text.",
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "lineEnd": 246
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                          }
                        ]
                      },
                      "organization_currency": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 247,
                        "type": "string"
                      },
                      "billingaddress_organization": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 257,
                        "type": "string"
                      },
                      "billingaddress_user": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 266,
                        "type": "string"
                      },
                      "billingaddress_street": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 275,
                        "type": "string"
                      },
                      "billingaddress_postcode_town": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 284,
                        "type": "string"
                      },
                      "billingaddress_phone": {
                        "type": "string",
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 293,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Structure input getter, response setter and update flags."
                          },
                          {
                            "file": "application/helpers/edooboxhelp_helper.php",
                            "line": 11560,
                            "sha256": "090d351b5bde81813c7a829bedf2f1f9f978fce5765f246989779f996198934e",
                            "reason": "Actual aP string-only/truncating storage normalization."
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                          }
                        ]
                      },
                      "billingaddress_email": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 303,
                        "type": "string"
                      },
                      "billingaddress_status": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 312,
                        "type": "boolean"
                      },
                      "user_duplicate_config": {
                        "type": "object",
                        "required": [
                          "version",
                          "enabled",
                          "candidate_threshold",
                          "auto_merge_threshold",
                          "survivor_strategy",
                          "max_merge_users",
                          "rules",
                          "rules_hash",
                          "matching_rules_hash"
                        ],
                        "properties": {
                          "version": {
                            "const": 2
                          },
                          "enabled": {
                            "type": "boolean"
                          },
                          "candidate_threshold": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 100
                          },
                          "auto_merge_threshold": {
                            "type": [
                              "integer",
                              "null"
                            ],
                            "minimum": 1,
                            "maximum": 100
                          },
                          "survivor_strategy": {
                            "enum": [
                              "newest",
                              "oldest"
                            ]
                          },
                          "max_merge_users": {
                            "type": "integer",
                            "minimum": 2,
                            "maximum": 10
                          },
                          "rules": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "required": [
                                "field",
                                "enabled",
                                "required",
                                "weight"
                              ],
                              "properties": {
                                "field": {
                                  "enum": [
                                    "gender",
                                    "first_name",
                                    "last_name",
                                    "street",
                                    "postcode",
                                    "location",
                                    "country",
                                    "language",
                                    "phone_number",
                                    "email",
                                    "company",
                                    "data_1",
                                    "data_2",
                                    "data_3",
                                    "data_4",
                                    "data_5",
                                    "data_6",
                                    "data_7",
                                    "data_8",
                                    "data_9",
                                    "data_10",
                                    "data_11",
                                    "data_12",
                                    "data_13",
                                    "data_14",
                                    "data_15",
                                    "data_16",
                                    "data_17",
                                    "data_18",
                                    "data_19",
                                    "data_20",
                                    "data_21",
                                    "data_22",
                                    "data_23",
                                    "data_24",
                                    "data_25",
                                    "data_26",
                                    "data_27",
                                    "data_28",
                                    "data_29",
                                    "data_30"
                                  ]
                                },
                                "enabled": {
                                  "type": "boolean"
                                },
                                "required": {
                                  "type": "boolean"
                                },
                                "weight": {
                                  "type": "integer",
                                  "minimum": 1,
                                  "maximum": 10
                                }
                              },
                              "additionalProperties": false
                            }
                          },
                          "rules_hash": {
                            "type": "string",
                            "pattern": "^[a-f0-9]{64}$"
                          },
                          "matching_rules_hash": {
                            "type": "string",
                            "pattern": "^[a-f0-9]{64}$"
                          }
                        },
                        "additionalProperties": true,
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 321,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Structure input getter, response setter and update flags."
                          },
                          {
                            "file": "application/models/v2/Userduplicatefunc.php",
                            "line": 28,
                            "sha256": "10da9ce285a01836c403fec784c04775e7713b8f0c61d49c21de38cf3f8ea157",
                            "reason": "Actual normalizeConfigForSave preserves unchanged rule hashes and normalizes current state."
                          },
                          {
                            "file": "application/models/v2/Userduplicatefunc.php",
                            "line": 40,
                            "sha256": "10da9ce285a01836c403fec784c04775e7713b8f0c61d49c21de38cf3f8ea157",
                            "reason": "Full known config defaults, coercion, clamping, hash/version semantics."
                          },
                          {
                            "file": "application/models/v2/Userduplicatefunc.php",
                            "line": 648,
                            "sha256": "10da9ce285a01836c403fec784c04775e7713b8f0c61d49c21de38cf3f8ea157",
                            "reason": "Rule filtering, uniqueness and weight normalization."
                          },
                          {
                            "file": "application/models/v2/Userduplicatefunc.php",
                            "line": 968,
                            "sha256": "10da9ce285a01836c403fec784c04775e7713b8f0c61d49c21de38cf3f8ea157",
                            "reason": "Allowed public data-field selectors for duplicate matching."
                          },
                          {
                            "file": "application/models/v2/Userduplicatefunc.php",
                            "line": 488,
                            "sha256": "10da9ce285a01836c403fec784c04775e7713b8f0c61d49c21de38cf3f8ea157",
                            "reason": "Changed matching rules invalidate derived duplicate data, not only the stored JSON."
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                          }
                        ]
                      },
                      "admin_avatar_mode": {
                        "enum": [
                          "face",
                          "symbol"
                        ],
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 344,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Structure input getter, response setter and update flags."
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                          }
                        ]
                      },
                      "account_billing_recipient_type": {
                        "enum": [
                          "organization",
                          "billing_address",
                          "admin"
                        ],
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 363,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Structure input getter, response setter and update flags."
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                          }
                        ]
                      },
                      "account_billing_recipient_email": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 390,
                        "type": "string"
                      },
                      "account_billing_recipient_admin_id": {
                        "anyOf": [
                          {
                            "type": "string",
                            "pattern": "^admin_[a-f0-9]{12}_(?:-35|[1-9][0-9]*)$",
                            "examples": [
                              "admin_012345abcdef_123456"
                            ],
                            "description": "Canonical public admin v2 ID issued in this account; server validates the account-bound checksum and rejects raw IDs."
                          },
                          {
                            "const": false,
                            "x-edoobox-id-kind": "empty-relation"
                          }
                        ],
                        "description": "Billing administrator as a public admin v2 ID; false when unset. Internal database primary keys are never serialized.",
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 421,
                            "reason": "The corrected inbound getter accepts a canonical tenant-bound admin v2 reference and normalizes explicit clear sentinels; positive raw primary keys are rejected.",
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1"
                          },
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 437,
                            "reason": "The outbound setter encodes a positive database admin key as a public v2 ID and emits false for zero.",
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1"
                          },
                          {
                            "file": "application/models/v2/API_DATA.php",
                            "line": 1853,
                            "reason": "Join updates call the field getter before persisting; response serialization calls the field setter at line1068. Final joined writer rejects strict-false getters and unresolved/multi-join metadata before writes, anchors the joined row to the own parent (including account-key parents), and preserves constant join.where constraints as additional AND predicates. Join-only writes verify the own existing parent. Generic simple-owner hard/soft DELETE now verifies the own existing parent before hooks and repeats FID in DML; missing optional hook data no longer warns. Read, insert, signed authority and GET-effect classifications are unchanged.",
                            "sha256": "c0e15d26a7a4f3fb3c25e35557d4420ad395b2af3925caec292de08e32ebf44c"
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "ba623ac262f6f53eec7d494cd53d3c45f91f0eaa6e0d5757b869d71df6423aa5"
                          }
                        ]
                      },
                      "account_billing_auto_charge_enabled": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 440,
                        "type": "boolean"
                      },
                      "account_billing_topup_enabled": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 459,
                        "type": "boolean"
                      },
                      "account_billing_topup_threshold": {
                        "type": "number",
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 478,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Structure input getter, response setter and update flags."
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                          }
                        ]
                      },
                      "account_billing_topup_amount": {
                        "type": "number",
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 497,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Structure input getter, response setter and update flags."
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                          }
                        ]
                      },
                      "internal_all": {
                        "type": "boolean",
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 516,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Structure input getter, response setter and update flags."
                          },
                          {
                            "file": "application/models/v2/Settingsfunc.php",
                            "line": 23,
                            "sha256": "7a289d246c7c6b70fd88c739a308a883f0f983913cc06f6e04b160792aef3c4f",
                            "reason": "Actual field hook handles loose truthiness and subscription verification."
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                          }
                        ]
                      },
                      "notification_minimummaximum": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 526,
                        "type": "boolean"
                      },
                      "notification_booking": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 535,
                        "type": "boolean"
                      },
                      "vat_included": {
                        "enum": [
                          "exclusive",
                          "including"
                        ],
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 544,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Structure input getter, response setter and update flags."
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                          }
                        ]
                      },
                      "vat_reverse_charge_texts": {
                        "anyOf": [
                          {
                            "type": "object",
                            "additionalProperties": {
                              "type": "string"
                            }
                          },
                          {
                            "type": "array",
                            "maxItems": 0
                          },
                          {
                            "type": "null"
                          }
                        ],
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 553,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Structure input getter, response setter and update flags."
                          },
                          {
                            "file": "application/helpers/edooboxhelp_helper.php",
                            "line": 11560,
                            "sha256": "090d351b5bde81813c7a829bedf2f1f9f978fce5765f246989779f996198934e",
                            "reason": "Each recognized text is normalized by aP."
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                          }
                        ]
                      },
                      "offer_sort": {
                        "enum": [
                          "date",
                          "manual"
                        ],
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 580,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Structure input getter, response setter and update flags."
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                          }
                        ]
                      },
                      "offer_func_1": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 589,
                        "type": "boolean"
                      },
                      "offer_func_1_status": {
                        "enum": [
                          3,
                          4
                        ],
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 598,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Structure input getter, response setter and update flags."
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                          }
                        ]
                      },
                      "offer_archiving": {
                        "enum": [
                          1,
                          2,
                          3,
                          false
                        ],
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 607,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Structure input getter, response setter and update flags."
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                          }
                        ]
                      },
                      "offer_archiving_reference_date": {
                        "enum": [
                          "start",
                          "visibility"
                        ],
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 634,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Structure input getter, response setter and update flags."
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                          }
                        ]
                      },
                      "news_and_tricks": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 644,
                        "type": "boolean"
                      },
                      "booking_create_admin": {
                        "enum": [
                          1,
                          2,
                          false
                        ],
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 653,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Structure input getter, response setter and update flags."
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                          }
                        ]
                      },
                      "booking_userlogin": {
                        "enum": [
                          1,
                          2,
                          3,
                          4
                        ],
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 686,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Structure input getter, response setter and update flags."
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                          }
                        ]
                      },
                      "booking_login": {
                        "enum": [
                          1,
                          2,
                          3,
                          null
                        ],
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 713,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Structure input getter, response setter and update flags."
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                          }
                        ]
                      },
                      "booking_login_global_users": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 738,
                        "type": "boolean"
                      },
                      "booking_cancellation": {
                        "enum": [
                          1,
                          2,
                          3,
                          4
                        ],
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 757,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Structure input getter, response setter and update flags."
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                          }
                        ]
                      },
                      "booking_cancellation_admin_confirmation_mail": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 784,
                        "type": "boolean"
                      },
                      "booking_reservation": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 803,
                        "type": "boolean"
                      },
                      "booking_paymentpage": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 812,
                        "type": "boolean"
                      },
                      "booking_sendinfo": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 822,
                        "type": "boolean"
                      },
                      "booking_label_notifications": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "required": [
                            "label",
                            "email",
                            "emailtemplate"
                          ],
                          "properties": {
                            "label": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 15
                            },
                            "email": {
                              "type": "string"
                            },
                            "emailtemplate": {
                              "type": "string",
                              "pattern": "^emailtemplate_[a-f0-9]{12}_-?[0-9]+$"
                            }
                          },
                          "additionalProperties": false
                        },
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 831,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Structure input getter, response setter and update flags."
                          },
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 3060,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Actual rule filtering and per-account template lookup."
                          },
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 3105,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Response filter emits typed public emailtemplate IDs."
                          },
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 3159,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Template must belong to the account and be an email template, not PDF."
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                          }
                        ]
                      },
                      "booking_send_pdf": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 850,
                        "type": "boolean"
                      },
                      "booking_send_ics": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 859,
                        "type": "boolean"
                      },
                      "booking_reminder": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 878,
                        "type": "boolean"
                      },
                      "booking_reminder_hours": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 887,
                        "type": "integer"
                      },
                      "booking_visitconfirmation": {
                        "enum": [
                          1,
                          2,
                          false
                        ]
                      },
                      "booking_number": {
                        "type": "integer",
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 937,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Structure input getter, response setter and update flags."
                          },
                          {
                            "file": "application/models/v2/Settingsfunc.php",
                            "line": 288,
                            "sha256": "7a289d246c7c6b70fd88c739a308a883f0f983913cc06f6e04b160792aef3c4f",
                            "reason": "Actual hook range check and tenant-scoped uniqueness query."
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                          }
                        ]
                      },
                      "booking_cert_percent": {
                        "type": "integer",
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 948,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Structure input getter, response setter and update flags."
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                          }
                        ]
                      },
                      "booking_cert_notvisitmail": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 975,
                        "type": "boolean"
                      },
                      "booking_cert_senddelayhours": {
                        "type": "integer",
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 996,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Structure input getter, response setter and update flags."
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                          }
                        ]
                      },
                      "booking_cert_validation_url": {
                        "type": "boolean",
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 1024,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Structure input getter, response setter and update flags."
                          },
                          {
                            "file": "application/models/v2/Settingsfunc.php",
                            "line": 40,
                            "sha256": "7a289d246c7c6b70fd88c739a308a883f0f983913cc06f6e04b160792aef3c4f",
                            "reason": "Actual field hook handles loose truthiness and subscription verification."
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                          }
                        ]
                      },
                      "booking_cert_attachpdf": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 1046,
                        "type": "boolean"
                      },
                      "booking_cert_attachpdfpercent": {
                        "type": "integer",
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 1206,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Structure input getter, response setter and update flags."
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                          }
                        ]
                      },
                      "booking_cert_secondemail": {
                        "type": "boolean",
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 1094,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Structure input getter, response setter and update flags."
                          },
                          {
                            "file": "application/models/v2/Settingsfunc.php",
                            "line": 641,
                            "sha256": "7a289d246c7c6b70fd88c739a308a883f0f983913cc06f6e04b160792aef3c4f",
                            "reason": "Actual conditional second-email flag hook; getter called explicitly and destination checked against stored settings."
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                          }
                        ]
                      },
                      "booking_cert_secondemail_field": {
                        "anyOf": [
                          {
                            "type": "string",
                            "enum": [
                              "status",
                              "gender",
                              "first_name",
                              "last_name",
                              "street",
                              "postcode",
                              "location",
                              "country",
                              "language",
                              "phone_number",
                              "email",
                              "company",
                              "data_1",
                              "data_2",
                              "data_3",
                              "data_4",
                              "data_5",
                              "data_6",
                              "data_7",
                              "data_8",
                              "data_9",
                              "data_10",
                              "data_11",
                              "data_12",
                              "data_13",
                              "data_14",
                              "data_15",
                              "data_16",
                              "data_17",
                              "data_18",
                              "data_19",
                              "data_20",
                              "data_21",
                              "data_22",
                              "data_23",
                              "data_24",
                              "data_25",
                              "data_26",
                              "data_27",
                              "data_28",
                              "data_29",
                              "data_30"
                            ]
                          },
                          {
                            "const": false
                          },
                          {
                            "type": "null"
                          }
                        ],
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 1115,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Structure input getter, response setter and update flags."
                          },
                          {
                            "file": "application/models/v2/Datastructure.php",
                            "line": 20,
                            "sha256": "256cfd2c1002e4708b342b6649fa6bfda780273306c30ae2a43d424fd0e2e6a8",
                            "reason": "Public field-key to storage-column map; this selector is not a database record ID."
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                          }
                        ]
                      },
                      "booking_secondemail": {
                        "type": "boolean",
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 1150,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Structure input getter, response setter and update flags."
                          },
                          {
                            "file": "application/models/v2/Settingsfunc.php",
                            "line": 693,
                            "sha256": "7a289d246c7c6b70fd88c739a308a883f0f983913cc06f6e04b160792aef3c4f",
                            "reason": "Actual conditional second-email flag hook; getter called explicitly and destination checked against stored settings."
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                          }
                        ]
                      },
                      "booking_secondemail_field": {
                        "anyOf": [
                          {
                            "type": "string",
                            "enum": [
                              "status",
                              "gender",
                              "first_name",
                              "last_name",
                              "street",
                              "postcode",
                              "location",
                              "country",
                              "language",
                              "phone_number",
                              "email",
                              "company",
                              "data_1",
                              "data_2",
                              "data_3",
                              "data_4",
                              "data_5",
                              "data_6",
                              "data_7",
                              "data_8",
                              "data_9",
                              "data_10",
                              "data_11",
                              "data_12",
                              "data_13",
                              "data_14",
                              "data_15",
                              "data_16",
                              "data_17",
                              "data_18",
                              "data_19",
                              "data_20",
                              "data_21",
                              "data_22",
                              "data_23",
                              "data_24",
                              "data_25",
                              "data_26",
                              "data_27",
                              "data_28",
                              "data_29",
                              "data_30"
                            ]
                          },
                          {
                            "const": false
                          },
                          {
                            "type": "null"
                          }
                        ],
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 1171,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Structure input getter, response setter and update flags."
                          },
                          {
                            "file": "application/models/v2/Datastructure.php",
                            "line": 20,
                            "sha256": "256cfd2c1002e4708b342b6649fa6bfda780273306c30ae2a43d424fd0e2e6a8",
                            "reason": "Public field-key to storage-column map; this selector is not a database record ID."
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                          }
                        ]
                      },
                      "booking_offerlist_secondemail_field": {
                        "anyOf": [
                          {
                            "type": "string",
                            "enum": [
                              "status",
                              "gender",
                              "first_name",
                              "last_name",
                              "street",
                              "postcode",
                              "location",
                              "country",
                              "language",
                              "phone_number",
                              "email",
                              "company",
                              "data_1",
                              "data_2",
                              "data_3",
                              "data_4",
                              "data_5",
                              "data_6",
                              "data_7",
                              "data_8",
                              "data_9",
                              "data_10",
                              "data_11",
                              "data_12",
                              "data_13",
                              "data_14",
                              "data_15",
                              "data_16",
                              "data_17",
                              "data_18",
                              "data_19",
                              "data_20",
                              "data_21",
                              "data_22",
                              "data_23",
                              "data_24",
                              "data_25",
                              "data_26",
                              "data_27",
                              "data_28",
                              "data_29",
                              "data_30"
                            ]
                          },
                          {
                            "const": false
                          },
                          {
                            "type": "null"
                          }
                        ],
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 1233,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Structure input getter, response setter and update flags."
                          },
                          {
                            "file": "application/models/v2/Datastructure.php",
                            "line": 20,
                            "sha256": "256cfd2c1002e4708b342b6649fa6bfda780273306c30ae2a43d424fd0e2e6a8",
                            "reason": "Public field-key to storage-column map; this selector is not a database record ID."
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                          }
                        ]
                      },
                      "booking_offerlist_cancel_mail": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 1268,
                        "type": "boolean"
                      },
                      "booking_allow_promotions": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 1288,
                        "type": "boolean"
                      },
                      "booking_designation_promotions": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 1297,
                        "type": "string"
                      },
                      "skip_counter": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 1306,
                        "type": "integer"
                      },
                      "question_deliverables_show": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 1316,
                        "type": "boolean"
                      },
                      "multi_offer_show": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 1336,
                        "type": "boolean"
                      },
                      "multi_offer_child_limit": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 1346,
                        "type": "integer"
                      },
                      "automatic_deletion": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 1367
                      },
                      "edsupport_access": {
                        "type": "integer",
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 1395,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Structure input getter, response setter and update flags."
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                          }
                        ]
                      },
                      "payment_confirmation_mail": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 1428,
                        "type": "boolean"
                      },
                      "barcode_type": {
                        "enum": [
                          "pdf417",
                          "qrcode",
                          "datamatrix"
                        ]
                      },
                      "barcode_mobile_wallet": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 1461,
                        "type": "boolean"
                      },
                      "mobile_wallet_background_color": {
                        "type": "string",
                        "pattern": "^#[0-9A-F]{6}$",
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 1470,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Structure input getter, response setter and update flags."
                          },
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 3181,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Shared color normalizer returns uppercase hex or the field-specific fallback."
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                          }
                        ]
                      },
                      "mobile_wallet_foreground_color": {
                        "type": "string",
                        "pattern": "^(?:#[0-9A-F]{6})?$",
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 1479,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Structure input getter, response setter and update flags."
                          },
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 3181,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Shared color normalizer returns uppercase hex or the field-specific fallback."
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                          }
                        ]
                      },
                      "mobile_wallet_use_offer_image": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 1488,
                        "type": "boolean"
                      },
                      "mobile_wallet_fallback_image_url": {
                        "type": "string",
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 1497,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Structure input getter, response setter and update flags."
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                          }
                        ]
                      },
                      "mobile_wallet_display_name": {
                        "type": "string",
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 1506,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Structure input getter, response setter and update flags."
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                          }
                        ]
                      },
                      "mobile_wallet_support_url": {
                        "type": "string",
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 1515,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Structure input getter, response setter and update flags."
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                          }
                        ]
                      },
                      "barcode_ticket": {
                        "enum": [
                          false,
                          "always",
                          "offer"
                        ]
                      },
                      "collective_booking_max": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 1548,
                        "type": "integer"
                      },
                      "collective_booking_identify": {
                        "anyOf": [
                          {
                            "type": "string",
                            "enum": [
                              "status",
                              "gender",
                              "first_name",
                              "last_name",
                              "street",
                              "postcode",
                              "location",
                              "country",
                              "language",
                              "phone_number",
                              "email",
                              "company",
                              "data_1",
                              "data_2",
                              "data_3",
                              "data_4",
                              "data_5",
                              "data_6",
                              "data_7",
                              "data_8",
                              "data_9",
                              "data_10",
                              "data_11",
                              "data_12",
                              "data_13",
                              "data_14",
                              "data_15",
                              "data_16",
                              "data_17",
                              "data_18",
                              "data_19",
                              "data_20",
                              "data_21",
                              "data_22",
                              "data_23",
                              "data_24",
                              "data_25",
                              "data_26",
                              "data_27",
                              "data_28",
                              "data_29",
                              "data_30"
                            ]
                          },
                          {
                            "const": false
                          },
                          {
                            "type": "null"
                          }
                        ],
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 1563,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Structure input getter, response setter and update flags."
                          },
                          {
                            "file": "application/models/v2/Datastructure.php",
                            "line": 20,
                            "sha256": "256cfd2c1002e4708b342b6649fa6bfda780273306c30ae2a43d424fd0e2e6a8",
                            "reason": "Public field-key to storage-column map; this selector is not a database record ID."
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                          }
                        ]
                      },
                      "collective_booking_identify_privacy": {
                        "anyOf": [
                          {
                            "type": "string",
                            "enum": [
                              "status",
                              "gender",
                              "first_name",
                              "last_name",
                              "street",
                              "postcode",
                              "location",
                              "country",
                              "language",
                              "phone_number",
                              "email",
                              "company",
                              "data_1",
                              "data_2",
                              "data_3",
                              "data_4",
                              "data_5",
                              "data_6",
                              "data_7",
                              "data_8",
                              "data_9",
                              "data_10",
                              "data_11",
                              "data_12",
                              "data_13",
                              "data_14",
                              "data_15",
                              "data_16",
                              "data_17",
                              "data_18",
                              "data_19",
                              "data_20",
                              "data_21",
                              "data_22",
                              "data_23",
                              "data_24",
                              "data_25",
                              "data_26",
                              "data_27",
                              "data_28",
                              "data_29",
                              "data_30"
                            ]
                          },
                          {
                            "const": false
                          },
                          {
                            "type": "null"
                          }
                        ],
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 1586,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Structure input getter, response setter and update flags."
                          },
                          {
                            "file": "application/models/v2/Datastructure.php",
                            "line": 20,
                            "sha256": "256cfd2c1002e4708b342b6649fa6bfda780273306c30ae2a43d424fd0e2e6a8",
                            "reason": "Public field-key to storage-column map; this selector is not a database record ID."
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                          }
                        ]
                      },
                      "collective_booking_identify_obligatory": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 1610,
                        "type": "boolean"
                      },
                      "collective_booking_master": {
                        "enum": [
                          "manual",
                          "all",
                          false
                        ]
                      },
                      "security_headers_csp": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 1654,
                        "type": "boolean"
                      },
                      "design_subcategory": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 1699,
                        "type": "boolean"
                      },
                      "legaltext_atc": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 1708,
                        "type": "boolean"
                      },
                      "legaltext_ri": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 1717,
                        "type": "boolean"
                      },
                      "legaltext_pp": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 1726,
                        "type": "boolean"
                      },
                      "attendance_config": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "status": {
                              "type": [
                                "integer",
                                "string"
                              ],
                              "description": "The key is derived with an integer cast; stored status representation is preserved in the record."
                            },
                            "order": {
                              "type": "integer"
                            },
                            "counter": {},
                            "val": {},
                            "color": {},
                            "help": {},
                            "lock": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": true,
                          "required": [
                            "status",
                            "order"
                          ]
                        },
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settingsfunc.php",
                            "line": 153,
                            "reason": "PUT sorts the status-record array, casts status/order and normalizes counter.",
                            "sha256": "7a289d246c7c6b70fd88c739a308a883f0f983913cc06f6e04b160792aef3c4f"
                          },
                          {
                            "file": "application/models/v2/Settingsfunc.php",
                            "line": 208,
                            "reason": "Exactly three required-status occurrences are checked.",
                            "sha256": "7a289d246c7c6b70fd88c739a308a883f0f983913cc06f6e04b160792aef3c4f"
                          },
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 1739,
                            "reason": "Response returns ordered status records as a JSON array.",
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1"
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                          }
                        ]
                      },
                      "language": {
                        "type": "object",
                        "properties": {
                          "languages": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "active": {
                            "type": [
                              "object",
                              "array"
                            ]
                          },
                          "inactive": {
                            "type": [
                              "object",
                              "array"
                            ]
                          }
                        },
                        "additionalProperties": true
                      },
                      "edsubscription": {
                        "type": "string",
                        "pattern": "^edsubscription_[a-f0-9]{12}_-?[0-9]+$",
                        "description": "Öffentliche v2-ID aus dem ausgewählten Account; keine interne Datenbank-ID."
                      },
                      "edsubscription_testinguntildate": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 1786
                      },
                      "versions": {
                        "type": "object",
                        "properties": {},
                        "additionalProperties": true
                      },
                      "pdf_engine": {
                        "enum": [
                          1,
                          2,
                          null
                        ],
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 1821,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Structure input getter, response setter and update flags."
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                          }
                        ]
                      },
                      "pdf_edit_restriction_password": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 1851,
                        "type": "boolean"
                      },
                      "pdf_paper_size": {
                        "type": "string",
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 1870,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Structure input getter, response setter and update flags."
                          },
                          {
                            "file": "vendor/dompdf/dompdf/src/Adapter/CPDF.php",
                            "line": 42,
                            "sha256": "7dca4a096b08c006f12bfccd733068223d92e502b9a625c49bd919373f714001",
                            "reason": "Installed Dompdf paper-size key list, matched case-insensitively by the source getter."
                          },
                          {
                            "file": "application/models/v2/API_DATA.php",
                            "line": 1853,
                            "sha256": "c0e15d26a7a4f3fb3c25e35557d4420ad395b2af3925caec292de08e32ebf44c",
                            "reason": "Normal fields check strict false; joined fields instead collect getter output at 1793 and execute it at 1827 without that rejection. Final joined writer rejects strict-false getters and unresolved/multi-join metadata before writes, anchors the joined row to the own parent (including account-key parents), and preserves constant join.where constraints as additional AND predicates. Join-only writes verify the own existing parent. Generic simple-owner hard/soft DELETE now verifies the own existing parent before hooks and repeats FID in DML; missing optional hook data no longer warns. Read, insert, signed authority and GET-effect classifications are unchanged."
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                          }
                        ]
                      },
                      "pdf_custom_css": {
                        "type": "string",
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 1892,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Structure input getter, response setter and update flags."
                          },
                          {
                            "file": "application/libraries/edoobox/integrations/pdf/Pdf.php",
                            "line": 16,
                            "sha256": "b286cdc4d20e02601db9acc35b06564357f10378961e72cb8f4e22e64b3a3254",
                            "reason": "Allowed PDF font keys used by the CSS normalizer."
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                          }
                        ]
                      },
                      "dinaco_client_id": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 1960,
                        "type": "string"
                      },
                      "dinaco_client_secret": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 1979,
                        "x-edoobox-sensitive": true
                      },
                      "gtm_mess_id": {
                        "type": "string",
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 1998,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Structure input getter, response setter and update flags."
                          },
                          {
                            "file": "application/helpers/edooboxhelp_helper.php",
                            "line": 11560,
                            "sha256": "090d351b5bde81813c7a829bedf2f1f9f978fce5765f246989779f996198934e",
                            "reason": "aP normalization after the substring test."
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                          }
                        ]
                      },
                      "gtm_container_id": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 2024,
                        "type": "string"
                      },
                      "meta_html": {
                        "type": "string",
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 2044,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Structure input getter, response setter and update flags."
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                          }
                        ]
                      },
                      "system_attachments_file_naming": {
                        "anyOf": [
                          {
                            "type": "object",
                            "properties": {},
                            "additionalProperties": {
                              "type": "object",
                              "properties": {},
                              "additionalProperties": {
                                "type": "string"
                              }
                            }
                          },
                          {
                            "type": "array",
                            "maxItems": 0
                          }
                        ],
                        "description": "Associative map, or [] when there are no naming rules.",
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 2076,
                            "reason": "Input iterates template/ics keys and language-to-name objects; edid occurs on map keys.",
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1"
                          },
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 2106,
                            "reason": "Response maps stored keys back to public emailtemplate IDs or ics.",
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1"
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                          }
                        ]
                      },
                      "website_integration": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 2132
                      },
                      "website_url": {
                        "type": "string",
                        "x-edoobox-contractSource": [
                          {
                            "file": "application/models/v2/Settings.php",
                            "line": 2159,
                            "sha256": "431e6774611828ce07fb932ead801e3b2e3b7a15214e5d9498487b545c0d73f1",
                            "reason": "Structure input getter, response setter and update flags."
                          },
                          {
                            "file": "application/models/v2/API_DATA.php",
                            "line": 1853,
                            "sha256": "c0e15d26a7a4f3fb3c25e35557d4420ad395b2af3925caec292de08e32ebf44c",
                            "reason": "Strict false getter rejects invalid URL inputs. Final joined writer rejects strict-false getters and unresolved/multi-join metadata before writes, anchors the joined row to the own parent (including account-key parents), and preserves constant join.where constraints as additional AND predicates. Join-only writes verify the own existing parent. Generic simple-owner hard/soft DELETE now verifies the own existing parent before hooks and repeats FID in DML; missing optional hook data no longer warns. Read, insert, signed authority and GET-effect classifications are unchanged."
                          },
                          {
                            "file": "docs/openapi/reviews/settings-fields.json",
                            "line": 1,
                            "reason": "Field-level Settings source review and runtime limitations; source-executing offline regressions are separate evidence.",
                            "sha256": "be8942fdca4dbcf16a5c5767f778b5644e53284101fa8aa6d00d8f1de7cf3df9"
                          }
                        ]
                      },
                      "admin_custom_permissions": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 2172,
                        "type": "boolean"
                      },
                      "admin_academic_title_use": {
                        "description": "Response field from the resource Structure; dynamic values remain unconstrained.",
                        "x-edoobox-sourceLine": 2192,
                        "type": "boolean"
                      },
                      "root_archive": {
                        "type": "string",
                        "pattern": "^category_[a-f0-9]{12}_-?[0-9]+$",
                        "description": "Öffentliche v2-ID aus dem ausgewählten Account; keine interne Datenbank-ID."
                      },
                      "root_trash": {
                        "type": "string",
                        "pattern": "^category_[a-f0-9]{12}_-?[0-9]+$",
                        "description": "Öffentliche v2-ID aus dem ausgewählten Account; keine interne Datenbank-ID."
                      },
                      "user_currencys": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "stripe_public_key": {
                        "type": [
                          "string",
                          "boolean"
                        ]
                      }
                    },
                    "additionalProperties": true
                  }
                ],
                "description": "Einzelnes Account-Einstellungsobjekt; auch die Listenroute reduziert auf das erste gefundene Objekt."
              },
              "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": true,
  "x-edoobox-sensitiveResponseFields": [
    "dinaco_client_secret"
  ],
  "x-edoobox-mutationReview": {
    "source": {
      "file": "application/models/v2/Settings.php",
      "line": 2586
    },
    "reason": "Settings object/dashboard query; sensitive field exposure is separately controlled."
  },
  "x-edoobox-runtimeMutationGuard": false,
  "x-edoobox-get-effect": "maintenance",
  "x-edoobox-documentationReview": {
    "file": "docs/openapi/operation-contracts/06-admin-settings.json",
    "notes": []
  },
  "x-edoobox-source": {
    "file": "application/models/v2/Settings.php",
    "method": "getSettings",
    "line": 2408
  },
  "x-edoobox-documentationStatus": "reviewed",
  "x-edoobox-readOnly": false,
  "x-edoobox-safeForAutomation": false,
  "x-edoobox-permission": {
    "resource": "settings",
    "short": "setti",
    "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."
  }
}