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

# Get new user reward info

> Retrieve details on eligibility for the new user reward (discount) and referral information.

## Common reasons for `eligible: false`

If the response is `{ "eligible": false }` even though the user has a `cello_ucc`, the most common causes are:

* **No active new-user reward on the campaign** - the campaign tied to the UCC has no new-user discount configured, or the reward is inactive/expired.
* **`productUserId` mismatch** - the `productUserId` you passed isn't the user who actually signed up through the referral.
* **Attribution arrived after the first invoice** - `cello_ucc` was added to the customer after the first `invoice.paid`; attribution can be retroactive, but reward eligibility is still evaluated against the reward rules.
* **Self-referral** - the new user signed up using their own UCC, or the signup was flagged as a [self-referral](/guides/fraud-detection) by Cello's fraud detection. Self-referrals are not eligible for new-user discounts.

To verify, compare `referralUcc`, `campaignId`, and `campaignRevision` from the response (when `eligible: true`) against what you expect, and check the [Review Referrals](https://portal.cello.so/manage/reviewreferrals) section in the portal for self-referral flags.


## OpenAPI

````yaml GET /new-users/{productUserId}/reward
openapi: 3.1.0
info:
  title: Cello API
  description: API for Cello referral platform
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.cello.so
  - url: https://api.sandbox.cello.so
security:
  - bearerAuth: []
paths:
  /new-users/{productUserId}/reward:
    get:
      description: >-
        Retrieve details on eligibility for the new user reward (discount) and
        referral information.
      parameters:
        - name: productUserId
          in: path
          required: true
          description: The Id of the user you want to check
          schema:
            type: string
      responses:
        '200':
          description: New user reward and eligibility information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RewardEligibilityResponse'
              examples:
                eligible:
                  summary: New user is eligible for a reward
                  value:
                    eligible: true
                    reward:
                      type: standard
                      interval: month
                      intervalCount: 3
                      percentage: 20
                    signupId: signup_abc123
                    signupAt: '2024-01-15T10:30:00Z'
                    referralUcc: ucc_xyz789
                    campaignId: campaign_id_123
                    campaignRevision: v2
                not-eligible:
                  summary: New user is not eligible for a reward
                  value:
                    eligible: false
                    reward: null
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - bearerAuth: []
components:
  schemas:
    RewardEligibilityResponse:
      type: object
      required:
        - eligible
      properties:
        eligible:
          type: boolean
          description: Whether the user is eligible for a new user discount
        reward:
          oneOf:
            - $ref: '#/components/schemas/Reward'
            - type: 'null'
          description: Discount details if eligible
        signupId:
          type: string
          description: Unique identifier for the signup record
        signupAt:
          type: string
          format: date-time
          description: ISO 8601 timestamp when the user signed up
        referralUcc:
          type: string
          description: The UCC (Unique Customer Code) that referred this user
        campaignId:
          type: string
          description: The campaign ID associated with the signup
        campaignRevision:
          type: string
          description: The campaign revision used for the reward calculation
    Error:
      type: object
      required:
        - message
      properties:
        message:
          type: string
    Reward:
      type: object
      required:
        - type
        - interval
      properties:
        type:
          type: string
          enum:
            - standard
            - custom
          description: '"standard" or "custom" discount type'
        interval:
          type: string
          description: Always "month" (billing interval)
        intervalCount:
          type: number
          nullable: true
          description: Number of months the discount applies (null for custom)
        percentage:
          type: number
          nullable: true
          description: Discount percentage (null for standard)
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````