@lucra/sdk 0.1.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 (45) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +116 -0
  3. package/dist/embed.d.ts +37 -0
  4. package/dist/embed.js +84 -0
  5. package/dist/generated/client/client.gen.d.ts +2 -0
  6. package/dist/generated/client/client.gen.js +216 -0
  7. package/dist/generated/client/index.d.ts +10 -0
  8. package/dist/generated/client/index.js +6 -0
  9. package/dist/generated/client/types.gen.d.ts +120 -0
  10. package/dist/generated/client/types.gen.js +2 -0
  11. package/dist/generated/client/utils.gen.d.ts +37 -0
  12. package/dist/generated/client/utils.gen.js +228 -0
  13. package/dist/generated/client.gen.d.ts +12 -0
  14. package/dist/generated/client.gen.js +3 -0
  15. package/dist/generated/core/auth.gen.d.ts +25 -0
  16. package/dist/generated/core/auth.gen.js +14 -0
  17. package/dist/generated/core/bodySerializer.gen.d.ts +25 -0
  18. package/dist/generated/core/bodySerializer.gen.js +57 -0
  19. package/dist/generated/core/params.gen.d.ts +43 -0
  20. package/dist/generated/core/params.gen.js +109 -0
  21. package/dist/generated/core/pathSerializer.gen.d.ts +33 -0
  22. package/dist/generated/core/pathSerializer.gen.js +106 -0
  23. package/dist/generated/core/queryKeySerializer.gen.d.ts +18 -0
  24. package/dist/generated/core/queryKeySerializer.gen.js +92 -0
  25. package/dist/generated/core/serverSentEvents.gen.d.ts +71 -0
  26. package/dist/generated/core/serverSentEvents.gen.js +132 -0
  27. package/dist/generated/core/types.gen.d.ts +83 -0
  28. package/dist/generated/core/types.gen.js +2 -0
  29. package/dist/generated/core/utils.gen.d.ts +19 -0
  30. package/dist/generated/core/utils.gen.js +87 -0
  31. package/dist/generated/index.d.ts +2 -0
  32. package/dist/generated/index.js +2 -0
  33. package/dist/generated/sdk.gen.d.ts +599 -0
  34. package/dist/generated/sdk.gen.js +2268 -0
  35. package/dist/generated/types.gen.d.ts +6103 -0
  36. package/dist/generated/types.gen.js +2 -0
  37. package/dist/index.d.ts +45 -0
  38. package/dist/index.js +62 -0
  39. package/dist/react.d.ts +28 -0
  40. package/dist/react.js +51 -0
  41. package/dist/types.d.ts +13 -0
  42. package/dist/types.js +1 -0
  43. package/dist/version.d.ts +1 -0
  44. package/dist/version.js +2 -0
  45. package/package.json +60 -0
@@ -0,0 +1,2268 @@
1
+ // This file is auto-generated by @hey-api/openapi-ts
2
+ import { client } from './client.gen.js';
3
+ class HeyApiClient {
4
+ client;
5
+ constructor(args) {
6
+ this.client = args?.client ?? client;
7
+ }
8
+ }
9
+ class HeyApiRegistry {
10
+ defaultKey = 'default';
11
+ instances = new Map();
12
+ get(key) {
13
+ const instance = this.instances.get(key ?? this.defaultKey);
14
+ if (!instance) {
15
+ throw new Error(`No SDK client found. Create one with "new LucraApi()" to fix this error.`);
16
+ }
17
+ return instance;
18
+ }
19
+ set(value, key) {
20
+ this.instances.set(key ?? this.defaultKey, value);
21
+ }
22
+ }
23
+ export class Account extends HeyApiClient {
24
+ /**
25
+ * Get the key's own account
26
+ */
27
+ retrieve(options) {
28
+ return (options?.client ?? this.client).get({
29
+ security: [{
30
+ key: 'apiKey',
31
+ scheme: 'bearer',
32
+ type: 'http'
33
+ }, {
34
+ key: 'oauth2',
35
+ scheme: 'bearer',
36
+ type: 'http'
37
+ }],
38
+ url: '/v1/account',
39
+ ...options
40
+ });
41
+ }
42
+ /**
43
+ * Update the key's own account
44
+ */
45
+ update(options) {
46
+ return (options.client ?? this.client).patch({
47
+ security: [{
48
+ key: 'apiKey',
49
+ scheme: 'bearer',
50
+ type: 'http'
51
+ }, {
52
+ key: 'oauth2',
53
+ scheme: 'bearer',
54
+ type: 'http'
55
+ }],
56
+ url: '/v1/account',
57
+ ...options,
58
+ headers: {
59
+ 'Content-Type': 'application/json',
60
+ ...options.headers
61
+ }
62
+ });
63
+ }
64
+ }
65
+ export class Analytics extends HeyApiClient {
66
+ /**
67
+ * Get daily ad results, or creators' organic results, optionally filtered and split by campaign, submission, creator or platform; as a creator, your own work's ad results across brands
68
+ */
69
+ retrieve(options) {
70
+ return (options.client ?? this.client).get({
71
+ security: [{
72
+ key: 'apiKey',
73
+ scheme: 'bearer',
74
+ type: 'http'
75
+ }, {
76
+ key: 'oauth2',
77
+ scheme: 'bearer',
78
+ type: 'http'
79
+ }],
80
+ url: '/v1/analytics',
81
+ ...options
82
+ });
83
+ }
84
+ }
85
+ export class Applications extends HeyApiClient {
86
+ /**
87
+ * List applications
88
+ */
89
+ list(options) {
90
+ return (options?.client ?? this.client).get({
91
+ security: [{
92
+ key: 'apiKey',
93
+ scheme: 'bearer',
94
+ type: 'http'
95
+ }, {
96
+ key: 'oauth2',
97
+ scheme: 'bearer',
98
+ type: 'http'
99
+ }],
100
+ url: '/v1/applications',
101
+ ...options
102
+ });
103
+ }
104
+ /**
105
+ * Invite a creator to a program, or apply as one
106
+ */
107
+ create(options) {
108
+ return (options.client ?? this.client).post({
109
+ security: [{
110
+ key: 'apiKey',
111
+ scheme: 'bearer',
112
+ type: 'http'
113
+ }, {
114
+ key: 'oauth2',
115
+ scheme: 'bearer',
116
+ type: 'http'
117
+ }],
118
+ url: '/v1/applications',
119
+ ...options,
120
+ headers: {
121
+ 'Content-Type': 'application/json',
122
+ ...options.headers
123
+ }
124
+ });
125
+ }
126
+ /**
127
+ * Get an application
128
+ */
129
+ retrieve(options) {
130
+ return (options.client ?? this.client).get({
131
+ security: [{
132
+ key: 'apiKey',
133
+ scheme: 'bearer',
134
+ type: 'http'
135
+ }, {
136
+ key: 'oauth2',
137
+ scheme: 'bearer',
138
+ type: 'http'
139
+ }],
140
+ url: '/v1/applications/{id}',
141
+ ...options
142
+ });
143
+ }
144
+ /**
145
+ * Approve, reject or reopen an application, or set the creator's pay; as the creator, withdraw it or accept an invitation (approved)
146
+ */
147
+ update(options) {
148
+ return (options.client ?? this.client).patch({
149
+ security: [{
150
+ key: 'apiKey',
151
+ scheme: 'bearer',
152
+ type: 'http'
153
+ }, {
154
+ key: 'oauth2',
155
+ scheme: 'bearer',
156
+ type: 'http'
157
+ }],
158
+ url: '/v1/applications/{id}',
159
+ ...options,
160
+ headers: {
161
+ 'Content-Type': 'application/json',
162
+ ...options.headers
163
+ }
164
+ });
165
+ }
166
+ }
167
+ export class Transactions extends HeyApiClient {
168
+ /**
169
+ * List every ledger line on the account
170
+ */
171
+ list(options) {
172
+ return (options?.client ?? this.client).get({
173
+ security: [{
174
+ key: 'apiKey',
175
+ scheme: 'bearer',
176
+ type: 'http'
177
+ }, {
178
+ key: 'oauth2',
179
+ scheme: 'bearer',
180
+ type: 'http'
181
+ }],
182
+ url: '/v1/balance/transactions',
183
+ ...options
184
+ });
185
+ }
186
+ }
187
+ export class Deposits extends HeyApiClient {
188
+ /**
189
+ * List deposits to the balance
190
+ */
191
+ list(options) {
192
+ return (options?.client ?? this.client).get({
193
+ security: [{
194
+ key: 'apiKey',
195
+ scheme: 'bearer',
196
+ type: 'http'
197
+ }, {
198
+ key: 'oauth2',
199
+ scheme: 'bearer',
200
+ type: 'http'
201
+ }],
202
+ url: '/v1/balance/deposits',
203
+ ...options
204
+ });
205
+ }
206
+ /**
207
+ * Add funds to the balance
208
+ */
209
+ create(options) {
210
+ return (options.client ?? this.client).post({
211
+ security: [{
212
+ key: 'apiKey',
213
+ scheme: 'bearer',
214
+ type: 'http'
215
+ }, {
216
+ key: 'oauth2',
217
+ scheme: 'bearer',
218
+ type: 'http'
219
+ }],
220
+ url: '/v1/balance/deposits',
221
+ ...options,
222
+ headers: {
223
+ 'Content-Type': 'application/json',
224
+ ...options.headers
225
+ }
226
+ });
227
+ }
228
+ /**
229
+ * Get a deposit
230
+ */
231
+ retrieve(options) {
232
+ return (options.client ?? this.client).get({
233
+ security: [{
234
+ key: 'apiKey',
235
+ scheme: 'bearer',
236
+ type: 'http'
237
+ }, {
238
+ key: 'oauth2',
239
+ scheme: 'bearer',
240
+ type: 'http'
241
+ }],
242
+ url: '/v1/balance/deposits/{id}',
243
+ ...options
244
+ });
245
+ }
246
+ }
247
+ export class Refunds extends HeyApiClient {
248
+ /**
249
+ * List refunds from the balance
250
+ */
251
+ list(options) {
252
+ return (options?.client ?? this.client).get({
253
+ security: [{
254
+ key: 'apiKey',
255
+ scheme: 'bearer',
256
+ type: 'http'
257
+ }, {
258
+ key: 'oauth2',
259
+ scheme: 'bearer',
260
+ type: 'http'
261
+ }],
262
+ url: '/v1/balance/refunds',
263
+ ...options
264
+ });
265
+ }
266
+ /**
267
+ * Refund available funds
268
+ */
269
+ create(options) {
270
+ return (options.client ?? this.client).post({
271
+ security: [{
272
+ key: 'apiKey',
273
+ scheme: 'bearer',
274
+ type: 'http'
275
+ }, {
276
+ key: 'oauth2',
277
+ scheme: 'bearer',
278
+ type: 'http'
279
+ }],
280
+ url: '/v1/balance/refunds',
281
+ ...options,
282
+ headers: {
283
+ 'Content-Type': 'application/json',
284
+ ...options.headers
285
+ }
286
+ });
287
+ }
288
+ /**
289
+ * Get a refund
290
+ */
291
+ retrieve(options) {
292
+ return (options.client ?? this.client).get({
293
+ security: [{
294
+ key: 'apiKey',
295
+ scheme: 'bearer',
296
+ type: 'http'
297
+ }, {
298
+ key: 'oauth2',
299
+ scheme: 'bearer',
300
+ type: 'http'
301
+ }],
302
+ url: '/v1/balance/refunds/{id}',
303
+ ...options
304
+ });
305
+ }
306
+ }
307
+ export class Balance extends HeyApiClient {
308
+ /**
309
+ * Get the balance: the account's funds, or a creator's earnings
310
+ */
311
+ retrieve(options) {
312
+ return (options?.client ?? this.client).get({
313
+ security: [{
314
+ key: 'apiKey',
315
+ scheme: 'bearer',
316
+ type: 'http'
317
+ }, {
318
+ key: 'oauth2',
319
+ scheme: 'bearer',
320
+ type: 'http'
321
+ }],
322
+ url: '/v1/balance',
323
+ ...options
324
+ });
325
+ }
326
+ _transactions;
327
+ get transactions() {
328
+ return this._transactions ??= new Transactions({ client: this.client });
329
+ }
330
+ _deposits;
331
+ get deposits() {
332
+ return this._deposits ??= new Deposits({ client: this.client });
333
+ }
334
+ _refunds;
335
+ get refunds() {
336
+ return this._refunds ??= new Refunds({ client: this.client });
337
+ }
338
+ }
339
+ export class Brands extends HeyApiClient {
340
+ /**
341
+ * List the brands this key reaches, and a partner's brands whose relationship ended
342
+ */
343
+ list(options) {
344
+ return (options?.client ?? this.client).get({
345
+ security: [{
346
+ key: 'apiKey',
347
+ scheme: 'bearer',
348
+ type: 'http'
349
+ }, {
350
+ key: 'oauth2',
351
+ scheme: 'bearer',
352
+ type: 'http'
353
+ }],
354
+ url: '/v1/brands',
355
+ ...options
356
+ });
357
+ }
358
+ /**
359
+ * Create a brand a partner manages
360
+ */
361
+ create(options) {
362
+ return (options.client ?? this.client).post({
363
+ security: [{
364
+ key: 'apiKey',
365
+ scheme: 'bearer',
366
+ type: 'http'
367
+ }, {
368
+ key: 'oauth2',
369
+ scheme: 'bearer',
370
+ type: 'http'
371
+ }],
372
+ url: '/v1/brands',
373
+ ...options,
374
+ headers: {
375
+ 'Content-Type': 'application/json',
376
+ ...options.headers
377
+ }
378
+ });
379
+ }
380
+ /**
381
+ * Get a brand
382
+ */
383
+ retrieve(options) {
384
+ return (options.client ?? this.client).get({
385
+ security: [{
386
+ key: 'apiKey',
387
+ scheme: 'bearer',
388
+ type: 'http'
389
+ }, {
390
+ key: 'oauth2',
391
+ scheme: 'bearer',
392
+ type: 'http'
393
+ }],
394
+ url: '/v1/brands/{id}',
395
+ ...options
396
+ });
397
+ }
398
+ /**
399
+ * Update a brand a partner manages
400
+ */
401
+ update(options) {
402
+ return (options.client ?? this.client).patch({
403
+ security: [{
404
+ key: 'apiKey',
405
+ scheme: 'bearer',
406
+ type: 'http'
407
+ }, {
408
+ key: 'oauth2',
409
+ scheme: 'bearer',
410
+ type: 'http'
411
+ }],
412
+ url: '/v1/brands/{id}',
413
+ ...options,
414
+ headers: {
415
+ 'Content-Type': 'application/json',
416
+ ...options.headers
417
+ }
418
+ });
419
+ }
420
+ }
421
+ export class Copies extends HeyApiClient {
422
+ /**
423
+ * Copy a campaign with its ad sets and ads, as a new campaign
424
+ */
425
+ create(options) {
426
+ return (options.client ?? this.client).post({
427
+ security: [{
428
+ key: 'apiKey',
429
+ scheme: 'bearer',
430
+ type: 'http'
431
+ }, {
432
+ key: 'oauth2',
433
+ scheme: 'bearer',
434
+ type: 'http'
435
+ }],
436
+ url: '/v1/campaigns/{id}/copies',
437
+ ...options,
438
+ headers: {
439
+ 'Content-Type': 'application/json',
440
+ ...options.headers
441
+ }
442
+ });
443
+ }
444
+ }
445
+ export class Campaigns extends HeyApiClient {
446
+ /**
447
+ * List campaigns
448
+ */
449
+ list(options) {
450
+ return (options?.client ?? this.client).get({
451
+ security: [{
452
+ key: 'apiKey',
453
+ scheme: 'bearer',
454
+ type: 'http'
455
+ }, {
456
+ key: 'oauth2',
457
+ scheme: 'bearer',
458
+ type: 'http'
459
+ }],
460
+ url: '/v1/campaigns',
461
+ ...options
462
+ });
463
+ }
464
+ /**
465
+ * Create and launch a campaign
466
+ */
467
+ create(options) {
468
+ return (options.client ?? this.client).post({
469
+ security: [{
470
+ key: 'apiKey',
471
+ scheme: 'bearer',
472
+ type: 'http'
473
+ }, {
474
+ key: 'oauth2',
475
+ scheme: 'bearer',
476
+ type: 'http'
477
+ }],
478
+ url: '/v1/campaigns',
479
+ ...options,
480
+ headers: {
481
+ 'Content-Type': 'application/json',
482
+ ...options.headers
483
+ }
484
+ });
485
+ }
486
+ /**
487
+ * Get a campaign
488
+ */
489
+ retrieve(options) {
490
+ return (options.client ?? this.client).get({
491
+ security: [{
492
+ key: 'apiKey',
493
+ scheme: 'bearer',
494
+ type: 'http'
495
+ }, {
496
+ key: 'oauth2',
497
+ scheme: 'bearer',
498
+ type: 'http'
499
+ }],
500
+ url: '/v1/campaigns/{id}',
501
+ ...options
502
+ });
503
+ }
504
+ /**
505
+ * Change a campaign, its ad sets' budgets, or its status: launch, pause, resume, retry or archive
506
+ */
507
+ update(options) {
508
+ return (options.client ?? this.client).patch({
509
+ security: [{
510
+ key: 'apiKey',
511
+ scheme: 'bearer',
512
+ type: 'http'
513
+ }, {
514
+ key: 'oauth2',
515
+ scheme: 'bearer',
516
+ type: 'http'
517
+ }],
518
+ url: '/v1/campaigns/{id}',
519
+ ...options,
520
+ headers: {
521
+ 'Content-Type': 'application/json',
522
+ ...options.headers
523
+ }
524
+ });
525
+ }
526
+ _copies;
527
+ get copies() {
528
+ return this._copies ??= new Copies({ client: this.client });
529
+ }
530
+ }
531
+ export class AdFields extends HeyApiClient {
532
+ /**
533
+ * List the settings each ad platform takes for campaigns, ad sets and ads
534
+ */
535
+ list(options) {
536
+ return (options?.client ?? this.client).get({
537
+ security: [{
538
+ key: 'apiKey',
539
+ scheme: 'bearer',
540
+ type: 'http'
541
+ }, {
542
+ key: 'oauth2',
543
+ scheme: 'bearer',
544
+ type: 'http'
545
+ }],
546
+ url: '/v1/ad-fields',
547
+ ...options
548
+ });
549
+ }
550
+ }
551
+ export class AdDefaults extends HeyApiClient {
552
+ /**
553
+ * Get what the account's new campaigns start with
554
+ */
555
+ retrieve(options) {
556
+ return (options?.client ?? this.client).get({
557
+ security: [{
558
+ key: 'apiKey',
559
+ scheme: 'bearer',
560
+ type: 'http'
561
+ }, {
562
+ key: 'oauth2',
563
+ scheme: 'bearer',
564
+ type: 'http'
565
+ }],
566
+ url: '/v1/ad-defaults',
567
+ ...options
568
+ });
569
+ }
570
+ /**
571
+ * Change what the account's new campaigns start with
572
+ */
573
+ update(options) {
574
+ return (options.client ?? this.client).patch({
575
+ security: [{
576
+ key: 'apiKey',
577
+ scheme: 'bearer',
578
+ type: 'http'
579
+ }, {
580
+ key: 'oauth2',
581
+ scheme: 'bearer',
582
+ type: 'http'
583
+ }],
584
+ url: '/v1/ad-defaults',
585
+ ...options,
586
+ headers: {
587
+ 'Content-Type': 'application/json',
588
+ ...options.headers
589
+ }
590
+ });
591
+ }
592
+ }
593
+ export class AdAudiences extends HeyApiClient {
594
+ /**
595
+ * List an ad account's saved audiences (Meta custom and lookalike audiences, TikTok audiences)
596
+ */
597
+ list(options) {
598
+ return (options.client ?? this.client).get({
599
+ security: [{
600
+ key: 'apiKey',
601
+ scheme: 'bearer',
602
+ type: 'http'
603
+ }, {
604
+ key: 'oauth2',
605
+ scheme: 'bearer',
606
+ type: 'http'
607
+ }],
608
+ url: '/v1/ad-audiences',
609
+ ...options
610
+ });
611
+ }
612
+ }
613
+ export class AdInterests extends HeyApiClient {
614
+ /**
615
+ * Search the interests an ad set can target on Meta or TikTok
616
+ */
617
+ list(options) {
618
+ return (options.client ?? this.client).get({
619
+ security: [{
620
+ key: 'apiKey',
621
+ scheme: 'bearer',
622
+ type: 'http'
623
+ }, {
624
+ key: 'oauth2',
625
+ scheme: 'bearer',
626
+ type: 'http'
627
+ }],
628
+ url: '/v1/ad-interests',
629
+ ...options
630
+ });
631
+ }
632
+ }
633
+ export class Copies2 extends HeyApiClient {
634
+ /**
635
+ * Copy an ad set (and run it paused) in its campaign or another one
636
+ */
637
+ create(options) {
638
+ return (options.client ?? this.client).post({
639
+ security: [{
640
+ key: 'apiKey',
641
+ scheme: 'bearer',
642
+ type: 'http'
643
+ }, {
644
+ key: 'oauth2',
645
+ scheme: 'bearer',
646
+ type: 'http'
647
+ }],
648
+ url: '/v1/ad-sets/{id}/copies',
649
+ ...options,
650
+ headers: {
651
+ 'Content-Type': 'application/json',
652
+ ...options.headers
653
+ }
654
+ });
655
+ }
656
+ }
657
+ export class AdSets extends HeyApiClient {
658
+ /**
659
+ * List ad sets (Meta ad sets, TikTok and Google ad groups, Snapchat ad squads)
660
+ */
661
+ list(options) {
662
+ return (options?.client ?? this.client).get({
663
+ security: [{
664
+ key: 'apiKey',
665
+ scheme: 'bearer',
666
+ type: 'http'
667
+ }, {
668
+ key: 'oauth2',
669
+ scheme: 'bearer',
670
+ type: 'http'
671
+ }],
672
+ url: '/v1/ad-sets',
673
+ ...options
674
+ });
675
+ }
676
+ /**
677
+ * Get an ad set
678
+ */
679
+ retrieve(options) {
680
+ return (options.client ?? this.client).get({
681
+ security: [{
682
+ key: 'apiKey',
683
+ scheme: 'bearer',
684
+ type: 'http'
685
+ }, {
686
+ key: 'oauth2',
687
+ scheme: 'bearer',
688
+ type: 'http'
689
+ }],
690
+ url: '/v1/ad-sets/{id}',
691
+ ...options
692
+ });
693
+ }
694
+ /**
695
+ * Rename, pause, resume, archive or re-budget an ad set on its platform
696
+ */
697
+ update(options) {
698
+ return (options.client ?? this.client).patch({
699
+ security: [{
700
+ key: 'apiKey',
701
+ scheme: 'bearer',
702
+ type: 'http'
703
+ }, {
704
+ key: 'oauth2',
705
+ scheme: 'bearer',
706
+ type: 'http'
707
+ }],
708
+ url: '/v1/ad-sets/{id}',
709
+ ...options,
710
+ headers: {
711
+ 'Content-Type': 'application/json',
712
+ ...options.headers
713
+ }
714
+ });
715
+ }
716
+ _copies;
717
+ get copies() {
718
+ return this._copies ??= new Copies2({ client: this.client });
719
+ }
720
+ }
721
+ export class Copies3 extends HeyApiClient {
722
+ /**
723
+ * Copy an ad (and run it paused) in its ad set or another one
724
+ */
725
+ create(options) {
726
+ return (options.client ?? this.client).post({
727
+ security: [{
728
+ key: 'apiKey',
729
+ scheme: 'bearer',
730
+ type: 'http'
731
+ }, {
732
+ key: 'oauth2',
733
+ scheme: 'bearer',
734
+ type: 'http'
735
+ }],
736
+ url: '/v1/ads/{id}/copies',
737
+ ...options,
738
+ headers: {
739
+ 'Content-Type': 'application/json',
740
+ ...options.headers
741
+ }
742
+ });
743
+ }
744
+ }
745
+ export class Ads extends HeyApiClient {
746
+ /**
747
+ * List ads
748
+ */
749
+ list(options) {
750
+ return (options?.client ?? this.client).get({
751
+ security: [{
752
+ key: 'apiKey',
753
+ scheme: 'bearer',
754
+ type: 'http'
755
+ }, {
756
+ key: 'oauth2',
757
+ scheme: 'bearer',
758
+ type: 'http'
759
+ }],
760
+ url: '/v1/ads',
761
+ ...options
762
+ });
763
+ }
764
+ /**
765
+ * Get an ad
766
+ */
767
+ retrieve(options) {
768
+ return (options.client ?? this.client).get({
769
+ security: [{
770
+ key: 'apiKey',
771
+ scheme: 'bearer',
772
+ type: 'http'
773
+ }, {
774
+ key: 'oauth2',
775
+ scheme: 'bearer',
776
+ type: 'http'
777
+ }],
778
+ url: '/v1/ads/{id}',
779
+ ...options
780
+ });
781
+ }
782
+ /**
783
+ * Rename, pause, resume or archive an ad on its platform
784
+ */
785
+ update(options) {
786
+ return (options.client ?? this.client).patch({
787
+ security: [{
788
+ key: 'apiKey',
789
+ scheme: 'bearer',
790
+ type: 'http'
791
+ }, {
792
+ key: 'oauth2',
793
+ scheme: 'bearer',
794
+ type: 'http'
795
+ }],
796
+ url: '/v1/ads/{id}',
797
+ ...options,
798
+ headers: {
799
+ 'Content-Type': 'application/json',
800
+ ...options.headers
801
+ }
802
+ });
803
+ }
804
+ _copies;
805
+ get copies() {
806
+ return this._copies ??= new Copies3({ client: this.client });
807
+ }
808
+ }
809
+ export class Connections extends HeyApiClient {
810
+ /**
811
+ * Get a connection
812
+ */
813
+ retrieve(options) {
814
+ return (options.client ?? this.client).get({
815
+ security: [{
816
+ key: 'apiKey',
817
+ scheme: 'bearer',
818
+ type: 'http'
819
+ }, {
820
+ key: 'oauth2',
821
+ scheme: 'bearer',
822
+ type: 'http'
823
+ }],
824
+ url: '/v1/connections/{id}',
825
+ ...options
826
+ });
827
+ }
828
+ /**
829
+ * List connected ad platforms, Shopify and creator social accounts
830
+ */
831
+ list(options) {
832
+ return (options?.client ?? this.client).get({
833
+ security: [{
834
+ key: 'apiKey',
835
+ scheme: 'bearer',
836
+ type: 'http'
837
+ }, {
838
+ key: 'oauth2',
839
+ scheme: 'bearer',
840
+ type: 'http'
841
+ }],
842
+ url: '/v1/connections',
843
+ ...options
844
+ });
845
+ }
846
+ }
847
+ export class Creators extends HeyApiClient {
848
+ /**
849
+ * List the account's creators and, for a partner, its roster
850
+ */
851
+ list(options) {
852
+ return (options?.client ?? this.client).get({
853
+ security: [{
854
+ key: 'apiKey',
855
+ scheme: 'bearer',
856
+ type: 'http'
857
+ }, {
858
+ key: 'oauth2',
859
+ scheme: 'bearer',
860
+ type: 'http'
861
+ }],
862
+ url: '/v1/creators',
863
+ ...options
864
+ });
865
+ }
866
+ /**
867
+ * Add a creator to a partner's roster; one already on it is returned with 200
868
+ */
869
+ create(options) {
870
+ return (options.client ?? this.client).post({
871
+ security: [{
872
+ key: 'apiKey',
873
+ scheme: 'bearer',
874
+ type: 'http'
875
+ }, {
876
+ key: 'oauth2',
877
+ scheme: 'bearer',
878
+ type: 'http'
879
+ }],
880
+ url: '/v1/creators',
881
+ ...options,
882
+ headers: {
883
+ 'Content-Type': 'application/json',
884
+ ...options.headers
885
+ }
886
+ });
887
+ }
888
+ /**
889
+ * Get one of the account's creators, or, as a creator, yourself
890
+ */
891
+ retrieve(options) {
892
+ return (options.client ?? this.client).get({
893
+ security: [{
894
+ key: 'apiKey',
895
+ scheme: 'bearer',
896
+ type: 'http'
897
+ }, {
898
+ key: 'oauth2',
899
+ scheme: 'bearer',
900
+ type: 'http'
901
+ }],
902
+ url: '/v1/creators/{id}',
903
+ ...options
904
+ });
905
+ }
906
+ /**
907
+ * Update a creator: a brand's labels and status, a partner's roster creator, or, as a creator, your own profile
908
+ */
909
+ update(options) {
910
+ return (options.client ?? this.client).patch({
911
+ security: [{
912
+ key: 'apiKey',
913
+ scheme: 'bearer',
914
+ type: 'http'
915
+ }, {
916
+ key: 'oauth2',
917
+ scheme: 'bearer',
918
+ type: 'http'
919
+ }],
920
+ url: '/v1/creators/{id}',
921
+ ...options,
922
+ headers: {
923
+ 'Content-Type': 'application/json',
924
+ ...options.headers
925
+ }
926
+ });
927
+ }
928
+ }
929
+ export class Files extends HeyApiClient {
930
+ /**
931
+ * List files
932
+ */
933
+ list(options) {
934
+ return (options?.client ?? this.client).get({
935
+ security: [{
936
+ key: 'apiKey',
937
+ scheme: 'bearer',
938
+ type: 'http'
939
+ }, {
940
+ key: 'oauth2',
941
+ scheme: 'bearer',
942
+ type: 'http'
943
+ }],
944
+ url: '/v1/files',
945
+ ...options
946
+ });
947
+ }
948
+ /**
949
+ * Upload a file
950
+ */
951
+ create(options) {
952
+ return (options.client ?? this.client).post({
953
+ bodySerializer: null,
954
+ security: [{
955
+ key: 'apiKey',
956
+ scheme: 'bearer',
957
+ type: 'http'
958
+ }, {
959
+ key: 'oauth2',
960
+ scheme: 'bearer',
961
+ type: 'http'
962
+ }],
963
+ url: '/v1/files',
964
+ ...options,
965
+ headers: {
966
+ 'Content-Type': 'application/octet-stream',
967
+ ...options.headers
968
+ }
969
+ });
970
+ }
971
+ /**
972
+ * Get a file
973
+ */
974
+ retrieve(options) {
975
+ return (options.client ?? this.client).get({
976
+ security: [{
977
+ key: 'apiKey',
978
+ scheme: 'bearer',
979
+ type: 'http'
980
+ }, {
981
+ key: 'oauth2',
982
+ scheme: 'bearer',
983
+ type: 'http'
984
+ }],
985
+ url: '/v1/files/{id}',
986
+ ...options
987
+ });
988
+ }
989
+ /**
990
+ * Finish or delete an upload
991
+ */
992
+ update(options) {
993
+ return (options.client ?? this.client).patch({
994
+ security: [{
995
+ key: 'apiKey',
996
+ scheme: 'bearer',
997
+ type: 'http'
998
+ }, {
999
+ key: 'oauth2',
1000
+ scheme: 'bearer',
1001
+ type: 'http'
1002
+ }],
1003
+ url: '/v1/files/{id}',
1004
+ ...options,
1005
+ headers: {
1006
+ 'Content-Type': 'application/json',
1007
+ ...options.headers
1008
+ }
1009
+ });
1010
+ }
1011
+ }
1012
+ export class Messages extends HeyApiClient {
1013
+ /**
1014
+ * List messages
1015
+ */
1016
+ list(options) {
1017
+ return (options?.client ?? this.client).get({
1018
+ security: [{
1019
+ key: 'apiKey',
1020
+ scheme: 'bearer',
1021
+ type: 'http'
1022
+ }, {
1023
+ key: 'oauth2',
1024
+ scheme: 'bearer',
1025
+ type: 'http'
1026
+ }],
1027
+ url: '/v1/messages',
1028
+ ...options
1029
+ });
1030
+ }
1031
+ /**
1032
+ * Send a message
1033
+ */
1034
+ create(options) {
1035
+ return (options.client ?? this.client).post({
1036
+ security: [{
1037
+ key: 'apiKey',
1038
+ scheme: 'bearer',
1039
+ type: 'http'
1040
+ }, {
1041
+ key: 'oauth2',
1042
+ scheme: 'bearer',
1043
+ type: 'http'
1044
+ }],
1045
+ url: '/v1/messages',
1046
+ ...options,
1047
+ headers: {
1048
+ 'Content-Type': 'application/json',
1049
+ ...options.headers
1050
+ }
1051
+ });
1052
+ }
1053
+ }
1054
+ export class Payments extends HeyApiClient {
1055
+ /**
1056
+ * List payments to creators
1057
+ */
1058
+ list(options) {
1059
+ return (options?.client ?? this.client).get({
1060
+ security: [{
1061
+ key: 'apiKey',
1062
+ scheme: 'bearer',
1063
+ type: 'http'
1064
+ }, {
1065
+ key: 'oauth2',
1066
+ scheme: 'bearer',
1067
+ type: 'http'
1068
+ }],
1069
+ url: '/v1/payments',
1070
+ ...options
1071
+ });
1072
+ }
1073
+ /**
1074
+ * Pay a creator
1075
+ */
1076
+ create(options) {
1077
+ return (options.client ?? this.client).post({
1078
+ security: [{
1079
+ key: 'apiKey',
1080
+ scheme: 'bearer',
1081
+ type: 'http'
1082
+ }, {
1083
+ key: 'oauth2',
1084
+ scheme: 'bearer',
1085
+ type: 'http'
1086
+ }],
1087
+ url: '/v1/payments',
1088
+ ...options,
1089
+ headers: {
1090
+ 'Content-Type': 'application/json',
1091
+ ...options.headers
1092
+ }
1093
+ });
1094
+ }
1095
+ /**
1096
+ * Get a payment to a creator
1097
+ */
1098
+ retrieve(options) {
1099
+ return (options.client ?? this.client).get({
1100
+ security: [{
1101
+ key: 'apiKey',
1102
+ scheme: 'bearer',
1103
+ type: 'http'
1104
+ }, {
1105
+ key: 'oauth2',
1106
+ scheme: 'bearer',
1107
+ type: 'http'
1108
+ }],
1109
+ url: '/v1/payments/{id}',
1110
+ ...options
1111
+ });
1112
+ }
1113
+ /**
1114
+ * Approve or dispute a payment to a creator
1115
+ */
1116
+ update(options) {
1117
+ return (options.client ?? this.client).patch({
1118
+ security: [{
1119
+ key: 'apiKey',
1120
+ scheme: 'bearer',
1121
+ type: 'http'
1122
+ }, {
1123
+ key: 'oauth2',
1124
+ scheme: 'bearer',
1125
+ type: 'http'
1126
+ }],
1127
+ url: '/v1/payments/{id}',
1128
+ ...options,
1129
+ headers: {
1130
+ 'Content-Type': 'application/json',
1131
+ ...options.headers
1132
+ }
1133
+ });
1134
+ }
1135
+ }
1136
+ export class Payouts extends HeyApiClient {
1137
+ /**
1138
+ * List payouts: to creators from this brand's earnings, received by this account, or (as a creator) the creator's own
1139
+ */
1140
+ list(options) {
1141
+ return (options?.client ?? this.client).get({
1142
+ security: [{
1143
+ key: 'apiKey',
1144
+ scheme: 'bearer',
1145
+ type: 'http'
1146
+ }, {
1147
+ key: 'oauth2',
1148
+ scheme: 'bearer',
1149
+ type: 'http'
1150
+ }],
1151
+ url: '/v1/payouts',
1152
+ ...options
1153
+ });
1154
+ }
1155
+ /**
1156
+ * Get a payout
1157
+ */
1158
+ retrieve(options) {
1159
+ return (options.client ?? this.client).get({
1160
+ security: [{
1161
+ key: 'apiKey',
1162
+ scheme: 'bearer',
1163
+ type: 'http'
1164
+ }, {
1165
+ key: 'oauth2',
1166
+ scheme: 'bearer',
1167
+ type: 'http'
1168
+ }],
1169
+ url: '/v1/payouts/{id}',
1170
+ ...options
1171
+ });
1172
+ }
1173
+ }
1174
+ export class Earnings extends HeyApiClient {
1175
+ /**
1176
+ * List a creator's earnings
1177
+ */
1178
+ list(options) {
1179
+ return (options?.client ?? this.client).get({
1180
+ security: [{
1181
+ key: 'apiKey',
1182
+ scheme: 'bearer',
1183
+ type: 'http'
1184
+ }, {
1185
+ key: 'oauth2',
1186
+ scheme: 'bearer',
1187
+ type: 'http'
1188
+ }],
1189
+ url: '/v1/earnings',
1190
+ ...options
1191
+ });
1192
+ }
1193
+ /**
1194
+ * Get one of a creator's earnings
1195
+ */
1196
+ retrieve(options) {
1197
+ return (options.client ?? this.client).get({
1198
+ security: [{
1199
+ key: 'apiKey',
1200
+ scheme: 'bearer',
1201
+ type: 'http'
1202
+ }, {
1203
+ key: 'oauth2',
1204
+ scheme: 'bearer',
1205
+ type: 'http'
1206
+ }],
1207
+ url: '/v1/earnings/{id}',
1208
+ ...options
1209
+ });
1210
+ }
1211
+ }
1212
+ export class Withdrawals extends HeyApiClient {
1213
+ /**
1214
+ * List withdrawals from the balance
1215
+ */
1216
+ list(options) {
1217
+ return (options?.client ?? this.client).get({
1218
+ security: [{
1219
+ key: 'apiKey',
1220
+ scheme: 'bearer',
1221
+ type: 'http'
1222
+ }, {
1223
+ key: 'oauth2',
1224
+ scheme: 'bearer',
1225
+ type: 'http'
1226
+ }],
1227
+ url: '/v1/withdrawals',
1228
+ ...options
1229
+ });
1230
+ }
1231
+ /**
1232
+ * Withdraw from the balance to the bank account or debit card
1233
+ */
1234
+ create(options) {
1235
+ return (options.client ?? this.client).post({
1236
+ security: [{
1237
+ key: 'apiKey',
1238
+ scheme: 'bearer',
1239
+ type: 'http'
1240
+ }, {
1241
+ key: 'oauth2',
1242
+ scheme: 'bearer',
1243
+ type: 'http'
1244
+ }],
1245
+ url: '/v1/withdrawals',
1246
+ ...options,
1247
+ headers: {
1248
+ 'Content-Type': 'application/json',
1249
+ ...options.headers
1250
+ }
1251
+ });
1252
+ }
1253
+ /**
1254
+ * Get a withdrawal
1255
+ */
1256
+ retrieve(options) {
1257
+ return (options.client ?? this.client).get({
1258
+ security: [{
1259
+ key: 'apiKey',
1260
+ scheme: 'bearer',
1261
+ type: 'http'
1262
+ }, {
1263
+ key: 'oauth2',
1264
+ scheme: 'bearer',
1265
+ type: 'http'
1266
+ }],
1267
+ url: '/v1/withdrawals/{id}',
1268
+ ...options
1269
+ });
1270
+ }
1271
+ }
1272
+ export class Acceptances extends HeyApiClient {
1273
+ /**
1274
+ * List creators' acceptances of your agreements; as a creator, the ones you accepted and the ones waiting on you
1275
+ */
1276
+ list(options) {
1277
+ return (options?.client ?? this.client).get({
1278
+ security: [{
1279
+ key: 'apiKey',
1280
+ scheme: 'bearer',
1281
+ type: 'http'
1282
+ }, {
1283
+ key: 'oauth2',
1284
+ scheme: 'bearer',
1285
+ type: 'http'
1286
+ }],
1287
+ url: '/v1/agreements/acceptances',
1288
+ ...options
1289
+ });
1290
+ }
1291
+ }
1292
+ export class Versions extends HeyApiClient {
1293
+ /**
1294
+ * List an agreement's versions, newest first
1295
+ */
1296
+ list(options) {
1297
+ return (options.client ?? this.client).get({
1298
+ security: [{
1299
+ key: 'apiKey',
1300
+ scheme: 'bearer',
1301
+ type: 'http'
1302
+ }, {
1303
+ key: 'oauth2',
1304
+ scheme: 'bearer',
1305
+ type: 'http'
1306
+ }],
1307
+ url: '/v1/agreements/{id}/versions',
1308
+ ...options
1309
+ });
1310
+ }
1311
+ /**
1312
+ * Publish a new version of an agreement
1313
+ */
1314
+ create(options) {
1315
+ return (options.client ?? this.client).post({
1316
+ security: [{
1317
+ key: 'apiKey',
1318
+ scheme: 'bearer',
1319
+ type: 'http'
1320
+ }, {
1321
+ key: 'oauth2',
1322
+ scheme: 'bearer',
1323
+ type: 'http'
1324
+ }],
1325
+ url: '/v1/agreements/{id}/versions',
1326
+ ...options,
1327
+ headers: {
1328
+ 'Content-Type': 'application/json',
1329
+ ...options.headers
1330
+ }
1331
+ });
1332
+ }
1333
+ /**
1334
+ * Get a version of an agreement by its number
1335
+ */
1336
+ retrieve(options) {
1337
+ return (options.client ?? this.client).get({
1338
+ security: [{
1339
+ key: 'apiKey',
1340
+ scheme: 'bearer',
1341
+ type: 'http'
1342
+ }, {
1343
+ key: 'oauth2',
1344
+ scheme: 'bearer',
1345
+ type: 'http'
1346
+ }],
1347
+ url: '/v1/agreements/{id}/versions/{number}',
1348
+ ...options
1349
+ });
1350
+ }
1351
+ }
1352
+ export class Agreements extends HeyApiClient {
1353
+ /**
1354
+ * List agreements
1355
+ */
1356
+ list(options) {
1357
+ return (options?.client ?? this.client).get({
1358
+ security: [{
1359
+ key: 'apiKey',
1360
+ scheme: 'bearer',
1361
+ type: 'http'
1362
+ }, {
1363
+ key: 'oauth2',
1364
+ scheme: 'bearer',
1365
+ type: 'http'
1366
+ }],
1367
+ url: '/v1/agreements',
1368
+ ...options
1369
+ });
1370
+ }
1371
+ /**
1372
+ * Publish an agreement
1373
+ */
1374
+ create(options) {
1375
+ return (options.client ?? this.client).post({
1376
+ security: [{
1377
+ key: 'apiKey',
1378
+ scheme: 'bearer',
1379
+ type: 'http'
1380
+ }, {
1381
+ key: 'oauth2',
1382
+ scheme: 'bearer',
1383
+ type: 'http'
1384
+ }],
1385
+ url: '/v1/agreements',
1386
+ ...options,
1387
+ headers: {
1388
+ 'Content-Type': 'application/json',
1389
+ ...options.headers
1390
+ }
1391
+ });
1392
+ }
1393
+ /**
1394
+ * Get an agreement
1395
+ */
1396
+ retrieve(options) {
1397
+ return (options.client ?? this.client).get({
1398
+ security: [{
1399
+ key: 'apiKey',
1400
+ scheme: 'bearer',
1401
+ type: 'http'
1402
+ }, {
1403
+ key: 'oauth2',
1404
+ scheme: 'bearer',
1405
+ type: 'http'
1406
+ }],
1407
+ url: '/v1/agreements/{id}',
1408
+ ...options
1409
+ });
1410
+ }
1411
+ /**
1412
+ * Change where an agreement is required, or archive it
1413
+ */
1414
+ update(options) {
1415
+ return (options.client ?? this.client).patch({
1416
+ security: [{
1417
+ key: 'apiKey',
1418
+ scheme: 'bearer',
1419
+ type: 'http'
1420
+ }, {
1421
+ key: 'oauth2',
1422
+ scheme: 'bearer',
1423
+ type: 'http'
1424
+ }],
1425
+ url: '/v1/agreements/{id}',
1426
+ ...options,
1427
+ headers: {
1428
+ 'Content-Type': 'application/json',
1429
+ ...options.headers
1430
+ }
1431
+ });
1432
+ }
1433
+ _acceptances;
1434
+ get acceptances() {
1435
+ return this._acceptances ??= new Acceptances({ client: this.client });
1436
+ }
1437
+ _versions;
1438
+ get versions() {
1439
+ return this._versions ??= new Versions({ client: this.client });
1440
+ }
1441
+ }
1442
+ export class Threads extends HeyApiClient {
1443
+ /**
1444
+ * List the conversations the account (or, acting as a creator, the creator) takes part in, most recently active first
1445
+ */
1446
+ list(options) {
1447
+ return (options?.client ?? this.client).get({
1448
+ security: [{
1449
+ key: 'apiKey',
1450
+ scheme: 'bearer',
1451
+ type: 'http'
1452
+ }, {
1453
+ key: 'oauth2',
1454
+ scheme: 'bearer',
1455
+ type: 'http'
1456
+ }],
1457
+ url: '/v1/threads',
1458
+ ...options
1459
+ });
1460
+ }
1461
+ /**
1462
+ * Get a conversation; its messages are GET /v1/messages?thread=
1463
+ */
1464
+ retrieve(options) {
1465
+ return (options.client ?? this.client).get({
1466
+ security: [{
1467
+ key: 'apiKey',
1468
+ scheme: 'bearer',
1469
+ type: 'http'
1470
+ }, {
1471
+ key: 'oauth2',
1472
+ scheme: 'bearer',
1473
+ type: 'http'
1474
+ }],
1475
+ url: '/v1/threads/{id}',
1476
+ ...options
1477
+ });
1478
+ }
1479
+ }
1480
+ export class Posts extends HeyApiClient {
1481
+ /**
1482
+ * List creators' posts in organic programs
1483
+ */
1484
+ list(options) {
1485
+ return (options?.client ?? this.client).get({
1486
+ security: [{
1487
+ key: 'apiKey',
1488
+ scheme: 'bearer',
1489
+ type: 'http'
1490
+ }, {
1491
+ key: 'oauth2',
1492
+ scheme: 'bearer',
1493
+ type: 'http'
1494
+ }],
1495
+ url: '/v1/posts',
1496
+ ...options
1497
+ });
1498
+ }
1499
+ /**
1500
+ * Get a post with its claim evidence
1501
+ */
1502
+ retrieve(options) {
1503
+ return (options.client ?? this.client).get({
1504
+ security: [{
1505
+ key: 'apiKey',
1506
+ scheme: 'bearer',
1507
+ type: 'http'
1508
+ }, {
1509
+ key: 'oauth2',
1510
+ scheme: 'bearer',
1511
+ type: 'http'
1512
+ }],
1513
+ url: '/v1/posts/{id}',
1514
+ ...options
1515
+ });
1516
+ }
1517
+ /**
1518
+ * Tag or archive a post
1519
+ */
1520
+ update(options) {
1521
+ return (options.client ?? this.client).patch({
1522
+ security: [{
1523
+ key: 'apiKey',
1524
+ scheme: 'bearer',
1525
+ type: 'http'
1526
+ }, {
1527
+ key: 'oauth2',
1528
+ scheme: 'bearer',
1529
+ type: 'http'
1530
+ }],
1531
+ url: '/v1/posts/{id}',
1532
+ ...options,
1533
+ headers: {
1534
+ 'Content-Type': 'application/json',
1535
+ ...options.headers
1536
+ }
1537
+ });
1538
+ }
1539
+ }
1540
+ export class AccountLinks extends HeyApiClient {
1541
+ /**
1542
+ * Open a hosted setup step: payouts on Stripe, the payment method, or a platform sign-in
1543
+ */
1544
+ create(options) {
1545
+ return (options.client ?? this.client).post({
1546
+ security: [{
1547
+ key: 'apiKey',
1548
+ scheme: 'bearer',
1549
+ type: 'http'
1550
+ }, {
1551
+ key: 'oauth2',
1552
+ scheme: 'bearer',
1553
+ type: 'http'
1554
+ }],
1555
+ url: '/v1/account-links',
1556
+ ...options,
1557
+ headers: {
1558
+ 'Content-Type': 'application/json',
1559
+ ...options.headers
1560
+ }
1561
+ });
1562
+ }
1563
+ }
1564
+ export class AdAuthorizations extends HeyApiClient {
1565
+ /**
1566
+ * List ad authorizations: a brand's requests, or, as a creator, the ones asked of you
1567
+ */
1568
+ list(options) {
1569
+ return (options?.client ?? this.client).get({
1570
+ security: [{
1571
+ key: 'apiKey',
1572
+ scheme: 'bearer',
1573
+ type: 'http'
1574
+ }, {
1575
+ key: 'oauth2',
1576
+ scheme: 'bearer',
1577
+ type: 'http'
1578
+ }],
1579
+ url: '/v1/ad-authorizations',
1580
+ ...options
1581
+ });
1582
+ }
1583
+ /**
1584
+ * Ask a submission's creator to authorize it as a TikTok Spark or Meta partnership ad
1585
+ */
1586
+ create(options) {
1587
+ return (options.client ?? this.client).post({
1588
+ security: [{
1589
+ key: 'apiKey',
1590
+ scheme: 'bearer',
1591
+ type: 'http'
1592
+ }, {
1593
+ key: 'oauth2',
1594
+ scheme: 'bearer',
1595
+ type: 'http'
1596
+ }],
1597
+ url: '/v1/ad-authorizations',
1598
+ ...options,
1599
+ headers: {
1600
+ 'Content-Type': 'application/json',
1601
+ ...options.headers
1602
+ }
1603
+ });
1604
+ }
1605
+ /**
1606
+ * Get an ad authorization
1607
+ */
1608
+ retrieve(options) {
1609
+ return (options.client ?? this.client).get({
1610
+ security: [{
1611
+ key: 'apiKey',
1612
+ scheme: 'bearer',
1613
+ type: 'http'
1614
+ }, {
1615
+ key: 'oauth2',
1616
+ scheme: 'bearer',
1617
+ type: 'http'
1618
+ }],
1619
+ url: '/v1/ad-authorizations/{id}',
1620
+ ...options
1621
+ });
1622
+ }
1623
+ /**
1624
+ * Grant an ad authorization as its creator, or revoke it
1625
+ */
1626
+ update(options) {
1627
+ return (options.client ?? this.client).patch({
1628
+ security: [{
1629
+ key: 'apiKey',
1630
+ scheme: 'bearer',
1631
+ type: 'http'
1632
+ }, {
1633
+ key: 'oauth2',
1634
+ scheme: 'bearer',
1635
+ type: 'http'
1636
+ }],
1637
+ url: '/v1/ad-authorizations/{id}',
1638
+ ...options,
1639
+ headers: {
1640
+ 'Content-Type': 'application/json',
1641
+ ...options.headers
1642
+ }
1643
+ });
1644
+ }
1645
+ }
1646
+ export class Embeds extends HeyApiClient {
1647
+ /**
1648
+ * List the embeds you opened for a brand or creator
1649
+ */
1650
+ list(options) {
1651
+ return (options?.client ?? this.client).get({
1652
+ security: [{
1653
+ key: 'apiKey',
1654
+ scheme: 'bearer',
1655
+ type: 'http'
1656
+ }, {
1657
+ key: 'oauth2',
1658
+ scheme: 'bearer',
1659
+ type: 'http'
1660
+ }],
1661
+ url: '/v1/embeds',
1662
+ ...options
1663
+ });
1664
+ }
1665
+ /**
1666
+ * Open Lucra UI for a brand or creator, hosted or embedded
1667
+ */
1668
+ create(options) {
1669
+ return (options.client ?? this.client).post({
1670
+ security: [{
1671
+ key: 'apiKey',
1672
+ scheme: 'bearer',
1673
+ type: 'http'
1674
+ }, {
1675
+ key: 'oauth2',
1676
+ scheme: 'bearer',
1677
+ type: 'http'
1678
+ }],
1679
+ url: '/v1/embeds',
1680
+ ...options,
1681
+ headers: {
1682
+ 'Content-Type': 'application/json',
1683
+ ...options.headers
1684
+ }
1685
+ });
1686
+ }
1687
+ /**
1688
+ * Get an embed
1689
+ */
1690
+ retrieve(options) {
1691
+ return (options.client ?? this.client).get({
1692
+ security: [{
1693
+ key: 'apiKey',
1694
+ scheme: 'bearer',
1695
+ type: 'http'
1696
+ }, {
1697
+ key: 'oauth2',
1698
+ scheme: 'bearer',
1699
+ type: 'http'
1700
+ }],
1701
+ url: '/v1/embeds/{id}',
1702
+ ...options
1703
+ });
1704
+ }
1705
+ /**
1706
+ * End an embed early
1707
+ */
1708
+ update(options) {
1709
+ return (options.client ?? this.client).patch({
1710
+ security: [{
1711
+ key: 'apiKey',
1712
+ scheme: 'bearer',
1713
+ type: 'http'
1714
+ }, {
1715
+ key: 'oauth2',
1716
+ scheme: 'bearer',
1717
+ type: 'http'
1718
+ }],
1719
+ url: '/v1/embeds/{id}',
1720
+ ...options,
1721
+ headers: {
1722
+ 'Content-Type': 'application/json',
1723
+ ...options.headers
1724
+ }
1725
+ });
1726
+ }
1727
+ }
1728
+ export class Products extends HeyApiClient {
1729
+ /**
1730
+ * List products; as a creator, the ones attached to the programs you're approved in, which you can ask a sample of
1731
+ */
1732
+ list(options) {
1733
+ return (options?.client ?? this.client).get({
1734
+ security: [{
1735
+ key: 'apiKey',
1736
+ scheme: 'bearer',
1737
+ type: 'http'
1738
+ }, {
1739
+ key: 'oauth2',
1740
+ scheme: 'bearer',
1741
+ type: 'http'
1742
+ }],
1743
+ url: '/v1/products',
1744
+ ...options
1745
+ });
1746
+ }
1747
+ /**
1748
+ * Add a product to the catalog
1749
+ */
1750
+ create(options) {
1751
+ return (options.client ?? this.client).post({
1752
+ security: [{
1753
+ key: 'apiKey',
1754
+ scheme: 'bearer',
1755
+ type: 'http'
1756
+ }, {
1757
+ key: 'oauth2',
1758
+ scheme: 'bearer',
1759
+ type: 'http'
1760
+ }],
1761
+ url: '/v1/products',
1762
+ ...options,
1763
+ headers: {
1764
+ 'Content-Type': 'application/json',
1765
+ ...options.headers
1766
+ }
1767
+ });
1768
+ }
1769
+ /**
1770
+ * Get a product
1771
+ */
1772
+ retrieve(options) {
1773
+ return (options.client ?? this.client).get({
1774
+ security: [{
1775
+ key: 'apiKey',
1776
+ scheme: 'bearer',
1777
+ type: 'http'
1778
+ }, {
1779
+ key: 'oauth2',
1780
+ scheme: 'bearer',
1781
+ type: 'http'
1782
+ }],
1783
+ url: '/v1/products/{id}',
1784
+ ...options
1785
+ });
1786
+ }
1787
+ /**
1788
+ * Edit, archive or set the access code of a product
1789
+ */
1790
+ update(options) {
1791
+ return (options.client ?? this.client).patch({
1792
+ security: [{
1793
+ key: 'apiKey',
1794
+ scheme: 'bearer',
1795
+ type: 'http'
1796
+ }, {
1797
+ key: 'oauth2',
1798
+ scheme: 'bearer',
1799
+ type: 'http'
1800
+ }],
1801
+ url: '/v1/products/{id}',
1802
+ ...options,
1803
+ headers: {
1804
+ 'Content-Type': 'application/json',
1805
+ ...options.headers
1806
+ }
1807
+ });
1808
+ }
1809
+ }
1810
+ export class Retainers extends HeyApiClient {
1811
+ /**
1812
+ * List retainers
1813
+ */
1814
+ list(options) {
1815
+ return (options?.client ?? this.client).get({
1816
+ security: [{
1817
+ key: 'apiKey',
1818
+ scheme: 'bearer',
1819
+ type: 'http'
1820
+ }, {
1821
+ key: 'oauth2',
1822
+ scheme: 'bearer',
1823
+ type: 'http'
1824
+ }],
1825
+ url: '/v1/retainers',
1826
+ ...options
1827
+ });
1828
+ }
1829
+ /**
1830
+ * Offer a creator a retainer
1831
+ */
1832
+ create(options) {
1833
+ return (options.client ?? this.client).post({
1834
+ security: [{
1835
+ key: 'apiKey',
1836
+ scheme: 'bearer',
1837
+ type: 'http'
1838
+ }, {
1839
+ key: 'oauth2',
1840
+ scheme: 'bearer',
1841
+ type: 'http'
1842
+ }],
1843
+ url: '/v1/retainers',
1844
+ ...options,
1845
+ headers: {
1846
+ 'Content-Type': 'application/json',
1847
+ ...options.headers
1848
+ }
1849
+ });
1850
+ }
1851
+ /**
1852
+ * Get a retainer
1853
+ */
1854
+ retrieve(options) {
1855
+ return (options.client ?? this.client).get({
1856
+ security: [{
1857
+ key: 'apiKey',
1858
+ scheme: 'bearer',
1859
+ type: 'http'
1860
+ }, {
1861
+ key: 'oauth2',
1862
+ scheme: 'bearer',
1863
+ type: 'http'
1864
+ }],
1865
+ url: '/v1/retainers/{id}',
1866
+ ...options
1867
+ });
1868
+ }
1869
+ /**
1870
+ * Cancel a retainer, or, as the creator, accept or reject an offer or cancel
1871
+ */
1872
+ update(options) {
1873
+ return (options.client ?? this.client).patch({
1874
+ security: [{
1875
+ key: 'apiKey',
1876
+ scheme: 'bearer',
1877
+ type: 'http'
1878
+ }, {
1879
+ key: 'oauth2',
1880
+ scheme: 'bearer',
1881
+ type: 'http'
1882
+ }],
1883
+ url: '/v1/retainers/{id}',
1884
+ ...options,
1885
+ headers: {
1886
+ 'Content-Type': 'application/json',
1887
+ ...options.headers
1888
+ }
1889
+ });
1890
+ }
1891
+ }
1892
+ export class Programs extends HeyApiClient {
1893
+ /**
1894
+ * List programs: your own (archived ones only with status=archived), or with scope=network the open programs on the Lucra Network
1895
+ */
1896
+ list(options) {
1897
+ return (options?.client ?? this.client).get({
1898
+ security: [{
1899
+ key: 'apiKey',
1900
+ scheme: 'bearer',
1901
+ type: 'http'
1902
+ }, {
1903
+ key: 'oauth2',
1904
+ scheme: 'bearer',
1905
+ type: 'http'
1906
+ }],
1907
+ url: '/v1/programs',
1908
+ ...options
1909
+ });
1910
+ }
1911
+ /**
1912
+ * Create a program
1913
+ */
1914
+ create(options) {
1915
+ return (options.client ?? this.client).post({
1916
+ security: [{
1917
+ key: 'apiKey',
1918
+ scheme: 'bearer',
1919
+ type: 'http'
1920
+ }, {
1921
+ key: 'oauth2',
1922
+ scheme: 'bearer',
1923
+ type: 'http'
1924
+ }],
1925
+ url: '/v1/programs',
1926
+ ...options,
1927
+ headers: {
1928
+ 'Content-Type': 'application/json',
1929
+ ...options.headers
1930
+ }
1931
+ });
1932
+ }
1933
+ /**
1934
+ * Get a program
1935
+ */
1936
+ retrieve(options) {
1937
+ return (options.client ?? this.client).get({
1938
+ security: [{
1939
+ key: 'apiKey',
1940
+ scheme: 'bearer',
1941
+ type: 'http'
1942
+ }, {
1943
+ key: 'oauth2',
1944
+ scheme: 'bearer',
1945
+ type: 'http'
1946
+ }],
1947
+ url: '/v1/programs/{id}',
1948
+ ...options
1949
+ });
1950
+ }
1951
+ /**
1952
+ * Update a program; every change in one request applies together, or none does
1953
+ */
1954
+ update(options) {
1955
+ return (options.client ?? this.client).patch({
1956
+ security: [{
1957
+ key: 'apiKey',
1958
+ scheme: 'bearer',
1959
+ type: 'http'
1960
+ }, {
1961
+ key: 'oauth2',
1962
+ scheme: 'bearer',
1963
+ type: 'http'
1964
+ }],
1965
+ url: '/v1/programs/{id}',
1966
+ ...options,
1967
+ headers: {
1968
+ 'Content-Type': 'application/json',
1969
+ ...options.headers
1970
+ }
1971
+ });
1972
+ }
1973
+ }
1974
+ export class Samples extends HeyApiClient {
1975
+ /**
1976
+ * List samples
1977
+ */
1978
+ list(options) {
1979
+ return (options?.client ?? this.client).get({
1980
+ security: [{
1981
+ key: 'apiKey',
1982
+ scheme: 'bearer',
1983
+ type: 'http'
1984
+ }, {
1985
+ key: 'oauth2',
1986
+ scheme: 'bearer',
1987
+ type: 'http'
1988
+ }],
1989
+ url: '/v1/samples',
1990
+ ...options
1991
+ });
1992
+ }
1993
+ /**
1994
+ * Request a sample as a creator, or send one to a creator as the brand
1995
+ */
1996
+ create(options) {
1997
+ return (options.client ?? this.client).post({
1998
+ security: [{
1999
+ key: 'apiKey',
2000
+ scheme: 'bearer',
2001
+ type: 'http'
2002
+ }, {
2003
+ key: 'oauth2',
2004
+ scheme: 'bearer',
2005
+ type: 'http'
2006
+ }],
2007
+ url: '/v1/samples',
2008
+ ...options,
2009
+ headers: {
2010
+ 'Content-Type': 'application/json',
2011
+ ...options.headers
2012
+ }
2013
+ });
2014
+ }
2015
+ /**
2016
+ * Get a sample; its creator can reveal an access code with expand=accessCode
2017
+ */
2018
+ retrieve(options) {
2019
+ return (options.client ?? this.client).get({
2020
+ security: [{
2021
+ key: 'apiKey',
2022
+ scheme: 'bearer',
2023
+ type: 'http'
2024
+ }, {
2025
+ key: 'oauth2',
2026
+ scheme: 'bearer',
2027
+ type: 'http'
2028
+ }],
2029
+ url: '/v1/samples/{id}',
2030
+ ...options
2031
+ });
2032
+ }
2033
+ /**
2034
+ * Approve or reject a sample request
2035
+ */
2036
+ update(options) {
2037
+ return (options.client ?? this.client).patch({
2038
+ security: [{
2039
+ key: 'apiKey',
2040
+ scheme: 'bearer',
2041
+ type: 'http'
2042
+ }, {
2043
+ key: 'oauth2',
2044
+ scheme: 'bearer',
2045
+ type: 'http'
2046
+ }],
2047
+ url: '/v1/samples/{id}',
2048
+ ...options,
2049
+ headers: {
2050
+ 'Content-Type': 'application/json',
2051
+ ...options.headers
2052
+ }
2053
+ });
2054
+ }
2055
+ }
2056
+ export class Submissions extends HeyApiClient {
2057
+ /**
2058
+ * List submissions
2059
+ */
2060
+ list(options) {
2061
+ return (options?.client ?? this.client).get({
2062
+ security: [{
2063
+ key: 'apiKey',
2064
+ scheme: 'bearer',
2065
+ type: 'http'
2066
+ }, {
2067
+ key: 'oauth2',
2068
+ scheme: 'bearer',
2069
+ type: 'http'
2070
+ }],
2071
+ url: '/v1/submissions',
2072
+ ...options
2073
+ });
2074
+ }
2075
+ /**
2076
+ * Submit work as a creator, or add a brand's own video to its library
2077
+ */
2078
+ create(options) {
2079
+ return (options.client ?? this.client).post({
2080
+ security: [{
2081
+ key: 'apiKey',
2082
+ scheme: 'bearer',
2083
+ type: 'http'
2084
+ }, {
2085
+ key: 'oauth2',
2086
+ scheme: 'bearer',
2087
+ type: 'http'
2088
+ }],
2089
+ url: '/v1/submissions',
2090
+ ...options,
2091
+ headers: {
2092
+ 'Content-Type': 'application/json',
2093
+ ...options.headers
2094
+ }
2095
+ });
2096
+ }
2097
+ /**
2098
+ * Get a submission
2099
+ */
2100
+ retrieve(options) {
2101
+ return (options.client ?? this.client).get({
2102
+ security: [{
2103
+ key: 'apiKey',
2104
+ scheme: 'bearer',
2105
+ type: 'http'
2106
+ }, {
2107
+ key: 'oauth2',
2108
+ scheme: 'bearer',
2109
+ type: 'http'
2110
+ }],
2111
+ url: '/v1/submissions/{id}',
2112
+ ...options
2113
+ });
2114
+ }
2115
+ /**
2116
+ * Review, tag, file or archive a submission, or approve paying for a post; as its creator, withdraw it
2117
+ */
2118
+ update(options) {
2119
+ return (options.client ?? this.client).patch({
2120
+ security: [{
2121
+ key: 'apiKey',
2122
+ scheme: 'bearer',
2123
+ type: 'http'
2124
+ }, {
2125
+ key: 'oauth2',
2126
+ scheme: 'bearer',
2127
+ type: 'http'
2128
+ }],
2129
+ url: '/v1/submissions/{id}',
2130
+ ...options,
2131
+ headers: {
2132
+ 'Content-Type': 'application/json',
2133
+ ...options.headers
2134
+ }
2135
+ });
2136
+ }
2137
+ }
2138
+ export class LucraApi extends HeyApiClient {
2139
+ static __registry = new HeyApiRegistry();
2140
+ constructor(args) {
2141
+ super(args);
2142
+ LucraApi.__registry.set(this, args?.key);
2143
+ }
2144
+ _account;
2145
+ get account() {
2146
+ return this._account ??= new Account({ client: this.client });
2147
+ }
2148
+ _analytics;
2149
+ get analytics() {
2150
+ return this._analytics ??= new Analytics({ client: this.client });
2151
+ }
2152
+ _applications;
2153
+ get applications() {
2154
+ return this._applications ??= new Applications({ client: this.client });
2155
+ }
2156
+ _balance;
2157
+ get balance() {
2158
+ return this._balance ??= new Balance({ client: this.client });
2159
+ }
2160
+ _brands;
2161
+ get brands() {
2162
+ return this._brands ??= new Brands({ client: this.client });
2163
+ }
2164
+ _campaigns;
2165
+ get campaigns() {
2166
+ return this._campaigns ??= new Campaigns({ client: this.client });
2167
+ }
2168
+ _adFields;
2169
+ get adFields() {
2170
+ return this._adFields ??= new AdFields({ client: this.client });
2171
+ }
2172
+ _adDefaults;
2173
+ get adDefaults() {
2174
+ return this._adDefaults ??= new AdDefaults({ client: this.client });
2175
+ }
2176
+ _adAudiences;
2177
+ get adAudiences() {
2178
+ return this._adAudiences ??= new AdAudiences({ client: this.client });
2179
+ }
2180
+ _adInterests;
2181
+ get adInterests() {
2182
+ return this._adInterests ??= new AdInterests({ client: this.client });
2183
+ }
2184
+ _adSets;
2185
+ get adSets() {
2186
+ return this._adSets ??= new AdSets({ client: this.client });
2187
+ }
2188
+ _ads;
2189
+ get ads() {
2190
+ return this._ads ??= new Ads({ client: this.client });
2191
+ }
2192
+ _connections;
2193
+ get connections() {
2194
+ return this._connections ??= new Connections({ client: this.client });
2195
+ }
2196
+ _creators;
2197
+ get creators() {
2198
+ return this._creators ??= new Creators({ client: this.client });
2199
+ }
2200
+ _files;
2201
+ get files() {
2202
+ return this._files ??= new Files({ client: this.client });
2203
+ }
2204
+ _messages;
2205
+ get messages() {
2206
+ return this._messages ??= new Messages({ client: this.client });
2207
+ }
2208
+ _payments;
2209
+ get payments() {
2210
+ return this._payments ??= new Payments({ client: this.client });
2211
+ }
2212
+ _payouts;
2213
+ get payouts() {
2214
+ return this._payouts ??= new Payouts({ client: this.client });
2215
+ }
2216
+ _earnings;
2217
+ get earnings() {
2218
+ return this._earnings ??= new Earnings({ client: this.client });
2219
+ }
2220
+ _withdrawals;
2221
+ get withdrawals() {
2222
+ return this._withdrawals ??= new Withdrawals({ client: this.client });
2223
+ }
2224
+ _agreements;
2225
+ get agreements() {
2226
+ return this._agreements ??= new Agreements({ client: this.client });
2227
+ }
2228
+ _threads;
2229
+ get threads() {
2230
+ return this._threads ??= new Threads({ client: this.client });
2231
+ }
2232
+ _posts;
2233
+ get posts() {
2234
+ return this._posts ??= new Posts({ client: this.client });
2235
+ }
2236
+ _accountLinks;
2237
+ get accountLinks() {
2238
+ return this._accountLinks ??= new AccountLinks({ client: this.client });
2239
+ }
2240
+ _adAuthorizations;
2241
+ get adAuthorizations() {
2242
+ return this._adAuthorizations ??= new AdAuthorizations({ client: this.client });
2243
+ }
2244
+ _embeds;
2245
+ get embeds() {
2246
+ return this._embeds ??= new Embeds({ client: this.client });
2247
+ }
2248
+ _products;
2249
+ get products() {
2250
+ return this._products ??= new Products({ client: this.client });
2251
+ }
2252
+ _retainers;
2253
+ get retainers() {
2254
+ return this._retainers ??= new Retainers({ client: this.client });
2255
+ }
2256
+ _programs;
2257
+ get programs() {
2258
+ return this._programs ??= new Programs({ client: this.client });
2259
+ }
2260
+ _samples;
2261
+ get samples() {
2262
+ return this._samples ??= new Samples({ client: this.client });
2263
+ }
2264
+ _submissions;
2265
+ get submissions() {
2266
+ return this._submissions ??= new Submissions({ client: this.client });
2267
+ }
2268
+ }