---
title: "Add an offer swap option"
method: POST
path: "/offers/{offer_id}/offer_swap_options"
tags: ["Offers"]
---

# Add an offer swap option

`POST /offers/{offer_id}/offer_swap_options`

Add an offer swap option

## Request body

- object
  - `swap_offer_id` integer, required
  - `swap_offer_type_id` 1 | 2 | 3, required — * `1` - In Cart Only * `2` - Ongoing Subscription * `3` - Both
  - `swap_offer_description` string

## Response `200`

OK

- object
  - `offer_id` integer
  - `offer_name` string
  - `offer_title` string, nullable
  - `offer_code` string, nullable
  - `primary_offer_category_id` integer, nullable
  - `secondary_offer_category_id` integer, nullable
  - `offer_type_id` 1 | 2 — * `1` - One Time Sale * `2` - Recurring
  - `offer_configuration` string, nullable
  - `offer_price` string — Returns the price for the initial cycle of the offer. If null, then the offer has multiple items associated with it, to get full pricing for the offer, pass “with=offer_cycles”
  - `offer_description` string, nullable
  - `offer_global` boolean
  - `offer_url` string, nullable
  - `initial_item_id` integer, nullable
  - `offer_notes` string, nullable
  - `offer_active` boolean
  - `date_created` string, date-time
  - `created_by` integer
  - `date_modified` string, date-time
  - `modified_by` integer
  - `initial_item_options` object[]
    - `item_option_id` integer
    - `item_option_name` string
    - `item_option_values` object[]
      - `item_option_value_id` integer
      - `item_option_value_name` string
  - `offer_cycles` object[]
    - `offer_cycle_id` integer
    - `offer_cycle_weight` integer
    - `offer_cycle_product_type_id` 1 | 2 | 3 | 4 | 5 | 6 — * `1` - Item Bundle * `2` - Item * `3` - Reward * `4` - Gift Card * `5` - Dynamic Item * `6` - Other (Used for Digital or Charge Only)
    - `item_bundle_id` integer, nullable
    - `item_id` integer, nullable
    - `offer_cycle_price` string
    - `offer_cycle_length` integer, nullable
    - `charge_timeframe_id` integer, nullable
    - `offer_cycle_trigger_type_id` null | 1 | 2, nullable — * `1` - Time of Charge * `2` - Delivered Package
    - `offer_cycle_trigger_hour` integer
    - `offer_cycle_multiple_shipments` boolean
    - `offer_cycle_multiple_shipments_count` integer
    - `offer_cycle_multiple_shipments_interval` integer
    - `fulfillment_delay` integer
    - `fulfillment_delay_timeframe_disable` boolean
    - `offer_cycle_reward_type_id` null | 1 | 2 | 3, nullable — * `1` - Flate Rate * `2` - Order Percentage * `3` - Flat Rate / Order Percentage
    - `offer_cycle_reward_flat_rate` string
    - `offer_cycle_reward_percentage` integer
    - `offer_cycle_reward_expiration` integer
    - `offer_cycle_gift_card_total` string
    - `offer_cycle_gift_card_expiration` integer
    - `offer_cycle_final` boolean
    - `offer_cycle_active` boolean
    - `quantity_discount_id` integer, nullable
    - `offer_cycle_price_minimum` string
    - `discount_calculation_total` boolean
    - `offer_cycle_shipping_price` string
    - `offer_cycle_shipment_skippable` boolean
    - `charge_responder_id_bypass` boolean
    - `offer_cycle_deliver_extend_value` integer
    - `offer_cycle_skippable` boolean
    - `offer_cycle_trial` boolean
    - `offer_cycle_auth_next_charge` boolean
    - `date_created` string, date-time
    - `created_by` integer
    - `date_modified` string, date-time
    - `modified_by` integer
    - `offer_cycle_items` object[]
      - `item_id` integer
      - `item_name` string
      - `item_category_id` integer, nullable
      - `item_description` string, nullable
      - `item_image` string, nullable
      - `item_active` boolean
      - `item_price` string, nullable
      - `item_msrp` string, nullable
      - `item_cost` string, nullable
      - `item_shippable` boolean
      - `item_sku` string, nullable
      - `item_weight` string, nullable
      - `item_upc` string, nullable
      - `item_slug` string, nullable
      - `item_quantity` integer
      - `connection_id` integer, nullable
      - `out_of_stock_block` boolean
      - `item_turnaround_time` integer
      - `item_additional_description` string, nullable
      - `item_ingredients` string, nullable
      - `item_video` string, nullable
      - `item_sales_page` string, nullable
      - `item_perishable` boolean
      - `item_tax_code` string, nullable
      - `item_additional_details_1` string, nullable
      - `item_additional_details_2` string, nullable
      - `item_additional_details_3` string, nullable
      - `item_additional_details_4` string, nullable
      - `item_additional_details_5` string, nullable
      - `date_created` string, date-time
      - `created_by` integer
      - `date_modified` string, date-time
      - `modified_by` integer
      - `item_notes` string, nullable
      - `offer_cycle_item_variation_prices` object[]
        - `items_option_variation_id` integer
        - `items_option_variation_name` string
        - `items_option_variation_sku` string, nullable
        - `price` string, nullable
    - `quantity_discount_configs` object[]
      - `quantity_discount_cycle_id` integer
      - `quantity_discount_cycle_type_id` 1 | 2 — * `1` - Percentage * `2` - Flat Rate
      - `quantity_discount_cycle_weight` integer
      - `quantity_discount_cycle_percentage` string, nullable
      - `quantity_discount_cycle_flat_rate` string, nullable
      - `quantity_discount_cycle_name` string, nullable
      - `quantity_discount_cycle_active` boolean
    - `charge_timeframe` object, nullable
      - `timeframe_id` integer
      - `timeframe_name` string
      - `timeframe_frequency` boolean
      - `date_created` string, date-time, nullable
      - `created_by` integer, nullable
      - `date_modified` string, date-time, nullable
      - `modified_by` integer, nullable
  - `offer_timeframes` object[]
    - `timeframe_id` integer
    - `timeframe_name` string
    - `timeframe_frequency` boolean
    - `date_created` string, date-time, nullable
    - `created_by` integer, nullable
    - `date_modified` string, date-time, nullable
    - `modified_by` integer, nullable
  - `primary_offer_category` object, nullable
    - `offer_category_id` integer
    - `offer_category_name` string
  - `secondary_offer_category` object, nullable
    - `offer_category_id` integer
    - `offer_category_name` string
  - `offer_swap_options` object[]
    - `swap_offer_id` integer
    - `swap_offer_type_id` 1 | 2 | 3 — * `1` - In Cart Only * `2` - Ongoing Subscription * `3` - Both
    - `swap_offer_description` string, nullable
    - `created_by` integer
    - `modified_by` integer
    - `date_created` string, date-time
    - `date_modified` string, date-time

## Other responses

- `400` — Error response
- `401` — Unauthorized response
- `403` — Forbidden response
- `404` — Not Found response
- `500` — Error response

---

[API](https://skmtc.net/vrio/apis/crm-configuration.md) · [All operations](https://skmtc.net/vrio/apis/crm-configuration/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/vrio/crm-configuration/versions/62037010356e/schema)
