@proveanything/smartlinks 1.9.3 → 1.9.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/openapi.yaml CHANGED
@@ -53,6 +53,7 @@ tags:
53
53
  - name: segments
54
54
  - name: tags
55
55
  - name: template
56
+ - name: translations
56
57
  - name: variant
57
58
  security:
58
59
  - bearerAuth: []
@@ -105,115 +106,7 @@ paths:
105
106
  application/json:
106
107
  schema:
107
108
  $ref: "#/components/schemas/CollectionCreateRequest"
108
- /admin/collection//async/jobs:
109
- post:
110
- tags:
111
- - async
112
- summary: "Enqueue a background job for a collection POST /admin/collection/:collectionId/async/jobs (202)"
113
- operationId: async_enqueueAsyncJob
114
- security:
115
- - bearerAuth: []
116
- responses:
117
- 200:
118
- description: Success
119
- content:
120
- application/json:
121
- schema:
122
- $ref: "#/components/schemas/EnqueueAsyncJobResponse"
123
- 400:
124
- description: Bad request
125
- 401:
126
- description: Unauthorized
127
- 404:
128
- description: Not found
129
- requestBody:
130
- required: true
131
- content:
132
- application/json:
133
- schema:
134
- $ref: "#/components/schemas/EnqueueAsyncJobRequest"
135
- /admin/collection//async/jobs/{jobId}:
136
- get:
137
- tags:
138
- - async
139
- summary: "Enqueue a background job for a collection POST /admin/collection/:collectionId/async/jobs (202) / export async function"
140
- operationId: async_getAsyncJobStatus
141
- security:
142
- - bearerAuth: []
143
- parameters:
144
- - name: jobId
145
- in: path
146
- required: true
147
- schema:
148
- type: string
149
- responses:
150
- 200:
151
- description: Success
152
- content:
153
- application/json:
154
- schema:
155
- $ref: "#/components/schemas/Job"
156
- 400:
157
- description: Bad request
158
- 401:
159
- description: Unauthorized
160
- 404:
161
- description: Not found
162
- /admin/collection//jobs/{jobId}:
163
- get:
164
- tags:
165
- - jobs
166
- summary: "List visible jobs for a collection GET /admin/collection/:collectionId/jobs / export async function listJobs( collection"
167
- operationId: jobs_getJob
168
- security:
169
- - bearerAuth: []
170
- parameters:
171
- - name: jobId
172
- in: path
173
- required: true
174
- schema:
175
- type: string
176
- responses:
177
- 200:
178
- description: Success
179
- content:
180
- application/json:
181
- schema:
182
- $ref: "#/components/schemas/Job"
183
- 400:
184
- description: Bad request
185
- 401:
186
- description: Unauthorized
187
- 404:
188
- description: Not found
189
- /admin/collection//jobs{qs}:
190
- get:
191
- tags:
192
- - jobs
193
- summary: "List visible jobs for a collection GET /admin/collection/:collectionId/jobs"
194
- operationId: jobs_listJobs
195
- security:
196
- - bearerAuth: []
197
- parameters:
198
- - name: qs
199
- in: path
200
- required: true
201
- schema:
202
- type: string
203
- responses:
204
- 200:
205
- description: Success
206
- content:
207
- application/json:
208
- schema:
209
- $ref: "#/components/schemas/JobsPage"
210
- 400:
211
- description: Bad request
212
- 401:
213
- description: Unauthorized
214
- 404:
215
- description: Not found
216
- /admin/collection//product//batch/{batchId}:
109
+ /admin/collection/product/batch/{batchId}:
217
110
  get:
218
111
  tags:
219
112
  - batch
@@ -299,7 +192,7 @@ paths:
299
192
  description: Unauthorized
300
193
  404:
301
194
  description: Not found
302
- /admin/collection//product//variant/{variantId}:
195
+ /admin/collection/product/variant/{variantId}:
303
196
  get:
304
197
  tags:
305
198
  - variant
@@ -385,7 +278,7 @@ paths:
385
278
  description: Unauthorized
386
279
  404:
387
280
  description: Not found
388
- /admin/collection//product/{productId}/batch:
281
+ /admin/collection/product/{productId}/batch:
389
282
  get:
390
283
  tags:
391
284
  - batch
@@ -446,7 +339,7 @@ paths:
446
339
  application/json:
447
340
  schema:
448
341
  $ref: "#/components/schemas/BatchCreateRequest"
449
- /admin/collection//product/{productId}/variant:
342
+ /admin/collection/product/{productId}/variant:
450
343
  get:
451
344
  tags:
452
345
  - variant
@@ -738,6 +631,24 @@ paths:
738
631
  required: true
739
632
  schema:
740
633
  type: string
634
+ - name: provider
635
+ in: query
636
+ required: false
637
+ schema:
638
+ type: string
639
+ enum:
640
+ - gemini
641
+ - openai
642
+ - name: capability
643
+ in: query
644
+ required: false
645
+ schema:
646
+ type: string
647
+ enum:
648
+ - text
649
+ - vision
650
+ - audio
651
+ - code
741
652
  responses:
742
653
  200:
743
654
  description: Success
@@ -1033,12 +944,12 @@ paths:
1033
944
  description: Unauthorized
1034
945
  404:
1035
946
  description: Not found
1036
- /admin/collection/{collectionId}/attestations:
947
+ /admin/collection/{collectionId}/async/jobs:
1037
948
  post:
1038
949
  tags:
1039
- - attestations
1040
- summary: Create a single attestation (admin).
1041
- operationId: attestations_create
950
+ - async
951
+ summary: "Enqueue a background job for a collection POST /admin/collection/:collectionId/async/jobs (202)"
952
+ operationId: async_enqueueAsyncJob
1042
953
  security:
1043
954
  - bearerAuth: []
1044
955
  parameters:
@@ -1053,7 +964,7 @@ paths:
1053
964
  content:
1054
965
  application/json:
1055
966
  schema:
1056
- $ref: "#/components/schemas/Attestation"
967
+ $ref: "#/components/schemas/EnqueueAsyncJobResponse"
1057
968
  400:
1058
969
  description: Bad request
1059
970
  401:
@@ -1065,13 +976,13 @@ paths:
1065
976
  content:
1066
977
  application/json:
1067
978
  schema:
1068
- $ref: "#/components/schemas/CreateAttestationInput"
1069
- /admin/collection/{collectionId}/attestations/latest{qs}:
979
+ $ref: "#/components/schemas/EnqueueAsyncJobRequest"
980
+ /admin/collection/{collectionId}/async/jobs/{jobId}:
1070
981
  get:
1071
982
  tags:
1072
- - attestations
1073
- summary: "Latest snapshot one record per `attestationType` (admin)."
1074
- operationId: attestations_latest
983
+ - async
984
+ summary: "Enqueue a background job for a collection POST /admin/collection/:collectionId/async/jobs (202) / export async function"
985
+ operationId: async_getAsyncJobStatus
1075
986
  security:
1076
987
  - bearerAuth: []
1077
988
  parameters:
@@ -1080,7 +991,7 @@ paths:
1080
991
  required: true
1081
992
  schema:
1082
993
  type: string
1083
- - name: qs
994
+ - name: jobId
1084
995
  in: path
1085
996
  required: true
1086
997
  schema:
@@ -1091,19 +1002,19 @@ paths:
1091
1002
  content:
1092
1003
  application/json:
1093
1004
  schema:
1094
- $ref: "#/components/schemas/AttestationLatestResponse"
1005
+ $ref: "#/components/schemas/Job"
1095
1006
  400:
1096
1007
  description: Bad request
1097
1008
  401:
1098
1009
  description: Unauthorized
1099
1010
  404:
1100
1011
  description: Not found
1101
- /admin/collection/{collectionId}/attestations/summary{qs}:
1012
+ /admin/collection/{collectionId}/attestations:
1102
1013
  get:
1103
1014
  tags:
1104
1015
  - attestations
1105
- summary: Time-series summary of attestations (admin).
1106
- operationId: attestations_summary
1016
+ summary: List attestations for a subject (admin).
1017
+ operationId: attestations_list
1107
1018
  security:
1108
1019
  - bearerAuth: []
1109
1020
  parameters:
@@ -1112,30 +1023,59 @@ paths:
1112
1023
  required: true
1113
1024
  schema:
1114
1025
  type: string
1115
- - name: qs
1116
- in: path
1117
- required: true
1026
+ - name: subjectType
1027
+ in: query
1028
+ required: false
1029
+ schema:
1030
+ $ref: "#/components/schemas/AttestationSubjectType"
1031
+ - name: subjectId
1032
+ in: query
1033
+ required: false
1034
+ schema:
1035
+ type: string
1036
+ - name: attestationType
1037
+ in: query
1038
+ required: false
1039
+ schema:
1040
+ type: string
1041
+ - name: recordedAfter
1042
+ in: query
1043
+ required: false
1044
+ schema:
1045
+ type: string
1046
+ - name: recordedBefore
1047
+ in: query
1048
+ required: false
1118
1049
  schema:
1119
1050
  type: string
1051
+ - name: limit
1052
+ in: query
1053
+ required: false
1054
+ schema:
1055
+ type: number
1056
+ - name: offset
1057
+ in: query
1058
+ required: false
1059
+ schema:
1060
+ type: number
1120
1061
  responses:
1121
1062
  200:
1122
1063
  description: Success
1123
1064
  content:
1124
1065
  application/json:
1125
1066
  schema:
1126
- $ref: "#/components/schemas/AttestationSummaryResponse"
1067
+ $ref: "#/components/schemas/ListAttestationsResponse"
1127
1068
  400:
1128
1069
  description: Bad request
1129
1070
  401:
1130
1071
  description: Unauthorized
1131
1072
  404:
1132
1073
  description: Not found
1133
- /admin/collection/{collectionId}/attestations/tree-latest{qs}:
1134
- get:
1074
+ post:
1135
1075
  tags:
1136
1076
  - attestations
1137
- summary: Tree latest snapshot — most-recent record per type across a container subtree (admin).
1138
- operationId: attestations_treeLatest
1077
+ summary: Create a single attestation (admin).
1078
+ operationId: attestations_create
1139
1079
  security:
1140
1080
  - bearerAuth: []
1141
1081
  parameters:
@@ -1144,30 +1084,31 @@ paths:
1144
1084
  required: true
1145
1085
  schema:
1146
1086
  type: string
1147
- - name: qs
1148
- in: path
1149
- required: true
1150
- schema:
1151
- type: string
1152
1087
  responses:
1153
1088
  200:
1154
1089
  description: Success
1155
1090
  content:
1156
1091
  application/json:
1157
1092
  schema:
1158
- $ref: "#/components/schemas/AttestationTreeLatestResponse"
1093
+ $ref: "#/components/schemas/Attestation"
1159
1094
  400:
1160
1095
  description: Bad request
1161
1096
  401:
1162
1097
  description: Unauthorized
1163
1098
  404:
1164
1099
  description: Not found
1165
- /admin/collection/{collectionId}/attestations/tree-summary{qs}:
1100
+ requestBody:
1101
+ required: true
1102
+ content:
1103
+ application/json:
1104
+ schema:
1105
+ $ref: "#/components/schemas/CreateAttestationInput"
1106
+ /admin/collection/{collectionId}/attestations/latest:
1166
1107
  get:
1167
1108
  tags:
1168
1109
  - attestations
1169
- summary: Tree time-series summary aggregates across an entire container subtree (admin).
1170
- operationId: attestations_treeSummary
1110
+ summary: "Latest snapshotone record per `attestationType` (admin)."
1111
+ operationId: attestations_latest
1171
1112
  security:
1172
1113
  - bearerAuth: []
1173
1114
  parameters:
@@ -1176,9 +1117,14 @@ paths:
1176
1117
  required: true
1177
1118
  schema:
1178
1119
  type: string
1179
- - name: qs
1180
- in: path
1181
- required: true
1120
+ - name: subjectType
1121
+ in: query
1122
+ required: false
1123
+ schema:
1124
+ $ref: "#/components/schemas/AttestationSubjectType"
1125
+ - name: subjectId
1126
+ in: query
1127
+ required: false
1182
1128
  schema:
1183
1129
  type: string
1184
1130
  responses:
@@ -1187,19 +1133,19 @@ paths:
1187
1133
  content:
1188
1134
  application/json:
1189
1135
  schema:
1190
- $ref: "#/components/schemas/AttestationTreeSummaryResponse"
1136
+ $ref: "#/components/schemas/AttestationLatestResponse"
1191
1137
  400:
1192
1138
  description: Bad request
1193
1139
  401:
1194
1140
  description: Unauthorized
1195
1141
  404:
1196
1142
  description: Not found
1197
- /admin/collection/{collectionId}/attestations/verify{qs}:
1143
+ /admin/collection/{collectionId}/attestations/summary:
1198
1144
  get:
1199
1145
  tags:
1200
1146
  - attestations
1201
- summary: "Verify the hash chain for a `(subjectType, subjectId, attestationType)` tuple (admin)."
1202
- operationId: attestations_verify
1147
+ summary: Time-series summary of attestations (admin).
1148
+ operationId: attestations_summary
1203
1149
  security:
1204
1150
  - bearerAuth: []
1205
1151
  parameters:
@@ -1208,30 +1154,65 @@ paths:
1208
1154
  required: true
1209
1155
  schema:
1210
1156
  type: string
1211
- - name: qs
1212
- in: path
1213
- required: true
1157
+ - name: subjectType
1158
+ in: query
1159
+ required: false
1160
+ schema:
1161
+ $ref: "#/components/schemas/AttestationSubjectType"
1162
+ - name: subjectId
1163
+ in: query
1164
+ required: false
1165
+ schema:
1166
+ type: string
1167
+ - name: attestationType
1168
+ in: query
1169
+ required: false
1170
+ schema:
1171
+ type: string
1172
+ - name: valueField
1173
+ in: query
1174
+ required: false
1175
+ schema:
1176
+ type: string
1177
+ - name: groupBy
1178
+ in: query
1179
+ required: false
1180
+ schema:
1181
+ $ref: "#/components/schemas/AttestationGroupBy"
1182
+ - name: recordedAfter
1183
+ in: query
1184
+ required: false
1185
+ schema:
1186
+ type: string
1187
+ - name: recordedBefore
1188
+ in: query
1189
+ required: false
1214
1190
  schema:
1215
1191
  type: string
1192
+ - name: limit
1193
+ in: query
1194
+ required: false
1195
+ schema:
1196
+ type: number
1216
1197
  responses:
1217
1198
  200:
1218
1199
  description: Success
1219
1200
  content:
1220
1201
  application/json:
1221
1202
  schema:
1222
- $ref: "#/components/schemas/ChainVerifyResult"
1203
+ $ref: "#/components/schemas/AttestationSummaryResponse"
1223
1204
  400:
1224
1205
  description: Bad request
1225
1206
  401:
1226
1207
  description: Unauthorized
1227
1208
  404:
1228
1209
  description: Not found
1229
- /admin/collection/{collectionId}/attestations{qs}:
1210
+ /admin/collection/{collectionId}/attestations/tree-latest:
1230
1211
  get:
1231
1212
  tags:
1232
1213
  - attestations
1233
- summary: List attestations for a subject (admin).
1234
- operationId: attestations_list
1214
+ summary: Tree latest snapshot — most-recent record per type across a container subtree (admin).
1215
+ operationId: attestations_treeLatest
1235
1216
  security:
1236
1217
  - bearerAuth: []
1237
1218
  parameters:
@@ -1240,18 +1221,132 @@ paths:
1240
1221
  required: true
1241
1222
  schema:
1242
1223
  type: string
1243
- - name: qs
1244
- in: path
1245
- required: true
1224
+ - name: subjectId
1225
+ in: query
1226
+ required: false
1246
1227
  schema:
1247
1228
  type: string
1229
+ - name: includeItems
1230
+ in: query
1231
+ required: false
1232
+ schema:
1233
+ type: boolean
1248
1234
  responses:
1249
1235
  200:
1250
1236
  description: Success
1251
1237
  content:
1252
1238
  application/json:
1253
1239
  schema:
1254
- $ref: "#/components/schemas/ListAttestationsResponse"
1240
+ $ref: "#/components/schemas/AttestationTreeLatestResponse"
1241
+ 400:
1242
+ description: Bad request
1243
+ 401:
1244
+ description: Unauthorized
1245
+ 404:
1246
+ description: Not found
1247
+ /admin/collection/{collectionId}/attestations/tree-summary:
1248
+ get:
1249
+ tags:
1250
+ - attestations
1251
+ summary: Tree time-series summary — aggregates across an entire container subtree (admin).
1252
+ operationId: attestations_treeSummary
1253
+ security:
1254
+ - bearerAuth: []
1255
+ parameters:
1256
+ - name: collectionId
1257
+ in: path
1258
+ required: true
1259
+ schema:
1260
+ type: string
1261
+ - name: subjectId
1262
+ in: query
1263
+ required: false
1264
+ schema:
1265
+ type: string
1266
+ - name: attestationType
1267
+ in: query
1268
+ required: false
1269
+ schema:
1270
+ type: string
1271
+ - name: valueField
1272
+ in: query
1273
+ required: false
1274
+ schema:
1275
+ type: string
1276
+ - name: groupBy
1277
+ in: query
1278
+ required: false
1279
+ schema:
1280
+ $ref: "#/components/schemas/AttestationGroupBy"
1281
+ - name: recordedAfter
1282
+ in: query
1283
+ required: false
1284
+ schema:
1285
+ type: string
1286
+ - name: recordedBefore
1287
+ in: query
1288
+ required: false
1289
+ schema:
1290
+ type: string
1291
+ - name: limit
1292
+ in: query
1293
+ required: false
1294
+ schema:
1295
+ type: number
1296
+ - name: includeItems
1297
+ in: query
1298
+ required: false
1299
+ schema:
1300
+ type: boolean
1301
+ responses:
1302
+ 200:
1303
+ description: Success
1304
+ content:
1305
+ application/json:
1306
+ schema:
1307
+ $ref: "#/components/schemas/AttestationTreeSummaryResponse"
1308
+ 400:
1309
+ description: Bad request
1310
+ 401:
1311
+ description: Unauthorized
1312
+ 404:
1313
+ description: Not found
1314
+ /admin/collection/{collectionId}/attestations/verify:
1315
+ get:
1316
+ tags:
1317
+ - attestations
1318
+ summary: "Verify the hash chain for a `(subjectType, subjectId, attestationType)` tuple (admin)."
1319
+ operationId: attestations_verify
1320
+ security:
1321
+ - bearerAuth: []
1322
+ parameters:
1323
+ - name: collectionId
1324
+ in: path
1325
+ required: true
1326
+ schema:
1327
+ type: string
1328
+ - name: subjectType
1329
+ in: query
1330
+ required: false
1331
+ schema:
1332
+ $ref: "#/components/schemas/AttestationSubjectType"
1333
+ - name: subjectId
1334
+ in: query
1335
+ required: false
1336
+ schema:
1337
+ type: string
1338
+ - name: attestationType
1339
+ in: query
1340
+ required: false
1341
+ schema:
1342
+ type: string
1343
+ responses:
1344
+ 200:
1345
+ description: Success
1346
+ content:
1347
+ application/json:
1348
+ schema:
1349
+ $ref: "#/components/schemas/ChainVerifyResult"
1255
1350
  400:
1256
1351
  description: Bad request
1257
1352
  401:
@@ -1394,6 +1489,21 @@ paths:
1394
1489
  required: true
1395
1490
  schema:
1396
1491
  type: string
1492
+ - name: search
1493
+ in: query
1494
+ required: false
1495
+ schema:
1496
+ type: string
1497
+ - name: productId
1498
+ in: query
1499
+ required: false
1500
+ schema:
1501
+ type: string
1502
+ - name: limit
1503
+ in: query
1504
+ required: false
1505
+ schema:
1506
+ type: number
1397
1507
  responses:
1398
1508
  200:
1399
1509
  description: Success
@@ -1489,6 +1599,21 @@ paths:
1489
1599
  required: true
1490
1600
  schema:
1491
1601
  type: string
1602
+ - name: limit
1603
+ in: query
1604
+ required: false
1605
+ schema:
1606
+ type: number
1607
+ - name: offset
1608
+ in: query
1609
+ required: false
1610
+ schema:
1611
+ type: number
1612
+ - name: appId
1613
+ in: query
1614
+ required: false
1615
+ schema:
1616
+ type: string
1492
1617
  responses:
1493
1618
  200:
1494
1619
  description: Success
@@ -1743,7 +1868,7 @@ paths:
1743
1868
  application/json:
1744
1869
  schema:
1745
1870
  $ref: "#/components/schemas/BroadcastPreviewRequest"
1746
- /admin/collection/{collectionId}/broadcasts/{id}/recipients{qs}:
1871
+ /admin/collection/{collectionId}/broadcasts/{id}/recipients:
1747
1872
  get:
1748
1873
  tags:
1749
1874
  - broadcasts
@@ -1762,11 +1887,6 @@ paths:
1762
1887
  required: true
1763
1888
  schema:
1764
1889
  type: string
1765
- - name: qs
1766
- in: path
1767
- required: true
1768
- schema:
1769
- type: string
1770
1890
  responses:
1771
1891
  200:
1772
1892
  description: Success
@@ -1934,7 +2054,7 @@ paths:
1934
2054
  description: Unauthorized
1935
2055
  404:
1936
2056
  description: Not found
1937
- /admin/collection/{collectionId}/claimSet//assignClaims:
2057
+ /admin/collection/{collectionId}/claimSet/assignClaims:
1938
2058
  post:
1939
2059
  tags:
1940
2060
  - claimSet
@@ -1966,7 +2086,7 @@ paths:
1966
2086
  application/json:
1967
2087
  schema:
1968
2088
  $ref: "#/components/schemas/AssignClaimsRequest"
1969
- /admin/collection/{collectionId}/claimSet//makeClaim:
2089
+ /admin/collection/{collectionId}/claimSet/makeClaim:
1970
2090
  post:
1971
2091
  tags:
1972
2092
  - claimSet
@@ -2236,11 +2356,11 @@ paths:
2236
2356
  schema:
2237
2357
  $ref: "#/components/schemas/TransactionalSendRequest"
2238
2358
  /admin/collection/{collectionId}/comm.settings:
2239
- patch:
2359
+ get:
2240
2360
  tags:
2241
2361
  - comms
2242
- summary: "Admin: Get current comms settings for a collection."
2243
- operationId: comms_patchSettings
2362
+ summary: "Public: Register a Web Push subscription under unified comms."
2363
+ operationId: comms_getSettings
2244
2364
  security:
2245
2365
  - bearerAuth: []
2246
2366
  parameters:
@@ -2249,6 +2369,11 @@ paths:
2249
2369
  required: true
2250
2370
  schema:
2251
2371
  type: string
2372
+ - name: includeSecret
2373
+ in: query
2374
+ required: false
2375
+ schema:
2376
+ type: string
2252
2377
  responses:
2253
2378
  200:
2254
2379
  description: Success
@@ -2263,19 +2388,11 @@ paths:
2263
2388
  description: Unauthorized
2264
2389
  404:
2265
2390
  description: Not found
2266
- requestBody:
2267
- required: true
2268
- content:
2269
- application/json:
2270
- schema:
2271
- type: object
2272
- additionalProperties: true
2273
- /admin/collection/{collectionId}/comm.settings{qs}:
2274
- get:
2391
+ patch:
2275
2392
  tags:
2276
2393
  - comms
2277
- summary: "Public: Register a Web Push subscription under unified comms."
2278
- operationId: comms_getSettings
2394
+ summary: "Admin: Get current comms settings for a collection."
2395
+ operationId: comms_patchSettings
2279
2396
  security:
2280
2397
  - bearerAuth: []
2281
2398
  parameters:
@@ -2284,16 +2401,6 @@ paths:
2284
2401
  required: true
2285
2402
  schema:
2286
2403
  type: string
2287
- - name: qs
2288
- in: path
2289
- required: true
2290
- schema:
2291
- type: string
2292
- - name: includeSecret
2293
- in: query
2294
- required: false
2295
- schema:
2296
- type: string
2297
2404
  responses:
2298
2405
  200:
2299
2406
  description: Success
@@ -2308,6 +2415,13 @@ paths:
2308
2415
  description: Unauthorized
2309
2416
  404:
2310
2417
  description: Not found
2418
+ requestBody:
2419
+ required: true
2420
+ content:
2421
+ application/json:
2422
+ schema:
2423
+ type: object
2424
+ additionalProperties: true
2311
2425
  /admin/collection/{collectionId}/comm/log:
2312
2426
  post:
2313
2427
  tags:
@@ -2801,6 +2915,67 @@ paths:
2801
2915
  404:
2802
2916
  description: Not found
2803
2917
  /admin/collection/{collectionId}/containers:
2918
+ get:
2919
+ tags:
2920
+ - containers
2921
+ summary: List containers (admin).
2922
+ operationId: containers_list
2923
+ security:
2924
+ - bearerAuth: []
2925
+ parameters:
2926
+ - name: collectionId
2927
+ in: path
2928
+ required: true
2929
+ schema:
2930
+ type: string
2931
+ - name: containerType
2932
+ in: query
2933
+ required: false
2934
+ schema:
2935
+ type: string
2936
+ - name: status
2937
+ in: query
2938
+ required: false
2939
+ schema:
2940
+ $ref: "#/components/schemas/ContainerStatus"
2941
+ - name: ref
2942
+ in: query
2943
+ required: false
2944
+ schema:
2945
+ type: string
2946
+ - name: parentContainerId
2947
+ in: query
2948
+ required: false
2949
+ schema:
2950
+ type: string
2951
+ - name: topLevel
2952
+ in: query
2953
+ required: false
2954
+ schema:
2955
+ type: boolean
2956
+ - name: limit
2957
+ in: query
2958
+ required: false
2959
+ schema:
2960
+ type: number
2961
+ - name: offset
2962
+ in: query
2963
+ required: false
2964
+ schema:
2965
+ type: number
2966
+ responses:
2967
+ 200:
2968
+ description: Success
2969
+ content:
2970
+ application/json:
2971
+ schema:
2972
+ $ref: "#/components/schemas/ListContainersResponse"
2973
+ 400:
2974
+ description: Bad request
2975
+ 401:
2976
+ description: Unauthorized
2977
+ 404:
2978
+ description: Not found
2804
2979
  post:
2805
2980
  tags:
2806
2981
  - containers
@@ -2833,7 +3008,7 @@ paths:
2833
3008
  application/json:
2834
3009
  schema:
2835
3010
  $ref: "#/components/schemas/CreateContainerInput"
2836
- /admin/collection/{collectionId}/containers/find-for-item{qs}:
3011
+ /admin/collection/{collectionId}/containers/find-for-item:
2837
3012
  get:
2838
3013
  tags:
2839
3014
  - containers
@@ -2847,9 +3022,14 @@ paths:
2847
3022
  required: true
2848
3023
  schema:
2849
3024
  type: string
2850
- - name: qs
2851
- in: path
2852
- required: true
3025
+ - name: itemType
3026
+ in: query
3027
+ required: false
3028
+ schema:
3029
+ $ref: "#/components/schemas/ContainerItemType"
3030
+ - name: itemId
3031
+ in: query
3032
+ required: false
2853
3033
  schema:
2854
3034
  type: string
2855
3035
  responses:
@@ -2866,11 +3046,11 @@ paths:
2866
3046
  404:
2867
3047
  description: Not found
2868
3048
  /admin/collection/{collectionId}/containers/{containerId}:
2869
- patch:
3049
+ get:
2870
3050
  tags:
2871
3051
  - containers
2872
- summary: Partially update a container (admin).
2873
- operationId: containers_update
3052
+ summary: Get a single container by ID (admin).
3053
+ operationId: containers_get
2874
3054
  security:
2875
3055
  - bearerAuth: []
2876
3056
  parameters:
@@ -2884,62 +3064,39 @@ paths:
2884
3064
  required: true
2885
3065
  schema:
2886
3066
  type: string
2887
- responses:
2888
- 200:
2889
- description: Success
2890
- content:
2891
- application/json:
2892
- schema:
2893
- $ref: "#/components/schemas/Container"
2894
- 400:
2895
- description: Bad request
2896
- 401:
2897
- description: Unauthorized
2898
- 404:
2899
- description: Not found
2900
- requestBody:
2901
- required: true
2902
- content:
2903
- application/json:
2904
- schema:
2905
- $ref: "#/components/schemas/UpdateContainerInput"
2906
- /admin/collection/{collectionId}/containers/{containerId}/items:
2907
- get:
2908
- tags:
2909
- - containers
2910
- summary: Soft-remove items from a container (admin).
2911
- operationId: containers_removeItems
2912
- security:
2913
- - bearerAuth: []
2914
- parameters:
2915
- - name: collectionId
2916
- in: path
2917
- required: true
3067
+ - name: tree
3068
+ in: query
3069
+ required: false
2918
3070
  schema:
2919
- type: string
2920
- - name: containerId
2921
- in: path
2922
- required: true
3071
+ type: boolean
3072
+ - name: treeDepth
3073
+ in: query
3074
+ required: false
2923
3075
  schema:
2924
- type: string
3076
+ type: number
3077
+ - name: includeContents
3078
+ in: query
3079
+ required: false
3080
+ schema:
3081
+ type: boolean
2925
3082
  responses:
2926
3083
  200:
2927
3084
  description: Success
2928
3085
  content:
2929
3086
  application/json:
2930
3087
  schema:
2931
- $ref: "#/components/schemas/RemoveContainerItemsResponse"
3088
+ $ref: "#/components/schemas/Container"
2932
3089
  400:
2933
3090
  description: Bad request
2934
3091
  401:
2935
3092
  description: Unauthorized
2936
3093
  404:
2937
3094
  description: Not found
2938
- post:
3095
+ patch:
2939
3096
  tags:
2940
3097
  - containers
2941
- summary: Add one or more items to a container (admin).
2942
- operationId: containers_addItems
3098
+ summary: Partially update a container (admin).
3099
+ operationId: containers_update
2943
3100
  security:
2944
3101
  - bearerAuth: []
2945
3102
  parameters:
@@ -2959,7 +3116,7 @@ paths:
2959
3116
  content:
2960
3117
  application/json:
2961
3118
  schema:
2962
- $ref: "#/components/schemas/AddContainerItemsResponse"
3119
+ $ref: "#/components/schemas/Container"
2963
3120
  400:
2964
3121
  description: Bad request
2965
3122
  401:
@@ -2971,8 +3128,8 @@ paths:
2971
3128
  content:
2972
3129
  application/json:
2973
3130
  schema:
2974
- $ref: "#/components/schemas/AddContainerItemsInput"
2975
- /admin/collection/{collectionId}/containers/{containerId}/items{qs}:
3131
+ $ref: "#/components/schemas/UpdateContainerInput"
3132
+ /admin/collection/{collectionId}/containers/{containerId}/items:
2976
3133
  get:
2977
3134
  tags:
2978
3135
  - containers
@@ -2991,67 +3148,39 @@ paths:
2991
3148
  required: true
2992
3149
  schema:
2993
3150
  type: string
2994
- - name: qs
2995
- in: path
2996
- required: true
2997
- schema:
2998
- type: string
2999
- responses:
3000
- 200:
3001
- description: Success
3002
- content:
3003
- application/json:
3004
- schema:
3005
- $ref: "#/components/schemas/ContainerItemsResponse"
3006
- 400:
3007
- description: Bad request
3008
- 401:
3009
- description: Unauthorized
3010
- 404:
3011
- description: Not found
3012
- /admin/collection/{collectionId}/containers/{containerId}{qs}:
3013
- get:
3014
- tags:
3015
- - containers
3016
- summary: Get a single container by ID (admin).
3017
- operationId: containers_get
3018
- security:
3019
- - bearerAuth: []
3020
- parameters:
3021
- - name: collectionId
3022
- in: path
3023
- required: true
3151
+ - name: history
3152
+ in: query
3153
+ required: false
3024
3154
  schema:
3025
- type: string
3026
- - name: containerId
3027
- in: path
3028
- required: true
3155
+ type: boolean
3156
+ - name: limit
3157
+ in: query
3158
+ required: false
3029
3159
  schema:
3030
- type: string
3031
- - name: qs
3032
- in: path
3033
- required: true
3160
+ type: number
3161
+ - name: offset
3162
+ in: query
3163
+ required: false
3034
3164
  schema:
3035
- type: string
3165
+ type: number
3036
3166
  responses:
3037
3167
  200:
3038
3168
  description: Success
3039
3169
  content:
3040
3170
  application/json:
3041
3171
  schema:
3042
- $ref: "#/components/schemas/Container"
3172
+ $ref: "#/components/schemas/ContainerItemsResponse"
3043
3173
  400:
3044
3174
  description: Bad request
3045
3175
  401:
3046
3176
  description: Unauthorized
3047
3177
  404:
3048
3178
  description: Not found
3049
- /admin/collection/{collectionId}/containers{qs}:
3050
- get:
3179
+ post:
3051
3180
  tags:
3052
3181
  - containers
3053
- summary: List containers (admin).
3054
- operationId: containers_list
3182
+ summary: Add one or more items to a container (admin).
3183
+ operationId: containers_addItems
3055
3184
  security:
3056
3185
  - bearerAuth: []
3057
3186
  parameters:
@@ -3060,7 +3189,7 @@ paths:
3060
3189
  required: true
3061
3190
  schema:
3062
3191
  type: string
3063
- - name: qs
3192
+ - name: containerId
3064
3193
  in: path
3065
3194
  required: true
3066
3195
  schema:
@@ -3071,13 +3200,19 @@ paths:
3071
3200
  content:
3072
3201
  application/json:
3073
3202
  schema:
3074
- $ref: "#/components/schemas/ListContainersResponse"
3203
+ $ref: "#/components/schemas/AddContainerItemsResponse"
3075
3204
  400:
3076
3205
  description: Bad request
3077
3206
  401:
3078
3207
  description: Unauthorized
3079
3208
  404:
3080
3209
  description: Not found
3210
+ requestBody:
3211
+ required: true
3212
+ content:
3213
+ application/json:
3214
+ schema:
3215
+ $ref: "#/components/schemas/AddContainerItemsInput"
3081
3216
  /admin/collection/{collectionId}/crate:
3082
3217
  get:
3083
3218
  tags:
@@ -3092,6 +3227,21 @@ paths:
3092
3227
  required: true
3093
3228
  schema:
3094
3229
  type: string
3230
+ - name: limit
3231
+ in: query
3232
+ required: false
3233
+ schema:
3234
+ type: number
3235
+ - name: startAfter
3236
+ in: query
3237
+ required: false
3238
+ schema:
3239
+ type: string
3240
+ - name: includeDeleted
3241
+ in: query
3242
+ required: false
3243
+ schema:
3244
+ type: boolean
3095
3245
  responses:
3096
3246
  200:
3097
3247
  description: Success
@@ -3251,6 +3401,27 @@ paths:
3251
3401
  required: true
3252
3402
  schema:
3253
3403
  type: string
3404
+ - name: includeValues
3405
+ in: query
3406
+ required: false
3407
+ schema:
3408
+ type: boolean
3409
+ - name: includeDeleted
3410
+ in: query
3411
+ required: false
3412
+ schema:
3413
+ type: boolean
3414
+ - name: kind
3415
+ in: query
3416
+ required: false
3417
+ schema:
3418
+ type: object
3419
+ additionalProperties: true
3420
+ - name: reserved
3421
+ in: query
3422
+ required: false
3423
+ schema:
3424
+ type: boolean
3254
3425
  responses:
3255
3426
  200:
3256
3427
  description: Success
@@ -3348,6 +3519,16 @@ paths:
3348
3519
  required: true
3349
3520
  schema:
3350
3521
  type: string
3522
+ - name: includeValues
3523
+ in: query
3524
+ required: false
3525
+ schema:
3526
+ type: boolean
3527
+ - name: includeDeleted
3528
+ in: query
3529
+ required: false
3530
+ schema:
3531
+ type: boolean
3351
3532
  responses:
3352
3533
  200:
3353
3534
  description: Success
@@ -3449,6 +3630,11 @@ paths:
3449
3630
  required: true
3450
3631
  schema:
3451
3632
  type: string
3633
+ - name: includeDeleted
3634
+ in: query
3635
+ required: false
3636
+ schema:
3637
+ type: boolean
3452
3638
  responses:
3453
3639
  200:
3454
3640
  description: Success
@@ -3523,6 +3709,11 @@ paths:
3523
3709
  required: true
3524
3710
  schema:
3525
3711
  type: string
3712
+ - name: includeDeleted
3713
+ in: query
3714
+ required: false
3715
+ schema:
3716
+ type: boolean
3526
3717
  responses:
3527
3718
  200:
3528
3719
  description: Success
@@ -3731,6 +3922,47 @@ paths:
3731
3922
  404:
3732
3923
  description: Not found
3733
3924
  /admin/collection/{collectionId}/interactions:
3925
+ get:
3926
+ tags:
3927
+ - interactions
3928
+ summary: interactions.list
3929
+ operationId: interactions_list
3930
+ security:
3931
+ - bearerAuth: []
3932
+ parameters:
3933
+ - name: collectionId
3934
+ in: path
3935
+ required: true
3936
+ schema:
3937
+ type: string
3938
+ - name: appId
3939
+ in: query
3940
+ required: false
3941
+ schema:
3942
+ type: string
3943
+ - name: limit
3944
+ in: query
3945
+ required: false
3946
+ schema:
3947
+ type: number
3948
+ - name: offset
3949
+ in: query
3950
+ required: false
3951
+ schema:
3952
+ type: number
3953
+ responses:
3954
+ 200:
3955
+ description: Success
3956
+ content:
3957
+ application/json:
3958
+ schema:
3959
+ $ref: "#/components/schemas/InteractionTypeList"
3960
+ 400:
3961
+ description: Bad request
3962
+ 401:
3963
+ description: Unauthorized
3964
+ 404:
3965
+ description: Not found
3734
3966
  post:
3735
3967
  tags:
3736
3968
  - interactions
@@ -3967,12 +4199,12 @@ paths:
3967
4199
  description: Unauthorized
3968
4200
  404:
3969
4201
  description: Not found
3970
- /admin/collection/{collectionId}/interactions/{qs}:
4202
+ /admin/collection/{collectionId}/jobs:
3971
4203
  get:
3972
4204
  tags:
3973
- - interactions
3974
- summary: interactions.list
3975
- operationId: interactions_list
4205
+ - jobs
4206
+ summary: "List visible jobs for a collection GET /admin/collection/:collectionId/jobs"
4207
+ operationId: jobs_listJobs
3976
4208
  security:
3977
4209
  - bearerAuth: []
3978
4210
  parameters:
@@ -3981,9 +4213,34 @@ paths:
3981
4213
  required: true
3982
4214
  schema:
3983
4215
  type: string
3984
- - name: qs
3985
- in: path
3986
- required: true
4216
+ - name: state
4217
+ in: query
4218
+ required: false
4219
+ schema:
4220
+ $ref: "#/components/schemas/JobStatus"
4221
+ - name: task
4222
+ in: query
4223
+ required: false
4224
+ schema:
4225
+ type: string
4226
+ - name: limit
4227
+ in: query
4228
+ required: false
4229
+ schema:
4230
+ type: number
4231
+ - name: offset
4232
+ in: query
4233
+ required: false
4234
+ schema:
4235
+ type: number
4236
+ - name: from
4237
+ in: query
4238
+ required: false
4239
+ schema:
4240
+ type: string
4241
+ - name: to
4242
+ in: query
4243
+ required: false
3987
4244
  schema:
3988
4245
  type: string
3989
4246
  responses:
@@ -3992,19 +4249,19 @@ paths:
3992
4249
  content:
3993
4250
  application/json:
3994
4251
  schema:
3995
- $ref: "#/components/schemas/InteractionTypeList"
4252
+ $ref: "#/components/schemas/JobsPage"
3996
4253
  400:
3997
4254
  description: Bad request
3998
4255
  401:
3999
4256
  description: Unauthorized
4000
4257
  404:
4001
4258
  description: Not found
4002
- /admin/collection/{collectionId}/journeys:
4259
+ /admin/collection/{collectionId}/jobs/{jobId}:
4003
4260
  get:
4004
4261
  tags:
4005
- - journeys
4006
- summary: journeys.list
4007
- operationId: journeys_list
4262
+ - jobs
4263
+ summary: "List visible jobs for a collection GET /admin/collection/:collectionId/jobs / export async function listJobs( collection"
4264
+ operationId: jobs_getJob
4008
4265
  security:
4009
4266
  - bearerAuth: []
4010
4267
  parameters:
@@ -4013,24 +4270,84 @@ paths:
4013
4270
  required: true
4014
4271
  schema:
4015
4272
  type: string
4273
+ - name: jobId
4274
+ in: path
4275
+ required: true
4276
+ schema:
4277
+ type: string
4016
4278
  responses:
4017
4279
  200:
4018
4280
  description: Success
4019
4281
  content:
4020
4282
  application/json:
4021
4283
  schema:
4022
- $ref: "#/components/schemas/JourneyList"
4284
+ $ref: "#/components/schemas/Job"
4023
4285
  400:
4024
4286
  description: Bad request
4025
4287
  401:
4026
4288
  description: Unauthorized
4027
4289
  404:
4028
4290
  description: Not found
4029
- post:
4291
+ /admin/collection/{collectionId}/journeys:
4292
+ get:
4030
4293
  tags:
4031
4294
  - journeys
4032
- summary: journeys.create
4033
- operationId: journeys_create
4295
+ summary: journeys.list
4296
+ operationId: journeys_list
4297
+ security:
4298
+ - bearerAuth: []
4299
+ parameters:
4300
+ - name: collectionId
4301
+ in: path
4302
+ required: true
4303
+ schema:
4304
+ type: string
4305
+ - name: appId
4306
+ in: query
4307
+ required: false
4308
+ schema:
4309
+ type: string
4310
+ - name: active
4311
+ in: query
4312
+ required: false
4313
+ schema:
4314
+ type: boolean
4315
+ - name: journeyType
4316
+ in: query
4317
+ required: false
4318
+ schema:
4319
+ type: string
4320
+ enum:
4321
+ - event_triggered
4322
+ - scheduled
4323
+ - name: limit
4324
+ in: query
4325
+ required: false
4326
+ schema:
4327
+ type: number
4328
+ - name: offset
4329
+ in: query
4330
+ required: false
4331
+ schema:
4332
+ type: number
4333
+ responses:
4334
+ 200:
4335
+ description: Success
4336
+ content:
4337
+ application/json:
4338
+ schema:
4339
+ $ref: "#/components/schemas/JourneyList"
4340
+ 400:
4341
+ description: Bad request
4342
+ 401:
4343
+ description: Unauthorized
4344
+ 404:
4345
+ description: Not found
4346
+ post:
4347
+ tags:
4348
+ - journeys
4349
+ summary: journeys.create
4350
+ operationId: journeys_create
4034
4351
  security:
4035
4352
  - bearerAuth: []
4036
4353
  parameters:
@@ -4311,7 +4628,7 @@ paths:
4311
4628
  application/json:
4312
4629
  schema:
4313
4630
  $ref: "#/components/schemas/LocationPayload"
4314
- /admin/collection/{collectionId}/location/search{qs}:
4631
+ /admin/collection/{collectionId}/location/search:
4315
4632
  get:
4316
4633
  tags:
4317
4634
  - location
@@ -4325,11 +4642,40 @@ paths:
4325
4642
  required: true
4326
4643
  schema:
4327
4644
  type: string
4328
- - name: qs
4329
- in: path
4330
- required: true
4645
+ - name: q
4646
+ in: query
4647
+ required: false
4648
+ schema:
4649
+ type: string
4650
+ - name: category
4651
+ in: query
4652
+ required: false
4653
+ schema:
4654
+ type: string
4655
+ - name: countryCode
4656
+ in: query
4657
+ required: false
4658
+ schema:
4659
+ type: string
4660
+ - name: countryName
4661
+ in: query
4662
+ required: false
4663
+ schema:
4664
+ type: string
4665
+ - name: limit
4666
+ in: query
4667
+ required: false
4668
+ schema:
4669
+ type: number
4670
+ - name: sort
4671
+ in: query
4672
+ required: false
4331
4673
  schema:
4332
4674
  type: string
4675
+ enum:
4676
+ - name
4677
+ - countryCode
4678
+ - countryName
4333
4679
  responses:
4334
4680
  200:
4335
4681
  description: Success
@@ -4815,6 +5161,36 @@ paths:
4815
5161
  required: true
4816
5162
  schema:
4817
5163
  type: string
5164
+ - name: limit
5165
+ in: query
5166
+ required: false
5167
+ schema:
5168
+ type: number
5169
+ - name: offset
5170
+ in: query
5171
+ required: false
5172
+ schema:
5173
+ type: number
5174
+ - name: status
5175
+ in: query
5176
+ required: false
5177
+ schema:
5178
+ type: string
5179
+ - name: orderRef
5180
+ in: query
5181
+ required: false
5182
+ schema:
5183
+ type: string
5184
+ - name: customerId
5185
+ in: query
5186
+ required: false
5187
+ schema:
5188
+ type: string
5189
+ - name: includeItems
5190
+ in: query
5191
+ required: false
5192
+ schema:
5193
+ type: boolean
4818
5194
  responses:
4819
5195
  200:
4820
5196
  description: Success
@@ -5058,6 +5434,16 @@ paths:
5058
5434
  required: true
5059
5435
  schema:
5060
5436
  type: string
5437
+ - name: limit
5438
+ in: query
5439
+ required: false
5440
+ schema:
5441
+ type: number
5442
+ - name: offset
5443
+ in: query
5444
+ required: false
5445
+ schema:
5446
+ type: number
5061
5447
  responses:
5062
5448
  200:
5063
5449
  description: Success
@@ -5123,6 +5509,21 @@ paths:
5123
5509
  required: true
5124
5510
  schema:
5125
5511
  type: string
5512
+ - name: limit
5513
+ in: query
5514
+ required: false
5515
+ schema:
5516
+ type: number
5517
+ - name: offset
5518
+ in: query
5519
+ required: false
5520
+ schema:
5521
+ type: number
5522
+ - name: includeItems
5523
+ in: query
5524
+ required: false
5525
+ schema:
5526
+ type: boolean
5126
5527
  responses:
5127
5528
  200:
5128
5529
  description: Success
@@ -5155,6 +5556,21 @@ paths:
5155
5556
  required: true
5156
5557
  schema:
5157
5558
  type: string
5559
+ - name: limit
5560
+ in: query
5561
+ required: false
5562
+ schema:
5563
+ type: number
5564
+ - name: offset
5565
+ in: query
5566
+ required: false
5567
+ schema:
5568
+ type: number
5569
+ - name: includeOrder
5570
+ in: query
5571
+ required: false
5572
+ schema:
5573
+ type: boolean
5158
5574
  responses:
5159
5575
  200:
5160
5576
  description: Success
@@ -5215,6 +5631,66 @@ paths:
5215
5631
  required: true
5216
5632
  schema:
5217
5633
  type: string
5634
+ - name: groupByStatus
5635
+ in: query
5636
+ required: false
5637
+ schema:
5638
+ type: boolean
5639
+ - name: groupByCollection
5640
+ in: query
5641
+ required: false
5642
+ schema:
5643
+ type: boolean
5644
+ - name: groupByCustomer
5645
+ in: query
5646
+ required: false
5647
+ schema:
5648
+ type: boolean
5649
+ - name: groupByDate
5650
+ in: query
5651
+ required: false
5652
+ schema:
5653
+ type: boolean
5654
+ - name: groupByItemType
5655
+ in: query
5656
+ required: false
5657
+ schema:
5658
+ type: boolean
5659
+ - name: groupByProduct
5660
+ in: query
5661
+ required: false
5662
+ schema:
5663
+ type: boolean
5664
+ - name: includeItemStats
5665
+ in: query
5666
+ required: false
5667
+ schema:
5668
+ type: boolean
5669
+ - name: includeCount
5670
+ in: query
5671
+ required: false
5672
+ schema:
5673
+ type: boolean
5674
+ - name: topN
5675
+ in: query
5676
+ required: false
5677
+ schema:
5678
+ type: number
5679
+ - name: status
5680
+ in: query
5681
+ required: false
5682
+ schema:
5683
+ type: string
5684
+ - name: createdAfter
5685
+ in: query
5686
+ required: false
5687
+ schema:
5688
+ type: string
5689
+ - name: createdBefore
5690
+ in: query
5691
+ required: false
5692
+ schema:
5693
+ type: string
5218
5694
  responses:
5219
5695
  200:
5220
5696
  description: Success
@@ -5247,6 +5723,11 @@ paths:
5247
5723
  required: true
5248
5724
  schema:
5249
5725
  type: string
5726
+ - name: includeItems
5727
+ in: query
5728
+ required: false
5729
+ schema:
5730
+ type: boolean
5250
5731
  responses:
5251
5732
  200:
5252
5733
  description: Success
@@ -5347,6 +5828,16 @@ paths:
5347
5828
  required: true
5348
5829
  schema:
5349
5830
  type: string
5831
+ - name: limit
5832
+ in: query
5833
+ required: false
5834
+ schema:
5835
+ type: number
5836
+ - name: offset
5837
+ in: query
5838
+ required: false
5839
+ schema:
5840
+ type: number
5350
5841
  responses:
5351
5842
  200:
5352
5843
  description: Success
@@ -6615,6 +7106,29 @@ paths:
6615
7106
  required: true
6616
7107
  schema:
6617
7108
  type: string
7109
+ - name: appId
7110
+ in: query
7111
+ required: false
7112
+ schema:
7113
+ type: string
7114
+ - name: filterType
7115
+ in: query
7116
+ required: false
7117
+ schema:
7118
+ type: string
7119
+ enum:
7120
+ - dynamic
7121
+ - static
7122
+ - name: limit
7123
+ in: query
7124
+ required: false
7125
+ schema:
7126
+ type: number
7127
+ - name: offset
7128
+ in: query
7129
+ required: false
7130
+ schema:
7131
+ type: number
6618
7132
  responses:
6619
7133
  200:
6620
7134
  description: Success
@@ -6874,6 +7388,41 @@ paths:
6874
7388
  required: true
6875
7389
  schema:
6876
7390
  type: string
7391
+ - name: limit
7392
+ in: query
7393
+ required: false
7394
+ schema:
7395
+ type: number
7396
+ - name: offset
7397
+ in: query
7398
+ required: false
7399
+ schema:
7400
+ type: number
7401
+ - name: productId
7402
+ in: query
7403
+ required: false
7404
+ schema:
7405
+ type: string
7406
+ - name: variantId
7407
+ in: query
7408
+ required: false
7409
+ schema:
7410
+ type: string
7411
+ - name: batchId
7412
+ in: query
7413
+ required: false
7414
+ schema:
7415
+ type: string
7416
+ - name: refType
7417
+ in: query
7418
+ required: false
7419
+ schema:
7420
+ type: string
7421
+ - name: refId
7422
+ in: query
7423
+ required: false
7424
+ schema:
7425
+ type: string
6877
7426
  responses:
6878
7427
  200:
6879
7428
  description: Success
@@ -6966,7 +7515,22 @@ paths:
6966
7515
  required: true
6967
7516
  schema:
6968
7517
  type: string
6969
- responses:
7518
+ - name: refType
7519
+ in: query
7520
+ required: false
7521
+ schema:
7522
+ type: string
7523
+ - name: refId
7524
+ in: query
7525
+ required: false
7526
+ schema:
7527
+ type: string
7528
+ - name: embed
7529
+ in: query
7530
+ required: false
7531
+ schema:
7532
+ type: string
7533
+ responses:
6970
7534
  200:
6971
7535
  description: Success
6972
7536
  content:
@@ -7280,6 +7844,142 @@ paths:
7280
7844
  application/json:
7281
7845
  schema:
7282
7846
  $ref: "#/components/schemas/TemplateRenderRequest"
7847
+ /admin/collection/{collectionId}/translations:
7848
+ get:
7849
+ tags:
7850
+ - translations
7851
+ summary: translations.list
7852
+ operationId: translations_list
7853
+ security:
7854
+ - bearerAuth: []
7855
+ parameters:
7856
+ - name: collectionId
7857
+ in: path
7858
+ required: true
7859
+ schema:
7860
+ type: string
7861
+ - name: targetLanguage
7862
+ in: query
7863
+ required: false
7864
+ schema:
7865
+ type: string
7866
+ - name: sourceLanguage
7867
+ in: query
7868
+ required: false
7869
+ schema:
7870
+ type: string
7871
+ - name: contentType
7872
+ in: query
7873
+ required: false
7874
+ schema:
7875
+ type: string
7876
+ - name: contextKey
7877
+ in: query
7878
+ required: false
7879
+ schema:
7880
+ type: string
7881
+ - name: q
7882
+ in: query
7883
+ required: false
7884
+ schema:
7885
+ type: string
7886
+ - name: isOverride
7887
+ in: query
7888
+ required: false
7889
+ schema:
7890
+ type: boolean
7891
+ - name: limit
7892
+ in: query
7893
+ required: false
7894
+ schema:
7895
+ type: number
7896
+ - name: offset
7897
+ in: query
7898
+ required: false
7899
+ schema:
7900
+ type: number
7901
+ responses:
7902
+ 200:
7903
+ description: Success
7904
+ content:
7905
+ application/json:
7906
+ schema:
7907
+ $ref: "#/components/schemas/TranslationListResponse"
7908
+ 400:
7909
+ description: Bad request
7910
+ 401:
7911
+ description: Unauthorized
7912
+ 404:
7913
+ description: Not found
7914
+ /admin/collection/{collectionId}/translations/{translationId}:
7915
+ get:
7916
+ tags:
7917
+ - translations
7918
+ summary: translations.get
7919
+ operationId: translations_get
7920
+ security:
7921
+ - bearerAuth: []
7922
+ parameters:
7923
+ - name: collectionId
7924
+ in: path
7925
+ required: true
7926
+ schema:
7927
+ type: string
7928
+ - name: translationId
7929
+ in: path
7930
+ required: true
7931
+ schema:
7932
+ type: string
7933
+ responses:
7934
+ 200:
7935
+ description: Success
7936
+ content:
7937
+ application/json:
7938
+ schema:
7939
+ $ref: "#/components/schemas/TranslationRecord"
7940
+ 400:
7941
+ description: Bad request
7942
+ 401:
7943
+ description: Unauthorized
7944
+ 404:
7945
+ description: Not found
7946
+ patch:
7947
+ tags:
7948
+ - translations
7949
+ summary: translations.update
7950
+ operationId: translations_update
7951
+ security:
7952
+ - bearerAuth: []
7953
+ parameters:
7954
+ - name: collectionId
7955
+ in: path
7956
+ required: true
7957
+ schema:
7958
+ type: string
7959
+ - name: translationId
7960
+ in: path
7961
+ required: true
7962
+ schema:
7963
+ type: string
7964
+ responses:
7965
+ 200:
7966
+ description: Success
7967
+ content:
7968
+ application/json:
7969
+ schema:
7970
+ $ref: "#/components/schemas/TranslationRecord"
7971
+ 400:
7972
+ description: Bad request
7973
+ 401:
7974
+ description: Unauthorized
7975
+ 404:
7976
+ description: Not found
7977
+ requestBody:
7978
+ required: true
7979
+ content:
7980
+ application/json:
7981
+ schema:
7982
+ $ref: "#/components/schemas/TranslationUpdateRequest"
7283
7983
  /api/admin/auth/push:
7284
7984
  get:
7285
7985
  tags:
@@ -7307,6 +8007,17 @@ paths:
7307
8007
  summary: realtime.getPublicToken
7308
8008
  operationId: realtime_getPublicToken
7309
8009
  security: []
8010
+ parameters:
8011
+ - name: collectionId
8012
+ in: query
8013
+ required: false
8014
+ schema:
8015
+ type: string
8016
+ - name: appId
8017
+ in: query
8018
+ required: false
8019
+ schema:
8020
+ type: string
7310
8021
  responses:
7311
8022
  200:
7312
8023
  description: Success
@@ -8259,15 +8970,15 @@ paths:
8259
8970
  description: Unauthorized
8260
8971
  404:
8261
8972
  description: Not found
8262
- /public/collection//product//batch/{batchId}:
8973
+ /public/collection/getShortId/{shortId}:
8263
8974
  get:
8264
8975
  tags:
8265
- - batch
8266
- summary: Get a single batch by ID for a collection and product (public endpoint).
8267
- operationId: batch_getPublic
8976
+ - collection
8977
+ summary: Retrieves all Collections.
8978
+ operationId: collection_getShortId
8268
8979
  security: []
8269
8980
  parameters:
8270
- - name: batchId
8981
+ - name: shortId
8271
8982
  in: path
8272
8983
  required: true
8273
8984
  schema:
@@ -8278,22 +8989,22 @@ paths:
8278
8989
  content:
8279
8990
  application/json:
8280
8991
  schema:
8281
- $ref: "#/components/schemas/BatchResponse"
8992
+ $ref: "#/components/schemas/CollectionResponse"
8282
8993
  400:
8283
8994
  description: Bad request
8284
8995
  401:
8285
8996
  description: Unauthorized
8286
8997
  404:
8287
8998
  description: Not found
8288
- /public/collection//product//variant/{variantId}:
8999
+ /public/collection/product/batch/{batchId}:
8289
9000
  get:
8290
9001
  tags:
8291
- - variant
8292
- summary: Get a single variant by ID for a collection and product (public endpoint).
8293
- operationId: variant_getPublic
9002
+ - batch
9003
+ summary: Get a single batch by ID for a collection and product (public endpoint).
9004
+ operationId: batch_getPublic
8294
9005
  security: []
8295
9006
  parameters:
8296
- - name: variantId
9007
+ - name: batchId
8297
9008
  in: path
8298
9009
  required: true
8299
9010
  schema:
@@ -8304,22 +9015,22 @@ paths:
8304
9015
  content:
8305
9016
  application/json:
8306
9017
  schema:
8307
- $ref: "#/components/schemas/VariantResponse"
9018
+ $ref: "#/components/schemas/BatchResponse"
8308
9019
  400:
8309
9020
  description: Bad request
8310
9021
  401:
8311
9022
  description: Unauthorized
8312
9023
  404:
8313
9024
  description: Not found
8314
- /public/collection/getShortId/{shortId}:
9025
+ /public/collection/product/variant/{variantId}:
8315
9026
  get:
8316
9027
  tags:
8317
- - collection
8318
- summary: Retrieves all Collections.
8319
- operationId: collection_getShortId
9028
+ - variant
9029
+ summary: Get a single variant by ID for a collection and product (public endpoint).
9030
+ operationId: variant_getPublic
8320
9031
  security: []
8321
9032
  parameters:
8322
- - name: shortId
9033
+ - name: variantId
8323
9034
  in: path
8324
9035
  required: true
8325
9036
  schema:
@@ -8330,7 +9041,7 @@ paths:
8330
9041
  content:
8331
9042
  application/json:
8332
9043
  schema:
8333
- $ref: "#/components/schemas/CollectionResponse"
9044
+ $ref: "#/components/schemas/VariantResponse"
8334
9045
  400:
8335
9046
  description: Bad request
8336
9047
  401:
@@ -8548,12 +9259,12 @@ paths:
8548
9259
  description: Unauthorized
8549
9260
  404:
8550
9261
  description: Not found
8551
- /public/collection/{collectionId}/attestations/latest{qs}:
9262
+ /public/collection/{collectionId}/attestations:
8552
9263
  get:
8553
9264
  tags:
8554
9265
  - attestations
8555
- summary: "Latest snapshot per `attestationType` (public)."
8556
- operationId: attestations_publicLatest
9266
+ summary: List attestations for a subject (public).
9267
+ operationId: attestations_publicList
8557
9268
  security: []
8558
9269
  parameters:
8559
9270
  - name: collectionId
@@ -8561,61 +9272,60 @@ paths:
8561
9272
  required: true
8562
9273
  schema:
8563
9274
  type: string
8564
- - name: qs
8565
- in: path
8566
- required: true
9275
+ - name: subjectType
9276
+ in: query
9277
+ required: false
9278
+ schema:
9279
+ $ref: "#/components/schemas/AttestationSubjectType"
9280
+ - name: subjectId
9281
+ in: query
9282
+ required: false
8567
9283
  schema:
8568
9284
  type: string
8569
- responses:
8570
- 200:
8571
- description: Success
8572
- content:
8573
- application/json:
8574
- schema:
8575
- $ref: "#/components/schemas/PublicAttestationLatestResponse"
8576
- 400:
8577
- description: Bad request
8578
- 401:
8579
- description: Unauthorized
8580
- 404:
8581
- description: Not found
8582
- /public/collection/{collectionId}/attestations/summary{qs}:
8583
- get:
8584
- tags:
8585
- - attestations
8586
- summary: Time-series summary (public).
8587
- operationId: attestations_publicSummary
8588
- security: []
8589
- parameters:
8590
- - name: collectionId
8591
- in: path
8592
- required: true
9285
+ - name: attestationType
9286
+ in: query
9287
+ required: false
8593
9288
  schema:
8594
9289
  type: string
8595
- - name: qs
8596
- in: path
8597
- required: true
9290
+ - name: recordedAfter
9291
+ in: query
9292
+ required: false
9293
+ schema:
9294
+ type: string
9295
+ - name: recordedBefore
9296
+ in: query
9297
+ required: false
8598
9298
  schema:
8599
9299
  type: string
9300
+ - name: limit
9301
+ in: query
9302
+ required: false
9303
+ schema:
9304
+ type: number
9305
+ - name: offset
9306
+ in: query
9307
+ required: false
9308
+ schema:
9309
+ type: number
8600
9310
  responses:
8601
9311
  200:
8602
9312
  description: Success
8603
9313
  content:
8604
9314
  application/json:
8605
9315
  schema:
8606
- $ref: "#/components/schemas/PublicAttestationSummaryResponse"
9316
+ $ref: "#/components/schemas/PublicListAttestationsResponse"
8607
9317
  400:
8608
9318
  description: Bad request
8609
9319
  401:
8610
9320
  description: Unauthorized
8611
9321
  404:
8612
9322
  description: Not found
8613
- /public/collection/{collectionId}/attestations/tree-latest{qs}:
9323
+ /public/collection/{collectionId}/attestations/latest:
8614
9324
  get:
8615
9325
  tags:
8616
9326
  - attestations
8617
- summary: Tree latest snapshot (public).
8618
- operationId: attestations_publicTreeLatest
9327
+ summary: "Latest snapshot per `attestationType` (public)."
9328
+ operationId: attestations_publicLatest
8619
9329
  security: []
8620
9330
  parameters:
8621
9331
  - name: collectionId
@@ -8623,9 +9333,14 @@ paths:
8623
9333
  required: true
8624
9334
  schema:
8625
9335
  type: string
8626
- - name: qs
8627
- in: path
8628
- required: true
9336
+ - name: subjectType
9337
+ in: query
9338
+ required: false
9339
+ schema:
9340
+ $ref: "#/components/schemas/AttestationSubjectType"
9341
+ - name: subjectId
9342
+ in: query
9343
+ required: false
8629
9344
  schema:
8630
9345
  type: string
8631
9346
  responses:
@@ -8634,19 +9349,19 @@ paths:
8634
9349
  content:
8635
9350
  application/json:
8636
9351
  schema:
8637
- $ref: "#/components/schemas/PublicAttestationTreeLatestResponse"
9352
+ $ref: "#/components/schemas/PublicAttestationLatestResponse"
8638
9353
  400:
8639
9354
  description: Bad request
8640
9355
  401:
8641
9356
  description: Unauthorized
8642
9357
  404:
8643
9358
  description: Not found
8644
- /public/collection/{collectionId}/attestations/tree-summary{qs}:
9359
+ /public/collection/{collectionId}/attestations/summary:
8645
9360
  get:
8646
9361
  tags:
8647
9362
  - attestations
8648
- summary: Tree time-series summary (public).
8649
- operationId: attestations_publicTreeSummary
9363
+ summary: Time-series summary (public).
9364
+ operationId: attestations_publicSummary
8650
9365
  security: []
8651
9366
  parameters:
8652
9367
  - name: collectionId
@@ -8654,30 +9369,65 @@ paths:
8654
9369
  required: true
8655
9370
  schema:
8656
9371
  type: string
8657
- - name: qs
8658
- in: path
8659
- required: true
9372
+ - name: subjectType
9373
+ in: query
9374
+ required: false
9375
+ schema:
9376
+ $ref: "#/components/schemas/AttestationSubjectType"
9377
+ - name: subjectId
9378
+ in: query
9379
+ required: false
8660
9380
  schema:
8661
9381
  type: string
8662
- responses:
9382
+ - name: attestationType
9383
+ in: query
9384
+ required: false
9385
+ schema:
9386
+ type: string
9387
+ - name: valueField
9388
+ in: query
9389
+ required: false
9390
+ schema:
9391
+ type: string
9392
+ - name: groupBy
9393
+ in: query
9394
+ required: false
9395
+ schema:
9396
+ $ref: "#/components/schemas/AttestationGroupBy"
9397
+ - name: recordedAfter
9398
+ in: query
9399
+ required: false
9400
+ schema:
9401
+ type: string
9402
+ - name: recordedBefore
9403
+ in: query
9404
+ required: false
9405
+ schema:
9406
+ type: string
9407
+ - name: limit
9408
+ in: query
9409
+ required: false
9410
+ schema:
9411
+ type: number
9412
+ responses:
8663
9413
  200:
8664
9414
  description: Success
8665
9415
  content:
8666
9416
  application/json:
8667
9417
  schema:
8668
- $ref: "#/components/schemas/PublicAttestationTreeSummaryResponse"
9418
+ $ref: "#/components/schemas/PublicAttestationSummaryResponse"
8669
9419
  400:
8670
9420
  description: Bad request
8671
9421
  401:
8672
9422
  description: Unauthorized
8673
9423
  404:
8674
9424
  description: Not found
8675
- /public/collection/{collectionId}/attestations{qs}:
9425
+ /public/collection/{collectionId}/attestations/tree-latest:
8676
9426
  get:
8677
9427
  tags:
8678
9428
  - attestations
8679
- summary: List attestations for a subject (public).
8680
- operationId: attestations_publicList
9429
+ summary: Tree latest snapshot (public).
9430
+ operationId: attestations_publicTreeLatest
8681
9431
  security: []
8682
9432
  parameters:
8683
9433
  - name: collectionId
@@ -8685,18 +9435,89 @@ paths:
8685
9435
  required: true
8686
9436
  schema:
8687
9437
  type: string
8688
- - name: qs
9438
+ - name: subjectId
9439
+ in: query
9440
+ required: false
9441
+ schema:
9442
+ type: string
9443
+ - name: includeItems
9444
+ in: query
9445
+ required: false
9446
+ schema:
9447
+ type: boolean
9448
+ responses:
9449
+ 200:
9450
+ description: Success
9451
+ content:
9452
+ application/json:
9453
+ schema:
9454
+ $ref: "#/components/schemas/PublicAttestationTreeLatestResponse"
9455
+ 400:
9456
+ description: Bad request
9457
+ 401:
9458
+ description: Unauthorized
9459
+ 404:
9460
+ description: Not found
9461
+ /public/collection/{collectionId}/attestations/tree-summary:
9462
+ get:
9463
+ tags:
9464
+ - attestations
9465
+ summary: Tree time-series summary (public).
9466
+ operationId: attestations_publicTreeSummary
9467
+ security: []
9468
+ parameters:
9469
+ - name: collectionId
8689
9470
  in: path
8690
9471
  required: true
8691
9472
  schema:
8692
9473
  type: string
9474
+ - name: subjectId
9475
+ in: query
9476
+ required: false
9477
+ schema:
9478
+ type: string
9479
+ - name: attestationType
9480
+ in: query
9481
+ required: false
9482
+ schema:
9483
+ type: string
9484
+ - name: valueField
9485
+ in: query
9486
+ required: false
9487
+ schema:
9488
+ type: string
9489
+ - name: groupBy
9490
+ in: query
9491
+ required: false
9492
+ schema:
9493
+ $ref: "#/components/schemas/AttestationGroupBy"
9494
+ - name: recordedAfter
9495
+ in: query
9496
+ required: false
9497
+ schema:
9498
+ type: string
9499
+ - name: recordedBefore
9500
+ in: query
9501
+ required: false
9502
+ schema:
9503
+ type: string
9504
+ - name: limit
9505
+ in: query
9506
+ required: false
9507
+ schema:
9508
+ type: number
9509
+ - name: includeItems
9510
+ in: query
9511
+ required: false
9512
+ schema:
9513
+ type: boolean
8693
9514
  responses:
8694
9515
  200:
8695
9516
  description: Success
8696
9517
  content:
8697
9518
  application/json:
8698
9519
  schema:
8699
- $ref: "#/components/schemas/PublicListAttestationsResponse"
9520
+ $ref: "#/components/schemas/PublicAttestationTreeSummaryResponse"
8700
9521
  400:
8701
9522
  description: Bad request
8702
9523
  401:
@@ -8737,7 +9558,7 @@ paths:
8737
9558
  schema:
8738
9559
  type: object
8739
9560
  additionalProperties: true
8740
- /public/collection/{collectionId}/comm/methods{qs}:
9561
+ /public/collection/{collectionId}/comm/methods:
8741
9562
  get:
8742
9563
  tags:
8743
9564
  - comms
@@ -8750,11 +9571,6 @@ paths:
8750
9571
  required: true
8751
9572
  schema:
8752
9573
  type: string
8753
- - name: qs
8754
- in: path
8755
- required: true
8756
- schema:
8757
- type: string
8758
9574
  - name: contactId
8759
9575
  in: query
8760
9576
  required: false
@@ -8908,7 +9724,7 @@ paths:
8908
9724
  schema:
8909
9725
  type: object
8910
9726
  additionalProperties: true
8911
- /public/collection/{collectionId}/comm/subscription/check{qs}:
9727
+ /public/collection/{collectionId}/comm/subscription/check:
8912
9728
  get:
8913
9729
  tags:
8914
9730
  - comms
@@ -8921,11 +9737,6 @@ paths:
8921
9737
  required: true
8922
9738
  schema:
8923
9739
  type: string
8924
- - name: qs
8925
- in: path
8926
- required: true
8927
- schema:
8928
- type: string
8929
9740
  - name: contactId
8930
9741
  in: query
8931
9742
  required: false
@@ -9021,7 +9832,7 @@ paths:
9021
9832
  description: Unauthorized
9022
9833
  404:
9023
9834
  description: Not found
9024
- /public/collection/{collectionId}/comm/unsubscribe{qs}:
9835
+ /public/collection/{collectionId}/comm/unsubscribe:
9025
9836
  get:
9026
9837
  tags:
9027
9838
  - comms
@@ -9034,11 +9845,6 @@ paths:
9034
9845
  required: true
9035
9846
  schema:
9036
9847
  type: string
9037
- - name: qs
9038
- in: path
9039
- required: true
9040
- schema:
9041
- type: string
9042
9848
  - name: contactId
9043
9849
  in: query
9044
9850
  required: false
@@ -9188,12 +9994,12 @@ paths:
9188
9994
  description: Unauthorized
9189
9995
  404:
9190
9996
  description: Not found
9191
- /public/collection/{collectionId}/containers/{containerId}/attestations/latest:
9997
+ /public/collection/{collectionId}/containers:
9192
9998
  get:
9193
9999
  tags:
9194
- - attestations
9195
- summary: Time-series summary for a specific container (public shortcut).
9196
- operationId: attestations_publicContainerLatest
10000
+ - containers
10001
+ summary: List containers (public).
10002
+ operationId: containers_publicList
9197
10003
  security: []
9198
10004
  parameters:
9199
10005
  - name: collectionId
@@ -9201,30 +10007,60 @@ paths:
9201
10007
  required: true
9202
10008
  schema:
9203
10009
  type: string
9204
- - name: containerId
9205
- in: path
9206
- required: true
10010
+ - name: containerType
10011
+ in: query
10012
+ required: false
9207
10013
  schema:
9208
10014
  type: string
10015
+ - name: status
10016
+ in: query
10017
+ required: false
10018
+ schema:
10019
+ $ref: "#/components/schemas/ContainerStatus"
10020
+ - name: ref
10021
+ in: query
10022
+ required: false
10023
+ schema:
10024
+ type: string
10025
+ - name: parentContainerId
10026
+ in: query
10027
+ required: false
10028
+ schema:
10029
+ type: string
10030
+ - name: topLevel
10031
+ in: query
10032
+ required: false
10033
+ schema:
10034
+ type: boolean
10035
+ - name: limit
10036
+ in: query
10037
+ required: false
10038
+ schema:
10039
+ type: number
10040
+ - name: offset
10041
+ in: query
10042
+ required: false
10043
+ schema:
10044
+ type: number
9209
10045
  responses:
9210
10046
  200:
9211
10047
  description: Success
9212
10048
  content:
9213
10049
  application/json:
9214
10050
  schema:
9215
- $ref: "#/components/schemas/PublicAttestationLatestResponse"
10051
+ $ref: "#/components/schemas/PublicListContainersResponse"
9216
10052
  400:
9217
10053
  description: Bad request
9218
10054
  401:
9219
10055
  description: Unauthorized
9220
10056
  404:
9221
10057
  description: Not found
9222
- /public/collection/{collectionId}/containers/{containerId}/attestations/summary{qs}:
10058
+ /public/collection/{collectionId}/containers/{containerId}:
9223
10059
  get:
9224
10060
  tags:
9225
- - attestations
9226
- summary: Time-series summary for a specific container (public shortcut).
9227
- operationId: attestations_publicContainerSummary
10061
+ - containers
10062
+ summary: Get a single container (public).
10063
+ operationId: containers_publicGet
9228
10064
  security: []
9229
10065
  parameters:
9230
10066
  - name: collectionId
@@ -9237,30 +10073,40 @@ paths:
9237
10073
  required: true
9238
10074
  schema:
9239
10075
  type: string
9240
- - name: qs
9241
- in: path
9242
- required: true
10076
+ - name: tree
10077
+ in: query
10078
+ required: false
9243
10079
  schema:
9244
- type: string
10080
+ type: boolean
10081
+ - name: treeDepth
10082
+ in: query
10083
+ required: false
10084
+ schema:
10085
+ type: number
10086
+ - name: includeContents
10087
+ in: query
10088
+ required: false
10089
+ schema:
10090
+ type: boolean
9245
10091
  responses:
9246
10092
  200:
9247
10093
  description: Success
9248
10094
  content:
9249
10095
  application/json:
9250
10096
  schema:
9251
- $ref: "#/components/schemas/PublicAttestationSummaryResponse"
10097
+ $ref: "#/components/schemas/Container"
9252
10098
  400:
9253
10099
  description: Bad request
9254
10100
  401:
9255
10101
  description: Unauthorized
9256
10102
  404:
9257
10103
  description: Not found
9258
- /public/collection/{collectionId}/containers/{containerId}/attestations/tree-latest{qs}:
10104
+ /public/collection/{collectionId}/containers/{containerId}/attestations:
9259
10105
  get:
9260
10106
  tags:
9261
10107
  - attestations
9262
- summary: Tree time-series summary rooted at a specific container (public shortcut).
9263
- operationId: attestations_publicContainerTreeLatest
10108
+ summary: List attestations for a specific container (public shortcut).
10109
+ operationId: attestations_publicContainerList
9264
10110
  security: []
9265
10111
  parameters:
9266
10112
  - name: collectionId
@@ -9273,30 +10119,60 @@ paths:
9273
10119
  required: true
9274
10120
  schema:
9275
10121
  type: string
9276
- - name: qs
9277
- in: path
9278
- required: true
10122
+ - name: subjectType
10123
+ in: query
10124
+ required: false
10125
+ schema:
10126
+ $ref: "#/components/schemas/AttestationSubjectType"
10127
+ - name: subjectId
10128
+ in: query
10129
+ required: false
10130
+ schema:
10131
+ type: string
10132
+ - name: attestationType
10133
+ in: query
10134
+ required: false
10135
+ schema:
10136
+ type: string
10137
+ - name: recordedAfter
10138
+ in: query
10139
+ required: false
10140
+ schema:
10141
+ type: string
10142
+ - name: recordedBefore
10143
+ in: query
10144
+ required: false
9279
10145
  schema:
9280
10146
  type: string
10147
+ - name: limit
10148
+ in: query
10149
+ required: false
10150
+ schema:
10151
+ type: number
10152
+ - name: offset
10153
+ in: query
10154
+ required: false
10155
+ schema:
10156
+ type: number
9281
10157
  responses:
9282
10158
  200:
9283
10159
  description: Success
9284
10160
  content:
9285
10161
  application/json:
9286
10162
  schema:
9287
- $ref: "#/components/schemas/PublicAttestationTreeLatestResponse"
10163
+ $ref: "#/components/schemas/PublicListAttestationsResponse"
9288
10164
  400:
9289
10165
  description: Bad request
9290
10166
  401:
9291
10167
  description: Unauthorized
9292
10168
  404:
9293
10169
  description: Not found
9294
- /public/collection/{collectionId}/containers/{containerId}/attestations/tree-summary{qs}:
10170
+ /public/collection/{collectionId}/containers/{containerId}/attestations/latest:
9295
10171
  get:
9296
10172
  tags:
9297
10173
  - attestations
9298
- summary: Latest snapshot for a specific container (public shortcut).
9299
- operationId: attestations_publicContainerTreeSummary
10174
+ summary: Time-series summary for a specific container (public shortcut).
10175
+ operationId: attestations_publicContainerLatest
9300
10176
  security: []
9301
10177
  parameters:
9302
10178
  - name: collectionId
@@ -9309,30 +10185,25 @@ paths:
9309
10185
  required: true
9310
10186
  schema:
9311
10187
  type: string
9312
- - name: qs
9313
- in: path
9314
- required: true
9315
- schema:
9316
- type: string
9317
10188
  responses:
9318
10189
  200:
9319
10190
  description: Success
9320
10191
  content:
9321
10192
  application/json:
9322
10193
  schema:
9323
- $ref: "#/components/schemas/PublicAttestationTreeSummaryResponse"
10194
+ $ref: "#/components/schemas/PublicAttestationLatestResponse"
9324
10195
  400:
9325
10196
  description: Bad request
9326
10197
  401:
9327
10198
  description: Unauthorized
9328
10199
  404:
9329
10200
  description: Not found
9330
- /public/collection/{collectionId}/containers/{containerId}/attestations{qs}:
10201
+ /public/collection/{collectionId}/containers/{containerId}/attestations/summary:
9331
10202
  get:
9332
10203
  tags:
9333
10204
  - attestations
9334
- summary: List attestations for a specific container (public shortcut).
9335
- operationId: attestations_publicContainerList
10205
+ summary: Time-series summary for a specific container (public shortcut).
10206
+ operationId: attestations_publicContainerSummary
9336
10207
  security: []
9337
10208
  parameters:
9338
10209
  - name: collectionId
@@ -9345,30 +10216,65 @@ paths:
9345
10216
  required: true
9346
10217
  schema:
9347
10218
  type: string
9348
- - name: qs
9349
- in: path
9350
- required: true
10219
+ - name: subjectType
10220
+ in: query
10221
+ required: false
10222
+ schema:
10223
+ $ref: "#/components/schemas/AttestationSubjectType"
10224
+ - name: subjectId
10225
+ in: query
10226
+ required: false
10227
+ schema:
10228
+ type: string
10229
+ - name: attestationType
10230
+ in: query
10231
+ required: false
10232
+ schema:
10233
+ type: string
10234
+ - name: valueField
10235
+ in: query
10236
+ required: false
10237
+ schema:
10238
+ type: string
10239
+ - name: groupBy
10240
+ in: query
10241
+ required: false
10242
+ schema:
10243
+ $ref: "#/components/schemas/AttestationGroupBy"
10244
+ - name: recordedAfter
10245
+ in: query
10246
+ required: false
9351
10247
  schema:
9352
10248
  type: string
10249
+ - name: recordedBefore
10250
+ in: query
10251
+ required: false
10252
+ schema:
10253
+ type: string
10254
+ - name: limit
10255
+ in: query
10256
+ required: false
10257
+ schema:
10258
+ type: number
9353
10259
  responses:
9354
10260
  200:
9355
10261
  description: Success
9356
10262
  content:
9357
10263
  application/json:
9358
10264
  schema:
9359
- $ref: "#/components/schemas/PublicListAttestationsResponse"
10265
+ $ref: "#/components/schemas/PublicAttestationSummaryResponse"
9360
10266
  400:
9361
10267
  description: Bad request
9362
10268
  401:
9363
10269
  description: Unauthorized
9364
10270
  404:
9365
10271
  description: Not found
9366
- /public/collection/{collectionId}/containers/{containerId}/items{qs}:
10272
+ /public/collection/{collectionId}/containers/{containerId}/attestations/tree-latest:
9367
10273
  get:
9368
10274
  tags:
9369
- - containers
9370
- summary: List current contents of a container (public).
9371
- operationId: containers_publicListItems
10275
+ - attestations
10276
+ summary: Tree time-series summary rooted at a specific container (public shortcut).
10277
+ operationId: attestations_publicContainerTreeLatest
9372
10278
  security: []
9373
10279
  parameters:
9374
10280
  - name: collectionId
@@ -9381,30 +10287,35 @@ paths:
9381
10287
  required: true
9382
10288
  schema:
9383
10289
  type: string
9384
- - name: qs
9385
- in: path
9386
- required: true
10290
+ - name: subjectId
10291
+ in: query
10292
+ required: false
9387
10293
  schema:
9388
10294
  type: string
10295
+ - name: includeItems
10296
+ in: query
10297
+ required: false
10298
+ schema:
10299
+ type: boolean
9389
10300
  responses:
9390
10301
  200:
9391
10302
  description: Success
9392
10303
  content:
9393
10304
  application/json:
9394
10305
  schema:
9395
- $ref: "#/components/schemas/ContainerItemsResponse"
10306
+ $ref: "#/components/schemas/PublicAttestationTreeLatestResponse"
9396
10307
  400:
9397
10308
  description: Bad request
9398
10309
  401:
9399
10310
  description: Unauthorized
9400
10311
  404:
9401
10312
  description: Not found
9402
- /public/collection/{collectionId}/containers/{containerId}{qs}:
10313
+ /public/collection/{collectionId}/containers/{containerId}/attestations/tree-summary:
9403
10314
  get:
9404
10315
  tags:
9405
- - containers
9406
- summary: Get a single container (public).
9407
- operationId: containers_publicGet
10316
+ - attestations
10317
+ summary: Latest snapshot for a specific container (public shortcut).
10318
+ operationId: attestations_publicContainerTreeSummary
9408
10319
  security: []
9409
10320
  parameters:
9410
10321
  - name: collectionId
@@ -9417,30 +10328,65 @@ paths:
9417
10328
  required: true
9418
10329
  schema:
9419
10330
  type: string
9420
- - name: qs
9421
- in: path
9422
- required: true
10331
+ - name: subjectId
10332
+ in: query
10333
+ required: false
9423
10334
  schema:
9424
10335
  type: string
10336
+ - name: attestationType
10337
+ in: query
10338
+ required: false
10339
+ schema:
10340
+ type: string
10341
+ - name: valueField
10342
+ in: query
10343
+ required: false
10344
+ schema:
10345
+ type: string
10346
+ - name: groupBy
10347
+ in: query
10348
+ required: false
10349
+ schema:
10350
+ $ref: "#/components/schemas/AttestationGroupBy"
10351
+ - name: recordedAfter
10352
+ in: query
10353
+ required: false
10354
+ schema:
10355
+ type: string
10356
+ - name: recordedBefore
10357
+ in: query
10358
+ required: false
10359
+ schema:
10360
+ type: string
10361
+ - name: limit
10362
+ in: query
10363
+ required: false
10364
+ schema:
10365
+ type: number
10366
+ - name: includeItems
10367
+ in: query
10368
+ required: false
10369
+ schema:
10370
+ type: boolean
9425
10371
  responses:
9426
10372
  200:
9427
10373
  description: Success
9428
10374
  content:
9429
10375
  application/json:
9430
10376
  schema:
9431
- $ref: "#/components/schemas/Container"
10377
+ $ref: "#/components/schemas/PublicAttestationTreeSummaryResponse"
9432
10378
  400:
9433
10379
  description: Bad request
9434
10380
  401:
9435
10381
  description: Unauthorized
9436
10382
  404:
9437
10383
  description: Not found
9438
- /public/collection/{collectionId}/containers{qs}:
10384
+ /public/collection/{collectionId}/containers/{containerId}/items:
9439
10385
  get:
9440
10386
  tags:
9441
10387
  - containers
9442
- summary: List containers (public).
9443
- operationId: containers_publicList
10388
+ summary: List current contents of a container (public).
10389
+ operationId: containers_publicListItems
9444
10390
  security: []
9445
10391
  parameters:
9446
10392
  - name: collectionId
@@ -9448,18 +10394,33 @@ paths:
9448
10394
  required: true
9449
10395
  schema:
9450
10396
  type: string
9451
- - name: qs
10397
+ - name: containerId
9452
10398
  in: path
9453
10399
  required: true
9454
10400
  schema:
9455
10401
  type: string
10402
+ - name: history
10403
+ in: query
10404
+ required: false
10405
+ schema:
10406
+ type: boolean
10407
+ - name: limit
10408
+ in: query
10409
+ required: false
10410
+ schema:
10411
+ type: number
10412
+ - name: offset
10413
+ in: query
10414
+ required: false
10415
+ schema:
10416
+ type: number
9456
10417
  responses:
9457
10418
  200:
9458
10419
  description: Success
9459
10420
  content:
9460
10421
  application/json:
9461
10422
  schema:
9462
- $ref: "#/components/schemas/PublicListContainersResponse"
10423
+ $ref: "#/components/schemas/ContainerItemsResponse"
9463
10424
  400:
9464
10425
  description: Bad request
9465
10426
  401:
@@ -9479,6 +10440,11 @@ paths:
9479
10440
  required: true
9480
10441
  schema:
9481
10442
  type: string
10443
+ - name: includeValues
10444
+ in: query
10445
+ required: false
10446
+ schema:
10447
+ type: boolean
9482
10448
  responses:
9483
10449
  200:
9484
10450
  description: Success
@@ -9542,6 +10508,11 @@ paths:
9542
10508
  required: true
9543
10509
  schema:
9544
10510
  type: string
10511
+ - name: includeValues
10512
+ in: query
10513
+ required: false
10514
+ schema:
10515
+ type: boolean
9545
10516
  responses:
9546
10517
  200:
9547
10518
  description: Success
@@ -9615,7 +10586,48 @@ paths:
9615
10586
  content:
9616
10587
  application/json:
9617
10588
  schema:
9618
- $ref: "#/components/schemas/FacetValueResponse"
10589
+ $ref: "#/components/schemas/FacetValueResponse"
10590
+ 400:
10591
+ description: Bad request
10592
+ 401:
10593
+ description: Unauthorized
10594
+ 404:
10595
+ description: Not found
10596
+ /public/collection/{collectionId}/interactions:
10597
+ get:
10598
+ tags:
10599
+ - interactions
10600
+ summary: interactions.publicList
10601
+ operationId: interactions_publicList
10602
+ security: []
10603
+ parameters:
10604
+ - name: collectionId
10605
+ in: path
10606
+ required: true
10607
+ schema:
10608
+ type: string
10609
+ - name: appId
10610
+ in: query
10611
+ required: false
10612
+ schema:
10613
+ type: string
10614
+ - name: limit
10615
+ in: query
10616
+ required: false
10617
+ schema:
10618
+ type: number
10619
+ - name: offset
10620
+ in: query
10621
+ required: false
10622
+ schema:
10623
+ type: number
10624
+ responses:
10625
+ 200:
10626
+ description: Success
10627
+ content:
10628
+ application/json:
10629
+ schema:
10630
+ $ref: "#/components/schemas/InteractionTypeList"
9619
10631
  400:
9620
10632
  description: Bad request
9621
10633
  401:
@@ -9721,37 +10733,6 @@ paths:
9721
10733
  description: Unauthorized
9722
10734
  404:
9723
10735
  description: Not found
9724
- /public/collection/{collectionId}/interactions/{qs}:
9725
- get:
9726
- tags:
9727
- - interactions
9728
- summary: interactions.publicList
9729
- operationId: interactions_publicList
9730
- security: []
9731
- parameters:
9732
- - name: collectionId
9733
- in: path
9734
- required: true
9735
- schema:
9736
- type: string
9737
- - name: qs
9738
- in: path
9739
- required: true
9740
- schema:
9741
- type: string
9742
- responses:
9743
- 200:
9744
- description: Success
9745
- content:
9746
- application/json:
9747
- schema:
9748
- $ref: "#/components/schemas/InteractionTypeList"
9749
- 400:
9750
- description: Bad request
9751
- 401:
9752
- description: Unauthorized
9753
- 404:
9754
- description: Not found
9755
10736
  /public/collection/{collectionId}/location/{locationId}:
9756
10737
  get:
9757
10738
  tags:
@@ -10546,6 +11527,21 @@ paths:
10546
11527
  required: true
10547
11528
  schema:
10548
11529
  type: string
11530
+ - name: refType
11531
+ in: query
11532
+ required: false
11533
+ schema:
11534
+ type: string
11535
+ - name: refId
11536
+ in: query
11537
+ required: false
11538
+ schema:
11539
+ type: string
11540
+ - name: embed
11541
+ in: query
11542
+ required: false
11543
+ schema:
11544
+ type: string
10549
11545
  responses:
10550
11546
  200:
10551
11547
  description: Success
@@ -10603,6 +11599,16 @@ paths:
10603
11599
  required: true
10604
11600
  schema:
10605
11601
  type: string
11602
+ - name: tagIds
11603
+ in: query
11604
+ required: false
11605
+ schema:
11606
+ type: string
11607
+ - name: embed
11608
+ in: query
11609
+ required: false
11610
+ schema:
11611
+ type: string
10606
11612
  responses:
10607
11613
  200:
10608
11614
  description: Success
@@ -10737,6 +11743,38 @@ paths:
10737
11743
  description: Unauthorized
10738
11744
  404:
10739
11745
  description: Not found
11746
+ /public/collection/{collectionId}/translations/lookup:
11747
+ post:
11748
+ tags:
11749
+ - translations
11750
+ summary: translations.lookup
11751
+ operationId: translations_lookup
11752
+ security: []
11753
+ parameters:
11754
+ - name: collectionId
11755
+ in: path
11756
+ required: true
11757
+ schema:
11758
+ type: string
11759
+ responses:
11760
+ 200:
11761
+ description: Success
11762
+ content:
11763
+ application/json:
11764
+ schema:
11765
+ $ref: "#/components/schemas/TranslationLookupResponse"
11766
+ 400:
11767
+ description: Bad request
11768
+ 401:
11769
+ description: Unauthorized
11770
+ 404:
11771
+ description: Not found
11772
+ requestBody:
11773
+ required: true
11774
+ content:
11775
+ application/json:
11776
+ schema:
11777
+ $ref: "#/components/schemas/TranslationLookupRequest"
10740
11778
  /public/location/{locationId}:
10741
11779
  get:
10742
11780
  tags:
@@ -11058,6 +12096,41 @@ paths:
11058
12096
  required: true
11059
12097
  schema:
11060
12098
  type: string
12099
+ - name: category
12100
+ in: query
12101
+ required: false
12102
+ schema:
12103
+ type: string
12104
+ - name: priority
12105
+ in: query
12106
+ required: false
12107
+ schema:
12108
+ type: string
12109
+ - name: ref
12110
+ in: query
12111
+ required: false
12112
+ schema:
12113
+ type: string
12114
+ - name: proofId
12115
+ in: query
12116
+ required: false
12117
+ schema:
12118
+ type: string
12119
+ - name: contactId
12120
+ in: query
12121
+ required: false
12122
+ schema:
12123
+ type: string
12124
+ - name: assignedTo
12125
+ in: query
12126
+ required: false
12127
+ schema:
12128
+ type: string
12129
+ - name: closedAt
12130
+ in: query
12131
+ required: false
12132
+ schema:
12133
+ type: string
11061
12134
  responses:
11062
12135
  200:
11063
12136
  description: Success
@@ -20922,6 +21995,236 @@ components:
20922
21995
  additionalProperties: true
20923
21996
  required:
20924
21997
  - ok
21998
+ TranslationContext:
21999
+ type: object
22000
+ properties:
22001
+ surface:
22002
+ type: string
22003
+ field:
22004
+ type: string
22005
+ TranslationLookupRequestBase:
22006
+ type: object
22007
+ properties:
22008
+ targetLanguage:
22009
+ type: string
22010
+ sourceLanguage:
22011
+ type: string
22012
+ mode:
22013
+ $ref: "#/components/schemas/TranslationLookupMode"
22014
+ contentType:
22015
+ $ref: "#/components/schemas/TranslationContentType"
22016
+ context:
22017
+ $ref: "#/components/schemas/TranslationContext"
22018
+ returnMeta:
22019
+ type: boolean
22020
+ required:
22021
+ - targetLanguage
22022
+ TranslationLookupSingleRequest:
22023
+ type: object
22024
+ properties:
22025
+ text:
22026
+ type: string
22027
+ texts: {}
22028
+ required:
22029
+ - text
22030
+ TranslationLookupBatchRequest:
22031
+ type: object
22032
+ properties:
22033
+ text: {}
22034
+ texts:
22035
+ type: array
22036
+ items:
22037
+ type: string
22038
+ required:
22039
+ - texts
22040
+ TranslationLookupItem:
22041
+ type: object
22042
+ properties:
22043
+ index:
22044
+ type: number
22045
+ hash:
22046
+ type: string
22047
+ sourceText:
22048
+ type: string
22049
+ translatedText:
22050
+ type: string
22051
+ status:
22052
+ $ref: "#/components/schemas/TranslationItemStatus"
22053
+ provider:
22054
+ type: string
22055
+ model:
22056
+ type: string
22057
+ isOverride:
22058
+ type: boolean
22059
+ quality:
22060
+ $ref: "#/components/schemas/TranslationQuality"
22061
+ createdAt:
22062
+ type: string
22063
+ updatedAt:
22064
+ type: string
22065
+ required:
22066
+ - index
22067
+ - hash
22068
+ - sourceText
22069
+ TranslationLookupResponse:
22070
+ type: object
22071
+ properties:
22072
+ targetLanguage:
22073
+ type: string
22074
+ sourceLanguage:
22075
+ type: string
22076
+ mode:
22077
+ $ref: "#/components/schemas/TranslationLookupMode"
22078
+ items:
22079
+ type: array
22080
+ items:
22081
+ $ref: "#/components/schemas/TranslationLookupItem"
22082
+ required:
22083
+ - targetLanguage
22084
+ - items
22085
+ ResolvedTranslationItem:
22086
+ type: object
22087
+ properties:
22088
+ cacheSource:
22089
+ type: string
22090
+ enum:
22091
+ - local
22092
+ - remote
22093
+ expiresAt:
22094
+ type: number
22095
+ ResolvedTranslationResponse:
22096
+ type: object
22097
+ properties:
22098
+ targetLanguage:
22099
+ type: string
22100
+ sourceLanguage:
22101
+ type: string
22102
+ mode:
22103
+ $ref: "#/components/schemas/TranslationLookupMode"
22104
+ items:
22105
+ type: array
22106
+ items:
22107
+ $ref: "#/components/schemas/ResolvedTranslationItem"
22108
+ required:
22109
+ - targetLanguage
22110
+ - items
22111
+ TranslationHashOptions:
22112
+ type: object
22113
+ properties:
22114
+ trim:
22115
+ type: boolean
22116
+ collapseWhitespace:
22117
+ type: boolean
22118
+ unicodeNormalization:
22119
+ type: string
22120
+ enum:
22121
+ - NFC
22122
+ - NFKC
22123
+ TranslationResolveOptions:
22124
+ type: object
22125
+ properties:
22126
+ useLocalCache:
22127
+ type: boolean
22128
+ refreshLocalCache:
22129
+ type: boolean
22130
+ localCacheTtlMs:
22131
+ type: number
22132
+ hashOptions:
22133
+ $ref: "#/components/schemas/TranslationHashOptions"
22134
+ TranslationRecord:
22135
+ type: object
22136
+ properties:
22137
+ id:
22138
+ type: string
22139
+ collectionId:
22140
+ type: string
22141
+ sourceHash:
22142
+ type: string
22143
+ sourceText:
22144
+ type: string
22145
+ sourceLanguage:
22146
+ type: string
22147
+ targetLanguage:
22148
+ type: string
22149
+ contentType:
22150
+ type: string
22151
+ contextKey:
22152
+ type: string
22153
+ translatedText:
22154
+ type: string
22155
+ provider:
22156
+ type: string
22157
+ model:
22158
+ type: string
22159
+ quality:
22160
+ $ref: "#/components/schemas/TranslationQuality"
22161
+ isOverride:
22162
+ type: boolean
22163
+ metadata:
22164
+ type: object
22165
+ additionalProperties: true
22166
+ createdAt:
22167
+ type: string
22168
+ updatedAt:
22169
+ type: string
22170
+ required:
22171
+ - id
22172
+ - collectionId
22173
+ - sourceHash
22174
+ - sourceText
22175
+ - targetLanguage
22176
+ - contentType
22177
+ - translatedText
22178
+ - quality
22179
+ - isOverride
22180
+ - createdAt
22181
+ - updatedAt
22182
+ TranslationListParams:
22183
+ type: object
22184
+ properties:
22185
+ targetLanguage:
22186
+ type: string
22187
+ sourceLanguage:
22188
+ type: string
22189
+ contentType:
22190
+ type: string
22191
+ contextKey:
22192
+ type: string
22193
+ q:
22194
+ type: string
22195
+ isOverride:
22196
+ type: boolean
22197
+ limit:
22198
+ type: number
22199
+ offset:
22200
+ type: number
22201
+ TranslationListResponse:
22202
+ type: object
22203
+ properties:
22204
+ items:
22205
+ type: array
22206
+ items:
22207
+ $ref: "#/components/schemas/TranslationRecord"
22208
+ total:
22209
+ type: number
22210
+ limit:
22211
+ type: number
22212
+ offset:
22213
+ type: number
22214
+ required:
22215
+ - items
22216
+ TranslationUpdateRequest:
22217
+ type: object
22218
+ properties:
22219
+ translatedText:
22220
+ type: string
22221
+ isOverride:
22222
+ type: boolean
22223
+ quality:
22224
+ $ref: "#/components/schemas/TranslationQuality"
22225
+ metadata:
22226
+ type: object
22227
+ additionalProperties: true
20925
22228
  AppConfigOptions:
20926
22229
  type: object
20927
22230
  properties: