content-upload-request.created
Sent when a Flow's Content upload request action sends to a webhook, with the order, the upload link and the upload folder.
Flow onlyOnly a Flow sends this event. A destination cannot subscribe to it.
Use it to ask customers for photos and videos through your own email or SMS tool instead of Cevoid's.
When it fires
- Each time a Flow's Content upload request action runs with a webhook as its delivery target.
data.upload_urlopens the upload page.data.destinationis the upload folder the action is set to.
Receive it
In a Flow on Order fulfilled or Order delivered, add the Content upload request action, set Delivery target to Webhook and choose your destination. See Send from a Flow.
Payload
{
"created_at": "2026-11-02T09:30:00.000Z",
"data": {
"destination": {
"id": "s-example",
"name": "Customer uploads"
},
"order": {
"buyer": {
"email": "buyer@example.com",
"external_customer_id": "customer_123",
"profile_id": "prf_sarah"
},
"cancelled": false,
"created_at": "2026-07-24T09:00:01.000Z",
"currency": "USD",
"financial_status": "PAID",
"fulfillment_status": "PENDING",
"id": "ord_abc123",
"ingestion_mode": "live",
"lines": [
{
"discount": 0,
"external_line_id": "line_1",
"fulfillment_status": "PENDING",
"product_id": "product_123",
"quantity": 1,
"refund": 0,
"returned_units": 0,
"sku": "TSHIRT-BLACK-M",
"unit_price": 50,
"variant_id": "variant_456"
}
],
"market_id": "mar_us",
"money": {
"discount": 5,
"refunded": 0,
"shipping": 5,
"sub_total": 50,
"tax": 5,
"total": 55
},
"order_number": "#1001",
"paid_at": "2026-07-24T09:00:01.000Z",
"placed_at": "2026-07-24T09:00:00.000Z",
"source": {
"connection_id": "erp-production",
"external_order_id": "order_123",
"type": "PUBLIC_API"
},
"updated_at": "2026-07-24T09:00:01.000Z"
},
"profile": {
"avatar_url": "https://cdn.cevoid.com/avatars/prf_sarah/profile.jpg",
"bio": "Lifestyle creator and photography enthusiast",
"birthday": "1992-04-18",
"country": "US",
"created_at": "2026-01-15T09:30:00.000Z",
"email": "sarah.johnson@example.com",
"external_id": "customer_7391056823401",
"first_name": "Sarah",
"id": "prf_sarah",
"language": "en",
"last_name": "Johnson",
"location": "San Francisco, CA",
"name": "Sarah Johnson",
"notes": "VIP customer; prefers email communication",
"social_instagram_handle": "sarah.lifestyle",
"social_tiktok_handle": "sarah.creates",
"social_x_handle": "sarah_j",
"updated_at": "2026-01-20T14:22:15.000Z"
},
"upload_url": "https://upload.cevoid.com/example?source=s-example"
},
"id": "evt_m3p82kdq5xw7tz4c",
"origin": {
"flow": {
"id": "wfl_q7v2m9x4k8d3h6b5",
"name": "Post-purchase follow-up"
},
"trigger": "order.fulfilled"
},
"type": "content-upload-request.created",
"version": 1
}Show all 86 linesShow fewer lines
versionnumberrequiredThe version of this event type. A published version only gains fields, so ignore fields you do not use; a breaking change is a new version.
idstringrequiredStable event id (evt_ plus 16 characters), also sent as the webhook-id header. Retries and manual replays send the same id, so ignore an event whose id you have already processed.
typestringrequiredWhat data describes. New types are added over time, and an endpoint on "All events" receives them, so ignore any type you do not handle.
created_atstring<date-time>requiredWhen the event happened, as an ISO 8601 timestamp.
originobjectWhy your endpoint received the event. Omitted when the event was forwarded without a Flow of your own.
dataobjectrequiredThe resources the event carries, keyed by resource name. type decides which resources are included, and resources your plan does not include are left out.