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

# Status reference

> Canonical reference for every status Shift surfaces: privacy consent, Pool, Vouchers, Rewards, Gifts, Ventilations, Offers, Campaigns, and bank synchronization, with the technical status behind each label.

Every section of Shift surfaces its own status values, from Consumer consent to Cashback payouts. Use this page when a column does not match what you expected, or when reconciling a Shift label with the enum value returned by the API.

## How to read a status in Shift

Two status vocabularies exist side by side, and confusing them is the most common source of wrong answers to a Consumer:

* The **technical** status is the value the [Paylead API](/program/user-journey/quickstart) returns and your back-office reconciles on (`PENDING_VALIDATION`, `PAID_IN`, `PAID_OUT`, and so on).
* The **Consumer-facing** status is the shorter track your bank app shows the Consumer (`Pending`, `Validated`, `Pool`, `Paid`, `Cancelled`).

**Every screen in Shift shows the technical status, translated into a display label.** So when the [Rewards report](/program/shift/rewards-report) or a Consumer profile reads `Paid`, that is the accounting state `PAID_OUT`.

Two labels differ from the technical value behind them, and both matter in a support call:

| Label on screen | Technical status | Read it as |
| - | - | - |
| `Pool` | `PAID_IN` | Paylead has received the funds from the merchant. The [Cashback](/glossary#cashback) is in the Consumer's pool, not yet on their bank account. |
| `Paid` | `PAID_OUT` | The payout has left. The money is on the Consumer's bank account. |

## Privacy policy acceptance

At enrollment, a [Consumer](/glossary#consumer) accepts the [Program](/glossary#program)'s terms, which authorizes Paylead to match [Offers](/glossary#offer) from their transaction data. On top of that baseline, the Consumer can grant several optional consents. The profile lists the consents the Consumer has granted, each with its acceptance date and an **Opt-out** action to revoke it. A consent absent from the box was never granted, or was revoked.

| Consent | Notes |
| - | - |
| **Basic** | Baseline consent for Offer matching. |
| **Statistics** | Usage statistics. |
| **Targeting** | Audience targeting. |
| **Smart ranking** | Personalized Offer ranking (`SMART_RANKING`). Enables [Offer Smart Ranking](/glossary#offer-smart-ranking). |
| **Transaction triggers** | Real-time transaction reactions. |
| **Web Analytics** | Web analytics measurement. |

Revoking a consent from Shift is one-way: the Consumer grants it again from your own app. Revoking **Smart ranking** shows up directly in Shift, where the Consumer's **Offers** tab stops being ordered by the personalization algorithm. For the other consents, what the Consumer loses depends on how your Program's consents are configured with Paylead.

## Pool

The Pool zone of a Consumer profile groups Cashbacks at every stage from creation to disbursement. In Shift, **Pool** names three things: the zone of the profile, the status of a Cashback sitting in that zone, and the Consumer's holding area itself (see [Pool](/glossary#pool) in the glossary).

| Status | Technical status | Definition |
| - | - | - |
| `Not attribued` | `NOT_ATTRIBUTED` | The [Cashback](/glossary#cashback) was discarded because the same purchase generated several candidates from different Consumer IDs (e.g. one bank feed + one account aggregator). Paylead keeps exactly one Cashback per purchase via the [Reward Attribution](/program/user-journey/guides/reward-lifecycle#reward-attribution) engine; the others are flagged `Not attribued` and never paid out. |
| `Pending validation` | `PENDING_VALIDATION` | The Cashback is awaiting the merchant's validation window (typically 30 days). |
| `Cancelled` | `CANCELLED` | The Cashback is no longer eligible (refund, dispute, matching issue, or technical cancellation). It will never be paid. |
| `Validated` | `VALIDATED` | The merchant has not cancelled the Cashback. It will be invoiced at the end of the cycle. Payout is guaranteed but has not started. |
| `Pool` | `PAID_IN` | The Cashback is pooled in the Consumer's wallet, awaiting transfer. This is where a Cashback waits when the Program's payout threshold has not been reached. |
| `Paid` | `PAID_OUT` | The Cashback has been credited to the Consumer's bank account. Check the **Transfers** tab of the profile for the matching payout. |

The nominal path is `Pending validation` to `Validated` to `Pool` to `Paid`. `Not attribued` and `Cancelled` are final states.

## Vouchers

Vouchers cover the gift-card flow: a Consumer orders a voucher, pays for it, and receives it from an external provider.

| Status | Definition |
| - | - |
| `Created` | The order exists but has not been paid yet. |
| `Confirmed` | The payment went through. The order waits for the external provider to generate the vouchers. |
| `Ready` | The provider delivered the voucher. End state. Check the **Voucher content** card on the voucher detail page for which parts actually arrived. |
| `Payment failed` | The payment attempt failed. |
| `Cancelled` | No payment was ever attempted, or the payment stayed stuck at the payment provider for too long. |

The nominal path is `Created` to `Confirmed` to `Ready`. An unpaid `Created` order is cancelled automatically after 15 minutes.

The [Vouchers report](/program/shift/vouchers-report) prints these statuses as uppercase API enum values, such as `READY` and `CONFIRMED`. Its status filter also carries four values inherited from a previous voucher flow (`Reserved`, `Refunding`, `Refunded`, `Refund rejected`): filter on the values in the table above.

## Rewards

A [Reward](/glossary#reward) is either a Cashback or a [Gift](/glossary#gift), and both run on the status values above. **The Pool table is the Reward status table for Shift**: every Reward screen in the back-office prints those labels, from the Consumer profile to the [Rewards report](/program/shift/rewards-report) and the Rewards section.

The bank app runs on a separate, shorter **Consumer-facing** track carried by `consumer_status`, which Shift never displays. `PENDING_ATTRIBUTION` (the attribution decision is still running) and `NOT_ATTRIBUTED` have no Consumer-facing equivalent at all, so a Consumer whose app shows nothing while Shift shows `Not attribued` is seeing the expected behavior of the two tracks.

For the full definitions of both tracks and how they map, see the canonical [Reward status flow](/program/user-journey/guides/reward-lifecycle#the-reward-status-flow).

## Gifts

[Gifts](/glossary#gift) follow the same lifecycle as Cashbacks but are issued directly by the [Program Manager](/glossary#program-manager) (welcome bonus, loyalty incentive, one-off promo) instead of being matched against a transaction.

The [Gifts](/program/shift/gifts) list filters on these statuses through tabs that use different wording, so read the two columns together before answering a Consumer.

| Status | Technical status | Tab that filters on it | Definition |
| - | - | - | - |
| `Cancelled` | `CANCELLED` | none | The Gift was cancelled and is never credited. |
| `Pending validation` | `PENDING_VALIDATION` | **Pending** | The Gift is awaiting validation. |
| `Validated` | `VALIDATED` | **Validated** | The Gift is validated. Payout is guaranteed but has not started. |
| `Pool` | `PAID_IN` | **Paid in** | The Gift is pooled in the Consumer's wallet, awaiting transfer. |
| `Paid` | `PAID_OUT` | **Paid out** | The Gift has been credited to the Consumer's bank account. |

A Gift stays in `Pending validation` for a few seconds only, so an imported Gift cannot be cancelled or corrected. A cancelled Gift carries its reason as a comment next to the status on the [Gifts](/program/shift/gifts) list.

## Ventilations

A [Ventilation](/glossary#ventilation) status describes the payment Paylead executes, not the state of the Rewards inside it: the Rewards on a settled line are all in `Paid` (`PAID_OUT`). You read these lines in the [Ventilations](/program/shift/ventilations) section.

| Status | Definition |
| - | - |
| `PENDING` | Paylead has not issued the transfer yet. |
| `VALIDATED` | The transfer is validated, ahead of execution. |
| `PAID` | Paylead executed the transfer to your Program. |
| `ERROR` | The payment order returned an error. The funds did not leave. |

## Offers

These statuses cover both [Offers](/program/shift/publish-offers) and [Coupons](/program/shift/coupons): the Coupons list groups its tabs on the same values.

| Status | Definition |
| - | - |
| `Draft` | The item was saved but never published. It is not visible to Consumers. |
| `Waiting` | The item is scheduled for publication and waits for its publication date. |
| `Published` | The item has been created but its start date is in the future. Consumers cannot see it yet. |
| `Active` | The item is live and visible to Consumers. |
| `Deactivated` | The item was manually deactivated by a Program Manager. |
| `Ended` | The end date has passed. |
| `Completed` | The budget cap has been reached. |

`Draft`, `Waiting`, and `Published` all precede visibility: `Active` is the only status a Consumer sees. The **Live** tab of the Offers list groups `Active` and `Published`, so a `Published` row sitting in that tab is not on screen for anyone yet.

## Campaigns

| Status | Definition |
| - | - |
| `Available` | The [Campaign](/glossary#campaign) has been proposed by Paylead and is awaiting review. Not visible to Consumers. |
| `Accepted` | The Program Manager converted the Campaign into an Offer. Visibility depends on the publication date of the resulting Offer. |
| `Rejected` | The Program Manager rejected the Campaign. |

## Bank synchronization

These statuses describe the state of the Consumer's bank connection. The **Status** column of a Consumer's **Synchronizations** tab shows the label, not the raw value.

| Status | Label in Shift | Definition |
| - | - | - |
| `UNKNOWN` | none | The sync status is unknown, usually because the Consumer has not yet linked an account. |
| `DISABLED` | Disabled | The synchronization has been disabled on this connection. |
| `ERROR` | Error | A sync error occurred: bad credentials or an action required from the Consumer. |
| `CHALLENGE_REQUIRED` | Challenge required | The Consumer must enter a one-time code sent by their bank to acknowledge the sync. |
| `SCRAPPING` | Scrapping | The Consumer's bank account is currently being synced (see [Scraping](/glossary#scraper-scraping) in the glossary). |
| `SUCCESS` | Ok | The Consumer's bank account sync succeeded. |
| `SCA_REQUIRED` | Authentication required | A complete SCA (Strong Customer Authentication) flow must be performed by updating the connection. |
| `WEBAUTH_REQUIRED` | Webauth required | A complete authentication flow is required via a redirect. |
| `WRONG_PASS` | Wrong pass | The credentials are invalid or obsolete. The Consumer must re-enter them. |
| `ACTION_NEEDED` | Action needed | The Consumer must perform a specific action on the bank's website or app (e.g. accept updated terms). |

The deprecated `SCRAPPING_ERROR` [Webhook](/glossary#webhooks) fires when a sync error blocks a Consumer's bank connection (see [available events](/program/shift/webhooks#available-events)).

## What's next

<CardGroup cols={2}>
  <Card title="Performance dashboard" icon="chart-line" href="/program/shift/performance-dashboard">
    Read your Program's executive KPIs across Audience, Rewards, Gifts, Coupons, and Vouchers.
  </Card>

  <Card title="Offer performance" icon="chart-line" href="/program/shift/offer-performance">
    Measure one Offer's turnover, Rewards, fees, and activity.
  </Card>
</CardGroup>
