weflayr 0.22.0 → 0.22.2

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 (77) hide show
  1. package/.prettierignore +2 -0
  2. package/dist/api/caseConversion.d.ts +16 -0
  3. package/dist/api/caseConversion.js +45 -0
  4. package/dist/api/generated/client/client.gen.d.ts +2 -0
  5. package/dist/api/generated/client/client.gen.js +220 -0
  6. package/dist/api/generated/client/index.d.ts +10 -0
  7. package/dist/api/generated/client/index.js +17 -0
  8. package/dist/api/generated/client/types.gen.d.ts +120 -0
  9. package/dist/api/generated/client/types.gen.js +3 -0
  10. package/dist/api/generated/client/utils.gen.d.ts +37 -0
  11. package/dist/api/generated/client/utils.gen.js +239 -0
  12. package/dist/api/generated/client.gen.d.ts +12 -0
  13. package/dist/api/generated/client.gen.js +6 -0
  14. package/dist/api/generated/core/auth.gen.d.ts +25 -0
  15. package/dist/api/generated/core/auth.gen.js +18 -0
  16. package/dist/api/generated/core/bodySerializer.gen.d.ts +25 -0
  17. package/dist/api/generated/core/bodySerializer.gen.js +60 -0
  18. package/dist/api/generated/core/params.gen.d.ts +43 -0
  19. package/dist/api/generated/core/params.gen.js +112 -0
  20. package/dist/api/generated/core/pathSerializer.gen.d.ts +33 -0
  21. package/dist/api/generated/core/pathSerializer.gen.js +115 -0
  22. package/dist/api/generated/core/queryKeySerializer.gen.d.ts +18 -0
  23. package/dist/api/generated/core/queryKeySerializer.gen.js +98 -0
  24. package/dist/api/generated/core/serverSentEvents.gen.d.ts +71 -0
  25. package/dist/api/generated/core/serverSentEvents.gen.js +135 -0
  26. package/dist/api/generated/core/types.gen.d.ts +83 -0
  27. package/dist/api/generated/core/types.gen.js +3 -0
  28. package/dist/api/generated/core/utils.gen.d.ts +19 -0
  29. package/dist/api/generated/core/utils.gen.js +93 -0
  30. package/dist/api/generated/facade.gen.d.ts +153 -0
  31. package/dist/api/generated/facade.gen.js +49 -0
  32. package/dist/api/generated/index.d.ts +2 -0
  33. package/dist/api/generated/index.js +14 -0
  34. package/dist/api/generated/sdk.gen.d.ts +51 -0
  35. package/dist/api/generated/sdk.gen.js +98 -0
  36. package/dist/api/generated/types.gen.d.ts +652 -0
  37. package/dist/api/generated/types.gen.js +3 -0
  38. package/dist/api/index.d.ts +27 -0
  39. package/dist/api/index.js +48 -0
  40. package/dist/api/makeEndpoint.d.ts +27 -0
  41. package/dist/api/makeEndpoint.js +37 -0
  42. package/index.d.ts +24 -15
  43. package/openapi-ts.config.mjs +9 -0
  44. package/package.json +9 -2
  45. package/scripts/generate_facade.mjs +86 -0
  46. package/src/api/caseConversion.ts +58 -0
  47. package/src/api/generated/client/client.gen.ts +277 -0
  48. package/src/api/generated/client/index.ts +27 -0
  49. package/src/api/generated/client/types.gen.ts +218 -0
  50. package/src/api/generated/client/utils.gen.ts +316 -0
  51. package/src/api/generated/client.gen.ts +16 -0
  52. package/src/api/generated/core/auth.gen.ts +48 -0
  53. package/src/api/generated/core/bodySerializer.gen.ts +82 -0
  54. package/src/api/generated/core/params.gen.ts +178 -0
  55. package/src/api/generated/core/pathSerializer.gen.ts +171 -0
  56. package/src/api/generated/core/queryKeySerializer.gen.ts +117 -0
  57. package/src/api/generated/core/serverSentEvents.gen.ts +242 -0
  58. package/src/api/generated/core/types.gen.ts +110 -0
  59. package/src/api/generated/core/utils.gen.ts +140 -0
  60. package/src/api/generated/facade.gen.ts +62 -0
  61. package/src/api/generated/index.ts +4 -0
  62. package/src/api/generated/sdk.gen.ts +112 -0
  63. package/src/api/generated/types.gen.ts +718 -0
  64. package/src/api/index.ts +45 -0
  65. package/src/api/makeEndpoint.ts +54 -0
  66. package/src/auto-instrument.js +19 -6
  67. package/src/index.js +5 -0
  68. package/src/instrumentation/google/get_provider_name.js +2 -1
  69. package/src/instrumentation/vercel/full_instrumentation.js +44 -0
  70. package/src/otel/propagation.js +21 -12
  71. package/src/otel/span-processor.js +11 -1
  72. package/src/otel/vercel-ai-sdk-span-filter.js +79 -0
  73. package/tests/api/index.test.js +361 -0
  74. package/tests/index.test.js +48 -15
  75. package/tests/instrumentation/vercel/full_instrumentation.test.js +16 -0
  76. package/tests/otel/vercel-ai-sdk-span-filter.test.js +159 -0
  77. package/tsconfig.json +18 -0
@@ -0,0 +1,718 @@
1
+ // This file is auto-generated by @hey-api/openapi-ts
2
+
3
+ export type ClientOptions = {
4
+ baseUrl: 'https://app.weflayr.com/api' | (string & {});
5
+ };
6
+
7
+ /**
8
+ * AllCustomerTagsOutput
9
+ *
10
+ * The customer-tags GET response: every known customer of the project.
11
+ */
12
+ export type AllCustomerTagsOutput = {
13
+ /**
14
+ * Customers
15
+ */
16
+ customers: Array<CustomerTagsOutput>;
17
+ /**
18
+ * Next Cursor
19
+ */
20
+ next_cursor: string | null;
21
+ /**
22
+ * Has More
23
+ */
24
+ has_more: boolean;
25
+ };
26
+
27
+ /**
28
+ * ApiErrorOutput
29
+ *
30
+ * A refusal with a single human-readable message (401 and 404 bodies).
31
+ */
32
+ export type ApiErrorOutput = {
33
+ /**
34
+ * Error
35
+ */
36
+ error: string;
37
+ };
38
+
39
+ /**
40
+ * CustomerTags
41
+ *
42
+ * One customer's tag updates: a string value sets the tag, null deletes it.
43
+ */
44
+ export type CustomerTags = {
45
+ /**
46
+ * Customer Name
47
+ */
48
+ customer_name: string;
49
+ /**
50
+ * Tags
51
+ */
52
+ tags: {
53
+ [key: string]: string | null;
54
+ };
55
+ };
56
+
57
+ /**
58
+ * CustomerTagsOutput
59
+ *
60
+ * One customer with its tags (possibly empty).
61
+ */
62
+ export type CustomerTagsOutput = {
63
+ /**
64
+ * Customer Name
65
+ */
66
+ customer_name: string;
67
+ /**
68
+ * Tags
69
+ */
70
+ tags: {
71
+ [key: string]: string;
72
+ };
73
+ };
74
+
75
+ /**
76
+ * CustomersUpdatedOutput
77
+ *
78
+ * A successful tags upsert: how many customers were touched.
79
+ */
80
+ export type CustomersUpdatedOutput = {
81
+ /**
82
+ * Ok
83
+ */
84
+ ok: boolean;
85
+ /**
86
+ * Customers Updated
87
+ */
88
+ customers_updated: number;
89
+ };
90
+
91
+ /**
92
+ * InvalidFieldDetail
93
+ *
94
+ * One offending field of a rejected payload.
95
+ */
96
+ export type InvalidFieldDetail = {
97
+ /**
98
+ * Field
99
+ */
100
+ field: string;
101
+ /**
102
+ * Error
103
+ */
104
+ error: string;
105
+ };
106
+
107
+ /**
108
+ * InvalidPayloadOutput
109
+ *
110
+ * The all-or-nothing 422 body: every offending field, nothing written.
111
+ */
112
+ export type InvalidPayloadOutput = {
113
+ /**
114
+ * Error
115
+ */
116
+ error: string;
117
+ /**
118
+ * Detail
119
+ */
120
+ detail: Array<InvalidFieldDetail>;
121
+ };
122
+
123
+ /**
124
+ * KeyMetricOutput
125
+ *
126
+ * A key-metric GET response: one row per booked value.
127
+ */
128
+ export type KeyMetricOutput = {
129
+ /**
130
+ * Rows
131
+ */
132
+ rows: Array<KeyMetricRowOutput>;
133
+ /**
134
+ * Next Cursor
135
+ */
136
+ next_cursor: string | null;
137
+ /**
138
+ * Has More
139
+ */
140
+ has_more: boolean;
141
+ };
142
+
143
+ /**
144
+ * KeyMetricRow
145
+ *
146
+ * One booked key-metric value: the user, the metric, the amount, and
147
+ * either its month or the month_start/month_end period it should be split
148
+ * across.
149
+ */
150
+ export type KeyMetricRow = {
151
+ /**
152
+ * Metric Id
153
+ *
154
+ * Your own id for this value. Omit it to book a new value; reuse a previous one to update it (needs "upsert": true, see the "upsert" field).
155
+ */
156
+ metric_id?: string | null;
157
+ /**
158
+ * User Name
159
+ */
160
+ user_name: string;
161
+ /**
162
+ * Metric Name
163
+ */
164
+ metric_name: string;
165
+ /**
166
+ * Amount
167
+ */
168
+ amount: number;
169
+ /**
170
+ * Month
171
+ */
172
+ month?: string | null;
173
+ /**
174
+ * Month Start
175
+ */
176
+ month_start?: string | null;
177
+ /**
178
+ * Month End
179
+ */
180
+ month_end?: string | null;
181
+ };
182
+
183
+ /**
184
+ * KeyMetricRowOutput
185
+ *
186
+ * One booked key-metric value.
187
+ */
188
+ export type KeyMetricRowOutput = {
189
+ /**
190
+ * Metric Name
191
+ */
192
+ metric_name: string;
193
+ /**
194
+ * Month
195
+ */
196
+ month: string;
197
+ /**
198
+ * Amount
199
+ */
200
+ amount: number;
201
+ /**
202
+ * Source
203
+ */
204
+ source: string;
205
+ /**
206
+ * Metric Id
207
+ */
208
+ metric_id: string;
209
+ /**
210
+ * User Name
211
+ */
212
+ user_name: string;
213
+ };
214
+
215
+ /**
216
+ * RevenueOrKeyMetricDeletedRowOutput
217
+ *
218
+ * A successful values deletion: how many rows were removed.
219
+ */
220
+ export type RevenueOrKeyMetricDeletedRowOutput = {
221
+ /**
222
+ * Ok
223
+ */
224
+ ok: boolean;
225
+ /**
226
+ * Rows Deleted
227
+ */
228
+ rows_deleted: number;
229
+ };
230
+
231
+ /**
232
+ * RevenueOrKeyMetricImportedRowOutput
233
+ *
234
+ * A successful values upsert: how many rows were imported.
235
+ */
236
+ export type RevenueOrKeyMetricImportedRowOutput = {
237
+ /**
238
+ * Ok
239
+ */
240
+ ok: boolean;
241
+ /**
242
+ * Rows Inserted
243
+ */
244
+ rows_inserted: number;
245
+ };
246
+
247
+ /**
248
+ * RevenueOutput
249
+ *
250
+ * A revenue GET response: one row per booked value.
251
+ */
252
+ export type RevenueOutput = {
253
+ /**
254
+ * Rows
255
+ */
256
+ rows: Array<RevenueRowOutput>;
257
+ /**
258
+ * Next Cursor
259
+ */
260
+ next_cursor: string | null;
261
+ /**
262
+ * Has More
263
+ */
264
+ has_more: boolean;
265
+ };
266
+
267
+ /**
268
+ * RevenueRow
269
+ *
270
+ * One booked revenue value: the customer, the amount, and either its
271
+ * month or the month_start/month_end period it should be split across.
272
+ */
273
+ export type RevenueRow = {
274
+ /**
275
+ * Revenue Id
276
+ *
277
+ * Your own id for this value. Omit it to book a new value; reuse a previous one to update it (needs "upsert": true, see the "upsert" field).
278
+ */
279
+ revenue_id?: string | null;
280
+ /**
281
+ * Customer Name
282
+ */
283
+ customer_name: string;
284
+ /**
285
+ * Amount
286
+ */
287
+ amount: number;
288
+ /**
289
+ * Month
290
+ */
291
+ month?: string | null;
292
+ /**
293
+ * Month Start
294
+ */
295
+ month_start?: string | null;
296
+ /**
297
+ * Month End
298
+ */
299
+ month_end?: string | null;
300
+ };
301
+
302
+ /**
303
+ * RevenueRowOutput
304
+ *
305
+ * One booked revenue value.
306
+ */
307
+ export type RevenueRowOutput = {
308
+ /**
309
+ * Metric Name
310
+ */
311
+ metric_name: string;
312
+ /**
313
+ * Month
314
+ */
315
+ month: string;
316
+ /**
317
+ * Amount
318
+ */
319
+ amount: number;
320
+ /**
321
+ * Source
322
+ */
323
+ source: string;
324
+ /**
325
+ * Revenue Id
326
+ */
327
+ revenue_id: string;
328
+ /**
329
+ * Customer Name
330
+ */
331
+ customer_name: string;
332
+ };
333
+
334
+ /**
335
+ * SetCustomerTagsInput
336
+ *
337
+ * The tag updates posted to the public API, one entry per customer.
338
+ */
339
+ export type SetCustomerTagsInput = {
340
+ /**
341
+ * Customers
342
+ */
343
+ customers: Array<CustomerTags>;
344
+ /**
345
+ * Upsert
346
+ *
347
+ * If a customer's tag key already exists, overwrite it instead of rejecting the request.
348
+ */
349
+ upsert?: boolean;
350
+ };
351
+
352
+ /**
353
+ * SetKeyMetricsInput
354
+ *
355
+ * The key-metric values posted to the public API. A user may have
356
+ * several lines of the same metric in the same month; rows are only ever
357
+ * matched against each other by metric_id, never by (user, metric,
358
+ * month).
359
+ */
360
+ export type SetKeyMetricsInput = {
361
+ /**
362
+ * Rows
363
+ */
364
+ rows: Array<KeyMetricRow>;
365
+ /**
366
+ * Upsert
367
+ *
368
+ * If a row's metric_id already exists, overwrite it instead of rejecting the request.
369
+ */
370
+ upsert?: boolean;
371
+ };
372
+
373
+ /**
374
+ * SetRevenueInput
375
+ *
376
+ * The revenue values posted to the public API. A customer may have several
377
+ * revenue lines in the same month (e.g. one per product or contract); rows
378
+ * are only ever matched against each other by revenue_id, never by
379
+ * (customer, month).
380
+ */
381
+ export type SetRevenueInput = {
382
+ /**
383
+ * Rows
384
+ */
385
+ rows: Array<RevenueRow>;
386
+ /**
387
+ * Upsert
388
+ *
389
+ * If a row's revenue_id already exists, overwrite it instead of rejecting the request.
390
+ */
391
+ upsert?: boolean;
392
+ };
393
+
394
+ /**
395
+ * TagsDeletedOutput
396
+ *
397
+ * A successful tags deletion: how many tags were removed.
398
+ */
399
+ export type TagsDeletedOutput = {
400
+ /**
401
+ * Ok
402
+ */
403
+ ok: boolean;
404
+ /**
405
+ * Tags Deleted
406
+ */
407
+ tags_deleted: number;
408
+ };
409
+
410
+ export type DeleteRevenueData = {
411
+ body?: never;
412
+ path?: never;
413
+ query: {
414
+ /**
415
+ * Delete these customers' API-booked revenue (repeat the param for several).
416
+ */
417
+ customer_names: Array<string>;
418
+ /**
419
+ * First month to delete (inclusive). Omit both bounds to delete every matching API-booked value.
420
+ */
421
+ month_start?: string;
422
+ /**
423
+ * Last month to delete (inclusive).
424
+ */
425
+ month_end?: string;
426
+ };
427
+ url: '/revenue/';
428
+ };
429
+
430
+ export type DeleteRevenueErrors = {
431
+ /**
432
+ * Missing or invalid API key.
433
+ */
434
+ 401: ApiErrorOutput;
435
+ /**
436
+ * Invalid payload: every offending field is listed and nothing was written.
437
+ */
438
+ 422: InvalidPayloadOutput;
439
+ };
440
+
441
+ export type DeleteRevenueError = DeleteRevenueErrors[keyof DeleteRevenueErrors];
442
+
443
+ export type DeleteRevenueResponses = {
444
+ /**
445
+ * Success.
446
+ */
447
+ 200: RevenueOrKeyMetricDeletedRowOutput;
448
+ };
449
+
450
+ export type DeleteRevenueResponse = DeleteRevenueResponses[keyof DeleteRevenueResponses];
451
+
452
+ export type GetRevenueData = {
453
+ body?: never;
454
+ path?: never;
455
+ query?: {
456
+ /**
457
+ * Return only these customers' revenue (repeat the param for several). Omit to return every customer's.
458
+ */
459
+ customer_names?: Array<string>;
460
+ /**
461
+ * Opaque cursor from a previous page's next_cursor.
462
+ */
463
+ cursor?: string;
464
+ limit?: number;
465
+ };
466
+ url: '/revenue/';
467
+ };
468
+
469
+ export type GetRevenueErrors = {
470
+ /**
471
+ * Missing or invalid API key.
472
+ */
473
+ 401: ApiErrorOutput;
474
+ };
475
+
476
+ export type GetRevenueError = GetRevenueErrors[keyof GetRevenueErrors];
477
+
478
+ export type GetRevenueResponses = {
479
+ /**
480
+ * Success.
481
+ */
482
+ 200: RevenueOutput;
483
+ };
484
+
485
+ export type GetRevenueResponse = GetRevenueResponses[keyof GetRevenueResponses];
486
+
487
+ export type SetRevenueData = {
488
+ body: SetRevenueInput;
489
+ path?: never;
490
+ query?: never;
491
+ url: '/revenue/';
492
+ };
493
+
494
+ export type SetRevenueErrors = {
495
+ /**
496
+ * Missing or invalid API key.
497
+ */
498
+ 401: ApiErrorOutput;
499
+ /**
500
+ * Invalid payload: every offending field is listed and nothing was written.
501
+ */
502
+ 422: InvalidPayloadOutput;
503
+ };
504
+
505
+ export type SetRevenueError = SetRevenueErrors[keyof SetRevenueErrors];
506
+
507
+ export type SetRevenueResponses = {
508
+ /**
509
+ * Success.
510
+ */
511
+ 200: RevenueOrKeyMetricImportedRowOutput;
512
+ };
513
+
514
+ export type SetRevenueResponse = SetRevenueResponses[keyof SetRevenueResponses];
515
+
516
+ export type DeleteKeyMetricsData = {
517
+ body?: never;
518
+ path?: never;
519
+ query: {
520
+ /**
521
+ * Delete these users' API-booked key metrics (repeat the param for several).
522
+ */
523
+ user_names: Array<string>;
524
+ /**
525
+ * First month to delete (inclusive). Omit both bounds to delete every matching API-booked value.
526
+ */
527
+ month_start?: string;
528
+ /**
529
+ * Last month to delete (inclusive).
530
+ */
531
+ month_end?: string;
532
+ };
533
+ url: '/key-metrics/';
534
+ };
535
+
536
+ export type DeleteKeyMetricsErrors = {
537
+ /**
538
+ * Missing or invalid API key.
539
+ */
540
+ 401: ApiErrorOutput;
541
+ /**
542
+ * Invalid payload: every offending field is listed and nothing was written.
543
+ */
544
+ 422: InvalidPayloadOutput;
545
+ };
546
+
547
+ export type DeleteKeyMetricsError = DeleteKeyMetricsErrors[keyof DeleteKeyMetricsErrors];
548
+
549
+ export type DeleteKeyMetricsResponses = {
550
+ /**
551
+ * Success.
552
+ */
553
+ 200: RevenueOrKeyMetricDeletedRowOutput;
554
+ };
555
+
556
+ export type DeleteKeyMetricsResponse = DeleteKeyMetricsResponses[keyof DeleteKeyMetricsResponses];
557
+
558
+ export type GetKeyMetricsData = {
559
+ body?: never;
560
+ path?: never;
561
+ query?: {
562
+ /**
563
+ * Return only these users' key metrics (repeat the param for several). Omit to return every user's.
564
+ */
565
+ user_names?: Array<string>;
566
+ /**
567
+ * Opaque cursor from a previous page's next_cursor.
568
+ */
569
+ cursor?: string;
570
+ limit?: number;
571
+ };
572
+ url: '/key-metrics/';
573
+ };
574
+
575
+ export type GetKeyMetricsErrors = {
576
+ /**
577
+ * Missing or invalid API key.
578
+ */
579
+ 401: ApiErrorOutput;
580
+ };
581
+
582
+ export type GetKeyMetricsError = GetKeyMetricsErrors[keyof GetKeyMetricsErrors];
583
+
584
+ export type GetKeyMetricsResponses = {
585
+ /**
586
+ * Success.
587
+ */
588
+ 200: KeyMetricOutput;
589
+ };
590
+
591
+ export type GetKeyMetricsResponse = GetKeyMetricsResponses[keyof GetKeyMetricsResponses];
592
+
593
+ export type SetKeyMetricsData = {
594
+ body: SetKeyMetricsInput;
595
+ path?: never;
596
+ query?: never;
597
+ url: '/key-metrics/';
598
+ };
599
+
600
+ export type SetKeyMetricsErrors = {
601
+ /**
602
+ * Missing or invalid API key.
603
+ */
604
+ 401: ApiErrorOutput;
605
+ /**
606
+ * Invalid payload: every offending field is listed and nothing was written.
607
+ */
608
+ 422: InvalidPayloadOutput;
609
+ };
610
+
611
+ export type SetKeyMetricsError = SetKeyMetricsErrors[keyof SetKeyMetricsErrors];
612
+
613
+ export type SetKeyMetricsResponses = {
614
+ /**
615
+ * Success.
616
+ */
617
+ 200: RevenueOrKeyMetricImportedRowOutput;
618
+ };
619
+
620
+ export type SetKeyMetricsResponse = SetKeyMetricsResponses[keyof SetKeyMetricsResponses];
621
+
622
+ export type DeleteCustomersTagsData = {
623
+ body?: never;
624
+ path?: never;
625
+ query: {
626
+ /**
627
+ * Delete every tag of these customers (repeat the param for several).
628
+ */
629
+ customer_names: Array<string>;
630
+ };
631
+ url: '/customer-tags/';
632
+ };
633
+
634
+ export type DeleteCustomersTagsErrors = {
635
+ /**
636
+ * Missing or invalid API key.
637
+ */
638
+ 401: ApiErrorOutput;
639
+ /**
640
+ * Invalid payload: every offending field is listed and nothing was written.
641
+ */
642
+ 422: InvalidPayloadOutput;
643
+ };
644
+
645
+ export type DeleteCustomersTagsError = DeleteCustomersTagsErrors[keyof DeleteCustomersTagsErrors];
646
+
647
+ export type DeleteCustomersTagsResponses = {
648
+ /**
649
+ * Success.
650
+ */
651
+ 200: TagsDeletedOutput;
652
+ };
653
+
654
+ export type DeleteCustomersTagsResponse = DeleteCustomersTagsResponses[keyof DeleteCustomersTagsResponses];
655
+
656
+ export type GetCustomersTagsData = {
657
+ body?: never;
658
+ path?: never;
659
+ query?: {
660
+ /**
661
+ * Return only these customers' tags. Omit to return every customer's.
662
+ */
663
+ customer_names?: Array<string>;
664
+ /**
665
+ * Opaque cursor from a previous page's next_cursor.
666
+ */
667
+ cursor?: string;
668
+ limit?: number;
669
+ };
670
+ url: '/customer-tags/';
671
+ };
672
+
673
+ export type GetCustomersTagsErrors = {
674
+ /**
675
+ * Missing or invalid API key.
676
+ */
677
+ 401: ApiErrorOutput;
678
+ };
679
+
680
+ export type GetCustomersTagsError = GetCustomersTagsErrors[keyof GetCustomersTagsErrors];
681
+
682
+ export type GetCustomersTagsResponses = {
683
+ /**
684
+ * Success.
685
+ */
686
+ 200: AllCustomerTagsOutput;
687
+ };
688
+
689
+ export type GetCustomersTagsResponse = GetCustomersTagsResponses[keyof GetCustomersTagsResponses];
690
+
691
+ export type SetCustomersTagsData = {
692
+ body: SetCustomerTagsInput;
693
+ path?: never;
694
+ query?: never;
695
+ url: '/customer-tags/';
696
+ };
697
+
698
+ export type SetCustomersTagsErrors = {
699
+ /**
700
+ * Missing or invalid API key.
701
+ */
702
+ 401: ApiErrorOutput;
703
+ /**
704
+ * Invalid payload: every offending field is listed and nothing was written.
705
+ */
706
+ 422: InvalidPayloadOutput;
707
+ };
708
+
709
+ export type SetCustomersTagsError = SetCustomersTagsErrors[keyof SetCustomersTagsErrors];
710
+
711
+ export type SetCustomersTagsResponses = {
712
+ /**
713
+ * Success.
714
+ */
715
+ 200: CustomersUpdatedOutput;
716
+ };
717
+
718
+ export type SetCustomersTagsResponse = SetCustomersTagsResponses[keyof SetCustomersTagsResponses];