Save Candidate Registration Pricing
Replace the event's candidate registration pricing. Requires pay to register to be enabled and a linked payment business that supports the currency. Under per_registration, send exactly one price with no positionId. Under per_position, send one price per position. Rule violations return 422.
Authorization
bearerAuth A key in the form pepvote_api_ followed by 32 hexadecimal characters.
In: header
Header Parameters
Name and version of the calling integration. Required on every request.
Path Parameters
Voting event ID or code.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
per_registration charges one fee per candidate; per_position charges per position contested.
- Values:
per_registration|per_position
Prices to store. Replaces the existing set. Exactly one under per_registration.
- Items:
1 to 200 items
Response Body
application/json
application/json
curl -X PUT "https://example.com/voting-events/string/pricing/candidate-registration" \ -H "User-Agent: my-app/1.0" \ -H "Content-Type: application/json" \ -d '{ "pricingMode": "per_registration", "prices": [ { "amount": 0, "currency": "str" } ] }'{
"data": {
"pricingMode": "per_registration",
"prices": [
{
"id": "string",
"amount": 0,
"currency": "string",
"positionId": "string",
"label": "string"
}
]
}
}{
"error": {
"code": "bad_request",
"message": "string",
"details": {
"field": "string",
"parameter": "string",
"limit": 0,
"retryAfterSeconds": 0,
"feature": "string",
"plan": "string"
}
}
}Last updated September 6, 2026