# Write Email Contact Card

Choose an existing account signature with vCard data, found with search-signatures or get-signature. Configure contact details with the vCard fields of create-signature or update-signature; this selects which card the block displays. Writes the native editor selection, including its dialog ID, without changing other blocks. Optional style sets padding, alignment or visibility through the existing block-style validator. 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",
      "minLength": 12,
      "maxLength": 500
    },
    "contentRevision": {
      "type": "string",
      "minLength": 7,
      "maxLength": 100
    },
    "uuid": {
      "type": "string"
    },
    "signatureId": {
      "type": "integer",
      "minimum": 1
    },
    "style": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "paddingTop": {
          "type": "integer",
          "minimum": 0,
          "maximum": 400
        },
        "paddingBottom": {
          "type": "integer",
          "minimum": 0,
          "maximum": 400
        },
        "paddingLeft": {
          "type": "integer",
          "minimum": 0,
          "maximum": 400
        },
        "paddingRight": {
          "type": "integer",
          "minimum": 0,
          "maximum": 400
        },
        "textAlign": {
          "type": "string",
          "enum": [
            "left",
            "center",
            "right"
          ]
        },
        "hideOnMobile": {
          "type": "boolean"
        },
        "hideOnDesktop": {
          "type": "boolean"
        }
      },
      "default": null
    },
    "accountId": {
      "type": [
        "null",
        "integer"
      ],
      "default": null,
      "minimum": 1
    }
  },
  "required": [
    "editorUrl",
    "contentRevision",
    "uuid",
    "signatureId"
  ],
  "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"
            }
          }
        }
      }
    }
  ]
}
```

