# POST /Indoor/api/executeCampaignTransaction

**Resource:** [Campaigns and rewards](../resources/Campaigns-and-rewards.md)
**Service that performs financial maintenance for the customer and applies or cancels campaign discounts**
**Operation ID:** `executeCampaignTransaction`

Executes a campaign transaction for a given ShadowCardNumber. Validates the request including Channel, TrnCodeMatrixId, and Amount limits. Adjusts amount by dividing by 100. Retrieves default description from campaign system parameters if not provided. Calls DoManualFinance on CRD transaction service proxy with finance details including TranAmount, TranCurrency, TranDescription, ShadowCardNumber, ChannelType, RewardType.None, Onus network, current TranValueDate, and SystemEntry origin. Returns Utid and TrnId from the response.

## Request Body

Execute Campaign Transaction Request

**Required:** Yes

**Content Types:** `application/json`

**Schema:** [ExecuteCampaignTransactionRequest](../schemas/Execute/ExecuteCampaignTransactionRequest.md)

## Responses

| Status | Description |
|--------|-------------|
| 200 | Success |
| 400 | (reference) |
| 404 | (reference) |
| 500 | (reference) |

**Success Response Schema:**

[ExecuteCampaignTransactionResponse](../schemas/Execute/ExecuteCampaignTransactionResponse.md)

