# Update a flex promotion

To [update](https://docs.commercelayer.io/core/updating-resources) an existing flex promotion, send a `PATCH` request to the `/api/flex_promotions/:id` endpoint, where `id` is the ID of the resource that you want to update.

Here below the list of all the possible arguments that you can pass with the request body.

## Request

**PATCH** <https://yourdomain.commercelayer.io/api/flex\\_promotions/:id>

### Arguments

| Body Parameter                                   | Type       | Required |
| ------------------------------------------------ | ---------- | -------- |
| **type**                                         | `string`   | Required |
| **id**                                           | `string`   | Required |
| attributes.**name**                              | `string`   | Optional |
| attributes.**exclusive**                         | `boolean`  | Optional |
| attributes.**priority**                          | `integer`  | Optional |
| attributes.**starts\_at**                        | `datetime` | Optional |
| attributes.**expires\_at**                       | `datetime` | Optional |
| attributes.**total\_usage\_limit**               | `integer`  | Optional |
| attributes.**rules**                             | `object`   | Optional |
| attributes.**\_disable**                         | `boolean`  | Optional |
| attributes.**\_enable**                          | `boolean`  | Optional |
| attributes.**\_add\_tags**                       | `string`   | Optional |
| attributes.**\_remove\_tags**                    | `string`   | Optional |
| attributes.**reference**                         | `string`   | Optional |
| attributes.**reference\_origin**                 | `string`   | Optional |
| attributes.**metadata**                          | `object`   | Optional |
| relationships.**coupon\_codes\_promotion\_rule** | `object`   | Optional |
| relationships.**tags**                           | `array`    | Optional |

### Example

{% tabs %}
{% tab title="Request" %}
The following request updates the flex promotion identified by the ID "XAyRWNUzyN":

```shell
curl -g -X PATCH \
  'https://yourdomain.commercelayer.io/api/flex_promotions/XAyRWNUzyN' \
  -H 'Accept: application/vnd.api+json' \
  -H 'Authorization: Bearer your-access-token' \
  -H 'Content-Type: application/vnd.api+json' \
  -d '{
  "data": {
    "type": "flex_promotions",
    "id": "xYZkjABcde",
    "attributes": {
      "exclusive": true
    },
    "relationships": {
      "coupon_codes_promotion_rule": {
        "data": {
          "type": "coupon_codes_promotion_rules",
          "id": "ABCRtyUpBa"
        }
      }
    }
  }
}'
```

{% endtab %}

{% tab title="Response" %}
On success, the API responds with a `200 OK` status code, returning the updated resource object:

```json
{
  "data": {
    "id": "XAyRWNUzyN",
    "type": "flex_promotions",
    "links": {
      "self": "https://yourdomain.commercelayer.io/api/flex_promotions/XAyRWNUzyN"
    },
    "attributes": {
      "name": "Personal promotion",
      "type": "percentage_discount_promotions",
      "exclusive": true,
      "priority": 2,
      "starts_at": "2018-01-01T12:00:00.000Z",
      "expires_at": "2018-01-02T12:00:00.000Z",
      "total_usage_limit": 5,
      "total_usage_count": 2,
      "active": true,
      "status": "pending",
      "rules": {
      },
      "rule_outcomes": [

      ],
      "disabled_at": "2018-01-01T12:00:00.000Z",
      "created_at": "2018-01-01T12:00:00.000Z",
      "updated_at": "2018-01-01T12:00:00.000Z",
      "reference": "ANY-EXTERNAL-REFEFERNCE",
      "reference_origin": "ANY-EXTERNAL-REFEFERNCE-ORIGIN",
      "resource_payload": {
      },
      "metadata": {
        "foo": "bar"
      }
    },
    "relationships": {
      "coupon_codes_promotion_rule": {
        "links": {
          "self": "https://yourdomain.commercelayer.io/api/flex_promotions/XAyRWNUzyN/relationships/coupon_codes_promotion_rule",
          "related": "https://yourdomain.commercelayer.io/api/flex_promotions/XAyRWNUzyN/coupon_codes_promotion_rule"
        }
      },
      "coupons": {
        "links": {
          "self": "https://yourdomain.commercelayer.io/api/flex_promotions/XAyRWNUzyN/relationships/coupons",
          "related": "https://yourdomain.commercelayer.io/api/flex_promotions/XAyRWNUzyN/coupons"
        }
      },
      "attachments": {
        "links": {
          "self": "https://yourdomain.commercelayer.io/api/flex_promotions/XAyRWNUzyN/relationships/attachments",
          "related": "https://yourdomain.commercelayer.io/api/flex_promotions/XAyRWNUzyN/attachments"
        }
      },
      "events": {
        "links": {
          "self": "https://yourdomain.commercelayer.io/api/flex_promotions/XAyRWNUzyN/relationships/events",
          "related": "https://yourdomain.commercelayer.io/api/flex_promotions/XAyRWNUzyN/events"
        }
      },
      "tags": {
        "links": {
          "self": "https://yourdomain.commercelayer.io/api/flex_promotions/XAyRWNUzyN/relationships/tags",
          "related": "https://yourdomain.commercelayer.io/api/flex_promotions/XAyRWNUzyN/tags"
        }
      },
      "versions": {
        "links": {
          "self": "https://yourdomain.commercelayer.io/api/flex_promotions/XAyRWNUzyN/relationships/versions",
          "related": "https://yourdomain.commercelayer.io/api/flex_promotions/XAyRWNUzyN/versions"
        }
      },
      "event_stores": {
        "links": {
          "self": "https://yourdomain.commercelayer.io/api/flex_promotions/XAyRWNUzyN/relationships/event_stores",
          "related": "https://yourdomain.commercelayer.io/api/flex_promotions/XAyRWNUzyN/event_stores"
        }
      }
    },
    "meta": {
      "mode": "test",
      "organization_id": "xRRkjDFafe",
      "trace_id": "69abaa3545913c78132e5578bd26208d44aa9043647d78698fd0021f3958cd74"
    }
  }
}
```

{% endtab %}
{% endtabs %}
