@apteva/integrations 0.2.3 → 0.3.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 (236) hide show
  1. package/package.json +1 -1
  2. package/src/apps/activecampaign.json +209 -0
  3. package/src/apps/activecollab.json +417 -0
  4. package/src/apps/airtable.json +235 -0
  5. package/src/apps/alpaca-trading.json +1554 -0
  6. package/src/apps/amadeus.json +225 -0
  7. package/src/apps/anthropic-api.json +96 -0
  8. package/src/apps/apify.json +203 -0
  9. package/src/apps/apollo.json +748 -0
  10. package/src/apps/apple-podcasts.json +116 -0
  11. package/src/apps/archive-api.json +104 -0
  12. package/src/apps/archive.json +151 -0
  13. package/src/apps/arduino-cloud.json +301 -0
  14. package/src/apps/arest.json +492 -0
  15. package/src/apps/asana.json +184 -0
  16. package/src/apps/ashby.json +176 -0
  17. package/src/apps/assemblyai.json +163 -0
  18. package/src/apps/attio.json +243 -0
  19. package/src/apps/aws-cloudfront.json +132 -0
  20. package/src/apps/aws-dynamodb.json +295 -0
  21. package/src/apps/aws-ec2.json +184 -0
  22. package/src/apps/aws-lambda.json +361 -0
  23. package/src/apps/aws-route53.json +110 -0
  24. package/src/apps/aws-s3.json +303 -0
  25. package/src/apps/aws-ses.json +556 -0
  26. package/src/apps/aws-sns.json +217 -0
  27. package/src/apps/aws-sqs.json +234 -0
  28. package/src/apps/axiom.json +123 -0
  29. package/src/apps/beehiiv.json +252 -0
  30. package/src/apps/binance-trading.json +555 -0
  31. package/src/apps/bitly.json +175 -0
  32. package/src/apps/bloobirds.json +246 -0
  33. package/src/apps/bluesky.json +201 -0
  34. package/src/apps/blynk.json +316 -0
  35. package/src/apps/booking-com.json +144 -0
  36. package/src/apps/box.json +289 -0
  37. package/src/apps/brevo.json +1423 -0
  38. package/src/apps/browse-ai.json +148 -0
  39. package/src/apps/bunny-cdn.json +330 -0
  40. package/src/apps/bunny-stream.json +387 -0
  41. package/src/apps/cal-com.json +240 -0
  42. package/src/apps/calendly.json +578 -0
  43. package/src/apps/calflow-calendar.json +706 -0
  44. package/src/apps/callrail.json +190 -0
  45. package/src/apps/canva.json +197 -0
  46. package/src/apps/cartesia.json +201 -0
  47. package/src/apps/castbase.json +753 -0
  48. package/src/apps/chargebee.json +226 -0
  49. package/src/apps/cleanster.json +359 -0
  50. package/src/apps/clicksend.json +278 -0
  51. package/src/apps/clickup.json +266 -0
  52. package/src/apps/clipkit.json +517 -0
  53. package/src/apps/close.json +359 -0
  54. package/src/apps/cloudflare.json +329 -0
  55. package/src/apps/cloudinary.json +164 -0
  56. package/src/apps/coda.json +288 -0
  57. package/src/apps/cohere.json +158 -0
  58. package/src/apps/coinbase.json +268 -0
  59. package/src/apps/composio.json +146 -0
  60. package/src/apps/confluence.json +270 -0
  61. package/src/apps/consensus.json +879 -0
  62. package/src/apps/contabo.json +733 -0
  63. package/src/apps/convertkit.json +211 -0
  64. package/src/apps/core-image.json +426 -0
  65. package/src/apps/core-video.json +1246 -0
  66. package/src/apps/craftcloud.json +298 -0
  67. package/src/apps/datadog.json +401 -0
  68. package/src/apps/dataforseo.json +1273 -0
  69. package/src/apps/deepseek.json +150 -0
  70. package/src/apps/dialpad.json +229 -0
  71. package/src/apps/discord.json +239 -0
  72. package/src/apps/dnsimple.json +405 -0
  73. package/src/apps/docusign.json +214 -0
  74. package/src/apps/docx.json +282 -0
  75. package/src/apps/dropbox.json +185 -0
  76. package/src/apps/duffel.json +231 -0
  77. package/src/apps/dux-soup.json +694 -0
  78. package/src/apps/dynadot.json +250 -0
  79. package/src/apps/elevenlabs.json +327 -0
  80. package/src/apps/eventbrite-events.json +598 -0
  81. package/src/apps/facebook-ads.json +1399 -0
  82. package/src/apps/facebook-api.json +282 -0
  83. package/src/apps/fal-ai.json +400 -0
  84. package/src/apps/fathom.json +86 -0
  85. package/src/apps/figma.json +162 -0
  86. package/src/apps/filestack.json +159 -0
  87. package/src/apps/firebase.json +271 -0
  88. package/src/apps/firecrawl.json +278 -0
  89. package/src/apps/folk.json +564 -0
  90. package/src/apps/forecast-app.json +377 -0
  91. package/src/apps/freshdesk.json +283 -0
  92. package/src/apps/gemini.json +528 -0
  93. package/src/apps/ghost.json +439 -0
  94. package/src/apps/gigs-marketplace.json +1442 -0
  95. package/src/apps/github.json +1479 -47
  96. package/src/apps/gitlab.json +448 -0
  97. package/src/apps/gmail.json +839 -28
  98. package/src/apps/gohighlevel.json +596 -0
  99. package/src/apps/google-ads.json +270 -0
  100. package/src/apps/google-calendar.json +996 -36
  101. package/src/apps/google-docs.json +278 -0
  102. package/src/apps/google-drive.json +360 -0
  103. package/src/apps/google-maps.json +473 -0
  104. package/src/apps/google-sheets.json +330 -0
  105. package/src/apps/gooten.json +411 -0
  106. package/src/apps/gravity-forms.json +385 -0
  107. package/src/apps/gusto.json +171 -0
  108. package/src/apps/hackernews.json +221 -0
  109. package/src/apps/harmonic.json +86 -0
  110. package/src/apps/helpscout.json +664 -0
  111. package/src/apps/hetzner.json +658 -0
  112. package/src/apps/heygen.json +184 -0
  113. package/src/apps/heyreach.json +388 -0
  114. package/src/apps/hospitable.json +340 -0
  115. package/src/apps/hostinger.json +374 -0
  116. package/src/apps/hubspot.json +682 -0
  117. package/src/apps/huggingface.json +97 -0
  118. package/src/apps/hunter.json +504 -0
  119. package/src/apps/ig-trading.json +849 -0
  120. package/src/apps/imaterialise.json +349 -0
  121. package/src/apps/instagram-api.json +538 -0
  122. package/src/apps/intercom.json +648 -0
  123. package/src/apps/jira.json +226 -0
  124. package/src/apps/klaviyo.json +199 -0
  125. package/src/apps/kling-ai.json +206 -0
  126. package/src/apps/kraken.json +870 -0
  127. package/src/apps/late.json +1056 -0
  128. package/src/apps/leadpages.json +243 -0
  129. package/src/apps/learning-platform.json +2244 -0
  130. package/src/apps/linear.json +184 -57
  131. package/src/apps/linkedin.json +179 -0
  132. package/src/apps/listen-notes.json +136 -0
  133. package/src/apps/lnk-bio.json +125 -0
  134. package/src/apps/loom.json +188 -0
  135. package/src/apps/luma.json +280 -0
  136. package/src/apps/mailchimp.json +238 -0
  137. package/src/apps/mailgun.json +310 -0
  138. package/src/apps/manychat.json +312 -0
  139. package/src/apps/marin-software.json +843 -0
  140. package/src/apps/media-downloader.json +157 -0
  141. package/src/apps/meetup-events.json +361 -0
  142. package/src/apps/meshy.json +248 -0
  143. package/src/apps/microsoft-teams.json +162 -0
  144. package/src/apps/monday.json +213 -0
  145. package/src/apps/mongodb-atlas.json +467 -0
  146. package/src/apps/namecheap.json +252 -0
  147. package/src/apps/nexar.json +289 -0
  148. package/src/apps/notion.json +530 -50
  149. package/src/apps/omnikit-analytics.json +374 -0
  150. package/src/apps/omnikit-api-gateway.json +660 -0
  151. package/src/apps/omnikit-billing.json +1781 -0
  152. package/src/apps/omnikit-cms.json +899 -0
  153. package/src/apps/omnikit-functions.json +329 -0
  154. package/src/apps/omnikit-intelligence.json +650 -0
  155. package/src/apps/omnikit-management.json +214 -0
  156. package/src/apps/omnikit-media.json +646 -0
  157. package/src/apps/omnikit-messaging.json +1826 -0
  158. package/src/apps/omnikit-redirects.json +209 -0
  159. package/src/apps/omnikit-webhooks.json +269 -0
  160. package/src/apps/omnikit-workflows.json +323 -0
  161. package/src/apps/openai-api.json +462 -0
  162. package/src/apps/openmeteo-weather.json +75 -0
  163. package/src/apps/optinmonster.json +244 -0
  164. package/src/apps/paidkit.json +1218 -0
  165. package/src/apps/paypal.json +254 -0
  166. package/src/apps/pdf.json +366 -0
  167. package/src/apps/pipedrive.json +255 -0
  168. package/src/apps/polymarket.json +653 -0
  169. package/src/apps/porkbun.json +417 -0
  170. package/src/apps/portfolio.json +501 -0
  171. package/src/apps/postmark.json +257 -0
  172. package/src/apps/printful.json +273 -0
  173. package/src/apps/printify.json +295 -0
  174. package/src/apps/producthunt.json +346 -0
  175. package/src/apps/pushover-notifications.json +113 -0
  176. package/src/apps/qonto.json +366 -0
  177. package/src/apps/quickbooks.json +234 -0
  178. package/src/apps/replicate.json +106 -0
  179. package/src/apps/rss.json +281 -0
  180. package/src/apps/salesflow.json +538 -0
  181. package/src/apps/salesforce-crm.json +216 -0
  182. package/src/apps/sap.json +256 -0
  183. package/src/apps/scaleway.json +911 -0
  184. package/src/apps/sculpteo.json +234 -0
  185. package/src/apps/sendgrid-email.json +233 -0
  186. package/src/apps/sendgrid.json +160 -35
  187. package/src/apps/shapeways.json +188 -0
  188. package/src/apps/shopify.json +1217 -0
  189. package/src/apps/skai.json +779 -0
  190. package/src/apps/slack.json +228 -38
  191. package/src/apps/slant3d.json +231 -0
  192. package/src/apps/slides.json +760 -0
  193. package/src/apps/smartly.json +504 -0
  194. package/src/apps/snov.json +467 -0
  195. package/src/apps/socialcast.json +553 -63
  196. package/src/apps/square.json +274 -0
  197. package/src/apps/storage-management.json +788 -0
  198. package/src/apps/storylane.json +180 -0
  199. package/src/apps/strapi.json +338 -0
  200. package/src/apps/stripe-payments.json +847 -0
  201. package/src/apps/stripe.json +472 -35
  202. package/src/apps/supabase.json +169 -0
  203. package/src/apps/supademo.json +115 -0
  204. package/src/apps/taskflow.json +714 -0
  205. package/src/apps/teamwork.json +457 -0
  206. package/src/apps/telegram.json +444 -0
  207. package/src/apps/thinger.json +458 -0
  208. package/src/apps/ticktick.json +169 -0
  209. package/src/apps/tiktok-api.json +406 -0
  210. package/src/apps/todoist.json +151 -0
  211. package/src/apps/together.json +123 -0
  212. package/src/apps/torrent.json +267 -0
  213. package/src/apps/trading.json +1012 -0
  214. package/src/apps/trading212.json +383 -0
  215. package/src/apps/trello.json +205 -0
  216. package/src/apps/tripo.json +157 -0
  217. package/src/apps/twilio.json +1008 -0
  218. package/src/apps/twitter-ads.json +875 -0
  219. package/src/apps/twitter-api.json +1151 -0
  220. package/src/apps/twitterapiio.json +548 -0
  221. package/src/apps/typeform.json +210 -0
  222. package/src/apps/vidforge.json +1020 -0
  223. package/src/apps/vonage.json +394 -0
  224. package/src/apps/vultr.json +225 -0
  225. package/src/apps/webflow.json +223 -0
  226. package/src/apps/wise.json +273 -0
  227. package/src/apps/wistia.json +283 -0
  228. package/src/apps/woocommerce.json +288 -0
  229. package/src/apps/wordpress.json +1675 -0
  230. package/src/apps/xero.json +257 -0
  231. package/src/apps/youtube-api.json +861 -0
  232. package/src/apps/zendesk.json +295 -0
  233. package/src/apps/zite.json +173 -0
  234. package/src/apps/zoho-crm.json +386 -0
  235. package/src/apps/zoo.json +193 -0
  236. package/src/apps/zoom.json +334 -0
@@ -0,0 +1,875 @@
1
+ {
2
+ "slug": "twitter-ads",
3
+ "name": "X / Twitter Ads API",
4
+ "description": "Twitter/X Ads API - manage ad campaigns, promoted tweets, audiences, targeting, analytics, and budgets via OAuth2",
5
+ "logo": "https://www.google.com/s2/favicons?domain=twitter.com&sz=128",
6
+ "categories": [
7
+ "twitter",
8
+ "x",
9
+ "ads",
10
+ "advertising",
11
+ "campaigns",
12
+ "analytics",
13
+ "marketing"
14
+ ],
15
+ "base_url": "",
16
+ "auth": {
17
+ "types": [
18
+ "bearer"
19
+ ],
20
+ "headers": {
21
+ "Authorization": "Bearer {{token}}"
22
+ },
23
+ "credential_fields": [
24
+ {
25
+ "name": "token",
26
+ "label": "API Key"
27
+ }
28
+ ]
29
+ },
30
+ "tools": [
31
+ {
32
+ "name": "list_accounts",
33
+ "description": "List all advertising accounts the authenticated user has access to",
34
+ "method": "GET",
35
+ "path": "/list-accounts",
36
+ "input_schema": {
37
+ "type": "object",
38
+ "properties": {
39
+ "with_deleted": {
40
+ "type": "boolean",
41
+ "description": "Include deleted accounts",
42
+ "default": false
43
+ },
44
+ "sort_by": {
45
+ "type": "string",
46
+ "description": "Sort field (e.g., 'updated_at')",
47
+ "enum": [
48
+ "created_at",
49
+ "updated_at",
50
+ "name"
51
+ ]
52
+ }
53
+ }
54
+ }
55
+ },
56
+ {
57
+ "name": "get_account",
58
+ "description": "Get details for a specific advertising account",
59
+ "method": "GET",
60
+ "path": "/get-account",
61
+ "input_schema": {
62
+ "type": "object",
63
+ "properties": {
64
+ "account_id": {
65
+ "type": "string",
66
+ "description": "The ads account ID"
67
+ }
68
+ },
69
+ "required": [
70
+ "account_id"
71
+ ]
72
+ }
73
+ },
74
+ {
75
+ "name": "list_campaigns",
76
+ "description": "List all campaigns for an advertising account with optional filtering by status",
77
+ "method": "GET",
78
+ "path": "/list-campaigns",
79
+ "input_schema": {
80
+ "type": "object",
81
+ "properties": {
82
+ "account_id": {
83
+ "type": "string",
84
+ "description": "The ads account ID"
85
+ },
86
+ "with_deleted": {
87
+ "type": "boolean",
88
+ "description": "Include deleted campaigns",
89
+ "default": false
90
+ },
91
+ "count": {
92
+ "type": "integer",
93
+ "description": "Number of results (1-1000)",
94
+ "default": 200,
95
+ "maximum": 1000
96
+ },
97
+ "cursor": {
98
+ "type": "string",
99
+ "description": "Pagination cursor"
100
+ },
101
+ "sort_by": {
102
+ "type": "string",
103
+ "enum": [
104
+ "created_at",
105
+ "updated_at",
106
+ "name"
107
+ ],
108
+ "description": "Sort field"
109
+ },
110
+ "entity_status": {
111
+ "type": "string",
112
+ "enum": [
113
+ "ACTIVE",
114
+ "DRAFT",
115
+ "PAUSED"
116
+ ],
117
+ "description": "Filter by campaign status"
118
+ }
119
+ },
120
+ "required": [
121
+ "account_id"
122
+ ]
123
+ }
124
+ },
125
+ {
126
+ "name": "get_campaign",
127
+ "description": "Get details for a specific campaign",
128
+ "method": "GET",
129
+ "path": "/get-campaign",
130
+ "input_schema": {
131
+ "type": "object",
132
+ "properties": {
133
+ "account_id": {
134
+ "type": "string",
135
+ "description": "The ads account ID"
136
+ },
137
+ "campaign_id": {
138
+ "type": "string",
139
+ "description": "The campaign ID"
140
+ }
141
+ },
142
+ "required": [
143
+ "account_id",
144
+ "campaign_id"
145
+ ]
146
+ }
147
+ },
148
+ {
149
+ "name": "create_campaign",
150
+ "description": "Create a new advertising campaign. Requires funding_instrument_id, name, and daily_budget_amount_local_micro (in micros, e.g., 5000000 = $5).",
151
+ "method": "POST",
152
+ "path": "/create-campaign",
153
+ "input_schema": {
154
+ "type": "object",
155
+ "properties": {
156
+ "account_id": {
157
+ "type": "string",
158
+ "description": "The ads account ID"
159
+ },
160
+ "name": {
161
+ "type": "string",
162
+ "description": "Campaign name"
163
+ },
164
+ "funding_instrument_id": {
165
+ "type": "string",
166
+ "description": "Funding instrument ID for billing"
167
+ },
168
+ "daily_budget_amount_local_micro": {
169
+ "type": "integer",
170
+ "description": "Daily budget in micros (1,000,000 micros = $1 USD)"
171
+ },
172
+ "total_budget_amount_local_micro": {
173
+ "type": "integer",
174
+ "description": "Total budget in micros (optional)"
175
+ },
176
+ "start_time": {
177
+ "type": "string",
178
+ "description": "ISO 8601 start time (e.g., 2024-01-01T00:00:00Z)"
179
+ },
180
+ "end_time": {
181
+ "type": "string",
182
+ "description": "ISO 8601 end time (optional)"
183
+ },
184
+ "entity_status": {
185
+ "type": "string",
186
+ "enum": [
187
+ "ACTIVE",
188
+ "DRAFT",
189
+ "PAUSED"
190
+ ],
191
+ "description": "Campaign status",
192
+ "default": "DRAFT"
193
+ },
194
+ "standard_delivery": {
195
+ "type": "boolean",
196
+ "description": "Use standard delivery (true) or accelerated (false)",
197
+ "default": true
198
+ }
199
+ },
200
+ "required": [
201
+ "account_id",
202
+ "name",
203
+ "funding_instrument_id",
204
+ "daily_budget_amount_local_micro"
205
+ ]
206
+ }
207
+ },
208
+ {
209
+ "name": "update_campaign",
210
+ "description": "Update an existing campaign's name, status, budget, or schedule",
211
+ "method": "PUT",
212
+ "path": "/update-campaign",
213
+ "input_schema": {
214
+ "type": "object",
215
+ "properties": {
216
+ "account_id": {
217
+ "type": "string",
218
+ "description": "The ads account ID"
219
+ },
220
+ "campaign_id": {
221
+ "type": "string",
222
+ "description": "The campaign ID to update"
223
+ },
224
+ "name": {
225
+ "type": "string",
226
+ "description": "Updated campaign name"
227
+ },
228
+ "entity_status": {
229
+ "type": "string",
230
+ "enum": [
231
+ "ACTIVE",
232
+ "PAUSED"
233
+ ],
234
+ "description": "Updated status"
235
+ },
236
+ "daily_budget_amount_local_micro": {
237
+ "type": "integer",
238
+ "description": "Updated daily budget in micros"
239
+ },
240
+ "total_budget_amount_local_micro": {
241
+ "type": "integer",
242
+ "description": "Updated total budget in micros"
243
+ },
244
+ "end_time": {
245
+ "type": "string",
246
+ "description": "Updated end time (ISO 8601)"
247
+ }
248
+ },
249
+ "required": [
250
+ "account_id",
251
+ "campaign_id"
252
+ ]
253
+ }
254
+ },
255
+ {
256
+ "name": "delete_campaign",
257
+ "description": "Delete (archive) a campaign",
258
+ "method": "DELETE",
259
+ "path": "/delete-campaign",
260
+ "input_schema": {
261
+ "type": "object",
262
+ "properties": {
263
+ "account_id": {
264
+ "type": "string",
265
+ "description": "The ads account ID"
266
+ },
267
+ "campaign_id": {
268
+ "type": "string",
269
+ "description": "The campaign ID to delete"
270
+ }
271
+ },
272
+ "required": [
273
+ "account_id",
274
+ "campaign_id"
275
+ ]
276
+ }
277
+ },
278
+ {
279
+ "name": "list_line_items",
280
+ "description": "List line items (ad groups) for a campaign with targeting and bidding settings",
281
+ "method": "GET",
282
+ "path": "/list-line-items",
283
+ "input_schema": {
284
+ "type": "object",
285
+ "properties": {
286
+ "account_id": {
287
+ "type": "string",
288
+ "description": "The ads account ID"
289
+ },
290
+ "campaign_ids": {
291
+ "type": "string",
292
+ "description": "Comma-separated campaign IDs to filter by"
293
+ },
294
+ "count": {
295
+ "type": "integer",
296
+ "description": "Number of results (1-1000)",
297
+ "default": 200
298
+ },
299
+ "cursor": {
300
+ "type": "string",
301
+ "description": "Pagination cursor"
302
+ },
303
+ "entity_status": {
304
+ "type": "string",
305
+ "enum": [
306
+ "ACTIVE",
307
+ "DRAFT",
308
+ "PAUSED"
309
+ ],
310
+ "description": "Filter by status"
311
+ },
312
+ "with_deleted": {
313
+ "type": "boolean",
314
+ "default": false
315
+ }
316
+ },
317
+ "required": [
318
+ "account_id"
319
+ ]
320
+ }
321
+ },
322
+ {
323
+ "name": "create_line_item",
324
+ "description": "Create a line item (ad group) with objective, bid, and placement. bid_amount_local_micro is in micros (1,000,000 = $1).",
325
+ "method": "POST",
326
+ "path": "/create-line-item",
327
+ "input_schema": {
328
+ "type": "object",
329
+ "properties": {
330
+ "account_id": {
331
+ "type": "string",
332
+ "description": "The ads account ID"
333
+ },
334
+ "campaign_id": {
335
+ "type": "string",
336
+ "description": "Campaign ID to add line item to"
337
+ },
338
+ "name": {
339
+ "type": "string",
340
+ "description": "Line item name"
341
+ },
342
+ "objective": {
343
+ "type": "string",
344
+ "enum": [
345
+ "AWARENESS",
346
+ "TWEET_ENGAGEMENTS",
347
+ "VIDEO_VIEWS",
348
+ "FOLLOWERS",
349
+ "WEBSITE_CLICKS",
350
+ "APP_INSTALLS",
351
+ "APP_ENGAGEMENTS",
352
+ "REACH",
353
+ "ENGAGEMENTS",
354
+ "VIDEO_VIEWS_PREROLL"
355
+ ],
356
+ "description": "Campaign objective"
357
+ },
358
+ "placements": {
359
+ "type": "array",
360
+ "items": {
361
+ "type": "string"
362
+ },
363
+ "description": "Ad placements (e.g., ['ALL_ON_TWITTER'])"
364
+ },
365
+ "bid_amount_local_micro": {
366
+ "type": "integer",
367
+ "description": "Bid amount in micros"
368
+ },
369
+ "bid_type": {
370
+ "type": "string",
371
+ "enum": [
372
+ "AUTO",
373
+ "MAX",
374
+ "TARGET"
375
+ ],
376
+ "description": "Bidding strategy"
377
+ },
378
+ "product_type": {
379
+ "type": "string",
380
+ "enum": [
381
+ "PROMOTED_TWEETS",
382
+ "PROMOTED_ACCOUNT",
383
+ "PROMOTED_TRENDS"
384
+ ],
385
+ "description": "Product type"
386
+ },
387
+ "entity_status": {
388
+ "type": "string",
389
+ "enum": [
390
+ "ACTIVE",
391
+ "DRAFT",
392
+ "PAUSED"
393
+ ],
394
+ "default": "DRAFT"
395
+ },
396
+ "start_time": {
397
+ "type": "string",
398
+ "description": "ISO 8601 start time"
399
+ },
400
+ "end_time": {
401
+ "type": "string",
402
+ "description": "ISO 8601 end time"
403
+ }
404
+ },
405
+ "required": [
406
+ "account_id",
407
+ "campaign_id",
408
+ "objective",
409
+ "placements"
410
+ ]
411
+ }
412
+ },
413
+ {
414
+ "name": "update_line_item",
415
+ "description": "Update a line item's bid, status, or schedule",
416
+ "method": "PUT",
417
+ "path": "/update-line-item",
418
+ "input_schema": {
419
+ "type": "object",
420
+ "properties": {
421
+ "account_id": {
422
+ "type": "string",
423
+ "description": "The ads account ID"
424
+ },
425
+ "line_item_id": {
426
+ "type": "string",
427
+ "description": "Line item ID to update"
428
+ },
429
+ "entity_status": {
430
+ "type": "string",
431
+ "enum": [
432
+ "ACTIVE",
433
+ "PAUSED"
434
+ ]
435
+ },
436
+ "bid_amount_local_micro": {
437
+ "type": "integer",
438
+ "description": "Updated bid in micros"
439
+ },
440
+ "bid_type": {
441
+ "type": "string",
442
+ "enum": [
443
+ "AUTO",
444
+ "MAX",
445
+ "TARGET"
446
+ ]
447
+ },
448
+ "end_time": {
449
+ "type": "string",
450
+ "description": "Updated end time"
451
+ }
452
+ },
453
+ "required": [
454
+ "account_id",
455
+ "line_item_id"
456
+ ]
457
+ }
458
+ },
459
+ {
460
+ "name": "list_promoted_tweets",
461
+ "description": "List promoted tweets for a line item or account",
462
+ "method": "GET",
463
+ "path": "/list-promoted-tweets",
464
+ "input_schema": {
465
+ "type": "object",
466
+ "properties": {
467
+ "account_id": {
468
+ "type": "string",
469
+ "description": "The ads account ID"
470
+ },
471
+ "line_item_ids": {
472
+ "type": "string",
473
+ "description": "Comma-separated line item IDs to filter by"
474
+ },
475
+ "count": {
476
+ "type": "integer",
477
+ "default": 200
478
+ },
479
+ "cursor": {
480
+ "type": "string",
481
+ "description": "Pagination cursor"
482
+ },
483
+ "with_deleted": {
484
+ "type": "boolean",
485
+ "default": false
486
+ }
487
+ },
488
+ "required": [
489
+ "account_id"
490
+ ]
491
+ }
492
+ },
493
+ {
494
+ "name": "create_promoted_tweet",
495
+ "description": "Promote an existing tweet by associating it with a line item",
496
+ "method": "POST",
497
+ "path": "/create-promoted-tweet",
498
+ "input_schema": {
499
+ "type": "object",
500
+ "properties": {
501
+ "account_id": {
502
+ "type": "string",
503
+ "description": "The ads account ID"
504
+ },
505
+ "line_item_id": {
506
+ "type": "string",
507
+ "description": "Line item to associate the promoted tweet with"
508
+ },
509
+ "tweet_ids": {
510
+ "type": "array",
511
+ "items": {
512
+ "type": "string"
513
+ },
514
+ "description": "Array of tweet IDs to promote"
515
+ }
516
+ },
517
+ "required": [
518
+ "account_id",
519
+ "line_item_id",
520
+ "tweet_ids"
521
+ ]
522
+ }
523
+ },
524
+ {
525
+ "name": "list_targeting_criteria",
526
+ "description": "List targeting criteria for a line item",
527
+ "method": "GET",
528
+ "path": "/list-targeting-criteria",
529
+ "input_schema": {
530
+ "type": "object",
531
+ "properties": {
532
+ "account_id": {
533
+ "type": "string",
534
+ "description": "The ads account ID"
535
+ },
536
+ "line_item_ids": {
537
+ "type": "string",
538
+ "description": "Comma-separated line item IDs"
539
+ },
540
+ "count": {
541
+ "type": "integer",
542
+ "default": 200
543
+ },
544
+ "with_deleted": {
545
+ "type": "boolean",
546
+ "default": false
547
+ }
548
+ },
549
+ "required": [
550
+ "account_id"
551
+ ]
552
+ }
553
+ },
554
+ {
555
+ "name": "create_targeting",
556
+ "description": "Add targeting criteria to a line item (location, interest, keyword, follower lookalike, age, gender, device, etc.)",
557
+ "method": "POST",
558
+ "path": "/create-targeting",
559
+ "input_schema": {
560
+ "type": "object",
561
+ "properties": {
562
+ "account_id": {
563
+ "type": "string",
564
+ "description": "The ads account ID"
565
+ },
566
+ "line_item_id": {
567
+ "type": "string",
568
+ "description": "Line item ID to add targeting to"
569
+ },
570
+ "targeting_type": {
571
+ "type": "string",
572
+ "enum": [
573
+ "LOCATION",
574
+ "INTEREST",
575
+ "KEYWORD",
576
+ "FOLLOWER_LOOK_ALIKES",
577
+ "GENDER",
578
+ "AGE",
579
+ "DEVICE",
580
+ "PLATFORM",
581
+ "LANGUAGE",
582
+ "NETWORK_OPERATOR",
583
+ "WIFI_ONLY",
584
+ "BROAD_KEYWORD",
585
+ "EVENT",
586
+ "TV_SHOW",
587
+ "CONVERSATION",
588
+ "TWEET_ENGAGER"
589
+ ],
590
+ "description": "Type of targeting"
591
+ },
592
+ "targeting_value": {
593
+ "type": "string",
594
+ "description": "Targeting value (e.g., location code, interest ID, keyword text)"
595
+ },
596
+ "operator_type": {
597
+ "type": "string",
598
+ "enum": [
599
+ "EQ",
600
+ "NE"
601
+ ],
602
+ "description": "Operator: EQ (include) or NE (exclude)",
603
+ "default": "EQ"
604
+ }
605
+ },
606
+ "required": [
607
+ "account_id",
608
+ "line_item_id",
609
+ "targeting_type",
610
+ "targeting_value"
611
+ ]
612
+ }
613
+ },
614
+ {
615
+ "name": "list_custom_audiences",
616
+ "description": "List custom audiences for an ad account",
617
+ "method": "GET",
618
+ "path": "/list-custom-audiences",
619
+ "input_schema": {
620
+ "type": "object",
621
+ "properties": {
622
+ "account_id": {
623
+ "type": "string",
624
+ "description": "The ads account ID"
625
+ },
626
+ "count": {
627
+ "type": "integer",
628
+ "default": 200
629
+ },
630
+ "cursor": {
631
+ "type": "string",
632
+ "description": "Pagination cursor"
633
+ },
634
+ "with_deleted": {
635
+ "type": "boolean",
636
+ "default": false
637
+ }
638
+ },
639
+ "required": [
640
+ "account_id"
641
+ ]
642
+ }
643
+ },
644
+ {
645
+ "name": "create_custom_audience",
646
+ "description": "Create a new custom audience for ad targeting",
647
+ "method": "POST",
648
+ "path": "/create-custom-audience",
649
+ "input_schema": {
650
+ "type": "object",
651
+ "properties": {
652
+ "account_id": {
653
+ "type": "string",
654
+ "description": "The ads account ID"
655
+ },
656
+ "name": {
657
+ "type": "string",
658
+ "description": "Audience name"
659
+ },
660
+ "description": {
661
+ "type": "string",
662
+ "description": "Audience description"
663
+ }
664
+ },
665
+ "required": [
666
+ "account_id",
667
+ "name"
668
+ ]
669
+ }
670
+ },
671
+ {
672
+ "name": "list_funding_instruments",
673
+ "description": "List funding instruments (payment methods/credit lines) for an ad account",
674
+ "method": "GET",
675
+ "path": "/list-funding-instruments",
676
+ "input_schema": {
677
+ "type": "object",
678
+ "properties": {
679
+ "account_id": {
680
+ "type": "string",
681
+ "description": "The ads account ID"
682
+ },
683
+ "with_deleted": {
684
+ "type": "boolean",
685
+ "default": false
686
+ }
687
+ },
688
+ "required": [
689
+ "account_id"
690
+ ]
691
+ }
692
+ },
693
+ {
694
+ "name": "campaign_stats",
695
+ "description": "Get performance analytics for campaigns: impressions, clicks, spend, engagements, conversions, and more",
696
+ "method": "GET",
697
+ "path": "/campaign-stats",
698
+ "input_schema": {
699
+ "type": "object",
700
+ "properties": {
701
+ "account_id": {
702
+ "type": "string",
703
+ "description": "The ads account ID"
704
+ },
705
+ "entity": {
706
+ "type": "string",
707
+ "enum": [
708
+ "CAMPAIGN",
709
+ "LINE_ITEM",
710
+ "PROMOTED_TWEET"
711
+ ],
712
+ "description": "Entity type to get stats for",
713
+ "default": "CAMPAIGN"
714
+ },
715
+ "entity_ids": {
716
+ "type": "string",
717
+ "description": "Comma-separated entity IDs"
718
+ },
719
+ "start_time": {
720
+ "type": "string",
721
+ "description": "ISO 8601 start time (required)"
722
+ },
723
+ "end_time": {
724
+ "type": "string",
725
+ "description": "ISO 8601 end time (required)"
726
+ },
727
+ "granularity": {
728
+ "type": "string",
729
+ "enum": [
730
+ "DAY",
731
+ "HOUR",
732
+ "TOTAL"
733
+ ],
734
+ "description": "Data granularity",
735
+ "default": "DAY"
736
+ },
737
+ "metric_groups": {
738
+ "type": "string",
739
+ "description": "Comma-separated metric groups (e.g., 'ENGAGEMENT,BILLING,VIDEO')",
740
+ "default": "ENGAGEMENT,BILLING"
741
+ },
742
+ "placement": {
743
+ "type": "string",
744
+ "enum": [
745
+ "ALL_ON_TWITTER",
746
+ "PUBLISHER_NETWORK"
747
+ ],
748
+ "description": "Filter by placement",
749
+ "default": "ALL_ON_TWITTER"
750
+ }
751
+ },
752
+ "required": [
753
+ "account_id",
754
+ "entity_ids",
755
+ "start_time",
756
+ "end_time"
757
+ ]
758
+ }
759
+ },
760
+ {
761
+ "name": "active_entities",
762
+ "description": "Get active entities (campaigns, line items) with activity in a date range. Useful for finding which entities have spend/impressions.",
763
+ "method": "GET",
764
+ "path": "/active-entities",
765
+ "input_schema": {
766
+ "type": "object",
767
+ "properties": {
768
+ "account_id": {
769
+ "type": "string",
770
+ "description": "The ads account ID"
771
+ },
772
+ "entity": {
773
+ "type": "string",
774
+ "enum": [
775
+ "CAMPAIGN",
776
+ "LINE_ITEM",
777
+ "PROMOTED_TWEET"
778
+ ],
779
+ "default": "CAMPAIGN"
780
+ },
781
+ "start_time": {
782
+ "type": "string",
783
+ "description": "ISO 8601 start time"
784
+ },
785
+ "end_time": {
786
+ "type": "string",
787
+ "description": "ISO 8601 end time"
788
+ }
789
+ },
790
+ "required": [
791
+ "account_id",
792
+ "start_time"
793
+ ]
794
+ }
795
+ },
796
+ {
797
+ "name": "list_media_creatives",
798
+ "description": "List media creatives for an ad account",
799
+ "method": "GET",
800
+ "path": "/list-media-creatives",
801
+ "input_schema": {
802
+ "type": "object",
803
+ "properties": {
804
+ "account_id": {
805
+ "type": "string",
806
+ "description": "The ads account ID"
807
+ },
808
+ "count": {
809
+ "type": "integer",
810
+ "default": 200
811
+ },
812
+ "cursor": {
813
+ "type": "string",
814
+ "description": "Pagination cursor"
815
+ }
816
+ },
817
+ "required": [
818
+ "account_id"
819
+ ]
820
+ }
821
+ },
822
+ {
823
+ "name": "targeting_locations",
824
+ "description": "Search for targetable locations by name (countries, regions, cities, postal codes)",
825
+ "method": "GET",
826
+ "path": "/targeting-locations",
827
+ "input_schema": {
828
+ "type": "object",
829
+ "properties": {
830
+ "query": {
831
+ "type": "string",
832
+ "description": "Location search query (e.g., 'United States', 'New York')"
833
+ },
834
+ "location_type": {
835
+ "type": "string",
836
+ "enum": [
837
+ "COUNTRIES",
838
+ "REGIONS",
839
+ "METROS",
840
+ "CITIES",
841
+ "POSTAL_CODES"
842
+ ],
843
+ "description": "Type of location to search"
844
+ },
845
+ "count": {
846
+ "type": "integer",
847
+ "default": 50
848
+ }
849
+ },
850
+ "required": [
851
+ "query"
852
+ ]
853
+ }
854
+ },
855
+ {
856
+ "name": "targeting_interests",
857
+ "description": "List available interest categories for ad targeting",
858
+ "method": "GET",
859
+ "path": "/targeting-interests",
860
+ "input_schema": {
861
+ "type": "object",
862
+ "properties": {
863
+ "count": {
864
+ "type": "integer",
865
+ "default": 1000
866
+ },
867
+ "cursor": {
868
+ "type": "string",
869
+ "description": "Pagination cursor"
870
+ }
871
+ }
872
+ }
873
+ }
874
+ ]
875
+ }