@apteva/integrations 0.15.9 → 0.15.11

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 (60) hide show
  1. package/dist/http-executor.d.ts.map +1 -1
  2. package/dist/http-executor.js +62 -8
  3. package/dist/http-executor.js.map +1 -1
  4. package/dist/mcp-generator.js +24 -0
  5. package/dist/mcp-generator.js.map +1 -1
  6. package/dist/types.d.ts +4 -0
  7. package/dist/types.d.ts.map +1 -1
  8. package/package.json +1 -1
  9. package/src/apps/anthropic-admin.json +183 -0
  10. package/src/apps/apify.json +168 -0
  11. package/src/apps/aws-ses.json +1 -1
  12. package/src/apps/bookvault.json +309 -0
  13. package/src/apps/braintree.json +53 -0
  14. package/src/apps/brightdata.json +22 -1
  15. package/src/apps/browse-ai.json +243 -5
  16. package/src/apps/browserbase.json +41 -11
  17. package/src/apps/browserless.json +101 -0
  18. package/src/apps/bunny-stream.json +50 -28
  19. package/src/apps/ccbill.json +142 -0
  20. package/src/apps/close.json +238 -301
  21. package/src/apps/craftcloud.json +251 -202
  22. package/src/apps/dataforseo.json +1700 -2
  23. package/src/apps/deepgram.json +288 -1
  24. package/src/apps/digitalocean.json +53 -0
  25. package/src/apps/elevenlabs.json +292 -0
  26. package/src/apps/firecrawl.json +111 -0
  27. package/src/apps/gladia.json +158 -0
  28. package/src/apps/gmail.json +2 -5
  29. package/src/apps/gumroad.json +569 -0
  30. package/src/apps/imaterialise.json +171 -262
  31. package/src/apps/ingram-coresource.json +119 -0
  32. package/src/apps/jlcpcb.json +43 -0
  33. package/src/apps/jungle-scout.json +166 -0
  34. package/src/apps/ko-fi.json +34 -0
  35. package/src/apps/lemon-squeezy.json +270 -0
  36. package/src/apps/lulu-print.json +266 -0
  37. package/src/apps/mollie.json +219 -0
  38. package/src/apps/paddle.json +199 -9
  39. package/src/apps/payhip.json +162 -0
  40. package/src/apps/paystack.json +207 -0
  41. package/src/apps/pipedrive.json +221 -212
  42. package/src/apps/publishdrive.json +132 -0
  43. package/src/apps/razorpay.json +207 -0
  44. package/src/apps/ringover.json +69 -0
  45. package/src/apps/runpod.json +727 -0
  46. package/src/apps/salesforce-crm.json +192 -233
  47. package/src/apps/sculpteo.json +98 -180
  48. package/src/apps/segpay.json +215 -0
  49. package/src/apps/shapeways.json +114 -136
  50. package/src/apps/slant3d.json +260 -168
  51. package/src/apps/soniox.json +194 -0
  52. package/src/apps/speechmatics.json +167 -0
  53. package/src/apps/streetlib.json +60 -0
  54. package/src/apps/stripe.json +1 -0
  55. package/src/apps/surfer.json +511 -0
  56. package/src/apps/twitter-api.json +14 -1
  57. package/src/apps/verotel.json +124 -0
  58. package/src/apps/whop.json +364 -0
  59. package/src/apps/zendesk-sell.json +248 -0
  60. package/src/apps/zendesk.json +190 -259
@@ -0,0 +1,569 @@
1
+ {
2
+ "slug": "gumroad",
3
+ "name": "Gumroad",
4
+ "description": "Gumroad creator-commerce API for products, files, variants, offer codes, emails, customers, sales, subscribers, licenses, payouts, tax forms, earnings, and resource subscriptions.",
5
+ "logo": "https://www.google.com/s2/favicons?domain=gumroad.com&sz=128",
6
+ "categories": ["commerce", "creator-economy", "digital-products", "payments", "gumroad"],
7
+ "base_url": "https://api.gumroad.com/v2",
8
+ "auth": {
9
+ "types": ["bearer"],
10
+ "headers": {
11
+ "Authorization": "Bearer {{token}}"
12
+ },
13
+ "credential_fields": [
14
+ {
15
+ "name": "token",
16
+ "label": "Access Token",
17
+ "type": "password",
18
+ "description": "Gumroad API access token generated from your Gumroad OAuth application page."
19
+ }
20
+ ]
21
+ },
22
+ "health_check": {
23
+ "tool": "get_user"
24
+ },
25
+ "tools": [
26
+ {
27
+ "name": "get_user",
28
+ "description": "Retrieve the authenticated Gumroad user.",
29
+ "method": "GET",
30
+ "path": "/user",
31
+ "input_schema": {"type": "object", "properties": {}}
32
+ },
33
+ {
34
+ "name": "list_products",
35
+ "description": "List products for the authenticated seller. Requires view_profile, edit_products, or account scope depending on fields requested by Gumroad.",
36
+ "method": "GET",
37
+ "path": "/products",
38
+ "input_schema": {"type": "object", "properties": {}}
39
+ },
40
+ {
41
+ "name": "get_product",
42
+ "description": "Get one product by Gumroad product ID or permalink. Includes detailed fields such as files, variants, rich content, and custom HTML when authorized.",
43
+ "method": "GET",
44
+ "path": "/products/{productId}",
45
+ "path_params": ["productId"],
46
+ "input_schema": {"type": "object", "properties": {"productId": {"type": "string"}}, "required": ["productId"]}
47
+ },
48
+ {
49
+ "name": "create_product",
50
+ "description": "Create a digital product. Common fields include name, price, description, custom_permalink, custom_summary, currency, require_shipping, customizable_price, published, max_purchase_count, and custom fields accepted by Gumroad. For audio/file products, create the product first, then use presign_file_upload -> upload bytes to the returned signed upload target outside this auth call if required by Gumroad's storage response -> complete_file_upload.",
51
+ "method": "POST",
52
+ "path": "/products",
53
+ "input_schema": {"type": "object", "properties": {"name": {"type": "string"}, "price": {"type": "number", "description": "Price in cents."}, "description": {"type": "string"}, "custom_permalink": {"type": "string"}, "custom_summary": {"type": "string"}, "currency": {"type": "string"}, "require_shipping": {"type": "boolean"}, "customizable_price": {"type": "boolean"}, "published": {"type": "boolean"}, "max_purchase_count": {"type": "number"}}, "required": ["name", "price"]}
54
+ },
55
+ {
56
+ "name": "update_product",
57
+ "description": "Update a product. Include any Gumroad product fields accepted by PUT /products/:id, such as name, price, description, custom_html, custom_summary, custom_permalink, published, or max_purchase_count.",
58
+ "method": "PUT",
59
+ "path": "/products/{productId}",
60
+ "path_params": ["productId"],
61
+ "input_schema": {"type": "object", "properties": {"productId": {"type": "string"}, "name": {"type": "string"}, "price": {"type": "number"}, "description": {"type": "string"}, "custom_html": {"type": "string"}, "custom_summary": {"type": "string"}, "custom_permalink": {"type": "string"}, "published": {"type": "boolean"}, "max_purchase_count": {"type": "number"}}, "required": ["productId"]}
62
+ },
63
+ {
64
+ "name": "delete_product",
65
+ "description": "Delete a product.",
66
+ "method": "DELETE",
67
+ "path": "/products/{productId}",
68
+ "path_params": ["productId"],
69
+ "input_schema": {"type": "object", "properties": {"productId": {"type": "string"}}, "required": ["productId"]}
70
+ },
71
+ {
72
+ "name": "enable_product",
73
+ "description": "Enable a product.",
74
+ "method": "PUT",
75
+ "path": "/products/{productId}/enable",
76
+ "path_params": ["productId"],
77
+ "input_schema": {"type": "object", "properties": {"productId": {"type": "string"}}, "required": ["productId"]}
78
+ },
79
+ {
80
+ "name": "disable_product",
81
+ "description": "Disable a product.",
82
+ "method": "PUT",
83
+ "path": "/products/{productId}/disable",
84
+ "path_params": ["productId"],
85
+ "input_schema": {"type": "object", "properties": {"productId": {"type": "string"}}, "required": ["productId"]}
86
+ },
87
+ {
88
+ "name": "get_public_product_page",
89
+ "description": "Retrieve public product page JSON by permalink.",
90
+ "method": "GET",
91
+ "path": "/l/{permalink}.json",
92
+ "path_params": ["permalink"],
93
+ "input_schema": {"type": "object", "properties": {"permalink": {"type": "string"}}, "required": ["permalink"]}
94
+ },
95
+ {
96
+ "name": "get_public_profile",
97
+ "description": "Retrieve public profile JSON by Gumroad username.",
98
+ "method": "GET",
99
+ "path": "/{username}.json",
100
+ "path_params": ["username"],
101
+ "input_schema": {"type": "object", "properties": {"username": {"type": "string"}}, "required": ["username"]}
102
+ },
103
+ {
104
+ "name": "list_categories",
105
+ "description": "List Gumroad product categories.",
106
+ "method": "GET",
107
+ "path": "/categories",
108
+ "input_schema": {"type": "object", "properties": {}}
109
+ },
110
+ {
111
+ "name": "get_refund_policy",
112
+ "description": "Get the authenticated seller's refund policy.",
113
+ "method": "GET",
114
+ "path": "/refund_policy",
115
+ "input_schema": {"type": "object", "properties": {}}
116
+ },
117
+ {
118
+ "name": "update_refund_policy",
119
+ "description": "Update the authenticated seller's refund policy.",
120
+ "method": "PUT",
121
+ "path": "/refund_policy",
122
+ "input_schema": {"type": "object", "properties": {"title": {"type": "string"}, "fine_print": {"type": "string"}, "max_refund_period_in_days": {"type": "number"}}}
123
+ },
124
+ {
125
+ "name": "presign_file_upload",
126
+ "description": "Create a signed upload target for a product file such as an MP3/WAV/ZIP. Use this before uploading file bytes to Gumroad's storage flow. The response may contain provider-specific signed upload fields/URL; upload bytes to that target exactly as returned, then call complete_file_upload with the signed_blob_id. This integration tool does not invent a direct upload endpoint.",
127
+ "method": "POST",
128
+ "path": "/files/presign",
129
+ "input_schema": {"type": "object", "properties": {"name": {"type": "string"}, "size": {"type": "number"}, "type": {"type": "string"}, "product_id": {"type": "string"}}, "required": ["name"]}
130
+ },
131
+ {
132
+ "name": "complete_file_upload",
133
+ "description": "Complete and attach a file upload after the signed upload step. For audio products, call this after the MP3/WAV/etc. bytes have been uploaded to the signed target returned by presign_file_upload.",
134
+ "method": "POST",
135
+ "path": "/files/complete",
136
+ "input_schema": {"type": "object", "properties": {"signed_blob_id": {"type": "string"}, "product_id": {"type": "string"}, "name": {"type": "string"}}, "required": ["signed_blob_id"]}
137
+ },
138
+ {
139
+ "name": "abort_file_upload",
140
+ "description": "Abort a pending file upload.",
141
+ "method": "POST",
142
+ "path": "/files/abort",
143
+ "input_schema": {"type": "object", "properties": {"signed_blob_id": {"type": "string"}}, "required": ["signed_blob_id"]}
144
+ },
145
+ {
146
+ "name": "add_cover",
147
+ "description": "Add a cover to a product from a publicly accessible image, video, YouTube, or Vimeo URL.",
148
+ "method": "POST",
149
+ "path": "/products/{productId}/covers",
150
+ "path_params": ["productId"],
151
+ "input_schema": {"type": "object", "properties": {"productId": {"type": "string"}, "url": {"type": "string"}}, "required": ["productId", "url"]}
152
+ },
153
+ {
154
+ "name": "delete_cover",
155
+ "description": "Delete a cover from a product.",
156
+ "method": "DELETE",
157
+ "path": "/products/{productId}/covers/{coverId}",
158
+ "path_params": ["productId", "coverId"],
159
+ "input_schema": {"type": "object", "properties": {"productId": {"type": "string"}, "coverId": {"type": "string"}}, "required": ["productId", "coverId"]}
160
+ },
161
+ {
162
+ "name": "set_thumbnail",
163
+ "description": "Set a product thumbnail from a signed upload or publicly accessible image URL.",
164
+ "method": "POST",
165
+ "path": "/products/{productId}/thumbnail",
166
+ "path_params": ["productId"],
167
+ "input_schema": {"type": "object", "properties": {"productId": {"type": "string"}, "signed_blob_id": {"type": "string"}, "url": {"type": "string"}}, "required": ["productId"]}
168
+ },
169
+ {
170
+ "name": "delete_thumbnail",
171
+ "description": "Delete a product thumbnail.",
172
+ "method": "DELETE",
173
+ "path": "/products/{productId}/thumbnail",
174
+ "path_params": ["productId"],
175
+ "input_schema": {"type": "object", "properties": {"productId": {"type": "string"}}, "required": ["productId"]}
176
+ },
177
+ {
178
+ "name": "list_variant_categories",
179
+ "description": "List variant categories for a product.",
180
+ "method": "GET",
181
+ "path": "/products/{productId}/variant_categories",
182
+ "path_params": ["productId"],
183
+ "input_schema": {"type": "object", "properties": {"productId": {"type": "string"}}, "required": ["productId"]}
184
+ },
185
+ {
186
+ "name": "get_variant_category",
187
+ "description": "Get one variant category for a product.",
188
+ "method": "GET",
189
+ "path": "/products/{productId}/variant_categories/{categoryId}",
190
+ "path_params": ["productId", "categoryId"],
191
+ "input_schema": {"type": "object", "properties": {"productId": {"type": "string"}, "categoryId": {"type": "string"}}, "required": ["productId", "categoryId"]}
192
+ },
193
+ {
194
+ "name": "create_variant_category",
195
+ "description": "Create a variant category on a product. Gumroad expects variant_category/title style fields.",
196
+ "method": "POST",
197
+ "path": "/products/{productId}/variant_categories",
198
+ "path_params": ["productId"],
199
+ "input_schema": {"type": "object", "properties": {"productId": {"type": "string"}, "title": {"type": "string"}, "variant_category": {"type": "object"}}, "required": ["productId", "title"]}
200
+ },
201
+ {
202
+ "name": "update_variant_category",
203
+ "description": "Update a variant category.",
204
+ "method": "PUT",
205
+ "path": "/products/{productId}/variant_categories/{categoryId}",
206
+ "path_params": ["productId", "categoryId"],
207
+ "input_schema": {"type": "object", "properties": {"productId": {"type": "string"}, "categoryId": {"type": "string"}, "title": {"type": "string"}, "variant_category": {"type": "object"}}, "required": ["productId", "categoryId"]}
208
+ },
209
+ {
210
+ "name": "delete_variant_category",
211
+ "description": "Delete a variant category.",
212
+ "method": "DELETE",
213
+ "path": "/products/{productId}/variant_categories/{categoryId}",
214
+ "path_params": ["productId", "categoryId"],
215
+ "input_schema": {"type": "object", "properties": {"productId": {"type": "string"}, "categoryId": {"type": "string"}}, "required": ["productId", "categoryId"]}
216
+ },
217
+ {
218
+ "name": "list_variants",
219
+ "description": "List variants in a variant category.",
220
+ "method": "GET",
221
+ "path": "/products/{productId}/variant_categories/{categoryId}/variants",
222
+ "path_params": ["productId", "categoryId"],
223
+ "input_schema": {"type": "object", "properties": {"productId": {"type": "string"}, "categoryId": {"type": "string"}}, "required": ["productId", "categoryId"]}
224
+ },
225
+ {
226
+ "name": "get_variant",
227
+ "description": "Get one variant.",
228
+ "method": "GET",
229
+ "path": "/products/{productId}/variant_categories/{categoryId}/variants/{variantId}",
230
+ "path_params": ["productId", "categoryId", "variantId"],
231
+ "input_schema": {"type": "object", "properties": {"productId": {"type": "string"}, "categoryId": {"type": "string"}, "variantId": {"type": "string"}}, "required": ["productId", "categoryId", "variantId"]}
232
+ },
233
+ {
234
+ "name": "create_variant",
235
+ "description": "Create a variant. Common fields include name, price_difference_cents, max_purchase_count, and variant.",
236
+ "method": "POST",
237
+ "path": "/products/{productId}/variant_categories/{categoryId}/variants",
238
+ "path_params": ["productId", "categoryId"],
239
+ "input_schema": {"type": "object", "properties": {"productId": {"type": "string"}, "categoryId": {"type": "string"}, "name": {"type": "string"}, "price_difference_cents": {"type": "number"}, "max_purchase_count": {"type": "number"}, "variant": {"type": "object"}}, "required": ["productId", "categoryId", "name"]}
240
+ },
241
+ {
242
+ "name": "update_variant",
243
+ "description": "Update a variant.",
244
+ "method": "PUT",
245
+ "path": "/products/{productId}/variant_categories/{categoryId}/variants/{variantId}",
246
+ "path_params": ["productId", "categoryId", "variantId"],
247
+ "input_schema": {"type": "object", "properties": {"productId": {"type": "string"}, "categoryId": {"type": "string"}, "variantId": {"type": "string"}, "name": {"type": "string"}, "price_difference_cents": {"type": "number"}, "max_purchase_count": {"type": "number"}, "variant": {"type": "object"}}, "required": ["productId", "categoryId", "variantId"]}
248
+ },
249
+ {
250
+ "name": "delete_variant",
251
+ "description": "Delete a variant.",
252
+ "method": "DELETE",
253
+ "path": "/products/{productId}/variant_categories/{categoryId}/variants/{variantId}",
254
+ "path_params": ["productId", "categoryId", "variantId"],
255
+ "input_schema": {"type": "object", "properties": {"productId": {"type": "string"}, "categoryId": {"type": "string"}, "variantId": {"type": "string"}}, "required": ["productId", "categoryId", "variantId"]}
256
+ },
257
+ {
258
+ "name": "list_offer_codes",
259
+ "description": "List offer codes for a product.",
260
+ "method": "GET",
261
+ "path": "/products/{productId}/offer_codes",
262
+ "path_params": ["productId"],
263
+ "input_schema": {"type": "object", "properties": {"productId": {"type": "string"}}, "required": ["productId"]}
264
+ },
265
+ {
266
+ "name": "get_offer_code",
267
+ "description": "Get one offer code.",
268
+ "method": "GET",
269
+ "path": "/products/{productId}/offer_codes/{offerCodeId}",
270
+ "path_params": ["productId", "offerCodeId"],
271
+ "input_schema": {"type": "object", "properties": {"productId": {"type": "string"}, "offerCodeId": {"type": "string"}}, "required": ["productId", "offerCodeId"]}
272
+ },
273
+ {
274
+ "name": "create_offer_code",
275
+ "description": "Create an offer code. Common fields include name/code, amount_off, amount_percentage, max_purchase_count, universal, and offer_code.",
276
+ "method": "POST",
277
+ "path": "/products/{productId}/offer_codes",
278
+ "path_params": ["productId"],
279
+ "input_schema": {"type": "object", "properties": {"productId": {"type": "string"}, "name": {"type": "string"}, "code": {"type": "string"}, "amount_off": {"type": "number"}, "amount_percentage": {"type": "number"}, "max_purchase_count": {"type": "number"}, "universal": {"type": "boolean"}, "offer_code": {"type": "object"}}, "required": ["productId"]}
280
+ },
281
+ {
282
+ "name": "update_offer_code",
283
+ "description": "Update an offer code.",
284
+ "method": "PUT",
285
+ "path": "/products/{productId}/offer_codes/{offerCodeId}",
286
+ "path_params": ["productId", "offerCodeId"],
287
+ "input_schema": {"type": "object", "properties": {"productId": {"type": "string"}, "offerCodeId": {"type": "string"}, "name": {"type": "string"}, "code": {"type": "string"}, "amount_off": {"type": "number"}, "amount_percentage": {"type": "number"}, "max_purchase_count": {"type": "number"}, "universal": {"type": "boolean"}, "offer_code": {"type": "object"}}, "required": ["productId", "offerCodeId"]}
288
+ },
289
+ {
290
+ "name": "delete_offer_code",
291
+ "description": "Delete an offer code.",
292
+ "method": "DELETE",
293
+ "path": "/products/{productId}/offer_codes/{offerCodeId}",
294
+ "path_params": ["productId", "offerCodeId"],
295
+ "input_schema": {"type": "object", "properties": {"productId": {"type": "string"}, "offerCodeId": {"type": "string"}}, "required": ["productId", "offerCodeId"]}
296
+ },
297
+ {
298
+ "name": "list_custom_fields",
299
+ "description": "List custom checkout fields for a product.",
300
+ "method": "GET",
301
+ "path": "/products/{productId}/custom_fields",
302
+ "path_params": ["productId"],
303
+ "input_schema": {"type": "object", "properties": {"productId": {"type": "string"}}, "required": ["productId"]}
304
+ },
305
+ {
306
+ "name": "create_custom_field",
307
+ "description": "Create a product custom field. Common fields include name, required, type, and custom_field.",
308
+ "method": "POST",
309
+ "path": "/products/{productId}/custom_fields",
310
+ "path_params": ["productId"],
311
+ "input_schema": {"type": "object", "properties": {"productId": {"type": "string"}, "name": {"type": "string"}, "required": {"type": "boolean"}, "type": {"type": "string"}, "custom_field": {"type": "object"}}, "required": ["productId", "name"]}
312
+ },
313
+ {
314
+ "name": "update_custom_field",
315
+ "description": "Update a product custom field by name.",
316
+ "method": "PUT",
317
+ "path": "/products/{productId}/custom_fields/{name}",
318
+ "path_params": ["productId", "name"],
319
+ "input_schema": {"type": "object", "properties": {"productId": {"type": "string"}, "name": {"type": "string"}, "required": {"type": "boolean"}, "type": {"type": "string"}, "custom_field": {"type": "object"}}, "required": ["productId", "name"]}
320
+ },
321
+ {
322
+ "name": "delete_custom_field",
323
+ "description": "Delete a product custom field by name.",
324
+ "method": "DELETE",
325
+ "path": "/products/{productId}/custom_fields/{name}",
326
+ "path_params": ["productId", "name"],
327
+ "input_schema": {"type": "object", "properties": {"productId": {"type": "string"}, "name": {"type": "string"}}, "required": ["productId", "name"]}
328
+ },
329
+ {
330
+ "name": "list_emails",
331
+ "description": "List audience emails/newsletters.",
332
+ "method": "GET",
333
+ "path": "/emails",
334
+ "query_params": ["page", "per_page"],
335
+ "input_schema": {"type": "object", "properties": {"page": {"type": "number"}, "per_page": {"type": "number", "default": 100}}}
336
+ },
337
+ {
338
+ "name": "get_email",
339
+ "description": "Get one audience email/newsletter.",
340
+ "method": "GET",
341
+ "path": "/emails/{emailId}",
342
+ "path_params": ["emailId"],
343
+ "input_schema": {"type": "object", "properties": {"emailId": {"type": "string"}}, "required": ["emailId"]}
344
+ },
345
+ {
346
+ "name": "create_email",
347
+ "description": "Create an audience email/newsletter. Include subject, body/content fields, published_at/scheduled_at, shown_on_profile, and other fields accepted by Gumroad.",
348
+ "method": "POST",
349
+ "path": "/emails",
350
+ "input_schema": {"type": "object", "properties": {"subject": {"type": "string"}, "body": {"type": "string"}, "content": {"type": "string"}, "published_at": {"type": "string"}, "scheduled_at": {"type": "string"}, "shown_on_profile": {"type": "boolean"}}, "required": ["subject"]}
351
+ },
352
+ {
353
+ "name": "update_email",
354
+ "description": "Update an audience email/newsletter.",
355
+ "method": "PUT",
356
+ "path": "/emails/{emailId}",
357
+ "path_params": ["emailId"],
358
+ "input_schema": {"type": "object", "properties": {"emailId": {"type": "string"}, "subject": {"type": "string"}, "body": {"type": "string"}, "content": {"type": "string"}, "published_at": {"type": "string"}, "scheduled_at": {"type": "string"}, "shown_on_profile": {"type": "boolean"}}, "required": ["emailId"]}
359
+ },
360
+ {
361
+ "name": "preview_email",
362
+ "description": "Preview an audience email/newsletter.",
363
+ "method": "POST",
364
+ "path": "/emails/{emailId}/preview",
365
+ "path_params": ["emailId"],
366
+ "input_schema": {"type": "object", "properties": {"emailId": {"type": "string"}}, "required": ["emailId"]}
367
+ },
368
+ {
369
+ "name": "send_email",
370
+ "description": "Send or publish an audience email/newsletter.",
371
+ "method": "POST",
372
+ "path": "/emails/{emailId}/send",
373
+ "path_params": ["emailId"],
374
+ "input_schema": {"type": "object", "properties": {"emailId": {"type": "string"}}, "required": ["emailId"]}
375
+ },
376
+ {
377
+ "name": "delete_email",
378
+ "description": "Delete an audience email/newsletter.",
379
+ "method": "DELETE",
380
+ "path": "/emails/{emailId}",
381
+ "path_params": ["emailId"],
382
+ "input_schema": {"type": "object", "properties": {"emailId": {"type": "string"}}, "required": ["emailId"]}
383
+ },
384
+ {
385
+ "name": "list_resource_subscriptions",
386
+ "description": "List resource subscriptions/webhooks.",
387
+ "method": "GET",
388
+ "path": "/resource_subscriptions",
389
+ "input_schema": {"type": "object", "properties": {}}
390
+ },
391
+ {
392
+ "name": "create_resource_subscription",
393
+ "description": "Create a resource subscription/webhook. Common fields include resource_name, post_url, and subscriber_id/resource_id depending on the event type.",
394
+ "method": "POST",
395
+ "path": "/resource_subscriptions",
396
+ "input_schema": {"type": "object", "properties": {"resource_name": {"type": "string", "description": "For example sale or refund."}, "post_url": {"type": "string"}, "subscriber_id": {"type": "string"}, "resource_id": {"type": "string"}}, "required": ["resource_name", "post_url"]}
397
+ },
398
+ {
399
+ "name": "delete_resource_subscription",
400
+ "description": "Delete a resource subscription/webhook.",
401
+ "method": "DELETE",
402
+ "path": "/resource_subscriptions/{resourceSubscriptionId}",
403
+ "path_params": ["resourceSubscriptionId"],
404
+ "input_schema": {"type": "object", "properties": {"resourceSubscriptionId": {"type": "string"}}, "required": ["resourceSubscriptionId"]}
405
+ },
406
+ {
407
+ "name": "list_sales",
408
+ "description": "List sales. Supports date, product, email, page, and pagination filters.",
409
+ "method": "GET",
410
+ "path": "/sales",
411
+ "query_params": ["before", "after", "product_id", "email", "order_id", "page", "per_page"],
412
+ "input_schema": {"type": "object", "properties": {"before": {"type": "string"}, "after": {"type": "string"}, "product_id": {"type": "string"}, "email": {"type": "string"}, "order_id": {"type": "string"}, "page": {"type": "number"}, "per_page": {"type": "number", "default": 100}}}
413
+ },
414
+ {
415
+ "name": "get_sale",
416
+ "description": "Get one sale by ID.",
417
+ "method": "GET",
418
+ "path": "/sales/{saleId}",
419
+ "path_params": ["saleId"],
420
+ "input_schema": {"type": "object", "properties": {"saleId": {"type": "string"}}, "required": ["saleId"]}
421
+ },
422
+ {
423
+ "name": "mark_sale_as_shipped",
424
+ "description": "Mark a physical-product sale as shipped. Include tracking URL/number as accepted by Gumroad.",
425
+ "method": "PUT",
426
+ "path": "/sales/{saleId}/mark_as_shipped",
427
+ "path_params": ["saleId"],
428
+ "input_schema": {"type": "object", "properties": {"saleId": {"type": "string"}, "tracking_url": {"type": "string"}, "tracking_number": {"type": "string"}}, "required": ["saleId"]}
429
+ },
430
+ {
431
+ "name": "refund_sale",
432
+ "description": "Refund a sale. Include amount_cents for partial refund when supported/needed.",
433
+ "method": "PUT",
434
+ "path": "/sales/{saleId}/refund",
435
+ "path_params": ["saleId"],
436
+ "input_schema": {"type": "object", "properties": {"saleId": {"type": "string"}, "amount_cents": {"type": "number"}}, "required": ["saleId"]}
437
+ },
438
+ {
439
+ "name": "resend_sale_receipt",
440
+ "description": "Resend the purchase receipt for a sale.",
441
+ "method": "POST",
442
+ "path": "/sales/{saleId}/resend_receipt",
443
+ "path_params": ["saleId"],
444
+ "input_schema": {"type": "object", "properties": {"saleId": {"type": "string"}}, "required": ["saleId"]}
445
+ },
446
+ {
447
+ "name": "list_product_subscribers",
448
+ "description": "List subscribers for a product.",
449
+ "method": "GET",
450
+ "path": "/products/{productId}/subscribers",
451
+ "path_params": ["productId"],
452
+ "query_params": ["email", "page", "per_page"],
453
+ "input_schema": {"type": "object", "properties": {"productId": {"type": "string"}, "email": {"type": "string"}, "page": {"type": "number"}, "per_page": {"type": "number", "default": 100}}, "required": ["productId"]}
454
+ },
455
+ {
456
+ "name": "get_subscriber",
457
+ "description": "Get one subscriber by ID.",
458
+ "method": "GET",
459
+ "path": "/subscribers/{subscriberId}",
460
+ "path_params": ["subscriberId"],
461
+ "input_schema": {"type": "object", "properties": {"subscriberId": {"type": "string"}}, "required": ["subscriberId"]}
462
+ },
463
+ {
464
+ "name": "verify_license",
465
+ "description": "Verify a Gumroad license key. This endpoint can be used for license activation/checks.",
466
+ "method": "POST",
467
+ "path": "/licenses/verify",
468
+ "input_schema": {"type": "object", "properties": {"product_permalink": {"type": "string"}, "license_key": {"type": "string"}, "increment_uses_count": {"type": "boolean", "default": true}}, "required": ["product_permalink", "license_key"]}
469
+ },
470
+ {
471
+ "name": "enable_license",
472
+ "description": "Enable a license key.",
473
+ "method": "POST",
474
+ "path": "/licenses/enable",
475
+ "input_schema": {"type": "object", "properties": {"license_key": {"type": "string"}}, "required": ["license_key"]}
476
+ },
477
+ {
478
+ "name": "disable_license",
479
+ "description": "Disable a license key.",
480
+ "method": "POST",
481
+ "path": "/licenses/disable",
482
+ "input_schema": {"type": "object", "properties": {"license_key": {"type": "string"}}, "required": ["license_key"]}
483
+ },
484
+ {
485
+ "name": "decrement_license_uses_count",
486
+ "description": "Decrement a license key's uses count.",
487
+ "method": "POST",
488
+ "path": "/licenses/decrement_uses_count",
489
+ "input_schema": {"type": "object", "properties": {"license_key": {"type": "string"}}, "required": ["license_key"]}
490
+ },
491
+ {
492
+ "name": "rotate_license",
493
+ "description": "Rotate a license key.",
494
+ "method": "POST",
495
+ "path": "/licenses/rotate",
496
+ "input_schema": {"type": "object", "properties": {"license_key": {"type": "string"}}, "required": ["license_key"]}
497
+ },
498
+ {
499
+ "name": "list_payouts",
500
+ "description": "List payouts for the authenticated seller.",
501
+ "method": "GET",
502
+ "path": "/payouts",
503
+ "query_params": ["page", "per_page"],
504
+ "input_schema": {"type": "object", "properties": {"page": {"type": "number"}, "per_page": {"type": "number", "default": 100}}}
505
+ },
506
+ {
507
+ "name": "get_payout",
508
+ "description": "Get one payout by ID.",
509
+ "method": "GET",
510
+ "path": "/payouts/{payoutId}",
511
+ "path_params": ["payoutId"],
512
+ "input_schema": {"type": "object", "properties": {"payoutId": {"type": "string"}}, "required": ["payoutId"]}
513
+ },
514
+ {
515
+ "name": "get_upcoming_payout",
516
+ "description": "Get upcoming payout information.",
517
+ "method": "GET",
518
+ "path": "/payouts/upcoming",
519
+ "input_schema": {"type": "object", "properties": {}}
520
+ },
521
+ {
522
+ "name": "list_tax_forms",
523
+ "description": "List available tax forms. Optionally filter by tax year.",
524
+ "method": "GET",
525
+ "path": "/tax_forms",
526
+ "query_params": ["year"],
527
+ "input_schema": {"type": "object", "properties": {"year": {"type": "number"}}}
528
+ },
529
+ {
530
+ "name": "download_tax_form",
531
+ "description": "Download a tax form. Returns the Gumroad API response for the requested year and tax form type.",
532
+ "method": "GET",
533
+ "path": "/tax_forms/{year}/{taxFormType}/download",
534
+ "path_params": ["year", "taxFormType"],
535
+ "input_schema": {"type": "object", "properties": {"year": {"type": "number"}, "taxFormType": {"type": "string", "description": "For example us_1099_k or us_1099_misc."}}, "required": ["year", "taxFormType"]}
536
+ },
537
+ {
538
+ "name": "get_earnings",
539
+ "description": "Get annual earnings summary.",
540
+ "method": "GET",
541
+ "path": "/earnings",
542
+ "query_params": ["year"],
543
+ "input_schema": {"type": "object", "properties": {"year": {"type": "number"}}}
544
+ }
545
+ ],
546
+ "webhooks": {
547
+ "signature_header": "",
548
+ "registration": {
549
+ "method": "POST",
550
+ "path": "/resource_subscriptions",
551
+ "url_field": "post_url",
552
+ "manual_setup": "Gumroad resource subscriptions are created one resource at a time. Use gumroad_create_resource_subscription with resource_name set to sale, refund, or dispute and post_url set to the Apteva webhook URL. Use gumroad_delete_resource_subscription to remove it."
553
+ },
554
+ "events": [
555
+ {
556
+ "name": "sale",
557
+ "description": "Triggered when a sale is created."
558
+ },
559
+ {
560
+ "name": "refund",
561
+ "description": "Triggered when a sale is refunded."
562
+ },
563
+ {
564
+ "name": "dispute",
565
+ "description": "Triggered when a dispute event is created."
566
+ }
567
+ ]
568
+ }
569
+ }