Sponsors
Read and manage event sponsors.
Endpoints
| Method | Path | Scope | Description |
|---|---|---|---|
GET | /voting-events/:idOrCode/sponsors | read | List sponsors. |
POST | /voting-events/:idOrCode/sponsors | write | Create a sponsor. |
GET | /voting-events/:idOrCode/sponsors/:id | read | Get a sponsor. |
PATCH | /voting-events/:idOrCode/sponsors/:id | write | Update a sponsor. |
DELETE | /voting-events/:idOrCode/sponsors/:id | write | Delete a sponsor. |
PUT | /voting-events/:idOrCode/sponsors/:id/logo | write | Set a logo from an upload. |
DELETE | /voting-events/:idOrCode/sponsors/:id/logo | write | Remove a logo. |
Query parameters
| Name | Type | Required | Description |
|---|---|---|---|
search | string | No | Search sponsor names, details, and emails. |
Request fields
name is required on create. Send at least one field on update. On update, info, contactEmail, and pinnedSponsorNumber accept null to clear them.
| Field | Type | Description |
|---|---|---|
name | string | 1 to 200 characters. |
info | string or null | Up to 2,000 characters. |
contactEmail | string or null | Up to 320 characters. |
pinnedSponsorNumber | integer or null | Minimum 1. |
Create example
curl -X POST "https://api.pepvote.com/voting-events/BOARD26/sponsors" \
-H "Authorization: Bearer $PEPVOTE_API_KEY" -H "User-Agent: my-app/1.0" \
-H "Content-Type: application/json" -d '{"name":"Northstar Credit Union","info":"Community partner","pinnedSponsorNumber":1}'{
"data": {
"id": "j57sponsor01",
"votingEventId": "j57event01",
"name": "Northstar Credit Union",
"info": "Community partner",
"contactEmail": null,
"pinnedSponsorNumber": 1,
"logoUrl": null,
"createdAt": 1776900350000
}
}Logo example
curl -X PUT "https://api.pepvote.com/voting-events/BOARD26/sponsors/j57sponsor01/logo" \
-H "Authorization: Bearer $PEPVOTE_API_KEY" -H "User-Agent: my-app/1.0" \
-H "Content-Type: application/json" -d '{"storageId":"kg2storage01"}'{
"data": {
"id": "j57sponsor01",
"name": "Northstar Credit Union",
"logoUrl": "https://storage.example/logo.png"
}
}Use the upload flow first. A successful create returns 201. Delete returns 202 with { "data": { "id": "...", "deletion": "queued" } }.
Was this helpful?
Last updated September 6, 2026