@apteva/integrations 0.15.10 → 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.
- package/dist/http-executor.d.ts.map +1 -1
- package/dist/http-executor.js +62 -8
- package/dist/http-executor.js.map +1 -1
- package/dist/mcp-generator.js +24 -0
- package/dist/mcp-generator.js.map +1 -1
- package/dist/types.d.ts +4 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/apps/anthropic-admin.json +183 -0
- package/src/apps/aws-ses.json +1 -1
- package/src/apps/braintree.json +53 -0
- package/src/apps/bunny-stream.json +50 -28
- package/src/apps/ccbill.json +142 -0
- package/src/apps/close.json +238 -301
- package/src/apps/craftcloud.json +251 -202
- package/src/apps/dataforseo.json +1700 -2
- package/src/apps/deepgram.json +288 -1
- package/src/apps/elevenlabs.json +9 -0
- package/src/apps/gladia.json +158 -0
- package/src/apps/gmail.json +2 -5
- package/src/apps/gumroad.json +569 -0
- package/src/apps/imaterialise.json +171 -262
- package/src/apps/jlcpcb.json +43 -0
- package/src/apps/jungle-scout.json +166 -0
- package/src/apps/ko-fi.json +34 -0
- package/src/apps/lemon-squeezy.json +270 -0
- package/src/apps/mollie.json +219 -0
- package/src/apps/paddle.json +199 -9
- package/src/apps/payhip.json +162 -0
- package/src/apps/paystack.json +207 -0
- package/src/apps/pipedrive.json +221 -212
- package/src/apps/razorpay.json +207 -0
- package/src/apps/ringover.json +69 -0
- package/src/apps/runpod.json +727 -0
- package/src/apps/salesforce-crm.json +192 -233
- package/src/apps/sculpteo.json +98 -180
- package/src/apps/segpay.json +215 -0
- package/src/apps/shapeways.json +114 -136
- package/src/apps/slant3d.json +260 -168
- package/src/apps/soniox.json +194 -0
- package/src/apps/speechmatics.json +167 -0
- package/src/apps/stripe.json +1 -0
- package/src/apps/surfer.json +511 -0
- package/src/apps/twitter-api.json +14 -1
- package/src/apps/verotel.json +124 -0
- package/src/apps/whop.json +364 -0
- package/src/apps/zendesk-sell.json +248 -0
- package/src/apps/zendesk.json +190 -259
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slug": "jungle-scout",
|
|
3
|
+
"name": "Jungle Scout",
|
|
4
|
+
"description": "Jungle Scout Public API for Amazon product research: product database queries, keyword discovery by ASIN or seed keyword, historical search volume, sales estimates, and share of voice.",
|
|
5
|
+
"logo": "https://www.google.com/s2/favicons?domain=junglescout.com&sz=128",
|
|
6
|
+
"categories": ["amazon", "seo", "marketplace", "ecommerce", "keywords", "product-research"],
|
|
7
|
+
"base_url": "https://developer.junglescout.com",
|
|
8
|
+
"auth": {
|
|
9
|
+
"types": ["api_key"],
|
|
10
|
+
"headers": {
|
|
11
|
+
"Authorization": "{{key_name}}:{{api_key}}",
|
|
12
|
+
"X-API-Type": "{{api_type}}",
|
|
13
|
+
"Accept": "application/vnd.junglescout.v1+json",
|
|
14
|
+
"Content-Type": "application/vnd.api+json"
|
|
15
|
+
},
|
|
16
|
+
"credential_fields": [
|
|
17
|
+
{
|
|
18
|
+
"name": "key_name",
|
|
19
|
+
"label": "Key Name",
|
|
20
|
+
"description": "Jungle Scout API key name from the Developer page."
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"name": "api_key",
|
|
24
|
+
"label": "API Key",
|
|
25
|
+
"description": "Jungle Scout API key. The Authorization header is KEY_NAME:API_KEY."
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"name": "api_type",
|
|
29
|
+
"label": "API Type",
|
|
30
|
+
"description": "Use junglescout for JS accounts or cobalt for Enterprise accounts."
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
},
|
|
34
|
+
"tools": [
|
|
35
|
+
{
|
|
36
|
+
"name": "query_product_database",
|
|
37
|
+
"description": "Search Jungle Scout's Amazon product database using product filters or ASIN/title keywords. Use this for product research, niche discovery, revenue/sales/review filters, seller type, category, and availability filters. Body must be JSON:API data with type product_database_query and attributes.",
|
|
38
|
+
"method": "POST",
|
|
39
|
+
"path": "/api/product_database_query",
|
|
40
|
+
"timeout_ms": 60000,
|
|
41
|
+
"input_schema": {
|
|
42
|
+
"type": "object",
|
|
43
|
+
"properties": {
|
|
44
|
+
"marketplace": { "type": "string", "enum": ["us", "uk", "de", "in", "ca", "fr", "it", "es", "mx", "jp"], "description": "Amazon marketplace country code." },
|
|
45
|
+
"sort": { "type": "string", "description": "Sort field, e.g. revenue, -revenue, sales, -sales, reviews, -reviews, name, -name." },
|
|
46
|
+
"page_size": { "type": "integer", "description": "Results per page, max 100." },
|
|
47
|
+
"page_cursor": { "type": "string", "description": "Pagination cursor from links.next." },
|
|
48
|
+
"data": {
|
|
49
|
+
"type": "object",
|
|
50
|
+
"description": "JSON:API body. Example: {\"type\":\"product_database_query\",\"attributes\":{\"include_keywords\":[\"lamp\"],\"exclude_unavailable_products\":true,\"min_sales\":100}}."
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"required": ["marketplace", "data"]
|
|
54
|
+
},
|
|
55
|
+
"query_params": ["marketplace", "sort"],
|
|
56
|
+
"query_param_aliases": {
|
|
57
|
+
"page_size": "page[size]",
|
|
58
|
+
"page_cursor": "page[cursor]"
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"name": "keywords_by_asin",
|
|
63
|
+
"description": "Return keywords for which the queried ASINs appear in Amazon search results. Query up to 10 ASINs at a time and filter/sort by search volume, trend, PPC bid, ranking ease, relevancy, and organic product count.",
|
|
64
|
+
"method": "POST",
|
|
65
|
+
"path": "/api/keywords/keywords_by_asin_query",
|
|
66
|
+
"timeout_ms": 60000,
|
|
67
|
+
"input_schema": {
|
|
68
|
+
"type": "object",
|
|
69
|
+
"properties": {
|
|
70
|
+
"marketplace": { "type": "string", "enum": ["us", "uk", "de", "in", "ca", "fr", "it", "es", "mx", "jp"] },
|
|
71
|
+
"sort": { "type": "string", "description": "Sort field, default -monthly_search_volume_exact." },
|
|
72
|
+
"page_size": { "type": "integer", "description": "Results per page, max 100." },
|
|
73
|
+
"page_cursor": { "type": "string" },
|
|
74
|
+
"data": {
|
|
75
|
+
"type": "object",
|
|
76
|
+
"description": "JSON:API body with type keywords_by_asin_query and attributes such as asins plus optional filters."
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
"required": ["marketplace", "data"]
|
|
80
|
+
},
|
|
81
|
+
"query_params": ["marketplace", "sort"],
|
|
82
|
+
"query_param_aliases": {
|
|
83
|
+
"page_size": "page[size]",
|
|
84
|
+
"page_cursor": "page[cursor]"
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"name": "keywords_by_keyword",
|
|
89
|
+
"description": "Return related Amazon keywords and metrics based on a seed keyword. Use this for Amazon keyword expansion, search volume, trends, PPC bids, ranking ease, relevancy, and organic product count.",
|
|
90
|
+
"method": "POST",
|
|
91
|
+
"path": "/api/keywords/keywords_by_keyword_query",
|
|
92
|
+
"timeout_ms": 60000,
|
|
93
|
+
"input_schema": {
|
|
94
|
+
"type": "object",
|
|
95
|
+
"properties": {
|
|
96
|
+
"marketplace": { "type": "string", "enum": ["us", "uk", "de", "in", "ca", "fr", "it", "es", "mx", "jp"] },
|
|
97
|
+
"sort": { "type": "string", "description": "Sort field, default -monthly_search_volume_exact." },
|
|
98
|
+
"page_size": { "type": "integer", "description": "Results per page, max 100." },
|
|
99
|
+
"page_cursor": { "type": "string" },
|
|
100
|
+
"data": {
|
|
101
|
+
"type": "object",
|
|
102
|
+
"description": "JSON:API body with type keywords_by_keyword_query and attributes such as keyword plus optional filters."
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
"required": ["marketplace", "data"]
|
|
106
|
+
},
|
|
107
|
+
"query_params": ["marketplace", "sort"],
|
|
108
|
+
"query_param_aliases": {
|
|
109
|
+
"page_size": "page[size]",
|
|
110
|
+
"page_cursor": "page[cursor]"
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"name": "historical_search_volume",
|
|
115
|
+
"description": "Return exact keyword search volume in 7-day increments for a date range.",
|
|
116
|
+
"method": "GET",
|
|
117
|
+
"path": "/api/keywords/historical_search_volume",
|
|
118
|
+
"timeout_ms": 60000,
|
|
119
|
+
"input_schema": {
|
|
120
|
+
"type": "object",
|
|
121
|
+
"properties": {
|
|
122
|
+
"marketplace": { "type": "string", "enum": ["us", "uk", "de", "in", "ca", "fr", "it", "es", "mx", "jp"] },
|
|
123
|
+
"keyword": { "type": "string" },
|
|
124
|
+
"start_date": { "type": "string", "description": "Start date in YYYY-MM-DD." },
|
|
125
|
+
"end_date": { "type": "string", "description": "End date in YYYY-MM-DD." }
|
|
126
|
+
},
|
|
127
|
+
"required": ["marketplace", "keyword", "start_date", "end_date"]
|
|
128
|
+
},
|
|
129
|
+
"query_params": ["marketplace", "keyword", "start_date", "end_date"]
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"name": "sales_estimates",
|
|
133
|
+
"description": "Return daily price, rank, and sales estimate data for an ASIN over a period. Variant ASINs return parent-ASIN aggregate estimates.",
|
|
134
|
+
"method": "GET",
|
|
135
|
+
"path": "/api/sales_estimates_query",
|
|
136
|
+
"timeout_ms": 60000,
|
|
137
|
+
"input_schema": {
|
|
138
|
+
"type": "object",
|
|
139
|
+
"properties": {
|
|
140
|
+
"marketplace": { "type": "string", "enum": ["us", "uk", "de", "in", "ca", "fr", "it", "es", "mx", "jp"] },
|
|
141
|
+
"asin": { "type": "string" },
|
|
142
|
+
"start_date": { "type": "string", "description": "Start date in YYYY-MM-DD." },
|
|
143
|
+
"end_date": { "type": "string", "description": "End date in YYYY-MM-DD. Must be before current date." }
|
|
144
|
+
},
|
|
145
|
+
"required": ["marketplace", "asin", "start_date", "end_date"]
|
|
146
|
+
},
|
|
147
|
+
"query_params": ["marketplace", "asin", "start_date", "end_date"]
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
"name": "share_of_voice",
|
|
151
|
+
"description": "For a keyword search on Amazon, return brand share across the first 3 result pages, including organic, sponsored, combined share of voice, PPC bid, 30-day search volume, and top-ASIN conversion-rate data.",
|
|
152
|
+
"method": "GET",
|
|
153
|
+
"path": "/api/share_of_voice",
|
|
154
|
+
"timeout_ms": 60000,
|
|
155
|
+
"input_schema": {
|
|
156
|
+
"type": "object",
|
|
157
|
+
"properties": {
|
|
158
|
+
"marketplace": { "type": "string", "enum": ["us", "uk", "de", "in", "ca", "fr", "it", "es", "mx", "jp"] },
|
|
159
|
+
"keyword": { "type": "string" }
|
|
160
|
+
},
|
|
161
|
+
"required": ["marketplace", "keyword"]
|
|
162
|
+
},
|
|
163
|
+
"query_params": ["marketplace", "keyword"]
|
|
164
|
+
}
|
|
165
|
+
]
|
|
166
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slug": "ko-fi",
|
|
3
|
+
"name": "Ko-fi",
|
|
4
|
+
"description": "Ko-fi creator-commerce webhook integration for payment, donation, shop order, membership, and commission notifications. Ko-fi does not expose a full public catalog/product API for agents to create products or upload audio files.",
|
|
5
|
+
"logo": "https://www.google.com/s2/favicons?domain=ko-fi.com&sz=128",
|
|
6
|
+
"categories": ["payments", "commerce", "creator-economy", "donations", "memberships", "webhooks"],
|
|
7
|
+
"base_url": "https://ko-fi.com",
|
|
8
|
+
"auth": {
|
|
9
|
+
"types": ["api_key"],
|
|
10
|
+
"headers": {},
|
|
11
|
+
"credential_fields": [
|
|
12
|
+
{
|
|
13
|
+
"name": "verificationToken",
|
|
14
|
+
"label": "Verification Token",
|
|
15
|
+
"required": false,
|
|
16
|
+
"description": "Optional Ko-fi verification token used to match incoming webhook payloads."
|
|
17
|
+
}
|
|
18
|
+
]
|
|
19
|
+
},
|
|
20
|
+
"tools": [],
|
|
21
|
+
"webhooks": {
|
|
22
|
+
"signature_header": "",
|
|
23
|
+
"registration": {
|
|
24
|
+
"manual_setup": "Copy the Apteva webhook URL into Ko-fi's API/Webhooks settings. Ko-fi webhook setup is manual; this integration stores the optional verification token for matching incoming payment payloads."
|
|
25
|
+
},
|
|
26
|
+
"events": [
|
|
27
|
+
{ "name": "payment", "description": "A Ko-fi payment notification such as donation, membership, shop order, or commission, depending on enabled Ko-fi features." },
|
|
28
|
+
{ "name": "donation", "description": "A donation-style Ko-fi payment." },
|
|
29
|
+
{ "name": "membership", "description": "A Ko-fi membership payment." },
|
|
30
|
+
{ "name": "shop_order", "description": "A Ko-fi shop order payment." },
|
|
31
|
+
{ "name": "commission", "description": "A Ko-fi commission payment." }
|
|
32
|
+
]
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slug": "lemon-squeezy",
|
|
3
|
+
"name": "Lemon Squeezy",
|
|
4
|
+
"description": "Lemon Squeezy merchant-of-record API for digital products, stores, products, variants, checkouts, orders, subscriptions, customers, license keys, discounts, and webhooks.",
|
|
5
|
+
"logo": "https://www.google.com/s2/favicons?domain=lemonsqueezy.com&sz=128",
|
|
6
|
+
"categories": ["payments", "billing", "subscriptions", "checkout", "merchant-of-record", "digital-products"],
|
|
7
|
+
"base_url": "https://api.lemonsqueezy.com/v1",
|
|
8
|
+
"auth": {
|
|
9
|
+
"types": ["bearer"],
|
|
10
|
+
"headers": {
|
|
11
|
+
"Authorization": "Bearer {{token}}",
|
|
12
|
+
"Accept": "application/vnd.api+json",
|
|
13
|
+
"Content-Type": "application/vnd.api+json"
|
|
14
|
+
},
|
|
15
|
+
"credential_fields": [
|
|
16
|
+
{
|
|
17
|
+
"name": "token",
|
|
18
|
+
"label": "API Key",
|
|
19
|
+
"description": "Lemon Squeezy API key from Settings > API."
|
|
20
|
+
}
|
|
21
|
+
]
|
|
22
|
+
},
|
|
23
|
+
"tools": [
|
|
24
|
+
{
|
|
25
|
+
"name": "list_stores",
|
|
26
|
+
"description": "List stores available to the API key.",
|
|
27
|
+
"method": "GET",
|
|
28
|
+
"path": "/stores",
|
|
29
|
+
"input_schema": { "type": "object", "properties": { "page_number": { "type": "integer" }, "page_size": { "type": "integer" } } },
|
|
30
|
+
"query_param_aliases": { "page_number": "page[number]", "page_size": "page[size]" }
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"name": "get_store",
|
|
34
|
+
"description": "Retrieve one Lemon Squeezy store.",
|
|
35
|
+
"method": "GET",
|
|
36
|
+
"path": "/stores/{store_id}",
|
|
37
|
+
"input_schema": { "type": "object", "properties": { "store_id": { "type": "string" } }, "required": ["store_id"] }
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"name": "list_products",
|
|
41
|
+
"description": "List products. Filter by store_id to find products for a specific store.",
|
|
42
|
+
"method": "GET",
|
|
43
|
+
"path": "/products",
|
|
44
|
+
"input_schema": { "type": "object", "properties": { "store_id": { "type": "string" }, "page_number": { "type": "integer" }, "page_size": { "type": "integer" } } },
|
|
45
|
+
"query_param_aliases": { "store_id": "filter[store_id]", "page_number": "page[number]", "page_size": "page[size]" }
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"name": "get_product",
|
|
49
|
+
"description": "Retrieve one product.",
|
|
50
|
+
"method": "GET",
|
|
51
|
+
"path": "/products/{product_id}",
|
|
52
|
+
"input_schema": { "type": "object", "properties": { "product_id": { "type": "string" } }, "required": ["product_id"] }
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"name": "list_variants",
|
|
56
|
+
"description": "List product variants. Filter by product_id when creating checkouts.",
|
|
57
|
+
"method": "GET",
|
|
58
|
+
"path": "/variants",
|
|
59
|
+
"input_schema": { "type": "object", "properties": { "product_id": { "type": "string" }, "page_number": { "type": "integer" }, "page_size": { "type": "integer" } } },
|
|
60
|
+
"query_param_aliases": { "product_id": "filter[product_id]", "page_number": "page[number]", "page_size": "page[size]" }
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"name": "get_variant",
|
|
64
|
+
"description": "Retrieve one variant.",
|
|
65
|
+
"method": "GET",
|
|
66
|
+
"path": "/variants/{variant_id}",
|
|
67
|
+
"input_schema": { "type": "object", "properties": { "variant_id": { "type": "string" } }, "required": ["variant_id"] }
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"name": "create_checkout",
|
|
71
|
+
"description": "Create a hosted checkout. Body must be Lemon Squeezy JSON:API format with data.type='checkouts', relationships.store, relationships.variant, and attributes such as checkout_options, product_options, checkout_data, expires_at, preview.",
|
|
72
|
+
"method": "POST",
|
|
73
|
+
"path": "/checkouts",
|
|
74
|
+
"timeout_ms": 60000,
|
|
75
|
+
"body_root_param": "body",
|
|
76
|
+
"input_schema": {
|
|
77
|
+
"type": "object",
|
|
78
|
+
"properties": {
|
|
79
|
+
"body": { "type": "object", "description": "Raw Lemon Squeezy JSON:API checkout create payload." }
|
|
80
|
+
},
|
|
81
|
+
"required": ["body"]
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"name": "get_checkout",
|
|
86
|
+
"description": "Retrieve one checkout.",
|
|
87
|
+
"method": "GET",
|
|
88
|
+
"path": "/checkouts/{checkout_id}",
|
|
89
|
+
"input_schema": { "type": "object", "properties": { "checkout_id": { "type": "string" } }, "required": ["checkout_id"] }
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"name": "list_orders",
|
|
93
|
+
"description": "List orders. Filter by store_id, user_email, or status when reconciling sales.",
|
|
94
|
+
"method": "GET",
|
|
95
|
+
"path": "/orders",
|
|
96
|
+
"input_schema": { "type": "object", "properties": { "store_id": { "type": "string" }, "user_email": { "type": "string" }, "status": { "type": "string" }, "page_number": { "type": "integer" }, "page_size": { "type": "integer" } } },
|
|
97
|
+
"query_param_aliases": { "store_id": "filter[store_id]", "user_email": "filter[user_email]", "status": "filter[status]", "page_number": "page[number]", "page_size": "page[size]" }
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"name": "get_order",
|
|
101
|
+
"description": "Retrieve one order.",
|
|
102
|
+
"method": "GET",
|
|
103
|
+
"path": "/orders/{order_id}",
|
|
104
|
+
"input_schema": { "type": "object", "properties": { "order_id": { "type": "string" } }, "required": ["order_id"] }
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"name": "list_customers",
|
|
108
|
+
"description": "List customers. Filter by store_id or email.",
|
|
109
|
+
"method": "GET",
|
|
110
|
+
"path": "/customers",
|
|
111
|
+
"input_schema": { "type": "object", "properties": { "store_id": { "type": "string" }, "email": { "type": "string" }, "page_number": { "type": "integer" }, "page_size": { "type": "integer" } } },
|
|
112
|
+
"query_param_aliases": { "store_id": "filter[store_id]", "email": "filter[email]", "page_number": "page[number]", "page_size": "page[size]" }
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"name": "list_subscriptions",
|
|
116
|
+
"description": "List subscriptions. Filter by store_id, order_id, product_id, variant_id, user_email, or status.",
|
|
117
|
+
"method": "GET",
|
|
118
|
+
"path": "/subscriptions",
|
|
119
|
+
"input_schema": { "type": "object", "properties": { "store_id": { "type": "string" }, "order_id": { "type": "string" }, "product_id": { "type": "string" }, "variant_id": { "type": "string" }, "user_email": { "type": "string" }, "status": { "type": "string" }, "page_number": { "type": "integer" }, "page_size": { "type": "integer" } } },
|
|
120
|
+
"query_param_aliases": { "store_id": "filter[store_id]", "order_id": "filter[order_id]", "product_id": "filter[product_id]", "variant_id": "filter[variant_id]", "user_email": "filter[user_email]", "status": "filter[status]", "page_number": "page[number]", "page_size": "page[size]" }
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"name": "get_subscription",
|
|
124
|
+
"description": "Retrieve one subscription.",
|
|
125
|
+
"method": "GET",
|
|
126
|
+
"path": "/subscriptions/{subscription_id}",
|
|
127
|
+
"input_schema": { "type": "object", "properties": { "subscription_id": { "type": "string" } }, "required": ["subscription_id"] }
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"name": "update_subscription",
|
|
131
|
+
"description": "Update a subscription using Lemon Squeezy JSON:API format. Use for pause, resume, cancel at period end, variant changes, billing anchor, invoice_soon, or metadata updates.",
|
|
132
|
+
"method": "PATCH",
|
|
133
|
+
"path": "/subscriptions/{subscription_id}",
|
|
134
|
+
"timeout_ms": 60000,
|
|
135
|
+
"body_root_param": "body",
|
|
136
|
+
"input_schema": { "type": "object", "properties": { "subscription_id": { "type": "string" }, "body": { "type": "object" } }, "required": ["subscription_id", "body"] }
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"name": "list_license_keys",
|
|
140
|
+
"description": "List license keys. Filter by store_id, order_id, order_item_id, product_id, user_email, or status.",
|
|
141
|
+
"method": "GET",
|
|
142
|
+
"path": "/license-keys",
|
|
143
|
+
"input_schema": { "type": "object", "properties": { "store_id": { "type": "string" }, "order_id": { "type": "string" }, "product_id": { "type": "string" }, "user_email": { "type": "string" }, "status": { "type": "string" }, "page_number": { "type": "integer" }, "page_size": { "type": "integer" } } },
|
|
144
|
+
"query_param_aliases": { "store_id": "filter[store_id]", "order_id": "filter[order_id]", "product_id": "filter[product_id]", "user_email": "filter[user_email]", "status": "filter[status]", "page_number": "page[number]", "page_size": "page[size]" }
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"name": "get_license_key",
|
|
148
|
+
"description": "Retrieve one Lemon Squeezy license key.",
|
|
149
|
+
"method": "GET",
|
|
150
|
+
"path": "/license-keys/{license_key_id}",
|
|
151
|
+
"input_schema": { "type": "object", "properties": { "license_key_id": { "type": "string" } }, "required": ["license_key_id"] }
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
"name": "list_license_instances",
|
|
155
|
+
"description": "List license key activation instances. Filter by license_key_id when auditing where a key is activated.",
|
|
156
|
+
"method": "GET",
|
|
157
|
+
"path": "/license-instances",
|
|
158
|
+
"input_schema": { "type": "object", "properties": { "license_key_id": { "type": "string" }, "page_number": { "type": "integer" }, "page_size": { "type": "integer" } } },
|
|
159
|
+
"query_param_aliases": { "license_key_id": "filter[license_key_id]", "page_number": "page[number]", "page_size": "page[size]" }
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
"name": "get_license_instance",
|
|
163
|
+
"description": "Retrieve one Lemon Squeezy license instance.",
|
|
164
|
+
"method": "GET",
|
|
165
|
+
"path": "/license-instances/{license_instance_id}",
|
|
166
|
+
"input_schema": { "type": "object", "properties": { "license_instance_id": { "type": "string" } }, "required": ["license_instance_id"] }
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
"name": "list_order_items",
|
|
170
|
+
"description": "List Lemon Squeezy order items. Useful for seeing exactly which product/variant was purchased.",
|
|
171
|
+
"method": "GET",
|
|
172
|
+
"path": "/order-items",
|
|
173
|
+
"input_schema": { "type": "object", "properties": { "order_id": { "type": "string" }, "product_id": { "type": "string" }, "variant_id": { "type": "string" }, "page_number": { "type": "integer" }, "page_size": { "type": "integer" } } },
|
|
174
|
+
"query_param_aliases": { "order_id": "filter[order_id]", "product_id": "filter[product_id]", "variant_id": "filter[variant_id]", "page_number": "page[number]", "page_size": "page[size]" }
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
"name": "get_order_item",
|
|
178
|
+
"description": "Retrieve one Lemon Squeezy order item.",
|
|
179
|
+
"method": "GET",
|
|
180
|
+
"path": "/order-items/{order_item_id}",
|
|
181
|
+
"input_schema": { "type": "object", "properties": { "order_item_id": { "type": "string" } }, "required": ["order_item_id"] }
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
"name": "list_files",
|
|
185
|
+
"description": "List Lemon Squeezy downloadable file records for digital products. Use this to inspect hosted audio/download files already attached in Lemon Squeezy. Public API docs expose file read/list, not direct file upload/create; use Gumroad or an external storage flow if an agent must upload audio bytes programmatically.",
|
|
186
|
+
"method": "GET",
|
|
187
|
+
"path": "/files",
|
|
188
|
+
"input_schema": { "type": "object", "properties": { "variant_id": { "type": "string" }, "page_number": { "type": "integer" }, "page_size": { "type": "integer" } } },
|
|
189
|
+
"query_param_aliases": { "variant_id": "filter[variant_id]", "page_number": "page[number]", "page_size": "page[size]" }
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
"name": "get_file",
|
|
193
|
+
"description": "Retrieve one Lemon Squeezy file record. This returns metadata for an existing hosted downloadable file; it does not upload a new audio file.",
|
|
194
|
+
"method": "GET",
|
|
195
|
+
"path": "/files/{file_id}",
|
|
196
|
+
"input_schema": { "type": "object", "properties": { "file_id": { "type": "string" } }, "required": ["file_id"] }
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
"name": "list_discounts",
|
|
200
|
+
"description": "List Lemon Squeezy discounts. Filter by store_id when managing promotions.",
|
|
201
|
+
"method": "GET",
|
|
202
|
+
"path": "/discounts",
|
|
203
|
+
"input_schema": { "type": "object", "properties": { "store_id": { "type": "string" }, "page_number": { "type": "integer" }, "page_size": { "type": "integer" } } },
|
|
204
|
+
"query_param_aliases": { "store_id": "filter[store_id]", "page_number": "page[number]", "page_size": "page[size]" }
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
"name": "get_discount",
|
|
208
|
+
"description": "Retrieve one Lemon Squeezy discount.",
|
|
209
|
+
"method": "GET",
|
|
210
|
+
"path": "/discounts/{discount_id}",
|
|
211
|
+
"input_schema": { "type": "object", "properties": { "discount_id": { "type": "string" } }, "required": ["discount_id"] }
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
"name": "create_discount",
|
|
215
|
+
"description": "Create a Lemon Squeezy discount. Body must be Lemon Squeezy JSON:API data.type='discounts' with relationships.store and provider-supported attributes such as name, code, amount, amount_type, duration, duration_in_months, max_redemptions, starts_at, expires_at.",
|
|
216
|
+
"method": "POST",
|
|
217
|
+
"path": "/discounts",
|
|
218
|
+
"body_root_param": "body",
|
|
219
|
+
"input_schema": { "type": "object", "properties": { "body": { "type": "object" } }, "required": ["body"] }
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
"name": "delete_discount",
|
|
223
|
+
"description": "Delete a Lemon Squeezy discount.",
|
|
224
|
+
"method": "DELETE",
|
|
225
|
+
"path": "/discounts/{discount_id}",
|
|
226
|
+
"input_schema": { "type": "object", "properties": { "discount_id": { "type": "string" } }, "required": ["discount_id"] }
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
"name": "list_webhooks",
|
|
230
|
+
"description": "List webhooks configured in Lemon Squeezy.",
|
|
231
|
+
"method": "GET",
|
|
232
|
+
"path": "/webhooks",
|
|
233
|
+
"input_schema": { "type": "object", "properties": { "store_id": { "type": "string" }, "page_number": { "type": "integer" }, "page_size": { "type": "integer" } } },
|
|
234
|
+
"query_param_aliases": { "store_id": "filter[store_id]", "page_number": "page[number]", "page_size": "page[size]" }
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
"name": "create_webhook",
|
|
238
|
+
"description": "Create a Lemon Squeezy webhook. Body must be JSON:API data.type='webhooks' with relationships.store and attributes.url/events/secret/test_mode.",
|
|
239
|
+
"method": "POST",
|
|
240
|
+
"path": "/webhooks",
|
|
241
|
+
"body_root_param": "body",
|
|
242
|
+
"input_schema": { "type": "object", "properties": { "body": { "type": "object" } }, "required": ["body"] }
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
"name": "delete_webhook",
|
|
246
|
+
"description": "Delete a Lemon Squeezy webhook.",
|
|
247
|
+
"method": "DELETE",
|
|
248
|
+
"path": "/webhooks/{webhook_id}",
|
|
249
|
+
"input_schema": { "type": "object", "properties": { "webhook_id": { "type": "string" } }, "required": ["webhook_id"] }
|
|
250
|
+
}
|
|
251
|
+
],
|
|
252
|
+
"webhooks": {
|
|
253
|
+
"signature_header": "x-signature",
|
|
254
|
+
"registration": {
|
|
255
|
+
"method": "POST",
|
|
256
|
+
"path": "/webhooks",
|
|
257
|
+
"manual_setup": "Lemon Squeezy webhooks require a JSON:API body with relationships.store and attributes.url/events/secret/test_mode. Use lemon-squeezy_create_webhook for programmatic setup when you know the store ID and desired event list."
|
|
258
|
+
},
|
|
259
|
+
"events": [
|
|
260
|
+
{ "name": "order_created", "description": "Sent when an order is created." },
|
|
261
|
+
{ "name": "subscription_created", "description": "Sent when a subscription is created." },
|
|
262
|
+
{ "name": "subscription_updated", "description": "Sent when a subscription is updated." },
|
|
263
|
+
{ "name": "subscription_cancelled", "description": "Sent when a subscription is cancelled." },
|
|
264
|
+
{ "name": "subscription_resumed", "description": "Sent when a subscription is resumed." },
|
|
265
|
+
{ "name": "subscription_expired", "description": "Sent when a subscription expires." },
|
|
266
|
+
{ "name": "license_key_created", "description": "Sent when a license key is created." }
|
|
267
|
+
]
|
|
268
|
+
},
|
|
269
|
+
"health_check": { "tool": "list_stores" }
|
|
270
|
+
}
|