API: PATCH Offer

Altering an existing offer's details

Overview

For auditing purposes, most attributes of an offer cannot be updated once submitted to Banyan. However, the expiration date can be extended to a date in the future or ended early. When using this PUT URL to bring the expiration date forward, the date must be greater than current day + 1. In addition, the budget can be changed after the start of the campaign to reflect a new or abbreviated end date.

Developers, please see our API Reference for an interactive example.

URL

api.banyan.com/rest/v1/offer/{{byn_offer_id}} where byn_offer_id is the offer you wish to update.

Body


NameDescriptionTypeRequiredNotes
expiration_tsWhen the offer endsRFC3339YesShould be sent in UTC. If you want the offer to extend for a long period of time, choose a date far out in the future.
budgetWhat the new budget should be for the offerIntegerNo

Example:

{
    "expiration_ts": "2022-12-20T00:00:00Z",
    "budget": 10500
}

Response

As you can see, the response is the full offer detail again, and contains the updated expiration date if a successful call was made.

Example:

{
    "data": [
        {
            "id": "1b0b4b5d-b900-502d-b308-fd16e1d2b45e",
            "publisher_offer_id": "72b5f9c4-2462-5398-b453-71f4040425d9",
            "campaign_id": "86c6f660-8e9a-533a-b3d8-679a9a245095",
            "return_receipt_detail": true,
            "byn_advertiser_id": 106,
            "byn_publisher_id": 106,
            "amount_back_limit": "10",
            "amount_back_per_dollar": "0.2",
            "amount_back_type": "DOLLAR",
            "start_ts": "2022-07-05T15:05:32Z",
            "expiration_ts": "2022-12-20T00:00:00Z",
            "budget": 10500,
            "offer_criteria": {
                "order_types": [
                    "in_store"
                ],
                "incl_tags": [
                    "category_description:|:BABY CARE"
                ],
                "excl_tags": [
                    "brand:|:Pampers"
                ],
                "incl_sku": [],
                "excl_sku": [],
                "amount_threshold": "50",
                "repeat_amount": 2
            },
            "created_ts": "2022-12-09T02:41:23.996205Z",
            "updated_ts": "2022-12-09T02:42:19.037003Z"
        }
    ],
    "errors": []
}

Errors

Example of an attempt to change the expiration date to a date not in the future:

{
    "data": [],
    "errors": [
        "expiration_ts must be at least one day after current time"
    ]
}
Error CodeDescriptionExamples
400Bad Request1. expiration_ts must be at least one day after current time
403Forbidden
404Not Found