---
title: "List the current member's loyalty campaigns"
method: GET
path: "/api/v1/lobyco/member-campaigns"
tags: ["Lobyco loyalty"]
---

# List the current member's loyalty campaigns

`GET /api/v1/lobyco/member-campaigns`

## Request

- Base URL: `https://api.olis.is` (the document declares no server; this is the origin it was published from)
- URL: `https://api.olis.is/api/v1/lobyco/member-campaigns`
- Auth: none declared
- TypeScript: <https://skmtc.dev/olis/apis/oli-s-rest-endpoints/docs/api/v1/lobyco/member-campaigns/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns active Lobyco campaigns for the authenticated member. Optionally narrows to a single campaign by `campaignId`. Pagination via `limit` (default 50, max 100) and `offset`.

## Query parameters

- `campaignId` string
- `limit` number
- `offset` number

## Response `200`

Step-based campaign payload with per-step progress, campaign-level aggregate progress, and pagination metadata.

- GetCampaignsOutput
  - `campaigns` LoyaltyCampaign[], required
    - `id` string, nullable
    - `validFrom` string, nullable
    - `validTo` string, nullable
    - `steps` LoyaltyCampaignStep[], required
      - `id` string, required
      - `name` string, nullable
      - `order` number, required
      - `status` object, nullable
      - `validFrom` string, nullable
      - `validTo` string, nullable
      - `goal` LoyaltyChallengeGoal
        - `id` string, required
        - `title` string, required
        - `description` string, nullable
        - `imageUrl` string, nullable
        - `backgroundImageUrl` string, nullable
        - `termsAndConditions` string, nullable
        - `rules` ChallengeRules, required
          - `measureBy` object, nullable
          - `unit` object, nullable
          - `singlePurchaseOnly` boolean, nullable
        - `availability` ChallengeAvailability, required
          - `startDate` string, required
          - `endDate` string, required
          - `chainIds` string[], nullable
          - `storeIds` string[], nullable
          - `maxActivations` number, nullable
        - `progress` ChallengeProgress
          - `isComplete` boolean, required
          - `isActive` boolean, required
          - `currentValue` number, required
          - `targetValue` number, required
          - `ratio` number, required
          - `cardId` string, nullable
          - `activatedCount` number, required
          - `completedAt` string, nullable
          - `completedCardsCount` number, nullable
        - `progressLabel` string, nullable
        - `completionLabel` string, nullable
      - `reward` LoyaltyReward, required
        - `title` string, required
        - `description` string, nullable
        - `imageUrl` string, nullable
        - `brand` string, nullable
        - `discountLabel` string, nullable
        - `preactivated` boolean, required
        - `maxRedemptions` number, nullable
        - `defaultValidDays` number, nullable
      - `coupons` LoyaltyStepCoupon[], nullable
        - `id` string, required
        - `isRedeemed` boolean, required
        - `activatedAt` string, nullable
        - `redemptionLimit` number, nullable
        - `redeemedCount` number, required
        - `availability` StepCouponAvailability, required
          - `startDate` string, nullable
          - `endDate` string, nullable
          - `chainIds` string[], nullable
          - `storeIds` string[], nullable
    - `progress` LoyaltyCampaignProgress
      - `totalSteps` number, required
      - `completedSteps` number, required
      - `completedStepIds` string[], required
      - `currentStep` number, required
      - `currentStepId` string, nullable
      - `currentValue` number, required
      - `targetValue` number, required
      - `ratio` number, nullable
  - `pageInfo` LoyaltyCampaignPageInfo, required
    - `limit` number, required
    - `offset` number, required
    - `total` number, nullable
    - `hasMore` boolean, required

## Other responses

- `400`: Invalid query parameters (e.g. `limit` outside 1–100, or `offset` < 0).
- `401`: Missing or invalid JWT — caller is not an authenticated member.

---

[API](https://skmtc.dev/olis/apis/oli-s-rest-endpoints.md) - [All operations](https://skmtc.dev/olis/apis/oli-s-rest-endpoints/llms.txt) - [OpenAPI document](https://skmtc.dev/olis/apis/oli-s-rest-endpoints/revisions/7f0056c996da?raw)
