@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.
- package/package.json +1 -1
- package/src/apps/activecampaign.json +209 -0
- package/src/apps/activecollab.json +417 -0
- package/src/apps/airtable.json +235 -0
- package/src/apps/alpaca-trading.json +1554 -0
- package/src/apps/amadeus.json +225 -0
- package/src/apps/anthropic-api.json +96 -0
- package/src/apps/apify.json +203 -0
- package/src/apps/apollo.json +748 -0
- package/src/apps/apple-podcasts.json +116 -0
- package/src/apps/archive-api.json +104 -0
- package/src/apps/archive.json +151 -0
- package/src/apps/arduino-cloud.json +301 -0
- package/src/apps/arest.json +492 -0
- package/src/apps/asana.json +184 -0
- package/src/apps/ashby.json +176 -0
- package/src/apps/assemblyai.json +163 -0
- package/src/apps/attio.json +243 -0
- package/src/apps/aws-cloudfront.json +132 -0
- package/src/apps/aws-dynamodb.json +295 -0
- package/src/apps/aws-ec2.json +184 -0
- package/src/apps/aws-lambda.json +361 -0
- package/src/apps/aws-route53.json +110 -0
- package/src/apps/aws-s3.json +303 -0
- package/src/apps/aws-ses.json +556 -0
- package/src/apps/aws-sns.json +217 -0
- package/src/apps/aws-sqs.json +234 -0
- package/src/apps/axiom.json +123 -0
- package/src/apps/beehiiv.json +252 -0
- package/src/apps/binance-trading.json +555 -0
- package/src/apps/bitly.json +175 -0
- package/src/apps/bloobirds.json +246 -0
- package/src/apps/bluesky.json +201 -0
- package/src/apps/blynk.json +316 -0
- package/src/apps/booking-com.json +144 -0
- package/src/apps/box.json +289 -0
- package/src/apps/brevo.json +1423 -0
- package/src/apps/browse-ai.json +148 -0
- package/src/apps/bunny-cdn.json +330 -0
- package/src/apps/bunny-stream.json +387 -0
- package/src/apps/cal-com.json +240 -0
- package/src/apps/calendly.json +578 -0
- package/src/apps/calflow-calendar.json +706 -0
- package/src/apps/callrail.json +190 -0
- package/src/apps/canva.json +197 -0
- package/src/apps/cartesia.json +201 -0
- package/src/apps/castbase.json +753 -0
- package/src/apps/chargebee.json +226 -0
- package/src/apps/cleanster.json +359 -0
- package/src/apps/clicksend.json +278 -0
- package/src/apps/clickup.json +266 -0
- package/src/apps/clipkit.json +517 -0
- package/src/apps/close.json +359 -0
- package/src/apps/cloudflare.json +329 -0
- package/src/apps/cloudinary.json +164 -0
- package/src/apps/coda.json +288 -0
- package/src/apps/cohere.json +158 -0
- package/src/apps/coinbase.json +268 -0
- package/src/apps/composio.json +146 -0
- package/src/apps/confluence.json +270 -0
- package/src/apps/consensus.json +879 -0
- package/src/apps/contabo.json +733 -0
- package/src/apps/convertkit.json +211 -0
- package/src/apps/core-image.json +426 -0
- package/src/apps/core-video.json +1246 -0
- package/src/apps/craftcloud.json +298 -0
- package/src/apps/datadog.json +401 -0
- package/src/apps/dataforseo.json +1273 -0
- package/src/apps/deepseek.json +150 -0
- package/src/apps/dialpad.json +229 -0
- package/src/apps/discord.json +239 -0
- package/src/apps/dnsimple.json +405 -0
- package/src/apps/docusign.json +214 -0
- package/src/apps/docx.json +282 -0
- package/src/apps/dropbox.json +185 -0
- package/src/apps/duffel.json +231 -0
- package/src/apps/dux-soup.json +694 -0
- package/src/apps/dynadot.json +250 -0
- package/src/apps/elevenlabs.json +327 -0
- package/src/apps/eventbrite-events.json +598 -0
- package/src/apps/facebook-ads.json +1399 -0
- package/src/apps/facebook-api.json +282 -0
- package/src/apps/fal-ai.json +400 -0
- package/src/apps/fathom.json +86 -0
- package/src/apps/figma.json +162 -0
- package/src/apps/filestack.json +159 -0
- package/src/apps/firebase.json +271 -0
- package/src/apps/firecrawl.json +278 -0
- package/src/apps/folk.json +564 -0
- package/src/apps/forecast-app.json +377 -0
- package/src/apps/freshdesk.json +283 -0
- package/src/apps/gemini.json +528 -0
- package/src/apps/ghost.json +439 -0
- package/src/apps/gigs-marketplace.json +1442 -0
- package/src/apps/github.json +1479 -47
- package/src/apps/gitlab.json +448 -0
- package/src/apps/gmail.json +839 -28
- package/src/apps/gohighlevel.json +596 -0
- package/src/apps/google-ads.json +270 -0
- package/src/apps/google-calendar.json +996 -36
- package/src/apps/google-docs.json +278 -0
- package/src/apps/google-drive.json +360 -0
- package/src/apps/google-maps.json +473 -0
- package/src/apps/google-sheets.json +330 -0
- package/src/apps/gooten.json +411 -0
- package/src/apps/gravity-forms.json +385 -0
- package/src/apps/gusto.json +171 -0
- package/src/apps/hackernews.json +221 -0
- package/src/apps/harmonic.json +86 -0
- package/src/apps/helpscout.json +664 -0
- package/src/apps/hetzner.json +658 -0
- package/src/apps/heygen.json +184 -0
- package/src/apps/heyreach.json +388 -0
- package/src/apps/hospitable.json +340 -0
- package/src/apps/hostinger.json +374 -0
- package/src/apps/hubspot.json +682 -0
- package/src/apps/huggingface.json +97 -0
- package/src/apps/hunter.json +504 -0
- package/src/apps/ig-trading.json +849 -0
- package/src/apps/imaterialise.json +349 -0
- package/src/apps/instagram-api.json +538 -0
- package/src/apps/intercom.json +648 -0
- package/src/apps/jira.json +226 -0
- package/src/apps/klaviyo.json +199 -0
- package/src/apps/kling-ai.json +206 -0
- package/src/apps/kraken.json +870 -0
- package/src/apps/late.json +1056 -0
- package/src/apps/leadpages.json +243 -0
- package/src/apps/learning-platform.json +2244 -0
- package/src/apps/linear.json +184 -57
- package/src/apps/linkedin.json +179 -0
- package/src/apps/listen-notes.json +136 -0
- package/src/apps/lnk-bio.json +125 -0
- package/src/apps/loom.json +188 -0
- package/src/apps/luma.json +280 -0
- package/src/apps/mailchimp.json +238 -0
- package/src/apps/mailgun.json +310 -0
- package/src/apps/manychat.json +312 -0
- package/src/apps/marin-software.json +843 -0
- package/src/apps/media-downloader.json +157 -0
- package/src/apps/meetup-events.json +361 -0
- package/src/apps/meshy.json +248 -0
- package/src/apps/microsoft-teams.json +162 -0
- package/src/apps/monday.json +213 -0
- package/src/apps/mongodb-atlas.json +467 -0
- package/src/apps/namecheap.json +252 -0
- package/src/apps/nexar.json +289 -0
- package/src/apps/notion.json +530 -50
- package/src/apps/omnikit-analytics.json +374 -0
- package/src/apps/omnikit-api-gateway.json +660 -0
- package/src/apps/omnikit-billing.json +1781 -0
- package/src/apps/omnikit-cms.json +899 -0
- package/src/apps/omnikit-functions.json +329 -0
- package/src/apps/omnikit-intelligence.json +650 -0
- package/src/apps/omnikit-management.json +214 -0
- package/src/apps/omnikit-media.json +646 -0
- package/src/apps/omnikit-messaging.json +1826 -0
- package/src/apps/omnikit-redirects.json +209 -0
- package/src/apps/omnikit-webhooks.json +269 -0
- package/src/apps/omnikit-workflows.json +323 -0
- package/src/apps/openai-api.json +462 -0
- package/src/apps/openmeteo-weather.json +75 -0
- package/src/apps/optinmonster.json +244 -0
- package/src/apps/paidkit.json +1218 -0
- package/src/apps/paypal.json +254 -0
- package/src/apps/pdf.json +366 -0
- package/src/apps/pipedrive.json +255 -0
- package/src/apps/polymarket.json +653 -0
- package/src/apps/porkbun.json +417 -0
- package/src/apps/portfolio.json +501 -0
- package/src/apps/postmark.json +257 -0
- package/src/apps/printful.json +273 -0
- package/src/apps/printify.json +295 -0
- package/src/apps/producthunt.json +346 -0
- package/src/apps/pushover-notifications.json +113 -0
- package/src/apps/qonto.json +366 -0
- package/src/apps/quickbooks.json +234 -0
- package/src/apps/replicate.json +106 -0
- package/src/apps/rss.json +281 -0
- package/src/apps/salesflow.json +538 -0
- package/src/apps/salesforce-crm.json +216 -0
- package/src/apps/sap.json +256 -0
- package/src/apps/scaleway.json +911 -0
- package/src/apps/sculpteo.json +234 -0
- package/src/apps/sendgrid-email.json +233 -0
- package/src/apps/sendgrid.json +160 -35
- package/src/apps/shapeways.json +188 -0
- package/src/apps/shopify.json +1217 -0
- package/src/apps/skai.json +779 -0
- package/src/apps/slack.json +228 -38
- package/src/apps/slant3d.json +231 -0
- package/src/apps/slides.json +760 -0
- package/src/apps/smartly.json +504 -0
- package/src/apps/snov.json +467 -0
- package/src/apps/socialcast.json +553 -63
- package/src/apps/square.json +274 -0
- package/src/apps/storage-management.json +788 -0
- package/src/apps/storylane.json +180 -0
- package/src/apps/strapi.json +338 -0
- package/src/apps/stripe-payments.json +847 -0
- package/src/apps/stripe.json +472 -35
- package/src/apps/supabase.json +169 -0
- package/src/apps/supademo.json +115 -0
- package/src/apps/taskflow.json +714 -0
- package/src/apps/teamwork.json +457 -0
- package/src/apps/telegram.json +444 -0
- package/src/apps/thinger.json +458 -0
- package/src/apps/ticktick.json +169 -0
- package/src/apps/tiktok-api.json +406 -0
- package/src/apps/todoist.json +151 -0
- package/src/apps/together.json +123 -0
- package/src/apps/torrent.json +267 -0
- package/src/apps/trading.json +1012 -0
- package/src/apps/trading212.json +383 -0
- package/src/apps/trello.json +205 -0
- package/src/apps/tripo.json +157 -0
- package/src/apps/twilio.json +1008 -0
- package/src/apps/twitter-ads.json +875 -0
- package/src/apps/twitter-api.json +1151 -0
- package/src/apps/twitterapiio.json +548 -0
- package/src/apps/typeform.json +210 -0
- package/src/apps/vidforge.json +1020 -0
- package/src/apps/vonage.json +394 -0
- package/src/apps/vultr.json +225 -0
- package/src/apps/webflow.json +223 -0
- package/src/apps/wise.json +273 -0
- package/src/apps/wistia.json +283 -0
- package/src/apps/woocommerce.json +288 -0
- package/src/apps/wordpress.json +1675 -0
- package/src/apps/xero.json +257 -0
- package/src/apps/youtube-api.json +861 -0
- package/src/apps/zendesk.json +295 -0
- package/src/apps/zite.json +173 -0
- package/src/apps/zoho-crm.json +386 -0
- package/src/apps/zoo.json +193 -0
- package/src/apps/zoom.json +334 -0
|
@@ -0,0 +1,779 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slug": "skai",
|
|
3
|
+
"name": "Skai (Kenshoo)",
|
|
4
|
+
"description": "MCP server for Skai (formerly Kenshoo) - omnichannel ad management across Search, Social, Meta, Retail Media, and more. Manage campaigns, ad groups, ads, reports, portfolios, and bulk operations via a single unified API.",
|
|
5
|
+
"logo": "https://www.google.com/s2/favicons?domain=skai.io&sz=128",
|
|
6
|
+
"categories": [
|
|
7
|
+
"advertising",
|
|
8
|
+
"marketing",
|
|
9
|
+
"campaigns",
|
|
10
|
+
"omnichannel",
|
|
11
|
+
"skai",
|
|
12
|
+
"kenshoo",
|
|
13
|
+
"ppc",
|
|
14
|
+
"retail-media"
|
|
15
|
+
],
|
|
16
|
+
"base_url": "https://app.skai.io",
|
|
17
|
+
"auth": {
|
|
18
|
+
"types": [
|
|
19
|
+
"bearer",
|
|
20
|
+
"oauth2"
|
|
21
|
+
],
|
|
22
|
+
"headers": {
|
|
23
|
+
"Authorization": "Bearer {{token}}"
|
|
24
|
+
},
|
|
25
|
+
"credential_fields": [
|
|
26
|
+
{
|
|
27
|
+
"name": "token",
|
|
28
|
+
"label": "access_token"
|
|
29
|
+
}
|
|
30
|
+
],
|
|
31
|
+
"oauth2": {
|
|
32
|
+
"authorize_url": "https://login.kenshoo.com/oauth/authorize",
|
|
33
|
+
"token_url": "https://login.kenshoo.com/api/v1/token",
|
|
34
|
+
"scopes": [
|
|
35
|
+
"campaigns:read",
|
|
36
|
+
"campaigns:write",
|
|
37
|
+
"ad_groups:read",
|
|
38
|
+
"ad_groups:write",
|
|
39
|
+
"ads:read",
|
|
40
|
+
"ads:write",
|
|
41
|
+
"reports:read",
|
|
42
|
+
"portfolios:read",
|
|
43
|
+
"portfolios:write",
|
|
44
|
+
"bulk:write",
|
|
45
|
+
"profiles:read",
|
|
46
|
+
"profiles:write"
|
|
47
|
+
],
|
|
48
|
+
"client_id_required": true,
|
|
49
|
+
"pkce": false
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
"tools": [
|
|
53
|
+
{
|
|
54
|
+
"name": "campaigns_list",
|
|
55
|
+
"description": "Retrieve campaigns from Skai. Filter by profile, channel type (SEARCH, SOCIAL, META, PINTEREST_SHOPPING, RETAIL_MEDIA), status, or specific campaign IDs. Supports pagination.",
|
|
56
|
+
"method": "GET",
|
|
57
|
+
"path": "/api/v1/campaigns",
|
|
58
|
+
"input_schema": {
|
|
59
|
+
"type": "object",
|
|
60
|
+
"properties": {
|
|
61
|
+
"profileId": {
|
|
62
|
+
"type": "string",
|
|
63
|
+
"description": "Skai profile ID to retrieve campaigns for"
|
|
64
|
+
},
|
|
65
|
+
"campaignIds": {
|
|
66
|
+
"type": "string",
|
|
67
|
+
"description": "Comma-separated campaign IDs to retrieve specific campaigns"
|
|
68
|
+
},
|
|
69
|
+
"channelTypes": {
|
|
70
|
+
"type": "string",
|
|
71
|
+
"description": "Filter by channel type",
|
|
72
|
+
"enum": [
|
|
73
|
+
"SEARCH",
|
|
74
|
+
"SOCIAL",
|
|
75
|
+
"META",
|
|
76
|
+
"PINTEREST_SHOPPING",
|
|
77
|
+
"RETAIL_MEDIA"
|
|
78
|
+
]
|
|
79
|
+
},
|
|
80
|
+
"campaignStatuses": {
|
|
81
|
+
"type": "string",
|
|
82
|
+
"description": "Filter by status (e.g., ACTIVE, PAUSED, DELETED)"
|
|
83
|
+
},
|
|
84
|
+
"limit": {
|
|
85
|
+
"type": "integer",
|
|
86
|
+
"description": "Maximum number of campaigns to return",
|
|
87
|
+
"default": 100
|
|
88
|
+
},
|
|
89
|
+
"pageId": {
|
|
90
|
+
"type": "string",
|
|
91
|
+
"description": "Pagination token for next page"
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
"required": [
|
|
95
|
+
"profileId"
|
|
96
|
+
]
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"name": "campaigns_create",
|
|
101
|
+
"description": "Create a new campaign in Skai. Specify profile, channel, name, budget, status, and publisher-specific settings. The campaign is created across the connected publisher account.",
|
|
102
|
+
"method": "POST",
|
|
103
|
+
"path": "/api/v1/campaigns",
|
|
104
|
+
"input_schema": {
|
|
105
|
+
"type": "object",
|
|
106
|
+
"properties": {
|
|
107
|
+
"profileId": {
|
|
108
|
+
"type": "string",
|
|
109
|
+
"description": "Skai profile ID"
|
|
110
|
+
},
|
|
111
|
+
"channelType": {
|
|
112
|
+
"type": "string",
|
|
113
|
+
"description": "Channel type for the campaign",
|
|
114
|
+
"enum": [
|
|
115
|
+
"SEARCH",
|
|
116
|
+
"SOCIAL",
|
|
117
|
+
"META",
|
|
118
|
+
"PINTEREST_SHOPPING",
|
|
119
|
+
"RETAIL_MEDIA"
|
|
120
|
+
]
|
|
121
|
+
},
|
|
122
|
+
"name": {
|
|
123
|
+
"type": "string",
|
|
124
|
+
"description": "Campaign name"
|
|
125
|
+
},
|
|
126
|
+
"status": {
|
|
127
|
+
"type": "string",
|
|
128
|
+
"description": "Campaign status",
|
|
129
|
+
"enum": [
|
|
130
|
+
"ACTIVE",
|
|
131
|
+
"PAUSED"
|
|
132
|
+
],
|
|
133
|
+
"default": "PAUSED"
|
|
134
|
+
},
|
|
135
|
+
"dailyBudget": {
|
|
136
|
+
"type": "number",
|
|
137
|
+
"description": "Daily budget amount"
|
|
138
|
+
},
|
|
139
|
+
"startDate": {
|
|
140
|
+
"type": "string",
|
|
141
|
+
"description": "Campaign start date (YYYY-MM-DD)"
|
|
142
|
+
},
|
|
143
|
+
"endDate": {
|
|
144
|
+
"type": "string",
|
|
145
|
+
"description": "Campaign end date (YYYY-MM-DD)"
|
|
146
|
+
},
|
|
147
|
+
"publisherSettings": {
|
|
148
|
+
"type": "object",
|
|
149
|
+
"description": "Publisher-specific settings (varies by channel type)"
|
|
150
|
+
}
|
|
151
|
+
},
|
|
152
|
+
"required": [
|
|
153
|
+
"profileId",
|
|
154
|
+
"channelType",
|
|
155
|
+
"name"
|
|
156
|
+
]
|
|
157
|
+
}
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
"name": "campaigns_update",
|
|
161
|
+
"description": "Edit an existing campaign in Skai. Update name, status, budget, dates, or publisher-specific settings.",
|
|
162
|
+
"method": "PUT",
|
|
163
|
+
"path": "/api/v1/campaigns",
|
|
164
|
+
"input_schema": {
|
|
165
|
+
"type": "object",
|
|
166
|
+
"properties": {
|
|
167
|
+
"campaignId": {
|
|
168
|
+
"type": "string",
|
|
169
|
+
"description": "Skai campaign ID to update"
|
|
170
|
+
},
|
|
171
|
+
"profileId": {
|
|
172
|
+
"type": "string",
|
|
173
|
+
"description": "Skai profile ID"
|
|
174
|
+
},
|
|
175
|
+
"name": {
|
|
176
|
+
"type": "string",
|
|
177
|
+
"description": "Updated campaign name"
|
|
178
|
+
},
|
|
179
|
+
"status": {
|
|
180
|
+
"type": "string",
|
|
181
|
+
"description": "Updated status",
|
|
182
|
+
"enum": [
|
|
183
|
+
"ACTIVE",
|
|
184
|
+
"PAUSED"
|
|
185
|
+
]
|
|
186
|
+
},
|
|
187
|
+
"dailyBudget": {
|
|
188
|
+
"type": "number",
|
|
189
|
+
"description": "Updated daily budget"
|
|
190
|
+
},
|
|
191
|
+
"endDate": {
|
|
192
|
+
"type": "string",
|
|
193
|
+
"description": "Updated end date (YYYY-MM-DD)"
|
|
194
|
+
}
|
|
195
|
+
},
|
|
196
|
+
"required": [
|
|
197
|
+
"campaignId",
|
|
198
|
+
"profileId"
|
|
199
|
+
]
|
|
200
|
+
}
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
"name": "ad_groups_list",
|
|
204
|
+
"description": "Retrieve ad groups from Skai. Filter by profile, campaign, channel type, or status.",
|
|
205
|
+
"method": "GET",
|
|
206
|
+
"path": "/api/v1/ad_groups",
|
|
207
|
+
"input_schema": {
|
|
208
|
+
"type": "object",
|
|
209
|
+
"properties": {
|
|
210
|
+
"profileId": {
|
|
211
|
+
"type": "string",
|
|
212
|
+
"description": "Skai profile ID"
|
|
213
|
+
},
|
|
214
|
+
"adGroupIds": {
|
|
215
|
+
"type": "string",
|
|
216
|
+
"description": "Comma-separated ad group IDs"
|
|
217
|
+
},
|
|
218
|
+
"campaignIds": {
|
|
219
|
+
"type": "string",
|
|
220
|
+
"description": "Comma-separated campaign IDs to filter by"
|
|
221
|
+
},
|
|
222
|
+
"channelTypes": {
|
|
223
|
+
"type": "string",
|
|
224
|
+
"description": "Filter by channel type",
|
|
225
|
+
"enum": [
|
|
226
|
+
"SEARCH",
|
|
227
|
+
"SOCIAL",
|
|
228
|
+
"META",
|
|
229
|
+
"PINTEREST_SHOPPING",
|
|
230
|
+
"RETAIL_MEDIA"
|
|
231
|
+
]
|
|
232
|
+
},
|
|
233
|
+
"statuses": {
|
|
234
|
+
"type": "string",
|
|
235
|
+
"description": "Filter by status"
|
|
236
|
+
},
|
|
237
|
+
"limit": {
|
|
238
|
+
"type": "integer",
|
|
239
|
+
"description": "Maximum results",
|
|
240
|
+
"default": 100
|
|
241
|
+
},
|
|
242
|
+
"pageId": {
|
|
243
|
+
"type": "string",
|
|
244
|
+
"description": "Pagination token"
|
|
245
|
+
}
|
|
246
|
+
},
|
|
247
|
+
"required": [
|
|
248
|
+
"profileId"
|
|
249
|
+
]
|
|
250
|
+
}
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
"name": "ad_groups_create",
|
|
254
|
+
"description": "Create a new ad group in Skai under a specific campaign.",
|
|
255
|
+
"method": "POST",
|
|
256
|
+
"path": "/api/v1/ad_groups",
|
|
257
|
+
"input_schema": {
|
|
258
|
+
"type": "object",
|
|
259
|
+
"properties": {
|
|
260
|
+
"profileId": {
|
|
261
|
+
"type": "string",
|
|
262
|
+
"description": "Skai profile ID"
|
|
263
|
+
},
|
|
264
|
+
"campaignId": {
|
|
265
|
+
"type": "string",
|
|
266
|
+
"description": "Campaign ID to create the ad group under"
|
|
267
|
+
},
|
|
268
|
+
"name": {
|
|
269
|
+
"type": "string",
|
|
270
|
+
"description": "Ad group name"
|
|
271
|
+
},
|
|
272
|
+
"status": {
|
|
273
|
+
"type": "string",
|
|
274
|
+
"description": "Ad group status",
|
|
275
|
+
"enum": [
|
|
276
|
+
"ACTIVE",
|
|
277
|
+
"PAUSED"
|
|
278
|
+
],
|
|
279
|
+
"default": "PAUSED"
|
|
280
|
+
},
|
|
281
|
+
"defaultBid": {
|
|
282
|
+
"type": "number",
|
|
283
|
+
"description": "Default bid amount"
|
|
284
|
+
},
|
|
285
|
+
"publisherSettings": {
|
|
286
|
+
"type": "object",
|
|
287
|
+
"description": "Publisher-specific settings"
|
|
288
|
+
}
|
|
289
|
+
},
|
|
290
|
+
"required": [
|
|
291
|
+
"profileId",
|
|
292
|
+
"campaignId",
|
|
293
|
+
"name"
|
|
294
|
+
]
|
|
295
|
+
}
|
|
296
|
+
},
|
|
297
|
+
{
|
|
298
|
+
"name": "ad_groups_update",
|
|
299
|
+
"description": "Edit an existing ad group in Skai. Update name, status, bids, or targeting.",
|
|
300
|
+
"method": "PUT",
|
|
301
|
+
"path": "/api/v1/ad_groups",
|
|
302
|
+
"input_schema": {
|
|
303
|
+
"type": "object",
|
|
304
|
+
"properties": {
|
|
305
|
+
"adGroupId": {
|
|
306
|
+
"type": "string",
|
|
307
|
+
"description": "Ad group ID to update"
|
|
308
|
+
},
|
|
309
|
+
"profileId": {
|
|
310
|
+
"type": "string",
|
|
311
|
+
"description": "Skai profile ID"
|
|
312
|
+
},
|
|
313
|
+
"name": {
|
|
314
|
+
"type": "string",
|
|
315
|
+
"description": "Updated ad group name"
|
|
316
|
+
},
|
|
317
|
+
"status": {
|
|
318
|
+
"type": "string",
|
|
319
|
+
"description": "Updated status",
|
|
320
|
+
"enum": [
|
|
321
|
+
"ACTIVE",
|
|
322
|
+
"PAUSED"
|
|
323
|
+
]
|
|
324
|
+
},
|
|
325
|
+
"defaultBid": {
|
|
326
|
+
"type": "number",
|
|
327
|
+
"description": "Updated default bid"
|
|
328
|
+
}
|
|
329
|
+
},
|
|
330
|
+
"required": [
|
|
331
|
+
"adGroupId",
|
|
332
|
+
"profileId"
|
|
333
|
+
]
|
|
334
|
+
}
|
|
335
|
+
},
|
|
336
|
+
{
|
|
337
|
+
"name": "ads_list",
|
|
338
|
+
"description": "Retrieve ads from Skai. Filter by profile, ad group, campaign, or channel type.",
|
|
339
|
+
"method": "GET",
|
|
340
|
+
"path": "/api/v1/ads",
|
|
341
|
+
"input_schema": {
|
|
342
|
+
"type": "object",
|
|
343
|
+
"properties": {
|
|
344
|
+
"profileId": {
|
|
345
|
+
"type": "string",
|
|
346
|
+
"description": "Skai profile ID"
|
|
347
|
+
},
|
|
348
|
+
"adGroupIds": {
|
|
349
|
+
"type": "string",
|
|
350
|
+
"description": "Comma-separated ad group IDs to filter by"
|
|
351
|
+
},
|
|
352
|
+
"campaignIds": {
|
|
353
|
+
"type": "string",
|
|
354
|
+
"description": "Comma-separated campaign IDs to filter by"
|
|
355
|
+
},
|
|
356
|
+
"channelTypes": {
|
|
357
|
+
"type": "string",
|
|
358
|
+
"description": "Filter by channel type"
|
|
359
|
+
},
|
|
360
|
+
"limit": {
|
|
361
|
+
"type": "integer",
|
|
362
|
+
"description": "Maximum results",
|
|
363
|
+
"default": 100
|
|
364
|
+
},
|
|
365
|
+
"pageId": {
|
|
366
|
+
"type": "string",
|
|
367
|
+
"description": "Pagination token"
|
|
368
|
+
}
|
|
369
|
+
},
|
|
370
|
+
"required": [
|
|
371
|
+
"profileId"
|
|
372
|
+
]
|
|
373
|
+
}
|
|
374
|
+
},
|
|
375
|
+
{
|
|
376
|
+
"name": "ads_create",
|
|
377
|
+
"description": "Create a new product ad in Skai. Specify the ad group, creative content, and publisher-specific settings.",
|
|
378
|
+
"method": "POST",
|
|
379
|
+
"path": "/api/v1/ads",
|
|
380
|
+
"input_schema": {
|
|
381
|
+
"type": "object",
|
|
382
|
+
"properties": {
|
|
383
|
+
"profileId": {
|
|
384
|
+
"type": "string",
|
|
385
|
+
"description": "Skai profile ID"
|
|
386
|
+
},
|
|
387
|
+
"adGroupId": {
|
|
388
|
+
"type": "string",
|
|
389
|
+
"description": "Ad group ID to create the ad under"
|
|
390
|
+
},
|
|
391
|
+
"headline": {
|
|
392
|
+
"type": "string",
|
|
393
|
+
"description": "Ad headline text"
|
|
394
|
+
},
|
|
395
|
+
"description": {
|
|
396
|
+
"type": "string",
|
|
397
|
+
"description": "Ad description text"
|
|
398
|
+
},
|
|
399
|
+
"finalUrl": {
|
|
400
|
+
"type": "string",
|
|
401
|
+
"description": "Landing page URL"
|
|
402
|
+
},
|
|
403
|
+
"status": {
|
|
404
|
+
"type": "string",
|
|
405
|
+
"description": "Ad status",
|
|
406
|
+
"enum": [
|
|
407
|
+
"ACTIVE",
|
|
408
|
+
"PAUSED"
|
|
409
|
+
],
|
|
410
|
+
"default": "PAUSED"
|
|
411
|
+
},
|
|
412
|
+
"publisherSettings": {
|
|
413
|
+
"type": "object",
|
|
414
|
+
"description": "Publisher-specific ad settings"
|
|
415
|
+
}
|
|
416
|
+
},
|
|
417
|
+
"required": [
|
|
418
|
+
"profileId",
|
|
419
|
+
"adGroupId"
|
|
420
|
+
]
|
|
421
|
+
}
|
|
422
|
+
},
|
|
423
|
+
{
|
|
424
|
+
"name": "profiles_update",
|
|
425
|
+
"description": "Edit a Skai profile's attributes such as name, settings, or publisher connections.",
|
|
426
|
+
"method": "PUT",
|
|
427
|
+
"path": "/api/v1/profiles/%7B%7Bprofile_id%7D%7D",
|
|
428
|
+
"input_schema": {
|
|
429
|
+
"type": "object",
|
|
430
|
+
"properties": {
|
|
431
|
+
"profile_id": {
|
|
432
|
+
"type": "string",
|
|
433
|
+
"description": "Profile ID to update"
|
|
434
|
+
},
|
|
435
|
+
"name": {
|
|
436
|
+
"type": "string",
|
|
437
|
+
"description": "Updated profile name"
|
|
438
|
+
},
|
|
439
|
+
"settings": {
|
|
440
|
+
"type": "object",
|
|
441
|
+
"description": "Updated profile settings"
|
|
442
|
+
}
|
|
443
|
+
},
|
|
444
|
+
"required": [
|
|
445
|
+
"profile_id"
|
|
446
|
+
]
|
|
447
|
+
}
|
|
448
|
+
},
|
|
449
|
+
{
|
|
450
|
+
"name": "reports_create",
|
|
451
|
+
"description": "Fetch a synchronous dataset from Skai Grids. Returns data immediately for smaller reports. Specify the entity type, columns, filters, and date range.",
|
|
452
|
+
"method": "POST",
|
|
453
|
+
"path": "/api/v1/reports",
|
|
454
|
+
"input_schema": {
|
|
455
|
+
"type": "object",
|
|
456
|
+
"properties": {
|
|
457
|
+
"profileId": {
|
|
458
|
+
"type": "string",
|
|
459
|
+
"description": "Skai profile ID"
|
|
460
|
+
},
|
|
461
|
+
"entityType": {
|
|
462
|
+
"type": "string",
|
|
463
|
+
"description": "Entity type to report on",
|
|
464
|
+
"enum": [
|
|
465
|
+
"CAMPAIGN",
|
|
466
|
+
"AD_GROUP",
|
|
467
|
+
"AD",
|
|
468
|
+
"KEYWORD",
|
|
469
|
+
"PRODUCT_GROUP"
|
|
470
|
+
]
|
|
471
|
+
},
|
|
472
|
+
"columns": {
|
|
473
|
+
"type": "array",
|
|
474
|
+
"description": "Column names to include in the report",
|
|
475
|
+
"items": {
|
|
476
|
+
"type": "string"
|
|
477
|
+
}
|
|
478
|
+
},
|
|
479
|
+
"filters": {
|
|
480
|
+
"type": "object",
|
|
481
|
+
"description": "Filters to apply to the report data"
|
|
482
|
+
},
|
|
483
|
+
"startDate": {
|
|
484
|
+
"type": "string",
|
|
485
|
+
"description": "Report start date (YYYY-MM-DD)"
|
|
486
|
+
},
|
|
487
|
+
"endDate": {
|
|
488
|
+
"type": "string",
|
|
489
|
+
"description": "Report end date (YYYY-MM-DD)"
|
|
490
|
+
},
|
|
491
|
+
"channelTypes": {
|
|
492
|
+
"type": "array",
|
|
493
|
+
"description": "Channel types to include",
|
|
494
|
+
"items": {
|
|
495
|
+
"type": "string"
|
|
496
|
+
}
|
|
497
|
+
}
|
|
498
|
+
},
|
|
499
|
+
"required": [
|
|
500
|
+
"profileId",
|
|
501
|
+
"entityType",
|
|
502
|
+
"columns"
|
|
503
|
+
]
|
|
504
|
+
}
|
|
505
|
+
},
|
|
506
|
+
{
|
|
507
|
+
"name": "reports_async_create",
|
|
508
|
+
"description": "Configure and run an asynchronous analysis grid report. Returns an execution_id to poll for status and download results. Use for large datasets.",
|
|
509
|
+
"method": "POST",
|
|
510
|
+
"path": "/api/v1/reports/async/analysis",
|
|
511
|
+
"input_schema": {
|
|
512
|
+
"type": "object",
|
|
513
|
+
"properties": {
|
|
514
|
+
"profileId": {
|
|
515
|
+
"type": "string",
|
|
516
|
+
"description": "Skai profile ID"
|
|
517
|
+
},
|
|
518
|
+
"entityType": {
|
|
519
|
+
"type": "string",
|
|
520
|
+
"description": "Entity type to report on",
|
|
521
|
+
"enum": [
|
|
522
|
+
"CAMPAIGN",
|
|
523
|
+
"AD_GROUP",
|
|
524
|
+
"AD",
|
|
525
|
+
"KEYWORD",
|
|
526
|
+
"PRODUCT_GROUP"
|
|
527
|
+
]
|
|
528
|
+
},
|
|
529
|
+
"columns": {
|
|
530
|
+
"type": "array",
|
|
531
|
+
"description": "Column names to include",
|
|
532
|
+
"items": {
|
|
533
|
+
"type": "string"
|
|
534
|
+
}
|
|
535
|
+
},
|
|
536
|
+
"filters": {
|
|
537
|
+
"type": "object",
|
|
538
|
+
"description": "Filters for the report"
|
|
539
|
+
},
|
|
540
|
+
"startDate": {
|
|
541
|
+
"type": "string",
|
|
542
|
+
"description": "Report start date (YYYY-MM-DD)"
|
|
543
|
+
},
|
|
544
|
+
"endDate": {
|
|
545
|
+
"type": "string",
|
|
546
|
+
"description": "Report end date (YYYY-MM-DD)"
|
|
547
|
+
},
|
|
548
|
+
"granularity": {
|
|
549
|
+
"type": "string",
|
|
550
|
+
"description": "Time granularity",
|
|
551
|
+
"enum": [
|
|
552
|
+
"DAILY",
|
|
553
|
+
"WEEKLY",
|
|
554
|
+
"MONTHLY",
|
|
555
|
+
"TOTAL"
|
|
556
|
+
]
|
|
557
|
+
}
|
|
558
|
+
},
|
|
559
|
+
"required": [
|
|
560
|
+
"profileId",
|
|
561
|
+
"entityType",
|
|
562
|
+
"columns"
|
|
563
|
+
]
|
|
564
|
+
}
|
|
565
|
+
},
|
|
566
|
+
{
|
|
567
|
+
"name": "reports_async_status",
|
|
568
|
+
"description": "Poll the status of an asynchronous report execution. Returns PENDING, RUNNING, COMPLETED, or FAILED.",
|
|
569
|
+
"method": "GET",
|
|
570
|
+
"path": "/api/v1/reports/async/%7B%7Bexecution_id%7D%7D/status",
|
|
571
|
+
"input_schema": {
|
|
572
|
+
"type": "object",
|
|
573
|
+
"properties": {
|
|
574
|
+
"execution_id": {
|
|
575
|
+
"type": "string",
|
|
576
|
+
"description": "Execution ID from the async report creation"
|
|
577
|
+
}
|
|
578
|
+
},
|
|
579
|
+
"required": [
|
|
580
|
+
"execution_id"
|
|
581
|
+
]
|
|
582
|
+
}
|
|
583
|
+
},
|
|
584
|
+
{
|
|
585
|
+
"name": "reports_async_download",
|
|
586
|
+
"description": "Download the results of a completed asynchronous report.",
|
|
587
|
+
"method": "GET",
|
|
588
|
+
"path": "/api/v1/reports/async/%7B%7Bexecution_id%7D%7D",
|
|
589
|
+
"input_schema": {
|
|
590
|
+
"type": "object",
|
|
591
|
+
"properties": {
|
|
592
|
+
"execution_id": {
|
|
593
|
+
"type": "string",
|
|
594
|
+
"description": "Execution ID of the completed report"
|
|
595
|
+
}
|
|
596
|
+
},
|
|
597
|
+
"required": [
|
|
598
|
+
"execution_id"
|
|
599
|
+
]
|
|
600
|
+
}
|
|
601
|
+
},
|
|
602
|
+
{
|
|
603
|
+
"name": "reports_columns",
|
|
604
|
+
"description": "Get available column names for a given entity type. Use this to discover which metrics and dimensions can be included in reports.",
|
|
605
|
+
"method": "GET",
|
|
606
|
+
"path": "/api/v1/reports/%7B%7Bentity%7D%7D/available_columns",
|
|
607
|
+
"input_schema": {
|
|
608
|
+
"type": "object",
|
|
609
|
+
"properties": {
|
|
610
|
+
"entity": {
|
|
611
|
+
"type": "string",
|
|
612
|
+
"description": "Entity type to get columns for",
|
|
613
|
+
"enum": [
|
|
614
|
+
"campaigns",
|
|
615
|
+
"ad_groups",
|
|
616
|
+
"ads",
|
|
617
|
+
"keywords",
|
|
618
|
+
"product_groups"
|
|
619
|
+
]
|
|
620
|
+
}
|
|
621
|
+
},
|
|
622
|
+
"required": [
|
|
623
|
+
"entity"
|
|
624
|
+
]
|
|
625
|
+
}
|
|
626
|
+
},
|
|
627
|
+
{
|
|
628
|
+
"name": "portfolios_list",
|
|
629
|
+
"description": "Retrieve portfolios from Skai. Portfolios group campaigns for budget and performance management.",
|
|
630
|
+
"method": "GET",
|
|
631
|
+
"path": "/api/v1/portfolios",
|
|
632
|
+
"input_schema": {
|
|
633
|
+
"type": "object",
|
|
634
|
+
"properties": {
|
|
635
|
+
"profileId": {
|
|
636
|
+
"type": "string",
|
|
637
|
+
"description": "Skai profile ID"
|
|
638
|
+
},
|
|
639
|
+
"portfolioIds": {
|
|
640
|
+
"type": "string",
|
|
641
|
+
"description": "Comma-separated portfolio IDs"
|
|
642
|
+
},
|
|
643
|
+
"limit": {
|
|
644
|
+
"type": "integer",
|
|
645
|
+
"description": "Maximum results",
|
|
646
|
+
"default": 100
|
|
647
|
+
},
|
|
648
|
+
"pageId": {
|
|
649
|
+
"type": "string",
|
|
650
|
+
"description": "Pagination token"
|
|
651
|
+
}
|
|
652
|
+
},
|
|
653
|
+
"required": [
|
|
654
|
+
"profileId"
|
|
655
|
+
]
|
|
656
|
+
}
|
|
657
|
+
},
|
|
658
|
+
{
|
|
659
|
+
"name": "portfolios_create",
|
|
660
|
+
"description": "Create a new portfolio in Skai for grouping campaigns under shared budget and performance targets.",
|
|
661
|
+
"method": "POST",
|
|
662
|
+
"path": "/api/v1/portfolios",
|
|
663
|
+
"input_schema": {
|
|
664
|
+
"type": "object",
|
|
665
|
+
"properties": {
|
|
666
|
+
"profileId": {
|
|
667
|
+
"type": "string",
|
|
668
|
+
"description": "Skai profile ID"
|
|
669
|
+
},
|
|
670
|
+
"name": {
|
|
671
|
+
"type": "string",
|
|
672
|
+
"description": "Portfolio name"
|
|
673
|
+
},
|
|
674
|
+
"budget": {
|
|
675
|
+
"type": "number",
|
|
676
|
+
"description": "Portfolio budget"
|
|
677
|
+
},
|
|
678
|
+
"budgetType": {
|
|
679
|
+
"type": "string",
|
|
680
|
+
"description": "Budget type",
|
|
681
|
+
"enum": [
|
|
682
|
+
"DAILY",
|
|
683
|
+
"MONTHLY",
|
|
684
|
+
"TOTAL"
|
|
685
|
+
]
|
|
686
|
+
},
|
|
687
|
+
"campaignIds": {
|
|
688
|
+
"type": "array",
|
|
689
|
+
"description": "Campaign IDs to include in the portfolio",
|
|
690
|
+
"items": {
|
|
691
|
+
"type": "string"
|
|
692
|
+
}
|
|
693
|
+
}
|
|
694
|
+
},
|
|
695
|
+
"required": [
|
|
696
|
+
"profileId",
|
|
697
|
+
"name"
|
|
698
|
+
]
|
|
699
|
+
}
|
|
700
|
+
},
|
|
701
|
+
{
|
|
702
|
+
"name": "portfolios_update",
|
|
703
|
+
"description": "Edit an existing portfolio's name, budget, or campaign assignments.",
|
|
704
|
+
"method": "PUT",
|
|
705
|
+
"path": "/api/v1/portfolios",
|
|
706
|
+
"input_schema": {
|
|
707
|
+
"type": "object",
|
|
708
|
+
"properties": {
|
|
709
|
+
"portfolioId": {
|
|
710
|
+
"type": "string",
|
|
711
|
+
"description": "Portfolio ID to update"
|
|
712
|
+
},
|
|
713
|
+
"profileId": {
|
|
714
|
+
"type": "string",
|
|
715
|
+
"description": "Skai profile ID"
|
|
716
|
+
},
|
|
717
|
+
"name": {
|
|
718
|
+
"type": "string",
|
|
719
|
+
"description": "Updated portfolio name"
|
|
720
|
+
},
|
|
721
|
+
"budget": {
|
|
722
|
+
"type": "number",
|
|
723
|
+
"description": "Updated budget"
|
|
724
|
+
},
|
|
725
|
+
"campaignIds": {
|
|
726
|
+
"type": "array",
|
|
727
|
+
"description": "Updated campaign IDs",
|
|
728
|
+
"items": {
|
|
729
|
+
"type": "string"
|
|
730
|
+
}
|
|
731
|
+
}
|
|
732
|
+
},
|
|
733
|
+
"required": [
|
|
734
|
+
"portfolioId",
|
|
735
|
+
"profileId"
|
|
736
|
+
]
|
|
737
|
+
}
|
|
738
|
+
},
|
|
739
|
+
{
|
|
740
|
+
"name": "bulk_update",
|
|
741
|
+
"description": "Upload a bulk update to modify multiple entities at once (campaigns, ad groups, keywords, ads, product groups, portfolios). Accepts JSON payload with entity data. Returns a job_id for tracking.",
|
|
742
|
+
"method": "POST",
|
|
743
|
+
"path": "/api/v1/bulk_update",
|
|
744
|
+
"input_schema": {
|
|
745
|
+
"type": "object",
|
|
746
|
+
"properties": {
|
|
747
|
+
"profileId": {
|
|
748
|
+
"type": "string",
|
|
749
|
+
"description": "Skai profile ID"
|
|
750
|
+
},
|
|
751
|
+
"entityType": {
|
|
752
|
+
"type": "string",
|
|
753
|
+
"description": "Entity type to bulk update",
|
|
754
|
+
"enum": [
|
|
755
|
+
"CAMPAIGN",
|
|
756
|
+
"AD_GROUP",
|
|
757
|
+
"KEYWORD",
|
|
758
|
+
"AD",
|
|
759
|
+
"PRODUCT_GROUP",
|
|
760
|
+
"PORTFOLIO"
|
|
761
|
+
]
|
|
762
|
+
},
|
|
763
|
+
"entities": {
|
|
764
|
+
"type": "array",
|
|
765
|
+
"description": "Array of entity objects to create or update",
|
|
766
|
+
"items": {
|
|
767
|
+
"type": "object"
|
|
768
|
+
}
|
|
769
|
+
}
|
|
770
|
+
},
|
|
771
|
+
"required": [
|
|
772
|
+
"profileId",
|
|
773
|
+
"entityType",
|
|
774
|
+
"entities"
|
|
775
|
+
]
|
|
776
|
+
}
|
|
777
|
+
}
|
|
778
|
+
]
|
|
779
|
+
}
|