---
title: "Create branding invite"
url: "https://docs.signnow.com/docs/branding-create-invite"
type: "page"
section: "Documentation"
slug: "branding-create-invite"
---

# Create branding invite

# Create branding signature invite

Create your first branding invite to sign a document or a document group.

## Step 1. Create a brand

[Create](/docs/general-branding/operations/post-brands) a brand with a title. 

```bash
curl --request POST \
  --url https://api.signnow.com/v2/brands \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {{access_token}}' \
  --header 'Content-Type: application/json' \
  --data '{
    "title": "HR documents"
}'
```

## Step 2. Add a logo

We have created an empty brand. Use the `brand_id` from the response in the previous step to add resources that will customize the signing and sending experience. First, we [customize](/docs/general-branding/operations/post-v2-brands-brand_id-logo) the logo for the signing session and completion page.

```bash
curl --request POST \
  --url https://api.signnow.com/v2/brands/{{brand_id}}/resources/logo \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {{access_token}}' \
  --header 'Content-Type: multipart/form-data' \
  --form 'logo=@"/path/to/file.png"'
```

## Step 3. Customize color scheme for the signing session

Now, we [create](/docs/general-branding/operations/put-v2-brands-brand_id-general) a general resource to customize the colors of the signing session:

* Header background color
* Document background color
* Complete button colors
* Decline button colors
* Close button colors
* Color of the text on the sidebar and progress bar
* Header icons colors

```bash
curl --request PUT \
  --url https://api.signnow.com/v2/brands/{{brand_id}}/resources/general \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {{access_token}}' \
  --header 'Content-Type: application/json' \
  --data '{
    "header": {
        "background": "#E8501F"
    },
    "main-background": "#DBD8CE",
    "buttons": {
        "primary": {
            "color": "#000000",
            "background": "#FF9000",
            "border": "#FF9000",
            "hover-background": "#FF9000",
            "hover-color": "#000000",
            "hover-border": "#FF9000",
            "active-color": "#000000",
            "active-background": "#FF9000",
            "active-border": "#FF9000"
        },
        "secondary": {
            "color": "#FF9000",
            "background": "#E3E6E9",
            "border": "#E3E6E9",
            "hover-background": "#E3E6E9",
            "hover-color": "#FF9000",
            "hover-border": "#E3E6E9",
            "active-color": "#FF9000",
            "active-background": "#E3E6E9",
            "active-border": "#E3E6E9"
        },
        "default": {
            "color": "#000000",
            "background": "#E8501F",
            "border": "#FF9000",
            "hover-background": "#E8501F",
            "hover-color": "#000000",
            "hover-border": "#FF9000",
            "active-color": "#000000",
            "active-background": "#E8501F",
            "active-border": "#FF9000"
        }
    },
    "texts": {
        "color": "#000000"
    },
    "icons": {
        "color": "#E3E6E9",
        "background": "#E8501F",
        "border": "#E8501F",
        "hover-background": "#E8501F",
        "hover-color": "#E3E6E9",
        "hover-border": "#E8501F"
    }
}'
```

## Step 4. Hide More Actions button for signers and customize completion page

[Create](/docs/general-branding/operations/put-v2-brands-brand_id-editor) an editor resource to customize the completion page and hide the More Actions button.

```bash
curl --request PUT \
  --url https://api.signnow.com/v2/brands/{{brand_id}}/resources/editor \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {{access_token}}' \
  --header 'Content-Type: application/json' \
  --data '{
    "settings": {
        "visibility": false
    },
    "complete-page": {
        "success": {
            "header-text": {
                "en": "Document signed"
            },
            "body-text": {
                "en": "Thank you for doing business with us."
            }
        },
        "decline": {
            "header-text": {
                "en": "Decline to sign"
            },
            "body-text": {
                "en": "You declined to sign the document."
            }
        }
    }
}'
```

## Step 5. Customize general email settings

[Create](/docs/general-email-branding/operations/put-v2-brands-brand_id_1-resources-email-general) an email general resource to customize the emails that signers receive.

* Customize logo position
* Set the text color and background color of the View Document button
* Change the Contact Sender email
* Hide the links to SignNow mobile apps

```bash
curl --request PUT \
  --url https://api.signnow.com/v2/brands/{{brand_id}}/resources/email-general \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {{access_token}}' \
  --header 'Content-Type: application/json' \
  --data '{
    "logo": {
        "position": "middle"
    },
    "buttons": {
        "color": "#000000",
        "background": "#FF9000"
    },
    "sender_email": "hr-team@email.com",
    "signnow_references": false
}'
```

## Step 6. Customize text of the email invite

[Create](/docs/general-email-branding/operations/put-v2-brands-brand_id_1-resources-email-invite) an email invite resource to customize the text of the email with an invite to sign.

```bash
curl --request PUT \
  --url https://api.signnow.com/v2/brands/{{brand_id}}/resources/email-invite \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {{access_token}}' \
  --header 'Content-Type: application/json' \
  --data '{
    "en": {
        "subject": "Welcome to our company",
        "from": "hr-team@email.com",
        "body_header": "Your first document in our team",
        "body_message": "We are happy to start working with you",
        "footer_message": "Best regards, HR team"
    }
}'
```

## Step 7. Upload a document

[Upload](/docs/document/operations/upload-document) a document to be signed.

```bash
curl --request POST \
  --url https://api.signnow.com/document \
  --header 'Authorization: Bearer {{access_token}}' \
  --header 'Content-Type: multipart/form-data' \
  --form file=/path/to/your/file.pdf
```

In the response, you get a `document_id`.

Repeat the request to upload more documents.

## Step 8. Create a document group (optional)

[Create](/docs/document-group/operations/create-document-group) a document group using the document IDs. 

```bash
curl --request POST \
  --url https://api.signnow.com/documentgroup \
  --header 'Authorization: Bearer {{access_token}}' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{
    "document_ids": [
      "{{document_id1}}",
      "{{document_id2}}"
    ],
    "group_name": "Onboarding package"
  }'
```

## Step 9a. Assign brand to the document

[Assign](/docs/general-branding/operations/put-v2-documents-document_id-brand) your brand to the document using the `document_id` from the response in the previous step.

```bash
curl --request PUT \
  --url https://api.signnow.com/v2/documents/{{document_id}}/brand \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {{access_token}}' \
  --header 'Content-Type: application/json' \
  --data '{
    "brand_id": {{brand_id}}
  }'
```

## Step 9b. Assign brand to the document group

[Assign](/docs/general-branding/operations/put-v2-document-groups-document_group_id-brand) your brand to the document group using the `document_group_id`.

```bash
curl --request PUT \
  --url https://api.signnow.com/v2/document-groups/{{document_group_id}}/brand \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {{access_token}}' \
  --header 'Content-Type: application/json' \
  --data '{
    "brand_id": "{{brand_id}}"
  }'
```

## Step 10. Add fields to the document

[Add](/docs/request-payments/operations/put-document-document_id) the fields to the document.

```bash
curl --request PUT \
  --url https://api.signnow.com/document/{{document_id}} \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {{access_token}}' \
  --header 'Content-Type: application/json' \
  --data '{
    "fields": [
        {
            "x": 358,
            "y": 171,
            "width": 177,
            "height": 50,
            "type": "signature",
            "page_number": 0,
            "required": true,
            "role": "Signer 1",
            "custom_defined_option": false,
            "name": "signature1"
        }
    ],
    "client_timestamp": 1684123907
}'
```

## Step 11. Get roles

### Get roles for a document

Send a [Get document](/docs/document/operations/get-document) request to extract the role or role ID.

```bash
curl --request GET \
  --url https://api.signnow.com/document/{{document_id}} \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {{access_token}}'
```

- Signer roles and role IDs are listed in the `roles` array. 
- Viewer roles and role IDs are listed in the `viewer_roles` array.
- Approver roles and role IDs are listed in the `approver_roles` array.
You need either a role or role ID but you can use both. If you use both, ensure that the role and role ID correspond. 

> In the invite, all the signer and approver roles from the document must be assigned to recipients.

```json
{
  "roles": [
    {
      "unique_id": "XXXX9433f6874839a212f748e298ea24b5b16182",
      "signing_order": "1",
      "name": "Signer 1"
    }
  ],
  "viewer_roles": [],
  "approver_roles": []
}
```

### Get roles for a document group

Send a [Get document group](/docs/document-group/operations/get-documentgroup) request to extract the roles.

```bash
curl --request GET \
  --url https://api.signnow.com/v2/document-groups/{{document_group_id}} \
  --header 'Authorization: Bearer {{access_token}}' \
  --header 'Accept: application/json'
```

Role names are listed within the `documents` array in `roles`. 

```json
{
  "documents": [
    {
      "roles": [
        "Signer 1"
      ]
    }
  ]
}
```

## Step 12. Send a branded invite

### Send a branded document invite

Finally, [send](/docs/document-field-invite/operations/post-field_invite) an invite to sign.

```bash
curl --request POST \
  --url https://api.signnow.com/document/{{document_id}}/invite \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {{access_token}}' \
  --header 'Content-Type: application/json' \
  --data '{
    "document_id": "{{document_id}}",
    "to": [
        {
            "email": "signer1@email.com",
            "role": "Signer 1",
            "role_id": "{{role_id}}",
            "order": 1,
            "reassign": "1",
            "decline_by_signature": "0",
            "reminder": {
                "remind_after": 1
            },
            "expiration_days": 15
        }
    ],
    "from": "sender@email.com"
}'
```

### Send a branded document group invite

Alternatively, [send](/docs/doc-group-field-invite/operations/invite-to-sign-document-group) a document group for signature.

```bash
curl --request POST \
  --url https://api.signnow.com/documentgroup/{{document_group_id}}/groupinvite \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {{access_token}}' \
  --header 'Content-Type: application/json' \
  --data '{
    "invite_steps": [
      {
        "order": 1,
        "invite_emails": [
          {
            "email": "signer1@email.com",
            "expiration_days": 15,
            "reminder": {
              "remind_after": 1
            }
          }
        ],
        "invite_actions": [
          {
            "email": "signer1@email.com",
            "role_name": "Signer 1",
            "action": "sign",
            "document_id": "{{document_id}}",
            "allow_reassign": "0",
            "decline_by_signature": "0",
            "redirect_uri": "https://example.com/thank-you",
            "allow_forwarding": false,
            "show_decline_button": true,
            "authentication": {
              "type": "password",
              "value": "123456"
            }
          }
        ]
      }
    ],
    "sign_as_merged": true
  }'
```


## Try out in Postman
[Access](https://www.postman.com/signnow-api/workspace/signnow-public-collection/collection/24778743-02f03cb3-c1b6-462b-a1d6-cb23a4c2d8de) this flow in Postman, and feel free to add branding to your signing sessions.


---
*Full page: https://docs.signnow.com/docs/branding-create-invite*
