@apteva/integrations 0.15.10 → 0.15.12
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 +144 -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 +7 -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/fal-ai.json +278 -290
- 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/kling-ai.json +197 -161
- package/src/apps/ko-fi.json +34 -0
- package/src/apps/leadbyte.json +16 -54
- 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/replicate.json +315 -61
- package/src/apps/ringover.json +69 -0
- package/src/apps/runpod.json +727 -0
- package/src/apps/runway.json +386 -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/stability-ai.json +356 -0
- package/src/apps/stripe.json +1 -0
- package/src/apps/surfer.json +511 -0
- package/src/apps/twitter-api.json +19 -21
- 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,183 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slug": "anthropic-admin",
|
|
3
|
+
"name": "Anthropic Admin",
|
|
4
|
+
"description": "Claude organization Admin API for usage and cost reporting. Use this with an Anthropic Admin API key to inspect monthly spend, token usage, model usage, workspace usage, service tiers, and API key/account attribution.",
|
|
5
|
+
"logo": "https://www.google.com/s2/favicons?domain=anthropic.com&sz=128",
|
|
6
|
+
"categories": ["ai", "anthropic", "claude", "admin", "billing", "usage"],
|
|
7
|
+
"base_url": "https://api.anthropic.com/v1",
|
|
8
|
+
"auth": {
|
|
9
|
+
"types": ["api_key"],
|
|
10
|
+
"headers": {
|
|
11
|
+
"x-api-key": "{{admin_api_key}}",
|
|
12
|
+
"anthropic-version": "2023-06-01"
|
|
13
|
+
},
|
|
14
|
+
"credential_fields": [
|
|
15
|
+
{
|
|
16
|
+
"name": "admin_api_key",
|
|
17
|
+
"label": "Admin API Key",
|
|
18
|
+
"description": "Anthropic Admin API key from organization settings. Normal Claude model API keys usually cannot access organization usage or cost reports."
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
},
|
|
22
|
+
"tools": [
|
|
23
|
+
{
|
|
24
|
+
"name": "get_cost_report",
|
|
25
|
+
"description": "Get Claude organization cost by day. Use this for monthly dollar reporting. `starting_at` is required and must be RFC3339, for example 2026-06-01T00:00:00Z. `amount` is returned in lowest currency units, so for USD the value is cents; `123.45` represents $1.23. Group by workspace_id and/or description for attribution.",
|
|
26
|
+
"method": "GET",
|
|
27
|
+
"path": "/organizations/cost_report",
|
|
28
|
+
"timeout_ms": 60000,
|
|
29
|
+
"input_schema": {
|
|
30
|
+
"type": "object",
|
|
31
|
+
"properties": {
|
|
32
|
+
"starting_at": {
|
|
33
|
+
"type": "string",
|
|
34
|
+
"description": "Inclusive lower bound RFC3339 timestamp, for example 2026-06-01T00:00:00Z."
|
|
35
|
+
},
|
|
36
|
+
"ending_at": {
|
|
37
|
+
"type": "string",
|
|
38
|
+
"description": "Exclusive upper bound RFC3339 timestamp, for example 2026-07-01T00:00:00Z."
|
|
39
|
+
},
|
|
40
|
+
"bucket_width": {
|
|
41
|
+
"type": "string",
|
|
42
|
+
"enum": ["1d"],
|
|
43
|
+
"description": "Time granularity. Cost reports currently support 1d."
|
|
44
|
+
},
|
|
45
|
+
"group_by": {
|
|
46
|
+
"type": "array",
|
|
47
|
+
"description": "Fields to group by. Official values: workspace_id, description.",
|
|
48
|
+
"items": {
|
|
49
|
+
"type": "string",
|
|
50
|
+
"enum": ["workspace_id", "description"]
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"limit": {
|
|
54
|
+
"type": "integer",
|
|
55
|
+
"description": "Maximum number of time buckets to return."
|
|
56
|
+
},
|
|
57
|
+
"page": {
|
|
58
|
+
"type": "string",
|
|
59
|
+
"description": "next_page token from the previous response."
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
"required": ["starting_at"]
|
|
63
|
+
},
|
|
64
|
+
"query_params": ["starting_at", "ending_at", "bucket_width", "limit", "page"],
|
|
65
|
+
"query_param_aliases": {
|
|
66
|
+
"group_by": "group_by[]"
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"name": "get_messages_usage_report",
|
|
71
|
+
"description": "Get Claude Messages API usage for an organization. Use this to analyze input/output/cache tokens, web search requests, model usage, workspace usage, API key/account usage, service tier, context window, and inference geo over time. `starting_at` is required and must be RFC3339.",
|
|
72
|
+
"method": "GET",
|
|
73
|
+
"path": "/organizations/usage_report/messages",
|
|
74
|
+
"timeout_ms": 60000,
|
|
75
|
+
"input_schema": {
|
|
76
|
+
"type": "object",
|
|
77
|
+
"properties": {
|
|
78
|
+
"starting_at": {
|
|
79
|
+
"type": "string",
|
|
80
|
+
"description": "Inclusive lower bound RFC3339 timestamp, for example 2026-06-01T00:00:00Z."
|
|
81
|
+
},
|
|
82
|
+
"ending_at": {
|
|
83
|
+
"type": "string",
|
|
84
|
+
"description": "Exclusive upper bound RFC3339 timestamp, for example 2026-07-01T00:00:00Z."
|
|
85
|
+
},
|
|
86
|
+
"bucket_width": {
|
|
87
|
+
"type": "string",
|
|
88
|
+
"enum": ["1d", "1h", "1m"],
|
|
89
|
+
"description": "Time granularity. Limits depend on the bucket width: 1d up to 31 days, 1h up to 168 hours, 1m up to 1440 minutes."
|
|
90
|
+
},
|
|
91
|
+
"group_by": {
|
|
92
|
+
"type": "array",
|
|
93
|
+
"description": "Fields to group by. Official values include api_key_id, workspace_id, model, service_tier, context_window, inference_geo, account_id, and service_account_id.",
|
|
94
|
+
"items": {
|
|
95
|
+
"type": "string",
|
|
96
|
+
"enum": ["api_key_id", "workspace_id", "model", "service_tier", "context_window", "inference_geo", "account_id", "service_account_id"]
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
"models": {
|
|
100
|
+
"type": "array",
|
|
101
|
+
"description": "Restrict usage to these model ids.",
|
|
102
|
+
"items": {
|
|
103
|
+
"type": "string"
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
"workspace_ids": {
|
|
107
|
+
"type": "array",
|
|
108
|
+
"description": "Restrict usage to these workspace ids.",
|
|
109
|
+
"items": {
|
|
110
|
+
"type": "string"
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
"api_key_ids": {
|
|
114
|
+
"type": "array",
|
|
115
|
+
"description": "Restrict usage to these API key ids.",
|
|
116
|
+
"items": {
|
|
117
|
+
"type": "string"
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
"account_ids": {
|
|
121
|
+
"type": "array",
|
|
122
|
+
"description": "Restrict usage to these user account ids.",
|
|
123
|
+
"items": {
|
|
124
|
+
"type": "string"
|
|
125
|
+
}
|
|
126
|
+
},
|
|
127
|
+
"service_account_ids": {
|
|
128
|
+
"type": "array",
|
|
129
|
+
"description": "Restrict usage to these service account ids.",
|
|
130
|
+
"items": {
|
|
131
|
+
"type": "string"
|
|
132
|
+
}
|
|
133
|
+
},
|
|
134
|
+
"service_tiers": {
|
|
135
|
+
"type": "array",
|
|
136
|
+
"description": "Restrict usage to service tiers such as standard, batch, priority, priority_on_demand, flex, or flex_discount.",
|
|
137
|
+
"items": {
|
|
138
|
+
"type": "string",
|
|
139
|
+
"enum": ["standard", "batch", "priority", "priority_on_demand", "flex", "flex_discount"]
|
|
140
|
+
}
|
|
141
|
+
},
|
|
142
|
+
"context_window": {
|
|
143
|
+
"type": "array",
|
|
144
|
+
"description": "Restrict usage to context windows.",
|
|
145
|
+
"items": {
|
|
146
|
+
"type": "string",
|
|
147
|
+
"enum": ["0-200k", "200k-1M"]
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
"inference_geos": {
|
|
151
|
+
"type": "array",
|
|
152
|
+
"description": "Restrict usage by inference geo.",
|
|
153
|
+
"items": {
|
|
154
|
+
"type": "string",
|
|
155
|
+
"enum": ["global", "us", "not_available"]
|
|
156
|
+
}
|
|
157
|
+
},
|
|
158
|
+
"limit": {
|
|
159
|
+
"type": "integer",
|
|
160
|
+
"description": "Maximum number of time buckets to return."
|
|
161
|
+
},
|
|
162
|
+
"page": {
|
|
163
|
+
"type": "string",
|
|
164
|
+
"description": "next_page token from the previous response."
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
"required": ["starting_at"]
|
|
168
|
+
},
|
|
169
|
+
"query_params": ["starting_at", "ending_at", "bucket_width", "limit", "page"],
|
|
170
|
+
"query_param_aliases": {
|
|
171
|
+
"group_by": "group_by[]",
|
|
172
|
+
"models": "models[]",
|
|
173
|
+
"workspace_ids": "workspace_ids[]",
|
|
174
|
+
"api_key_ids": "api_key_ids[]",
|
|
175
|
+
"account_ids": "account_ids[]",
|
|
176
|
+
"service_account_ids": "service_account_ids[]",
|
|
177
|
+
"service_tiers": "service_tiers[]",
|
|
178
|
+
"context_window": "context_window[]",
|
|
179
|
+
"inference_geos": "inference_geos[]"
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
]
|
|
183
|
+
}
|
package/src/apps/aws-ses.json
CHANGED
|
@@ -551,7 +551,7 @@
|
|
|
551
551
|
},
|
|
552
552
|
{
|
|
553
553
|
"name": "set_mail_from",
|
|
554
|
-
"description": "Set or clear the custom MAIL FROM domain for an identity (PutEmailIdentityMailFromAttributes). Omit MailFromDomain to reset to the SES default (amazonses.com).
|
|
554
|
+
"description": "Set or clear the custom MAIL FROM domain for an identity (PutEmailIdentityMailFromAttributes). Omit MailFromDomain to reset to the SES default (amazonses.com). Messaging uses this for per-domain SES MAIL FROM alignment.",
|
|
555
555
|
"method": "PUT",
|
|
556
556
|
"path": "/v2/email/identities/{EmailIdentity}/mail-from",
|
|
557
557
|
"input_schema": {
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slug": "braintree",
|
|
3
|
+
"name": "Braintree",
|
|
4
|
+
"description": "Braintree GraphQL payments API for querying and mutating customers, payment methods, transactions, disputes, refunds, and related payment objects.",
|
|
5
|
+
"logo": "https://www.google.com/s2/favicons?domain=braintreepayments.com&sz=128",
|
|
6
|
+
"categories": ["payments", "checkout", "billing", "paypal", "graphql"],
|
|
7
|
+
"base_url": "{{api_host}}",
|
|
8
|
+
"auth": {
|
|
9
|
+
"types": ["basic"],
|
|
10
|
+
"headers": {
|
|
11
|
+
"Authorization": "Basic {{basic_auth}}",
|
|
12
|
+
"Braintree-Version": "{{braintree_version}}",
|
|
13
|
+
"Content-Type": "application/json"
|
|
14
|
+
},
|
|
15
|
+
"credential_fields": [
|
|
16
|
+
{
|
|
17
|
+
"name": "api_host",
|
|
18
|
+
"label": "API Host",
|
|
19
|
+
"description": "Use https://payments.sandbox.braintree-api.com for sandbox or https://payments.braintree-api.com for production.",
|
|
20
|
+
"type": "text"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"name": "basic_auth",
|
|
24
|
+
"label": "Basic Auth",
|
|
25
|
+
"description": "Base64-encoded Braintree public key and private key for HTTP Basic auth. Do not include the 'Basic ' prefix."
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"name": "braintree_version",
|
|
29
|
+
"label": "Braintree Version",
|
|
30
|
+
"description": "GraphQL API version date, for example 2024-01-01.",
|
|
31
|
+
"type": "text"
|
|
32
|
+
}
|
|
33
|
+
]
|
|
34
|
+
},
|
|
35
|
+
"tools": [
|
|
36
|
+
{
|
|
37
|
+
"name": "graphql_request",
|
|
38
|
+
"description": "Execute a Braintree GraphQL query or mutation. Use this for customers, transactions, payment methods, refunds, disputes, reports, and any GraphQL operation supported by the connected merchant account.",
|
|
39
|
+
"method": "POST",
|
|
40
|
+
"path": "/graphql",
|
|
41
|
+
"timeout_ms": 60000,
|
|
42
|
+
"input_schema": {
|
|
43
|
+
"type": "object",
|
|
44
|
+
"properties": {
|
|
45
|
+
"query": { "type": "string", "description": "GraphQL query or mutation document." },
|
|
46
|
+
"variables": { "type": "object", "description": "GraphQL variables object." },
|
|
47
|
+
"operationName": { "type": "string", "description": "Optional operation name." }
|
|
48
|
+
},
|
|
49
|
+
"required": ["query"]
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
]
|
|
53
|
+
}
|
|
@@ -21,12 +21,19 @@
|
|
|
21
21
|
"credential_fields": [
|
|
22
22
|
{
|
|
23
23
|
"name": "streamApiKey",
|
|
24
|
-
"label": "Stream
|
|
25
|
-
"description": "Your Bunny Stream library API key for the configured video library"
|
|
24
|
+
"label": "Stream API Key",
|
|
25
|
+
"description": "Your Bunny Stream library API key for the configured video library. Used for video, collection, upload, and fetch tools on video.bunnycdn.com."
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"name": "accountApiKey",
|
|
29
|
+
"label": "Account API Key",
|
|
30
|
+
"required": false,
|
|
31
|
+
"description": "Optional Bunny account API key from Account Settings > API Keys. Required only for account-level library tools: list_libraries, get_library, and create_library."
|
|
26
32
|
},
|
|
27
33
|
{
|
|
28
34
|
"name": "libraryId",
|
|
29
|
-
"label": "Library Id"
|
|
35
|
+
"label": "Library Id",
|
|
36
|
+
"description": "The numeric Bunny Stream video library ID used with the per-library Stream API key."
|
|
30
37
|
}
|
|
31
38
|
]
|
|
32
39
|
},
|
|
@@ -88,9 +95,15 @@
|
|
|
88
95
|
"tools": [
|
|
89
96
|
{
|
|
90
97
|
"name": "list_libraries",
|
|
91
|
-
"description": "List all video libraries in your account.
|
|
98
|
+
"description": "List all video libraries in your Bunny account. This is a Core API endpoint and requires the accountApiKey credential, not the per-library streamApiKey. Returns Id, Name, VideoCount, StorageUsage, PullZoneId, StorageZoneId, ApiKey, and ReadOnlyApiKey where available.",
|
|
92
99
|
"method": "GET",
|
|
93
100
|
"path": "/videolibrary",
|
|
101
|
+
"headers": {
|
|
102
|
+
"AccessKey": "{{accountApiKey}}"
|
|
103
|
+
},
|
|
104
|
+
"query_param_aliases": {
|
|
105
|
+
"itemsPerPage": "perPage"
|
|
106
|
+
},
|
|
94
107
|
"input_schema": {
|
|
95
108
|
"type": "object",
|
|
96
109
|
"properties": {
|
|
@@ -102,13 +115,13 @@
|
|
|
102
115
|
"itemsPerPage": {
|
|
103
116
|
"type": "integer",
|
|
104
117
|
"description": "Items per page",
|
|
105
|
-
"default":
|
|
106
|
-
"
|
|
118
|
+
"default": 1000,
|
|
119
|
+
"minimum": 5,
|
|
120
|
+
"maximum": 1000
|
|
107
121
|
},
|
|
108
|
-
"
|
|
109
|
-
"type": "
|
|
110
|
-
"description": "
|
|
111
|
-
"default": false
|
|
122
|
+
"search": {
|
|
123
|
+
"type": "string",
|
|
124
|
+
"description": "Search term used to filter video libraries"
|
|
112
125
|
}
|
|
113
126
|
}
|
|
114
127
|
},
|
|
@@ -136,19 +149,15 @@
|
|
|
136
149
|
},
|
|
137
150
|
{
|
|
138
151
|
"name": "get_library",
|
|
139
|
-
"description": "Get
|
|
152
|
+
"description": "Get account-level details for the configured video library. This is a Core API endpoint and requires accountApiKey, not streamApiKey.",
|
|
140
153
|
"method": "GET",
|
|
141
|
-
"
|
|
142
|
-
"
|
|
154
|
+
"path": "/videolibrary/{{credential.libraryId}}",
|
|
155
|
+
"headers": {
|
|
156
|
+
"AccessKey": "{{accountApiKey}}"
|
|
157
|
+
},
|
|
143
158
|
"input_schema": {
|
|
144
159
|
"type": "object",
|
|
145
|
-
"properties": {
|
|
146
|
-
"includeAccessKey": {
|
|
147
|
-
"type": "boolean",
|
|
148
|
-
"description": "Include library access key in response",
|
|
149
|
-
"default": false
|
|
150
|
-
}
|
|
151
|
-
}
|
|
160
|
+
"properties": {}
|
|
152
161
|
},
|
|
153
162
|
"mock_response": {
|
|
154
163
|
"Id": 12345,
|
|
@@ -167,9 +176,12 @@
|
|
|
167
176
|
},
|
|
168
177
|
{
|
|
169
178
|
"name": "create_library",
|
|
170
|
-
"description": "Create a new video library for organizing and hosting videos",
|
|
179
|
+
"description": "Create a new video library for organizing and hosting videos. This is a Core API endpoint and requires accountApiKey, not streamApiKey. The response includes the new library Id and ApiKey; use those as libraryId and streamApiKey for Stream tools.",
|
|
171
180
|
"method": "POST",
|
|
172
181
|
"path": "/videolibrary",
|
|
182
|
+
"headers": {
|
|
183
|
+
"AccessKey": "{{accountApiKey}}"
|
|
184
|
+
},
|
|
173
185
|
"input_schema": {
|
|
174
186
|
"type": "object",
|
|
175
187
|
"properties": {
|
|
@@ -257,7 +269,7 @@
|
|
|
257
269
|
},
|
|
258
270
|
{
|
|
259
271
|
"name": "list_videos",
|
|
260
|
-
"description": "List videos in the library with pagination and filtering. Each video includes guid, title, status, length, views, collectionId, and more. Pass collectionId to filter to one Bunny collection; the integration sends this to Bunny as the required collection query parameter.\n\
|
|
272
|
+
"description": "List videos in the library with pagination and filtering. Each video includes guid, videoLibraryId, title, status, length, views, collectionId, and more. Pass collectionId to filter to one Bunny collection; the integration sends this to Bunny as the required collection query parameter.\n\nURL construction for agents:\n- Use guid as the video ID.\n- Use videoLibraryId from the video response as the library ID. If videoLibraryId is missing, use the configured libraryId or the Id from list_libraries/get_library.\n- Embed/player URL: https://iframe.mediadelivery.net/embed/{videoLibraryId}/{guid}\n- Alternate player host: https://player.mediadelivery.net/embed/{videoLibraryId}/{guid}\n- Thumbnail URL: https://vz-{videoLibraryId}.b-cdn.net/{guid}/thumbnail.jpg\n- Direct MP4/download URLs are only available when MP4 fallback is enabled and require the library pull-zone hostname from Bunny; the video response alone is not enough.",
|
|
261
273
|
"method": "GET",
|
|
262
274
|
"base_url": "https://video.bunnycdn.com",
|
|
263
275
|
"path": "/library/{{credential.libraryId}}/videos",
|
|
@@ -324,7 +336,7 @@
|
|
|
324
336
|
},
|
|
325
337
|
{
|
|
326
338
|
"name": "get_video",
|
|
327
|
-
"description": "Get video details including status, encoding progress, resolution, duration, and metadata.\n\
|
|
339
|
+
"description": "Get video details including status, encoding progress, resolution, duration, collectionId, and metadata.\n\nURL construction for agents:\n- The guid field in the response is the Bunny video ID.\n- The videoLibraryId field in the response is the Bunny Stream library ID. If videoLibraryId is missing, use the configured libraryId or the Id from list_libraries/get_library.\n- Embed/player URL: https://iframe.mediadelivery.net/embed/{videoLibraryId}/{guid}\n- Alternate player host: https://player.mediadelivery.net/embed/{videoLibraryId}/{guid}\n- Thumbnail URL: https://vz-{videoLibraryId}.b-cdn.net/{guid}/thumbnail.jpg\n- Direct MP4/download URLs are not returned by get_video. They only work when MP4 fallback is enabled and require the library pull-zone hostname from Bunny, for example https://{pullZoneHostname}/{guid}/play_720p.mp4. Do not invent this hostname from guid or videoLibraryId alone.",
|
|
328
340
|
"method": "GET",
|
|
329
341
|
"base_url": "https://video.bunnycdn.com",
|
|
330
342
|
"path": "/library/{{credential.libraryId}}/videos/{videoId}",
|
|
@@ -406,7 +418,7 @@
|
|
|
406
418
|
},
|
|
407
419
|
{
|
|
408
420
|
"name": "update_video",
|
|
409
|
-
"description": "Update video metadata including title, description, chapters, moments, and tags",
|
|
421
|
+
"description": "Update video metadata including title, description, chapters, moments, and meta tags. metaTags must be an array of objects like [{\"property\":\"keywords\",\"value\":\"tag one, tag two\"}], not an array of strings.",
|
|
410
422
|
"method": "POST",
|
|
411
423
|
"base_url": "https://video.bunnycdn.com",
|
|
412
424
|
"path": "/library/{{credential.libraryId}}/videos/{videoId}",
|
|
@@ -465,9 +477,19 @@
|
|
|
465
477
|
"metaTags": {
|
|
466
478
|
"type": "array",
|
|
467
479
|
"items": {
|
|
468
|
-
"type": "
|
|
480
|
+
"type": "object",
|
|
481
|
+
"properties": {
|
|
482
|
+
"property": {
|
|
483
|
+
"type": "string",
|
|
484
|
+
"description": "Meta tag property/name, for example keywords, title, or description"
|
|
485
|
+
},
|
|
486
|
+
"value": {
|
|
487
|
+
"type": "string",
|
|
488
|
+
"description": "Meta tag value"
|
|
489
|
+
}
|
|
490
|
+
}
|
|
469
491
|
},
|
|
470
|
-
"description": "Meta tags for SEO"
|
|
492
|
+
"description": "Meta tags for SEO as Bunny MetaTagModel objects. Do not pass plain strings; use objects like {\"property\":\"keywords\",\"value\":\"tag one, tag two\"}."
|
|
471
493
|
}
|
|
472
494
|
},
|
|
473
495
|
"required": [
|
|
@@ -577,7 +599,7 @@
|
|
|
577
599
|
},
|
|
578
600
|
{
|
|
579
601
|
"name": "fetch_video",
|
|
580
|
-
"description": "Fetch and upload a video from an external URL to Bunny Stream for processing. If collectionId is provided, it is sent as Bunny's collectionId query parameter so the fetched video is assigned to that collection.",
|
|
602
|
+
"description": "Fetch and upload a video from an external URL to Bunny Stream for processing. If collectionId is provided, it is sent as Bunny's collectionId query parameter so the fetched video is assigned to that collection. thumbnailTime is in milliseconds.",
|
|
581
603
|
"method": "POST",
|
|
582
604
|
"base_url": "https://video.bunnycdn.com",
|
|
583
605
|
"path": "/library/{{credential.libraryId}}/videos/fetch",
|
|
@@ -602,7 +624,7 @@
|
|
|
602
624
|
},
|
|
603
625
|
"thumbnailTime": {
|
|
604
626
|
"type": "integer",
|
|
605
|
-
"description": "
|
|
627
|
+
"description": "Video time in milliseconds to generate the main thumbnail"
|
|
606
628
|
},
|
|
607
629
|
"headers": {
|
|
608
630
|
"type": "object",
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slug": "ccbill",
|
|
3
|
+
"name": "CCBill",
|
|
4
|
+
"description": "Adult-friendly payment processing API for CCBill RESTful tokenization, token-based charges, 3DS checks, and transaction lookup.",
|
|
5
|
+
"logo": "https://www.google.com/s2/favicons?domain=ccbill.com&sz=128",
|
|
6
|
+
"categories": ["payments", "adult", "high-risk", "subscriptions", "checkout"],
|
|
7
|
+
"base_url": "https://api.ccbill.com",
|
|
8
|
+
"auth": {
|
|
9
|
+
"types": ["bearer", "basic"],
|
|
10
|
+
"headers": {
|
|
11
|
+
"Authorization": "Bearer {{access_token}}",
|
|
12
|
+
"Accept": "application/vnd.mcn.transaction-service.api.v.2+json",
|
|
13
|
+
"Content-Type": "application/json"
|
|
14
|
+
},
|
|
15
|
+
"credential_fields": [
|
|
16
|
+
{
|
|
17
|
+
"name": "access_token",
|
|
18
|
+
"label": "Bearer Access Token",
|
|
19
|
+
"description": "CCBill OAuth access token used for RESTful transaction API calls.",
|
|
20
|
+
"required": false
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"name": "basic_auth",
|
|
24
|
+
"label": "OAuth Basic Auth",
|
|
25
|
+
"description": "Base64-encoded Merchant Application ID:Secret Key value for requesting an OAuth token. Do not include the 'Basic ' prefix.",
|
|
26
|
+
"required": false
|
|
27
|
+
}
|
|
28
|
+
]
|
|
29
|
+
},
|
|
30
|
+
"tools": [
|
|
31
|
+
{
|
|
32
|
+
"name": "request_oauth_token",
|
|
33
|
+
"description": "Request a CCBill OAuth bearer token using client credentials. Store the returned access_token in the connection before calling transaction tools.",
|
|
34
|
+
"method": "POST",
|
|
35
|
+
"path": "/ccbill-auth/oauth/token",
|
|
36
|
+
"headers": {
|
|
37
|
+
"Authorization": "Basic {{basic_auth}}",
|
|
38
|
+
"Content-Type": "application/x-www-form-urlencoded",
|
|
39
|
+
"Accept": "application/json"
|
|
40
|
+
},
|
|
41
|
+
"input_schema": {
|
|
42
|
+
"type": "object",
|
|
43
|
+
"properties": {
|
|
44
|
+
"grant_type": { "type": "string", "default": "client_credentials" }
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"name": "create_payment_token",
|
|
50
|
+
"description": "Create a CCBill payment token without CVV verification. Body is the raw CCBill tokenization payload with clientAccnum, clientSubacc, customerInfo, paymentInfo, timeToLive or validNumberOfUse.",
|
|
51
|
+
"method": "POST",
|
|
52
|
+
"path": "/payment-tokens/merchant-only",
|
|
53
|
+
"body_root_param": "body",
|
|
54
|
+
"input_schema": { "type": "object", "properties": { "body": { "type": "object" } }, "required": ["body"] }
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"name": "create_verified_payment_token",
|
|
58
|
+
"description": "Create a CCBill payment token with CVV/AVS verification. Body is the raw CCBill tokenization payload including creditCardPaymentInfo.cvv2.",
|
|
59
|
+
"method": "POST",
|
|
60
|
+
"path": "/payment-tokens/merchant-only-verify",
|
|
61
|
+
"body_root_param": "body",
|
|
62
|
+
"input_schema": { "type": "object", "properties": { "body": { "type": "object" } }, "required": ["body"] }
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"name": "create_3ds_verified_payment_token",
|
|
66
|
+
"description": "Create a CCBill payment token with CVV verification and 3DS/SCA result fields.",
|
|
67
|
+
"method": "POST",
|
|
68
|
+
"path": "/payment-tokens/merchant-only-verify-3ds",
|
|
69
|
+
"body_root_param": "body",
|
|
70
|
+
"input_schema": { "type": "object", "properties": { "body": { "type": "object" } }, "required": ["body"] }
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"name": "get_payment_token",
|
|
74
|
+
"description": "Retrieve a CCBill payment token by ID.",
|
|
75
|
+
"method": "GET",
|
|
76
|
+
"path": "/payment-tokens/{paymentTokenId}",
|
|
77
|
+
"input_schema": { "type": "object", "properties": { "paymentTokenId": { "type": "string" } }, "required": ["paymentTokenId"] }
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"name": "check_card_3ds_required",
|
|
81
|
+
"description": "Check whether a card BIN/last4 requires 3DS for a CCBill merchant/currency.",
|
|
82
|
+
"method": "GET",
|
|
83
|
+
"path": "/payment-tokens/threeds-required",
|
|
84
|
+
"input_schema": {
|
|
85
|
+
"type": "object",
|
|
86
|
+
"properties": {
|
|
87
|
+
"bin": { "type": "string" },
|
|
88
|
+
"last4": { "type": "string" },
|
|
89
|
+
"clientAccnum": { "type": "integer" },
|
|
90
|
+
"clientSubacc": { "type": "integer" },
|
|
91
|
+
"currencyCode": { "type": "integer" }
|
|
92
|
+
},
|
|
93
|
+
"required": ["bin", "last4", "clientAccnum", "clientSubacc", "currencyCode"]
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"name": "check_token_3ds_required",
|
|
98
|
+
"description": "Check whether a payment token requires 3DS for a specific currency.",
|
|
99
|
+
"method": "GET",
|
|
100
|
+
"path": "/payment-tokens/{paymentTokenId}/threeds-required",
|
|
101
|
+
"input_schema": { "type": "object", "properties": { "paymentTokenId": { "type": "string" }, "currencyCode": { "type": "integer" } }, "required": ["paymentTokenId", "currencyCode"] }
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"name": "charge_payment_token",
|
|
105
|
+
"description": "Create a CCBill transaction against a payment token. Body accepts initialPrice, initialPeriod, currencyCode, recurringPrice, recurringPeriod, rebills, passThroughInfo, createNewPaymentToken, and related CCBill transaction fields.",
|
|
106
|
+
"method": "POST",
|
|
107
|
+
"path": "/transactions/payment-tokens/{paymentTokenId}",
|
|
108
|
+
"body_root_param": "body",
|
|
109
|
+
"input_schema": { "type": "object", "properties": { "paymentTokenId": { "type": "string" }, "body": { "type": "object" } }, "required": ["paymentTokenId", "body"] }
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"name": "charge_3ds_payment_token",
|
|
113
|
+
"description": "Create a CCBill transaction against a payment token using 3DS result fields.",
|
|
114
|
+
"method": "POST",
|
|
115
|
+
"path": "/transactions/payment-tokens/threeds/{paymentTokenId}",
|
|
116
|
+
"body_root_param": "body",
|
|
117
|
+
"input_schema": { "type": "object", "properties": { "paymentTokenId": { "type": "string" }, "body": { "type": "object" } }, "required": ["paymentTokenId", "body"] }
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"name": "list_token_transactions",
|
|
121
|
+
"description": "View previous CCBill charges associated with a payment token and merchant account.",
|
|
122
|
+
"method": "GET",
|
|
123
|
+
"path": "/transactions/payment-tokens/{paymentTokenId}",
|
|
124
|
+
"input_schema": { "type": "object", "properties": { "paymentTokenId": { "type": "string" }, "clientAccnum": { "type": "integer" }, "clientSubacc": { "type": "integer" } }, "required": ["paymentTokenId", "clientAccnum"] }
|
|
125
|
+
}
|
|
126
|
+
],
|
|
127
|
+
"webhooks": {
|
|
128
|
+
"signature_header": "x-ccbill-signature",
|
|
129
|
+
"events": [
|
|
130
|
+
{ "name": "transaction.approved", "description": "A CCBill transaction was approved." },
|
|
131
|
+
{ "name": "transaction.denied", "description": "A CCBill transaction was denied." },
|
|
132
|
+
{ "name": "subscription.cancelled", "description": "A CCBill subscription was cancelled." },
|
|
133
|
+
{ "name": "subscription.rebill", "description": "A CCBill recurring billing event occurred." }
|
|
134
|
+
],
|
|
135
|
+
"registration": {
|
|
136
|
+
"method": "POST",
|
|
137
|
+
"path": "/",
|
|
138
|
+
"url_field": "url",
|
|
139
|
+
"manual_setup": "Configure CCBill Webhooks in the CCBill admin using the Apteva callback URL. CCBill webhook setup is merchant-account based and is not auto-registered by this integration."
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|