Orders
Get order journey events
Returns the top-level analytics events that make up the order’s customer journey, such as share visits, product views, cart activity, and checkout, each with the contact, member, attribution rep, and share involved. For droplet, OAuth and identity-client tokens reading a sandbox twin, the member and attribution rep have only their id and the share has no email. The list is not paginated. Requires a company admin Bearer token with orders view permission. An unknown order id returns 400.
GET
/
api
/
v202506
/
orders
/
{order_id}
/
journey
/
events
Get order journey events
curl --request GET \
--url https://api.fluid.app/api/v202506/orders/{order_id}/journey/events \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.fluid.app/api/v202506/orders/{order_id}/journey/events"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.fluid.app/api/v202506/orders/{order_id}/journey/events', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.fluid.app/api/v202506/orders/{order_id}/journey/events",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.fluid.app/api/v202506/orders/{order_id}/journey/events"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.fluid.app/api/v202506/orders/{order_id}/journey/events")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/v202506/orders/{order_id}/journey/events")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"journey_events": [
{
"event_uuid": "01927e4c-5a3b-7d21-9f84-3c6e2b1a0d57",
"event_type": "share.visited",
"occurred_at": "2026-09-13T19:44:21.006Z",
"data": {
"share_id": 88412,
"share_token": "jh-20lb-paper-7Qx2"
},
"contact": {
"id": 66120,
"avatar_url": "https://cdn.fluid.app/uploads/companies/1405/contacts/66120/avatar.jpg",
"email": "holly.flax@dundermifflin.com",
"phone": "+15705550142",
"full_name": "Holly Flax"
},
"user_company": {
"id": 20418,
"first_name": "Jim",
"last_name": "Halpert",
"image_url": "https://cdn.fluid.app/uploads/companies/1405/members/jim-halpert/avatar.jpg"
},
"attribution_rep": {
"id": 20418,
"first_name": "Jim",
"last_name": "Halpert",
"image_url": "https://cdn.fluid.app/uploads/companies/1405/members/jim-halpert/avatar.jpg"
},
"share": {
"id": 88412,
"views": 6,
"created_at": "2026-09-12T16:03:55.310Z",
"email": "jim.halpert@dundermifflin.com",
"share_type": "smart",
"shareable_type": "product",
"shareable_id": 55120,
"shareable": {
"id": 55120,
"type": "Product",
"title": "Dunder Mifflin 20lb Copy Paper"
}
}
}
],
"meta": {
"request_id": "4f1c2a9e-7b3d-4e8a-9c61-2d5f8a0b3e17",
"timestamp": "2026-09-15T14:32:08Z"
}
}{
"message": "<string>",
"error": "<string>",
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"pagination": {
"cursor": "<string>",
"limit": 123,
"prev_cursor": "<string>",
"next_cursor": "<string>",
"total_count": 123
}
}
}{
"message": "<string>",
"error": "<string>",
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"pagination": {
"cursor": "<string>",
"limit": 123,
"prev_cursor": "<string>",
"next_cursor": "<string>",
"total_count": 123
}
}
}⌘I
Get order journey events
curl --request GET \
--url https://api.fluid.app/api/v202506/orders/{order_id}/journey/events \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.fluid.app/api/v202506/orders/{order_id}/journey/events"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.fluid.app/api/v202506/orders/{order_id}/journey/events', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.fluid.app/api/v202506/orders/{order_id}/journey/events",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.fluid.app/api/v202506/orders/{order_id}/journey/events"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.fluid.app/api/v202506/orders/{order_id}/journey/events")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/v202506/orders/{order_id}/journey/events")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"journey_events": [
{
"event_uuid": "01927e4c-5a3b-7d21-9f84-3c6e2b1a0d57",
"event_type": "share.visited",
"occurred_at": "2026-09-13T19:44:21.006Z",
"data": {
"share_id": 88412,
"share_token": "jh-20lb-paper-7Qx2"
},
"contact": {
"id": 66120,
"avatar_url": "https://cdn.fluid.app/uploads/companies/1405/contacts/66120/avatar.jpg",
"email": "holly.flax@dundermifflin.com",
"phone": "+15705550142",
"full_name": "Holly Flax"
},
"user_company": {
"id": 20418,
"first_name": "Jim",
"last_name": "Halpert",
"image_url": "https://cdn.fluid.app/uploads/companies/1405/members/jim-halpert/avatar.jpg"
},
"attribution_rep": {
"id": 20418,
"first_name": "Jim",
"last_name": "Halpert",
"image_url": "https://cdn.fluid.app/uploads/companies/1405/members/jim-halpert/avatar.jpg"
},
"share": {
"id": 88412,
"views": 6,
"created_at": "2026-09-12T16:03:55.310Z",
"email": "jim.halpert@dundermifflin.com",
"share_type": "smart",
"shareable_type": "product",
"shareable_id": 55120,
"shareable": {
"id": 55120,
"type": "Product",
"title": "Dunder Mifflin 20lb Copy Paper"
}
}
}
],
"meta": {
"request_id": "4f1c2a9e-7b3d-4e8a-9c61-2d5f8a0b3e17",
"timestamp": "2026-09-15T14:32:08Z"
}
}{
"message": "<string>",
"error": "<string>",
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"pagination": {
"cursor": "<string>",
"limit": 123,
"prev_cursor": "<string>",
"next_cursor": "<string>",
"total_count": 123
}
}
}{
"message": "<string>",
"error": "<string>",
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"pagination": {
"cursor": "<string>",
"limit": 123,
"prev_cursor": "<string>",
"next_cursor": "<string>",
"total_count": 123
}
}
}