> ## Documentation Index
> Fetch the complete documentation index at: https://docs.appcharge.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get All Offers

> Retrieves a list of offers based on the specified query parameters.

<RequestExample>
  ```bash Get All Offers theme={"system"}
  curl -X GET \
    'https://api.appcharge.com/v2/offer?publisherOfferIds=post-purchase-1,rolling-offer-1' \
    -H 'Content-Type: application/json' \
    -H 'x-publisher-token: <x-publisher-token>'
  ```
</RequestExample>

<ResponseExample>
  ```json Get All Offers theme={"system"}
  {
    "totalCount": 2,
    "offers": [
      {
        "publisherId": "35nb7861ec9924a6b69a0fe59",
        "publisherOfferId": "post-purchase-1",
        "name": "Purchase Reward Offer",
        "displayName": "Purchase Reward Offer",
        "description": "Post purchase offer for VIP players.",
        "type": "PopUp",
        "subType": "PostPurchase",
        "active": true,
        "segments": [],
        "offerUi": {
          "offerUiId": "68b41c5aa1c5b1a284737e9b",
          "active": true,
          "offerUiType": "PopUp",
          "name": "popup",
          "description": "description",
          "backgroundImage": "https://media.appcharge.com/media/35nb7861ec9924a6b69a0fe59/2755379465856__fa883338-5790-47c8-a6a0-23cb43db58844",
          "externalId": "popup"
        },
        "productsSequence": [
          {
            "index": 1,
            "products": [
              {
                "product": {
                  "publisherProductId": "TreasureChest",
                  "name": "Treasure Chest",
                  "type": "Quantity",
                  "prefix": "$",
                  "suffix": "M",
                  "priority": "Main",
                  "images": [
                    {
                      "type": "product",
                      "url": "https://media.appcharge.com/media/35nb7861ec9924a6b69a0fe59/2208472.png"
                    },
                    {
                      "type": "productPrefix",
                      "url": ""
                    }
                  ],
                  "displayName": "Treasure Chest"
                }
              }
            ]
          }
        ],
        "priority": 1,
        "showAfter": "purchase",
        "triggers": [
          {
            "type": "event",
            "eventName": "purchase",
            "every": 1,
            "rules": []
          }
        ],
        "createdAt": "2025-09-01T14:16:09.499Z",
        "updatedAt": "2025-09-01T14:16:09.499Z",
        "offerId": "68b5aaa9b73fceb9ffc26f9b"
      },
      {
        "publisherId": "35nb7861ec9924a6b69a0fe59",
        "offerId": "726cff96123a8717",
        "publisherOfferId": "rolling-offer-1",
        "name": "My Rolling Offer",
        "type": "RollingOffer",
        "active": true,
        "displayName": "My Rolling Offer",
        "description": "This is my rolling offer description.",
        "segments": [
          "New User"
        ],
        "offerUi": null,
        "productsSequence": [
          {
            "index": 1,
            "products": [
              {
                "publisherProductId": "613",
                "name": "Sword",
                "textFontColorHex": "#f60404",
                "type": "Quantity",
                "prefix": "$",
                "suffix": "M",
                "priority": "Main",
                "images": [
                  {
                    "type": "product",
                    "url": "https://media.appcharge.com/media/25cb7861ec8924a6b69a0f59/408472.png"
                  },
                  {
                    "type": "productPrefix",
                    "url": ""
                  }
                ],
                "createdAt": "2024-03-01T10:14:34.142Z",
                "updatedAt": "2025-02-05T13:20:50.759Z",
                "displayName": "Sword",
                "productId": "25e1aa8a7ef37e0d94b16fdf"
              }
            ],
            "priceInUsdCents": 5000
          },
          {
            "index": 2,
            "products": [
              {
                "product": {
                  "publisherProductId": "614",
                  "name": "Boost",
                  "textFontColorHex": "#bfc6e8",
                  "type": "Quantity",
                  "prefix": "+",
                  "suffix": "🎉",
                  "priority": "Sub",
                  "images": [
                    {
                      "type": "product",
                      "url": "https://media.appcharge.com/media/25cb7861ec8924a6b69a0f59/1730204644395__99c7d8e4-4658-49db-ac4f-501ab93fee9a"
                    },
                    {
                      "type": "productPrefix",
                      "url": ""
                    }
                  ],
                  "displayName": "Boost",
                  "createdAt": "2024-10-29T12:24:23.083Z",
                  "updatedAt": "2025-01-16T09:38:15.446Z",
                  "productId": "6720d3f7aaca102ce5fb0ce2"
                }
              }
            ],
            "priceInUsdCents": 3000
          }
        ],
        "priority": 1,
        "schedule": {
          "permanent": false,
          "timeFrames": [
            {
              "startTime": "2025-06-22T12:05:00.000Z",
              "endTime": "2025-06-22T12:10:00.000Z",
              "notes": "",
              "id": "68078610fb23b166fb160469"
            }
          ]
        },
        "productSale": {
          "type": "percentage",
          "sale": 100
        },
        "priceDiscount": {
          "type": "percentage",
          "discount": 20
        },
        "createdAt": "2025-04-06T10:00:44.528Z",
        "updatedAt": "2025-04-06T10:00:44.528Z"
      }
    ]
  }
  ```
</ResponseExample>


## OpenAPI

````yaml openapi-offers-all.json GET /v2/offer
openapi: 3.0.0
info:
  title: Offers V2
  description: Offering API for enabling publishers to push new assets
  version: '1.0'
  contact: {}
servers:
  - url: https://api-sandbox.appcharge.com
security: []
tags: []
paths:
  /v2/offer:
    get:
      tags:
        - Offers
      summary: Get All Offers
      description: >-
        Retrieves a list of offers based on the specified query parameters. Use
        `publisherOfferIds` to retrieve multiple specific offers by ID.
      operationId: get-all-offers
      parameters:
        - name: offerType
          required: false
          in: query
          description: |-
            Type of offer. 
             
             Available options: `Bundle`, `SpecialOffer`, `PopUp`, `RollingOffer`, `CheckoutLink`, `ProgressBar`
          schema:
            type: string
            example: SpecialOffer
        - name: offerSubType
          required: false
          in: query
          description: >-
            Subtype of the offer. Use this parameter to filter popup offers by
            subtype, such as `PostPurchase`, `DailyBonus`, `StoreRefresh`, or
            `RewardCalendar`.
          schema:
            type: string
            example: PostPurchase
        - name: recordLimit
          required: false
          in: query
          description: Maximum number of items to return in the results.
          schema:
            minimum: 0
            maximum: 500
            type: number
            default: 100
            example: 50
        - name: offset
          required: false
          in: query
          description: Number of items to skip.
          schema:
            minimum: 0
            type: number
            example: 10
        - name: publisherOfferIds
          required: false
          in: query
          description: >-
            One or more unique offer identifiers. Use this parameter to retrieve
            multiple offers. Separate multiple offer IDs with a comma.
          schema:
            type: string
            example: special-offer-1,bundle-offer-1
        - name: x-publisher-token
          required: true
          in: header
          description: The publisher token
          schema:
            type: string
      responses:
        '200':
          description: Offers successfully retrieved.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetOffersResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                  requestUrl:
                    type: string
                  body:
                    type: string
        '401':
          description: Not Authorized
components:
  schemas:
    GetOffersResponse:
      type: object
      properties:
        totalCount:
          type: number
          format: int
          description: >-
            Total number of offers in the Publisher Dashboard. If the
            `offerType` parameter is provided, this value reflects the total
            number of offers of that type. The count is not affected by the
            `publisherOfferId` parameter.
        offers:
          type: array
          description: List of offers.
          items:
            $ref: '#/components/schemas/OfferDtoResponse'
    OfferDtoResponse:
      type: object
      properties:
        publisherId:
          type: string
          description: Publisher ID.
        offerId:
          type: string
          description: The SKU of the offer.
        publisherOfferId:
          type: string
          description: >-
            The offer ID provided by the publisher. This is the offer's
            **External ID** value in the Publisher Dashboard.
        name:
          type: string
          description: The name of the offer. Must be a minimum of 3 characters.
        displayName:
          type: string
          description: The display name of the offer.
        description:
          type: string
          description: The description of the offer (conditionally returned).
        type:
          type: string
          description: |-
            Type of offer. 
             
             Available options: `Bundle`, `SpecialOffer`, `PopUp`, `RollingOffer`, `CheckoutLink`, `ProgressBar`
        offerUi:
          $ref: '#/components/schemas/OfferUiDto'
        badges:
          type: array
          items:
            type: object
            properties:
              publisherBadgeId:
                type: string
                description: The ID as configured in the dashboard.
          description: List of badges associated with the offer.
        productSale:
          type: object
          description: >-
            Sale details for products in the offer. The sale will only be
            applied on the first offer.
          properties:
            sale:
              type: integer
              description: The sale percentage applied to the product quanitity.
            type:
              type: string
              description: The type of sale.
              default: percentage
              enum:
                - percentage
                - multiplier
                - fixed_amount
        priceDiscount:
          type: object
          description: Discount applied to the price.
          properties:
            discount:
              type: integer
              description: The discount percentage applied.
            type:
              type: string
              description: The type of discount applied.
              default: percentage
              enum:
                - percentage
        active:
          type: boolean
          description: Whether the offer is active.
        segments:
          type: array
          description: >-
            List of player segments that this offer applies to (e.g.,
            ["NewUser", "BigSpender"]).
          items:
            type: string
        publisherTabId:
          type: string
          description: Tab ID in the web store.
        productsSequence:
          type: array
          description: The sequence of products included in the offer.
          items:
            type: object
            properties:
              index:
                type: integer
                description: The order of the product in the offer.
              playerAvailability:
                type: number
                description: >-
                  The number of times a player can purchase or collect the
                  offer.
              hidePlayerAvailability:
                type: boolean
                description: >-
                  Whether to hide the availability text based on the
                  `playerAvailability` property value in the web store. Only
                  relevant for Special Offers and Store Refresh Popups.
              priceInUsdCents:
                type: integer
                description: >-
                  The price of the product in cents.  The value must be either 0
                  (free), or by minimum 80 cents.
              products:
                type: array
                description: List of products in the offer.
                items:
                  type: object
                  properties:
                    quantity:
                      type: integer
                      description: The quantity of the product in the offer.
                    priority:
                      type: string
                      description: >-
                        Specifies the display priority of a product within the
                        offer. Either `Main` or `Sub`.
                    product:
                      type: object
                      description: Details on the product design.
                      properties:
                        publisherProductId:
                          type: string
                          description: >-
                            The SKU of the product, as configured in the
                            Publisher Dashboard.
                        name:
                          type: string
                          description: >-
                            The name of the product, as configured in the
                            Publisher Dashboard.
                        textFontColorHex:
                          type: string
                          description: >-
                            The font color of the product display name, as
                            configured in the Publisher Dashboard.
                        type:
                          type: string
                          enum:
                            - quantity
                            - time
                          description: Type of product, either quantity or time.
                        prefix:
                          type: string
                          description: >-
                            The prefix of the product, as configured in the
                            Publisher Dashboard. This is the text that appears
                            before the product amount.
                        suffix:
                          type: string
                          description: >-
                            The suffix of the product, as configured in the
                            Publisher Dashboard. This is the text that appears
                            after the product amount.
                        priority:
                          type: string
                          enum:
                            - Main
                            - Sub
                          description: >-
                            Specifies the display priority of a product within
                            the offer.
                        images:
                          type: array
                          description: >-
                            Details on the images uploaded for this product in
                            the Publisher Dashboard.
                          items:
                            type: object
                            properties:
                              type:
                                type: string
                                description: >-
                                  The type of image uploaded for this product in
                                  the Publisher Dashboard.
                              url:
                                type: string
                                format: uri
                                description: >-
                                  The URL of the image that has been uploaded
                                  for this product, as generated in the
                                  Publisher Dashboard.
                        createdAt:
                          type: string
                          format: date-time
                          description: Date the product was created.
                        updatedAt:
                          type: string
                          format: date-time
                          description: Date the product was updated.
                        productId:
                          type: string
                          description: >-
                            A unique product ID number automatically generated
                            by Appcharge.
              progressBarPoints:
                type: array
                description: >-
                  List of Progress Bar offers to which this offer contributes
                  points.
                items:
                  type: object
                  properties:
                    publisherBarId:
                      type: string
                      description: >-
                        The Progress Bar offer ID provided by the publisher.
                        This is the Progress Bar offer's **External ID** value
                        in the Publisher Dashboard.
                    points:
                      type: number
                      description: >-
                        The number of points this offer contributes to the
                        specified Progress Bar.
        startOver:
          type: boolean
          description: Whether the offer will restart after completion.
        rewardCalendar:
          $ref: '#/components/schemas/RewardCalendarBehavior'
        priority:
          type: number
          description: >-
            The priority level of the offer. The priority starts from 1, where 1
            is the highest priority.
        showAfter:
          type: string
        triggers:
          type: array
          description: >-
            An array of objects that define the conditions for triggering the
            offer.
          items:
            type: object
            properties:
              type:
                type: string
                description: Type of trigger.
              eventName:
                type: string
                description: Name of the event that triggered the offer.
              every:
                type: integer
                description: Number of purchases required to present the offer.
              rules:
                type: array
                format: string
                description: Rules that define when the offer will appear.
                items: {}
        createdAt:
          type: string
          format: date-time
          description: Date the offer was created.
        updatedAt:
          type: string
          format: date-time
          description: Date the offer was updated.
    OfferUiDto:
      type: object
      description: Details on the offer design, as configured in the Publisher Dashboard.
      properties:
        offerUiId:
          type: string
          description: The ID of the offer design, as displayed in the Publisher Dashboard.
        externalId:
          type: string
          description: The SKU of the offer design, as defined in the Publisher Dashboard.
        active:
          type: boolean
          description: Whether the offer is active.
        offerUiType:
          type: string
          description: The type of offer design.
        name:
          type: string
          description: The name of the offer design, as defined in the Publisher Dashboard.
        description:
          type: string
          description: >-
            The description of the offer design, as defined in the Publisher
            Dashboard.
        backgroundImage:
          type: string
          description: >-
            The background image of the offer design, as defined in the
            Publisher Dashboard.
        specialOffer:
          type: object
          description: Details on the offer template and design.
          properties:
            templateType:
              type: string
              description: The template type, as configured in the Publisher Dashboard.
            title:
              type: string
              description: >-
                The title of the offer, as configured in the Publisher
                Dashboard.
            fontSize:
              type: number
              description: >-
                The font size of the offer title, as configured in the Publisher
                Dashboard.
            fontWeight:
              type: string
              description: >-
                The font weight of the offer title, as configured in the
                Publisher Dashboard.
            fontColor:
              type: object
              description: >-
                Details on the font color of the offer title as configured in
                the Publisher Dashboard. If the font color is set to linear,
                direction will be returned, as well as both 'colorOne' and
                'colorTwo'.
              properties:
                colorOne:
                  type: string
                  description: The font color of the offer title.
                colorTwo:
                  type: string
                  description: >-
                    The second font color of the offer title. Relevant only if
                    the font color is set to linear.
                direction:
                  type: string
                  description: >-
                    The direction of the linear gradient. Relevant only if the
                    font color is set to linear.
            backgroundColor:
              type: object
              description: >-
                Details on the background color of the offer title as configured
                in the Publisher Dashboard. If the background color is set to
                linear, the direction will be returned along with ‘colorOne’ and
                ‘colorTwo’.
              properties:
                colorOne:
                  type: string
                  description: The background color of the offer title.
                colorTwo:
                  type: string
                  description: >-
                    The second background color of the offer title. Relevant
                    only if the background color is set to linear.
                direction:
                  type: string
                  description: >-
                    The direction of the linear gradient. Relevant only if the
                    background color is set to linear.
    RewardCalendarBehavior:
      type: object
      description: >-
        Reward Calendar behavior configuration. Returned when `type` is `PopUp`
        and `subType` is `RewardCalendar`.
      properties:
        resetBehavior:
          type: string
          description: Controls how player progress resets after a missed day.
          enum:
            - ToCalendarStart
            - ToCurrentWeekStart
        popupTrigger:
          type: string
          description: Controls how the Reward Calendar popup opens.
          enum:
            - ShowAutomatically
            - ShowOnBadgeClick
        rewardCollectionBehavior:
          type: string
          description: >-
            Controls whether players must collect a reward immediately or can
            collect it later that day.
          enum:
            - ForcePlayerToCollect
            - PlayerCanSkipCollection

````