---
title: "Retrieve participant"
method: GET
path: "/campaign/{id}/participant/{participantIdOrEmail}"
tags: ["Participants"]
---

# Retrieve participant

`GET /campaign/{id}/participant/{participantIdOrEmail}`

Retrieves a single participant by GrowSurf participant ID or email address.

## Path parameters

- `id` string, required
- `participantIdOrEmail` string, required

## Response `200`

Participant returned.

- Participant
  - `id` string, required
  - `firstName` string, nullable
  - `lastName` string, nullable
  - `email` string, required
  - `paypalEmailAddress` string, email
  - `referralCount` integer, required
  - `monthlyReferralCount` integer, required
  - `prevMonthlyReferralCount` integer
  - `rank` integer, required
  - `monthlyRank` integer, required
  - `prevMonthlyRank` integer
  - `shareUrl` string, required
  - `createdAt` integer
  - `referralSource` 'DIRECT' | 'PARTICIPANT'
  - `referralStatus` 'CREDIT_PENDING' | 'CREDIT_AWARDED' | 'CREDIT_EXPIRED' | 'INVITE_SENT'
  - `referredBy` string
  - `fraudRiskLevel` 'LOW' | 'MEDIUM' | 'HIGH'
  - `fraudReasonCode` string
  - `isWinner` boolean
  - `shareCount` object
  - `impressionCount` integer
  - `uniqueImpressionCount` integer
  - `inviteCount` integer
  - `referrals` string[]
  - `monthlyReferrals` string[]
  - `referrer` ParticipantReferrer
    - `id` string
    - `firstName` string, nullable
    - `lastName` string, nullable
    - `email` string
    - `referralCount` integer
    - `monthlyReferralCount` integer
    - `prevMonthlyReferralCount` integer
    - `rank` integer
    - `monthlyRank` integer
    - `prevMonthlyRank` integer
    - `shareUrl` string
    - `createdAt` integer
    - `referralSource` 'DIRECT' | 'PARTICIPANT'
    - `referralStatus` 'CREDIT_PENDING' | 'CREDIT_AWARDED' | 'CREDIT_EXPIRED' | 'INVITE_SENT'
    - `fraudRiskLevel` 'LOW' | 'MEDIUM' | 'HIGH'
    - `fraudReasonCode` string
    - `isWinner` boolean
    - `shareCount` object
    - `impressionCount` integer
    - `uniqueImpressionCount` integer
    - `inviteCount` integer
    - `referrals` string[]
    - `monthlyReferrals` string[]
    - `ipAddress` string, nullable
    - `fingerprint` string, nullable
    - `metadata` Metadata — Shallow custom metadata object.
    - `unsubscribed` boolean
  - `ipAddress` string, nullable
  - `fingerprint` string, nullable
  - `mobileInstanceId` string, nullable — App-install scoped mobile identifier used for anti-fraud matching when provided by native mobile apps. The official mobile SDKs generate this as a lowercase UUID. Not stored when strict GDPR/CCPA mode is enabled.
  - `metadata` Metadata — Shallow custom metadata object.
  - `notes` string, nullable
  - `unsubscribed` boolean
  - `rewards` ParticipantReward[], required
    - `id` string, required
    - `rewardId` string, required
    - `status` 'PENDING' | 'FULFILLED', required
    - `unread` boolean
    - `approved` boolean
    - `approvedAt` integer, nullable
    - `fulfilledAt` integer, nullable
    - `isReferrer` boolean
    - `isAvailable` boolean
    - `isFulfilled` boolean
    - `referredId` string
    - `referrerId` string
    - `commissionStructure` CommissionStructure
      - `amount` integer, nullable
      - `event` string, nullable
      - `type` 'PERCENT' | 'AMOUNT' | 'null', nullable
      - `minPaidReferrals` integer, nullable
      - `holdDuration` integer, nullable
      - `duration` string, nullable
      - `durationInMonths` integer, nullable
      - `approvalRequired` boolean, nullable
      - `percent` number, nullable
      - `hasMaxAmount` boolean, nullable
      - `maxAmount` integer, nullable
      - `maxAmountISO` string, nullable
      - `hasIntro` boolean, nullable
      - `introType` string, nullable
      - `introPercent` number, nullable
      - `introAmount` integer, nullable
      - `introAmountISO` string, nullable
      - `introDuration` string, nullable
      - `introDurationInMonths` integer, nullable
  - `vanityKeys` string[]
  - `unreadCommissionsCount` integer
  - `unreadPayoutsCount` integer
  - `isNew` boolean
  - `allMatchingFraudsters` object[]
  - `payoutSettings` object — Payout-related actions the participant must complete before a payout can be released (e.g. confirming a PayPal email or submitting a W-9/W-8 tax form). Always present; the requiredActions array is empty when no action is required.
    - `requiredActions` string[]

## Other responses

- `400` — Invalid request.
- `401` — Authorization is missing or invalid.
- `403` — The API key is not allowed to perform this action.
- `404` — Resource not found.
- `429` — Too many requests.

---

[API](https://skmtc.net/growsurf/apis/growsurf-rest-api.md) · [All operations](https://skmtc.net/growsurf/apis/growsurf-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/growsurf/growsurf-rest-api/revisions/26f06e273394/schema)
