@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
@@ -1,255 +1,264 @@
1
1
  {
2
2
  "slug": "pipedrive",
3
3
  "name": "Pipedrive",
4
- "description": "MCP server for Pipedrive CRM operations - deals, persons, organizations, and pipelines",
4
+ "description": "Pipedrive CRM API for deals, contacts, organizations, pipelines, activities, products, notes, fields, users, and search.",
5
5
  "logo": "https://www.google.com/s2/favicons?domain=pipedrive.com&sz=128",
6
- "categories": [
7
- "crm",
8
- "pipedrive",
9
- "deals",
10
- "sales",
11
- "contacts"
12
- ],
6
+ "categories": ["crm", "pipedrive", "deals", "sales", "contacts"],
13
7
  "base_url": "https://api.pipedrive.com/v1",
14
8
  "auth": {
15
- "types": [
16
- "bearer"
17
- ],
18
- "headers": {
19
- "Authorization": "Bearer {{token}}"
9
+ "types": ["api_key"],
10
+ "query_params": {
11
+ "api_token": "{{api_token}}"
20
12
  },
21
13
  "credential_fields": [
22
14
  {
23
- "name": "token",
24
- "label": "API Key"
15
+ "name": "api_token",
16
+ "label": "API Token",
17
+ "type": "password",
18
+ "description": "Pipedrive personal API token from Personal preferences > API."
25
19
  }
26
20
  ]
27
21
  },
22
+ "health_check": {
23
+ "tool": "list_users"
24
+ },
28
25
  "tools": [
29
26
  {
30
27
  "name": "list_deals",
31
- "description": "List deals from Pipedrive",
32
- "method": "GET",
33
- "path": "/list-deals",
34
- "input_schema": {
35
- "type": "object",
36
- "properties": {
37
- "limit": {
38
- "type": "number",
39
- "description": "Maximum number of deals to return",
40
- "default": 100
41
- },
42
- "start": {
43
- "type": "number",
44
- "description": "Pagination offset",
45
- "default": 0
46
- },
47
- "status": {
48
- "type": "string",
49
- "description": "Deal status filter"
50
- },
51
- "stage_id": {
52
- "type": "number",
53
- "description": "Stage ID filter"
54
- },
55
- "sort": {
56
- "type": "string",
57
- "description": "Sort field and order"
58
- }
59
- }
60
- }
28
+ "description": "List deals. Supports pagination, status, user, stage, pipeline, filter, and sort parameters.",
29
+ "method": "GET",
30
+ "path": "/deals",
31
+ "query_params": ["limit", "start", "status", "user_id", "stage_id", "pipeline_id", "filter_id", "sort", "owned_by_you"],
32
+ "input_schema": {"type": "object", "properties": {"limit": {"type": "number", "default": 100}, "start": {"type": "number", "default": 0}, "status": {"type": "string"}, "user_id": {"type": "number"}, "stage_id": {"type": "number"}, "pipeline_id": {"type": "number"}, "filter_id": {"type": "number"}, "sort": {"type": "string"}, "owned_by_you": {"type": "boolean"}}}
33
+ },
34
+ {
35
+ "name": "get_deal",
36
+ "description": "Get one deal by ID.",
37
+ "method": "GET",
38
+ "path": "/deals/{dealId}",
39
+ "path_params": ["dealId"],
40
+ "input_schema": {"type": "object", "properties": {"dealId": {"type": "number"}}, "required": ["dealId"]}
61
41
  },
62
42
  {
63
43
  "name": "create_deal",
64
- "description": "Create a new deal in Pipedrive",
44
+ "description": "Create a deal. Common fields include title, value, currency, person_id, org_id, stage_id, pipeline_id, status, expected_close_date, and custom fields.",
65
45
  "method": "POST",
66
- "path": "/create-deal",
67
- "input_schema": {
68
- "type": "object",
69
- "properties": {
70
- "title": {
71
- "type": "string",
72
- "description": "Deal title"
73
- },
74
- "value": {
75
- "type": "number",
76
- "description": "Deal value"
77
- },
78
- "currency": {
79
- "type": "string",
80
- "description": "Currency code"
81
- },
82
- "person_id": {
83
- "type": "number",
84
- "description": "Person ID"
85
- },
86
- "org_id": {
87
- "type": "number",
88
- "description": "Organization ID"
89
- },
90
- "stage_id": {
91
- "type": "number",
92
- "description": "Stage ID"
93
- },
94
- "expected_close_date": {
95
- "type": "string",
96
- "description": "Expected close date"
97
- }
98
- },
99
- "required": [
100
- "title"
101
- ]
102
- }
46
+ "path": "/deals",
47
+ "input_schema": {"type": "object", "properties": {"title": {"type": "string"}, "value": {"type": "number"}, "currency": {"type": "string"}, "person_id": {"type": "number"}, "org_id": {"type": "number"}, "stage_id": {"type": "number"}, "pipeline_id": {"type": "number"}, "status": {"type": "string"}, "expected_close_date": {"type": "string"}}, "required": ["title"]}
103
48
  },
104
49
  {
105
50
  "name": "update_deal",
106
- "description": "Update an existing deal",
51
+ "description": "Update a deal by ID. Include any Pipedrive deal fields or custom field keys.",
107
52
  "method": "PUT",
108
- "path": "/update-deal",
109
- "input_schema": {
110
- "type": "object",
111
- "properties": {
112
- "deal_id": {
113
- "type": "number",
114
- "description": "ID of the deal to update"
115
- },
116
- "title": {
117
- "type": "string",
118
- "description": "Deal title"
119
- },
120
- "value": {
121
- "type": "number",
122
- "description": "Deal value"
123
- },
124
- "status": {
125
- "type": "string",
126
- "description": "Deal status"
127
- },
128
- "stage_id": {
129
- "type": "number",
130
- "description": "Stage ID"
131
- }
132
- },
133
- "required": [
134
- "deal_id"
135
- ]
136
- }
53
+ "path": "/deals/{dealId}",
54
+ "path_params": ["dealId"],
55
+ "input_schema": {"type": "object", "properties": {"dealId": {"type": "number"}, "title": {"type": "string"}, "value": {"type": "number"}, "currency": {"type": "string"}, "person_id": {"type": "number"}, "org_id": {"type": "number"}, "stage_id": {"type": "number"}, "pipeline_id": {"type": "number"}, "status": {"type": "string"}, "expected_close_date": {"type": "string"}}, "required": ["dealId"]}
56
+ },
57
+ {
58
+ "name": "delete_deal",
59
+ "description": "Delete one deal by ID.",
60
+ "method": "DELETE",
61
+ "path": "/deals/{dealId}",
62
+ "path_params": ["dealId"],
63
+ "input_schema": {"type": "object", "properties": {"dealId": {"type": "number"}}, "required": ["dealId"]}
137
64
  },
138
65
  {
139
66
  "name": "list_persons",
140
- "description": "List persons from Pipedrive",
141
- "method": "GET",
142
- "path": "/list-persons",
143
- "input_schema": {
144
- "type": "object",
145
- "properties": {
146
- "limit": {
147
- "type": "number",
148
- "description": "Maximum number to return",
149
- "default": 100
150
- },
151
- "start": {
152
- "type": "number",
153
- "description": "Pagination offset"
154
- },
155
- "sort": {
156
- "type": "string",
157
- "description": "Sort field and order"
158
- }
159
- }
160
- }
67
+ "description": "List people/contacts.",
68
+ "method": "GET",
69
+ "path": "/persons",
70
+ "query_params": ["limit", "start", "user_id", "filter_id", "sort"],
71
+ "input_schema": {"type": "object", "properties": {"limit": {"type": "number", "default": 100}, "start": {"type": "number", "default": 0}, "user_id": {"type": "number"}, "filter_id": {"type": "number"}, "sort": {"type": "string"}}}
72
+ },
73
+ {
74
+ "name": "get_person",
75
+ "description": "Get one person/contact by ID.",
76
+ "method": "GET",
77
+ "path": "/persons/{personId}",
78
+ "path_params": ["personId"],
79
+ "input_schema": {"type": "object", "properties": {"personId": {"type": "number"}}, "required": ["personId"]}
161
80
  },
162
81
  {
163
82
  "name": "create_person",
164
- "description": "Create a new person in Pipedrive",
83
+ "description": "Create a person/contact. Common fields include name, email, phone, org_id, owner_id, and custom fields.",
165
84
  "method": "POST",
166
- "path": "/create-person",
167
- "input_schema": {
168
- "type": "object",
169
- "properties": {
170
- "name": {
171
- "type": "string",
172
- "description": "Person name"
173
- },
174
- "email": {
175
- "type": "string",
176
- "description": "Email address"
177
- },
178
- "phone": {
179
- "type": "string",
180
- "description": "Phone number"
181
- },
182
- "org_id": {
183
- "type": "number",
184
- "description": "Organization ID"
185
- }
186
- },
187
- "required": [
188
- "name"
189
- ]
190
- }
85
+ "path": "/persons",
86
+ "input_schema": {"type": "object", "properties": {"name": {"type": "string"}, "email": {"type": "string"}, "phone": {"type": "string"}, "org_id": {"type": "number"}, "owner_id": {"type": "number"}}, "required": ["name"]}
87
+ },
88
+ {
89
+ "name": "update_person",
90
+ "description": "Update a person/contact by ID.",
91
+ "method": "PUT",
92
+ "path": "/persons/{personId}",
93
+ "path_params": ["personId"],
94
+ "input_schema": {"type": "object", "properties": {"personId": {"type": "number"}, "name": {"type": "string"}, "email": {"type": "string"}, "phone": {"type": "string"}, "org_id": {"type": "number"}, "owner_id": {"type": "number"}}, "required": ["personId"]}
95
+ },
96
+ {
97
+ "name": "delete_person",
98
+ "description": "Delete one person/contact by ID.",
99
+ "method": "DELETE",
100
+ "path": "/persons/{personId}",
101
+ "path_params": ["personId"],
102
+ "input_schema": {"type": "object", "properties": {"personId": {"type": "number"}}, "required": ["personId"]}
191
103
  },
192
104
  {
193
105
  "name": "list_organizations",
194
- "description": "List organizations from Pipedrive",
195
- "method": "GET",
196
- "path": "/list-organizations",
197
- "input_schema": {
198
- "type": "object",
199
- "properties": {
200
- "limit": {
201
- "type": "number",
202
- "description": "Maximum number to return",
203
- "default": 100
204
- },
205
- "start": {
206
- "type": "number",
207
- "description": "Pagination offset"
208
- },
209
- "sort": {
210
- "type": "string",
211
- "description": "Sort field and order"
212
- }
213
- }
214
- }
106
+ "description": "List organizations.",
107
+ "method": "GET",
108
+ "path": "/organizations",
109
+ "query_params": ["limit", "start", "user_id", "filter_id", "sort"],
110
+ "input_schema": {"type": "object", "properties": {"limit": {"type": "number", "default": 100}, "start": {"type": "number", "default": 0}, "user_id": {"type": "number"}, "filter_id": {"type": "number"}, "sort": {"type": "string"}}}
111
+ },
112
+ {
113
+ "name": "get_organization",
114
+ "description": "Get one organization by ID.",
115
+ "method": "GET",
116
+ "path": "/organizations/{organizationId}",
117
+ "path_params": ["organizationId"],
118
+ "input_schema": {"type": "object", "properties": {"organizationId": {"type": "number"}}, "required": ["organizationId"]}
119
+ },
120
+ {
121
+ "name": "create_organization",
122
+ "description": "Create an organization. Include name plus any standard or custom organization fields.",
123
+ "method": "POST",
124
+ "path": "/organizations",
125
+ "input_schema": {"type": "object", "properties": {"name": {"type": "string"}, "owner_id": {"type": "number"}, "address": {"type": "string"}, "visible_to": {"type": "string"}}, "required": ["name"]}
126
+ },
127
+ {
128
+ "name": "update_organization",
129
+ "description": "Update an organization by ID.",
130
+ "method": "PUT",
131
+ "path": "/organizations/{organizationId}",
132
+ "path_params": ["organizationId"],
133
+ "input_schema": {"type": "object", "properties": {"organizationId": {"type": "number"}, "name": {"type": "string"}, "owner_id": {"type": "number"}, "address": {"type": "string"}, "visible_to": {"type": "string"}}, "required": ["organizationId"]}
134
+ },
135
+ {
136
+ "name": "delete_organization",
137
+ "description": "Delete one organization by ID.",
138
+ "method": "DELETE",
139
+ "path": "/organizations/{organizationId}",
140
+ "path_params": ["organizationId"],
141
+ "input_schema": {"type": "object", "properties": {"organizationId": {"type": "number"}}, "required": ["organizationId"]}
215
142
  },
216
143
  {
217
144
  "name": "list_pipelines",
218
- "description": "List pipelines from Pipedrive",
145
+ "description": "List sales pipelines.",
219
146
  "method": "GET",
220
- "path": "/list-pipelines",
221
- "input_schema": {
222
- "type": "object",
223
- "properties": {}
224
- }
147
+ "path": "/pipelines",
148
+ "input_schema": {"type": "object", "properties": {}}
149
+ },
150
+ {
151
+ "name": "get_pipeline",
152
+ "description": "Get one pipeline by ID.",
153
+ "method": "GET",
154
+ "path": "/pipelines/{pipelineId}",
155
+ "path_params": ["pipelineId"],
156
+ "input_schema": {"type": "object", "properties": {"pipelineId": {"type": "number"}}, "required": ["pipelineId"]}
157
+ },
158
+ {
159
+ "name": "list_stages",
160
+ "description": "List stages, optionally filtered by pipeline.",
161
+ "method": "GET",
162
+ "path": "/stages",
163
+ "query_params": ["pipeline_id"],
164
+ "input_schema": {"type": "object", "properties": {"pipeline_id": {"type": "number"}}}
225
165
  },
226
166
  {
227
167
  "name": "list_activities",
228
- "description": "List activities from Pipedrive",
229
- "method": "GET",
230
- "path": "/list-activities",
231
- "input_schema": {
232
- "type": "object",
233
- "properties": {
234
- "limit": {
235
- "type": "number",
236
- "description": "Maximum number to return",
237
- "default": 100
238
- },
239
- "start": {
240
- "type": "number",
241
- "description": "Pagination offset"
242
- },
243
- "type": {
244
- "type": "string",
245
- "description": "Activity type filter"
246
- },
247
- "done": {
248
- "type": "boolean",
249
- "description": "Filter by completion status"
250
- }
251
- }
252
- }
168
+ "description": "List activities. Supports filtering by user, deal, person, organization, type, done status, and date range.",
169
+ "method": "GET",
170
+ "path": "/activities",
171
+ "query_params": ["limit", "start", "user_id", "deal_id", "person_id", "org_id", "type", "done", "start_date", "end_date"],
172
+ "input_schema": {"type": "object", "properties": {"limit": {"type": "number", "default": 100}, "start": {"type": "number", "default": 0}, "user_id": {"type": "number"}, "deal_id": {"type": "number"}, "person_id": {"type": "number"}, "org_id": {"type": "number"}, "type": {"type": "string"}, "done": {"type": "boolean"}, "start_date": {"type": "string"}, "end_date": {"type": "string"}}}
173
+ },
174
+ {
175
+ "name": "create_activity",
176
+ "description": "Create an activity. Common fields include subject, type, due_date, due_time, duration, deal_id, person_id, org_id, user_id, and note.",
177
+ "method": "POST",
178
+ "path": "/activities",
179
+ "input_schema": {"type": "object", "properties": {"subject": {"type": "string"}, "type": {"type": "string"}, "due_date": {"type": "string"}, "due_time": {"type": "string"}, "duration": {"type": "string"}, "deal_id": {"type": "number"}, "person_id": {"type": "number"}, "org_id": {"type": "number"}, "user_id": {"type": "number"}, "note": {"type": "string"}}, "required": ["subject"]}
180
+ },
181
+ {
182
+ "name": "update_activity",
183
+ "description": "Update an activity by ID.",
184
+ "method": "PUT",
185
+ "path": "/activities/{activityId}",
186
+ "path_params": ["activityId"],
187
+ "input_schema": {"type": "object", "properties": {"activityId": {"type": "number"}, "subject": {"type": "string"}, "type": {"type": "string"}, "done": {"type": "boolean"}, "due_date": {"type": "string"}, "due_time": {"type": "string"}, "duration": {"type": "string"}, "note": {"type": "string"}}, "required": ["activityId"]}
188
+ },
189
+ {
190
+ "name": "delete_activity",
191
+ "description": "Delete one activity by ID.",
192
+ "method": "DELETE",
193
+ "path": "/activities/{activityId}",
194
+ "path_params": ["activityId"],
195
+ "input_schema": {"type": "object", "properties": {"activityId": {"type": "number"}}, "required": ["activityId"]}
196
+ },
197
+ {
198
+ "name": "list_activity_types",
199
+ "description": "List configured activity types.",
200
+ "method": "GET",
201
+ "path": "/activityTypes",
202
+ "input_schema": {"type": "object", "properties": {}}
203
+ },
204
+ {
205
+ "name": "list_notes",
206
+ "description": "List notes, optionally filtered by deal, person, organization, lead, or user.",
207
+ "method": "GET",
208
+ "path": "/notes",
209
+ "query_params": ["limit", "start", "deal_id", "person_id", "org_id", "lead_id", "user_id"],
210
+ "input_schema": {"type": "object", "properties": {"limit": {"type": "number", "default": 100}, "start": {"type": "number", "default": 0}, "deal_id": {"type": "number"}, "person_id": {"type": "number"}, "org_id": {"type": "number"}, "lead_id": {"type": "string"}, "user_id": {"type": "number"}}}
211
+ },
212
+ {
213
+ "name": "create_note",
214
+ "description": "Create a note linked to a deal, person, organization, or lead.",
215
+ "method": "POST",
216
+ "path": "/notes",
217
+ "input_schema": {"type": "object", "properties": {"content": {"type": "string"}, "deal_id": {"type": "number"}, "person_id": {"type": "number"}, "org_id": {"type": "number"}, "lead_id": {"type": "string"}}, "required": ["content"]}
218
+ },
219
+ {
220
+ "name": "list_products",
221
+ "description": "List products.",
222
+ "method": "GET",
223
+ "path": "/products",
224
+ "query_params": ["limit", "start", "search_by_code"],
225
+ "input_schema": {"type": "object", "properties": {"limit": {"type": "number", "default": 100}, "start": {"type": "number", "default": 0}, "search_by_code": {"type": "string"}}}
226
+ },
227
+ {
228
+ "name": "list_users",
229
+ "description": "List Pipedrive users.",
230
+ "method": "GET",
231
+ "path": "/users",
232
+ "input_schema": {"type": "object", "properties": {}}
233
+ },
234
+ {
235
+ "name": "list_deal_fields",
236
+ "description": "List deal fields, including custom field keys agents can use in create/update deal calls.",
237
+ "method": "GET",
238
+ "path": "/dealFields",
239
+ "input_schema": {"type": "object", "properties": {}}
240
+ },
241
+ {
242
+ "name": "list_person_fields",
243
+ "description": "List person fields, including custom field keys agents can use in create/update person calls.",
244
+ "method": "GET",
245
+ "path": "/personFields",
246
+ "input_schema": {"type": "object", "properties": {}}
247
+ },
248
+ {
249
+ "name": "list_organization_fields",
250
+ "description": "List organization fields, including custom field keys agents can use in create/update organization calls.",
251
+ "method": "GET",
252
+ "path": "/organizationFields",
253
+ "input_schema": {"type": "object", "properties": {}}
254
+ },
255
+ {
256
+ "name": "search_items",
257
+ "description": "Search across deals, persons, organizations, products, leads, and files.",
258
+ "method": "GET",
259
+ "path": "/itemSearch",
260
+ "query_params": ["term", "item_types", "fields", "search_for_related_items", "exact_match", "limit", "start"],
261
+ "input_schema": {"type": "object", "properties": {"term": {"type": "string"}, "item_types": {"type": "string", "description": "Comma-separated item types, e.g. deal,person,organization,product,lead,file."}, "fields": {"type": "string"}, "search_for_related_items": {"type": "boolean"}, "exact_match": {"type": "boolean"}, "limit": {"type": "number", "default": 100}, "start": {"type": "number", "default": 0}}, "required": ["term"]}
253
262
  }
254
263
  ]
255
264
  }
@@ -0,0 +1,132 @@
1
+ {
2
+ "slug": "publishdrive",
3
+ "name": "PublishDrive",
4
+ "description": "PublishDrive publisher API for book distribution, metadata updates, store availability, sales, and royalty reporting. API access is partner/sales-gated; endpoint shapes may vary by account contract.",
5
+ "logo": "https://www.google.com/s2/favicons?domain=publishdrive.com&sz=128",
6
+ "categories": ["books", "publishing", "distribution", "ebooks", "royalties"],
7
+ "base_url": "https://api.publishdrive.com/v1",
8
+ "auth": {
9
+ "types": ["bearer"],
10
+ "headers": {
11
+ "Authorization": "Bearer {{token}}",
12
+ "Accept": "application/json"
13
+ },
14
+ "credential_fields": [
15
+ {
16
+ "name": "token",
17
+ "label": "API token",
18
+ "description": "PublishDrive API token. API access may need to be enabled by PublishDrive support."
19
+ }
20
+ ]
21
+ },
22
+ "tools": [
23
+ {
24
+ "name": "list_books",
25
+ "description": "List books in the PublishDrive account.",
26
+ "method": "GET",
27
+ "path": "/books",
28
+ "query_params": ["page", "limit", "status"],
29
+ "input_schema": {
30
+ "type": "object",
31
+ "properties": {
32
+ "page": { "type": "integer" },
33
+ "limit": { "type": "integer", "description": "Maximum page size; PublishDrive may cap this." },
34
+ "status": { "type": "string", "description": "Optional provider status filter, for example draft, pending, published, rejected." }
35
+ }
36
+ }
37
+ },
38
+ {
39
+ "name": "get_book",
40
+ "description": "Fetch one PublishDrive book by provider book ID.",
41
+ "method": "GET",
42
+ "path": "/books/{book_id}",
43
+ "input_schema": {
44
+ "type": "object",
45
+ "properties": {
46
+ "book_id": { "type": "string" }
47
+ },
48
+ "required": ["book_id"]
49
+ }
50
+ },
51
+ {
52
+ "name": "create_book",
53
+ "description": "Create/upload a book package. The body should follow the PublishDrive contract enabled for the account.",
54
+ "method": "POST",
55
+ "path": "/books",
56
+ "body_root_param": "body",
57
+ "timeout_ms": 120000,
58
+ "input_schema": {
59
+ "type": "object",
60
+ "properties": {
61
+ "body": {
62
+ "type": "object",
63
+ "description": "PublishDrive book payload including metadata, contributors, prices, territories, ebook/audiobook/cover asset URLs, and distribution settings."
64
+ }
65
+ },
66
+ "required": ["body"]
67
+ }
68
+ },
69
+ {
70
+ "name": "update_book",
71
+ "description": "Update PublishDrive metadata or distribution settings for a book.",
72
+ "method": "PUT",
73
+ "path": "/books/{book_id}",
74
+ "body_root_param": "body",
75
+ "timeout_ms": 120000,
76
+ "input_schema": {
77
+ "type": "object",
78
+ "properties": {
79
+ "book_id": { "type": "string" },
80
+ "body": { "type": "object", "description": "PublishDrive book update payload." }
81
+ },
82
+ "required": ["book_id", "body"]
83
+ }
84
+ },
85
+ {
86
+ "name": "list_stores",
87
+ "description": "List distribution stores/retailers available to the PublishDrive account.",
88
+ "method": "GET",
89
+ "path": "/stores",
90
+ "input_schema": {
91
+ "type": "object",
92
+ "properties": {}
93
+ }
94
+ },
95
+ {
96
+ "name": "get_sales",
97
+ "description": "Fetch PublishDrive sales reports for a date range.",
98
+ "method": "GET",
99
+ "path": "/reports/sales",
100
+ "query_params": ["from", "to", "book_id", "store_id", "page", "limit"],
101
+ "input_schema": {
102
+ "type": "object",
103
+ "properties": {
104
+ "from": { "type": "string", "description": "Start date, YYYY-MM-DD." },
105
+ "to": { "type": "string", "description": "End date, YYYY-MM-DD." },
106
+ "book_id": { "type": "string" },
107
+ "store_id": { "type": "string" },
108
+ "page": { "type": "integer" },
109
+ "limit": { "type": "integer" }
110
+ }
111
+ }
112
+ },
113
+ {
114
+ "name": "get_royalties",
115
+ "description": "Fetch PublishDrive royalty reports for a date range.",
116
+ "method": "GET",
117
+ "path": "/reports/royalties",
118
+ "query_params": ["from", "to", "book_id", "store_id", "page", "limit"],
119
+ "input_schema": {
120
+ "type": "object",
121
+ "properties": {
122
+ "from": { "type": "string", "description": "Start date, YYYY-MM-DD." },
123
+ "to": { "type": "string", "description": "End date, YYYY-MM-DD." },
124
+ "book_id": { "type": "string" },
125
+ "store_id": { "type": "string" },
126
+ "page": { "type": "integer" },
127
+ "limit": { "type": "integer" }
128
+ }
129
+ }
130
+ }
131
+ ]
132
+ }