# Copy a Campaign

Copy a campaign

Endpoint: POST /campaigns/{campaign_id}/copy
Version: 3.0.1807
Security: Auth0

## Path parameters:

  - `campaign_id` (integer, required)
    Numeric ID of the campaign object

## Request fields (application/json):

  - `advertiser_id` (integer)

  - `name` (string, required)

  - `start_date` (string)

  - `end_date` (string)

  - `merit_pixel_id` (integer)
    Deprecated. Use `merit_pixels` instead.
If `merit_pixel_id` is updated then `merit_pixels` will be synchronized with it.
If `merit_pixels` is updated then `merit_pixel_id` will be synchronized with it.
Update both fields at the same time is not supported.

  - `merit_pixels` (array)
    Merit pixels for multi-merit attribution (up to 10 per campaign).
If `merit_pixel_id` is updated then `merit_pixels` will be synchronized with it.
If `merit_pixels` is updated then `merit_pixel_id` will be synchronized with it.
Update both fields at the same time is not supported.
Validation rules:
- Each `pixel_id` must reference an event pixel that belongs to the campaign's advertiser.
- `pixel_id` values must be unique within the array.
- `weight` accepts values from 0.00 to 10.00 with at most 2 decimal places; at least one pixel must have a weight greater than 0.
- `funnel_position` values must be unique; if any pixel has a funnel position then all pixels must have one, with no gaps (1 to N).

  - `merit_pixels.pixel_id` (integer, required)

  - `merit_pixels.weight` (number)

  - `merit_pixels.funnel_position` (integer)

  - `status` (boolean, required)

  - `copy_assigned_site_lists` (boolean)
    If true copy everything under 'site lists'

  - `copy_vendor_contracts` (boolean)
    If true copy everything under 'vendor contracts'

  - `copy_brain_settings` (boolean)
    Used to be called 'remember_source'.  If true set the source_campaign_id to campaign id

  - `copy_audience_in_brain` (boolean)
    If true copy 'custom_brain_selections'

  - `copy_viewability` (boolean)
    If true then copy viewability fields

  - `budget` (object)

  - `budget.flights` (array)

  - `budget.flights.start_date` (string, required)
    Example: 2019-08-24T14:15:22Z

  - `budget.flights.end_date` (string, required)
    Example: 2019-08-24T14:15:22Z

  - `budget.flights.total_budget` (number, required)
    Example: 0.1

  - `budget.flights.total_impression_budget` (integer)
    Example: 100

## Response 201 fields (application/json):

  - `data` (object)

  - `data.inherited_mfa_avoidance` (string)
    available if mfa_avoidance = INHERIT
    Enum: "INHERIT", "ALLOW_ALL", "EXCLUDE_MFA"

  - `data.inherited_mfa_from` (string)
    available if mfa_avoidance = INHERIT
    Enum: "Organization", "Agency", "Advertiser", "Campaign"

  - `data.inherited_targeting_identity_level` (string)
    available if targeting_identity_level = INHERIT
    Enum: "INDIVIDUAL", "HOUSEHOLD"

  - `meta` (object)

  - `meta.status` (string, required)
    Example: success

## Response 400 fields (application/json):

  - `errors` (array, required)

  - `errors.code` (string)

  - `errors.sub_code` (string)
    Optional identifier that refines the generic `code` category (e.g. `html5-noscript-tag`). Present on HTML5 upload/preview validation errors; absent otherwise.

  - `errors.field` (string)
    Optional when it is a schema error

  - `errors.message` (string)

  - `meta` (object, required)

  - `meta.status` (string, required)

## Response 401 fields (application/json):

  - `errors` (array, required)

  - `errors.code` (string)

  - `errors.sub_code` (string)
    Optional identifier that refines the generic `code` category (e.g. `html5-noscript-tag`). Present on HTML5 upload/preview validation errors; absent otherwise.

  - `errors.field` (string)
    Optional when it is a schema error

  - `errors.message` (string)

  - `meta` (object, required)

  - `meta.status` (string, required)

## Response 403 fields (application/json):

  - `errors` (array, required)

  - `errors.code` (string)

  - `errors.sub_code` (string)
    Optional identifier that refines the generic `code` category (e.g. `html5-noscript-tag`). Present on HTML5 upload/preview validation errors; absent otherwise.

  - `errors.field` (string)
    Optional when it is a schema error

  - `errors.message` (string)

  - `meta` (object, required)

  - `meta.status` (string, required)

## Response 404 fields (application/json):

  - `errors` (array, required)

  - `errors.code` (string)

  - `errors.sub_code` (string)
    Optional identifier that refines the generic `code` category (e.g. `html5-noscript-tag`). Present on HTML5 upload/preview validation errors; absent otherwise.

  - `errors.field` (string)
    Optional when it is a schema error

  - `errors.message` (string)

  - `meta` (object, required)

  - `meta.status` (string, required)

