> ## 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 Offer Designs

> Retrieves a list of all offer designs.

<RequestExample>
  ```bash Get All Offer Designs theme={"system"}
  curl -X GET \
    'https://api.appcharge.com/components/v1/offer-design' \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'x-publisher-token: <x-publisher-token>'
  ```
</RequestExample>

<ResponseExample>
  ```json Get All Offer Designs theme={"system"}
  [
    {
      "id": "68b3e3473e2ea6249862bddf",
      "offerUiType": "Bundle",
      "name": "Starter Bundle Design",
      "externalId": "starter-bundle-design",
      "backgroundImageUrl": "https://media.appcharge.com/media/65cb7861ec8924a6b69a0f59/background.png",
      "backgroundColor": {
        "colorOne": "#E7CF88",
        "colorTwo": "#FDFCF9",
        "gradientDirection": "to right"
      },
      "buttonSuffixImage": "https://media.appcharge.com/media/65cb7861ec8924a6b69a0f59/bundle-button-suffix.png",
      "buttonSuffixAnimation": "https://media.appcharge.com/media/65cb7861ec8924a6b69a0f59/bundle-button-suffix-animation.json"
    },
    {
      "id": "68b3f37f3a2852af1a154fae",
      "offerUiType": "SpecialOffer",
      "name": "Summer Special Design",
      "externalId": "summer-special-design",
      "backgroundImageUrl": "https://media.appcharge.com/media/65cb7861ec8924a6b69a0f59/background.png",
      "title": {
        "text": "Limited Time Offer",
        "fontColor": {
          "colorOne": "#ffffff"
        },
        "fontSize": 20,
        "fontWeight": "bold"
      },
      "buttonSuffixImage": "https://media.appcharge.com/media/65cb7861ec8924a6b69a0f59/special-offer-button-suffix.png",
      "buttonSuffixAnimation": "https://media.appcharge.com/media/65cb7861ec8924a6b69a0f59/special-offer-button-suffix-animation.json"
    },
    {
      "id": "68cbf09967ba5ab776c2745e",
      "offerUiType": "PopUp",
      "offerUiSubType": "DailyBonus",
      "name": "Daily Bonus Design",
      "externalId": "daily-bonus-design",
      "backgroundImageUrl": "https://media.appcharge.com/media/65cb7861ec8924a6b69a0f59/background.png",
      "title": {
        "text": "Your daily bonus!",
        "fontColor": "#FFFFFF",
        "fontSize": 20,
        "fontWeight": "normal"
      }
    },
    {
      "id": "68d2b9cf7a8b4d2f1b8e0a31",
      "offerUiType": "PopUp",
      "offerUiSubType": "RewardCalendar",
      "name": "Weekly Reward Calendar",
      "externalId": "reward-calendar-design-1",
      "backgroundImageUrl": "https://media.appcharge.com/media/65cb7861ec8924a6b69a0f59/reward-calendar-background.png",
      "rewardCalendar": {
        "collectibleBadgeImage": "https://media.appcharge.com/media/65cb7861ec8924a6b69a0f59/collectible-badge.png",
        "lockedBadgeImage": "https://media.appcharge.com/media/65cb7861ec8924a6b69a0f59/locked-badge.png",
        "backgroundColor": "#101225",
        "collectIconImage": "https://media.appcharge.com/media/65cb7861ec8924a6b69a0f59/collect-icon.png",
        "lockedIconImage": "https://media.appcharge.com/media/65cb7861ec8924a6b69a0f59/locked-icon.png",
        "dayFontColor": "#FFFFFF",
        "subRewardBackgroundImage": "https://media.appcharge.com/media/65cb7861ec8924a6b69a0f59/sub-reward-background.png",
        "mainRewardBackgroundImage": "https://media.appcharge.com/media/65cb7861ec8924a6b69a0f59/main-reward-background.png",
        "headerImage": "https://media.appcharge.com/media/65cb7861ec8924a6b69a0f59/header.png"
      }
    },
    {
      "id": "6a09aa1018b751228b09faed",
      "offerUiType": "PopUp",
      "offerUiSubType": "PostPurchase",
      "name": "Post Purchase Popup Design",
      "externalId": "post-purchase-popup-design",
      "backgroundImageUrl": "https://media.appcharge.com/media/65cb7861ec8924a6b69a0f59/background.png",
      "title": {
        "text": "Post purchase offer",
        "fontColor": "#FFFFFF",
        "fontSize": 20,
        "fontWeight": "medium"
      }
    },
    {
      "id": "694a7c8e87f78fb36a931763",
      "offerUiType": "RollingOffer",
      "name": "Rolling Offer Design",
      "externalId": "rolling-offer-design",
      "backgroundImageUrl": "https://media.appcharge.com/media/65cb7861ec8924a6b69a0f59/background.png",
      "backgroundColor": "#272727",
      "backgroundOpacity": 80,
      "headerImage": "https://media.appcharge.com/media/65cb7861ec8924a6b69a0f59/header.png",
      "arrowColor": "#ffffff",
      "borderColor": {
        "colorOne": "#ffffff",
        "colorTwo": "#ffffff",
        "direction": "to right"
      },
      "borderWidth": 2,
      "subRollingOffer": {
        "backgroundImageUrl": "https://media.appcharge.com/media/65cb7861ec8924a6b69a0f59/sub-background.png",
        "collectText": "FREE"
      }
    }
  ]
  ```
</ResponseExample>


## OpenAPI

````yaml openapi-offer-designs-api.json GET /components/v1/offer-design
openapi: 3.0.3
info:
  title: Offer Designs API
  version: 1.0.0
servers:
  - url: https://api-sandbox.appcharge.com
security:
  - PublisherTokenAuth: []
tags:
  - name: Offer Designs
paths:
  /components/v1/offer-design:
    get:
      tags:
        - Offer Designs
      summary: Get Offer Designs
      description: Retrieves a list of all offer designs.
      operationId: get-offer-designs
      parameters:
        - name: x-publisher-token
          in: header
          required: true
          description: Publisher token, as displayed in the Publisher Dashboard.
          schema:
            type: string
      responses:
        '200':
          description: Offer designs retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAllOfferDesignsResponse'
components:
  schemas:
    GetAllOfferDesignsResponse:
      type: array
      items:
        $ref: '#/components/schemas/OfferDesignResponse'
    OfferDesignResponse:
      type: object
      description: >-
        Information about an offer design. The response can include fields for
        multiple offer design types; fields that are specific to an offer type
        are marked in their descriptions.
      properties:
        id:
          type: string
          description: Offer design ID.
          example: 68b3e3473e2ea6249862bddf
        offerUiType:
          type: string
          enum:
            - SpecialOffer
            - Bundle
            - PopUp
            - RollingOffer
          description: Type of offer design.
          example: Bundle
        offerUiSubType:
          type: string
          enum:
            - DailyBonus
            - PostPurchase
            - RewardCalendar
          description: Popup design subtype. Only relevant when `offerUiType` is `PopUp`.
          example: DailyBonus
        name:
          type: string
          description: Offer design name.
          example: Starter Bundle Design
        externalId:
          type: string
          description: Offer design ID that you defined.
          example: starter-bundle-design
        backgroundImageUrl:
          type: string
          format: url
          description: Background image URL for the offer design.
          example: >-
            https://media.appcharge.com/media/65cb7861ec8924a6b69a0f59/background.png
        externalBackgroundImageUrl:
          type: string
          format: url
          description: >-
            Original background image URL when the design uses an external image
            URL.
          example: https://cdn.example.com/assets/background.png
        backgroundExternalImageUrl:
          type: string
          format: url
          description: >-
            Original background image URL when an external image URL is used.
            Only relevant for Rolling Offers.
          example: https://cdn.example.com/assets/background.png
        title:
          description: >-
            Title configuration. Only relevant for Special Offers, Daily
            Bonuses, and  Triggered Popups.
          allOf:
            - $ref: '#/components/schemas/OfferTitle'
        buttonSuffixImage:
          type: string
          description: Button asset suffix. Only relevant for Bundles and Special Offers.
          example: >-
            https://media.appcharge.com/media/65cb7861ec8924a6b69a0f59/bundle-button-suffix.png
        buttonSuffixAnimation:
          type: string
          description: >-
            Button asset suffix animation. Only relevant for Bundles and Special
            Offers.
          example: >-
            https://media.appcharge.com/media/65cb7861ec8924a6b69a0f59/bundle-button-suffix-animation.json
        backgroundColor:
          description: >-
            Background color. 


            **Note:** For Rolling Offers, this property is returned as a string.
            For Bundles, this property is returned as an object as shown below.
          additionalProperties: true
          properties:
            colorOne:
              type: string
              description: Primary color.
              example: '#E7CF88'
            colorTwo:
              type: string
              description: Secondary color.
              example: '#FDFCF9'
            gradientDirection:
              type: string
              enum:
                - to top
                - to bottom
                - to left
                - to right
                - to top left
                - to top right
                - to bottom left
                - to bottom right
              description: Gradient direction.
              example: to right
        backgroundOpacity:
          type: number
          description: Background opacity value. Only relevant for Rolling Offers.
          example: 80
        headerImage:
          type: string
          format: url
          description: Header image URL. Only relevant for Rolling Offers.
          example: >-
            https://media.appcharge.com/media/65cb7861ec8924a6b69a0f59/header.png
        arrowColor:
          type: string
          description: Arrow color. Only relevant for Rolling Offers.
          example: '#ffffff'
        borderColor:
          description: Border color configuration. Only relevant for Rolling Offers.
          allOf:
            - $ref: '#/components/schemas/ColorDetails'
        borderWidth:
          type: number
          description: Border width in pixels. Only relevant for Rolling Offers.
          example: 2
        subRollingOffer:
          description: Sub rolling offer configuration. Only relevant for Rolling Offers.
          allOf:
            - $ref: '#/components/schemas/SubRollingOfferResponse'
        rewardCalendar:
          description: >-
            Reward calendar design configuration. Only relevant for Reward
            Calendars.
          allOf:
            - $ref: '#/components/schemas/RewardCalendarDesignBlockResponse'
    OfferTitle:
      type: object
      properties:
        text:
          type: string
          description: Offer title.
          example: Limited Time Offer
        fontColor:
          description: >-
            Title font color.


            **Note:** For Daily Bonuses and Triggered Popups, this property is
            returned as a string. For Special Offers, this property is returned
            as an object as shown below.
          additionalProperties: true
          properties:
            colorOne:
              type: string
              description: Primary title font color. Only relevant for Special Offers.
              example: '#FFFFFF'
            colorTwo:
              type: string
              description: Secondary title font color. Only relevant for Special Offers.
              example: '#FDFCF9'
            direction:
              type: string
              description: Color transition direction. Only relevant for Special Offers.
              example: to right
          example: '#FFFFFF'
        fontSize:
          type: number
          description: Font size in pixels.
          example: 20
        fontWeight:
          type: string
          description: Font weight.
          example: bold
    ColorDetails:
      type: object
      description: Color details returned by offer designs.
      properties:
        colorOne:
          type: string
          description: Primary color.
          example: '#FFFFFF'
        colorTwo:
          type: string
          description: Secondary color.
          example: '#FDFCF9'
        direction:
          type: string
          description: Direction of the color transition.
          example: to right
    SubRollingOfferResponse:
      type: object
      properties:
        backgroundImageUrl:
          type: string
          format: url
          description: Background image URL for the sub rolling offer.
          example: >-
            https://media.appcharge.com/media/65cb7861ec8924a6b69a0f59/sub-background.png
        backgroundExternalImageUrl:
          type: string
          format: url
          description: >-
            Original background image URL for the sub rolling offer when an
            external image URL is used.
          example: https://cdn.example.com/assets/background.png
        collectText:
          type: string
          description: Text displayed for the collect action.
          example: FREE
    RewardCalendarDesignBlockResponse:
      type: object
      description: Information about the reward calendar design.
      properties:
        collectibleBadgeImage:
          type: string
          format: url
          description: Badge image to display when a reward is able to be collected.
          example: >-
            https://media.appcharge.com/media/65cb7861ec8924a6b69a0f59/collectible-badge.png
        lockedBadgeImage:
          type: string
          format: url
          description: Badge image to display when a reward is locked.
          example: >-
            https://media.appcharge.com/media/65cb7861ec8924a6b69a0f59/locked-badge.png
        backgroundColor:
          type: string
          pattern: ^#[0-9a-fA-F]{6}$
          description: Reward calendar background color in hex format.
          example: '#101225'
        collectIconImage:
          type: string
          format: url
          description: Icon image displayed when a reward has been collected.
          example: >-
            https://media.appcharge.com/media/65cb7861ec8924a6b69a0f59/collect-icon.png
        lockedIconImage:
          type: string
          format: url
          description: Icon image displayed when a reward is locked.
          example: >-
            https://media.appcharge.com/media/65cb7861ec8924a6b69a0f59/locked-icon.png
        dayFontColor:
          type: string
          pattern: ^#[0-9a-fA-F]{6}$
          description: Day label font color in hex format.
          example: '#FFFFFF'
        subRewardBackgroundImage:
          type: string
          format: url
          description: Sub reward background image URL.
          example: >-
            https://media.appcharge.com/media/65cb7861ec8924a6b69a0f59/sub-reward-background.png
        mainRewardBackgroundImage:
          type: string
          format: url
          description: Main reward background image URL.
          example: >-
            https://media.appcharge.com/media/65cb7861ec8924a6b69a0f59/main-reward-background.png
        headerImage:
          type: string
          format: url
          description: Header image URL.
          example: >-
            https://media.appcharge.com/media/65cb7861ec8924a6b69a0f59/header.png
  securitySchemes:
    PublisherTokenAuth:
      type: apiKey
      in: header
      name: x-publisher-token
      description: Publisher token, as displayed in the Publisher Dashboard.

````