@usethrottle/api-client 2.7.0 → 2.9.0

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.
Files changed (39) hide show
  1. package/dist/generated/index.d.ts +1 -1
  2. package/dist/generated/index.d.ts.map +1 -1
  3. package/dist/generated/index.js +1 -0
  4. package/dist/generated/index.js.map +1 -1
  5. package/dist/generated/services/CheckoutSessionsService.d.ts +0 -4
  6. package/dist/generated/services/CheckoutSessionsService.d.ts.map +1 -1
  7. package/dist/generated/services/CheckoutSessionsService.js.map +1 -1
  8. package/dist/generated/services/DefaultService.d.ts +14 -1
  9. package/dist/generated/services/DefaultService.d.ts.map +1 -1
  10. package/dist/generated/services/DefaultService.js +32 -0
  11. package/dist/generated/services/DefaultService.js.map +1 -1
  12. package/dist/generated/services/FulfillmentsService.d.ts +4 -67
  13. package/dist/generated/services/FulfillmentsService.d.ts.map +1 -1
  14. package/dist/generated/services/FulfillmentsService.js +4 -16
  15. package/dist/generated/services/FulfillmentsService.js.map +1 -1
  16. package/dist/generated/services/OrdersService.d.ts +9 -40
  17. package/dist/generated/services/OrdersService.d.ts.map +1 -1
  18. package/dist/generated/services/OrdersService.js +1 -1
  19. package/dist/generated/services/OrdersService.js.map +1 -1
  20. package/dist/generated/services/PartnersService.d.ts +1 -1
  21. package/dist/generated/services/PartnersService.js +1 -1
  22. package/dist/generated/services/QuotesService.d.ts +1782 -0
  23. package/dist/generated/services/QuotesService.d.ts.map +1 -0
  24. package/dist/generated/services/QuotesService.js +595 -0
  25. package/dist/generated/services/QuotesService.js.map +1 -0
  26. package/dist/generated/services/TrackingService.d.ts +12 -22
  27. package/dist/generated/services/TrackingService.d.ts.map +1 -1
  28. package/dist/generated/services/TrackingService.js +13 -5
  29. package/dist/generated/services/TrackingService.js.map +1 -1
  30. package/dist/generated/services/WebhooksOutboundService.d.ts +3 -3
  31. package/dist/generated/services/WebhooksOutboundService.d.ts.map +1 -1
  32. package/dist/generated/services/WorkspacesService.d.ts +0 -3
  33. package/dist/generated/services/WorkspacesService.d.ts.map +1 -1
  34. package/dist/generated/services/WorkspacesService.js.map +1 -1
  35. package/package.json +1 -1
  36. package/dist/generated/models/ClientContext.d.ts +0 -25
  37. package/dist/generated/models/ClientContext.d.ts.map +0 -1
  38. package/dist/generated/models/ClientContext.js +0 -2
  39. package/dist/generated/models/ClientContext.js.map +0 -1
@@ -0,0 +1,1782 @@
1
+ import type { CancelablePromise } from '../core/CancelablePromise.js';
2
+ export declare class QuotesService {
3
+ /**
4
+ * List quotes with cursor pagination
5
+ * @param xThrottleEnvironmentId Optional workspace environment id for dashboard-session, Clerk JWT, and extension-session requests. API keys are already pinned to one workspace environment.
6
+ * @param cursor Cursor for pagination (last item ID)
7
+ * @param limit Number of items per page
8
+ * @param status Comma-separated status filter, e.g. proposed,accepted
9
+ * @param q Search quote number, customer email, or buyer reference
10
+ * @param assignedMemberId
11
+ * @param customerId
12
+ * @returns any Default Response
13
+ * @throws ApiError
14
+ */
15
+ static getApiV1Quotes(xThrottleEnvironmentId?: string, cursor?: string, limit?: number, status?: string, q?: string, assignedMemberId?: string, customerId?: string): CancelablePromise<{
16
+ data?: Array<{
17
+ id?: string;
18
+ quoteNumber?: string;
19
+ status?: 'draft' | 'requested' | 'under_review' | 'proposed' | 'revision_requested' | 'accepted' | 'converted' | 'declined' | 'expired' | 'archived';
20
+ customerId?: string | null;
21
+ customerEmail?: string | null;
22
+ buyerReference?: string | null;
23
+ source?: 'dashboard' | 'api' | 'cart' | 'request_form';
24
+ sourceCartId?: string | null;
25
+ assignedMemberId?: string | null;
26
+ currency?: string;
27
+ currentRevisionId?: string | null;
28
+ acceptedRevisionId?: string | null;
29
+ acceptedAt?: string | null;
30
+ checkoutSessionId?: string | null;
31
+ orderId?: string | null;
32
+ declinedAt?: string | null;
33
+ declinedReason?: string | null;
34
+ expiresAt?: string | null;
35
+ /**
36
+ * qtl_ capability token — the buyer link is /q/{shareToken}
37
+ */
38
+ shareToken?: string;
39
+ shareTokenPrefix?: string;
40
+ firstViewedAt?: string | null;
41
+ lastViewedAt?: string | null;
42
+ internalNotes?: string | null;
43
+ /**
44
+ * Arbitrary key-value metadata
45
+ */
46
+ metadata?: Record<string, any>;
47
+ environmentId?: string;
48
+ total?: number | null;
49
+ createdAt?: string;
50
+ updatedAt?: string;
51
+ }>;
52
+ meta?: {
53
+ requestId?: string;
54
+ pagination?: {
55
+ cursor?: string | null;
56
+ hasMore?: boolean;
57
+ };
58
+ };
59
+ }>;
60
+ /**
61
+ * Create a quote (draft, or requested for RFQ intake)
62
+ * @param requestBody
63
+ * @param xThrottleEnvironmentId Optional workspace environment id for dashboard-session, Clerk JWT, and extension-session requests. API keys are already pinned to one workspace environment.
64
+ * @returns any Default Response
65
+ * @throws ApiError
66
+ */
67
+ static postApiV1Quotes(requestBody: {
68
+ status?: 'draft' | 'requested';
69
+ customerId?: string | null;
70
+ customerEmail?: string | null;
71
+ buyerReference?: string | null;
72
+ source?: 'dashboard' | 'api';
73
+ assignedMemberId?: string | null;
74
+ currency?: string;
75
+ internalNotes?: string | null;
76
+ items?: Array<{
77
+ type?: 'product' | 'subscription' | 'service' | 'ticket' | 'donation' | 'custom';
78
+ referenceId?: string | null;
79
+ sku?: string | null;
80
+ name: string;
81
+ description?: string | null;
82
+ unitPrice: number;
83
+ quantity?: number;
84
+ taxAmount?: number;
85
+ discountAmount?: number;
86
+ priceSource?: 'catalog' | 'override' | 'custom';
87
+ optional?: boolean;
88
+ qtyEditable?: boolean;
89
+ imageUrl?: string | null;
90
+ position?: number;
91
+ metadata?: Record<string, any>;
92
+ }>;
93
+ /**
94
+ * pay_in_full | net_terms (netN 1-365) | deposit_balance (deposit percent/fixed + balanceNetN)
95
+ */
96
+ paymentTerms?: {
97
+ mode: 'pay_in_full' | 'net_terms' | 'deposit_balance';
98
+ netN?: number;
99
+ balanceNetN?: number;
100
+ deposit?: {
101
+ type: 'percent' | 'fixed';
102
+ value: number;
103
+ };
104
+ };
105
+ expiresAt?: string | null;
106
+ buyerNote?: string | null;
107
+ leadTime?: string | null;
108
+ shippingMode?: 'none' | 'flat' | 'checkout_calculated' | 'free';
109
+ shippingFlatAmount?: number | null;
110
+ metadata?: Record<string, any>;
111
+ }, xThrottleEnvironmentId?: string): CancelablePromise<{
112
+ data?: {
113
+ quote?: {
114
+ id?: string;
115
+ quoteNumber?: string;
116
+ status?: 'draft' | 'requested' | 'under_review' | 'proposed' | 'revision_requested' | 'accepted' | 'converted' | 'declined' | 'expired' | 'archived';
117
+ customerId?: string | null;
118
+ customerEmail?: string | null;
119
+ buyerReference?: string | null;
120
+ source?: 'dashboard' | 'api' | 'cart' | 'request_form';
121
+ sourceCartId?: string | null;
122
+ assignedMemberId?: string | null;
123
+ currency?: string;
124
+ currentRevisionId?: string | null;
125
+ acceptedRevisionId?: string | null;
126
+ acceptedAt?: string | null;
127
+ checkoutSessionId?: string | null;
128
+ orderId?: string | null;
129
+ declinedAt?: string | null;
130
+ declinedReason?: string | null;
131
+ expiresAt?: string | null;
132
+ /**
133
+ * qtl_ capability token — the buyer link is /q/{shareToken}
134
+ */
135
+ shareToken?: string;
136
+ shareTokenPrefix?: string;
137
+ firstViewedAt?: string | null;
138
+ lastViewedAt?: string | null;
139
+ internalNotes?: string | null;
140
+ /**
141
+ * Arbitrary key-value metadata
142
+ */
143
+ metadata?: Record<string, any>;
144
+ environmentId?: string;
145
+ total?: number | null;
146
+ createdAt?: string;
147
+ updatedAt?: string;
148
+ };
149
+ revision?: {
150
+ id?: string;
151
+ quoteId?: string;
152
+ revisionNumber?: number;
153
+ state?: 'working' | 'issued' | 'superseded';
154
+ issuedAt?: string | null;
155
+ expiresAt?: string | null;
156
+ subtotal?: number;
157
+ taxTotal?: number;
158
+ discountTotal?: number;
159
+ shippingTotal?: number;
160
+ total?: number;
161
+ shippingMode?: 'none' | 'flat' | 'checkout_calculated' | 'free';
162
+ shippingFlatAmount?: number | null;
163
+ /**
164
+ * { mode: 'pay_in_full' } | { mode: 'net_terms', netN } | { mode: 'deposit_balance', deposit: { type, value }, balanceNetN }
165
+ */
166
+ paymentTerms?: Record<string, any>;
167
+ depositAmount?: number | null;
168
+ buyerNote?: string | null;
169
+ changeSummary?: string | null;
170
+ leadTime?: string | null;
171
+ pdfStorageKey?: string | null;
172
+ /**
173
+ * Arbitrary key-value metadata
174
+ */
175
+ metadata?: Record<string, any>;
176
+ items?: Array<{
177
+ id?: string;
178
+ revisionId?: string;
179
+ type?: string;
180
+ referenceId?: string | null;
181
+ sku?: string | null;
182
+ name?: string;
183
+ description?: string | null;
184
+ unitPrice?: number;
185
+ quantity?: number;
186
+ subtotal?: number;
187
+ taxAmount?: number;
188
+ discountAmount?: number;
189
+ total?: number;
190
+ priceSource?: 'catalog' | 'override' | 'custom';
191
+ optional?: boolean;
192
+ optionalSelected?: boolean;
193
+ qtyEditable?: boolean;
194
+ imageUrl?: string | null;
195
+ position?: number;
196
+ /**
197
+ * Arbitrary key-value metadata
198
+ */
199
+ metadata?: Record<string, any>;
200
+ createdAt?: string;
201
+ updatedAt?: string;
202
+ }>;
203
+ createdAt?: string;
204
+ updatedAt?: string;
205
+ };
206
+ items?: Array<{
207
+ id?: string;
208
+ revisionId?: string;
209
+ type?: string;
210
+ referenceId?: string | null;
211
+ sku?: string | null;
212
+ name?: string;
213
+ description?: string | null;
214
+ unitPrice?: number;
215
+ quantity?: number;
216
+ subtotal?: number;
217
+ taxAmount?: number;
218
+ discountAmount?: number;
219
+ total?: number;
220
+ priceSource?: 'catalog' | 'override' | 'custom';
221
+ optional?: boolean;
222
+ optionalSelected?: boolean;
223
+ qtyEditable?: boolean;
224
+ imageUrl?: string | null;
225
+ position?: number;
226
+ /**
227
+ * Arbitrary key-value metadata
228
+ */
229
+ metadata?: Record<string, any>;
230
+ createdAt?: string;
231
+ updatedAt?: string;
232
+ }>;
233
+ };
234
+ meta?: {
235
+ requestId?: string;
236
+ pagination?: {
237
+ cursor?: string | null;
238
+ hasMore?: boolean;
239
+ };
240
+ };
241
+ }>;
242
+ /**
243
+ * Get a quote with revisions, comments, and timeline (merchant view)
244
+ * @param id
245
+ * @param xThrottleEnvironmentId Optional workspace environment id for dashboard-session, Clerk JWT, and extension-session requests. API keys are already pinned to one workspace environment.
246
+ * @returns any Default Response
247
+ * @throws ApiError
248
+ */
249
+ static getApiV1Quotes1(id: string, xThrottleEnvironmentId?: string): CancelablePromise<{
250
+ data?: {
251
+ id?: string;
252
+ quoteNumber?: string;
253
+ status?: 'draft' | 'requested' | 'under_review' | 'proposed' | 'revision_requested' | 'accepted' | 'converted' | 'declined' | 'expired' | 'archived';
254
+ customerId?: string | null;
255
+ customerEmail?: string | null;
256
+ buyerReference?: string | null;
257
+ source?: 'dashboard' | 'api' | 'cart' | 'request_form';
258
+ sourceCartId?: string | null;
259
+ assignedMemberId?: string | null;
260
+ currency?: string;
261
+ currentRevisionId?: string | null;
262
+ acceptedRevisionId?: string | null;
263
+ acceptedAt?: string | null;
264
+ checkoutSessionId?: string | null;
265
+ orderId?: string | null;
266
+ declinedAt?: string | null;
267
+ declinedReason?: string | null;
268
+ expiresAt?: string | null;
269
+ /**
270
+ * qtl_ capability token — the buyer link is /q/{shareToken}
271
+ */
272
+ shareToken?: string;
273
+ shareTokenPrefix?: string;
274
+ firstViewedAt?: string | null;
275
+ lastViewedAt?: string | null;
276
+ internalNotes?: string | null;
277
+ /**
278
+ * Arbitrary key-value metadata
279
+ */
280
+ metadata?: Record<string, any>;
281
+ environmentId?: string;
282
+ total?: number | null;
283
+ createdAt?: string;
284
+ updatedAt?: string;
285
+ revisions?: Array<{
286
+ id?: string;
287
+ quoteId?: string;
288
+ revisionNumber?: number;
289
+ state?: 'working' | 'issued' | 'superseded';
290
+ issuedAt?: string | null;
291
+ expiresAt?: string | null;
292
+ subtotal?: number;
293
+ taxTotal?: number;
294
+ discountTotal?: number;
295
+ shippingTotal?: number;
296
+ total?: number;
297
+ shippingMode?: 'none' | 'flat' | 'checkout_calculated' | 'free';
298
+ shippingFlatAmount?: number | null;
299
+ /**
300
+ * { mode: 'pay_in_full' } | { mode: 'net_terms', netN } | { mode: 'deposit_balance', deposit: { type, value }, balanceNetN }
301
+ */
302
+ paymentTerms?: Record<string, any>;
303
+ depositAmount?: number | null;
304
+ buyerNote?: string | null;
305
+ changeSummary?: string | null;
306
+ leadTime?: string | null;
307
+ pdfStorageKey?: string | null;
308
+ /**
309
+ * Arbitrary key-value metadata
310
+ */
311
+ metadata?: Record<string, any>;
312
+ items?: Array<{
313
+ id?: string;
314
+ revisionId?: string;
315
+ type?: string;
316
+ referenceId?: string | null;
317
+ sku?: string | null;
318
+ name?: string;
319
+ description?: string | null;
320
+ unitPrice?: number;
321
+ quantity?: number;
322
+ subtotal?: number;
323
+ taxAmount?: number;
324
+ discountAmount?: number;
325
+ total?: number;
326
+ priceSource?: 'catalog' | 'override' | 'custom';
327
+ optional?: boolean;
328
+ optionalSelected?: boolean;
329
+ qtyEditable?: boolean;
330
+ imageUrl?: string | null;
331
+ position?: number;
332
+ /**
333
+ * Arbitrary key-value metadata
334
+ */
335
+ metadata?: Record<string, any>;
336
+ createdAt?: string;
337
+ updatedAt?: string;
338
+ }>;
339
+ createdAt?: string;
340
+ updatedAt?: string;
341
+ }>;
342
+ comments?: Array<{
343
+ id?: string;
344
+ quoteId?: string;
345
+ revisionId?: string | null;
346
+ authorType?: 'buyer' | 'merchant' | 'system';
347
+ authorMemberId?: string | null;
348
+ authorName?: string | null;
349
+ authorEmail?: string | null;
350
+ body?: string;
351
+ visibility?: 'shared' | 'internal';
352
+ createdAt?: string;
353
+ }>;
354
+ timeline?: Array<{
355
+ id?: string;
356
+ quoteId?: string;
357
+ type?: string;
358
+ actorType?: 'buyer' | 'merchant' | 'system';
359
+ actorId?: string | null;
360
+ data?: Record<string, any>;
361
+ createdAt?: string;
362
+ }>;
363
+ };
364
+ meta?: {
365
+ requestId?: string;
366
+ pagination?: {
367
+ cursor?: string | null;
368
+ hasMore?: boolean;
369
+ };
370
+ };
371
+ }>;
372
+ /**
373
+ * Update quote assignment, linkage, internal notes, or archive it
374
+ * @param id
375
+ * @param requestBody
376
+ * @param xThrottleEnvironmentId Optional workspace environment id for dashboard-session, Clerk JWT, and extension-session requests. API keys are already pinned to one workspace environment.
377
+ * @returns any Default Response
378
+ * @throws ApiError
379
+ */
380
+ static patchApiV1Quotes(id: string, requestBody: {
381
+ assignedMemberId?: string | null;
382
+ customerId?: string | null;
383
+ customerEmail?: string | null;
384
+ buyerReference?: string | null;
385
+ internalNotes?: string | null;
386
+ /**
387
+ * Arbitrary key-value metadata
388
+ */
389
+ metadata?: Record<string, any>;
390
+ status?: 'archived';
391
+ }, xThrottleEnvironmentId?: string): CancelablePromise<{
392
+ data?: {
393
+ id?: string;
394
+ quoteNumber?: string;
395
+ status?: 'draft' | 'requested' | 'under_review' | 'proposed' | 'revision_requested' | 'accepted' | 'converted' | 'declined' | 'expired' | 'archived';
396
+ customerId?: string | null;
397
+ customerEmail?: string | null;
398
+ buyerReference?: string | null;
399
+ source?: 'dashboard' | 'api' | 'cart' | 'request_form';
400
+ sourceCartId?: string | null;
401
+ assignedMemberId?: string | null;
402
+ currency?: string;
403
+ currentRevisionId?: string | null;
404
+ acceptedRevisionId?: string | null;
405
+ acceptedAt?: string | null;
406
+ checkoutSessionId?: string | null;
407
+ orderId?: string | null;
408
+ declinedAt?: string | null;
409
+ declinedReason?: string | null;
410
+ expiresAt?: string | null;
411
+ /**
412
+ * qtl_ capability token — the buyer link is /q/{shareToken}
413
+ */
414
+ shareToken?: string;
415
+ shareTokenPrefix?: string;
416
+ firstViewedAt?: string | null;
417
+ lastViewedAt?: string | null;
418
+ internalNotes?: string | null;
419
+ /**
420
+ * Arbitrary key-value metadata
421
+ */
422
+ metadata?: Record<string, any>;
423
+ environmentId?: string;
424
+ total?: number | null;
425
+ createdAt?: string;
426
+ updatedAt?: string;
427
+ };
428
+ meta?: {
429
+ requestId?: string;
430
+ pagination?: {
431
+ cursor?: string | null;
432
+ hasMore?: boolean;
433
+ };
434
+ };
435
+ }>;
436
+ /**
437
+ * Start a new working revision cloned from the latest issued revision
438
+ * @param id
439
+ * @param requestBody
440
+ * @param xThrottleEnvironmentId Optional workspace environment id for dashboard-session, Clerk JWT, and extension-session requests. API keys are already pinned to one workspace environment.
441
+ * @returns any Default Response
442
+ * @throws ApiError
443
+ */
444
+ static postApiV1QuotesRevisions(id: string, requestBody: any, xThrottleEnvironmentId?: string): CancelablePromise<{
445
+ data?: {
446
+ revision?: {
447
+ id?: string;
448
+ quoteId?: string;
449
+ revisionNumber?: number;
450
+ state?: 'working' | 'issued' | 'superseded';
451
+ issuedAt?: string | null;
452
+ expiresAt?: string | null;
453
+ subtotal?: number;
454
+ taxTotal?: number;
455
+ discountTotal?: number;
456
+ shippingTotal?: number;
457
+ total?: number;
458
+ shippingMode?: 'none' | 'flat' | 'checkout_calculated' | 'free';
459
+ shippingFlatAmount?: number | null;
460
+ /**
461
+ * { mode: 'pay_in_full' } | { mode: 'net_terms', netN } | { mode: 'deposit_balance', deposit: { type, value }, balanceNetN }
462
+ */
463
+ paymentTerms?: Record<string, any>;
464
+ depositAmount?: number | null;
465
+ buyerNote?: string | null;
466
+ changeSummary?: string | null;
467
+ leadTime?: string | null;
468
+ pdfStorageKey?: string | null;
469
+ /**
470
+ * Arbitrary key-value metadata
471
+ */
472
+ metadata?: Record<string, any>;
473
+ items?: Array<{
474
+ id?: string;
475
+ revisionId?: string;
476
+ type?: string;
477
+ referenceId?: string | null;
478
+ sku?: string | null;
479
+ name?: string;
480
+ description?: string | null;
481
+ unitPrice?: number;
482
+ quantity?: number;
483
+ subtotal?: number;
484
+ taxAmount?: number;
485
+ discountAmount?: number;
486
+ total?: number;
487
+ priceSource?: 'catalog' | 'override' | 'custom';
488
+ optional?: boolean;
489
+ optionalSelected?: boolean;
490
+ qtyEditable?: boolean;
491
+ imageUrl?: string | null;
492
+ position?: number;
493
+ /**
494
+ * Arbitrary key-value metadata
495
+ */
496
+ metadata?: Record<string, any>;
497
+ createdAt?: string;
498
+ updatedAt?: string;
499
+ }>;
500
+ createdAt?: string;
501
+ updatedAt?: string;
502
+ };
503
+ items?: Array<{
504
+ id?: string;
505
+ revisionId?: string;
506
+ type?: string;
507
+ referenceId?: string | null;
508
+ sku?: string | null;
509
+ name?: string;
510
+ description?: string | null;
511
+ unitPrice?: number;
512
+ quantity?: number;
513
+ subtotal?: number;
514
+ taxAmount?: number;
515
+ discountAmount?: number;
516
+ total?: number;
517
+ priceSource?: 'catalog' | 'override' | 'custom';
518
+ optional?: boolean;
519
+ optionalSelected?: boolean;
520
+ qtyEditable?: boolean;
521
+ imageUrl?: string | null;
522
+ position?: number;
523
+ /**
524
+ * Arbitrary key-value metadata
525
+ */
526
+ metadata?: Record<string, any>;
527
+ createdAt?: string;
528
+ updatedAt?: string;
529
+ }>;
530
+ };
531
+ meta?: {
532
+ requestId?: string;
533
+ pagination?: {
534
+ cursor?: string | null;
535
+ hasMore?: boolean;
536
+ };
537
+ };
538
+ }>;
539
+ /**
540
+ * Edit the working revision (items, terms, expiry, notes)
541
+ * @param id
542
+ * @param revId
543
+ * @param requestBody
544
+ * @param xThrottleEnvironmentId Optional workspace environment id for dashboard-session, Clerk JWT, and extension-session requests. API keys are already pinned to one workspace environment.
545
+ * @returns any Default Response
546
+ * @throws ApiError
547
+ */
548
+ static patchApiV1QuotesRevisions(id: string, revId: string, requestBody: {
549
+ items?: Array<{
550
+ type?: 'product' | 'subscription' | 'service' | 'ticket' | 'donation' | 'custom';
551
+ referenceId?: string | null;
552
+ sku?: string | null;
553
+ name: string;
554
+ description?: string | null;
555
+ unitPrice: number;
556
+ quantity?: number;
557
+ taxAmount?: number;
558
+ discountAmount?: number;
559
+ priceSource?: 'catalog' | 'override' | 'custom';
560
+ optional?: boolean;
561
+ qtyEditable?: boolean;
562
+ imageUrl?: string | null;
563
+ position?: number;
564
+ metadata?: Record<string, any>;
565
+ }>;
566
+ /**
567
+ * pay_in_full | net_terms (netN 1-365) | deposit_balance (deposit percent/fixed + balanceNetN)
568
+ */
569
+ paymentTerms?: {
570
+ mode: 'pay_in_full' | 'net_terms' | 'deposit_balance';
571
+ netN?: number;
572
+ balanceNetN?: number;
573
+ deposit?: {
574
+ type: 'percent' | 'fixed';
575
+ value: number;
576
+ };
577
+ };
578
+ expiresAt?: string | null;
579
+ buyerNote?: string | null;
580
+ leadTime?: string | null;
581
+ shippingMode?: 'none' | 'flat' | 'checkout_calculated' | 'free';
582
+ shippingFlatAmount?: number | null;
583
+ metadata?: Record<string, any>;
584
+ changeSummary?: string | null;
585
+ }, xThrottleEnvironmentId?: string): CancelablePromise<{
586
+ data?: {
587
+ revision?: {
588
+ id?: string;
589
+ quoteId?: string;
590
+ revisionNumber?: number;
591
+ state?: 'working' | 'issued' | 'superseded';
592
+ issuedAt?: string | null;
593
+ expiresAt?: string | null;
594
+ subtotal?: number;
595
+ taxTotal?: number;
596
+ discountTotal?: number;
597
+ shippingTotal?: number;
598
+ total?: number;
599
+ shippingMode?: 'none' | 'flat' | 'checkout_calculated' | 'free';
600
+ shippingFlatAmount?: number | null;
601
+ /**
602
+ * { mode: 'pay_in_full' } | { mode: 'net_terms', netN } | { mode: 'deposit_balance', deposit: { type, value }, balanceNetN }
603
+ */
604
+ paymentTerms?: Record<string, any>;
605
+ depositAmount?: number | null;
606
+ buyerNote?: string | null;
607
+ changeSummary?: string | null;
608
+ leadTime?: string | null;
609
+ pdfStorageKey?: string | null;
610
+ /**
611
+ * Arbitrary key-value metadata
612
+ */
613
+ metadata?: Record<string, any>;
614
+ items?: Array<{
615
+ id?: string;
616
+ revisionId?: string;
617
+ type?: string;
618
+ referenceId?: string | null;
619
+ sku?: string | null;
620
+ name?: string;
621
+ description?: string | null;
622
+ unitPrice?: number;
623
+ quantity?: number;
624
+ subtotal?: number;
625
+ taxAmount?: number;
626
+ discountAmount?: number;
627
+ total?: number;
628
+ priceSource?: 'catalog' | 'override' | 'custom';
629
+ optional?: boolean;
630
+ optionalSelected?: boolean;
631
+ qtyEditable?: boolean;
632
+ imageUrl?: string | null;
633
+ position?: number;
634
+ /**
635
+ * Arbitrary key-value metadata
636
+ */
637
+ metadata?: Record<string, any>;
638
+ createdAt?: string;
639
+ updatedAt?: string;
640
+ }>;
641
+ createdAt?: string;
642
+ updatedAt?: string;
643
+ };
644
+ items?: Array<{
645
+ id?: string;
646
+ revisionId?: string;
647
+ type?: string;
648
+ referenceId?: string | null;
649
+ sku?: string | null;
650
+ name?: string;
651
+ description?: string | null;
652
+ unitPrice?: number;
653
+ quantity?: number;
654
+ subtotal?: number;
655
+ taxAmount?: number;
656
+ discountAmount?: number;
657
+ total?: number;
658
+ priceSource?: 'catalog' | 'override' | 'custom';
659
+ optional?: boolean;
660
+ optionalSelected?: boolean;
661
+ qtyEditable?: boolean;
662
+ imageUrl?: string | null;
663
+ position?: number;
664
+ /**
665
+ * Arbitrary key-value metadata
666
+ */
667
+ metadata?: Record<string, any>;
668
+ createdAt?: string;
669
+ updatedAt?: string;
670
+ }>;
671
+ };
672
+ meta?: {
673
+ requestId?: string;
674
+ pagination?: {
675
+ cursor?: string | null;
676
+ hasMore?: boolean;
677
+ };
678
+ };
679
+ }>;
680
+ /**
681
+ * Freeze the working revision, supersede the prior one, and propose the quote
682
+ * @param id
683
+ * @param requestBody
684
+ * @param xThrottleEnvironmentId Optional workspace environment id for dashboard-session, Clerk JWT, and extension-session requests. API keys are already pinned to one workspace environment.
685
+ * @returns any Default Response
686
+ * @throws ApiError
687
+ */
688
+ static postApiV1QuotesIssue(id: string, requestBody: any, xThrottleEnvironmentId?: string): CancelablePromise<{
689
+ data?: {
690
+ quote?: {
691
+ id?: string;
692
+ quoteNumber?: string;
693
+ status?: 'draft' | 'requested' | 'under_review' | 'proposed' | 'revision_requested' | 'accepted' | 'converted' | 'declined' | 'expired' | 'archived';
694
+ customerId?: string | null;
695
+ customerEmail?: string | null;
696
+ buyerReference?: string | null;
697
+ source?: 'dashboard' | 'api' | 'cart' | 'request_form';
698
+ sourceCartId?: string | null;
699
+ assignedMemberId?: string | null;
700
+ currency?: string;
701
+ currentRevisionId?: string | null;
702
+ acceptedRevisionId?: string | null;
703
+ acceptedAt?: string | null;
704
+ checkoutSessionId?: string | null;
705
+ orderId?: string | null;
706
+ declinedAt?: string | null;
707
+ declinedReason?: string | null;
708
+ expiresAt?: string | null;
709
+ /**
710
+ * qtl_ capability token — the buyer link is /q/{shareToken}
711
+ */
712
+ shareToken?: string;
713
+ shareTokenPrefix?: string;
714
+ firstViewedAt?: string | null;
715
+ lastViewedAt?: string | null;
716
+ internalNotes?: string | null;
717
+ /**
718
+ * Arbitrary key-value metadata
719
+ */
720
+ metadata?: Record<string, any>;
721
+ environmentId?: string;
722
+ total?: number | null;
723
+ createdAt?: string;
724
+ updatedAt?: string;
725
+ };
726
+ revision?: {
727
+ id?: string;
728
+ quoteId?: string;
729
+ revisionNumber?: number;
730
+ state?: 'working' | 'issued' | 'superseded';
731
+ issuedAt?: string | null;
732
+ expiresAt?: string | null;
733
+ subtotal?: number;
734
+ taxTotal?: number;
735
+ discountTotal?: number;
736
+ shippingTotal?: number;
737
+ total?: number;
738
+ shippingMode?: 'none' | 'flat' | 'checkout_calculated' | 'free';
739
+ shippingFlatAmount?: number | null;
740
+ /**
741
+ * { mode: 'pay_in_full' } | { mode: 'net_terms', netN } | { mode: 'deposit_balance', deposit: { type, value }, balanceNetN }
742
+ */
743
+ paymentTerms?: Record<string, any>;
744
+ depositAmount?: number | null;
745
+ buyerNote?: string | null;
746
+ changeSummary?: string | null;
747
+ leadTime?: string | null;
748
+ pdfStorageKey?: string | null;
749
+ /**
750
+ * Arbitrary key-value metadata
751
+ */
752
+ metadata?: Record<string, any>;
753
+ items?: Array<{
754
+ id?: string;
755
+ revisionId?: string;
756
+ type?: string;
757
+ referenceId?: string | null;
758
+ sku?: string | null;
759
+ name?: string;
760
+ description?: string | null;
761
+ unitPrice?: number;
762
+ quantity?: number;
763
+ subtotal?: number;
764
+ taxAmount?: number;
765
+ discountAmount?: number;
766
+ total?: number;
767
+ priceSource?: 'catalog' | 'override' | 'custom';
768
+ optional?: boolean;
769
+ optionalSelected?: boolean;
770
+ qtyEditable?: boolean;
771
+ imageUrl?: string | null;
772
+ position?: number;
773
+ /**
774
+ * Arbitrary key-value metadata
775
+ */
776
+ metadata?: Record<string, any>;
777
+ createdAt?: string;
778
+ updatedAt?: string;
779
+ }>;
780
+ createdAt?: string;
781
+ updatedAt?: string;
782
+ };
783
+ items?: Array<{
784
+ id?: string;
785
+ revisionId?: string;
786
+ type?: string;
787
+ referenceId?: string | null;
788
+ sku?: string | null;
789
+ name?: string;
790
+ description?: string | null;
791
+ unitPrice?: number;
792
+ quantity?: number;
793
+ subtotal?: number;
794
+ taxAmount?: number;
795
+ discountAmount?: number;
796
+ total?: number;
797
+ priceSource?: 'catalog' | 'override' | 'custom';
798
+ optional?: boolean;
799
+ optionalSelected?: boolean;
800
+ qtyEditable?: boolean;
801
+ imageUrl?: string | null;
802
+ position?: number;
803
+ /**
804
+ * Arbitrary key-value metadata
805
+ */
806
+ metadata?: Record<string, any>;
807
+ createdAt?: string;
808
+ updatedAt?: string;
809
+ }>;
810
+ };
811
+ meta?: {
812
+ requestId?: string;
813
+ pagination?: {
814
+ cursor?: string | null;
815
+ hasMore?: boolean;
816
+ };
817
+ };
818
+ }>;
819
+ /**
820
+ * Rotate the buyer link token (invalidates the old link)
821
+ * @param id
822
+ * @param requestBody
823
+ * @param xThrottleEnvironmentId Optional workspace environment id for dashboard-session, Clerk JWT, and extension-session requests. API keys are already pinned to one workspace environment.
824
+ * @returns any Default Response
825
+ * @throws ApiError
826
+ */
827
+ static postApiV1QuotesRotateLink(id: string, requestBody: any, xThrottleEnvironmentId?: string): CancelablePromise<{
828
+ data?: {
829
+ quote?: {
830
+ id?: string;
831
+ quoteNumber?: string;
832
+ status?: 'draft' | 'requested' | 'under_review' | 'proposed' | 'revision_requested' | 'accepted' | 'converted' | 'declined' | 'expired' | 'archived';
833
+ customerId?: string | null;
834
+ customerEmail?: string | null;
835
+ buyerReference?: string | null;
836
+ source?: 'dashboard' | 'api' | 'cart' | 'request_form';
837
+ sourceCartId?: string | null;
838
+ assignedMemberId?: string | null;
839
+ currency?: string;
840
+ currentRevisionId?: string | null;
841
+ acceptedRevisionId?: string | null;
842
+ acceptedAt?: string | null;
843
+ checkoutSessionId?: string | null;
844
+ orderId?: string | null;
845
+ declinedAt?: string | null;
846
+ declinedReason?: string | null;
847
+ expiresAt?: string | null;
848
+ /**
849
+ * qtl_ capability token — the buyer link is /q/{shareToken}
850
+ */
851
+ shareToken?: string;
852
+ shareTokenPrefix?: string;
853
+ firstViewedAt?: string | null;
854
+ lastViewedAt?: string | null;
855
+ internalNotes?: string | null;
856
+ /**
857
+ * Arbitrary key-value metadata
858
+ */
859
+ metadata?: Record<string, any>;
860
+ environmentId?: string;
861
+ total?: number | null;
862
+ createdAt?: string;
863
+ updatedAt?: string;
864
+ };
865
+ shareToken?: string;
866
+ };
867
+ meta?: {
868
+ requestId?: string;
869
+ pagination?: {
870
+ cursor?: string | null;
871
+ hasMore?: boolean;
872
+ };
873
+ };
874
+ }>;
875
+ /**
876
+ * Add a merchant comment (shared with the buyer, or internal)
877
+ * @param id
878
+ * @param requestBody
879
+ * @param xThrottleEnvironmentId Optional workspace environment id for dashboard-session, Clerk JWT, and extension-session requests. API keys are already pinned to one workspace environment.
880
+ * @returns any Default Response
881
+ * @throws ApiError
882
+ */
883
+ static postApiV1QuotesComments(id: string, requestBody: {
884
+ body: string;
885
+ visibility?: 'shared' | 'internal';
886
+ revisionId?: string | null;
887
+ }, xThrottleEnvironmentId?: string): CancelablePromise<{
888
+ data?: {
889
+ id?: string;
890
+ quoteId?: string;
891
+ revisionId?: string | null;
892
+ authorType?: 'buyer' | 'merchant' | 'system';
893
+ authorMemberId?: string | null;
894
+ authorName?: string | null;
895
+ authorEmail?: string | null;
896
+ body?: string;
897
+ visibility?: 'shared' | 'internal';
898
+ createdAt?: string;
899
+ };
900
+ meta?: {
901
+ requestId?: string;
902
+ pagination?: {
903
+ cursor?: string | null;
904
+ hasMore?: boolean;
905
+ };
906
+ };
907
+ }>;
908
+ /**
909
+ * Snapshot a cart's lines into a requested quote (the cart is unchanged)
910
+ * @param id
911
+ * @param requestBody
912
+ * @param xThrottleEnvironmentId Optional workspace environment id for dashboard-session, Clerk JWT, and extension-session requests. API keys are already pinned to one workspace environment.
913
+ * @returns any Default Response
914
+ * @throws ApiError
915
+ */
916
+ static postApiV1CartsRequestQuote(id: string, requestBody: {
917
+ buyerReference?: string | null;
918
+ note?: string | null;
919
+ }, xThrottleEnvironmentId?: string): CancelablePromise<{
920
+ data?: {
921
+ quote?: {
922
+ id?: string;
923
+ quoteNumber?: string;
924
+ status?: 'draft' | 'requested' | 'under_review' | 'proposed' | 'revision_requested' | 'accepted' | 'converted' | 'declined' | 'expired' | 'archived';
925
+ customerId?: string | null;
926
+ customerEmail?: string | null;
927
+ buyerReference?: string | null;
928
+ source?: 'dashboard' | 'api' | 'cart' | 'request_form';
929
+ sourceCartId?: string | null;
930
+ assignedMemberId?: string | null;
931
+ currency?: string;
932
+ currentRevisionId?: string | null;
933
+ acceptedRevisionId?: string | null;
934
+ acceptedAt?: string | null;
935
+ checkoutSessionId?: string | null;
936
+ orderId?: string | null;
937
+ declinedAt?: string | null;
938
+ declinedReason?: string | null;
939
+ expiresAt?: string | null;
940
+ /**
941
+ * qtl_ capability token — the buyer link is /q/{shareToken}
942
+ */
943
+ shareToken?: string;
944
+ shareTokenPrefix?: string;
945
+ firstViewedAt?: string | null;
946
+ lastViewedAt?: string | null;
947
+ internalNotes?: string | null;
948
+ /**
949
+ * Arbitrary key-value metadata
950
+ */
951
+ metadata?: Record<string, any>;
952
+ environmentId?: string;
953
+ total?: number | null;
954
+ createdAt?: string;
955
+ updatedAt?: string;
956
+ };
957
+ revision?: {
958
+ id?: string;
959
+ quoteId?: string;
960
+ revisionNumber?: number;
961
+ state?: 'working' | 'issued' | 'superseded';
962
+ issuedAt?: string | null;
963
+ expiresAt?: string | null;
964
+ subtotal?: number;
965
+ taxTotal?: number;
966
+ discountTotal?: number;
967
+ shippingTotal?: number;
968
+ total?: number;
969
+ shippingMode?: 'none' | 'flat' | 'checkout_calculated' | 'free';
970
+ shippingFlatAmount?: number | null;
971
+ /**
972
+ * { mode: 'pay_in_full' } | { mode: 'net_terms', netN } | { mode: 'deposit_balance', deposit: { type, value }, balanceNetN }
973
+ */
974
+ paymentTerms?: Record<string, any>;
975
+ depositAmount?: number | null;
976
+ buyerNote?: string | null;
977
+ changeSummary?: string | null;
978
+ leadTime?: string | null;
979
+ pdfStorageKey?: string | null;
980
+ /**
981
+ * Arbitrary key-value metadata
982
+ */
983
+ metadata?: Record<string, any>;
984
+ items?: Array<{
985
+ id?: string;
986
+ revisionId?: string;
987
+ type?: string;
988
+ referenceId?: string | null;
989
+ sku?: string | null;
990
+ name?: string;
991
+ description?: string | null;
992
+ unitPrice?: number;
993
+ quantity?: number;
994
+ subtotal?: number;
995
+ taxAmount?: number;
996
+ discountAmount?: number;
997
+ total?: number;
998
+ priceSource?: 'catalog' | 'override' | 'custom';
999
+ optional?: boolean;
1000
+ optionalSelected?: boolean;
1001
+ qtyEditable?: boolean;
1002
+ imageUrl?: string | null;
1003
+ position?: number;
1004
+ /**
1005
+ * Arbitrary key-value metadata
1006
+ */
1007
+ metadata?: Record<string, any>;
1008
+ createdAt?: string;
1009
+ updatedAt?: string;
1010
+ }>;
1011
+ createdAt?: string;
1012
+ updatedAt?: string;
1013
+ };
1014
+ items?: Array<{
1015
+ id?: string;
1016
+ revisionId?: string;
1017
+ type?: string;
1018
+ referenceId?: string | null;
1019
+ sku?: string | null;
1020
+ name?: string;
1021
+ description?: string | null;
1022
+ unitPrice?: number;
1023
+ quantity?: number;
1024
+ subtotal?: number;
1025
+ taxAmount?: number;
1026
+ discountAmount?: number;
1027
+ total?: number;
1028
+ priceSource?: 'catalog' | 'override' | 'custom';
1029
+ optional?: boolean;
1030
+ optionalSelected?: boolean;
1031
+ qtyEditable?: boolean;
1032
+ imageUrl?: string | null;
1033
+ position?: number;
1034
+ /**
1035
+ * Arbitrary key-value metadata
1036
+ */
1037
+ metadata?: Record<string, any>;
1038
+ createdAt?: string;
1039
+ updatedAt?: string;
1040
+ }>;
1041
+ };
1042
+ meta?: {
1043
+ requestId?: string;
1044
+ pagination?: {
1045
+ cursor?: string | null;
1046
+ hasMore?: boolean;
1047
+ };
1048
+ };
1049
+ }>;
1050
+ /**
1051
+ * Record a rep-given acceptance (phone/email deal) and start checkout (spec §8, §9)
1052
+ * @param id
1053
+ * @param requestBody
1054
+ * @param xThrottleEnvironmentId Optional workspace environment id for dashboard-session, Clerk JWT, and extension-session requests. API keys are already pinned to one workspace environment.
1055
+ * @returns any Default Response
1056
+ * @throws ApiError
1057
+ */
1058
+ static postApiV1QuotesAccept(id: string, requestBody: {
1059
+ revisionId: string;
1060
+ acceptedByName: string;
1061
+ acceptedByEmail: string;
1062
+ buyerReference?: string | null;
1063
+ itemSelections?: Array<{
1064
+ itemId: string;
1065
+ selected?: boolean;
1066
+ quantity?: number;
1067
+ }>;
1068
+ reason?: string | null;
1069
+ }, xThrottleEnvironmentId?: string): CancelablePromise<{
1070
+ data?: {
1071
+ quote?: {
1072
+ id?: string;
1073
+ quoteNumber?: string;
1074
+ status?: 'draft' | 'requested' | 'under_review' | 'proposed' | 'revision_requested' | 'accepted' | 'converted' | 'declined' | 'expired' | 'archived';
1075
+ customerId?: string | null;
1076
+ customerEmail?: string | null;
1077
+ buyerReference?: string | null;
1078
+ source?: 'dashboard' | 'api' | 'cart' | 'request_form';
1079
+ sourceCartId?: string | null;
1080
+ assignedMemberId?: string | null;
1081
+ currency?: string;
1082
+ currentRevisionId?: string | null;
1083
+ acceptedRevisionId?: string | null;
1084
+ acceptedAt?: string | null;
1085
+ checkoutSessionId?: string | null;
1086
+ orderId?: string | null;
1087
+ declinedAt?: string | null;
1088
+ declinedReason?: string | null;
1089
+ expiresAt?: string | null;
1090
+ /**
1091
+ * qtl_ capability token — the buyer link is /q/{shareToken}
1092
+ */
1093
+ shareToken?: string;
1094
+ shareTokenPrefix?: string;
1095
+ firstViewedAt?: string | null;
1096
+ lastViewedAt?: string | null;
1097
+ internalNotes?: string | null;
1098
+ /**
1099
+ * Arbitrary key-value metadata
1100
+ */
1101
+ metadata?: Record<string, any>;
1102
+ environmentId?: string;
1103
+ total?: number | null;
1104
+ createdAt?: string;
1105
+ updatedAt?: string;
1106
+ };
1107
+ checkoutUrl?: string;
1108
+ };
1109
+ meta?: {
1110
+ requestId?: string;
1111
+ pagination?: {
1112
+ cursor?: string | null;
1113
+ hasMore?: boolean;
1114
+ };
1115
+ };
1116
+ }>;
1117
+ /**
1118
+ * Get a quote by its buyer link token (public, buyer-shaped)
1119
+ * @param token
1120
+ * @param xThrottleEnvironmentId Optional workspace environment id for dashboard-session, Clerk JWT, and extension-session requests. API keys are already pinned to one workspace environment.
1121
+ * @returns any Default Response
1122
+ * @throws ApiError
1123
+ */
1124
+ static getApiV1QuoteLinks(token: string, xThrottleEnvironmentId?: string): CancelablePromise<{
1125
+ data?: {
1126
+ quoteNumber?: string;
1127
+ status?: 'in_progress' | 'ready' | 'being_revised' | 'accepted' | 'ordered' | 'declined' | 'expired';
1128
+ buyerReference?: string | null;
1129
+ currency?: string;
1130
+ expiresAt?: string | null;
1131
+ currentRevision?: any | null;
1132
+ revisionHistory?: Array<{
1133
+ id?: string;
1134
+ revisionNumber?: number;
1135
+ issuedAt?: string | null;
1136
+ expiresAt?: string | null;
1137
+ subtotal?: number;
1138
+ taxTotal?: number;
1139
+ discountTotal?: number;
1140
+ shippingTotal?: number;
1141
+ total?: number;
1142
+ shippingMode?: string;
1143
+ shippingFlatAmount?: number | null;
1144
+ /**
1145
+ * { mode: 'pay_in_full' } | { mode: 'net_terms', netN } | { mode: 'deposit_balance', deposit: { type, value }, balanceNetN }
1146
+ */
1147
+ paymentTerms?: Record<string, any>;
1148
+ depositAmount?: number | null;
1149
+ buyerNote?: string | null;
1150
+ changeSummary?: string | null;
1151
+ leadTime?: string | null;
1152
+ items?: Array<{
1153
+ id?: string;
1154
+ type?: string;
1155
+ sku?: string | null;
1156
+ name?: string;
1157
+ description?: string | null;
1158
+ unitPrice?: number;
1159
+ quantity?: number;
1160
+ subtotal?: number;
1161
+ taxAmount?: number;
1162
+ discountAmount?: number;
1163
+ total?: number;
1164
+ optional?: boolean;
1165
+ optionalSelected?: boolean;
1166
+ qtyEditable?: boolean;
1167
+ imageUrl?: string | null;
1168
+ position?: number;
1169
+ }>;
1170
+ }>;
1171
+ comments?: Array<{
1172
+ id?: string;
1173
+ authorType?: 'buyer' | 'merchant' | 'system';
1174
+ authorName?: string | null;
1175
+ body?: string;
1176
+ createdAt?: string;
1177
+ }>;
1178
+ orderId?: string | null;
1179
+ branding?: any | null;
1180
+ };
1181
+ meta?: {
1182
+ requestId?: string;
1183
+ pagination?: {
1184
+ cursor?: string | null;
1185
+ hasMore?: boolean;
1186
+ };
1187
+ };
1188
+ }>;
1189
+ /**
1190
+ * Record a buyer view of the quote link (throttled quote.viewed webhook)
1191
+ * @param token
1192
+ * @param requestBody
1193
+ * @param xThrottleEnvironmentId Optional workspace environment id for dashboard-session, Clerk JWT, and extension-session requests. API keys are already pinned to one workspace environment.
1194
+ * @returns any Default Response
1195
+ * @throws ApiError
1196
+ */
1197
+ static postApiV1QuoteLinksView(token: string, requestBody: any, xThrottleEnvironmentId?: string): CancelablePromise<{
1198
+ data?: {
1199
+ quote?: {
1200
+ quoteNumber?: string;
1201
+ status?: 'in_progress' | 'ready' | 'being_revised' | 'accepted' | 'ordered' | 'declined' | 'expired';
1202
+ buyerReference?: string | null;
1203
+ currency?: string;
1204
+ expiresAt?: string | null;
1205
+ currentRevision?: any | null;
1206
+ revisionHistory?: Array<{
1207
+ id?: string;
1208
+ revisionNumber?: number;
1209
+ issuedAt?: string | null;
1210
+ expiresAt?: string | null;
1211
+ subtotal?: number;
1212
+ taxTotal?: number;
1213
+ discountTotal?: number;
1214
+ shippingTotal?: number;
1215
+ total?: number;
1216
+ shippingMode?: string;
1217
+ shippingFlatAmount?: number | null;
1218
+ /**
1219
+ * { mode: 'pay_in_full' } | { mode: 'net_terms', netN } | { mode: 'deposit_balance', deposit: { type, value }, balanceNetN }
1220
+ */
1221
+ paymentTerms?: Record<string, any>;
1222
+ depositAmount?: number | null;
1223
+ buyerNote?: string | null;
1224
+ changeSummary?: string | null;
1225
+ leadTime?: string | null;
1226
+ items?: Array<{
1227
+ id?: string;
1228
+ type?: string;
1229
+ sku?: string | null;
1230
+ name?: string;
1231
+ description?: string | null;
1232
+ unitPrice?: number;
1233
+ quantity?: number;
1234
+ subtotal?: number;
1235
+ taxAmount?: number;
1236
+ discountAmount?: number;
1237
+ total?: number;
1238
+ optional?: boolean;
1239
+ optionalSelected?: boolean;
1240
+ qtyEditable?: boolean;
1241
+ imageUrl?: string | null;
1242
+ position?: number;
1243
+ }>;
1244
+ }>;
1245
+ comments?: Array<{
1246
+ id?: string;
1247
+ authorType?: 'buyer' | 'merchant' | 'system';
1248
+ authorName?: string | null;
1249
+ body?: string;
1250
+ createdAt?: string;
1251
+ }>;
1252
+ orderId?: string | null;
1253
+ branding?: any | null;
1254
+ };
1255
+ expiredVisit?: boolean;
1256
+ };
1257
+ meta?: {
1258
+ requestId?: string;
1259
+ pagination?: {
1260
+ cursor?: string | null;
1261
+ hasMore?: boolean;
1262
+ };
1263
+ };
1264
+ }>;
1265
+ /**
1266
+ * Add a buyer comment (always shared)
1267
+ * @param token
1268
+ * @param requestBody
1269
+ * @param xThrottleEnvironmentId Optional workspace environment id for dashboard-session, Clerk JWT, and extension-session requests. API keys are already pinned to one workspace environment.
1270
+ * @returns any Default Response
1271
+ * @throws ApiError
1272
+ */
1273
+ static postApiV1QuoteLinksComments(token: string, requestBody: {
1274
+ authorName?: string | null;
1275
+ authorEmail?: string | null;
1276
+ body: string;
1277
+ }, xThrottleEnvironmentId?: string): CancelablePromise<{
1278
+ data?: {
1279
+ id?: string;
1280
+ authorType?: 'buyer' | 'merchant' | 'system';
1281
+ authorName?: string | null;
1282
+ body?: string;
1283
+ createdAt?: string;
1284
+ };
1285
+ meta?: {
1286
+ requestId?: string;
1287
+ pagination?: {
1288
+ cursor?: string | null;
1289
+ hasMore?: boolean;
1290
+ };
1291
+ };
1292
+ }>;
1293
+ /**
1294
+ * Ask for changes instead of accepting the current proposal
1295
+ * @param token
1296
+ * @param requestBody
1297
+ * @param xThrottleEnvironmentId Optional workspace environment id for dashboard-session, Clerk JWT, and extension-session requests. API keys are already pinned to one workspace environment.
1298
+ * @returns any Default Response
1299
+ * @throws ApiError
1300
+ */
1301
+ static postApiV1QuoteLinksRequestRevision(token: string, requestBody: {
1302
+ authorName?: string | null;
1303
+ authorEmail?: string | null;
1304
+ message?: string | null;
1305
+ }, xThrottleEnvironmentId?: string): CancelablePromise<{
1306
+ data?: {
1307
+ quoteNumber?: string;
1308
+ status?: 'in_progress' | 'ready' | 'being_revised' | 'accepted' | 'ordered' | 'declined' | 'expired';
1309
+ buyerReference?: string | null;
1310
+ currency?: string;
1311
+ expiresAt?: string | null;
1312
+ currentRevision?: any | null;
1313
+ revisionHistory?: Array<{
1314
+ id?: string;
1315
+ revisionNumber?: number;
1316
+ issuedAt?: string | null;
1317
+ expiresAt?: string | null;
1318
+ subtotal?: number;
1319
+ taxTotal?: number;
1320
+ discountTotal?: number;
1321
+ shippingTotal?: number;
1322
+ total?: number;
1323
+ shippingMode?: string;
1324
+ shippingFlatAmount?: number | null;
1325
+ /**
1326
+ * { mode: 'pay_in_full' } | { mode: 'net_terms', netN } | { mode: 'deposit_balance', deposit: { type, value }, balanceNetN }
1327
+ */
1328
+ paymentTerms?: Record<string, any>;
1329
+ depositAmount?: number | null;
1330
+ buyerNote?: string | null;
1331
+ changeSummary?: string | null;
1332
+ leadTime?: string | null;
1333
+ items?: Array<{
1334
+ id?: string;
1335
+ type?: string;
1336
+ sku?: string | null;
1337
+ name?: string;
1338
+ description?: string | null;
1339
+ unitPrice?: number;
1340
+ quantity?: number;
1341
+ subtotal?: number;
1342
+ taxAmount?: number;
1343
+ discountAmount?: number;
1344
+ total?: number;
1345
+ optional?: boolean;
1346
+ optionalSelected?: boolean;
1347
+ qtyEditable?: boolean;
1348
+ imageUrl?: string | null;
1349
+ position?: number;
1350
+ }>;
1351
+ }>;
1352
+ comments?: Array<{
1353
+ id?: string;
1354
+ authorType?: 'buyer' | 'merchant' | 'system';
1355
+ authorName?: string | null;
1356
+ body?: string;
1357
+ createdAt?: string;
1358
+ }>;
1359
+ orderId?: string | null;
1360
+ branding?: any | null;
1361
+ };
1362
+ meta?: {
1363
+ requestId?: string;
1364
+ pagination?: {
1365
+ cursor?: string | null;
1366
+ hasMore?: boolean;
1367
+ };
1368
+ };
1369
+ }>;
1370
+ /**
1371
+ * Decline the quote
1372
+ * @param token
1373
+ * @param requestBody
1374
+ * @param xThrottleEnvironmentId Optional workspace environment id for dashboard-session, Clerk JWT, and extension-session requests. API keys are already pinned to one workspace environment.
1375
+ * @returns any Default Response
1376
+ * @throws ApiError
1377
+ */
1378
+ static postApiV1QuoteLinksDecline(token: string, requestBody: {
1379
+ authorName?: string | null;
1380
+ authorEmail?: string | null;
1381
+ reason?: string | null;
1382
+ }, xThrottleEnvironmentId?: string): CancelablePromise<{
1383
+ data?: {
1384
+ quoteNumber?: string;
1385
+ status?: 'in_progress' | 'ready' | 'being_revised' | 'accepted' | 'ordered' | 'declined' | 'expired';
1386
+ buyerReference?: string | null;
1387
+ currency?: string;
1388
+ expiresAt?: string | null;
1389
+ currentRevision?: any | null;
1390
+ revisionHistory?: Array<{
1391
+ id?: string;
1392
+ revisionNumber?: number;
1393
+ issuedAt?: string | null;
1394
+ expiresAt?: string | null;
1395
+ subtotal?: number;
1396
+ taxTotal?: number;
1397
+ discountTotal?: number;
1398
+ shippingTotal?: number;
1399
+ total?: number;
1400
+ shippingMode?: string;
1401
+ shippingFlatAmount?: number | null;
1402
+ /**
1403
+ * { mode: 'pay_in_full' } | { mode: 'net_terms', netN } | { mode: 'deposit_balance', deposit: { type, value }, balanceNetN }
1404
+ */
1405
+ paymentTerms?: Record<string, any>;
1406
+ depositAmount?: number | null;
1407
+ buyerNote?: string | null;
1408
+ changeSummary?: string | null;
1409
+ leadTime?: string | null;
1410
+ items?: Array<{
1411
+ id?: string;
1412
+ type?: string;
1413
+ sku?: string | null;
1414
+ name?: string;
1415
+ description?: string | null;
1416
+ unitPrice?: number;
1417
+ quantity?: number;
1418
+ subtotal?: number;
1419
+ taxAmount?: number;
1420
+ discountAmount?: number;
1421
+ total?: number;
1422
+ optional?: boolean;
1423
+ optionalSelected?: boolean;
1424
+ qtyEditable?: boolean;
1425
+ imageUrl?: string | null;
1426
+ position?: number;
1427
+ }>;
1428
+ }>;
1429
+ comments?: Array<{
1430
+ id?: string;
1431
+ authorType?: 'buyer' | 'merchant' | 'system';
1432
+ authorName?: string | null;
1433
+ body?: string;
1434
+ createdAt?: string;
1435
+ }>;
1436
+ orderId?: string | null;
1437
+ branding?: any | null;
1438
+ };
1439
+ meta?: {
1440
+ requestId?: string;
1441
+ pagination?: {
1442
+ cursor?: string | null;
1443
+ hasMore?: boolean;
1444
+ };
1445
+ };
1446
+ }>;
1447
+ /**
1448
+ * Accept the quote and start checkout (spec §8)
1449
+ * @param token
1450
+ * @param requestBody
1451
+ * @param xThrottleEnvironmentId Optional workspace environment id for dashboard-session, Clerk JWT, and extension-session requests. API keys are already pinned to one workspace environment.
1452
+ * @returns any Default Response
1453
+ * @throws ApiError
1454
+ */
1455
+ static postApiV1QuoteLinksAccept(token: string, requestBody: {
1456
+ revisionId: string;
1457
+ acceptedByName: string;
1458
+ acceptedByEmail: string;
1459
+ buyerReference?: string | null;
1460
+ itemSelections?: Array<{
1461
+ itemId: string;
1462
+ selected?: boolean;
1463
+ quantity?: number;
1464
+ }>;
1465
+ }, xThrottleEnvironmentId?: string): CancelablePromise<{
1466
+ data?: {
1467
+ quote?: {
1468
+ quoteNumber?: string;
1469
+ status?: 'in_progress' | 'ready' | 'being_revised' | 'accepted' | 'ordered' | 'declined' | 'expired';
1470
+ buyerReference?: string | null;
1471
+ currency?: string;
1472
+ expiresAt?: string | null;
1473
+ currentRevision?: any | null;
1474
+ revisionHistory?: Array<{
1475
+ id?: string;
1476
+ revisionNumber?: number;
1477
+ issuedAt?: string | null;
1478
+ expiresAt?: string | null;
1479
+ subtotal?: number;
1480
+ taxTotal?: number;
1481
+ discountTotal?: number;
1482
+ shippingTotal?: number;
1483
+ total?: number;
1484
+ shippingMode?: string;
1485
+ shippingFlatAmount?: number | null;
1486
+ /**
1487
+ * { mode: 'pay_in_full' } | { mode: 'net_terms', netN } | { mode: 'deposit_balance', deposit: { type, value }, balanceNetN }
1488
+ */
1489
+ paymentTerms?: Record<string, any>;
1490
+ depositAmount?: number | null;
1491
+ buyerNote?: string | null;
1492
+ changeSummary?: string | null;
1493
+ leadTime?: string | null;
1494
+ items?: Array<{
1495
+ id?: string;
1496
+ type?: string;
1497
+ sku?: string | null;
1498
+ name?: string;
1499
+ description?: string | null;
1500
+ unitPrice?: number;
1501
+ quantity?: number;
1502
+ subtotal?: number;
1503
+ taxAmount?: number;
1504
+ discountAmount?: number;
1505
+ total?: number;
1506
+ optional?: boolean;
1507
+ optionalSelected?: boolean;
1508
+ qtyEditable?: boolean;
1509
+ imageUrl?: string | null;
1510
+ position?: number;
1511
+ }>;
1512
+ }>;
1513
+ comments?: Array<{
1514
+ id?: string;
1515
+ authorType?: 'buyer' | 'merchant' | 'system';
1516
+ authorName?: string | null;
1517
+ body?: string;
1518
+ createdAt?: string;
1519
+ }>;
1520
+ orderId?: string | null;
1521
+ branding?: any | null;
1522
+ };
1523
+ checkoutUrl?: string;
1524
+ };
1525
+ meta?: {
1526
+ requestId?: string;
1527
+ pagination?: {
1528
+ cursor?: string | null;
1529
+ hasMore?: boolean;
1530
+ };
1531
+ };
1532
+ }>;
1533
+ /**
1534
+ * Download the quote PDF (302 redirect to a short-lived signed URL; lazy-rendered from the frozen issued revision)
1535
+ * @param token
1536
+ * @param xThrottleEnvironmentId Optional workspace environment id for dashboard-session, Clerk JWT, and extension-session requests. API keys are already pinned to one workspace environment.
1537
+ * @returns void
1538
+ * @throws ApiError
1539
+ */
1540
+ static getApiV1QuoteLinksPdf(token: string, xThrottleEnvironmentId?: string): CancelablePromise<void>;
1541
+ /**
1542
+ * Create a hosted RFQ intake form (token revealed once)
1543
+ * @param requestBody
1544
+ * @param xThrottleEnvironmentId Optional workspace environment id for dashboard-session, Clerk JWT, and extension-session requests. API keys are already pinned to one workspace environment.
1545
+ * @returns any Default Response
1546
+ * @throws ApiError
1547
+ */
1548
+ static postApiV1QuoteRequestForms(requestBody: {
1549
+ slug: string;
1550
+ title?: string | null;
1551
+ introText?: string | null;
1552
+ successMessage?: string | null;
1553
+ /**
1554
+ * Must be http(s)
1555
+ */
1556
+ redirectUrl?: string | null;
1557
+ fields?: {
1558
+ companyName?: boolean;
1559
+ phone?: boolean;
1560
+ buyerReference?: boolean;
1561
+ requireTurnstile?: boolean;
1562
+ };
1563
+ }, xThrottleEnvironmentId?: string): CancelablePromise<{
1564
+ data?: {
1565
+ form?: {
1566
+ id?: string;
1567
+ slug?: string;
1568
+ /**
1569
+ * First 10 chars of the qrf_ token — the full token is shown once at create/rotate
1570
+ */
1571
+ tokenPrefix?: string;
1572
+ isActive?: boolean;
1573
+ title?: string | null;
1574
+ introText?: string | null;
1575
+ successMessage?: string | null;
1576
+ redirectUrl?: string | null;
1577
+ fields?: Record<string, any>;
1578
+ environmentId?: string;
1579
+ createdAt?: string;
1580
+ updatedAt?: string;
1581
+ };
1582
+ /**
1583
+ * The raw qrf_ token — REVEAL-ONCE; hash-only stored. The hosted form URL is /q/request/{formToken}.
1584
+ */
1585
+ formToken?: string;
1586
+ };
1587
+ meta?: {
1588
+ requestId?: string;
1589
+ pagination?: {
1590
+ cursor?: string | null;
1591
+ hasMore?: boolean;
1592
+ };
1593
+ };
1594
+ }>;
1595
+ /**
1596
+ * List RFQ intake forms for the application + environment
1597
+ * @param xThrottleEnvironmentId Optional workspace environment id for dashboard-session, Clerk JWT, and extension-session requests. API keys are already pinned to one workspace environment.
1598
+ * @returns any Default Response
1599
+ * @throws ApiError
1600
+ */
1601
+ static getApiV1QuoteRequestForms(xThrottleEnvironmentId?: string): CancelablePromise<{
1602
+ data?: Array<{
1603
+ id?: string;
1604
+ slug?: string;
1605
+ /**
1606
+ * First 10 chars of the qrf_ token — the full token is shown once at create/rotate
1607
+ */
1608
+ tokenPrefix?: string;
1609
+ isActive?: boolean;
1610
+ title?: string | null;
1611
+ introText?: string | null;
1612
+ successMessage?: string | null;
1613
+ redirectUrl?: string | null;
1614
+ fields?: Record<string, any>;
1615
+ environmentId?: string;
1616
+ createdAt?: string;
1617
+ updatedAt?: string;
1618
+ }>;
1619
+ meta?: {
1620
+ requestId?: string;
1621
+ pagination?: {
1622
+ cursor?: string | null;
1623
+ hasMore?: boolean;
1624
+ };
1625
+ };
1626
+ }>;
1627
+ /**
1628
+ * Update an RFQ intake form (activate/deactivate, texts, fields)
1629
+ * @param id
1630
+ * @param requestBody
1631
+ * @param xThrottleEnvironmentId Optional workspace environment id for dashboard-session, Clerk JWT, and extension-session requests. API keys are already pinned to one workspace environment.
1632
+ * @returns any Default Response
1633
+ * @throws ApiError
1634
+ */
1635
+ static patchApiV1QuoteRequestForms(id: string, requestBody: {
1636
+ isActive?: boolean;
1637
+ title?: string | null;
1638
+ introText?: string | null;
1639
+ successMessage?: string | null;
1640
+ /**
1641
+ * Must be http(s)
1642
+ */
1643
+ redirectUrl?: string | null;
1644
+ fields?: {
1645
+ companyName?: boolean;
1646
+ phone?: boolean;
1647
+ buyerReference?: boolean;
1648
+ requireTurnstile?: boolean;
1649
+ };
1650
+ }, xThrottleEnvironmentId?: string): CancelablePromise<{
1651
+ data?: {
1652
+ id?: string;
1653
+ slug?: string;
1654
+ /**
1655
+ * First 10 chars of the qrf_ token — the full token is shown once at create/rotate
1656
+ */
1657
+ tokenPrefix?: string;
1658
+ isActive?: boolean;
1659
+ title?: string | null;
1660
+ introText?: string | null;
1661
+ successMessage?: string | null;
1662
+ redirectUrl?: string | null;
1663
+ fields?: Record<string, any>;
1664
+ environmentId?: string;
1665
+ createdAt?: string;
1666
+ updatedAt?: string;
1667
+ };
1668
+ meta?: {
1669
+ requestId?: string;
1670
+ pagination?: {
1671
+ cursor?: string | null;
1672
+ hasMore?: boolean;
1673
+ };
1674
+ };
1675
+ }>;
1676
+ /**
1677
+ * Rotate the form token (old URL 404s immediately; new token revealed once)
1678
+ * @param id
1679
+ * @param requestBody
1680
+ * @param xThrottleEnvironmentId Optional workspace environment id for dashboard-session, Clerk JWT, and extension-session requests. API keys are already pinned to one workspace environment.
1681
+ * @returns any Default Response
1682
+ * @throws ApiError
1683
+ */
1684
+ static postApiV1QuoteRequestFormsRotateToken(id: string, requestBody: any, xThrottleEnvironmentId?: string): CancelablePromise<{
1685
+ data?: {
1686
+ form?: {
1687
+ id?: string;
1688
+ slug?: string;
1689
+ /**
1690
+ * First 10 chars of the qrf_ token — the full token is shown once at create/rotate
1691
+ */
1692
+ tokenPrefix?: string;
1693
+ isActive?: boolean;
1694
+ title?: string | null;
1695
+ introText?: string | null;
1696
+ successMessage?: string | null;
1697
+ redirectUrl?: string | null;
1698
+ fields?: Record<string, any>;
1699
+ environmentId?: string;
1700
+ createdAt?: string;
1701
+ updatedAt?: string;
1702
+ };
1703
+ /**
1704
+ * The raw qrf_ token — REVEAL-ONCE; hash-only stored. The hosted form URL is /q/request/{formToken}.
1705
+ */
1706
+ formToken?: string;
1707
+ };
1708
+ meta?: {
1709
+ requestId?: string;
1710
+ pagination?: {
1711
+ cursor?: string | null;
1712
+ hasMore?: boolean;
1713
+ };
1714
+ };
1715
+ }>;
1716
+ /**
1717
+ * Public form config for the hosted RFQ page (token-authenticated)
1718
+ * @param token
1719
+ * @param xThrottleEnvironmentId Optional workspace environment id for dashboard-session, Clerk JWT, and extension-session requests. API keys are already pinned to one workspace environment.
1720
+ * @returns any Default Response
1721
+ * @throws ApiError
1722
+ */
1723
+ static getApiV1QuoteRequestFormsPublic(token: string, xThrottleEnvironmentId?: string): CancelablePromise<{
1724
+ data?: {
1725
+ slug?: string;
1726
+ title?: string | null;
1727
+ introText?: string | null;
1728
+ successMessage?: string | null;
1729
+ redirectUrl?: string | null;
1730
+ fields?: {
1731
+ companyName?: boolean;
1732
+ phone?: boolean;
1733
+ buyerReference?: boolean;
1734
+ requireTurnstile?: boolean;
1735
+ };
1736
+ };
1737
+ meta?: {
1738
+ requestId?: string;
1739
+ pagination?: {
1740
+ cursor?: string | null;
1741
+ hasMore?: boolean;
1742
+ };
1743
+ };
1744
+ }>;
1745
+ /**
1746
+ * Public RFQ submission (honeypot + min-fill-time + rate limit + optional Turnstile)
1747
+ * @param requestBody
1748
+ * @param xThrottleEnvironmentId Optional workspace environment id for dashboard-session, Clerk JWT, and extension-session requests. API keys are already pinned to one workspace environment.
1749
+ * @returns any Default Response
1750
+ * @throws ApiError
1751
+ */
1752
+ static postApiV1QuoteRequests(requestBody: {
1753
+ formToken: string;
1754
+ email: string;
1755
+ name?: string | null;
1756
+ companyName?: string | null;
1757
+ phone?: string | null;
1758
+ buyerReference?: string | null;
1759
+ message: string;
1760
+ /**
1761
+ * Honeypot — must be empty
1762
+ */
1763
+ website?: string | null;
1764
+ /**
1765
+ * Client mount time (ms epoch); min fill time enforced
1766
+ */
1767
+ formLoadedAt?: number;
1768
+ turnstileToken?: string;
1769
+ }, xThrottleEnvironmentId?: string): CancelablePromise<{
1770
+ data?: {
1771
+ submitted?: boolean;
1772
+ };
1773
+ meta?: {
1774
+ requestId?: string;
1775
+ pagination?: {
1776
+ cursor?: string | null;
1777
+ hasMore?: boolean;
1778
+ };
1779
+ };
1780
+ }>;
1781
+ }
1782
+ //# sourceMappingURL=QuotesService.d.ts.map