glitch-javascript-sdk 1.7.7 → 1.7.9

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.
@@ -0,0 +1,224 @@
1
+ import Response from "../util/Response";
2
+ import { AxiosPromise } from "axios";
3
+ declare class Ads {
4
+ /**
5
+ * List Ad Campaigns.
6
+ *
7
+ * Example usage:
8
+ * Ads.listCampaigns({ community: 'uuid-of-community', platform: 'tiktok' })
9
+ *
10
+ * @param params Query parameters (e.g. community, platform, advertiser_id, etc.)
11
+ * @returns A paginated list of AdCampaign resources
12
+ */
13
+ static listCampaigns<T>(params?: Record<string, any>): AxiosPromise<Response<T>>;
14
+ /**
15
+ * Create a new Ad Campaign.
16
+ *
17
+ * @param data The Ad Campaign payload (JSON) to create
18
+ * @param params Optional query parameters
19
+ * @returns The newly created AdCampaign resource
20
+ */
21
+ static createCampaign<T>(data?: object, params?: Record<string, any>): AxiosPromise<Response<T>>;
22
+ /**
23
+ * Retrieve a single Ad Campaign by ID.
24
+ *
25
+ * @param campaign_id The UUID of the campaign to fetch
26
+ * @param params Optional query parameters
27
+ * @returns The requested AdCampaign resource
28
+ */
29
+ static viewCampaign<T>(campaign_id: string, params?: Record<string, any>): AxiosPromise<Response<T>>;
30
+ /**
31
+ * Update an existing Ad Campaign by ID.
32
+ *
33
+ * @param campaign_id The UUID of the campaign to update
34
+ * @param data The partial or full updated AdCampaign payload
35
+ * @param params Optional query parameters
36
+ * @returns The updated AdCampaign resource
37
+ */
38
+ static updateCampaign<T>(campaign_id: string, data?: object, params?: Record<string, any>): AxiosPromise<Response<T>>;
39
+ /**
40
+ * Delete an Ad Campaign by ID.
41
+ *
42
+ * @param campaign_id The UUID of the campaign to delete
43
+ * @param params Optional query parameters
44
+ * @returns A 204 No Content response on success
45
+ */
46
+ static deleteCampaign<T>(campaign_id: string, params?: Record<string, any>): AxiosPromise<Response<T>>;
47
+ /**
48
+ * List Ad Groups (ad sets) for a specific campaign.
49
+ *
50
+ * Example usage:
51
+ * Ads.listGroups('some-campaign-uuid', { promotion_type: 'WEBSITE' })
52
+ *
53
+ * @param campaign_id The UUID of the parent Ad Campaign
54
+ * @param params Optional query parameters (e.g. promotion_type, operation_status, etc.)
55
+ * @returns A paginated list of AdGroup resources
56
+ */
57
+ static listGroups<T>(campaign_id: string, params?: Record<string, any>): AxiosPromise<Response<T>>;
58
+ /**
59
+ * Create a new Ad Group (ad set) under a specific campaign.
60
+ *
61
+ * @param campaign_id The UUID of the parent Ad Campaign
62
+ * @param data The AdGroup creation payload
63
+ * @param params Optional query parameters
64
+ * @returns The newly created AdGroup resource
65
+ */
66
+ static createGroup<T>(campaign_id: string, data?: object, params?: Record<string, any>): AxiosPromise<Response<T>>;
67
+ /**
68
+ * Retrieve a single Ad Group by ID, under a specific campaign.
69
+ *
70
+ * @param campaign_id The UUID of the parent Ad Campaign
71
+ * @param group_id The UUID of the AdGroup to fetch
72
+ * @param params Optional query parameters
73
+ * @returns The requested AdGroup resource
74
+ */
75
+ static viewGroup<T>(campaign_id: string, group_id: string, params?: Record<string, any>): AxiosPromise<Response<T>>;
76
+ /**
77
+ * Update an Ad Group (ad set) by ID.
78
+ *
79
+ * @param campaign_id The UUID of the parent Ad Campaign
80
+ * @param group_id The UUID of the AdGroup to update
81
+ * @param data Updated fields for the AdGroup
82
+ * @param params Optional query parameters
83
+ * @returns The updated AdGroup resource
84
+ */
85
+ static updateGroup<T>(campaign_id: string, group_id: string, data?: object, params?: Record<string, any>): AxiosPromise<Response<T>>;
86
+ /**
87
+ * Delete an Ad Group (ad set) by ID, under a specific campaign.
88
+ *
89
+ * @param campaign_id The UUID of the parent Ad Campaign
90
+ * @param group_id The UUID of the AdGroup to delete
91
+ * @param params Optional query parameters
92
+ * @returns A 204 No Content response on success
93
+ */
94
+ static deleteGroup<T>(campaign_id: string, group_id: string, params?: Record<string, any>): AxiosPromise<Response<T>>;
95
+ /**
96
+ * List Ads (creatives).
97
+ *
98
+ * Supports filtering by ad_group_id, social_media_post_id, operation_status, etc.
99
+ *
100
+ * @param params Optional query parameters for filtering/sorting
101
+ * @returns A paginated list of Ad resources
102
+ */
103
+ static listAds<T>(params?: Record<string, any>): AxiosPromise<Response<T>>;
104
+ /**
105
+ * Create a new Ad (creative).
106
+ *
107
+ * @param data The Ad creation payload
108
+ * @param params Optional query parameters
109
+ * @returns The newly created Ad resource
110
+ */
111
+ static createAd<T>(data?: object, params?: Record<string, any>): AxiosPromise<Response<T>>;
112
+ /**
113
+ * Retrieve a single Ad by ID.
114
+ *
115
+ * @param ad_id The UUID of the Ad to fetch
116
+ * @param params Optional query parameters
117
+ * @returns The requested Ad resource
118
+ */
119
+ static viewAd<T>(ad_id: string, params?: Record<string, any>): AxiosPromise<Response<T>>;
120
+ /**
121
+ * Update an existing Ad by ID.
122
+ *
123
+ * @param ad_id The UUID of the Ad to update
124
+ * @param data The partial or full Ad payload
125
+ * @param params Optional query parameters
126
+ * @returns The updated Ad resource
127
+ */
128
+ static updateAd<T>(ad_id: string, data?: object, params?: Record<string, any>): AxiosPromise<Response<T>>;
129
+ /**
130
+ * Delete an Ad by ID.
131
+ *
132
+ * @param ad_id The UUID of the Ad to delete
133
+ * @param params Optional query parameters
134
+ * @returns A 204 No Content response on success
135
+ */
136
+ static deleteAd<T>(ad_id: string, params?: Record<string, any>): AxiosPromise<Response<T>>;
137
+ /**
138
+ * List triggers defined for a given Ad Group.
139
+ *
140
+ * @param campaign_id The UUID of the parent Ad Campaign
141
+ * @param group_id The UUID of the Ad Group
142
+ * @param params Optional query parameters (pagination, etc.)
143
+ * @returns A paginated list of AdGroupTrigger resources
144
+ */
145
+ static listTriggers<T>(campaign_id: string, group_id: string, params?: Record<string, any>): AxiosPromise<Response<T>>;
146
+ /**
147
+ * Create a new Ad Group Trigger.
148
+ *
149
+ * @param campaign_id The UUID of the parent Ad Campaign
150
+ * @param group_id The UUID of the Ad Group
151
+ * @param data The trigger creation payload
152
+ * @param params Optional query parameters
153
+ * @returns The newly created AdGroupTrigger resource
154
+ */
155
+ static createTrigger<T>(campaign_id: string, group_id: string, data?: object, params?: Record<string, any>): AxiosPromise<Response<T>>;
156
+ /**
157
+ * Retrieve a single Ad Group Trigger by ID.
158
+ *
159
+ * @param campaign_id The UUID of the parent Ad Campaign
160
+ * @param group_id The UUID of the Ad Group
161
+ * @param trigger_id The UUID of the trigger
162
+ * @param params Optional query parameters
163
+ * @returns The requested AdGroupTrigger resource
164
+ */
165
+ static viewTrigger<T>(campaign_id: string, group_id: string, trigger_id: string, params?: Record<string, any>): AxiosPromise<Response<T>>;
166
+ /**
167
+ * Update an existing Ad Group Trigger by ID.
168
+ *
169
+ * @param campaign_id The UUID of the parent Ad Campaign
170
+ * @param group_id The UUID of the Ad Group
171
+ * @param trigger_id The UUID of the trigger to update
172
+ * @param data Updated trigger fields
173
+ * @param params Optional query parameters
174
+ * @returns The updated AdGroupTrigger resource
175
+ */
176
+ static updateTrigger<T>(campaign_id: string, group_id: string, trigger_id: string, data?: object, params?: Record<string, any>): AxiosPromise<Response<T>>;
177
+ /**
178
+ * Delete an Ad Group Trigger by ID.
179
+ *
180
+ * @param campaign_id The UUID of the parent Ad Campaign
181
+ * @param group_id The UUID of the Ad Group
182
+ * @param trigger_id The UUID of the trigger
183
+ * @param params Optional query parameters
184
+ * @returns A 204 No Content response on success
185
+ */
186
+ static deleteTrigger<T>(campaign_id: string, group_id: string, trigger_id: string, params?: Record<string, any>): AxiosPromise<Response<T>>;
187
+ /**
188
+ * List platform-level businesses for the given campaign ID,
189
+ * as defined by /ads/campaigns/{id}/businesses on the backend.
190
+ *
191
+ * Typically relevant for Reddit (list businesses), or might return a
192
+ * "not supported" message for Meta/TikTok.
193
+ *
194
+ * @param campaign_id The UUID of the Ad Campaign
195
+ * @param params Optional query parameters, e.g. page.size, etc.
196
+ * @returns A response object with data (business list or messages)
197
+ */
198
+ static listCampaignBusinesses<T>(campaign_id: string, params?: Record<string, any>): AxiosPromise<Response<T>>;
199
+ /**
200
+ * List Ad Accounts for the given campaign ID,
201
+ * as defined by /ads/campaigns/{id}/ad_accounts on the backend.
202
+ *
203
+ * E.g. for Reddit, you can pass ?business_id= to get business-level ad accounts,
204
+ * or for Twitter, it might just return a user’s ad accounts, etc.
205
+ *
206
+ * @param campaign_id The UUID of the Ad Campaign
207
+ * @param params Optional query parameters, e.g. business_id, page.size, etc.
208
+ * @returns A response object with data (ad account list)
209
+ */
210
+ static listCampaignAdAccounts<T>(campaign_id: string, params?: Record<string, any>): AxiosPromise<Response<T>>;
211
+ /**
212
+ * List funding instruments for the given campaign ID,
213
+ * as defined by /ads/campaigns/{id}/funding_instruments on the backend.
214
+ *
215
+ * For Twitter, pass ?account_id=...
216
+ * For Reddit, pass ?ad_account_id=... or ?business_id=...
217
+ *
218
+ * @param campaign_id The UUID of the Ad Campaign
219
+ * @param params Optional query parameters
220
+ * @returns A response object with data (funding instruments)
221
+ */
222
+ static listCampaignFundingInstruments<T>(campaign_id: string, params?: Record<string, any>): AxiosPromise<Response<T>>;
223
+ }
224
+ export default Ads;
@@ -1,4 +1,5 @@
1
1
  import Auth from "./Auth";
2
+ import Ads from "./Ads";
2
3
  import Competitions from "./Competitions";
3
4
  import Communities from "./Communities";
4
5
  import Users from "./Users";
@@ -30,6 +31,7 @@ import Scheduler from "./Scheduler";
30
31
  import Funnel from "./Funnel";
31
32
  import SocialStats from "./SocialStats";
32
33
  import Hashtags from "./Hashtags";
34
+ export { Ads };
33
35
  export { Auth };
34
36
  export { Competitions };
35
37
  export { Communities };
@@ -2,6 +2,7 @@ import { Config } from "./config";
2
2
  import Auth from "./api/Auth";
3
3
  import Competitions from "./api/Competitions";
4
4
  import { Communities, Social } from "./api";
5
+ import { Ads } from "./api";
5
6
  import { Users } from "./api";
6
7
  import { Events } from "./api";
7
8
  import { Teams } from "./api";
@@ -49,6 +50,7 @@ declare class Glitch {
49
50
  Config: typeof Config;
50
51
  };
51
52
  static api: {
53
+ Ads: typeof Ads;
52
54
  Auth: typeof Auth;
53
55
  Campaigns: typeof Campaigns;
54
56
  Competitions: typeof Competitions;
package/dist/esm/index.js CHANGED
@@ -6578,6 +6578,411 @@ var Competitions = /** @class */ (function () {
6578
6578
  return Competitions;
6579
6579
  }());
6580
6580
 
6581
+ /**
6582
+ * AdsRoute holds all the endpoint definitions for:
6583
+ * - Ad Campaigns
6584
+ * - Ad Groups (Ad Sets)
6585
+ * - Ads (Creatives)
6586
+ * - Ad Group Triggers
6587
+ */
6588
+ var AdsRoute = /** @class */ (function () {
6589
+ function AdsRoute() {
6590
+ }
6591
+ AdsRoute.routes = {
6592
+ // ----------------------------------------------------------------
6593
+ // AD CAMPAIGNS
6594
+ // ----------------------------------------------------------------
6595
+ getCampaigns: {
6596
+ url: "/ads/campaigns",
6597
+ method: HTTP_METHODS.GET,
6598
+ },
6599
+ createCampaign: {
6600
+ url: "/ads/campaigns",
6601
+ method: HTTP_METHODS.POST,
6602
+ },
6603
+ retrieveCampaign: {
6604
+ url: "/ads/campaigns/{campaign_id}",
6605
+ method: HTTP_METHODS.GET,
6606
+ },
6607
+ updateCampaign: {
6608
+ url: "/ads/campaigns/{campaign_id}",
6609
+ method: HTTP_METHODS.PUT,
6610
+ },
6611
+ deleteCampaign: {
6612
+ url: "/ads/campaigns/{campaign_id}",
6613
+ method: HTTP_METHODS.DELETE,
6614
+ },
6615
+ // ----------------------------------------------------------------
6616
+ // AD GROUPS (AKA AD SETS)
6617
+ // ----------------------------------------------------------------
6618
+ getGroups: {
6619
+ url: "/ads/campaigns/{campaign_id}/groups",
6620
+ method: HTTP_METHODS.GET,
6621
+ },
6622
+ createGroup: {
6623
+ url: "/ads/campaigns/{campaign_id}/groups",
6624
+ method: HTTP_METHODS.POST,
6625
+ },
6626
+ retrieveGroup: {
6627
+ url: "/ads/campaigns/{campaign_id}/groups/{group_id}",
6628
+ method: HTTP_METHODS.GET,
6629
+ },
6630
+ updateGroup: {
6631
+ url: "/ads/campaigns/{campaign_id}/groups/{group_id}",
6632
+ method: HTTP_METHODS.PUT,
6633
+ },
6634
+ deleteGroup: {
6635
+ url: "/ads/campaigns/{campaign_id}/groups/{group_id}",
6636
+ method: HTTP_METHODS.DELETE,
6637
+ },
6638
+ getCampaignBusinesses: {
6639
+ url: "/ads/campaigns/{campaign_id}/businesses",
6640
+ method: HTTP_METHODS.GET,
6641
+ },
6642
+ getCampaignAdAccounts: {
6643
+ url: "/ads/campaigns/{campaign_id}/ad_accounts",
6644
+ method: HTTP_METHODS.GET,
6645
+ },
6646
+ getCampaignFundingInstruments: {
6647
+ url: "/ads/campaigns/{campaign_id}/funding_instruments",
6648
+ method: HTTP_METHODS.GET,
6649
+ },
6650
+ // ----------------------------------------------------------------
6651
+ // ADS (CREATIVES)
6652
+ // ----------------------------------------------------------------
6653
+ getAds: {
6654
+ url: "/ads/creatives",
6655
+ method: HTTP_METHODS.GET,
6656
+ },
6657
+ createAd: {
6658
+ url: "/ads/creatives",
6659
+ method: HTTP_METHODS.POST,
6660
+ },
6661
+ retrieveAd: {
6662
+ url: "/ads/creatives/{ad_id}",
6663
+ method: HTTP_METHODS.GET,
6664
+ },
6665
+ updateAd: {
6666
+ url: "/ads/creatives/{ad_id}",
6667
+ method: HTTP_METHODS.PUT,
6668
+ },
6669
+ deleteAd: {
6670
+ url: "/ads/creatives/{ad_id}",
6671
+ method: HTTP_METHODS.DELETE,
6672
+ },
6673
+ // ----------------------------------------------------------------
6674
+ // AD GROUP TRIGGERS
6675
+ // ----------------------------------------------------------------
6676
+ getTriggers: {
6677
+ url: "/ads/campaigns/{campaign_id}/groups/{group_id}/triggers",
6678
+ method: HTTP_METHODS.GET,
6679
+ },
6680
+ createTrigger: {
6681
+ url: "/ads/campaigns/{campaign_id}/groups/{group_id}/triggers",
6682
+ method: HTTP_METHODS.POST,
6683
+ },
6684
+ retrieveTrigger: {
6685
+ url: "/ads/campaigns/{campaign_id}/groups/{group_id}/triggers/{trigger_id}",
6686
+ method: HTTP_METHODS.GET,
6687
+ },
6688
+ updateTrigger: {
6689
+ url: "/ads/campaigns/{campaign_id}/groups/{group_id}/triggers/{trigger_id}",
6690
+ method: HTTP_METHODS.PUT,
6691
+ },
6692
+ deleteTrigger: {
6693
+ url: "/ads/campaigns/{campaign_id}/groups/{group_id}/triggers/{trigger_id}",
6694
+ method: HTTP_METHODS.DELETE,
6695
+ },
6696
+ };
6697
+ return AdsRoute;
6698
+ }());
6699
+
6700
+ var Ads = /** @class */ (function () {
6701
+ function Ads() {
6702
+ }
6703
+ // ----------------------------------------------------------------------
6704
+ // AD CAMPAIGNS
6705
+ // ----------------------------------------------------------------------
6706
+ /**
6707
+ * List Ad Campaigns.
6708
+ *
6709
+ * Example usage:
6710
+ * Ads.listCampaigns({ community: 'uuid-of-community', platform: 'tiktok' })
6711
+ *
6712
+ * @param params Query parameters (e.g. community, platform, advertiser_id, etc.)
6713
+ * @returns A paginated list of AdCampaign resources
6714
+ */
6715
+ Ads.listCampaigns = function (params) {
6716
+ return Requests.processRoute(AdsRoute.routes.getCampaigns, undefined, undefined, params);
6717
+ };
6718
+ /**
6719
+ * Create a new Ad Campaign.
6720
+ *
6721
+ * @param data The Ad Campaign payload (JSON) to create
6722
+ * @param params Optional query parameters
6723
+ * @returns The newly created AdCampaign resource
6724
+ */
6725
+ Ads.createCampaign = function (data, params) {
6726
+ return Requests.processRoute(AdsRoute.routes.createCampaign, data, {}, params);
6727
+ };
6728
+ /**
6729
+ * Retrieve a single Ad Campaign by ID.
6730
+ *
6731
+ * @param campaign_id The UUID of the campaign to fetch
6732
+ * @param params Optional query parameters
6733
+ * @returns The requested AdCampaign resource
6734
+ */
6735
+ Ads.viewCampaign = function (campaign_id, params) {
6736
+ return Requests.processRoute(AdsRoute.routes.retrieveCampaign, {}, { campaign_id: campaign_id }, params);
6737
+ };
6738
+ /**
6739
+ * Update an existing Ad Campaign by ID.
6740
+ *
6741
+ * @param campaign_id The UUID of the campaign to update
6742
+ * @param data The partial or full updated AdCampaign payload
6743
+ * @param params Optional query parameters
6744
+ * @returns The updated AdCampaign resource
6745
+ */
6746
+ Ads.updateCampaign = function (campaign_id, data, params) {
6747
+ return Requests.processRoute(AdsRoute.routes.updateCampaign, data, { campaign_id: campaign_id }, params);
6748
+ };
6749
+ /**
6750
+ * Delete an Ad Campaign by ID.
6751
+ *
6752
+ * @param campaign_id The UUID of the campaign to delete
6753
+ * @param params Optional query parameters
6754
+ * @returns A 204 No Content response on success
6755
+ */
6756
+ Ads.deleteCampaign = function (campaign_id, params) {
6757
+ return Requests.processRoute(AdsRoute.routes.deleteCampaign, {}, { campaign_id: campaign_id }, params);
6758
+ };
6759
+ // ----------------------------------------------------------------------
6760
+ // AD GROUPS (AD SETS)
6761
+ // ----------------------------------------------------------------------
6762
+ /**
6763
+ * List Ad Groups (ad sets) for a specific campaign.
6764
+ *
6765
+ * Example usage:
6766
+ * Ads.listGroups('some-campaign-uuid', { promotion_type: 'WEBSITE' })
6767
+ *
6768
+ * @param campaign_id The UUID of the parent Ad Campaign
6769
+ * @param params Optional query parameters (e.g. promotion_type, operation_status, etc.)
6770
+ * @returns A paginated list of AdGroup resources
6771
+ */
6772
+ Ads.listGroups = function (campaign_id, params) {
6773
+ return Requests.processRoute(AdsRoute.routes.getGroups, {}, { campaign_id: campaign_id }, params);
6774
+ };
6775
+ /**
6776
+ * Create a new Ad Group (ad set) under a specific campaign.
6777
+ *
6778
+ * @param campaign_id The UUID of the parent Ad Campaign
6779
+ * @param data The AdGroup creation payload
6780
+ * @param params Optional query parameters
6781
+ * @returns The newly created AdGroup resource
6782
+ */
6783
+ Ads.createGroup = function (campaign_id, data, params) {
6784
+ return Requests.processRoute(AdsRoute.routes.createGroup, data, { campaign_id: campaign_id }, params);
6785
+ };
6786
+ /**
6787
+ * Retrieve a single Ad Group by ID, under a specific campaign.
6788
+ *
6789
+ * @param campaign_id The UUID of the parent Ad Campaign
6790
+ * @param group_id The UUID of the AdGroup to fetch
6791
+ * @param params Optional query parameters
6792
+ * @returns The requested AdGroup resource
6793
+ */
6794
+ Ads.viewGroup = function (campaign_id, group_id, params) {
6795
+ return Requests.processRoute(AdsRoute.routes.retrieveGroup, {}, { campaign_id: campaign_id, group_id: group_id }, params);
6796
+ };
6797
+ /**
6798
+ * Update an Ad Group (ad set) by ID.
6799
+ *
6800
+ * @param campaign_id The UUID of the parent Ad Campaign
6801
+ * @param group_id The UUID of the AdGroup to update
6802
+ * @param data Updated fields for the AdGroup
6803
+ * @param params Optional query parameters
6804
+ * @returns The updated AdGroup resource
6805
+ */
6806
+ Ads.updateGroup = function (campaign_id, group_id, data, params) {
6807
+ return Requests.processRoute(AdsRoute.routes.updateGroup, data, { campaign_id: campaign_id, group_id: group_id }, params);
6808
+ };
6809
+ /**
6810
+ * Delete an Ad Group (ad set) by ID, under a specific campaign.
6811
+ *
6812
+ * @param campaign_id The UUID of the parent Ad Campaign
6813
+ * @param group_id The UUID of the AdGroup to delete
6814
+ * @param params Optional query parameters
6815
+ * @returns A 204 No Content response on success
6816
+ */
6817
+ Ads.deleteGroup = function (campaign_id, group_id, params) {
6818
+ return Requests.processRoute(AdsRoute.routes.deleteGroup, {}, { campaign_id: campaign_id, group_id: group_id }, params);
6819
+ };
6820
+ // ----------------------------------------------------------------------
6821
+ // ADS (CREATIVES)
6822
+ // ----------------------------------------------------------------------
6823
+ /**
6824
+ * List Ads (creatives).
6825
+ *
6826
+ * Supports filtering by ad_group_id, social_media_post_id, operation_status, etc.
6827
+ *
6828
+ * @param params Optional query parameters for filtering/sorting
6829
+ * @returns A paginated list of Ad resources
6830
+ */
6831
+ Ads.listAds = function (params) {
6832
+ return Requests.processRoute(AdsRoute.routes.getAds, undefined, undefined, params);
6833
+ };
6834
+ /**
6835
+ * Create a new Ad (creative).
6836
+ *
6837
+ * @param data The Ad creation payload
6838
+ * @param params Optional query parameters
6839
+ * @returns The newly created Ad resource
6840
+ */
6841
+ Ads.createAd = function (data, params) {
6842
+ return Requests.processRoute(AdsRoute.routes.createAd, data, {}, params);
6843
+ };
6844
+ /**
6845
+ * Retrieve a single Ad by ID.
6846
+ *
6847
+ * @param ad_id The UUID of the Ad to fetch
6848
+ * @param params Optional query parameters
6849
+ * @returns The requested Ad resource
6850
+ */
6851
+ Ads.viewAd = function (ad_id, params) {
6852
+ return Requests.processRoute(AdsRoute.routes.retrieveAd, {}, { ad_id: ad_id }, params);
6853
+ };
6854
+ /**
6855
+ * Update an existing Ad by ID.
6856
+ *
6857
+ * @param ad_id The UUID of the Ad to update
6858
+ * @param data The partial or full Ad payload
6859
+ * @param params Optional query parameters
6860
+ * @returns The updated Ad resource
6861
+ */
6862
+ Ads.updateAd = function (ad_id, data, params) {
6863
+ return Requests.processRoute(AdsRoute.routes.updateAd, data, { ad_id: ad_id }, params);
6864
+ };
6865
+ /**
6866
+ * Delete an Ad by ID.
6867
+ *
6868
+ * @param ad_id The UUID of the Ad to delete
6869
+ * @param params Optional query parameters
6870
+ * @returns A 204 No Content response on success
6871
+ */
6872
+ Ads.deleteAd = function (ad_id, params) {
6873
+ return Requests.processRoute(AdsRoute.routes.deleteAd, {}, { ad_id: ad_id }, params);
6874
+ };
6875
+ // ----------------------------------------------------------------------
6876
+ // AD GROUP TRIGGERS
6877
+ // ----------------------------------------------------------------------
6878
+ /**
6879
+ * List triggers defined for a given Ad Group.
6880
+ *
6881
+ * @param campaign_id The UUID of the parent Ad Campaign
6882
+ * @param group_id The UUID of the Ad Group
6883
+ * @param params Optional query parameters (pagination, etc.)
6884
+ * @returns A paginated list of AdGroupTrigger resources
6885
+ */
6886
+ Ads.listTriggers = function (campaign_id, group_id, params) {
6887
+ return Requests.processRoute(AdsRoute.routes.getTriggers, {}, { campaign_id: campaign_id, group_id: group_id }, params);
6888
+ };
6889
+ /**
6890
+ * Create a new Ad Group Trigger.
6891
+ *
6892
+ * @param campaign_id The UUID of the parent Ad Campaign
6893
+ * @param group_id The UUID of the Ad Group
6894
+ * @param data The trigger creation payload
6895
+ * @param params Optional query parameters
6896
+ * @returns The newly created AdGroupTrigger resource
6897
+ */
6898
+ Ads.createTrigger = function (campaign_id, group_id, data, params) {
6899
+ return Requests.processRoute(AdsRoute.routes.createTrigger, data, { campaign_id: campaign_id, group_id: group_id }, params);
6900
+ };
6901
+ /**
6902
+ * Retrieve a single Ad Group Trigger by ID.
6903
+ *
6904
+ * @param campaign_id The UUID of the parent Ad Campaign
6905
+ * @param group_id The UUID of the Ad Group
6906
+ * @param trigger_id The UUID of the trigger
6907
+ * @param params Optional query parameters
6908
+ * @returns The requested AdGroupTrigger resource
6909
+ */
6910
+ Ads.viewTrigger = function (campaign_id, group_id, trigger_id, params) {
6911
+ return Requests.processRoute(AdsRoute.routes.retrieveTrigger, {}, { campaign_id: campaign_id, group_id: group_id, trigger_id: trigger_id }, params);
6912
+ };
6913
+ /**
6914
+ * Update an existing Ad Group Trigger by ID.
6915
+ *
6916
+ * @param campaign_id The UUID of the parent Ad Campaign
6917
+ * @param group_id The UUID of the Ad Group
6918
+ * @param trigger_id The UUID of the trigger to update
6919
+ * @param data Updated trigger fields
6920
+ * @param params Optional query parameters
6921
+ * @returns The updated AdGroupTrigger resource
6922
+ */
6923
+ Ads.updateTrigger = function (campaign_id, group_id, trigger_id, data, params) {
6924
+ return Requests.processRoute(AdsRoute.routes.updateTrigger, data, { campaign_id: campaign_id, group_id: group_id, trigger_id: trigger_id }, params);
6925
+ };
6926
+ /**
6927
+ * Delete an Ad Group Trigger by ID.
6928
+ *
6929
+ * @param campaign_id The UUID of the parent Ad Campaign
6930
+ * @param group_id The UUID of the Ad Group
6931
+ * @param trigger_id The UUID of the trigger
6932
+ * @param params Optional query parameters
6933
+ * @returns A 204 No Content response on success
6934
+ */
6935
+ Ads.deleteTrigger = function (campaign_id, group_id, trigger_id, params) {
6936
+ return Requests.processRoute(AdsRoute.routes.deleteTrigger, {}, { campaign_id: campaign_id, group_id: group_id, trigger_id: trigger_id }, params);
6937
+ };
6938
+ /**
6939
+ * List platform-level businesses for the given campaign ID,
6940
+ * as defined by /ads/campaigns/{id}/businesses on the backend.
6941
+ *
6942
+ * Typically relevant for Reddit (list businesses), or might return a
6943
+ * "not supported" message for Meta/TikTok.
6944
+ *
6945
+ * @param campaign_id The UUID of the Ad Campaign
6946
+ * @param params Optional query parameters, e.g. page.size, etc.
6947
+ * @returns A response object with data (business list or messages)
6948
+ */
6949
+ Ads.listCampaignBusinesses = function (campaign_id, params) {
6950
+ return Requests.processRoute(AdsRoute.routes.getCampaignBusinesses, undefined, // no request body
6951
+ { campaign_id: campaign_id }, // path params
6952
+ params // query params
6953
+ );
6954
+ };
6955
+ /**
6956
+ * List Ad Accounts for the given campaign ID,
6957
+ * as defined by /ads/campaigns/{id}/ad_accounts on the backend.
6958
+ *
6959
+ * E.g. for Reddit, you can pass ?business_id= to get business-level ad accounts,
6960
+ * or for Twitter, it might just return a user’s ad accounts, etc.
6961
+ *
6962
+ * @param campaign_id The UUID of the Ad Campaign
6963
+ * @param params Optional query parameters, e.g. business_id, page.size, etc.
6964
+ * @returns A response object with data (ad account list)
6965
+ */
6966
+ Ads.listCampaignAdAccounts = function (campaign_id, params) {
6967
+ return Requests.processRoute(AdsRoute.routes.getCampaignAdAccounts, undefined, { campaign_id: campaign_id }, params);
6968
+ };
6969
+ /**
6970
+ * List funding instruments for the given campaign ID,
6971
+ * as defined by /ads/campaigns/{id}/funding_instruments on the backend.
6972
+ *
6973
+ * For Twitter, pass ?account_id=...
6974
+ * For Reddit, pass ?ad_account_id=... or ?business_id=...
6975
+ *
6976
+ * @param campaign_id The UUID of the Ad Campaign
6977
+ * @param params Optional query parameters
6978
+ * @returns A response object with data (funding instruments)
6979
+ */
6980
+ Ads.listCampaignFundingInstruments = function (campaign_id, params) {
6981
+ return Requests.processRoute(AdsRoute.routes.getCampaignFundingInstruments, undefined, { campaign_id: campaign_id }, params);
6982
+ };
6983
+ return Ads;
6984
+ }());
6985
+
6581
6986
  var CommunitiesRoute = /** @class */ (function () {
6582
6987
  function CommunitiesRoute() {
6583
6988
  }
@@ -12824,6 +13229,7 @@ var Glitch = /** @class */ (function () {
12824
13229
  Config: Config
12825
13230
  };
12826
13231
  Glitch.api = {
13232
+ Ads: Ads,
12827
13233
  Auth: Auth,
12828
13234
  Campaigns: Campaigns,
12829
13235
  Competitions: Competitions,