# Bulk Update Deal

Bulk Update Deal

Endpoint: PUT /bulk_update/deals
Version: 2.0

## Query parameters:

  - `<<any other attributes>>` (string)
    <<any other attributes>>

  - `name` (string)
    name

  - `description` (string)
    description

## Header parameters:

  - `Authorization` (string)
    Authorization

## Request body:

  - `application/json` (unknown)
    See below

## Request fields (application/json):

  - `deals` (array)

  - `deals.id` (integer)

  - `deals.name` (string)

  - `deals.channels` (array)
    Array of channel IDs

## Response 200:

  - `200` (unknown)
    ```
{
    "data": {
        "updated_deals": [
            {
                "updated_on": "2021-07-08T14:02:24+00:00",
                "created_on": "2021-07-08T13:57:26+00:00",
                "id": 429599,
                "name": "some new name",
                "description": "something",
                "supply_source_id": 246,
                "sub_supply_source_id": null,
                "deal_identifier": "hello",
                "start_datetime": "2020-12-31T05:00:00+00:00",
                "end_datetime": "2999-12-31T05:00:00+00:00",
                "price_type": "FLOOR",
                "price_method": "CPM",
                "status": false,
                "bill_type": "EXCHANGE",
                "deal_type": "STANDARD",
                "impressions": 22,
                "channels": [
                    {
                        "id": 1,
                        "name": "Display",
                        "pos": 1,
                        "created_on": "2020-07-20T11:13:55.015407+00:00",
                        "updated_on": "2020-07-20T11:13:55.015407+00:00"
                    },
                    {
                        "id": 2,
                        "name": "Mobile Web",
                        "pos": 2,
                        "created_on": "2020-07-20T11:13:55.015407+00:00",
                        "updated_on": "2020-07-20T11:13:55.015407+00:00"
                    }
                ],
                "publisher_id": null,
                "organization_id": 100315,
                "permissions": {
                    "all_organizations": false,
                    "organization_ids": [
                        100315
                    ],
                    "agency_ids": [],
                    "advertiser_ids": []
                },
                "owner": {
                    "type": "ORGANIZATION",
                    "id": 100315
                },
                "price": {
                    "value": "1.3000",
                    "currency_code": "EUR"
                },
                "entity_type": "deal",
                "deal_groups": [],
                "strategies_count": 0
            }
        ],
        "invalid_deals": []
    },
    "meta": {
        "status": "ok"
    }
}
```

## Response 200 fields (application/json):

  - `data` (object)

  - `data.updated_deals` (array)

  - `data.updated_deals.updated_on` (string)

  - `data.updated_deals.created_on` (string)

  - `data.updated_deals.id` (integer)

  - `data.updated_deals.name` (string)

  - `data.updated_deals.description` (string)

  - `data.updated_deals.supply_source_id` (integer)

  - `data.updated_deals.sub_supply_source_id` (any)

  - `data.updated_deals.deal_identifier` (string)

  - `data.updated_deals.start_datetime` (string)

  - `data.updated_deals.end_datetime` (string)

  - `data.updated_deals.price_type` (string)

  - `data.updated_deals.price_method` (string)

  - `data.updated_deals.status` (boolean)

  - `data.updated_deals.bill_type` (string)

  - `data.updated_deals.deal_type` (string)

  - `data.updated_deals.impressions` (any)

  - `data.updated_deals.channels` (any)

  - `data.updated_deals.publisher_id` (any)

  - `data.updated_deals.permissions` (object)

  - `data.updated_deals.permissions.all_organizations` (boolean)

  - `data.updated_deals.permissions.organization_ids` (array)

  - `data.updated_deals.permissions.agency_ids` (array)

  - `data.updated_deals.permissions.advertiser_ids` (array)

  - `data.updated_deals.owner` (object)

  - `data.updated_deals.owner.type` (string)

  - `data.updated_deals.owner.id` (integer)

  - `data.updated_deals.price` (object)

  - `data.updated_deals.price.value` (string)

  - `data.updated_deals.price.currency_code` (string)

  - `data.updated_deals.entity_type` (string)

  - `data.updated_deals.deal_groups` (array)

  - `data.updated_deals.strategies_count` (integer)

  - `data.invalid_deals` (array)

  - `data.invalid_deals.deal` (object)

  - `data.invalid_deals.deal.updated_on` (any)

  - `data.invalid_deals.deal.created_on` (any)

  - `data.invalid_deals.deal.id` (integer)

  - `data.invalid_deals.deal.name` (string)

  - `data.invalid_deals.deal.description` (any)

  - `data.invalid_deals.deal.supply_source_id` (any)

  - `data.invalid_deals.deal.sub_supply_source_id` (any)

  - `data.invalid_deals.deal.deal_identifier` (any)

  - `data.invalid_deals.deal.start_datetime` (any)

  - `data.invalid_deals.deal.end_datetime` (any)

  - `data.invalid_deals.deal.price` (object)

  - `data.invalid_deals.deal.price.value` (string)

  - `data.invalid_deals.deal.price.currency_code` (any)

  - `data.invalid_deals.deal.price_type` (any)

  - `data.invalid_deals.deal.price_method` (any)

  - `data.invalid_deals.deal.status` (any)

  - `data.invalid_deals.deal.bill_type` (any)

  - `data.invalid_deals.deal.deal_type` (any)

  - `data.invalid_deals.deal.impressions` (any)

  - `data.invalid_deals.deal.channels` (any)

  - `data.invalid_deals.deal.publisher_id` (any)

  - `data.invalid_deals.deal.permissions` (object)

  - `data.invalid_deals.deal.permissions.all_organizations` (any)

  - `data.invalid_deals.deal.permissions.organization_ids` (any)

  - `data.invalid_deals.deal.permissions.agency_ids` (any)

  - `data.invalid_deals.deal.permissions.advertiser_ids` (any)

  - `data.invalid_deals.deal.owner` (object)

  - `data.invalid_deals.deal.owner.type` (any)

  - `data.invalid_deals.deal.owner.id` (any)

  - `data.invalid_deals.deal.entity_type` (string)

  - `data.invalid_deals.deal.deal_groups` (array)

  - `data.invalid_deals.deal.strategies_count` (integer)

  - `data.invalid_deals.validation_error` (string)

  - `meta` (object)

  - `meta.status` (string)

## Response 400:

  - `400` (unknown)
    * Programmatic guaranteed deals must have a fixed price
* start_datetime is required and must match the dates in the " + name + " Programmatic Guaranteed agreement
* 'start_datetime' must be earlier than 'end_datetime'
* 'sub_supply_source_id' is not necessary for this supply source
* 'sub_supply_source_id' is required for this supply source
* This deal_identifier already exists
* This supply source does not support programmatic guaranteed deals
* Unauthorized to set 'permissions.all_organizations' to true
* Unauthorized to set this 'owner.type'

