---
title: "Create brand from template file"
method: POST
path: "/v2/brands/upload-file"
---

# Create brand from template file

`POST /v2/brands/upload-file`

## Request

- Base URL: `https://api.signnow.com`
- URL: `https://api.signnow.com/v2/brands/upload-file`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/signnow/apis/signnow-api/docs/v2/brands/upload-file/post.ts> (a function with typed inputs; its response is checked against the schema)

This endpoint allows API users to upload a template in JSON/XML file with brand settings and current resources.

Get the up-to-date template file [here](/docs/general-branding/operations/get-v2-brands-template-file). 

Assign the created brand ID to any of these levels: 

* [Brand your documents](/docs/general-branding/operations/put-v2-documents-document-id-brand). 
* [Brand your document groups](/docs/general-branding/operations/put-v2-document-groups-document-group-id-brand). 
* [Brand your applications](/docs/general-branding/operations/put-v2-applications-application-id-brand). 
 
The template structure consists of two required objects: 

* `title`: a string parameter with a brand title. 
* `resources`: an array of objects with the list of resources and their properties. 

Example schema:

```
{
    "title": "some brand title",
    "resources": [
        "general": {...},
        "editor": {...},
        "send-invite": {...},
        "logo": {...},
        "email-general": {...},
        "email-invite": {...},
        ...
    ]
}

```

## Request body `multipart/form-data`

- object
  - `file` unknown, required

## Response `201`

The brand was created from the file.

- object
  - `data` object: The created brand.
    - `id` string: ID of the created brand.

## Other responses

- `400`: * Incorrect or missing token. * Template file missing. * Template file is empty. * JSON is empty. * Resources parameter is missing. * Incorrect file format. * Incorrect JSON format. * `resources` is not an array. * `resources` array is empty. * `general` is not an array. * `general` array is empty. * `editor` is not an array. * `editor` array is empty. * `logo` is not an array. * `logo` array is empty. * `email-logo` is not an array. * `email-logo` is empty. * Missing `email-logo.url`. * Incorrect `email-logo.url`. * `email-logo.url` is not a string. * `email-logo.url` does not contain an image. * `email-logo.url` contains an image that cannot be downloaded. * `email-logo.url` contains an image that is too big. * Missing `logo.url`. * Incorrect `logo.url`. * `logo.url` is not a string. * `logo.url` does not contain an image. * `logo.url` contains an image that cannot be downloaded. * `logo.url` contains an image that is too big. * `email-invite` is not an array. * `email-invite` array is empty. * `email-invite-reassign` is not an array. * `email-invite-reassign` array is empty. * `email-invite-completed` is not an array. * `email-invite-completed` array is empty. * `email-invite-canceled` is not an array. * `email-invite-canceled` array is empty. * `email-invite-reminder` is not an array. * `email-invite-reminder` array is empty. * `email-general` is not an array. * `email-general` array is empty. * `title` is missing. * `title` is empty. * `title` not string. * `title` is longer than 100 characters. * Unexpected resources. * Send invite resource parameter validation errors. * Editor resource parameter validation errors. * General resource parameter validation errors.
- `403`: The user is authorized with a token from an app they don’t own.

---

[API](https://skmtc.dev/signnow/apis/signnow-api.md) - [All operations](https://skmtc.dev/signnow/apis/signnow-api/llms.txt) - [OpenAPI document](https://skmtc.dev/signnow/apis/signnow-api/revisions/1c9c30a6142b?raw)
