# Replace my call-script template

Save the signed-in person's whole call script and tone. Send everything the read answered with the edits merged in — this replaces rather than patches, so a body carrying only the tone would blank the script. An empty spine, a tone picker value outside the vocabulary, or a slider outside 0-100 is refused with the field named.

Access class: `workspace`.

## Endpoint

`PUT /v1/me/script-template`

## Request body

Content type: `application/json`.

```json
{
  "body": {
    "branches": [
      {
        "children": "string",
        "exit": "string",
        "id": "",
        "next": "string",
        "say": "string",
        "tag": "string",
        "trigger": "string"
      }
    ],
    "brief": {
      "headline": "string",
      "hooks": [
        "string"
      ],
      "key_facts": [
        "string"
      ],
      "watch_outs": [
        "string"
      ]
    },
    "spine": [
      {
        "key": "string",
        "label": "string",
        "purpose": "string",
        "say": "string"
      }
    ],
    "tone": {
      "always_say": [
        "string"
      ],
      "caller_type": "string",
      "custom_instructions": "string",
      "experience_level": "string",
      "never_say": [
        "string"
      ],
      "persona": "string",
      "reference_scripts": [
        "string"
      ],
      "tweaks": "string"
    }
  },
  "params": {},
  "query": {}
}
```

## Responses

### 200

the action's answer

Content type: `application/json`.

```json
{
  "data": {
    "branches": [
      {
        "children": [
          {
            "children": [
              {
                "children": [
                  {
                    "children": [
                      {
                        "exit": "string",
                        "id": "",
                        "say": "string",
                        "tag": "string",
                        "trigger": "string"
                      }
                    ],
                    "exit": "string",
                    "id": "",
                    "say": "string",
                    "tag": "string",
                    "trigger": "string"
                  }
                ],
                "id": "",
                "next": "string",
                "say": "string",
                "tag": "string",
                "trigger": "string"
              }
            ],
            "exit": "string",
            "id": "",
            "next": "string",
            "say": "string",
            "tag": "string",
            "trigger": "string"
          }
        ],
        "id": "",
        "next": "string",
        "say": "string",
        "tag": "string",
        "trigger": "string"
      }
    ],
    "spine": [
      {
        "key": "string",
        "label": "string",
        "purpose": "string",
        "say": "string"
      }
    ]
  }
}
```

### default

a refusal: `{"error": "<what a person needs to read>"}`. 401 no credential, 402 the plan does not include this, 403 the seat does not, 404 the thing does not exist or is not yours to see.

Content type: `application/json`.

```json
{
  "error": "string"
}
```
