SteveSteve

Reserve a shelf photo upload

Reserves a photo slot on an open capture and returns a signed direct upload URL.

POST/api/v1/shelf/sessions/{sessionId}/uploads

Authorization

AuthorizationRequiredBearer <token>

Steve API key, usually scoped to a company. Legacy keys and keys created by platform administrators may be unscoped; company-scoped endpoints reject unscoped keys with 403 Forbidden. Format: Authorization: Bearer aok_...

In: header

Request Body

application/jsonRequired
photoIndexRequiredinteger
Minimum: 0Maximum: 29
mimeTypeRequiredstring
Value in: "image/jpeg" | "image/png" | "image/webp" | "image/heic" | "image/heif"

Path Parameters

sessionIdRequiredstring

Steve session identifier.

Header Parameters

X-Request-Idstring

Optional caller-supplied request identifier. Maximum length is 128 characters.

Maximum length: 128
curl -X POST "https://api.meetsteve.io/api/v1/shelf/sessions/<string>/uploads" \
  -H "X-Request-Id: <string>" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "photoIndex": 29,
    "mimeType": "image/jpeg"
  }'

Reserve a shelf photo upload

{
  "uploadUrl": "http://example.com",
  "r2Url": "http://example.com"
}