@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,660 @@
1
+ {
2
+ "slug": "omnikit-api-gateway",
3
+ "name": "OmniKit API Gateway",
4
+ "description": "Manage APIs, routes, and API keys on the OmniKit platform - create and configure API definitions, define routes with function mappings, sync to gateway, and manage API key authentication",
5
+ "logo": "https://cdn-icons-png.flaticon.com/512/1163/1163624.png",
6
+ "categories": [
7
+ "api-gateway",
8
+ "apis",
9
+ "routes",
10
+ "api-keys",
11
+ "authentication",
12
+ "omnikit"
13
+ ],
14
+ "base_url": "https://api.omnikit.co",
15
+ "auth": {
16
+ "types": [
17
+ "bearer"
18
+ ],
19
+ "headers": {
20
+ "Authorization": "Bearer {{token}}"
21
+ },
22
+ "credential_fields": [
23
+ {
24
+ "name": "token",
25
+ "label": "API Key"
26
+ }
27
+ ]
28
+ },
29
+ "tools": [
30
+ {
31
+ "name": "create_api",
32
+ "description": "Create a new API definition with a unique prefix (e.g., 'myapi' for /myapi/* routes)",
33
+ "method": "POST",
34
+ "path": "/apis",
35
+ "input_schema": {
36
+ "type": "object",
37
+ "properties": {
38
+ "name": {
39
+ "type": "string",
40
+ "description": "Unique API name"
41
+ },
42
+ "prefix": {
43
+ "type": "string",
44
+ "description": "URL prefix for the API (e.g., 'myapi' for /myapi/*)"
45
+ },
46
+ "description": {
47
+ "type": "string",
48
+ "description": "API description"
49
+ },
50
+ "display_name": {
51
+ "type": "string",
52
+ "description": "Human-readable display name"
53
+ },
54
+ "tags": {
55
+ "type": "array",
56
+ "items": {
57
+ "type": "string"
58
+ },
59
+ "description": "Tags for categorization"
60
+ },
61
+ "is_public": {
62
+ "type": "boolean",
63
+ "description": "Whether the API is publicly accessible"
64
+ }
65
+ },
66
+ "required": [
67
+ "name",
68
+ "prefix"
69
+ ]
70
+ }
71
+ },
72
+ {
73
+ "name": "list_apis",
74
+ "description": "List all API definitions with optional filtering by project, visibility, and tags",
75
+ "method": "GET",
76
+ "path": "/apis",
77
+ "input_schema": {
78
+ "type": "object",
79
+ "properties": {
80
+ "is_public": {
81
+ "type": "boolean",
82
+ "description": "Filter by public/private status"
83
+ },
84
+ "tag": {
85
+ "type": "string",
86
+ "description": "Filter by tag"
87
+ },
88
+ "include_routes": {
89
+ "type": "boolean",
90
+ "description": "Include routes in response"
91
+ },
92
+ "limit": {
93
+ "type": "integer",
94
+ "default": 100,
95
+ "description": "Maximum results"
96
+ },
97
+ "offset": {
98
+ "type": "integer",
99
+ "default": 0,
100
+ "description": "Pagination offset"
101
+ }
102
+ }
103
+ }
104
+ },
105
+ {
106
+ "name": "get_api",
107
+ "description": "Get a single API definition by ID, optionally including its routes",
108
+ "method": "GET",
109
+ "path": "/apis/%7B%7Bapi_id%7D%7D",
110
+ "input_schema": {
111
+ "type": "object",
112
+ "properties": {
113
+ "api_id": {
114
+ "type": "string",
115
+ "description": "API ID (UUID)"
116
+ },
117
+ "include_routes": {
118
+ "type": "boolean",
119
+ "description": "Include routes in response"
120
+ }
121
+ },
122
+ "required": [
123
+ "api_id"
124
+ ]
125
+ }
126
+ },
127
+ {
128
+ "name": "get_api_by_prefix",
129
+ "description": "Get a single API definition by its URL prefix",
130
+ "method": "GET",
131
+ "path": "/apis/prefix/%7B%7Bprefix%7D%7D",
132
+ "input_schema": {
133
+ "type": "object",
134
+ "properties": {
135
+ "prefix": {
136
+ "type": "string",
137
+ "description": "API prefix (e.g., 'omnikit', 'tasks')"
138
+ },
139
+ "include_routes": {
140
+ "type": "boolean",
141
+ "description": "Include routes in response"
142
+ }
143
+ },
144
+ "required": [
145
+ "prefix"
146
+ ]
147
+ }
148
+ },
149
+ {
150
+ "name": "update_api",
151
+ "description": "Update an existing API definition's name, prefix, description, tags, or visibility",
152
+ "method": "PUT",
153
+ "path": "/apis/%7B%7Bapi_id%7D%7D",
154
+ "input_schema": {
155
+ "type": "object",
156
+ "properties": {
157
+ "api_id": {
158
+ "type": "string",
159
+ "description": "API ID (UUID)"
160
+ },
161
+ "name": {
162
+ "type": "string",
163
+ "description": "API name"
164
+ },
165
+ "prefix": {
166
+ "type": "string",
167
+ "description": "URL prefix"
168
+ },
169
+ "description": {
170
+ "type": "string",
171
+ "description": "API description"
172
+ },
173
+ "display_name": {
174
+ "type": "string",
175
+ "description": "Human-readable display name"
176
+ },
177
+ "tags": {
178
+ "type": "array",
179
+ "items": {
180
+ "type": "string"
181
+ },
182
+ "description": "Tags for categorization"
183
+ },
184
+ "is_public": {
185
+ "type": "boolean",
186
+ "description": "Public visibility"
187
+ }
188
+ },
189
+ "required": [
190
+ "api_id"
191
+ ]
192
+ }
193
+ },
194
+ {
195
+ "name": "delete_api",
196
+ "description": "Delete an API and all its routes permanently",
197
+ "method": "DELETE",
198
+ "path": "/apis/%7B%7Bapi_id%7D%7D",
199
+ "input_schema": {
200
+ "type": "object",
201
+ "properties": {
202
+ "api_id": {
203
+ "type": "string",
204
+ "description": "API ID (UUID)"
205
+ }
206
+ },
207
+ "required": [
208
+ "api_id"
209
+ ]
210
+ }
211
+ },
212
+ {
213
+ "name": "generate_openapi",
214
+ "description": "Generate OpenAPI specification for a specific API by ID or prefix",
215
+ "method": "GET",
216
+ "path": "/apis/openapi/spec",
217
+ "input_schema": {
218
+ "type": "object",
219
+ "properties": {
220
+ "api_id": {
221
+ "type": "string",
222
+ "description": "API UUID"
223
+ },
224
+ "api_prefix": {
225
+ "type": "string",
226
+ "description": "API prefix (alternative to api_id)"
227
+ },
228
+ "format": {
229
+ "type": "string",
230
+ "enum": [
231
+ "json",
232
+ "yaml"
233
+ ],
234
+ "default": "json",
235
+ "description": "Output format"
236
+ }
237
+ }
238
+ }
239
+ },
240
+ {
241
+ "name": "generate_openapi_combined",
242
+ "description": "Generate a combined OpenAPI specification for all APIs",
243
+ "method": "GET",
244
+ "path": "/apis/openapi",
245
+ "input_schema": {
246
+ "type": "object",
247
+ "properties": {
248
+ "format": {
249
+ "type": "string",
250
+ "enum": [
251
+ "json",
252
+ "yaml"
253
+ ],
254
+ "default": "json",
255
+ "description": "Output format"
256
+ }
257
+ }
258
+ }
259
+ },
260
+ {
261
+ "name": "create_route",
262
+ "description": "Create a new API route definition with path, method, and function mapping",
263
+ "method": "POST",
264
+ "path": "/routes",
265
+ "input_schema": {
266
+ "type": "object",
267
+ "properties": {
268
+ "api_id": {
269
+ "type": "string",
270
+ "description": "API ID (UUID) - required if api_prefix not provided"
271
+ },
272
+ "api_prefix": {
273
+ "type": "string",
274
+ "description": "API prefix - alternative to api_id"
275
+ },
276
+ "path": {
277
+ "type": "string",
278
+ "description": "Route path (e.g., /users/:id)"
279
+ },
280
+ "method": {
281
+ "type": "string",
282
+ "enum": [
283
+ "GET",
284
+ "POST",
285
+ "PUT",
286
+ "DELETE",
287
+ "PATCH"
288
+ ],
289
+ "description": "HTTP method"
290
+ },
291
+ "function_name": {
292
+ "type": "string",
293
+ "description": "Function to invoke for this route"
294
+ },
295
+ "display_name": {
296
+ "type": "string",
297
+ "description": "Human-readable name"
298
+ },
299
+ "description": {
300
+ "type": "string",
301
+ "description": "Route description"
302
+ },
303
+ "category": {
304
+ "type": "string",
305
+ "description": "Category for grouping"
306
+ },
307
+ "arguments": {
308
+ "type": "object",
309
+ "description": "Input parameter schema"
310
+ },
311
+ "response": {
312
+ "type": "object",
313
+ "description": "Response schema"
314
+ }
315
+ },
316
+ "required": [
317
+ "path",
318
+ "method",
319
+ "function_name"
320
+ ]
321
+ }
322
+ },
323
+ {
324
+ "name": "list_routes",
325
+ "description": "List API routes with filtering by API, category, method, function, deployment status, and pagination",
326
+ "method": "GET",
327
+ "path": "/routes",
328
+ "input_schema": {
329
+ "type": "object",
330
+ "properties": {
331
+ "api_id": {
332
+ "type": "string",
333
+ "description": "Filter by API ID"
334
+ },
335
+ "api_prefix": {
336
+ "type": "string",
337
+ "description": "Filter by API prefix"
338
+ },
339
+ "category": {
340
+ "type": "string",
341
+ "description": "Filter by category"
342
+ },
343
+ "method": {
344
+ "type": "string",
345
+ "enum": [
346
+ "GET",
347
+ "POST",
348
+ "PUT",
349
+ "DELETE",
350
+ "PATCH"
351
+ ],
352
+ "description": "Filter by HTTP method"
353
+ },
354
+ "function_name": {
355
+ "type": "string",
356
+ "description": "Filter by function name (partial match)"
357
+ },
358
+ "is_active": {
359
+ "type": "boolean",
360
+ "description": "Filter by active status"
361
+ },
362
+ "gateway_deployed": {
363
+ "type": "boolean",
364
+ "description": "Filter by deployment status"
365
+ },
366
+ "limit": {
367
+ "type": "integer",
368
+ "description": "Maximum results"
369
+ },
370
+ "offset": {
371
+ "type": "integer",
372
+ "description": "Pagination offset"
373
+ }
374
+ }
375
+ }
376
+ },
377
+ {
378
+ "name": "get_route",
379
+ "description": "Get a single API route by ID",
380
+ "method": "GET",
381
+ "path": "/routes/%7B%7Broute_id%7D%7D",
382
+ "input_schema": {
383
+ "type": "object",
384
+ "properties": {
385
+ "route_id": {
386
+ "type": "string",
387
+ "description": "Route ID (UUID)"
388
+ }
389
+ },
390
+ "required": [
391
+ "route_id"
392
+ ]
393
+ }
394
+ },
395
+ {
396
+ "name": "update_route",
397
+ "description": "Update an existing API route's path, method, function, or metadata",
398
+ "method": "PUT",
399
+ "path": "/routes/%7B%7Broute_id%7D%7D",
400
+ "input_schema": {
401
+ "type": "object",
402
+ "properties": {
403
+ "route_id": {
404
+ "type": "string",
405
+ "description": "Route ID (UUID)"
406
+ },
407
+ "path": {
408
+ "type": "string",
409
+ "description": "Route path"
410
+ },
411
+ "method": {
412
+ "type": "string",
413
+ "enum": [
414
+ "GET",
415
+ "POST",
416
+ "PUT",
417
+ "DELETE",
418
+ "PATCH"
419
+ ],
420
+ "description": "HTTP method"
421
+ },
422
+ "function_name": {
423
+ "type": "string",
424
+ "description": "Function to invoke"
425
+ },
426
+ "display_name": {
427
+ "type": "string",
428
+ "description": "Human-readable name"
429
+ },
430
+ "description": {
431
+ "type": "string",
432
+ "description": "Route description"
433
+ },
434
+ "category": {
435
+ "type": "string",
436
+ "description": "Category for grouping"
437
+ },
438
+ "is_active": {
439
+ "type": "boolean",
440
+ "description": "Active status"
441
+ },
442
+ "deprecated": {
443
+ "type": "boolean",
444
+ "description": "Deprecation status"
445
+ }
446
+ },
447
+ "required": [
448
+ "route_id"
449
+ ]
450
+ }
451
+ },
452
+ {
453
+ "name": "delete_route",
454
+ "description": "Delete an API route permanently",
455
+ "method": "DELETE",
456
+ "path": "/routes/%7B%7Broute_id%7D%7D",
457
+ "input_schema": {
458
+ "type": "object",
459
+ "properties": {
460
+ "route_id": {
461
+ "type": "string",
462
+ "description": "Route ID (UUID)"
463
+ }
464
+ },
465
+ "required": [
466
+ "route_id"
467
+ ]
468
+ }
469
+ },
470
+ {
471
+ "name": "sync_routes",
472
+ "description": "Sync routes from database to the API Gateway - deploy new or updated routes",
473
+ "method": "POST",
474
+ "path": "/routes/sync",
475
+ "input_schema": {
476
+ "type": "object",
477
+ "properties": {
478
+ "api_id": {
479
+ "type": "string",
480
+ "description": "Sync routes for specific API ID"
481
+ },
482
+ "api_prefix": {
483
+ "type": "string",
484
+ "description": "Sync routes for specific API prefix"
485
+ },
486
+ "route_id": {
487
+ "type": "string",
488
+ "description": "Sync single route by ID"
489
+ },
490
+ "force": {
491
+ "type": "boolean",
492
+ "description": "Re-deploy even if already deployed"
493
+ }
494
+ }
495
+ }
496
+ },
497
+ {
498
+ "name": "create_api_key",
499
+ "description": "Create a new API key for authenticating requests to APIs",
500
+ "method": "POST",
501
+ "path": "/api-keys",
502
+ "input_schema": {
503
+ "type": "object",
504
+ "properties": {
505
+ "name": {
506
+ "type": "string",
507
+ "description": "API key name"
508
+ },
509
+ "api_id": {
510
+ "type": "string",
511
+ "description": "API ID this key is scoped to"
512
+ },
513
+ "scopes": {
514
+ "type": "array",
515
+ "items": {
516
+ "type": "string"
517
+ },
518
+ "description": "Permission scopes for this key"
519
+ },
520
+ "expires_at": {
521
+ "type": "string",
522
+ "description": "Expiration date (ISO 8601)"
523
+ },
524
+ "allowed_origins": {
525
+ "type": "array",
526
+ "items": {
527
+ "type": "string"
528
+ },
529
+ "description": "Allowed origins for CORS"
530
+ },
531
+ "allowed_ips": {
532
+ "type": "array",
533
+ "items": {
534
+ "type": "string"
535
+ },
536
+ "description": "Allowed IP addresses"
537
+ }
538
+ },
539
+ "required": [
540
+ "name"
541
+ ]
542
+ }
543
+ },
544
+ {
545
+ "name": "list_api_keys",
546
+ "description": "List API keys with optional filtering",
547
+ "method": "GET",
548
+ "path": "/api-keys",
549
+ "input_schema": {
550
+ "type": "object",
551
+ "properties": {}
552
+ }
553
+ },
554
+ {
555
+ "name": "get_api_key",
556
+ "description": "Get a single API key by ID",
557
+ "method": "GET",
558
+ "path": "/api-keys/%7B%7Bkey_id%7D%7D",
559
+ "input_schema": {
560
+ "type": "object",
561
+ "properties": {
562
+ "key_id": {
563
+ "type": "string",
564
+ "description": "API key ID"
565
+ }
566
+ },
567
+ "required": [
568
+ "key_id"
569
+ ]
570
+ }
571
+ },
572
+ {
573
+ "name": "update_api_key",
574
+ "description": "Update an API key's name, scopes, expiration, or allowed origins/IPs",
575
+ "method": "PUT",
576
+ "path": "/api-keys/%7B%7Bkey_id%7D%7D",
577
+ "input_schema": {
578
+ "type": "object",
579
+ "properties": {
580
+ "key_id": {
581
+ "type": "string",
582
+ "description": "API key ID"
583
+ },
584
+ "name": {
585
+ "type": "string",
586
+ "description": "API key name"
587
+ },
588
+ "scopes": {
589
+ "type": "array",
590
+ "items": {
591
+ "type": "string"
592
+ },
593
+ "description": "Permission scopes"
594
+ },
595
+ "expires_at": {
596
+ "type": "string",
597
+ "description": "Expiration date (ISO 8601)"
598
+ },
599
+ "allowed_origins": {
600
+ "type": "array",
601
+ "items": {
602
+ "type": "string"
603
+ },
604
+ "description": "Allowed origins"
605
+ },
606
+ "allowed_ips": {
607
+ "type": "array",
608
+ "items": {
609
+ "type": "string"
610
+ },
611
+ "description": "Allowed IP addresses"
612
+ },
613
+ "is_active": {
614
+ "type": "boolean",
615
+ "description": "Active status"
616
+ }
617
+ },
618
+ "required": [
619
+ "key_id"
620
+ ]
621
+ }
622
+ },
623
+ {
624
+ "name": "revoke_api_key",
625
+ "description": "Revoke an API key so it can no longer be used for authentication",
626
+ "method": "POST",
627
+ "path": "/api-keys/%7B%7Bkey_id%7D%7D/revoke",
628
+ "input_schema": {
629
+ "type": "object",
630
+ "properties": {
631
+ "key_id": {
632
+ "type": "string",
633
+ "description": "API key ID"
634
+ }
635
+ },
636
+ "required": [
637
+ "key_id"
638
+ ]
639
+ }
640
+ },
641
+ {
642
+ "name": "delete_api_key",
643
+ "description": "Permanently delete an API key (hard delete)",
644
+ "method": "DELETE",
645
+ "path": "/api-keys/%7B%7Bkey_id%7D%7D",
646
+ "input_schema": {
647
+ "type": "object",
648
+ "properties": {
649
+ "key_id": {
650
+ "type": "string",
651
+ "description": "API key ID"
652
+ }
653
+ },
654
+ "required": [
655
+ "key_id"
656
+ ]
657
+ }
658
+ }
659
+ ]
660
+ }