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

# Get customer coupons

> Returns coupons that can be used in provided store. If storeId is not provided, returns coupons available in any store.

If coupons are reserved they are still returned, but ReservedBy and ReservedUntil will be populated.
It is up to the consumer to decide if such coupons should be used.

If includeOfferData is set to false, ReceiptDisplayText, CampaignType and Discount will not be populated.



## OpenAPI

````yaml openapi/coupon-v1.json GET /v2/customers/{customerId}/coupons
openapi: 3.0.4
info:
  title: Coupon.Api
  version: v1
servers:
  - url: https://{host}/coupon
    description: Your Lobyco environment
    variables:
      host:
        default: your-environment.lobyco.net
        description: >-
          The API host for your Lobyco environment. Replace it with the host you
          were given — this placeholder does not resolve.
security: []
paths:
  /v2/customers/{customerId}/coupons:
    get:
      tags:
        - Customers
      summary: Get customer coupons
      description: >-
        Returns coupons that can be used in provided store. If storeId is not
        provided, returns coupons available in any store.


        If coupons are reserved they are still returned, but ReservedBy and
        ReservedUntil will be populated.

        It is up to the consumer to decide if such coupons should be used.


        If includeOfferData is set to false, ReceiptDisplayText, CampaignType
        and Discount will not be populated.
      parameters:
        - name: customerId
          in: path
          description: ''
          required: true
          schema:
            type: string
        - name: storeId
          in: query
          description: Optional. If not provided, returns coupons available in any store
          schema:
            type: string
        - name: includeOfferData
          in: query
          description: Should discount and other offer information be included
          schema:
            type: boolean
            default: false
        - name: purchaseTime
          in: query
          description: >-
            For offline scenarios, time when purchase was done. If not set, Now
            is used
          schema:
            type: string
            format: date-time
        - name: idempotencyKey
          in: query
          description: >-
            For offline scenarios, idempotency key of the purchase used during
            redeem. If set, coupons that were redeemed with the key are still
            returned as active
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Coupon.Client.Models.V2.Responses.GetCouponsResponse
              examples:
                10% off of Coca-Cola:
                  value:
                    availableCoupons:
                      - offerId: 694ece77-1c37-4ecd-bf64-3f9f5880c1e2
                        couponId: 7a90d33e-ac87-4e4b-87d2-c328fd4e7e77
                        dateToPickUp: '2026-09-09T09:57:59.7692069Z'
                        reservedBy: pos-123
                        reservedUntil: '2026-08-17T09:57:59.7692074Z'
                        receiptDisplayText: 10% off Coca-Cola products
                        offerType: appCoupon
                        discount:
                          priority: 5
                          allowOtherDiscountsOnTop: false
                          itemsApplicationType: NonDiscountedItems
                          impactLevel: Line
                          maxDiscountAmount: 5
                          maxDiscountAmountPerCoupon: 0
                          maxNumberApplyPerReceipt: 1
                          applyOnHighestPrice: false
                          applicationType: OnThreshold
                          discountType: SimpleLine
                          checkoutTypes: null
                          rewardRedemptionSettings: null
                          rules:
                            - type: Percentage
                              value: 0.1
                              thresholdType: Quantity
                              thresholdValue: 1
                              affiliations:
                                - type: Product
                                  id: null
                                  identifiers:
                                    - coca-cola
                                    - fanta
                                  applicationType: Include
                        content:
                          title: 10% Off Coca-Cola
                          description: Get 10% off on all Coca‑Cola products.
                          brand: Coca‑Cola
                          imageUrl: https://example.com/images/coca-cola-discount.png
                          discountLabel: 10% OFF
                          normalPriceLabel: Regular Price
                          pricePerUnitLabelEnabled: null
                          unitOfMeasure: EA
                          conditionLabel: Valid on Coca‑Cola products only
                          receiptDisplayText: 10% off Coca‑Cola products
                          tags: null
                          icons: null
                          autogenerateDiscountLabel: null
                        storeIds: null
                        chainIds:
                          - chain-001
                        fundedBy: null
                Personal Offer for 10EUR off basket of 15 EUR, that was used once:
                  value:
                    availableCoupons:
                      - offerId: e6d91574-85f9-4023-a516-e3e05fd884e4
                        couponId: 648e21f0-b628-4fb5-ae8d-d16e0986da4f
                        dateToPickUp: '2026-09-09T09:57:59.769327Z'
                        reservedBy: pos-123
                        reservedUntil: '2026-08-17T09:57:59.7693271Z'
                        receiptDisplayText: 10 EUR off when you spend 15 EUR
                        offerType: personalOffer
                        discount:
                          priority: 5
                          allowOtherDiscountsOnTop: false
                          itemsApplicationType: NonDiscountedItems
                          impactLevel: Total
                          maxDiscountAmount: 10
                          maxDiscountAmountPerCoupon: 0
                          maxNumberApplyPerReceipt: 1
                          applyOnHighestPrice: false
                          applicationType: OnThreshold
                          discountType: SimpleLine
                          checkoutTypes: null
                          rewardRedemptionSettings: null
                          rules:
                            - type: FixedPrice
                              value: 10
                              thresholdType: Amount
                              thresholdValue: 15
                              affiliations: []
                        content:
                          title: 10 EUR Off Personal Offer
                          description: 'Personal offer: 10 EUR off when you spend 15 EUR'
                          brand: BrandX
                          imageUrl: https://example.com/images/personal-offer.png
                          discountLabel: null
                          normalPriceLabel: Total
                          pricePerUnitLabelEnabled: null
                          unitOfMeasure: null
                          conditionLabel: null
                          receiptDisplayText: 10 EUR off when you spend 15 EUR
                          tags: null
                          icons: null
                          autogenerateDiscountLabel: null
                        storeIds:
                          - store-456
                        chainIds: null
                        fundedBy: null
                Fully-used Mix & Match coupon:
                  value:
                    availableCoupons:
                      - offerId: be176067-6288-47a1-a896-08ec184a28f8
                        couponId: 5f7a3ded-d1bf-4afa-8bd3-9bda50057afc
                        dateToPickUp: '2026-09-09T09:57:59.7693505Z'
                        reservedBy: pos-123
                        reservedUntil: '2026-08-17T09:57:59.7693506Z'
                        receiptDisplayText: 30% off Chips and 20% off 2 Coca‑Colas
                        offerType: appCoupon
                        discount:
                          priority: 5
                          allowOtherDiscountsOnTop: false
                          itemsApplicationType: NonDiscountedItems
                          impactLevel: Line
                          maxDiscountAmount: 0
                          maxDiscountAmountPerCoupon: 0
                          maxNumberApplyPerReceipt: 1
                          applyOnHighestPrice: false
                          applicationType: Multiple
                          discountType: MixAndMatch
                          checkoutTypes: null
                          rewardRedemptionSettings: null
                          rules:
                            - type: Percentage
                              value: 0.3
                              thresholdType: Quantity
                              thresholdValue: 1
                              affiliations:
                                - type: Product
                                  id: null
                                  identifiers:
                                    - Chips
                                  applicationType: Include
                            - type: Percentage
                              value: 0.2
                              thresholdType: Quantity
                              thresholdValue: 2
                              affiliations:
                                - type: Product
                                  id: null
                                  identifiers:
                                    - Coca-Cola
                                  applicationType: Include
                        content:
                          title: Mix & Match Snack Offer
                          description: >-
                            30% off Chips and 20% off 2 Coca‑Colas when bought
                            together.
                          brand: SnackBundle
                          imageUrl: https://example.com/images/mix-match.png
                          discountLabel: null
                          normalPriceLabel: null
                          pricePerUnitLabelEnabled: null
                          unitOfMeasure: null
                          conditionLabel: null
                          receiptDisplayText: 30% off Chips and 20% off 2 Coca‑Colas
                          tags: null
                          icons: null
                          autogenerateDiscountLabel: null
                        storeIds: null
                        chainIds:
                          - chain-001
                        fundedBy: null
                Activated Mix & Match Total coupon:
                  value:
                    availableCoupons:
                      - offerId: 0eb9c666-37c3-4c7a-96c7-b3beeb988b6f
                        couponId: b80668d8-a3f8-4641-922b-7a7accfc3cfd
                        dateToPickUp: '2026-09-09T09:57:59.7693827Z'
                        reservedBy: pos-123
                        reservedUntil: '2026-08-17T09:57:59.7693828Z'
                        receiptDisplayText: Sandwich, Drink and Salad for 4.99
                        offerType: appCoupon
                        discount:
                          priority: 5
                          allowOtherDiscountsOnTop: false
                          itemsApplicationType: NonDiscountedItems
                          impactLevel: Total
                          maxDiscountAmount: 0
                          maxDiscountAmountPerCoupon: 0
                          maxNumberApplyPerReceipt: 1
                          applyOnHighestPrice: false
                          applicationType: Multiple
                          discountType: MixAndMatchTotal
                          checkoutTypes: null
                          rewardRedemptionSettings: null
                          rules:
                            - type: Amount
                              value: 0
                              thresholdType: Quantity
                              thresholdValue: 1
                              affiliations:
                                - type: Product
                                  id: null
                                  identifiers:
                                    - Sandwich
                                  applicationType: Include
                            - type: Amount
                              value: 0
                              thresholdType: Quantity
                              thresholdValue: 2
                              affiliations:
                                - type: Product
                                  id: null
                                  identifiers:
                                    - Drink
                                  applicationType: Include
                            - type: Amount
                              value: 0
                              thresholdType: Quantity
                              thresholdValue: 1
                              affiliations:
                                - type: Product
                                  id: null
                                  identifiers:
                                    - Salad
                                  applicationType: Include
                            - type: FixedPrice
                              value: 4.99
                              thresholdType: Quantity
                              thresholdValue: 0
                              affiliations: []
                        content:
                          title: Lunch Bundle
                          description: Sandwich, Drink and Salad for a fixed price.
                          brand: LunchDeals
                          imageUrl: https://example.com/images/lunch-bundle.png
                          discountLabel: null
                          normalPriceLabel: null
                          pricePerUnitLabelEnabled: null
                          unitOfMeasure: null
                          conditionLabel: null
                          receiptDisplayText: Sandwich, Drink and Salad for 4.99
                          tags: null
                          icons: null
                          autogenerateDiscountLabel: null
                        storeIds:
                          - store-456
                          - store-123
                        chainIds: null
                        fundedBy: null
                Activated Total Step coupon:
                  value:
                    availableCoupons:
                      - offerId: aacd2c78-97dd-460e-990f-f3accb76df46
                        couponId: 2e8cb197-73a5-4372-a5ad-b7b240ba3e20
                        dateToPickUp: '2026-09-09T09:57:59.769409Z'
                        reservedBy: pos-123
                        reservedUntil: '2026-08-17T09:57:59.7694091Z'
                        receiptDisplayText: 10-25 EUR step discount off
                        offerType: appCoupon
                        discount:
                          priority: 6
                          allowOtherDiscountsOnTop: false
                          itemsApplicationType: AllItems
                          impactLevel: Total
                          maxDiscountAmount: 0
                          maxDiscountAmountPerCoupon: 0
                          maxNumberApplyPerReceipt: 1
                          applyOnHighestPrice: false
                          applicationType: Multiple
                          discountType: TotalStep
                          checkoutTypes: null
                          rewardRedemptionSettings: null
                          rules:
                            - type: Amount
                              value: 10
                              thresholdType: Amount
                              thresholdValue: 50
                              affiliations:
                                - type: Product
                                  id: null
                                  identifiers:
                                    - article-123
                                  applicationType: Exclude
                            - type: Amount
                              value: 15
                              thresholdType: Amount
                              thresholdValue: 100
                              affiliations:
                                - type: Product
                                  id: null
                                  identifiers:
                                    - article-123
                                  applicationType: Exclude
                            - type: Amount
                              value: 25
                              thresholdType: Amount
                              thresholdValue: 250
                              affiliations:
                                - type: Product
                                  id: null
                                  identifiers:
                                    - article-123
                                  applicationType: Exclude
                        content:
                          title: Tiered Basket Discount
                          description: Step discounts based on basket spend.
                          brand: TierDeals
                          imageUrl: https://example.com/images/tiered-discount.png
                          discountLabel: null
                          normalPriceLabel: null
                          pricePerUnitLabelEnabled: null
                          unitOfMeasure: null
                          conditionLabel: null
                          receiptDisplayText: 10-25 EUR step discount off
                          tags: null
                          icons: null
                          autogenerateDiscountLabel: null
                        storeIds: null
                        chainIds:
                          - chain-002
                        fundedBy: null
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/LoopFoundation.Commons.Contracts.WebServiceError
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
components:
  schemas:
    Coupon.Client.Models.V2.Responses.GetCouponsResponse:
      type: object
      properties:
        availableCoupons:
          type: array
          items:
            $ref: '#/components/schemas/Coupon.Client.Models.V2.CouponInfo'
          nullable: true
      additionalProperties: false
    LoopFoundation.Commons.Contracts.WebServiceError:
      required:
        - message
        - name
      type: object
      properties:
        name:
          minLength: 1
          type: string
        message:
          minLength: 1
          type: string
        details:
          nullable: true
      additionalProperties: false
    Microsoft.AspNetCore.Mvc.ProblemDetails:
      type: object
      properties:
        type:
          type: string
          nullable: true
        title:
          type: string
          nullable: true
        status:
          type: integer
          format: int32
          nullable: true
        detail:
          type: string
          nullable: true
        instance:
          type: string
          nullable: true
      additionalProperties: {}
    Coupon.Client.Models.V2.CouponInfo:
      type: object
      properties:
        offerId:
          type: string
          description: ID of Promotion Offer
          nullable: true
        couponId:
          type: string
          description: ID of Coupon
          nullable: true
        dateToPickUp:
          type: string
          description: >-
            Datetime until which the coupon can be used. After the date passes,
            coupon will no longer be included in response
          format: date-time
        reservedBy:
          type: string
          description: Reserver of the coupon
          nullable: true
        reservedUntil:
          type: string
          description: Reservation valid to
          format: date-time
          nullable: true
        receiptDisplayText:
          type: string
          description: Receipt display text
          nullable: true
        offerType:
          type: string
          description: Offer type
          nullable: true
        discount:
          $ref: '#/components/schemas/Promotion.Client.ApiModels.V3.Discount'
        content:
          $ref: '#/components/schemas/Promotion.Client.ApiModels.V3.Content'
        storeIds:
          type: array
          items:
            type: string
          nullable: true
        chainIds:
          type: array
          items:
            type: string
          nullable: true
        fundedBy:
          type: string
          description: Sponsor funding the offer
          nullable: true
      additionalProperties: false
    Promotion.Client.ApiModels.V3.Discount:
      type: object
      properties:
        priority:
          type: integer
          format: int32
        allowOtherDiscountsOnTop:
          type: boolean
        itemsApplicationType:
          $ref: >-
            #/components/schemas/Promotion.Client.ApiModels.V3.ItemsApplicationType
        impactLevel:
          $ref: '#/components/schemas/Promotion.Client.ApiModels.V3.ImpactLevelType'
        maxDiscountAmount:
          type: number
          format: double
        maxDiscountAmountPerCoupon:
          type: number
          format: double
        maxNumberApplyPerReceipt:
          type: number
          format: double
        applyOnHighestPrice:
          type: boolean
        applicationType:
          $ref: >-
            #/components/schemas/Promotion.Client.ApiModels.V3.DiscountApplicationType
        discountType:
          $ref: '#/components/schemas/Promotion.Client.ApiModels.V3.DiscountType'
        checkoutTypes:
          type: array
          items:
            type: string
          nullable: true
        rewardRedemptionSettings:
          $ref: >-
            #/components/schemas/Promotion.Client.ApiModels.RewardRedemptionSettings
        rules:
          type: array
          items:
            $ref: '#/components/schemas/Promotion.Client.ApiModels.V3.DiscountRule'
          nullable: true
      additionalProperties: false
    Promotion.Client.ApiModels.V3.Content:
      type: object
      properties:
        title:
          maxLength: 255
          type: string
          nullable: true
        description:
          type: string
          nullable: true
        brand:
          maxLength: 50
          type: string
          nullable: true
        imageUrl:
          maxLength: 2000
          type: string
          nullable: true
        discountLabel:
          maxLength: 255
          type: string
          nullable: true
        normalPriceLabel:
          maxLength: 255
          type: string
          nullable: true
        pricePerUnitLabelEnabled:
          type: boolean
          nullable: true
        unitOfMeasure:
          maxLength: 255
          type: string
          nullable: true
        conditionLabel:
          maxLength: 64
          type: string
          nullable: true
        receiptDisplayText:
          maxLength: 100
          type: string
          nullable: true
        tags:
          type: array
          items:
            type: string
          nullable: true
        icons:
          type: array
          items:
            type: string
          nullable: true
        autogenerateDiscountLabel:
          type: boolean
          nullable: true
      additionalProperties: false
    Promotion.Client.ApiModels.V3.ItemsApplicationType:
      enum:
        - AllItems
        - NonDiscountedItems
        - DiscountedItems
      type: string
    Promotion.Client.ApiModels.V3.ImpactLevelType:
      enum:
        - Line
        - Total
      type: string
    Promotion.Client.ApiModels.V3.DiscountApplicationType:
      enum:
        - OnThreshold
        - Multiple
      type: string
    Promotion.Client.ApiModels.V3.DiscountType:
      enum:
        - Unknown
        - SimpleLine
        - SimpleQuantity
        - SimpleTotal
        - MixAndMatch
        - MixAndMatchTotal
        - QuantityStep
        - RewardTotal
        - TotalStep
      type: string
    Promotion.Client.ApiModels.RewardRedemptionSettings:
      type: object
      properties:
        redeemableFrom:
          type: string
          format: date-time
          nullable: true
        redeemableTo:
          type: string
          format: date-time
          nullable: true
        redeemableForDays:
          type: integer
          format: int32
          nullable: true
      additionalProperties: false
    Promotion.Client.ApiModels.V3.DiscountRule:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/Promotion.Client.ApiModels.V3.RuleType'
        value:
          maximum: 100000000
          minimum: 0
          type: number
          format: double
          nullable: true
        thresholdType:
          $ref: '#/components/schemas/Promotion.Client.ApiModels.V3.ThresholdType'
        thresholdValue:
          maximum: 100000000
          minimum: 0
          type: number
          format: double
          nullable: true
        affiliations:
          type: array
          items:
            $ref: '#/components/schemas/Promotion.Client.ApiModels.V3.Affiliation'
          nullable: true
      additionalProperties: false
    Promotion.Client.ApiModels.V3.RuleType:
      enum:
        - FixedPrice
        - Percentage
        - Amount
        - BonusPercent
        - BonusAmount
      type: string
    Promotion.Client.ApiModels.V3.ThresholdType:
      enum:
        - Quantity
        - Amount
      type: string
    Promotion.Client.ApiModels.V3.Affiliation:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/Promotion.Client.ApiModels.V3.AffiliationType'
        id:
          maxLength: 60
          type: string
          nullable: true
          deprecated: true
        identifiers:
          uniqueItems: true
          type: array
          items:
            type: string
          nullable: true
        applicationType:
          $ref: >-
            #/components/schemas/Promotion.Client.ApiModels.V3.AffiliationApplicationType
      additionalProperties: false
    Promotion.Client.ApiModels.V3.AffiliationType:
      enum:
        - Product
        - Category
      type: string
    Promotion.Client.ApiModels.V3.AffiliationApplicationType:
      enum:
        - Include
        - Exclude
      type: string

````