---
title: "Configure campaign"
method: POST
path: "/admin/campaign/configure"
tags: ["Admin"]
---

# Configure campaign

`POST /admin/campaign/configure`

## Request

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

Call CampaignParticipantManager.configureCampaign(enabled, seeded_capital_usdc). While the campaign is disabled the contract rejects setParticipants, so this must be enabled before the participant sync can enroll anyone. Fails with FAILED_PRECONDITION when the env has no campaign configured.

## Request body

- ApiConfigureCampaignRequest: ConfigureCampaignRequest mirrors the contract call of the same name.
  - `enabled` boolean: Whether the campaign gate is active. While false the contract rejects setParticipants, so the participant sync cannot enroll anyone.
  - `seeded_capital_usdc` string, uint64: Per-participant seeded-capital cap, in USDC token decimals (6-dec): $1,000 is 1000000000. Used by the contract's seeded-capital recovery.

## Response `200`

A successful response.

- ApiConfigureCampaignResponse
  - `tx_hash` string

## 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/configure/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)
