Documentation

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
Responses
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
Responses
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