Image Uploads API
Upload speaker portraits, sponsor logos, and banners directly.
Every image field on the API - imagePath, imagePathLogo, imagePathBanner, sponsorImagePath - takes a web address. If your pictures are already online somewhere public, you can pass those addresses directly and skip this page.
If they are not, this endpoint puts them online for you. It requires the standard authentication headers and the media:write permission.
POST /uploadImage
Send the picture, get back the address to save. One call.
Option 1 - send the file directly. Set Content-Type to the image’s type and put the file in the body:
curl -X POST "https://api.event-vault.com/uploadImage" \
-H "x-api-key: $EV_API_KEY" \
-H "x-client-id: $EV_CLIENT_ID" \
-H "x-event-id: $EV_EVENT_ID" \
-H "x-timestamp: $(python3 -c 'import time;print(int(time.time()*1000))')" \
-H "Content-Type: image/jpeg" \
--data-binary @portrait.jpg
Option 2 - send it as text. If it is easier to build a JSON request, encode the picture as base64:
{ "contentType": "image/png", "data": "iVBORw0KGgoAAAANSUhEUg..." }
Accepted types: JPEG, PNG, WebP and GIF. Maximum 8 MB per picture - resize anything larger first.
Response
{
"status": "success",
"imagePath": "https://data-service.event-vault.com/storage/o/...?alt=media&token=2b7f...c1",
"contentType": "image/jpeg",
"bytes": 184320,
"nextStep": "Save 'imagePath' as the image field on a speaker, sponsor or session."
}
Then save the address
Put the returned imagePath on whichever record the picture belongs to:
curl -X POST "https://api.event-vault.com/upsertSpeaker" \
-H "x-api-key: $EV_API_KEY" \
-H "x-client-id: $EV_CLIENT_ID" \
-H "x-event-id: $EV_EVENT_ID" \
-H "x-timestamp: $(python3 -c 'import time;print(int(time.time()*1000))')" \
-H "Content-Type: application/json" \
-d "{\"name\":\"Jane Doe\",\"imagePath\":\"$IMAGE_PATH\"}"
Uploading a picture does not attach it to anything on its own - until you save the address on a speaker, sponsor or session, it is just sitting in your event’s picture library.
Notes
- Pictures land in the same library as the ones you upload in the console, so they appear in the console’s picture picker straight away.
imagePathserves the picture fromdata-service.event-vault.com, Event Vault’s own address for pictures. Some company networks block Google’s storage domain, which is where the files physically live - going through our address avoids that, so the picture loads for everyone.- Add
?dryRun=1to check the type and size of a picture without storing it.