# Update Manufacturer Endpoint

## Structure

### Manufacturer

<table border="1" id="bkmrk-name-type-descriptio" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 25.0298%;"></col><col style="width: 25.0298%;"></col><col style="width: 25.0298%;"></col><col style="width: 25.0298%;"></col></colgroup><tbody><tr><td>**Name**  
</td><td>**Type**  
</td><td>**Description**  
</td><td>**Required**  
</td></tr><tr><td>`name`</td><td>string</td><td>The name of the manufacturer</td><td>No</td></tr><tr><td>`slug`</td><td>string</td><td>The slug of the manufacturer, if not present it is auto-generated from name</td><td>No</td></tr><tr><td>`reference`</td><td>string</td><td>The reference of the manufacturer</td><td>No</td></tr><tr><td>`logic`</td><td>string</td><td>The logic of the rules for the manufacturer, and/or (defaults to or if not provided)</td><td>No</td></tr><tr><td>`logo`</td><td>object</td><td>The logo of the manufacturer, see [Image](https://support.aerocommerce.com/books/api/page/update-manufacturer-endpoint/update-manufacturer-endpoint#bkmrk-image)</td><td>No</td></tr><tr><td>`tags`</td><td>array</td><td>An array of [Tag](https://support.aerocommerce.com/books/api/page/update-manufacturer-endpoint/update-manufacturer-endpoint#bkmrk-tag) objects</td><td>No</td></tr><tr><td>`related_manufacturers`</td><td>array</td><td>An array of related manufacturers (ids and/or names)</td><td>No</td></tr><tr><td>`rules`</td><td>array</td><td>An array of Listing Page [Rule](https://support.aerocommerce.com/books/api/page/update-manufacturer-endpoint/update-manufacturer-endpoint#bkmrk-rule) objects</td><td>No</td></tr><tr><td>`content`</td><td>object</td><td>The Listing Page [Content](https://support.aerocommerce.com/books/api/page/update-manufacturer-endpoint/update-manufacturer-endpoint#bkmrk-content) of the manufacturer</td><td>No</td></tr><tr><td>`options`</td><td>object</td><td>The Listing Page [Options](https://support.aerocommerce.com/books/api/page/update-manufacturer-endpoint/update-manufacturer-endpoint#bkmrk-options) of the manufacturer</td><td>No</td></tr><tr><td>`seo`</td><td>object</td><td>The [SEO](https://support.aerocommerce.com/books/api/page/update-manufacturer-endpoint/update-manufacturer-endpoint#bkmrk-seo) of the manufacturer</td><td>No</td></tr><tr><td>`additional_attributes`</td><td>array</td><td>An array of [Additional Attribute](https://support.aerocommerce.com/books/api/page/update-manufacturer-endpoint/update-manufacturer-endpoint#bkmrk-additional-attribute) objects</td><td>No</td></tr><tr><td>`settings`</td><td>object</td><td>A [Settings](https://support.aerocommerce.com/books/api/page/update-manufacturer-endpoint#bkmrk-settings) object with grouped key-value pairs</td><td>No</td></tr></tbody></table>

### Image

<table border="1" id="bkmrk-name-type-descriptio-1" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 25.0298%;"></col><col style="width: 25.0298%;"></col><col style="width: 25.0298%;"></col><col style="width: 25.0298%;"></col></colgroup><tbody><tr><td>**Name**  
</td><td>**Type**  
</td><td>**Description**  
</td><td>**Required**  
</td></tr><tr><td>`src`</td><td>string</td><td>The source url of the image</td><td>Yes</td></tr></tbody></table>

### Tag

<table border="1" id="bkmrk-name-type-descriptio-2" style="border-collapse: collapse; width: 100%; height: 111.789px;"><colgroup><col style="width: 25.0298%;"></col><col style="width: 25.0298%;"></col><col style="width: 25.0298%;"></col><col style="width: 25.0298%;"></col></colgroup><tbody><tr style="height: 29.7969px;"><td style="height: 29.7969px;">**Name**  
</td><td style="height: 29.7969px;">**Type**  
</td><td style="height: 29.7969px;">**Description**  
</td><td style="height: 29.7969px;">**Required**  
</td></tr><tr style="height: 46.5938px;"><td style="height: 46.5938px;">`name`</td><td style="height: 46.5938px;">string</td><td style="height: 46.5938px;">The name of the tag (e.g., Small or Red)</td><td style="height: 46.5938px;">Yes</td></tr><tr style="height: 35.3984px;"><td style="height: 35.3984px;">`group`</td><td style="height: 35.3984px;">object</td><td style="height: 35.3984px;">The tag group, see [Tag Group](https://support.aerocommerce.com/books/api/page/update-manufacturer-endpoint/update-manufacturer-endpoint#bkmrk-tag-group)</td><td style="height: 35.3984px;">Yes</td></tr></tbody></table>

### Tag Group

<table border="1" id="bkmrk-name-type-descriptio-3" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 25.0298%;"></col><col style="width: 25.0298%;"></col><col style="width: 25.0298%;"></col><col style="width: 25.0298%;"></col></colgroup><tbody><tr><td>**Name**  
</td><td>**Type**  
</td><td>**Description**  
</td><td>**Required**  
</td></tr><tr><td>`name`</td><td>string</td><td>The name of the tag group (e.g., Size or Colour)</td><td>Yes</td></tr></tbody></table>

### Rule

<table border="1" id="bkmrk-name-type-descriptio-4" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 25.0298%;"></col><col style="width: 25.0298%;"></col><col style="width: 25.0298%;"></col><col style="width: 25.0298%;"></col></colgroup><tbody><tr><td>**Name**  
</td><td>**Type**  
</td><td>**Description**  
</td><td>**Required**  
</td></tr><tr><td>`type`</td><td>string</td><td>Rule type. Allowed values: `in_category`, `in_price_list`, `have_manufacturers`, `have_tags`, `price_between`, `reduced`, `published_within_days`, `published_within`</td><td>Yes</td></tr><tr><td>`requirement`</td><td>string</td><td>Requirement for the rule. Allowed values: `must`, `must_not`. Defaults to `must`</td><td>No</td></tr><tr><td>`logic`</td><td>string</td><td>How this rule combines with others. Allowed values: `and`, `or`. Defaults to `or`</td><td>No</td></tr><tr><td>`data`</td><td>object</td><td>Rule-specific data (see below). Keys vary depending on type</td><td>Yes</td></tr><tr><td>`data.tags`</td><td>array</td><td>An array of Tag ids (or names formatted as group|name). Required if `type = have_tags`</td><td>Conditional</td></tr><tr><td>`data.manufacturers`</td><td>array</td><td>An array of manufacturer ids (or names). Required if `type = have_manufacturers`</td><td>Conditional</td></tr><tr><td>`data.price_list`</td><td>string</td><td>Price list id (or name). Required if `type = in_price_list`</td><td>Conditional</td></tr><tr><td>`data.category`</td><td>string</td><td>Category id (or name/breadcrumb, e.g., Mens &gt; Coats). Required if `type = in_category`</td><td>Conditional</td></tr><tr><td>`data.days`</td><td>int</td><td>Number of days. Required if `type = published_within_days`</td><td>Conditional</td></tr><tr><td>`data.start_at`</td><td>timestamp</td><td>The start date. Required if `type = published_within`</td><td>Conditional</td></tr><tr><td>`data.end_at`</td><td>timestamp</td><td>The end date. Optional if `type = published_within`</td><td>Conditional</td></tr><tr><td>`data.min_price`</td><td>float</td><td>Minimum price (including tax) in store’s default currency, whole units only (e.g. pounds, not pence). Required if `type = price_between`</td><td>Conditional</td></tr><tr><td>`data.max_price`</td><td>float</td><td>Maximum price (including tax) in store’s default currency, whole units only. Required if `type = price_between`</td><td>Conditional</td></tr></tbody></table>

<p class="callout info"> The `rules` are nested within arrays to achieve grouping, see `rules` in Example Request for clarity</p>

### Content

<table border="1" id="bkmrk-name-type-descriptio-5" style="border-collapse: collapse; width: 100%; height: 184.375px;"><colgroup><col style="width: 25.0298%;"></col><col style="width: 25.0298%;"></col><col style="width: 25.0298%;"></col><col style="width: 25.0298%;"></col></colgroup><tbody><tr style="height: 29.7969px;"><td style="height: 29.7969px;">**Name**  
</td><td style="height: 29.7969px;">**Type**  
</td><td style="height: 29.7969px;">**Description**  
</td><td style="height: 29.7969px;">**Required**  
</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">`summary`</td><td style="height: 29.7969px;">string</td><td style="height: 29.7969px;">The summary content</td><td style="height: 29.7969px;">No</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">`description`</td><td style="height: 29.7969px;">string</td><td style="height: 29.7969px;">The description content</td><td style="height: 29.7969px;">No</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">`small_image`</td><td style="height: 29.7969px;">object</td><td style="height: 29.7969px;">The Small [Image](https://support.aerocommerce.com/books/api/page/update-manufacturer-endpoint/update-manufacturer-endpoint/#bkmrk-image)</td><td style="height: 29.7969px;">No</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">`medium_image`</td><td style="height: 29.7969px;">object</td><td style="height: 29.7969px;">The Medium [Image](https://support.aerocommerce.com/books/api/page/update-manufacturer-endpoint/update-manufacturer-endpoint/#bkmrk-image)</td><td style="height: 29.7969px;">No</td></tr><tr style="height: 35.3906px;"><td style="height: 35.3906px;">`large_image`</td><td style="height: 35.3906px;">object</td><td style="height: 35.3906px;">The Large [Image](https://support.aerocommerce.com/books/api/page/update-manufacturer-endpoint/update-manufacturer-endpoint/#bkmrk-image)</td><td style="height: 35.3906px;">No</td></tr></tbody></table>

### Options

<table border="1" id="bkmrk-name-type-descriptio-6" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 25.0298%;"></col><col style="width: 25.0298%;"></col><col style="width: 25.0298%;"></col><col style="width: 25.0298%;"></col></colgroup><tbody><tr><td>**Name**  
</td><td>**Type**  
</td><td>**Description**  
</td><td>**Required**  
</td></tr><tr><td>`categories.mode`</td><td>string</td><td>Categories filter display mode. Allowed values: `show_all`, `hide_all`, `show_some`. Default: `show_all`</td><td>No</td></tr><tr><td>`categories.values`</td><td>array</td><td>An array of category ids (or names/breadcrumbs, e.g. Mens &gt; Coats) to show. Required if `categories.mode = show_some`</td><td>Conditional</td></tr><tr><td>`filters.mode`</td><td>int</td><td>Facet filters display mode. Allowed values: `show_all`, `hide_all`, `show_some`. Default: `show_all`</td><td>No</td></tr><tr><td>`filters.values`</td><td>array</td><td>The options for facet filters on the listings page. Required if `filters.mode = show_some`</td><td>Conditional</td></tr><tr><td>`filters.values.*.name`</td><td>string</td><td>The name of the facet filter, e.g. `Category`, `Price`, etc...</td><td>Yes</td></tr><tr><td>`filters.values.*.collapsed`</td><td>boolean</td><td>Whether to collapse the facet filter or not</td><td>Yes</td></tr><tr><td>`sort_bys`</td><td>array</td><td>An array of the applied sorts on the listings page (e.g., name-az, name-za, price-low, price-high, etc...)</td><td>No</td></tr><tr><td>`per_page`</td><td>int</td><td>The per page of the listings page (defaults to 24)</td><td>No</td></tr></tbody></table>

### SEO

<table border="1" id="bkmrk-name-type-descriptio-7" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 25.0298%;"></col><col style="width: 25.0298%;"></col><col style="width: 25.0298%;"></col><col style="width: 25.0298%;"></col></colgroup><tbody><tr><td>**Name**  
</td><td>**Type**  
</td><td>**Description**  
</td><td>**Required**  
</td></tr><tr><td>`heading`</td><td>string</td><td>The SEO Heading</td><td>No</td></tr><tr><td>`page_title`</td><td>string</td><td>The SEO Page Title</td><td>No</td></tr><tr><td>`meta_description`</td><td>string</td><td>The SEO Meta Description</td><td>No</td></tr><tr><td>`canonical`</td><td>string</td><td>The SEO Canonical</td><td>No</td></tr><tr><td>`noindex`</td><td>boolean</td><td>The SEO No Index</td><td>No</td></tr><tr><td>`nofollow`</td><td>boolean</td><td>The SEO No Follow</td><td>No</td></tr></tbody></table>

### Additional Attribute

<table border="1" id="bkmrk-name-type-descriptio-8" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 25.0298%;"></col><col style="width: 25.0298%;"></col><col style="width: 25.0298%;"></col><col style="width: 25.0298%;"></col></colgroup><tbody><tr><td>**Name**  
</td><td>**Type**  
</td><td>**Description**  
</td><td>**Required**  
</td></tr><tr><td>`key`</td><td>string</td><td>The key of the additional attribute</td><td>Yes</td></tr><tr><td>`value`</td><td>string</td><td>The value of the additional attribute</td><td>Yes</td></tr></tbody></table>

### Settings

Settings are grouped as key-value pairs.

- Use "\_" for ungrouped settings.
- Each group contains its own object of key-value pairs.

```json
{
    "settings": {
        "_": {
            "no_group": "value"
        },
        "group": {
            "key": "value"
        }
    }
}
```

## Example Request

```
PUT /api/manufacturers/{id|name}
```

```json
{
    "name": "Updated Burberry",
    "slug": "very-burberry",
    "content": {
        "description": "Updated Burberry"
    },
    "seo": {
        "heading": "Updated Burberry"
    },
    "tags": [
        {
            "name": "Green",
            "group": {
                "name": "Colour"
            }
        }
    ]
}
```

## Example Response

```json
{
    "manufacturer": {
        "id": 1
    }
}
```