# Update a saved wording

`PATCH https://api.parasend.com/v1/wordings/{id}`

Source: https://parasend.com/docs/api/wordings/update

Authentication: `Authorization: Bearer <API key>` (a `ps_test_` key in test mode, `ps_live_` in live mode).

The channel stays as it was made (invalid_parameter_value, param channel). An archived wording is not changed (409 wording_archived).

## Path parameters

- `id` (string, required)

## Body (application/json)

- `name` (string, optional)
- `message` (object, optional): The wording a follow-up step's reminder sends. Left out: Parasend's standard reminder. `preset` picks Parasend's wording; `custom` holds your own, by language (Plan 1–3 and Enterprise). A field or language left out comes from the preset.
  - `message.preset` (string, optional): `standard` is the usual reminder; `firmer` and `final` are Parasend's stronger wordings. One of: `standard`, `firmer`, `final`. Default: `"standard"`.
  - `message.custom` (object, optional): Your own wording, by language (`is`, `en`); a field or a language left out comes from `preset`. Needs Plan 1–3 or Enterprise; otherwise refused with `theme_knob_plan_gated`.
    - `message.custom.is` (object, optional): Plain text. An e-mail step takes `subject`, `heading` and `text`; an SMS step `text` only. Variables: {{recipient.name}}, {{recipient.first_name}}, {{sender.name}}, {{delivery.title}}, {{delivery.sent_on}}, {{delivery.expires_on}}, {{files.count}}; an SMS only the two dates. No links, e-mail addresses or phone numbers. An e-mail may hold the gender word {{recipient.gender: male | female | other}}.
      - `message.custom.is.subject` (string, optional): One line. Empty is the preset's.
      - `message.custom.is.heading` (string, optional): One line, in place of the reminder's heading.
      - `message.custom.is.text` (string, optional): A paragraph under the heading; for an SMS, between the sender's name and the link (3.5).
    - `message.custom.en` (object, optional): Plain text. An e-mail step takes `subject`, `heading` and `text`; an SMS step `text` only. Variables: {{recipient.name}}, {{recipient.first_name}}, {{sender.name}}, {{delivery.title}}, {{delivery.sent_on}}, {{delivery.expires_on}}, {{files.count}}; an SMS only the two dates. No links, e-mail addresses or phone numbers. An e-mail may hold the gender word {{recipient.gender: male | female | other}}.
      - `message.custom.en.subject` (string, optional): One line. Empty is the preset's.
      - `message.custom.en.heading` (string, optional): One line, in place of the reminder's heading.
      - `message.custom.en.text` (string, optional): A paragraph under the heading; for an SMS, between the sender's name and the link (3.5).
  - `message.source` (object, optional): The saved wording and version this step's wording was loaded from. A record only: the step keeps its own copy. Not on a saved wording's own message.
    - `message.source.wording` (string, required)
    - `message.source.version` (integer, required)
- `is_default` (boolean, optional): Notice wordings only: make this the first-notice wording for its channel.

## Example: Rename a wording

```bash
curl -X PATCH "https://api.parasend.com/v1/wordings/wrd_01M6R27T6WN5ZPHV4DA9SGQ3G6" \
  -H "Authorization: Bearer $PARASEND_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Second reminder (firm)"
  }'
```

```js
const res = await fetch('https://api.parasend.com/v1/wordings/wrd_01M6R27T6WN5ZPHV4DA9SGQ3G6', {
  method: 'PATCH',
  headers: {
    Authorization: `Bearer ${process.env.PARASEND_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    name: 'Second reminder (firm)',
  }),
});
const data = await res.json();
```

## Response 200

The wording as it now is.

```json
{
  "id": "wrd_01M6R27T6WN5ZPHV4DA9SGQ3G6",
  "object": "wording",
  "name": "Second reminder (firm)",
  "use": "reminder",
  "channel": "email",
  "is_default": false,
  "version": 1,
  "version_id": "wrv_01M6R27T6WR1V5QFE0E3SKRHNW",
  "message": {
    "preset": "firmer"
  },
  "created_at": "2026-11-06T09:15:05.820Z",
  "updated_at": "2026-11-06T09:15:05.829Z",
  "archived_at": null,
  "used_by": {
    "policies": 0,
    "policies_on_older_version": 0
  }
}
```

Errors: one shape, `{"error": {type, code, message, param, request_id}}`; every code is listed at https://parasend.com/docs/errors.
