# Update Account Settings

Changes settings of a KlickTipp account and answers with the settings as they now stand. Only the settings named in the call are written; everything else keeps its value, so a caller does not have to send back what it does not change. A setting this account may not edit is refused by name rather than ignored -- the platform keeps several of them for support, and get-account-settings reports which ones this account has. Credentials of connected services cannot be set here at all; that stays in the KlickTipp app. Read the current state with get-account-settings first. Every named value is checked first -- a preview tag must exist in the account, the blacklist must be well formed -- and one bad or forbidden setting refuses the whole call with nothing written. refusals only lists what the platform turned down while saving; the other changes are then saved.

## Input schema:

```json
{
  "type": "object",
  "properties": {
    "settings": {
      "type": "object",
      "description": "The settings to change, by name; every setting left out keeps its value",
      "properties": {
        "enableMetaLabels": {
          "type": "boolean"
        },
        "enableNotes": {
          "type": "boolean"
        },
        "enableDdEditorManualSaveButton": {
          "type": "boolean"
        },
        "disableEmailSignatureSeparator": {
          "type": "boolean"
        },
        "deactivateUserNotificationEmails": {
          "type": "boolean"
        },
        "plainTextContentByUser": {
          "type": "boolean"
        },
        "useEnglishSubscriberArea": {
          "type": "boolean"
        },
        "deactivateGlobalBounceManagement": {
          "type": "boolean"
        },
        "unlimitedEmailsPerDay": {
          "type": "boolean"
        },
        "allowSingleOptInProcess": {
          "type": "boolean"
        },
        "allowSignaturesWithoutParameters": {
          "type": "boolean"
        },
        "allowKlicktippSenderAddress": {
          "type": "boolean"
        },
        "allowEmailRewriting": {
          "type": "boolean"
        },
        "knownForSpamActivity": {
          "type": "boolean"
        },
        "previewSubscriberMarkerTag": {
          "type": "string",
          "maxLength": 100,
          "pattern": "^[0-9]*$",
          "description": "ID of an existing tag of this account that marks preview subscribers; empty string removes it"
        },
        "emailBlacklist": {
          "type": "string",
          "maxLength": 100000,
          "description": "Addresses and domains this account never sends to, one per line; empty string clears it"
        }
      },
      "additionalProperties": false
    },
    "accountId": {
      "type": [
        "null",
        "integer"
      ],
      "description": "User ID of the account; omit for the account the access token works in",
      "default": null,
      "minimum": 1
    }
  },
  "required": [
    "settings"
  ],
  "additionalProperties": false
}
```

## Output schema:

```json
{
  "type": "object",
  "required": [
    "accountId",
    "settings",
    "credentials",
    "editUrl"
  ],
  "properties": {
    "accountId": {
      "type": "integer"
    },
    "settings": {
      "type": "object",
      "description": "The settings this account may edit; one this account may not edit is absent",
      "additionalProperties": {
        "type": [
          "boolean",
          "string",
          "null"
        ]
      }
    },
    "credentials": {
      "type": "object",
      "description": "Per service, whether credentials are stored -- never the credentials themselves",
      "additionalProperties": {
        "type": "boolean"
      }
    },
    "editUrl": {
      "type": "string"
    },
    "refusals": {
      "type": "object",
      "description": "Rejected preferences from an attempted update; other changes may already be applied in settings",
      "additionalProperties": {
        "type": "string"
      }
    }
  }
}
```

