Pepvote Support Center

Create Candidates Batch

POST
/voting-events/{idOrCode}/candidates/batch

Authorization

bearerAuth
AuthorizationBearer <token>

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

In: header

Header Parameters

Idempotency-Keystring

Optional retry key. First successful response is stored for 24 hours.

  • Length: up to 255 characters
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.

candidatesarray<object>required

Candidates to create.

  • Items: 1 to 100 items

Response Body

application/json

curl -X POST "https://example.com/voting-events/string/candidates/batch" \  -H "User-Agent: my-app/1.0" \  -H "Content-Type: application/json" \  -d '{    "candidates": [      {}    ]  }'
{
  "data": {
    "created": [
      {
        "id": "string",
        "votingEventId": "string",
        "groupId": "string",
        "positionIds": [
          "string"
        ],
        "name": "string",
        "email": "string",
        "status": "not_approved",
        "selfRegistered": true,
        "referendumRole": "string",
        "avatarUrl": "string",
        "group": {
          "id": "string",
          "votingEventId": "string",
          "name": "string",
          "desc": "string",
          "groupFor": "any",
          "logoUrl": "string",
          "createdAt": 0
        },
        "positions": [
          {
            "id": "string",
            "votingEventId": "string",
            "groupId": "string",
            "title": "string",
            "desc": "string",
            "votingMethod": "string",
            "tallyRule": {
              "type": "plurality_total",
              "seatCount": 1,
              "stvQuota": "droop",
              "bordaSchema": "zero_based"
            },
            "minSelections": 0,
            "maxSelections": 0,
            "scoreMin": 0,
            "scoreMax": 0,
            "cumulativePointBudget": 0,
            "quadraticBaseCreditBudget": 0,
            "quadraticAllowCreditTopUps": true,
            "quadraticMaxPurchasedCreditsPerVoter": 0,
            "createdAt": 0
          }
        ],
        "createdAt": 0
      }
    ],
    "skipped": [
      {
        "index": 0,
        "reason": "string"
      }
    ]
  }
}
Was this helpful?

Last updated September 6, 2026