---
title: "Add and change logo from URL"
url: "https://docs.signnow.com/docs/general-branding/operations/put-v2-brands-brand_id-resources-logo"
type: "endpoint"
section: "general-branding"
slug: "general-branding/operations/put-v2-brands-brand_id-resources-logo"
method: "PUT"
path: "/v2/brands/{brand_id}/resources/logo"
operation_id: "put-v2-brands-brand_id-resources-logo"
authorization: "bearer"
---

# Add and change logo from URL

`PUT /v2/brands/{brand_id}/resources/logo`

This endpoint allows users to add and change a logo for a brand from a specified link.

Learn more about the [logo brand resource](/docs/branding-logo-resource).

## 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",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Link address to the logo file.",
      "x-stoplight": {
        "id": "l9sdtgfqzqhn3"
      }
    }
  }
}
```

**Example** (`Example 1`)

```json
{
  "url": "https://logo-file.com"
}
```

## Responses

### 204

Success, no content

### 400

* Incorrect or missing token.
* Missing `url`.
* Empty `url`.
* Incorrect `url`.
* `url` is not a string.
* `url` does not contain an image of the proper format.
* The image cannot be downloaded.
* The image is too big. 

**Example** (`Empty url`)

```json
{
  "code": 25002128,
  "message": "The `url` is required."
}
```

**Example** (`Missing url`)

```json
{
  "code": 25002128,
  "message": "The `url` is required."
}
```

**Example** (`Incorrect url`)

```json
{
  "code": 25002129,
  "message": "The `url` should be a valid URL."
}
```

**Example** (`url not string`)

```json
{
  "code": 25002132,
  "message": "The `url` should be a string."
}
```

**Example** (`Image is too big`)

```json
{
  "code": 25002051,
  "message": "The file is too large (2.56 MB). Allowed maximum size is 2 MB."
}
```

**Example** (`Image cannot be downloaded`)

```json
{
  "code": 25002131,
  "message": "Something went wrong during image download."
}
```

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

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

**Example** (`Missing image or incorrect format`)

```json
{
  "code": 25002130,
  "message": "Provided URL does not contains an image or wrong image format."
}
```

### 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/logo"
}
```

## 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/logo" \
  -H "Authorization: Bearer $SIGNNOW_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://logo-file.com"}'
```

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