---
title: "List of ad campaigns"
method: GET
path: "/shops/{SHOP_ID}/ads_manager/campaigns_v2"
tags: ["Ads Manager"]
---

# List of ad campaigns

`GET /shops/{SHOP_ID}/ads_manager/campaigns_v2`

## Request

- Base URL: `https://pos.pages.fm/api/v1`
- URL: `https://pos.pages.fm/api/v1/shops/{SHOP_ID}/ads_manager/campaigns_v2`
- Auth: API key in query parameter `api_key`

Get list of ad campaigns

## Path parameters

- `SHOP_ID` integer, required

## Query parameters

- `page` integer
- `page_size` integer
- `start_time` integer
- `end_time` integer
- `select_fields` string

## Response `200`

Success

- CampaignListResponse
  - `success` boolean: Success status
  - `data` object[]: List of campaigns
    - `id` string: Campaign ID
    - `name` string: Campaign name
    - `status` 'ACTIVE' | 'PAUSED' | 'DELETED' | 'ARCHIVED': Campaign status
    - `effective_status` 'ACTIVE' | 'PAUSED' | 'DELETED' | 'ARCHIVED' | 'IN_PROCESS' | 'WITH_ISSUES': Effective status
    - `objective` 'APP_INSTALLS' | 'BRAND_AWARENESS' | 'CONVERSIONS' | 'EVENT_RESPONSES' | 'LEAD_GENERATION' | 'LINK_CLICKS' | 'LOCAL_AWARENESS' | 'MESSAGES' | 'OFFER_CLAIMS' | 'OUTCOME_APP_PROMOTION' | 'OUTCOME_AWARENESS' | 'OUTCOME_ENGAGEMENT' | 'OUTCOME_LEADS' | 'OUTCOME_SALES' | 'OUTCOME_TRAFFIC' | 'PAGE_LIKES' | 'POST_ENGAGEMENT' | 'PRODUCT_CATALOG_SALES' | 'REACH' | 'STORE_VISITS' | 'VIDEO_VIEWS': Campaign objective
    - `created_time` string, date-time: Campaign creation time
    - `start_time` string, date-time: Campaign start time
    - `end_time` string, date-time, nullable: Campaign end time
    - `marketer_id` string, nullable: Marketer ID assigned
    - `product_id` string, nullable: Product ID
    - `product_category_id` string, nullable: Product category ID
    - `product` Product: Product information
      - `measure_group_id` integer: Measure group ID
      - `name` string, required: Product name
      - `type` 'product' | 'accessory' | 'service' | 'LOT': Product type. `product`: Product (default). `accessory`: Accessory, comes with orders, has no retail price (retail price is reset to 0) and is not counted in sold quantity reports. `service`: Service, inventory is not managed. `LOT`: Product with expiry date, inventory is managed by lot and a lot must be chosen when importing or exporting stock (requires the shop to enable lot management).
      - `category_ids` integer[]: Category IDs
      - `note` string: Internal note
      - `note_product` string: Product note
      - `product_attributes` object[]: Product attributes
        - `name` string: Attribute name
        - `values` string[]: Attribute values
      - `tags` integer[]: Product tags
      - `weight` integer, required: Product weight
      - `custom_id` string: Product custom ID
      - `is_published` boolean: Store cake status
      - `variations` Variation[]: Product variations
        - `id` string: Variation ID
        - `fields` object[]: Variation fields
          - `name` string: Field name
          - `value` string: Field value
        - `images` string[]: Variation images
        - `last_imported_price` integer: Imported price
        - `retail_price` integer: Variation retail price
        - `price_at_counter` integer: Counter price
        - `retail_price_by_currency` RetailPriceByCurrency[]: Retail prices by currency (for shops using multiple currencies). If sent, the list is saved as is, so include every currency you want to keep. If omitted while `retail_price` is sent and the shop uses multiple currencies, the price of the shop's default currency is synced from `retail_price`.
          - `currency` string, required: Currency code (ISO 4217)
          - `retailPriceByCurrency` union, required: Retail price in this currency. Requests accept a number; responses return it as a string.
            - number
            - string
        - `weight` integer: Variation weight
        - `size` VariationSize: Variation size (dimensions)
          - `length` integer: Length
          - `width` integer: Width
          - `height` integer: Height
        - `barcode` string: Variation barcode
        - `custom_id` string: Variation custom ID
        - `is_hidden` boolean: Store cake status variation
        - `variations_warehouses` VariationWarehouse[]: Warehouse info
          - `id` string: Variation-warehouse record ID
          - `variation_id` string: Variation ID
          - `warehouse_id` string: Warehouse ID
          - `shop_id` integer: Shop ID
          - `remain_quantity` integer: Sellable quantity. May include incoming/waiting stock depending on shop settings.
          - `available_quantity` integer: remain_quantity clamped to be non-negative (max(0, remain_quantity)).
          - `actual_remain_quantity` integer: Quantity physically on hand in the warehouse.
          - `total_quantity` integer: Total quantity recorded at this warehouse.
          - `waitting_quantity` integer: Quantity tied up in orders that are awaiting stock (orders placed but waiting for goods to arrive). (Field name keeps the legacy `waitt-` spelling.)
          - `pending_quantity` integer: Quantity reserved by pending purchase orders.
          - `transfer_quantity` integer: Quantity currently being transferred out.
          - `pending_transfer_quantity` integer: Quantity pending transfer (not yet shipped between warehouses).
          - `pending_export_quantity` integer: Quantity pending export.
          - `shipping_quantity` integer: Quantity tied up in orders being shipped.
          - `returning_quantity` integer: Quantity in the process of being returned to this warehouse.
          - `defect_quantity` integer: Damaged/defective quantity.
          - `total_quantity_transfer` integer: Total quantity across transfer operations.
          - `shelf_quantity` integer: Quantity placed on the shelf.
          - `quantity_in_batch` integer: Quantity in the batch/lot.
          - `batch_position` string, nullable: Batch/lot location label.
          - `shelf_position` string, nullable: Shelf location label.
          - `selling_status` 'none' | 'bad' | 'normal' | 'star': Selling-speed status of the variation at this warehouse.
          - `selling_avg` number: Average quantity sold per period — combine with remain_quantity to estimate days of stock left (for "running low" detection).
          - `avg_price` number: Average cost price of the stock at this warehouse.
          - `nearly_out` boolean: True when stock has reached the configured warning threshold (nearly out of stock).
          - `not_permission_view_quantity` boolean, nullable: True when the current user lacks permission to view quantities for this warehouse (quantity fields are then hidden/zeroed).
        - `wholesale_price2` object[]: Wholesale prices by product quantity
          - `levelProduct` string: Product quantity to apply the wholesale price
          - `wholesalePrices` string: Wholesale price
        - `is_removed` boolean: Is removed
        - `keyword` string: Keyword
      - `bonus_products` object[]: Bonus products
        - `quantity` integer, required: Bonus product quantity
        - `variation_id` string, required: Variation ID of the bonus product
        - `price_original` integer, required: Original price of the bonus product
        - `images` string[]: Bonus product images
        - `variation_info` object, required: Variation information of the bonus product
          - `id` string, required: Variation info ID
          - `measure_group_id` string: Measure group ID
          - `measure_info` object: Measure unit information (present when measure_group_id exists)
            - `exchange_value` integer: Exchange value
            - `measure_id` integer: Measure ID
          - `name` string, required: Variation name
          - `product_id` string, required: Product ID
          - `weight` integer: Weight
      - `materials` integer[]: Material IDs
      - `keyword` string: Keyword
      - `brand_id` string, uuid: Brand ID
    - `ad_account` object: Ad account
      - `id` string: Ad account ID
      - `name` string: Ad account name
      - `currency` string: Currency used by the account
    - `insights` object: Campaign performance metrics
      - `ad_ids` string[]: List of ad IDs in this campaign
      - `impressions` number: Number of ad impressions
      - `clicks` integer: Number of clicks (all)
      - `reach` integer: Number of people reached via Instant Experience
      - `spend` number: Total amount spent
      - `cpc` number: CPC
      - `cpm` number: CPM
      - `cpp` number: CPP
      - `ctr` number: CTR
      - `frequency` number: Average frequency of ad views per person
      - `ad_performance_session` integer: Overall performance metric
      - `cost_per_1000_accounts_center_reach` number: Cost per 1000 accounts center reach
      - `cost_per_result` number: Cost per result
      - `avg_purchase_conversion_value` number: Average purchase conversion value
      - `indicator_result` number: Result indicator value
      - `result_roas` number: Return on ad spend (ROAS)
      - `ad_engagement_session` integer: Overall engagement metric
      - `link_click` integer: Link clicks
      - `like` integer: Facebook likes
      - `comment` integer: Post comments
      - `post_engagement` integer: Post engagements
      - `post_reaction` integer: Post reactions
      - `post` integer: Post shares
      - `onsite_conversion_post_save` integer: Post saves
      - `photo_view` integer: Photo views
      - `video_view` integer: Video plays (at least 3 seconds)
      - `inline_link_click_ctr` number: CTR (link click-through rate, %)
      - `outbound_click` integer: Outbound clicks
      - `onsite_conversion_messaging_conversation_started_7d` integer: Messaging conversations started (7-day window)
      - `onsite_conversion_messaging_first_reply` integer: New messaging contacts
      - `onsite_conversion_messaging_block` integer: Messaging blocks
      - `video_thruplay_watched_actions` integer: ThruPlays
      - `video_play_actions` integer: Video plays
      - `video_p25_watched_actions` integer: Video plays at 25% completion
      - `video_p50_watched_actions` integer: Video plays at 50% completion
      - `video_p75_watched_actions` integer: Video plays at 75% completion
      - `video_p95_watched_actions` integer: Video plays at 95% completion
      - `video_p100_watched_actions` integer: Video plays at 100% completion
      - `estimated_ad_recallers` number: Estimated ad recall lift (people)
      - `cost_per_outbound_click` number: Cost per outbound click
      - `cost_per_thruplay` number: Cost per ThruPlay
      - `outbound_clicks_ctr` number: Outbound click-through rate (%)
      - `cost_per_post_engagement` number: Cost per post engagement
      - `estimated_ad_recall_rate` number: Estimated ad recall lift rate (%)
      - `cost_per_estimated_ad_recallers` number: Cost per estimated ad recall lift (people)
      - `cost_per_messaging_conversation_started` number: Cost per messaging conversation started
      - `lead` number: Leads
      - `website_lead` number: Website leads
      - `offline_lead` number: Offline leads
      - `meta_lead` number: Meta leads
      - `lead_conversion_value` number: Lead conversion value
      - `website_lead_conversion_value` number: Website lead conversion value
      - `offline_lead_conversion_value` number: Offline lead conversion value
      - `meta_lead_conversion_value` number: Meta lead conversion value
      - `cost_per_lead` number: Cost per lead
      - `omni_purchase` number: Purchases
      - `inapp_omni_purchase` number: In-app purchases
      - `website_omni_purchase` number: Website purchases
      - `offline_omni_purchase` number: Offline purchases
      - `meta_omni_purchase` number: Meta purchases
      - `omni_purchase_conversion_value` number: Purchase conversion value
      - `inapp_omni_purchase_conversion_value` number: In-app purchase conversion value
      - `website_omni_purchase_conversion_value` number: Website purchase conversion value
      - `offline_omni_purchase_conversion_value` number: Offline purchase conversion value
      - `meta_omni_purchase_conversion_value` number: Meta purchase conversion value
      - `cost_per_omni_purchase` number: Cost per purchase
      - `omni_initiated_checkout` number: Checkout initiated
      - `inapp_omni_initiated_checkout` number: In-app checkout initiated
      - `website_omni_initiated_checkout` number: Website checkout initiated
      - `offline_omni_initiated_checkout` number: Offline checkout initiated
      - `meta_omni_initiated_checkout` number: Meta checkout initiated
      - `omni_initiated_checkout_conversion_value` number: Checkout initiated conversion value
      - `inapp_omni_initiated_checkout_conversion_value` number: In-app checkout initiated conversion value
      - `website_omni_initiated_checkout_conversion_value` number: Website checkout initiated conversion value
      - `offline_omni_initiated_checkout_conversion_value` number: Offline checkout initiated conversion value
      - `meta_omni_initiated_checkout_conversion_value` number: Meta checkout initiated conversion value
      - `cost_per_omni_initiated_checkout` number: Cost per checkout initiated
      - `omni_complete_registration` number: Registrations completed
      - `inapp_omni_complete_registration` number: In-app registrations completed
      - `website_omni_complete_registration` number: Website registrations completed
      - `offline_omni_complete_registration` number: Offline registrations completed
      - `omni_complete_registration_conversion_value` number: Registration completed conversion value
      - `inapp_omni_complete_registration_conversion_value` number: In-app registration completed conversion value
      - `website_omni_complete_registration_conversion_value` number: Website registration completed conversion value
      - `offline_omni_complete_registration_conversion_value` number: Offline registration completed conversion value
      - `cost_per_omni_complete_registration` number: Cost per registration completed
      - `omni_view_content` number: Content views
      - `inapp_omni_view_content` number: In-app content views
      - `website_omni_view_content` number: Website content views
      - `offline_omni_view_content` number: Offline content views
      - `meta_omni_view_content` number: Meta content views
      - `omni_view_content_conversion_value` number: Content view conversion value
      - `inapp_omni_view_content_conversion_value` number: In-app content view conversion value
      - `website_omni_view_content_conversion_value` number: Website content view conversion value
      - `offline_omni_view_content_conversion_value` number: Offline content view conversion value
      - `meta_omni_view_content_conversion_value` number: Meta content view conversion value
      - `cost_per_omni_view_content` number: Cost per content view
      - `omni_search` number: Searches
      - `inapp_omni_search` number: In-app searches
      - `website_omni_search` number: Website searches
      - `offline_omni_search` number: Offline searches
      - `omni_search_conversion_value` number: Search conversion value
      - `inapp_omni_search_conversion_value` number: In-app search conversion value
      - `website_omni_search_conversion_value` number: Website search conversion value
      - `offline_omni_search_conversion_value` number: Offline search conversion value
      - `cost_per_omni_search` number: Cost per search
      - `omni_add_to_cart` number: Add to cart
      - `inapp_omni_add_to_cart` number: In-app add to cart
      - `website_omni_add_to_cart` number: Website add to cart
      - `offline_omni_add_to_cart` number: Offline add to cart
      - `meta_omni_add_to_cart` number: Meta add to cart
      - `omni_add_to_cart_conversion_value` number: Add to cart conversion value
      - `inapp_omni_add_to_cart_conversion_value` number: In-app add to cart conversion value
      - `website_omni_add_to_cart_conversion_value` number: Website add to cart conversion value
      - `offline_omni_add_to_cart_conversion_value` number: Offline add to cart conversion value
      - `meta_omni_add_to_cart_conversion_value` number: Meta add to cart conversion value
      - `cost_per_omni_add_to_cart` number: Cost per add to cart
      - `omni_add_to_wishlist` number: Add to wishlist
      - `inapp_omni_add_to_wishlist` number: In-app add to wishlist
      - `website_omni_add_to_wishlist` number: Website add to wishlist
      - `offline_omni_add_to_wishlist` number: Offline add to wishlist
      - `meta_omni_add_to_wishlist` number: Meta add to wishlist
      - `omni_add_to_wishlist_conversion_value` number: Add to wishlist conversion value
      - `inapp_omni_add_to_wishlist_conversion_value` number: In-app add to wishlist conversion value
      - `website_omni_add_to_wishlist_conversion_value` number: Website add to wishlist conversion value
      - `offline_omni_add_to_wishlist_conversion_value` number: Offline add to wishlist conversion value
      - `meta_omni_add_to_wishlist_conversion_value` number: Meta add to wishlist conversion value
      - `cost_per_omni_add_to_wishlist` number: Cost per add to wishlist
      - `customize_product_total` number: Product customizations
      - `inapp_customize_product_total` number: In-app product customizations
      - `website_customize_product_total` number: Website product customizations
      - `offline_customize_product_total` number: Offline product customizations
      - `customize_product_total_conversion_value` number: Product customization conversion value
      - `inapp_customize_product_total_conversion_value` number: In-app product customization conversion value
      - `website_customize_product_total_conversion_value` number: Website product customization conversion value
      - `offline_customize_product_total_conversion_value` number: Offline product customization conversion value
      - `cost_per_customize_product_total` number: Cost per product customization
      - `start_trial_total` number: Trials started
      - `inapp_start_trial_total` number: In-app trials started
      - `website_start_trial_total` number: Website trials started
      - `offline_start_trial_total` number: Offline trials started
      - `start_trial_total_conversion_value` number: Trial started conversion value
      - `inapp_start_trial_total_conversion_value` number: In-app trial started conversion value
      - `website_start_trial_total_conversion_value` number: Website trial started conversion value
      - `offline_start_trial_total_conversion_value` number: Offline trial started conversion value
      - `cost_per_start_trial_total` number: Cost per trial started
      - `subscribe_total` number: Subscriptions
      - `inapp_subscribe_total` number: In-app subscriptions
      - `website_subscribe_total` number: Website subscriptions
      - `offline_subscribe_total` number: Offline subscriptions
      - `subscribe_total_conversion_value` number: Subscription conversion value
      - `inapp_subscribe_total_conversion_value` number: In-app subscription conversion value
      - `website_subscribe_total_conversion_value` number: Website subscription conversion value
      - `offline_subscribe_total_conversion_value` number: Offline subscription conversion value
      - `cost_per_subscribe_total` number: Cost per subscription
      - `submit_application_total` number: Applications submitted
      - `inapp_submit_application_total` number: In-app applications submitted
      - `website_submit_application_total` number: Website applications submitted
      - `offline_submit_application_total` number: Offline applications submitted
      - `meta_submit_application_total` number: Meta applications submitted
      - `submit_application_total_conversion_value` number: Application submitted conversion value
      - `inapp_submit_application_total_conversion_value` number: In-app application submitted conversion value
      - `website_submit_application_total_conversion_value` number: Website application submitted conversion value
      - `offline_submit_application_total_conversion_value` number: Offline application submitted conversion value
      - `meta_submit_application_total_conversion_value` number: Meta application submitted conversion value
      - `cost_per_submit_application_total` number: Cost per application submitted
      - `contact_total` number: Contacts
      - `inapp_contact_total` number: In-app contacts
      - `website_contact_total` number: Website contacts
      - `offline_contact_total` number: Offline contacts
      - `contact_total_conversion_value` number: Contact conversion value
      - `inapp_contact_total_conversion_value` number: In-app contact conversion value
      - `website_contact_total_conversion_value` number: Website contact conversion value
      - `offline_contact_total_conversion_value` number: Offline contact conversion value
      - `cost_per_contact_total` number: Cost per contact
      - `landing_page_view` number: Landing page views
      - `inapp_landing_page_view` number: In-app landing page views
      - `website_landing_page_view` number: Website landing page views
      - `cost_per_landing_page_view` number: Cost per landing page view
      - `order_created` number: Orders created
      - `order_shipped` number: Orders shipped
      - `purchase_roas` number: Purchase ROAS
      - `inapp_purchase_roas` number: In-app purchase ROAS
      - `website_purchase_roas` number: Website purchase ROAS
      - `order_statistics` object[]: Order count grouped by day offset from campaign start
        - `id` integer: Day offset
        - `order_count` integer: Number of orders on that day
  - `summary` object: Aggregated performance metrics across all campaigns
    - `impressions` number: Total impressions
    - `clicks` integer: Total clicks
    - `reach` integer: Total unique people reached
    - `spend` number: Total amount spent
    - `cpc` number: CPC
    - `cpm` number: CPM
    - `cpp` number: CPP
    - `ctr` number: CTR
    - `frequency` number: Average frequency
  - `page_number` integer: Current page number
  - `page_size` integer: Number of records per page
  - `total_entries` integer: Total number of campaigns
  - `total_pages` integer: Total number of pages

## Changes

- **2026-10-02** `5a7603d54215`: 1 breaking
  - the `data/items/product/allOf[#/components/schemas/Product]/variations/items/retail_price_by_currency/items/retailPriceByCurrency` response's property type changed from `number` to `number, string` for status `200`
- **2026-09-30** `37955210c0b9`: 2 info
  - added the optional property `data/items/product/allOf[#/components/schemas/Product]/type` to the response with the `200` status
  - added the optional property `data/items/product/allOf[#/components/schemas/Product]/variations/items/retail_price_by_currency` to the response with the `200` status

[Operation history](https://skmtc.dev/pancake/apis/pancake-pos-open-api/changes/shops/:SHOP_ID/ads_manager/campaigns_v2/get.md)

---

[API](https://skmtc.dev/pancake/apis/pancake-pos-open-api.md) - [All operations](https://skmtc.dev/pancake/apis/pancake-pos-open-api/llms.txt) - [OpenAPI document](https://skmtc.dev/pancake/apis/pancake-pos-open-api/revisions/3df28d1fb5dc?raw)
