1from apify_client import ApifyClient
2
3
4
5client = ApifyClient("<YOUR_API_TOKEN>")
6
7
8run_input = {
9 "snapshotId": "demo-2026-10-04",
10 "snapshotCoverage": "partial",
11 "executionModel": "simultaneous-outbound",
12 "inventory": [
13 {
14 "rowId": "i-a",
15 "sku": "001",
16 "locationId": "A",
17 "unit": "each",
18 "availableQuantity": "10",
19 "reserveFloor": "3",
20 "snapshotId": "demo-2026-10-04",
21 },
22 {
23 "rowId": "i-b",
24 "sku": "001",
25 "locationId": "B",
26 "unit": "each",
27 "availableQuantity": "0",
28 "reserveFloor": "0",
29 "snapshotId": "demo-2026-10-04",
30 },
31 {
32 "rowId": "i-c",
33 "sku": "001",
34 "locationId": "C",
35 "unit": "each",
36 "availableQuantity": "0",
37 "reserveFloor": "0",
38 "snapshotId": "demo-2026-10-04",
39 },
40 {
41 "rowId": "i-d",
42 "sku": "002",
43 "locationId": "D",
44 "unit": "each",
45 "availableQuantity": "7.25",
46 "reserveFloor": "1",
47 "snapshotId": "demo-2026-10-04",
48 },
49 {
50 "rowId": "i-e",
51 "sku": "002",
52 "locationId": "E",
53 "unit": "each",
54 "availableQuantity": "0",
55 "reserveFloor": "0",
56 "snapshotId": "demo-2026-10-04",
57 },
58 {
59 "rowId": "i-f-case",
60 "sku": "003",
61 "locationId": "F",
62 "unit": "case",
63 "availableQuantity": "15",
64 "reserveFloor": "0",
65 "snapshotId": "demo-2026-10-04",
66 },
67 {
68 "rowId": "i-g",
69 "sku": "003",
70 "locationId": "G",
71 "unit": "each",
72 "availableQuantity": "0",
73 "reserveFloor": "0",
74 "snapshotId": "demo-2026-10-04",
75 },
76 {
77 "rowId": "i-n",
78 "sku": "004",
79 "locationId": "N",
80 "unit": "each",
81 "availableQuantity": "0",
82 "reserveFloor": "0",
83 "snapshotId": "demo-2026-10-04",
84 },
85 {
86 "rowId": "i-m-old",
87 "sku": "004",
88 "locationId": "M",
89 "unit": "each",
90 "availableQuantity": "99",
91 "reserveFloor": "0",
92 "snapshotId": "previous-snapshot",
93 },
94 {
95 "rowId": "i-z",
96 "sku": "005",
97 "locationId": "Z",
98 "unit": "kg",
99 "availableQuantity": "4.5",
100 "reserveFloor": "0.5",
101 "snapshotId": "demo-2026-10-04",
102 },
103 ],
104 "inventoryCsv": "",
105 "inventoryColumns": {
106 "rowId": "rowId",
107 "sku": "sku",
108 "locationId": "locationId",
109 "unit": "unit",
110 "availableQuantity": "availableQuantity",
111 "reserveFloor": "reserveFloor",
112 "snapshotId": "snapshotId",
113 },
114 "transfers": [
115 {
116 "rowId": "t-shared-1",
117 "sku": "001",
118 "fromLocationId": "A",
119 "toLocationId": "B",
120 "unit": "each",
121 "quantity": "4",
122 "sequence": 1,
123 },
124 {
125 "rowId": "t-shared-2",
126 "sku": "001",
127 "fromLocationId": "A",
128 "toLocationId": "C",
129 "unit": "each",
130 "quantity": "4",
131 "sequence": 2,
132 },
133 {
134 "rowId": "t-valid",
135 "sku": "002",
136 "fromLocationId": "D",
137 "toLocationId": "E",
138 "unit": "each",
139 "quantity": "2.125",
140 "sequence": 3,
141 },
142 {
143 "rowId": "t-unit",
144 "sku": "003",
145 "fromLocationId": "F",
146 "toLocationId": "G",
147 "unit": "each",
148 "quantity": "1",
149 "sequence": 4,
150 },
151 {
152 "rowId": "t-missing",
153 "sku": "004",
154 "fromLocationId": "M",
155 "toLocationId": "N",
156 "unit": "each",
157 "quantity": "2",
158 "sequence": 5,
159 },
160 ],
161 "transfersCsv": "",
162 "transferColumns": {
163 "rowId": "rowId",
164 "sku": "sku",
165 "fromLocationId": "fromLocationId",
166 "toLocationId": "toLocationId",
167 "unit": "unit",
168 "quantity": "quantity",
169 "sequence": "sequence",
170 },
171}
172
173
174run = client.actor("h_murdock/stock-transfer-plan-evidence").call(run_input=run_input)
175
176
177print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
178for item in client.dataset(run.default_dataset_id).iterate_items():
179 print(item)
180
181