---
title: "Get club dashboard data"
method: GET
path: "/api/v1/clubs"
tags: ["Clubs"]
---

# Get club dashboard data

`GET /api/v1/clubs`

**Rate limit:** 60 requests per 60 seconds. This is the **default shared quota** — it is shared with every other endpoint that has no dedicated limit, so requests across those endpoints all draw from the same budget.

---

Retrieves club dashboard data for the authenticated user, including tier information, benefits, account manager details, offers, downgrade risk, and webinars.

## Headers

- `x-request-id` string, uuid, required
- `x-api-key` string, password, required
- `x-user-key` string, password, required

## Response `200`

Club dashboard data retrieved successfully

- ClubDashboardDataResponse — Club dashboard data for a user
  - `clubs` ClubInfo[] — List of club tiers with equity thresholds
    - `name` 'Internal' | 'Bronze' | 'Silver' | 'Gold' | 'Platinum' | 'PlatinumPlus' | 'Diamond' — Display name of the club tier
    - `minRealizedEquity` integer, nullable — Minimum realized equity threshold for this tier
    - `maxRealizedEquity` integer, nullable — Maximum realized equity threshold for this tier
    - `rank` integer — Display rank of this tier
  - `contacts` ContactsResponse — Account manager contact details
    - `manager` ContactInfo — Account manager profile
      - `firstName` string — Account manager first name
      - `lastName` string — Account manager last name
      - `email` string, email — Account manager email address
      - `calendarUrl` string, nullable — Calendar booking URL for scheduling meetings
      - `avatars` ClubsApiAvatar[] — Manager avatar images in different sizes
        - `url` string — Image URL
        - `width` integer — Image width in pixels
        - `height` integer — Image height in pixels
  - `downgradeRisk` DowngradeRiskResponse — Club tier downgrade risk assessment
    - `isAtRisk` boolean — Whether the user is at risk of club tier downgrade
    - `daysUntilDowngrade` integer, nullable — Days remaining until potential downgrade. Present only when isAtRisk is true.
  - `offers` UserOffersData — Club offers categorized by availability
    - `currentPlayerLevelAvailableOffers` ClubOffer[] — Offers available at the user's current club tier
      - `id` string — Offer identifier
      - `displayName` string — Offer display name
      - `description` string, nullable — Detailed offer description
      - `status` 'Pending' | 'Available' | 'Reserved' | 'Claimed' | 'Expired' | 'Claim Cancelled' | 'Inventory Order Cancelled' — Offer status
      - `type` 'Entertainment' | 'Gifts' | 'News' | 'Signals' | 'Tools' | 'Exclusive events' | 'Tickets' | 'Zoom meetings' | 'Educational' | 'Services' | 'Association Membership' | 'Financial' | 'Travel' | 'Gift card' | 'Client meetup' | 'Emotional' | 'Bundle' — Offer type
      - `subType` 'High' | 'Low', nullable — Offer sub-type
      - `deliveryMethod` 'Inventory Managed' | 'On-demand' | 'Static' | 'API', nullable — Delivery method
      - `minimumClubLevel` 'Internal' | 'Bronze' | 'Silver' | 'Gold' | 'Platinum' | 'PlatinumPlus' | 'Diamond' — Minimum club tier required for this offer
      - `offerUrl` string, nullable — URL with more information about the offer
      - `offersInBundle` OfferInBundle[], nullable — Offers bundled together with this offer
        - `type` 'Entertainment' | 'Gifts' | 'News' | 'Signals' | 'Tools' | 'Exclusive events' | 'Tickets' | 'Zoom meetings' | 'Educational' | 'Services' | 'Association Membership' | 'Financial' | 'Travel' | 'Gift card' | 'Client meetup' | 'Emotional' | 'Bundle' — Bundle offer type
        - `offerLimit` integer — Maximum number of offers in this bundle
      - `subOffers` ClubOffer[], nullable — Sub-offers within this offer
    - `nextPlayerLevelAvailableOffers` ClubOffer[] — Offers that become available at the next club tier
      - `id` string — Offer identifier
      - `displayName` string — Offer display name
      - `description` string, nullable — Detailed offer description
      - `status` 'Pending' | 'Available' | 'Reserved' | 'Claimed' | 'Expired' | 'Claim Cancelled' | 'Inventory Order Cancelled' — Offer status
      - `type` 'Entertainment' | 'Gifts' | 'News' | 'Signals' | 'Tools' | 'Exclusive events' | 'Tickets' | 'Zoom meetings' | 'Educational' | 'Services' | 'Association Membership' | 'Financial' | 'Travel' | 'Gift card' | 'Client meetup' | 'Emotional' | 'Bundle' — Offer type
      - `subType` 'High' | 'Low', nullable — Offer sub-type
      - `deliveryMethod` 'Inventory Managed' | 'On-demand' | 'Static' | 'API', nullable — Delivery method
      - `minimumClubLevel` 'Internal' | 'Bronze' | 'Silver' | 'Gold' | 'Platinum' | 'PlatinumPlus' | 'Diamond' — Minimum club tier required for this offer
      - `offerUrl` string, nullable — URL with more information about the offer
      - `offersInBundle` OfferInBundle[], nullable — Offers bundled together with this offer
        - `type` 'Entertainment' | 'Gifts' | 'News' | 'Signals' | 'Tools' | 'Exclusive events' | 'Tickets' | 'Zoom meetings' | 'Educational' | 'Services' | 'Association Membership' | 'Financial' | 'Travel' | 'Gift card' | 'Client meetup' | 'Emotional' | 'Bundle' — Bundle offer type
        - `offerLimit` integer — Maximum number of offers in this bundle
      - `subOffers` ClubOffer[], nullable — Sub-offers within this offer
    - `staticEligibleOffers` StaticEligibleOffer[] — Offers eligible across specific club tiers
      - `id` string — Offer identifier
      - `displayName` string — Offer display name
      - `description` string, nullable — Detailed offer description
      - `status` 'Pending' | 'Available' | 'Reserved' | 'Claimed' | 'Expired' | 'Claim Cancelled' | 'Inventory Order Cancelled' — Offer status
      - `type` 'Entertainment' | 'Gifts' | 'News' | 'Signals' | 'Tools' | 'Exclusive events' | 'Tickets' | 'Zoom meetings' | 'Educational' | 'Services' | 'Association Membership' | 'Financial' | 'Travel' | 'Gift card' | 'Client meetup' | 'Emotional' | 'Bundle' — Offer type
      - `deliveryMethod` 'Inventory Managed' | 'On-demand' | 'Static' | 'API', nullable — Delivery method
      - `eligibleClubLevels` string[] — Club tier names eligible for this offer
  - `webinars` WebinarsResponse — Upcoming and past webinars
    - `upcomingWebinars` Webinar[] — List of upcoming webinars the user can join
      - `id` integer — Webinar identifier
      - `topic` string — Webinar topic
      - `startTime` string, date-time — Scheduled start time in UTC
      - `joinUrl` string, nullable — URL to join the webinar (upcoming webinars only)
      - `recordUrl` string, nullable — URL to the recording (past webinars only)
    - `previousWebinars` Webinar[] — List of past webinars with recordings
      - `id` integer — Webinar identifier
      - `topic` string — Webinar topic
      - `startTime` string, date-time — Scheduled start time in UTC
      - `joinUrl` string, nullable — URL to join the webinar (upcoming webinars only)
      - `recordUrl` string, nullable — URL to the recording (past webinars only)

## Other responses

- `401` — Unauthorized. Invalid or missing authentication
- `403` — Forbidden - insufficient permissions
- `429` — Too Many Requests
- `500` — Internal Server Error

---

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