---
title: "Create org email brand resource"
url: "https://docs.signnow.com/docs/organization-branding/operations/put-v2-organizations-organization_id-brands-brand_id-resources-email"
type: "endpoint"
section: "organization-branding"
slug: "organization-branding/operations/put-v2-organizations-organization_id-brands-brand_id-resources-email"
method: "PUT"
path: "/v2/organizations/{organization_id}/brands/{brand_id}/resources/email"
operation_id: "put-v2-organizations-organization_id-brands-brand_id-resources-email"
authorization: "bearer"
---

# Create org email brand resource

`PUT /v2/organizations/{organization_id}/brands/{brand_id}/resources/email`

This endpoint allows users to create an email brand resource for an organization. Only an admin or moderator of the organization can perform this action.

## Authorization

bearer

## Path Parameters

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

## Request Body

**Schema**

```json
{
  "type": "object",
  "properties": {
    "from": {
      "type": "string",
      "description": "Sender's email address."
    },
    "logo": {
      "type": "object",
      "properties": {
        "position": {
          "type": "string",
          "description": "Logo position on the email page. Possible values: `left`, `middle`, and `right`."
        }
      },
      "description": "Logo object that contains attributes for logo positioning on the email page."
    },
    "buttons": {
      "type": "object",
      "properties": {
        "color": {
          "type": "string",
          "description": "Button main color in HEX color code."
        },
        "background": {
          "type": "string",
          "description": "Button background in HEX color code."
        }
      },
      "description": "Button object that contains button attributes."
    },
    "subject": {
      "type": "string",
      "description": "Email subject."
    },
    "body_header": {
      "type": "string",
      "description": "Email header text. Up to 300 symbols."
    },
    "body_message": {
      "type": "string",
      "description": "Body text. Up to 300 symbols."
    },
    "sender_email": {
      "type": "string",
      "description": "Valid email address for `Contact Sender` button."
    },
    "footer_message": {
      "type": "string",
      "description": "Footer text. Up to 300 symbols."
    },
    "signnow_references": {
      "type": "boolean",
      "description": "Whether or not to show links to SignNow mobile apps."
    }
  },
  "x-examples": {
    "Example 1": {
      "from": "valid@email",
      "logo": {
        "position": "left|middle|right"
      },
      "buttons": {
        "color": "#232323",
        "background": "#232323"
      },
      "subject": "Some subject text.",
      "body_header": "any text",
      "body_message": "any text",
      "sender_email": "valid@email",
      "footer_message": "any text",
      "signnow_references": true
    }
  }
}
```

**Example** (`Example 1`)

```json
{
  "from": "from@email.com",
  "logo": {
    "position": "left"
  },
  "buttons": {
    "color": "#232323",
    "background": "#232323"
  },
  "subject": "Subject text",
  "body_header": "Body header text",
  "body_message": "Body text",
  "sender_email": "sender@email.com",
  "footer_message": "Footer text",
  "signnow_references": true
}
```

## Responses

### 204

Success, no content

### 400

* Incorrect or missing token
* Brand resource logo already exists for this `brand_id`
* Request without body
*  `position` is incorrect
*  `position` is not a string
*  `color` is not a string
*  `color` is not a HEX color code
*  `background` is not a string
*  `background` is not a HEX color code
*  `subject-text` is not a string
*  `subject-text` is longer than 300 characters
*  `contact-sender` is not a string
*  `contact-sender` is not a valid email address
*  `from-email` is not a string
*  `from-email` is not a valid email address
*  `header-text` is not a string
*  `header-text` 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
*  `signnow_references` is not a boolean


**Example** (`color not string`)

```json
{
  "errors": [
    {
      "code": 25002006,
      "message": "The 'color' attribute must be a string."
    }
  ]
}
```

**Example** (`position not string`)

```json
{
  "errors": [
    {
      "code": 25002047,
      "message": "The 'position' attribute must be a string."
    }
  ]
}
```

**Example** (`Request without body`)

```json
{
  "errors": [
    {
      "code": 2500202,
      "message": "Invalid payload given."
    }
  ]
}
```

**Example** (`header-text too long`)

```json
{
  "errors": [
    {
      "code": 25002059,
      "message": "The 'header-text' attribute must be less, than 300 characters."
    }
  ]
}
```

**Example** (`background not string`)

```json
{
  "errors": [
    {
      "code": 25002004,
      "message": "The 'background' attribute must be a string."
    }
  ]
}
```

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

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

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

```json
{
  "errors": [
    {
      "code": 25002050,
      "message": "The 'from-email' attribute must be a string."
    }
  ]
}
```

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

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

**Example** (`header-text not string`)

```json
{
  "errors": [
    {
      "code": 25002052,
      "message": "The 'header-text' attribute must be a string."
    }
  ]
}
```

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

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

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

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

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

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

**Example** (`Incorrect position value`)

```json
{
  "errors": [
    {
      "code": 25002048,
      "message": "The 'position' attribute is invalid, allowed values: left, middle, right."
    }
  ]
}
```

**Example** (`color not HEX color code`)

```json
{
  "errors": [
    {
      "code": 25002007,
      "message": "The 'color' attribute format is invalid."
    }
  ]
}
```

**Example** (`contact-sender not string`)

```json
{
  "errors": [
    {
      "code": 25002056,
      "message": "The 'sender_email' attribute must be a string."
    }
  ]
}
```

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

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

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

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

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

```json
{
  "errors": [
    {
      "code": 25002051,
      "message": "The 'from-email' attribute must be a valid email address."
    }
  ]
}
```

**Example** (`Email resource already exists`)

```json
{
  "errors": [
    {
      "code": 25002035,
      "message": "Brand resource already exists. Resource name: email."
    }
  ]
}
```

**Example** (`background not HEX color code`)

```json
{
  "errors": [
    {
      "code": 25002005,
      "message": "The 'background' attribute format is invalid."
    }
  ]
}
```

**Example** (`signnow_references not boolean`)

```json
{
  "errors": [
    {
      "code": 25002055,
      "message": "The 'signnow_references' attribute must be a boolean."
    }
  ]
}
```

**Example** (`contact-sender not email address`)

```json
{
  "errors": [
    {
      "code": 25002057,
      "message": "The 'sender_email' attribute must be a valid email address."
    }
  ]
}
```

### 403

* The brand exists but it is not an organization brand.
* The user is neither admin, nor moderator of the organization.

**Example** (`Non-organization brand`)

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

**Example** (`User not admin or moderator`)

```json
{
  "code": 25006002,
  "message": "Insufficient organization rights."
}
```

### 404

* The organization is not found.
* The brand is not found.
* `brand_id` cannot be null.

**Example** (`Brand not found`)

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

**Example** (`brand_id is null`)

```json
{
  "404": "Unable to find a route to match the URI: v2/organizations/3d73e416095d4734a0e0d8bce4bd33f7b44b7585/brands/resources/email"
}
```

**Example** (`Organization not found`)

```json
{
  "errors": [
    {
      "code": 25006001,
      "message": "Organization not found."
    }
  ]
}
```

## Code Examples

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

### cURL

```bash
curl -X PUT \
  "https://api.signnow.com/v2/organizations/{organization_id}/brands/{brand_id}/resources/email" \
  -H "Authorization: Bearer $SIGNNOW_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"from": "from@email.com", "logo": {"position": "left"}, "buttons": {"color": "#232323", "background": "#232323"}, "subject": "Subject text", "body_header": "Body header text", "body_message": "Body text", "sender_email": "sender@email.com", "footer_message": "Footer text", "signnow_references": true}'
```

---
*Full reference: https://docs.signnow.com/docs/organization-branding/operations/put-v2-organizations-organization_id-brands-brand_id-resources-email*
