---
title: "Add and edit branding for reminder emails"
url: "https://docs.signnow.com/docs/general-email-branding/operations/put-v2-brands-brand_id-resources-email-invite-reminder"
type: "endpoint"
section: "general-email-branding"
slug: "general-email-branding/operations/put-v2-brands-brand_id-resources-email-invite-reminder"
method: "PUT"
path: "/v2/brands/{brand_id}/resources/email-invite-reminder"
operation_id: "put-v2-brands-brand_id-resources-email-invite-reminder"
authorization: "bearer"
---

# Add and edit branding for reminder emails

`PUT /v2/brands/{brand_id}/resources/email-invite-reminder`

This endpoint allows users to add and edit branding for the emails that remind signer or signers about pending invites.

## Authorization

bearer

## Path Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `brand_id` | string | Yes | ID of the brand. Must match the pattern: [a-z0-9]{40}. |

## Header Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `Content-Type` | string | No | application/json |

## Request Body

**Schema**

```json
{
  "type": "object",
  "properties": {
    "en": {
      "type": "object",
      "properties": {
        "from": {
          "type": "string",
          "maxLength": 300,
          "description": "Custom text indicating sender."
        },
        "subject": {
          "type": "string",
          "maxLength": 300,
          "description": "Email subject text. Placeholder `{document_name}` is available."
        },
        "expiration": {
          "type": "string",
          "maxLength": 300,
          "description": "Custom message text for expiration email. Placeholder `{days}` is available: data from the invite `expiration_days` parameter is used."
        },
        "body_header": {
          "type": "string",
          "maxLength": 300,
          "description": "Email header text."
        },
        "body_message": {
          "type": "string",
          "maxLength": 300,
          "description": "Email body text. Placeholder `{document_name}` is available."
        },
        "footer_message": {
          "type": "string",
          "maxLength": 300,
          "description": "Email footer message."
        }
      },
      "description": "Language of the email. Possible values: `en` for English, `es` for Spanish, and `fr` for French. You need to add translated texts. For more information, see [Language branding](/docs/guides-branding#language-branding)."
    }
  },
  "x-examples": {
    "Example 1": {
      "en": {
        "from": "From user ",
        "subject": "My custom subject {document_name}",
        "expiration": "Expiration message {days}",
        "body_header": "Body header message",
        "body_message": "Body message {document_name}",
        "footer_message": "Footer message EN"
      },
      "es": {
        "from": "From user",
        "subject": "My custom subject {document_name}",
        "expiration": "Expiration message {days}",
        "body_header": "Body header message",
        "body_message": "Body message {document_name}",
        "footer_message": "Footer message"
      },
      "fr": {
        "from": "From user",
        "subject": "My custom subject {document_name}",
        "expiration": "Expiration message {days}",
        "body_header": "Body header message",
        "body_message": "Body message {document_name}",
        "footer_message": "Footer message"
      }
    }
  }
}
```

**Example** (`Example 1`)

```json
{
  "en": {
    "from": "Sender Name",
    "subject": "Reminder: {document_name}: Signature Request",
    "expiration": "This invite will expire in {days} days",
    "body_header": "You were invited to review and sign a document",
    "body_message": "You\u2019ve been invited to fill out and sign the {document_name} document.",
    "footer_message": "Unique Solutions Inc."
  },
  "es": {
    "from": "Nombre del remitente",
    "subject": "Recordatorio: {document_name}: Solicitud de firma",
    "expiration": "Esta invitaci\u00f3n dejar\u00e1 de ser v\u00e1lida en {days} d\u00edas",
    "body_header": "Te han invitado a revisar y firmar un documento",
    "body_message": "Has invitado para rellenar y firmar el documento {document_name}.",
    "footer_message": "Unique Solutions Inc."
  },
  "fr": {
    "from": "Nom de l'exp\u00e9diteur",
    "subject": "Rappel: {document_name}: demande de signature",
    "expiration": "Cette invitation expirera dans {days} jours",
    "body_header": "Vous avez \u00e9t\u00e9 invit\u00e9 \u00e0 v\u00e9rifier et signer un document",
    "body_message": "Vous invite \u00e0 compl\u00e9ter et signer le document {document_name}.",
    "footer_message": "Unique Solutions Inc."
  }
}
```

## Responses

### 204

Success, no content

### 400

* Incorrect or missing token.
* Incorrect payload.
* Incorrect language.
* `subject` is not a string.
* `subject` is longer than 300 characters.
* `body_header` is not a string.
* `body_header` is longer than 300 characters.
* `body_message` is not a string.
* `body_message` is longer than 300 characters.
* `footer_message` is not a string.
* `footer_message` is longer than 300 characters.
* `from` is not a string.
* `from` is not an email address.
* `expiration` is not a string.
* `expiration` is longer than 300 characters.
* Incorrect placeholder found.

**Example** (`from not string`)

```json
{
  "code": 25002050,
  "message": "The 'from' attribute must be a string."
}
```

**Example** (`subject too long`)

```json
{
  "code": 25002058,
  "message": "The 'subject' attribute must be less, than 300 characters."
}
```

**Example** (`Incorrect payload`)

```json
{
  "code": 25002002,
  "message": "Invalid payload given."
}
```

**Example** (`Incorrect language`)

```json
{
  "code": 25002080,
  "message": "The 'lang' attribute is invalid, allowed values: en, es, fr."
}
```

**Example** (`subject not string`)

```json
{
  "code": 25002049,
  "message": "The 'subject' attribute must be a string."
}
```

**Example** (`expiration too long`)

```json
{
  "code": 25002078,
  "message": "The 'expiration' attribute must be less, than 300 characters."
}
```

**Example** (`body_header too long`)

```json
{
  "code": 25002059,
  "message": "The 'body_header' attribute must be less, than 300 characters."
}
```

**Example** (`Incorrect placeholder`)

```json
{
  "code": 25002081,
  "message": "Invalid placeholder found, expected {document_name}."
}
```

**Example** (`body_message too long`)

```json
{
  "code": 25002060,
  "message": "The 'body_message' attribute must be less, than 300 characters."
}
```

**Example** (`expiration not string`)

```json
{
  "code": 25002079,
  "message": "The 'expiration' attribute must be a string."
}
```

**Example** (`body_header not string`)

```json
{
  "code": 25002052,
  "message": "The 'body_header' attribute must be a string."
}
```

**Example** (`body_message not string`)

```json
{
  "code": 25002053,
  "message": "The 'body_message' attribute must be a string."
}
```

**Example** (`footer_message too long`)

```json
{
  "code": 25002061,
  "message": "The 'footer_message' attribute must be less, than 300 characters."
}
```

**Example** (`footer_message not string`)

```json
{
  "code": 25002054,
  "message": "The 'footer_message' attribute must be a string."
}
```

**Example** (`from not an email address`)

```json
{
  "code": 25002072,
  "message": "The 'from' attribute must be less, than 300 characters."
}
```

**Example** (`Incorrect or missing token`)

```json
{
  "code": 1537,
  "error": "invalid_token"
}
```

### 403

* Request with a valid bearer token from another user logged in.
* The user is authorized with a token from an app they don’t own.

**Example** (`Another user's token`)

```json
{
  "code": 25002030,
  "message": "No access to the brand."
}
```

**Example** (`User doesn't own the app`)

```json
{
  "code": 25002001,
  "message": "Brand action not allowed"
}
```

### 404

* Brand with this `brand_id` doesn't exist
* Missing or incorrect `brand_id`

**Example** (`Brand doesn't exist`)

```json
{
  "code": 25002016,
  "message": "Brand not found."
}
```

**Example** (`Missing or incorrect brand_id`)

```json
{
  "404": "Unable to find a route to match the URI: v2/brand/null/email-invite"
}
```

### 422

Language is not an array

**Example** (`Example 1`)

```json
{
  "code": 25002093,
  "message": "Invalid payload. Expected pair of languages with their settings."
}
```

## Code Examples

> Replace `$SIGNNOW_ACCESS_TOKEN` and any `{placeholder}` values before running.

### cURL

```bash
curl -X PUT \
  "https://api.signnow.com/v2/brands/{brand_id}/resources/email-invite-reminder" \
  -H "Authorization: Bearer $SIGNNOW_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"en": {"from": "Sender Name", "subject": "Reminder: {document_name}: Signature Request", "expiration": "This invite will expire in {days} days", "body_header": "You were invited to review and sign a document", "body_message": "You\u2019ve been invited to fill out and sign the {document_name} document.", "footer_message": "Unique Solutions Inc."}, "es": {"from": "Nombre del remitente", "subject": "Recordatorio: {document_name}: Solicitud de firma", "expiration": "Esta invitaci\u00f3n dejar\u00e1 de ser v\u00e1lida en {days} d\u00edas", "body_header": "Te han invitado a revisar y firmar un documento", "body_message": "Has invitado para rellenar y firmar el documento {document_name}.", "footer_message": "Unique Solutions Inc."}, "fr": {"from": "Nom de l'\''exp\u00e9diteur", "subject": "Rappel: {document_name}: demande de signature", "expiration": "Cette invitation expirera dans {days} jours", "body_header": "Vous avez \u00e9t\u00e9 invit\u00e9 \u00e0 v\u00e9rifier et signer un document", "body_message": "Vous invite \u00e0 compl\u00e9ter et signer le document {document_name}.", "footer_message": "Unique Solutions Inc."}}'
```

---
*Full reference: https://docs.signnow.com/docs/general-email-branding/operations/put-v2-brands-brand_id-resources-email-invite-reminder*
