@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,899 @@
1
+ {
2
+ "slug": "omnikit-cms",
3
+ "name": "OmniKit CMS",
4
+ "description": "OmniKit headless CMS with dynamic content types, version control, multi-channel delivery, and advanced editorial workflows",
5
+ "logo": "https://cdn.omnikit.co/cdn/project-10/public/10_1770556267491_eecb0n/603050903_10162713420734412_6016628635295692734_n.jpg",
6
+ "categories": [
7
+ "omnikit",
8
+ "cms",
9
+ "content",
10
+ "headless",
11
+ "api",
12
+ "editorial",
13
+ "publishing",
14
+ "versioning"
15
+ ],
16
+ "base_url": "https://api.omnikit.co",
17
+ "auth": {
18
+ "types": [
19
+ "bearer"
20
+ ],
21
+ "headers": {
22
+ "Authorization": "Bearer {{token}}"
23
+ },
24
+ "credential_fields": [
25
+ {
26
+ "name": "token",
27
+ "label": "API Key"
28
+ }
29
+ ]
30
+ },
31
+ "tools": [
32
+ {
33
+ "name": "create_content_type",
34
+ "description": "Define a new content type with custom fields and validation rules. Requires project_id to scope the type to a project.",
35
+ "method": "POST",
36
+ "path": "/cms/content-types",
37
+ "input_schema": {
38
+ "type": "object",
39
+ "properties": {
40
+ "project_id": {
41
+ "type": "integer",
42
+ "description": "Project ID (required - content types are project-scoped)"
43
+ },
44
+ "name": {
45
+ "type": "string",
46
+ "description": "Content type name"
47
+ },
48
+ "slug": {
49
+ "type": "string",
50
+ "description": "URL-friendly identifier"
51
+ },
52
+ "description": {
53
+ "type": "string",
54
+ "description": "Content type description"
55
+ },
56
+ "icon": {
57
+ "type": "string",
58
+ "description": "Content type icon"
59
+ },
60
+ "is_single": {
61
+ "type": "boolean",
62
+ "default": false,
63
+ "description": "Is this a singleton content type"
64
+ },
65
+ "settings": {
66
+ "type": "object",
67
+ "default": {},
68
+ "description": "Content type settings"
69
+ },
70
+ "fields": {
71
+ "type": "array",
72
+ "default": [],
73
+ "description": "Content type fields"
74
+ },
75
+ "created_by": {
76
+ "type": "integer",
77
+ "description": "Creator user ID"
78
+ }
79
+ },
80
+ "required": [
81
+ "project_id",
82
+ "name",
83
+ "slug"
84
+ ]
85
+ }
86
+ },
87
+ {
88
+ "name": "list_content_types",
89
+ "description": "Retrieve all content types for a project with their field definitions. Requires project_id.",
90
+ "method": "GET",
91
+ "path": "/cms/content-types",
92
+ "input_schema": {
93
+ "type": "object",
94
+ "properties": {
95
+ "project_id": {
96
+ "type": "integer",
97
+ "description": "Project ID (required - content types are project-scoped)"
98
+ },
99
+ "limit": {
100
+ "type": "integer",
101
+ "default": 50,
102
+ "description": "Number of records to return"
103
+ },
104
+ "offset": {
105
+ "type": "integer",
106
+ "default": 0,
107
+ "description": "Pagination offset"
108
+ }
109
+ },
110
+ "required": [
111
+ "project_id"
112
+ ]
113
+ }
114
+ },
115
+ {
116
+ "name": "create_content_entry",
117
+ "description": "Create a new content entry of a specific type. Requires project_id.",
118
+ "method": "POST",
119
+ "path": "/cms/content/%7B%7Bcontent_type_slug%7D%7D",
120
+ "input_schema": {
121
+ "type": "object",
122
+ "properties": {
123
+ "project_id": {
124
+ "type": "integer",
125
+ "description": "Project ID (required)"
126
+ },
127
+ "content_type_slug": {
128
+ "type": "string",
129
+ "description": "Content type slug (used in URL path)"
130
+ },
131
+ "slug": {
132
+ "type": "string",
133
+ "description": "Entry URL slug"
134
+ },
135
+ "data": {
136
+ "type": "object",
137
+ "description": "Content data matching the content type fields"
138
+ },
139
+ "meta": {
140
+ "type": "object",
141
+ "default": {},
142
+ "description": "Content metadata"
143
+ },
144
+ "status": {
145
+ "type": "string",
146
+ "enum": [
147
+ "draft",
148
+ "published",
149
+ "archived"
150
+ ],
151
+ "default": "draft",
152
+ "description": "Publication status"
153
+ },
154
+ "created_by": {
155
+ "type": "integer",
156
+ "description": "Creator user ID"
157
+ }
158
+ },
159
+ "required": [
160
+ "project_id",
161
+ "content_type_slug",
162
+ "slug",
163
+ "data"
164
+ ]
165
+ }
166
+ },
167
+ {
168
+ "name": "list_content_entries",
169
+ "description": "Retrieve content entries for a specific content type with filtering and pagination. Requires project_id and content_type_slug.",
170
+ "method": "GET",
171
+ "path": "/cms/content/%7B%7Bcontent_type_slug%7D%7D",
172
+ "input_schema": {
173
+ "type": "object",
174
+ "properties": {
175
+ "project_id": {
176
+ "type": "integer",
177
+ "description": "Project ID (required)"
178
+ },
179
+ "content_type_slug": {
180
+ "type": "string",
181
+ "description": "Content type slug (used in URL path)"
182
+ },
183
+ "status": {
184
+ "type": "string",
185
+ "description": "Filter by status"
186
+ },
187
+ "limit": {
188
+ "type": "integer",
189
+ "default": 20,
190
+ "description": "Number of entries to return"
191
+ },
192
+ "offset": {
193
+ "type": "integer",
194
+ "default": 0,
195
+ "description": "Pagination offset"
196
+ },
197
+ "sort": {
198
+ "type": "string",
199
+ "default": "created_at:desc",
200
+ "description": "Sort field and order (e.g. 'created_at:desc')"
201
+ }
202
+ },
203
+ "required": [
204
+ "project_id",
205
+ "content_type_slug"
206
+ ]
207
+ }
208
+ },
209
+ {
210
+ "name": "get_content_entry",
211
+ "description": "Retrieve a specific content entry by ID or slug",
212
+ "method": "GET",
213
+ "path": "/cms/entries/%7B%7Bid%7D%7D",
214
+ "input_schema": {
215
+ "type": "object",
216
+ "properties": {
217
+ "id": {
218
+ "type": "integer",
219
+ "description": "Entry ID"
220
+ },
221
+ "slug": {
222
+ "type": "string",
223
+ "description": "Entry slug (alternative to ID)"
224
+ },
225
+ "content_type_id": {
226
+ "type": "integer",
227
+ "description": "Content type ID (for slug lookup)"
228
+ },
229
+ "content_type_slug": {
230
+ "type": "string",
231
+ "description": "Content type slug (for slug lookup)"
232
+ },
233
+ "include_versions": {
234
+ "type": "boolean",
235
+ "default": false,
236
+ "description": "Include version history"
237
+ }
238
+ }
239
+ }
240
+ },
241
+ {
242
+ "name": "update_content_entry",
243
+ "description": "Update an existing content entry",
244
+ "method": "PUT",
245
+ "path": "/cms/entries/%7B%7Bid%7D%7D",
246
+ "input_schema": {
247
+ "type": "object",
248
+ "properties": {
249
+ "id": {
250
+ "type": "integer",
251
+ "description": "Entry ID to update"
252
+ },
253
+ "data": {
254
+ "type": "object",
255
+ "description": "Updated content data"
256
+ },
257
+ "meta": {
258
+ "type": "object",
259
+ "description": "Updated metadata"
260
+ },
261
+ "status": {
262
+ "type": "string",
263
+ "description": "New status"
264
+ },
265
+ "updated_by": {
266
+ "type": "integer",
267
+ "description": "User ID performing the update"
268
+ },
269
+ "change_description": {
270
+ "type": "string",
271
+ "default": "Content updated",
272
+ "description": "Description of changes"
273
+ }
274
+ },
275
+ "required": [
276
+ "id"
277
+ ]
278
+ }
279
+ },
280
+ {
281
+ "name": "publish_content_entry",
282
+ "description": "Publish a content entry making it live",
283
+ "method": "POST",
284
+ "path": "/cms/entries/%7B%7Bid%7D%7D/publish",
285
+ "input_schema": {
286
+ "type": "object",
287
+ "properties": {
288
+ "id": {
289
+ "type": "integer",
290
+ "description": "Entry ID to publish"
291
+ },
292
+ "updated_by": {
293
+ "type": "integer",
294
+ "description": "User ID performing the publish"
295
+ }
296
+ },
297
+ "required": [
298
+ "id"
299
+ ]
300
+ }
301
+ },
302
+ {
303
+ "name": "delete_content_entry",
304
+ "description": "Delete a content entry and all its versions (cannot be undone)",
305
+ "method": "DELETE",
306
+ "path": "/cms/entries/%7B%7Bid%7D%7D",
307
+ "input_schema": {
308
+ "type": "object",
309
+ "properties": {
310
+ "id": {
311
+ "type": "integer",
312
+ "description": "Entry ID to delete (required)"
313
+ },
314
+ "deleted_by": {
315
+ "type": "integer",
316
+ "description": "User ID performing the deletion"
317
+ }
318
+ },
319
+ "required": [
320
+ "id"
321
+ ]
322
+ }
323
+ },
324
+ {
325
+ "name": "delete_content_type",
326
+ "description": "Delete a content type and all associated entries (cannot be undone)",
327
+ "method": "DELETE",
328
+ "path": "/cms/content-types/%7B%7Bid%7D%7D",
329
+ "input_schema": {
330
+ "type": "object",
331
+ "properties": {
332
+ "id": {
333
+ "type": "integer",
334
+ "description": "Content type ID to delete (required)"
335
+ },
336
+ "deleted_by": {
337
+ "type": "integer",
338
+ "description": "User ID performing the deletion"
339
+ },
340
+ "confirm": {
341
+ "type": "boolean",
342
+ "description": "Confirmation flag (must be true to delete)"
343
+ }
344
+ },
345
+ "required": [
346
+ "id",
347
+ "confirm"
348
+ ]
349
+ }
350
+ },
351
+ {
352
+ "name": "preview_content_entry",
353
+ "description": "Generate preview URL for unpublished content",
354
+ "method": "GET",
355
+ "path": "/cms/preview/%7B%7Bcontent_type_slug%7D%7D/%7B%7Bid%7D%7D",
356
+ "input_schema": {
357
+ "type": "object",
358
+ "properties": {
359
+ "id": {
360
+ "type": "integer",
361
+ "description": "Entry ID to preview"
362
+ },
363
+ "content_type_slug": {
364
+ "type": "string",
365
+ "description": "Content type slug"
366
+ },
367
+ "version": {
368
+ "type": "integer",
369
+ "description": "Specific version to preview"
370
+ },
371
+ "template": {
372
+ "type": "string",
373
+ "default": "default",
374
+ "description": "Preview template to use"
375
+ }
376
+ },
377
+ "required": [
378
+ "id"
379
+ ]
380
+ }
381
+ },
382
+ {
383
+ "name": "search_content",
384
+ "description": "Full-text search across all content with advanced filtering. Requires project_id and a search query.",
385
+ "method": "GET",
386
+ "path": "/cms/search",
387
+ "input_schema": {
388
+ "type": "object",
389
+ "properties": {
390
+ "project_id": {
391
+ "type": "integer",
392
+ "description": "Project ID (required)"
393
+ },
394
+ "query": {
395
+ "type": "string",
396
+ "description": "Search query (required - what to search for)"
397
+ },
398
+ "content_type_id": {
399
+ "type": "integer",
400
+ "description": "Filter by content type ID"
401
+ },
402
+ "content_type_slug": {
403
+ "type": "string",
404
+ "description": "Filter by content type slug"
405
+ },
406
+ "status": {
407
+ "type": "string",
408
+ "default": "published",
409
+ "description": "Filter by content status"
410
+ },
411
+ "limit": {
412
+ "type": "integer",
413
+ "default": 20,
414
+ "description": "Number of results to return"
415
+ },
416
+ "offset": {
417
+ "type": "integer",
418
+ "default": 0,
419
+ "description": "Pagination offset"
420
+ }
421
+ },
422
+ "required": [
423
+ "project_id",
424
+ "query"
425
+ ]
426
+ }
427
+ },
428
+ {
429
+ "name": "get_delivery_content",
430
+ "description": "Retrieve published content optimized for API delivery. Requires project_id.",
431
+ "method": "GET",
432
+ "path": "/cms/delivery/%7B%7Bcontent_type_slug%7D%7D",
433
+ "input_schema": {
434
+ "type": "object",
435
+ "properties": {
436
+ "project_id": {
437
+ "type": "integer",
438
+ "description": "Project ID (required)"
439
+ },
440
+ "content_type_slug": {
441
+ "type": "string",
442
+ "description": "Content type slug (required)"
443
+ },
444
+ "limit": {
445
+ "type": "integer",
446
+ "default": 20,
447
+ "description": "Number of entries to return"
448
+ },
449
+ "offset": {
450
+ "type": "integer",
451
+ "default": 0,
452
+ "description": "Pagination offset"
453
+ },
454
+ "sort_by": {
455
+ "type": "string",
456
+ "default": "published_at",
457
+ "description": "Sort field"
458
+ },
459
+ "sort_order": {
460
+ "type": "string",
461
+ "default": "desc",
462
+ "description": "Sort order"
463
+ },
464
+ "tags": {
465
+ "type": "array",
466
+ "items": {
467
+ "type": "string"
468
+ },
469
+ "description": "Filter by tags"
470
+ }
471
+ },
472
+ "required": [
473
+ "project_id",
474
+ "content_type_slug"
475
+ ]
476
+ }
477
+ },
478
+ {
479
+ "name": "get_content_type",
480
+ "description": "Get a specific content type by ID or slug with its field definitions. project_id is required when looking up by slug.",
481
+ "method": "GET",
482
+ "path": "/cms/content-types/%7B%7Bidentifier%7D%7D",
483
+ "input_schema": {
484
+ "type": "object",
485
+ "properties": {
486
+ "identifier": {
487
+ "type": "string",
488
+ "description": "Content type ID (UUID) or slug"
489
+ },
490
+ "project_id": {
491
+ "type": "integer",
492
+ "description": "Project ID (required when looking up by slug)"
493
+ }
494
+ },
495
+ "required": [
496
+ "identifier"
497
+ ]
498
+ }
499
+ },
500
+ {
501
+ "name": "update_content_type",
502
+ "description": "Update an existing content type's name, description, icon, or settings",
503
+ "method": "PUT",
504
+ "path": "/cms/content-types/%7B%7Bid%7D%7D",
505
+ "input_schema": {
506
+ "type": "object",
507
+ "properties": {
508
+ "id": {
509
+ "type": "integer",
510
+ "description": "Content type ID to update"
511
+ },
512
+ "name": {
513
+ "type": "string",
514
+ "description": "Updated content type name"
515
+ },
516
+ "description": {
517
+ "type": "string",
518
+ "description": "Updated description"
519
+ },
520
+ "icon": {
521
+ "type": "string",
522
+ "description": "Updated icon identifier"
523
+ },
524
+ "is_single": {
525
+ "type": "boolean",
526
+ "description": "Whether this content type allows only one entry"
527
+ },
528
+ "settings": {
529
+ "type": "object",
530
+ "description": "Updated settings"
531
+ }
532
+ },
533
+ "required": [
534
+ "id"
535
+ ]
536
+ }
537
+ },
538
+ {
539
+ "name": "get_content_entry_by_slug",
540
+ "description": "Retrieve a content entry by content type and entry slug. Requires project_id.",
541
+ "method": "GET",
542
+ "path": "/cms/content/%7B%7Bcontent_type_slug%7D%7D/by-slug/%7B%7Bslug%7D%7D",
543
+ "input_schema": {
544
+ "type": "object",
545
+ "properties": {
546
+ "project_id": {
547
+ "type": "integer",
548
+ "description": "Project ID (required)"
549
+ },
550
+ "content_type_slug": {
551
+ "type": "string",
552
+ "description": "Content type slug"
553
+ },
554
+ "slug": {
555
+ "type": "string",
556
+ "description": "Content entry slug"
557
+ },
558
+ "include_versions": {
559
+ "type": "boolean",
560
+ "default": false,
561
+ "description": "Include version history"
562
+ }
563
+ },
564
+ "required": [
565
+ "project_id",
566
+ "content_type_slug",
567
+ "slug"
568
+ ]
569
+ }
570
+ },
571
+ {
572
+ "name": "unpublish_content_entry",
573
+ "description": "Unpublish a content entry (revert to draft status)",
574
+ "method": "POST",
575
+ "path": "/cms/entries/%7B%7Bid%7D%7D/unpublish",
576
+ "input_schema": {
577
+ "type": "object",
578
+ "properties": {
579
+ "id": {
580
+ "type": "integer",
581
+ "description": "Entry ID to unpublish"
582
+ },
583
+ "updated_by": {
584
+ "type": "integer",
585
+ "description": "User ID performing the unpublish"
586
+ }
587
+ },
588
+ "required": [
589
+ "id"
590
+ ]
591
+ }
592
+ },
593
+ {
594
+ "name": "create_content_field",
595
+ "description": "Add a new field to a content type (text, number, image, select, etc.)",
596
+ "method": "POST",
597
+ "path": "/cms/content-types/%7B%7Bcontent_type_id%7D%7D/fields",
598
+ "input_schema": {
599
+ "type": "object",
600
+ "properties": {
601
+ "content_type_id": {
602
+ "type": "integer",
603
+ "description": "Content type ID to add the field to"
604
+ },
605
+ "name": {
606
+ "type": "string",
607
+ "description": "Field name (used in data storage)"
608
+ },
609
+ "field_type": {
610
+ "type": "string",
611
+ "enum": [
612
+ "text",
613
+ "textarea",
614
+ "rich_text",
615
+ "markdown",
616
+ "number",
617
+ "boolean",
618
+ "date",
619
+ "datetime",
620
+ "email",
621
+ "url",
622
+ "select",
623
+ "multiselect",
624
+ "image",
625
+ "file",
626
+ "gallery",
627
+ "json",
628
+ "slug"
629
+ ],
630
+ "description": "Type of field"
631
+ },
632
+ "label": {
633
+ "type": "string",
634
+ "description": "Human-readable label for the field"
635
+ },
636
+ "required": {
637
+ "type": "boolean",
638
+ "default": false,
639
+ "description": "Whether this field is required"
640
+ },
641
+ "options": {
642
+ "type": "object",
643
+ "default": {},
644
+ "description": "Field-specific options and configuration"
645
+ },
646
+ "order_index": {
647
+ "type": "number",
648
+ "description": "Order position of the field"
649
+ },
650
+ "help_text": {
651
+ "type": "string",
652
+ "description": "Help text for the field"
653
+ }
654
+ },
655
+ "required": [
656
+ "content_type_id",
657
+ "name",
658
+ "field_type",
659
+ "label"
660
+ ]
661
+ }
662
+ },
663
+ {
664
+ "name": "update_content_field",
665
+ "description": "Update an existing content field's label, options, or requirements",
666
+ "method": "PUT",
667
+ "path": "/cms/content-fields/%7B%7Bid%7D%7D",
668
+ "input_schema": {
669
+ "type": "object",
670
+ "properties": {
671
+ "id": {
672
+ "type": "integer",
673
+ "description": "Content field ID to update"
674
+ },
675
+ "label": {
676
+ "type": "string",
677
+ "description": "Updated human-readable label"
678
+ },
679
+ "required": {
680
+ "type": "boolean",
681
+ "description": "Whether this field is required"
682
+ },
683
+ "options": {
684
+ "type": "object",
685
+ "description": "Updated field-specific options"
686
+ },
687
+ "order_index": {
688
+ "type": "number",
689
+ "description": "Updated order position"
690
+ },
691
+ "help_text": {
692
+ "type": "string",
693
+ "description": "Updated help text"
694
+ }
695
+ },
696
+ "required": [
697
+ "id"
698
+ ]
699
+ }
700
+ },
701
+ {
702
+ "name": "delete_content_field",
703
+ "description": "Delete a content field from a content type",
704
+ "method": "DELETE",
705
+ "path": "/cms/content-fields/%7B%7Bid%7D%7D",
706
+ "input_schema": {
707
+ "type": "object",
708
+ "properties": {
709
+ "id": {
710
+ "type": "integer",
711
+ "description": "Content field ID to delete"
712
+ }
713
+ },
714
+ "required": [
715
+ "id"
716
+ ]
717
+ }
718
+ },
719
+ {
720
+ "name": "reorder_content_fields",
721
+ "description": "Reorder the fields of a content type",
722
+ "method": "POST",
723
+ "path": "/cms/content-types/%7B%7Bcontent_type_id%7D%7D/fields/reorder",
724
+ "input_schema": {
725
+ "type": "object",
726
+ "properties": {
727
+ "content_type_id": {
728
+ "type": "integer",
729
+ "description": "Content type ID"
730
+ },
731
+ "field_orders": {
732
+ "type": "array",
733
+ "description": "Array of field ID and new order index pairs",
734
+ "items": {
735
+ "type": "object",
736
+ "properties": {
737
+ "id": {
738
+ "type": "integer",
739
+ "description": "Field ID"
740
+ },
741
+ "order_index": {
742
+ "type": "number",
743
+ "description": "New order index"
744
+ }
745
+ }
746
+ }
747
+ }
748
+ },
749
+ "required": [
750
+ "content_type_id",
751
+ "field_orders"
752
+ ]
753
+ }
754
+ },
755
+ {
756
+ "name": "get_delivery_content_by_slug",
757
+ "description": "Retrieve a single published content entry by slug, optimized for API delivery. Requires project_id.",
758
+ "method": "GET",
759
+ "path": "/cms/delivery/%7B%7Bcontent_type_slug%7D%7D/%7B%7Bslug%7D%7D",
760
+ "input_schema": {
761
+ "type": "object",
762
+ "properties": {
763
+ "project_id": {
764
+ "type": "integer",
765
+ "description": "Project ID (required)"
766
+ },
767
+ "content_type_slug": {
768
+ "type": "string",
769
+ "description": "Content type slug"
770
+ },
771
+ "slug": {
772
+ "type": "string",
773
+ "description": "Content entry slug"
774
+ }
775
+ },
776
+ "required": [
777
+ "project_id",
778
+ "content_type_slug",
779
+ "slug"
780
+ ]
781
+ }
782
+ },
783
+ {
784
+ "name": "list_content_versions",
785
+ "description": "List all versions of a content entry with pagination",
786
+ "method": "GET",
787
+ "path": "/cms/entries/%7B%7Bcontent_entry_id%7D%7D/versions",
788
+ "input_schema": {
789
+ "type": "object",
790
+ "properties": {
791
+ "content_entry_id": {
792
+ "type": "integer",
793
+ "description": "Content entry ID"
794
+ },
795
+ "limit": {
796
+ "type": "integer",
797
+ "default": 50,
798
+ "description": "Number of versions to return"
799
+ },
800
+ "offset": {
801
+ "type": "integer",
802
+ "default": 0,
803
+ "description": "Pagination offset"
804
+ },
805
+ "sort": {
806
+ "type": "string",
807
+ "default": "version_number:desc",
808
+ "description": "Sort order"
809
+ }
810
+ },
811
+ "required": [
812
+ "content_entry_id"
813
+ ]
814
+ }
815
+ },
816
+ {
817
+ "name": "get_content_version",
818
+ "description": "Get a specific content version by version ID",
819
+ "method": "GET",
820
+ "path": "/cms/versions/%7B%7Bversion_id%7D%7D",
821
+ "input_schema": {
822
+ "type": "object",
823
+ "properties": {
824
+ "version_id": {
825
+ "type": "integer",
826
+ "description": "Content version ID"
827
+ }
828
+ },
829
+ "required": [
830
+ "version_id"
831
+ ]
832
+ }
833
+ },
834
+ {
835
+ "name": "get_content_version_by_number",
836
+ "description": "Get a specific version of a content entry by version number",
837
+ "method": "GET",
838
+ "path": "/cms/entries/%7B%7Bcontent_entry_id%7D%7D/versions/%7B%7Bversion_number%7D%7D",
839
+ "input_schema": {
840
+ "type": "object",
841
+ "properties": {
842
+ "content_entry_id": {
843
+ "type": "integer",
844
+ "description": "Content entry ID"
845
+ },
846
+ "version_number": {
847
+ "type": "integer",
848
+ "description": "Version number to retrieve"
849
+ }
850
+ },
851
+ "required": [
852
+ "content_entry_id",
853
+ "version_number"
854
+ ]
855
+ }
856
+ },
857
+ {
858
+ "name": "restore_content_version",
859
+ "description": "Restore a content entry to a previous version by version ID",
860
+ "method": "POST",
861
+ "path": "/cms/versions/%7B%7Bversion_id%7D%7D/restore",
862
+ "input_schema": {
863
+ "type": "object",
864
+ "properties": {
865
+ "version_id": {
866
+ "type": "integer",
867
+ "description": "Version ID to restore to"
868
+ }
869
+ },
870
+ "required": [
871
+ "version_id"
872
+ ]
873
+ }
874
+ },
875
+ {
876
+ "name": "restore_content_version_by_number",
877
+ "description": "Restore a content entry to a previous version by entry ID and version number",
878
+ "method": "POST",
879
+ "path": "/cms/entries/%7B%7Bcontent_entry_id%7D%7D/versions/%7B%7Bversion_number%7D%7D/restore",
880
+ "input_schema": {
881
+ "type": "object",
882
+ "properties": {
883
+ "content_entry_id": {
884
+ "type": "integer",
885
+ "description": "Content entry ID"
886
+ },
887
+ "version_number": {
888
+ "type": "integer",
889
+ "description": "Version number to restore to"
890
+ }
891
+ },
892
+ "required": [
893
+ "content_entry_id",
894
+ "version_number"
895
+ ]
896
+ }
897
+ }
898
+ ]
899
+ }