Skip to content

Uploads and analytics ​

Upload reusable files or images and send tracking events. Multipart file field names differ between upload operations.

Access labels such as Origin + Brand key + Customer are defined in Headers and access. Each endpoint ends in a Try it console; set the host and keys once in its Settings tab or on the overview.

Upload an image to Cloudinary ​

Upload the first multipart file to Cloudinary and return its public URL.

MethodURL pathRequired access
PUT/api/v1/brand/uploadImageOrigin + Brand key
PUT/api/v1/user/uploadImageOrigin + Brand key + Customer

Request fields:

FieldTypeRequiredRules / meaning
query.typestringoptionalNo controller schema
multipart.filefileyesAny multipart field name is accepted; the first file is used

Example (first URL):

bash
curl -X PUT "$BASE_URL/api/v1/brand/uploadImage" \
  -H "Origin: $ORIGIN" \
  -H "api-key: $API_KEY" \
  -F "file=@/path/to/image.jpg"

Response: {"status":true,"result":{"url":"https://..."}}.

Source: app/v1/controller/util_controller.js:30 → addToCloudinary; routes: routes/v1/util_route.js:78.

Upload file ​

MethodURL pathRequired access
PUT/api/v1/brand/uploadFileOrigin + Brand key
PUT/api/v1/user/uploadFileOrigin + Brand key + Customer

Request fields:

FieldTypeRequiredRules / meaning
multipart.filefileyesNo controller schema
query.typestringoptionalNo controller schema

Example (first URL):

bash
curl -X PUT "$BASE_URL/api/v1/brand/uploadFile" \
  -H "Origin: $ORIGIN" \
  -H "api-key: $API_KEY" \
  -F "file=@/path/to/image.jpg"

Response: JSON with success: true and result containing the operation’s service data. Result fields/details: url.

Source: app/v1/controller/util_controller.js:67 → uploadFile; routes: routes/v1/util_route.js:50; service: _uploadFile (app/v1/service/utils_service.js:14).

Log pixel ​

MethodURL pathRequired access
POST/api/v1/brand/log/pixelOrigin + Brand key

Request fields:

FieldTypeRequiredRules / meaning
bodyobjectyesComplete event body; service-specific fields

The complete JSON body is forwarded as analytics event data; no local field schema is declared.

Example:

bash
curl -X POST "$BASE_URL/api/v1/brand/log/pixel" \
  -H "Origin: $ORIGIN" \
  -H "api-key: $API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{}'

Response: JSON with success: true and result containing the operation’s service data.

Source: app/v1/controller/util_controller.js:105 → logPixel; routes: routes/v1/util_route.js:60.

Batch platform, Shopify app and API documentation