---
title: "Personal VXP rollup (total + current calendar month)"
method: GET
path: "/v1/partners/me/vxp-summary"
tags: ["Partners Me"]
---

# Personal VXP rollup (total + current calendar month)

`GET /v1/partners/me/vxp-summary`

## Response `200`

- PartnerVxpSummaryDto
  - `totalVxp` number, required
  - `monthlyVxp` number, required
  - `byAward` VxpAwardBreakdownEntry[], required — Per-award VXP breakdown for the current VXP window, sorted by vxp descending. Empty when the caller has earned no VXP.
    - `awardId` string, uuid, required
    - `awardLabel` string, required
    - `vxp` integer, required
  - `monthly` VxpMonthlyEntry[], required — Calendar-month VXP totals — always six entries, oldest→newest, covering the current month plus the five preceding months. Zero-filled where no activity was approved.
    - `month` string, required — ISO calendar month key, `YYYY-MM` (UTC).
    - `vxp` integer, required
  - `isEnthusiast` boolean, required — Authoritative Enthusiast flag, read from `workos_user.isEnthusiast`. Clients render this directly — they must not re-derive it from `totalVxp` against the threshold.
  - `enthusiastThreshold` number, required — Personal VXP required to reach Enthusiast standing (`ENTHUSIAST_VXP_THRESHOLD`). Served so the progress bar renders without the client mirroring the backend constant.
  - `enthusiastSince` string, nullable, required — ISO-8601 timestamp the caller first crossed into Enthusiast standing, or `null` if they never have.

## Other responses

- `400` — Validation failed
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not found
- `409` — Conflict
- `500` — Internal server error

---

[API](https://skmtc.net/vendure/apis/vendure-io-api-public.md) · [All operations](https://skmtc.net/vendure/apis/vendure-io-api-public/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/vendure/vendure-io-api-public/revisions/5fc4757128af/schema)
