@apteva/integrations 0.2.3 → 0.3.1

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,270 @@
1
+ {
2
+ "slug": "google-ads",
3
+ "name": "Google Ads",
4
+ "description": "Google Ads API v23 — manage campaigns, ad groups, ads, keywords, budgets, and run performance reports via GAQL queries",
5
+ "logo": "https://www.google.com/s2/favicons?domain=ads.google.com&sz=128",
6
+ "categories": [
7
+ "advertising",
8
+ "marketing",
9
+ "ppc",
10
+ "campaigns",
11
+ "google",
12
+ "search-ads",
13
+ "display-ads"
14
+ ],
15
+ "base_url": "https://googleads.googleapis.com/v23",
16
+ "auth": {
17
+ "types": [
18
+ "bearer",
19
+ "oauth2"
20
+ ],
21
+ "headers": {
22
+ "Authorization": "Bearer {{token}}"
23
+ },
24
+ "credential_fields": [
25
+ {
26
+ "name": "token",
27
+ "label": "access_token"
28
+ },
29
+ {
30
+ "name": "developer_token",
31
+ "label": "developer_token"
32
+ }
33
+ ],
34
+ "oauth2": {
35
+ "authorize_url": "https://accounts.google.com/o/oauth2/v2/auth",
36
+ "token_url": "https://oauth2.googleapis.com/token",
37
+ "scopes": [
38
+ "https://www.googleapis.com/auth/adwords"
39
+ ],
40
+ "client_id_required": true,
41
+ "pkce": false
42
+ }
43
+ },
44
+ "tools": [
45
+ {
46
+ "name": "list_accounts",
47
+ "description": "List all Google Ads customer accounts accessible to the authenticated user. Returns customer IDs and descriptive names. Use this first to find the customer_id needed for all other tools.",
48
+ "method": "GET",
49
+ "path": "/customers:listAccessibleCustomers",
50
+ "input_schema": {
51
+ "type": "object",
52
+ "properties": {}
53
+ }
54
+ },
55
+ {
56
+ "name": "search",
57
+ "description": "Run a Google Ads Query Language (GAQL) query to search for campaigns, ad groups, ads, keywords, or pull performance metrics. Examples:\n- List campaigns: SELECT campaign.id, campaign.name, campaign.status FROM campaign\n- Campaign performance: SELECT campaign.name, metrics.impressions, metrics.clicks, metrics.cost_micros FROM campaign WHERE segments.date DURING LAST_30_DAYS\n- Ad group performance: SELECT ad_group.name, metrics.clicks, metrics.conversions FROM ad_group WHERE campaign.id = 123\n- Keywords: SELECT ad_group_criterion.keyword.text, metrics.clicks FROM keyword_view WHERE segments.date DURING LAST_7_DAYS\n- Search terms: SELECT search_term_view.search_term, metrics.clicks FROM search_term_view WHERE segments.date DURING LAST_7_DAYS\n- Ads: SELECT ad_group_ad.ad.id, ad_group_ad.ad.responsive_search_ad.headlines FROM ad_group_ad",
58
+ "method": "POST",
59
+ "path": "/customers/%7B%7Bcustomer_id%7D%7D/googleAds:search",
60
+ "input_schema": {
61
+ "type": "object",
62
+ "properties": {
63
+ "customer_id": {
64
+ "type": "string",
65
+ "description": "Google Ads customer ID (without hyphens, e.g. '1234567890')"
66
+ },
67
+ "query": {
68
+ "type": "string",
69
+ "description": "GAQL query string. Example: SELECT campaign.name, metrics.clicks FROM campaign WHERE segments.date DURING LAST_7_DAYS"
70
+ },
71
+ "page_size": {
72
+ "type": "integer",
73
+ "description": "Max results per page (default 10000, max 10000)"
74
+ },
75
+ "page_token": {
76
+ "type": "string",
77
+ "description": "Token for fetching next page of results"
78
+ }
79
+ },
80
+ "required": [
81
+ "customer_id",
82
+ "query"
83
+ ]
84
+ }
85
+ },
86
+ {
87
+ "name": "search_stream",
88
+ "description": "Run a GAQL query using streaming — returns all results at once without pagination. Better for large result sets. Same query syntax as google-ads-search.",
89
+ "method": "POST",
90
+ "path": "/customers/%7B%7Bcustomer_id%7D%7D/googleAds:searchStream",
91
+ "input_schema": {
92
+ "type": "object",
93
+ "properties": {
94
+ "customer_id": {
95
+ "type": "string",
96
+ "description": "Google Ads customer ID (without hyphens)"
97
+ },
98
+ "query": {
99
+ "type": "string",
100
+ "description": "GAQL query string"
101
+ }
102
+ },
103
+ "required": [
104
+ "customer_id",
105
+ "query"
106
+ ]
107
+ }
108
+ },
109
+ {
110
+ "name": "campaign_mutate",
111
+ "description": "Create, update, or remove campaigns. Operations is an array where each item has one of: 'create' (new campaign object), 'update' (campaign object with resourceName) + 'updateMask', or 'remove' (resource name string).\n\nCreate example: {\"create\": {\"name\": \"My Campaign\", \"status\": \"PAUSED\", \"advertisingChannelType\": \"SEARCH\", \"campaignBudget\": \"customers/1234/campaignBudgets/5678\"}}\n\nUpdate example: {\"update\": {\"resourceName\": \"customers/1234/campaigns/5678\", \"status\": \"ENABLED\"}, \"updateMask\": \"status\"}\n\nRemove example: {\"remove\": \"customers/1234/campaigns/5678\"}",
112
+ "method": "POST",
113
+ "path": "/customers/%7B%7Bcustomer_id%7D%7D/campaigns:mutate",
114
+ "input_schema": {
115
+ "type": "object",
116
+ "properties": {
117
+ "customer_id": {
118
+ "type": "string",
119
+ "description": "Google Ads customer ID (without hyphens)"
120
+ },
121
+ "operations": {
122
+ "type": "array",
123
+ "description": "Array of campaign operations (create/update/remove)",
124
+ "items": {
125
+ "type": "object"
126
+ }
127
+ }
128
+ },
129
+ "required": [
130
+ "customer_id",
131
+ "operations"
132
+ ]
133
+ }
134
+ },
135
+ {
136
+ "name": "ad_group_mutate",
137
+ "description": "Create, update, or remove ad groups.\n\nCreate example: {\"create\": {\"name\": \"My Ad Group\", \"campaign\": \"customers/1234/campaigns/5678\", \"status\": \"ENABLED\", \"cpcBidMicros\": \"1000000\"}}\n\nUpdate example: {\"update\": {\"resourceName\": \"customers/1234/adGroups/9012\", \"cpcBidMicros\": \"1500000\"}, \"updateMask\": \"cpcBidMicros\"}\n\nRemove example: {\"remove\": \"customers/1234/adGroups/9012\"}",
138
+ "method": "POST",
139
+ "path": "/customers/%7B%7Bcustomer_id%7D%7D/adGroups:mutate",
140
+ "input_schema": {
141
+ "type": "object",
142
+ "properties": {
143
+ "customer_id": {
144
+ "type": "string",
145
+ "description": "Google Ads customer ID (without hyphens)"
146
+ },
147
+ "operations": {
148
+ "type": "array",
149
+ "description": "Array of ad group operations (create/update/remove)",
150
+ "items": {
151
+ "type": "object"
152
+ }
153
+ }
154
+ },
155
+ "required": [
156
+ "customer_id",
157
+ "operations"
158
+ ]
159
+ }
160
+ },
161
+ {
162
+ "name": "ad_mutate",
163
+ "description": "Create, update, or remove ads (ad group ads).\n\nCreate responsive search ad example: {\"create\": {\"adGroup\": \"customers/1234/adGroups/5678\", \"status\": \"ENABLED\", \"ad\": {\"responsiveSearchAd\": {\"headlines\": [{\"text\": \"Headline 1\"}, {\"text\": \"Headline 2\"}, {\"text\": \"Headline 3\"}], \"descriptions\": [{\"text\": \"Description 1\"}, {\"text\": \"Description 2\"}]}, \"finalUrls\": [\"https://example.com\"]}}}\n\nRemove example: {\"remove\": \"customers/1234/adGroupAds/5678~9012\"}",
164
+ "method": "POST",
165
+ "path": "/customers/%7B%7Bcustomer_id%7D%7D/adGroupAds:mutate",
166
+ "input_schema": {
167
+ "type": "object",
168
+ "properties": {
169
+ "customer_id": {
170
+ "type": "string",
171
+ "description": "Google Ads customer ID (without hyphens)"
172
+ },
173
+ "operations": {
174
+ "type": "array",
175
+ "description": "Array of ad operations (create/update/remove)",
176
+ "items": {
177
+ "type": "object"
178
+ }
179
+ }
180
+ },
181
+ "required": [
182
+ "customer_id",
183
+ "operations"
184
+ ]
185
+ }
186
+ },
187
+ {
188
+ "name": "keyword_mutate",
189
+ "description": "Create, update, or remove keywords (ad group criteria).\n\nCreate keyword example: {\"create\": {\"adGroup\": \"customers/1234/adGroups/5678\", \"keyword\": {\"text\": \"buy running shoes\", \"matchType\": \"PHRASE\"}, \"status\": \"ENABLED\", \"cpcBidMicros\": \"500000\"}}\n\nRemove example: {\"remove\": \"customers/1234/adGroupCriteria/5678~9012\"}",
190
+ "method": "POST",
191
+ "path": "/customers/%7B%7Bcustomer_id%7D%7D/adGroupCriteria:mutate",
192
+ "input_schema": {
193
+ "type": "object",
194
+ "properties": {
195
+ "customer_id": {
196
+ "type": "string",
197
+ "description": "Google Ads customer ID (without hyphens)"
198
+ },
199
+ "operations": {
200
+ "type": "array",
201
+ "description": "Array of keyword/criterion operations (create/update/remove)",
202
+ "items": {
203
+ "type": "object"
204
+ }
205
+ }
206
+ },
207
+ "required": [
208
+ "customer_id",
209
+ "operations"
210
+ ]
211
+ }
212
+ },
213
+ {
214
+ "name": "budget_mutate",
215
+ "description": "Create, update, or remove campaign budgets. Amounts are in micros (1 USD = 1,000,000 micros).\n\nCreate example: {\"create\": {\"name\": \"Daily Budget $50\", \"amountMicros\": \"50000000\", \"deliveryMethod\": \"STANDARD\"}}\n\nUpdate example: {\"update\": {\"resourceName\": \"customers/1234/campaignBudgets/5678\", \"amountMicros\": \"75000000\"}, \"updateMask\": \"amountMicros\"}",
216
+ "method": "POST",
217
+ "path": "/customers/%7B%7Bcustomer_id%7D%7D/campaignBudgets:mutate",
218
+ "input_schema": {
219
+ "type": "object",
220
+ "properties": {
221
+ "customer_id": {
222
+ "type": "string",
223
+ "description": "Google Ads customer ID (without hyphens)"
224
+ },
225
+ "operations": {
226
+ "type": "array",
227
+ "description": "Array of budget operations (create/update/remove)",
228
+ "items": {
229
+ "type": "object"
230
+ }
231
+ }
232
+ },
233
+ "required": [
234
+ "customer_id",
235
+ "operations"
236
+ ]
237
+ }
238
+ },
239
+ {
240
+ "name": "bulk_mutate",
241
+ "description": "Create or modify multiple resource types in a single atomic request — budgets, campaigns, ad groups, and ads together. Uses temporary resource IDs (negative numbers) to reference resources created in the same request.\n\nExample creating a full campaign:\n{\"mutateOperations\": [{\"campaignBudgetOperation\": {\"create\": {\"resourceName\": \"customers/1234/campaignBudgets/-1\", \"name\": \"Budget\", \"amountMicros\": \"50000000\"}}}, {\"campaignOperation\": {\"create\": {\"resourceName\": \"customers/1234/campaigns/-2\", \"name\": \"My Campaign\", \"campaignBudget\": \"customers/1234/campaignBudgets/-1\", \"advertisingChannelType\": \"SEARCH\", \"status\": \"PAUSED\"}}}, {\"adGroupOperation\": {\"create\": {\"campaign\": \"customers/1234/campaigns/-2\", \"name\": \"Ad Group 1\"}}}]}",
242
+ "method": "POST",
243
+ "path": "/customers/%7B%7Bcustomer_id%7D%7D/googleAds:mutate",
244
+ "input_schema": {
245
+ "type": "object",
246
+ "properties": {
247
+ "customer_id": {
248
+ "type": "string",
249
+ "description": "Google Ads customer ID (without hyphens)"
250
+ },
251
+ "mutateOperations": {
252
+ "type": "array",
253
+ "description": "Array of typed operations (campaignBudgetOperation, campaignOperation, adGroupOperation, adGroupAdOperation, adGroupCriterionOperation, etc.)",
254
+ "items": {
255
+ "type": "object"
256
+ }
257
+ },
258
+ "partialFailure": {
259
+ "type": "boolean",
260
+ "description": "If true, allows partial success. If false (default), all operations fail if any one fails."
261
+ }
262
+ },
263
+ "required": [
264
+ "customer_id",
265
+ "mutateOperations"
266
+ ]
267
+ }
268
+ }
269
+ ]
270
+ }