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

# List Campaigns

> Returns active campaigns for a merchant

<Info>
  Scope required: `rewards.issue`
</Info>

This endpoint returns all active partner-initiated campaigns for a given
merchant. Only campaigns created through the Partner API are returned.

### Parameters

<ParamField query="merchant_id" type="string" required>
  Merchant ID
</ParamField>

<Snippet file="pagination/params.mdx" />

### Response

<ResponseField name="id" type="string">
  Campaign ID
</ResponseField>

<ResponseField name="name" type="string">
  Campaign name
</ResponseField>

<ResponseField name="objective" type="string">
  Campaign objective
</ResponseField>

<ResponseField name="start_at" type="datetime">
  Campaign start date (ISO8601)
</ResponseField>

<ResponseField name="end_at" type="datetime">
  Campaign end date (ISO8601)
</ResponseField>

<ResponseField name="redeemable_from" type="datetime">
  Reward redemption start date (ISO8601)
</ResponseField>

<ResponseField name="redeemable_to" type="datetime">
  Reward redemption end date (ISO8601)
</ResponseField>

<ResponseField name="time_zone" type="string">
  Campaign time zone
</ResponseField>

<ResponseField name="fine_print" type="string">
  Terms and conditions
</ResponseField>

<ResponseField name="variants" type="array">
  Campaign variants

  <Expandable title="variant">
    <ResponseField name="id" type="string">
      Variant ID
    </ResponseField>

    <ResponseField name="name" type="string">
      Variant name
    </ResponseField>

    <ResponseField name="reward_template_id" type="string">
      Reward template ID (null for control variants)
    </ResponseField>
  </Expandable>
</ResponseField>

<Snippet file="pagination/response.mdx" />

<RequestExample>
  ```bash List Campaigns theme={null}
  curl https://api.thanxsandbox.com/partner/campaigns?merchant_id={merchant_id} \
    -X GET \
    -H 'X-ClientId: {client_id}' \
    -H 'Accept-Version: v4.0' \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer {access_token}'
  ```
</RequestExample>

<ResponseExample>
  ```json Response Example theme={null}
  {
    "campaigns": [
      {
        "id": "camp_abc123",
        "name": "Summer Free Coffee",
        "objective": "Re-engage lapsed customers",
        "start_at": "2025-06-01T00:00:00Z",
        "end_at": "2025-08-31T23:59:59Z",
        "redeemable_from": "2025-06-01T00:00:00Z",
        "redeemable_to": "2025-09-30T23:59:59Z",
        "time_zone": "America/Los_Angeles",
        "fine_print": "Limit one per customer",
        "variants": [
          {
            "id": "var_treat1",
            "name": "Treatment",
            "reward_template_id": "abc123def456"
          },
          {
            "id": "var_ctrl1",
            "name": "Control",
            "reward_template_id": null
          }
        ]
      }
    ],
    "pagination": {
      "current_page": 1,
      "per_page": 10,
      "total_pages": 1
    }
  }
  ```
</ResponseExample>
