# Write Email Text Look

Sets the typography of heading, paragraph, text and list blocks, several in one call: colour, link colour, font, size, weight, letter spacing, line height, and a size for phones. Stored where the editor keeps it and the only place the email renders it from -- a line-height in the markup is dropped. A paragraph also takes the space between paragraphs, a list its marker and item spacing; the older text block takes neither size nor weight, which live in its markup. A value a kind does not have is refused by name. The words are update-email-editor-text, the space and alignment around the block update-email-editor-block-style. Everything not named stays as it is. Bound to the contentRevision of the read and refused whole if anything in it fails, so nothing half-written is stored. Drafts only. Saves the draft; publishing is publish-newsletter-email-content.

## Input schema:

```json
{
  "type": "object",
  "properties": {
    "editorUrl": {
      "type": "string",
      "description": "Editor URL of the email, as the read returned it",
      "minLength": 12,
      "maxLength": 500
    },
    "contentRevision": {
      "type": "string",
      "description": "The contentRevision of the read this change is based on",
      "minLength": 7,
      "maxLength": 100
    },
    "uuids": {
      "type": "array",
      "description": "The uuids of the text blocks to write; the same values land on each",
      "items": {
        "type": "string"
      },
      "minItems": 1,
      "maxItems": 60
    },
    "textColor": {
      "type": [
        "null",
        "string"
      ],
      "description": "Colour of the text",
      "default": null,
      "pattern": "^(#[0-9a-fA-F]{6}|#[0-9a-fA-F]{3}|transparent)$"
    },
    "linkColor": {
      "type": [
        "null",
        "string"
      ],
      "description": "Colour of the links in it",
      "default": null,
      "pattern": "^(#[0-9a-fA-F]{6}|#[0-9a-fA-F]{3}|transparent)$"
    },
    "fontFamily": {
      "type": [
        "null",
        "string"
      ],
      "description": "Font by name, or \"inherit\" for the email's font",
      "default": null,
      "enum": [
        "inherit",
        "Arial",
        "Courier",
        "Georgia",
        "Helvetica Neue",
        "Lucida Sans",
        "Tahoma",
        "Times New Roman",
        "Trebuchet MS",
        "Verdana",
        "ヒラギノ角ゴ Pro W3",
        "メイリオ"
      ]
    },
    "fontSize": {
      "type": [
        "null",
        "integer"
      ],
      "description": "Size in pixels; heading, paragraph and list only",
      "default": null,
      "minimum": 8,
      "maximum": 120
    },
    "fontWeight": {
      "type": [
        "null",
        "string"
      ],
      "description": "Weight, \"400\" regular to \"700\" bold; heading, paragraph and list only",
      "default": null,
      "enum": [
        "100",
        "200",
        "300",
        "400",
        "500",
        "600",
        "700",
        "800",
        "900"
      ]
    },
    "letterSpacing": {
      "type": [
        "null",
        "integer"
      ],
      "description": "Space between letters in pixels, negative tightens",
      "default": null,
      "minimum": -10,
      "maximum": 30
    },
    "lineHeight": {
      "type": [
        "null",
        "string"
      ],
      "description": "Line height as a percentage, \"150%\"",
      "default": null,
      "pattern": "^[0-9]{2,3}%$"
    },
    "paragraphSpacing": {
      "type": [
        "null",
        "integer"
      ],
      "description": "Space between paragraphs in pixels; paragraph only",
      "default": null,
      "minimum": 0,
      "maximum": 100
    },
    "listStyleType": {
      "type": [
        "null",
        "string"
      ],
      "description": "Marker of each item; list only",
      "default": null,
      "enum": [
        "disc",
        "circle",
        "square",
        "decimal",
        "lower-alpha",
        "upper-alpha",
        "lower-roman",
        "upper-roman",
        "none"
      ]
    },
    "listItemSpacing": {
      "type": [
        "null",
        "integer"
      ],
      "description": "Space between items in pixels; list only",
      "default": null,
      "minimum": 0,
      "maximum": 100
    },
    "mobileFontSize": {
      "type": [
        "null",
        "integer"
      ],
      "description": "Size on a phone in pixels; heading, paragraph and list only",
      "default": null,
      "minimum": 8,
      "maximum": 120
    },
    "accountId": {
      "type": [
        "null",
        "integer"
      ],
      "description": "User ID of the account; omit for the account the access token works in",
      "default": null,
      "minimum": 1
    }
  },
  "required": [
    "editorUrl",
    "contentRevision",
    "uuids"
  ],
  "additionalProperties": false
}
```

## Output schema:

```json
{
  "type": "object",
  "oneOf": [
    {
      "type": "object",
      "required": [
        "operation",
        "previousContentStatus",
        "contentStatus",
        "emailId",
        "contentRevision",
        "warnings",
        "editorUrl",
        "nextAction",
        "created"
      ],
      "properties": {
        "operation": {
          "type": "string",
          "enum": [
            "replaced",
            "unchanged"
          ],
          "description": "\"replaced\": the stored document is a new one; \"unchanged\": nothing was persisted."
        },
        "previousContentStatus": {
          "type": "string",
          "enum": [
            "draft",
            "published",
            "unpublished_changes"
          ]
        },
        "contentStatus": {
          "type": "string",
          "enum": [
            "draft",
            "published",
            "unpublished_changes"
          ]
        },
        "emailId": {
          "type": "integer"
        },
        "contentRevision": {
          "type": "string"
        },
        "warnings": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "editorUrl": {
          "type": "string"
        },
        "created": {
          "type": "array",
          "description": "What this write created, with uuids: after \"addRow\" the row and its columns, after \"addModule\" the block, plus the contentRevision the next write needs. Empty when nothing was created.",
          "items": {
            "type": "object",
            "required": [
              "operation",
              "type",
              "uuid"
            ],
            "properties": {
              "operation": {
                "type": "integer",
                "description": "Position of the creating operation in the request, counted from one."
              },
              "type": {
                "type": "string",
                "enum": [
                  "row",
                  "module"
                ]
              },
              "uuid": {
                "type": "string"
              },
              "kind": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "The block kind, for a module."
              },
              "columns": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Uuids of the columns of a new row, in order; an \"addModule\" addresses one of these."
              }
            }
          }
        },
        "nextAction": {
          "type": "string",
          "enum": [
            "review_and_publish_content",
            "none"
          ],
          "description": "The content action still open: \"review_and_publish_content\" while the stored draft is not the dispatch content."
        }
      }
    },
    {
      "type": "object",
      "required": [
        "error"
      ],
      "properties": {
        "error": {
          "type": "object",
          "required": [
            "code",
            "message",
            "remediation",
            "details"
          ],
          "properties": {
            "code": {
              "type": "string",
              "description": "The machine-readable KlickTipp error code."
            },
            "message": {
              "type": "string"
            },
            "remediation": {
              "type": "string",
              "description": "Who has to act: for example get_again, use_klicktipp_editor, change_document, change_html, retry_later or ask_user_before_retry."
            },
            "details": {
              "type": "object"
            }
          }
        }
      }
    }
  ]
}
```

