Pepvote Support Center

Save Vote Pricing

PUT
/voting-events/{idOrCode}/pricing/vote

Replace the event's vote pricing. Requires pay to vote to be enabled and a linked payment business that supports the currency. Under per_vote and per_ballot, send one price unless weighted voting is on, in which case send one price per weight. Under per_position, send one price per billable position and omit weight. Rule violations return 422.

Authorization

bearerAuth
AuthorizationBearer <token>

A key in the form pepvote_api_ followed by 32 hexadecimal characters.

In: header

Header Parameters

User-Agentstringrequired

Name and version of the calling integration. Required on every request.

Path Parameters

idOrCodestringrequired

Voting event ID or code.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

pricingModeenum<string>required

per_vote charges each vote; per_ballot charges each submitted ballot; per_position charges per position voted on.

  • Values:per_vote|per_ballot|per_position
pricesarray<object>required

Prices to store. Replaces the existing set.

  • Items: 1 to 200 items

Response Body

application/json

application/json

curl -X PUT "https://example.com/voting-events/string/pricing/vote" \  -H "User-Agent: my-app/1.0" \  -H "Content-Type: application/json" \  -d '{    "pricingMode": "per_vote",    "prices": [      {        "amount": 0,        "currency": "str"      }    ]  }'
{
  "data": {
    "pricingMode": "per_vote",
    "prices": [
      {
        "id": "string",
        "amount": 0,
        "currency": "string",
        "positionId": "string",
        "weight": 0,
        "label": "string"
      }
    ]
  }
}
{
  "error": {
    "code": "bad_request",
    "message": "string",
    "details": {
      "field": "string",
      "parameter": "string",
      "limit": 0,
      "retryAfterSeconds": 0,
      "feature": "string",
      "plan": "string"
    }
  }
}
Was this helpful?

Last updated September 6, 2026