---
title: "Submit a new partner activity for VXP review"
method: POST
path: "/v1/partners/me/activities"
tags: ["Partners Me Activities"]
---

# Submit a new partner activity for VXP review

`POST /v1/partners/me/activities`

## Request

- Base URL: `https://api.vendure.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.vendure.io/v1/partners/me/activities`
- Auth: none declared
- TypeScript: <https://skmtc.dev/vendure/apis/vendure-io-api-public/docs/v1/partners/me/activities/post.ts> (a function with typed inputs; its response is checked against the schema)

## Request body

- PartnerActivitySubmitDto
  - `vxpAwardId` string, uuid, required
  - `scope` 'PERSONAL' | 'BUSINESS', required
  - `title` string, required
  - `description` string, nullable
  - `evidenceUrl` string, nullable: Evidence URL
  - `activityDate` string, date-time, required: When the activity happened (cannot be in the future)
  - `clientName` string, nullable
  - `clientUrl` string, nullable: Client URL
  - `projectDescription` string, nullable
  - `submittedById` string, uuid: Local `workos_user.id` of the member to credit. Owner/admin only.

## Response `201`

- PartnerActivitySelfDto
  - `id` string, uuid, required
  - `vxpAwardId` string, uuid, required
  - `scope` 'PERSONAL' | 'BUSINESS', required
  - `status` 'PENDING' | 'APPROVED' | 'AUTO_APPROVED' | 'REJECTED' | 'CANCELLED', required
  - `source` 'MANUAL' | 'GITHUB_BOT', required
  - `title` string, required
  - `description` string, nullable, required
  - `evidenceUrl` string, nullable, required
  - `baseVxp` integer, required
  - `awardedVxp` integer, nullable, required
  - `currentVxp` integer, required
  - `activityDate` string, date-time, required
  - `reviewerNotes` string, nullable, required
  - `decisionReason` string, nullable, required
  - `reviewedAt` string, date-time, nullable, required
  - `clientName` string, nullable, required
  - `clientUrl` string, nullable, required
  - `projectDescription` string, nullable, required
  - `createdAt` string, date-time, required
  - `submittedById` string, uuid, required
  - `loggedById` string, uuid, nullable, required
  - `loggedByName` string, nullable, required

## Other responses

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

## Changes

- **2026-09-04** `0747ce439f89`: 5 info
  - added the new optional request property `submittedById`
  - added the required property `currentVxp` to the response with the `201` status
  - added the required property `loggedById` to the response with the `201` status
  - added the required property `loggedByName` to the response with the `201` status
  - …1 more

[Operation history](https://skmtc.dev/vendure/apis/vendure-io-api-public/changes/v1/partners/me/activities/post.md)

---

[API](https://skmtc.dev/vendure/apis/vendure-io-api-public.md) - [All operations](https://skmtc.dev/vendure/apis/vendure-io-api-public/llms.txt) - [OpenAPI document](https://skmtc.dev/vendure/apis/vendure-io-api-public/revisions/0747ce439f89?raw)
