---
title: "Update a signature"
description: "Rename it, rewrite its HTML, or change what it is the default for."
url: "https://openemail.uk/docs/api/signatures/update"
area: "API"
category: "Mailbox"
---

# Update a signature

Rename it, rewrite its HTML, or change what it is the default for.

`PATCH /signatures/{id}`

## PATCH /signatures/{id}

Rename it, rewrite its HTML, or change what it is the default for.

## Example

Needs `settings:write`. Send only what changes.

**curl**

```
curl -X PATCH "$OE/signatures/sig_8f2c1a9b7d3e4f60a1b2c3d4" -H "$AUTH" -H "Content-Type: application/json" \
  -d '{ "isDefault": true }'
```

**Response**

```
{
  "object": "signature",
  "id": "sig_8f2c1a9b7d3e4f60a1b2c3d4",
  "address": "ada@acme.com",
  "name": "Short",
  "html": "<p>Ada<br />Acme Ltd</p>",
  "isDefault": true,
  "isReplyDefault": true,
  "createdAt": "2026-10-12T09:14:03.117Z",
  "updatedAt": "2026-10-12T09:14:03.117Z"
}
```

> `isDefault: true` makes it the signature of new mail from its address in place of the one that was. `isDefault: false` takes that away when this signature held it, so new mail from the address goes out with no signature until another one is chosen. `isReplyDefault` does the same for replies and forwards.

> Send any of `name`, `html`, `isDefault` and `isReplyDefault`. A body with none of them is a 422, and a new name another signature of the address already has is a 409 `signature_name_taken`.

> A message that is already scheduled picks up the new HTML when it goes out.

## Reference

- [`PATCH /signatures/{id}`](https://openemail.uk/docs/api/reference/settings#patch-signatures-id): full reference
