---
title: "Poll async bulk issuance task"
method: GET
path: "/v2/giftcards/programs/{programId}/cards/bulk/{taskId}"
tags: ["Gift Cards"]
---

# Poll async bulk issuance task

`GET /v2/giftcards/programs/{programId}/cards/bulk/{taskId}`

### Poll Async Bulk Issuance

Returns the current status of an async bulk gift-card issuance task.

**Path Parameters**:
- `programId`: MongoDB ObjectId of the loyalty program
- `taskId`: Celery task ID returned by the bulk issuance POST

**Response** (`BulkIssuanceTaskStatus`):
- `status`: `"pending"` | `"processing"` | `"completed"` | `"failed"`
- `issuedCount`, `cards`, `csvDownloadUrl` — populated when `status == "completed"`
- `failedCount`, `error` — populated when `status == "failed"` or on partial failure

## Path parameters

- `taskId` string, required
- `programId` string, required

## Query parameters

- `cardId` string

## Headers

- `X-Eposn-Customer-Token` string, nullable
- `X-Eposn-Merchant-Token` string, nullable

## Response `200`

Successful Response

- BulkIssuanceTaskStatus
  - `taskId` string, required
  - `status` string, required
  - `issuedCount` integer, nullable
  - `cards` BulkIssuedCardSummary[], nullable
    - `id` string, required
    - `cardNumber` string, required
    - `lastFourDigits` string, required
  - `csvDownloadUrl` string, nullable
  - `failedCount` integer, nullable
  - `error` string, nullable
  - `completedAt` string, date-time, nullable

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/loyalty/apis/loyaltydog.md) · [All operations](https://skmtc.net/loyalty/apis/loyaltydog/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/loyalty/loyaltydog/versions/42b7b22af2b6/schema)
