Composable Frontend 2.0 Learn more 

  • Promotions Standard/
    Promotion Management/
    Update a Promotion

    Update a Promotion

    You can re-enable an expired promotion by updating the end date to a future date. However, when you enable a promotion again, all codes previously attached to it are deleted to make sure that duplicate promotion codes do not exist on different promotions.

    PUT Update a Promotion

    https://useast.api.elasticpath.com/v2/promotions/:id
    

    Parameters

    Path parameters

    NameRequiredTypeDescription
    idRequiredstringThe unique promotion identifier.

    Headers

    NameRequiredTypeDescription
    AuthorizationRequiredstringThe Bearer token required to get access to the API.

    Body

    NameRequiredTypeDescription
    typeRequiredstring"promotion".
    idRequirednumberThe unique promotion identifier.
    nameOptionalstringThe name of your promotion.
    descriptionOptionalstringA description of your promotion.
    enabledOptionalbooleantrue if enabled, false if not.
    startOptionalstringThe end time of the promotion datetime (yyyy-mm-dd, yyyy-mm-ddThh:mm:ss+hh:mm). The simpler format will start the promotion at 00:00 UTC of the datetime specified. If time is not specified, it will default to the time at which the request was created.
    endOptionalstringThe end time of the promotion date and time (yyyy-mm-dd, yyyy-mm-ddThh:mm:ss+hh:mm). The simpler format starts the promotion at 00:00 UTC of the date and time specified. If time is not specified, it defaults to the time at which the request was created.
    max_applications_per_cartOptionalintegerSpecifies the maximum number of application of a promotion per cart.
    min_cart_valueOptionalarraySpecifies an array of currency-value objects, min_cart_value[].currency and min_cart_value[].amount, that provide the minimum cart value required for the promotion to apply. You can add one or several value specifications in different currencies.
    automaticRequiredbooleanSpecifies whether the promotion is applied automatically to the cart or a code is required to apply the promotion. The default setting is false. When this value is set true, a code is autogenerated. If this value is set false, you must create the code manually. For more information about creating codes, see the Create Promotion Codes section.
    max_discount_valueOptionalarraySpecifies an array of currency-value objects, max_discount_value[].currency and max_discount_value[].amount, that provides the maximum possible discount for the cart.
    schemaRequiredobjectSpecifies the schema of the promotion. You can update the values in the schema object.

    Request Example

    The following sample request extends the life of a promotion.

    curl -X PUT https://useast.api.elasticpath.com/v2/promotions/:id \
        -H "Authorization: Bearer XXXX" \
        -H "Content-Type: application/json" \
        -d $ {
            "data": {
            "type":"promotion",
            "id": "PROMOTION_ID",
            "name": "Promo #1",
            "description": "Promotion (extended)",
            "enabled": true,
            "start":"2020-09-01",
            "end":"2020-12-31"
        }
    }
    

    Response Example

    200 OK

    {
        "data": {
            "type": "promotion",
            "id": "7005b249-300b-4cf6-964e-e663278af218",
            "name": "Promo #1",
            "description": "Initial Promotion",
            "enabled": true,
            "promotion_type": "fixed_discount",
            "schema": {
                "currencies": [
                    {
                        "currency": "USD",
                        "amount": 900
                    },
                    {
                        "currency": "GBP",
                        "amount": 1100
                    }
                ]
            },
            "start": "2017-11-13T00:00:00Z",
            "end": "2019-11-13T00:00:00Z",
            "created_by": "seller@elasticpath.com",
            "updated_by": "another_seller@elasticpath.com",
            "created_at": "2018-05-10T15:25:21.164Z",
            "updated_at": "2018-05-10T15:26:18.203942092Z"
        }
    }
    

    Errors

    When extending the end date of an expired promotion with over 1000 codes, you will receive the following error response. In such cases, we recommend duplicating the promotion, allowing you to set the new end dates and create promotion codes as needed.

    {
        "errors": [
            {
                "status": 422,
                "source": "request",
                "title": "Unprocessable Entity",
                "detail": ""
            }
        ]
    }
    
    Previous
    Get a Promotion