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

# Add and edit branding for completed emails

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

This endpoint allows users to add and edit branding for the emails that inform signer or signers about the invite having been completed.

## 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",
          "description": "Email subject text. Placeholder `{document_name}` is available."
        },
        "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 text."
        }
      },
      "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_email@email.com",
        "subject": "My custom subject {document_name}",
        "body_header": "Body header message",
        "body_message": "Body message {document_name}",
        "footer_message": "Footer message"
      },
      "es": {
        "from": "from_email@email.com",
        "subject": "My custom subject {document_name}",
        "body_header": "Body header message",
        "body_message": "Body message {document_name}",
        "footer_message": "Footer message"
      },
      "fr": {
        "from": "from_email@email.com",
        "subject": "My custom subject {document_name}",
        "body_header": "Body header message",
        "body_message": "Body message {document_name}",
        "footer_message": "Footer message"
      }
    }
  }
}
```

**Example** (`Example 1`)

```json
{
  "en": {
    "from": "Sender Name",
    "subject": "{document_name} Has Been Completed",
    "body_header": "You filled out and signed a document",
    "body_message": "You\u2019ve filled out and signed the {document_name} document. Follow the link below to view and download the document.",
    "footer_message": "Unique Solutions Inc."
  },
  "es": {
    "from": "Nombre del remitente",
    "subject": "{document_name} Se ha completado",
    "body_header": "Has rellenado y firmado un documento",
    "body_message": "Has rellenado y firmado el documento {document_name}. Haz clic en el siguiente enlace para ver y descargar el documento.",
    "footer_message": "Unique Solutions Inc."
  },
  "fr": {
    "from": "Nom de l'exp\u00e9diteur",
    "subject": "{document_name} A \u00e9t\u00e9 finalis\u00e9",
    "body_header": "Vous avez rempli et sign\u00e9 un document",
    "body_message": "Vous avez rempli et sign\u00e9 le document {document_name}. Suivez le lien ci-dessous pour consulter et t\u00e9l\u00e9charger le document.",
    "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 longer than 300 characters.
* Incorrect placeholder found.

**Example** (`from too long`)

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

**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** (`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** (`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** (`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-canceled"
}
```

### 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-completed" \
  -H "Authorization: Bearer $SIGNNOW_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"en": {"from": "Sender Name", "subject": "{document_name} Has Been Completed", "body_header": "You filled out and signed a document", "body_message": "You\u2019ve filled out and signed the {document_name} document. Follow the link below to view and download the document.", "footer_message": "Unique Solutions Inc."}, "es": {"from": "Nombre del remitente", "subject": "{document_name} Se ha completado", "body_header": "Has rellenado y firmado un documento", "body_message": "Has rellenado y firmado el documento {document_name}. Haz clic en el siguiente enlace para ver y descargar el documento.", "footer_message": "Unique Solutions Inc."}, "fr": {"from": "Nom de l'\''exp\u00e9diteur", "subject": "{document_name} A \u00e9t\u00e9 finalis\u00e9", "body_header": "Vous avez rempli et sign\u00e9 un document", "body_message": "Vous avez rempli et sign\u00e9 le document {document_name}. Suivez le lien ci-dessous pour consulter et t\u00e9l\u00e9charger le document.", "footer_message": "Unique Solutions Inc."}}'
```

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