Sponsors API
List, create, edit, and delete sponsors and their content.
Manage the sponsors shown in your event app and public sponsors widget. All endpoints require the standard authentication headers. Write endpoints require the sponsors:write scope; the read endpoint requires sponsors:read.
GET /getSponsors
Returns an array of all sponsors for the event. Soft-deleted sponsors are excluded. No request body required. Requires sponsors:read.
Example request
curl "https://api.event-vault.com/getSponsors" \
-H "x-api-key: <your-api-key>" \
-H "x-client-id: <your-client-id>" \
-H "x-event-id: <your-event-id>" \
-H "x-timestamp: $(date +%s%3N)"
POST /upsertSponsor
Creates a new sponsor, or edits an existing one. Omit sponsorId to create (name required); include it to edit (only the fields you send change). Requires sponsors:write.
Request body fields
| Field | Type | Required | Description |
|---|---|---|---|
sponsorId |
string | Existing sponsor’s id. Omit to create; include to edit. | |
name |
string | create | Sponsor name |
tier |
integer | Sponsor tier used for grouping (lower = higher tier). Defaults to 5 |
|
link |
string | Sponsor website URL | |
hasPage |
boolean | Whether the sponsor has a detail page. Auto-enabled when you send content sections | |
hasBanner |
boolean | Whether the banner image is shown | |
imagePathLogo |
string | Logo image URL | |
imagePathBanner |
string | Banner image URL | |
biography |
string | Biography as a Delta JSON string - see Rich Text Format | |
downloadLink1 / downloadLabel1 |
string | Optional download URL + label | |
downloadLink2 / downloadLabel2 |
string | Second optional download URL + label | |
representativeEmails |
string | Comma-separated emails of sponsor reps (granted sponsor access) | |
unListed |
boolean | Publish toggle. true = not shown on the public widgets (still visible in the console); false = published (default) |
|
contentData |
array | Content sections - see Content Sections |
| Status | Body | Description |
|---|---|---|
200 OK |
{ "status": "success", "sponsorId": "...", "created": true } |
Sponsor created (created: true) or edited (created: false) |
400 Bad Request |
The request must include a non-empty name when creating a sponsor. |
Creating without a name |
400 Bad Request |
{ "error": "Invalid content sections", "details": [...] } |
A content section is malformed or references a missing/hidden/deleted record |
404 Not Found |
Sponsor not found. |
sponsorId supplied but no such sponsor |
500 Internal Server Error |
Error upserting sponsor. |
Unexpected server error |
Plus the standard auth errors (400/403/404/408/429) - see Authentication.
Example - create a sponsor with content
curl "https://api.event-vault.com/upsertSponsor" \
-X POST \
-H "Content-Type: application/json" \
-H "x-api-key: <your-api-key>" \
-H "x-client-id: <your-client-id>" \
-H "x-event-id: <your-event-id>" \
-H "x-timestamp: $(date +%s%3N)" \
-d '{
"name": "Acme Corp",
"tier": 1,
"link": "https://acme.example.com",
"contentData": [
{ "type": "title", "data": { "content": "About Acme" } },
{ "type": "speaker", "data": { "speakerType": "Representatives", "speakerIds": ["<speakerId>"] } }
]
}'
POST /deleteSponsor
Soft-deletes a sponsor: it is removed from listings but stays recoverable in the console. Requires sponsors:write.
Request body fields
| Field | Type | Required | Description |
|---|---|---|---|
sponsorId |
string | ✓ | Id of the sponsor to delete |
| Status | Body | Description |
|---|---|---|
200 OK |
{ "status": "success" } |
Sponsor was soft-deleted |
400 Bad Request |
The request must include sponsorId in the body. |
sponsorId missing |
404 Not Found |
Sponsor not found. |
No sponsor with this id |
500 Internal Server Error |
Error deleting sponsor. |
Unexpected server error |