---
title: "Remove campaign participants"
method: POST
path: "/admin/campaign/participants/remove"
tags: ["Admin"]
---

# Remove campaign participants

`POST /admin/campaign/participants/remove`

## Request

- Base URL: `https://api.testnet.rise.trade`
- URL: `https://api.testnet.rise.trade/admin/campaign/participants/remove`
- Auth: none required
- TypeScript: <https://skmtc.dev/rise/apis/risex-rest-api/docs/admin/campaign/participants/remove/post.ts> (a function with typed inputs; its response is checked against the schema)

Call setParticipants(wallets, false), which lets those wallets withdraw again. Separate from the add endpoint rather than a boolean on one, so an omitted field cannot turn an enroll into a release. The participant sync never removes anyone, so this is the only way back.

## Request body

- ApiRemoveCampaignParticipantsRequest
  - `wallets` string[]

## Response `200`

A successful response.

- ApiRemoveCampaignParticipantsResponse
  - `tx_hash` string
  - `already_set` string[]: Wallets that were not enrolled before this call.

## Other responses

- `default`: An unexpected error response.

## Changes

- **2026-11-03** `98eabcd6a6ad`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/rise/apis/risex-rest-api/changes/admin/campaign/participants/remove/post.md)

---

[API](https://skmtc.dev/rise/apis/risex-rest-api.md) - [All operations](https://skmtc.dev/rise/apis/risex-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/rise/apis/risex-rest-api/revisions/98eabcd6a6ad?raw)
