@apteva/integrations 0.15.7 → 0.15.9

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.
@@ -72,8 +72,15 @@
72
72
  "input_schema": {
73
73
  "type": "object",
74
74
  "properties": {
75
- "page.size": { "type": "integer", "default": 25, "description": "Max 200" },
76
- "after": { "type": "string", "description": "Cursor from previous response" }
75
+ "page.size": {
76
+ "type": "integer",
77
+ "default": 25,
78
+ "description": "Max 200"
79
+ },
80
+ "after": {
81
+ "type": "string",
82
+ "description": "Cursor from previous response"
83
+ }
77
84
  }
78
85
  }
79
86
  },
@@ -85,13 +92,28 @@
85
92
  "input_schema": {
86
93
  "type": "object",
87
94
  "properties": {
88
- "ad_account_id": { "type": "string" },
89
- "page.size": { "type": "integer", "default": 25 },
90
- "after": { "type": "string" },
91
- "filter[id]": { "type": "string", "description": "Comma-separated campaign IDs" },
92
- "filter[effective_status]": { "type": "string", "description": "Comma-separated: ACTIVE,PAUSED,ARCHIVED,DRAFT" }
95
+ "ad_account_id": {
96
+ "type": "string"
97
+ },
98
+ "page.size": {
99
+ "type": "integer",
100
+ "default": 25
101
+ },
102
+ "after": {
103
+ "type": "string"
104
+ },
105
+ "filter[id]": {
106
+ "type": "string",
107
+ "description": "Comma-separated campaign IDs"
108
+ },
109
+ "filter[effective_status]": {
110
+ "type": "string",
111
+ "description": "Comma-separated: ACTIVE,PAUSED,ARCHIVED,DRAFT"
112
+ }
93
113
  },
94
- "required": ["ad_account_id"]
114
+ "required": [
115
+ "ad_account_id"
116
+ ]
95
117
  }
96
118
  },
97
119
  {
@@ -102,13 +124,18 @@
102
124
  "input_schema": {
103
125
  "type": "object",
104
126
  "properties": {
105
- "ad_account_id": { "type": "string" },
127
+ "ad_account_id": {
128
+ "type": "string"
129
+ },
106
130
  "data": {
107
131
  "type": "object",
108
132
  "description": "Campaign fields under the data wrapper"
109
133
  }
110
134
  },
111
- "required": ["ad_account_id", "data"]
135
+ "required": [
136
+ "ad_account_id",
137
+ "data"
138
+ ]
112
139
  }
113
140
  },
114
141
  {
@@ -119,11 +146,21 @@
119
146
  "input_schema": {
120
147
  "type": "object",
121
148
  "properties": {
122
- "ad_account_id": { "type": "string" },
123
- "campaign_id": { "type": "string" },
124
- "data": { "type": "object" }
149
+ "ad_account_id": {
150
+ "type": "string"
151
+ },
152
+ "campaign_id": {
153
+ "type": "string"
154
+ },
155
+ "data": {
156
+ "type": "object"
157
+ }
125
158
  },
126
- "required": ["ad_account_id", "campaign_id", "data"]
159
+ "required": [
160
+ "ad_account_id",
161
+ "campaign_id",
162
+ "data"
163
+ ]
127
164
  }
128
165
  },
129
166
  {
@@ -134,13 +171,27 @@
134
171
  "input_schema": {
135
172
  "type": "object",
136
173
  "properties": {
137
- "ad_account_id": { "type": "string" },
138
- "page.size": { "type": "integer", "default": 25 },
139
- "after": { "type": "string" },
140
- "filter[campaign_id]": { "type": "string", "description": "Comma-separated campaign IDs" },
141
- "filter[effective_status]": { "type": "string" }
174
+ "ad_account_id": {
175
+ "type": "string"
176
+ },
177
+ "page.size": {
178
+ "type": "integer",
179
+ "default": 25
180
+ },
181
+ "after": {
182
+ "type": "string"
183
+ },
184
+ "filter[campaign_id]": {
185
+ "type": "string",
186
+ "description": "Comma-separated campaign IDs"
187
+ },
188
+ "filter[effective_status]": {
189
+ "type": "string"
190
+ }
142
191
  },
143
- "required": ["ad_account_id"]
192
+ "required": [
193
+ "ad_account_id"
194
+ ]
144
195
  }
145
196
  },
146
197
  {
@@ -151,10 +202,17 @@
151
202
  "input_schema": {
152
203
  "type": "object",
153
204
  "properties": {
154
- "ad_account_id": { "type": "string" },
155
- "data": { "type": "object" }
205
+ "ad_account_id": {
206
+ "type": "string"
207
+ },
208
+ "data": {
209
+ "type": "object"
210
+ }
156
211
  },
157
- "required": ["ad_account_id", "data"]
212
+ "required": [
213
+ "ad_account_id",
214
+ "data"
215
+ ]
158
216
  }
159
217
  },
160
218
  {
@@ -165,13 +223,26 @@
165
223
  "input_schema": {
166
224
  "type": "object",
167
225
  "properties": {
168
- "ad_account_id": { "type": "string" },
169
- "page.size": { "type": "integer", "default": 25 },
170
- "after": { "type": "string" },
171
- "filter[ad_group_id]": { "type": "string" },
172
- "filter[campaign_id]": { "type": "string" }
226
+ "ad_account_id": {
227
+ "type": "string"
228
+ },
229
+ "page.size": {
230
+ "type": "integer",
231
+ "default": 25
232
+ },
233
+ "after": {
234
+ "type": "string"
235
+ },
236
+ "filter[ad_group_id]": {
237
+ "type": "string"
238
+ },
239
+ "filter[campaign_id]": {
240
+ "type": "string"
241
+ }
173
242
  },
174
- "required": ["ad_account_id"]
243
+ "required": [
244
+ "ad_account_id"
245
+ ]
175
246
  }
176
247
  },
177
248
  {
@@ -182,10 +253,17 @@
182
253
  "input_schema": {
183
254
  "type": "object",
184
255
  "properties": {
185
- "ad_account_id": { "type": "string" },
186
- "data": { "type": "object" }
256
+ "ad_account_id": {
257
+ "type": "string"
258
+ },
259
+ "data": {
260
+ "type": "object"
261
+ }
187
262
  },
188
- "required": ["ad_account_id", "data"]
263
+ "required": [
264
+ "ad_account_id",
265
+ "data"
266
+ ]
189
267
  }
190
268
  },
191
269
  {
@@ -196,11 +274,20 @@
196
274
  "input_schema": {
197
275
  "type": "object",
198
276
  "properties": {
199
- "ad_account_id": { "type": "string" },
200
- "page.size": { "type": "integer", "default": 25 },
201
- "after": { "type": "string" }
277
+ "ad_account_id": {
278
+ "type": "string"
279
+ },
280
+ "page.size": {
281
+ "type": "integer",
282
+ "default": 25
283
+ },
284
+ "after": {
285
+ "type": "string"
286
+ }
202
287
  },
203
- "required": ["ad_account_id"]
288
+ "required": [
289
+ "ad_account_id"
290
+ ]
204
291
  }
205
292
  },
206
293
  {
@@ -211,10 +298,17 @@
211
298
  "input_schema": {
212
299
  "type": "object",
213
300
  "properties": {
214
- "ad_account_id": { "type": "string" },
215
- "data": { "type": "object" }
301
+ "ad_account_id": {
302
+ "type": "string"
303
+ },
304
+ "data": {
305
+ "type": "object"
306
+ }
216
307
  },
217
- "required": ["ad_account_id", "data"]
308
+ "required": [
309
+ "ad_account_id",
310
+ "data"
311
+ ]
218
312
  }
219
313
  },
220
314
  {
@@ -225,13 +319,192 @@
225
319
  "input_schema": {
226
320
  "type": "object",
227
321
  "properties": {
228
- "ad_account_id": { "type": "string" },
322
+ "ad_account_id": {
323
+ "type": "string"
324
+ },
229
325
  "data": {
230
326
  "type": "object",
231
327
  "description": "{\"breakdowns\": [\"DATE\",\"CAMPAIGN_ID\"], \"starts_at\": \"2026-01-01T00:00:00Z\", \"ends_at\": \"2026-01-31T00:00:00Z\", \"fields\": [\"impressions\",\"clicks\",\"spend\"], \"time_zone_id\": \"GMT\"}"
232
328
  }
233
329
  },
234
- "required": ["ad_account_id", "data"]
330
+ "required": [
331
+ "ad_account_id",
332
+ "data"
333
+ ]
334
+ }
335
+ },
336
+ {
337
+ "name": "update_ad_group",
338
+ "description": "Update an ad group by id.",
339
+ "method": "PATCH",
340
+ "path": "/ad_accounts/{ad_account_id}/ad_groups/{ad_group_id}",
341
+ "input_schema": {
342
+ "type": "object",
343
+ "properties": {
344
+ "ad_account_id": {
345
+ "type": "string"
346
+ },
347
+ "ad_group_id": {
348
+ "type": "string"
349
+ },
350
+ "data": {
351
+ "type": "object",
352
+ "description": "Raw vendor payload object."
353
+ }
354
+ },
355
+ "required": [
356
+ "ad_account_id",
357
+ "ad_group_id",
358
+ "data"
359
+ ]
360
+ }
361
+ },
362
+ {
363
+ "name": "delete_ad_group",
364
+ "description": "Archive/delete an ad group by setting configured_status/effective status through the API.",
365
+ "method": "PATCH",
366
+ "path": "/ad_accounts/{ad_account_id}/ad_groups/{ad_group_id}",
367
+ "input_schema": {
368
+ "type": "object",
369
+ "properties": {
370
+ "ad_account_id": {
371
+ "type": "string"
372
+ },
373
+ "ad_group_id": {
374
+ "type": "string"
375
+ },
376
+ "data": {
377
+ "type": "object",
378
+ "description": "{\"configured_status\":\"DELETED\"}"
379
+ }
380
+ },
381
+ "required": [
382
+ "ad_account_id",
383
+ "ad_group_id",
384
+ "data"
385
+ ]
386
+ }
387
+ },
388
+ {
389
+ "name": "update_ad",
390
+ "description": "Update an ad by id.",
391
+ "method": "PATCH",
392
+ "path": "/ad_accounts/{ad_account_id}/ads/{ad_id}",
393
+ "input_schema": {
394
+ "type": "object",
395
+ "properties": {
396
+ "ad_account_id": {
397
+ "type": "string"
398
+ },
399
+ "ad_id": {
400
+ "type": "string"
401
+ },
402
+ "data": {
403
+ "type": "object",
404
+ "description": "Raw vendor payload object."
405
+ }
406
+ },
407
+ "required": [
408
+ "ad_account_id",
409
+ "ad_id",
410
+ "data"
411
+ ]
412
+ }
413
+ },
414
+ {
415
+ "name": "delete_ad",
416
+ "description": "Archive/delete an ad by setting configured_status/effective status through the API.",
417
+ "method": "PATCH",
418
+ "path": "/ad_accounts/{ad_account_id}/ads/{ad_id}",
419
+ "input_schema": {
420
+ "type": "object",
421
+ "properties": {
422
+ "ad_account_id": {
423
+ "type": "string"
424
+ },
425
+ "ad_id": {
426
+ "type": "string"
427
+ },
428
+ "data": {
429
+ "type": "object",
430
+ "description": "{\"configured_status\":\"DELETED\"}"
431
+ }
432
+ },
433
+ "required": [
434
+ "ad_account_id",
435
+ "ad_id",
436
+ "data"
437
+ ]
438
+ }
439
+ },
440
+ {
441
+ "name": "upload_media",
442
+ "description": "Upload or register media for promoted posts/ads. Use the raw Reddit Ads media payload supported by the account.",
443
+ "method": "POST",
444
+ "path": "/ad_accounts/{ad_account_id}/media",
445
+ "input_schema": {
446
+ "type": "object",
447
+ "properties": {
448
+ "ad_account_id": {
449
+ "type": "string"
450
+ },
451
+ "data": {
452
+ "type": "object",
453
+ "description": "Raw vendor payload object."
454
+ }
455
+ },
456
+ "required": [
457
+ "ad_account_id",
458
+ "data"
459
+ ]
460
+ }
461
+ },
462
+ {
463
+ "name": "create_post_ad",
464
+ "description": "Create a promoted-only post/ad creative that can be referenced by create_ad.",
465
+ "method": "POST",
466
+ "path": "/ad_accounts/{ad_account_id}/ads/posts",
467
+ "input_schema": {
468
+ "type": "object",
469
+ "properties": {
470
+ "ad_account_id": {
471
+ "type": "string"
472
+ },
473
+ "data": {
474
+ "type": "object",
475
+ "description": "Raw post creative payload."
476
+ }
477
+ },
478
+ "required": [
479
+ "ad_account_id",
480
+ "data"
481
+ ]
482
+ }
483
+ },
484
+ {
485
+ "name": "update_custom_audience",
486
+ "description": "Update a custom audience.",
487
+ "method": "PATCH",
488
+ "path": "/ad_accounts/{ad_account_id}/custom_audiences/{audience_id}",
489
+ "input_schema": {
490
+ "type": "object",
491
+ "properties": {
492
+ "ad_account_id": {
493
+ "type": "string"
494
+ },
495
+ "audience_id": {
496
+ "type": "string"
497
+ },
498
+ "data": {
499
+ "type": "object",
500
+ "description": "Raw vendor payload object."
501
+ }
502
+ },
503
+ "required": [
504
+ "ad_account_id",
505
+ "audience_id",
506
+ "data"
507
+ ]
235
508
  }
236
509
  }
237
510
  ]
@@ -22,6 +22,11 @@
22
22
  "description": "Ringover public API key from Dashboard > Developer > API Keys. The API expects this value directly in the Authorization header.",
23
23
  "type": "password",
24
24
  "required": true
25
+ },
26
+ {
27
+ "name": "phone_number",
28
+ "label": "Default From Number",
29
+ "description": "Default Ringover number to present or route from when starting callbacks."
25
30
  }
26
31
  ]
27
32
  },
@@ -0,0 +1,220 @@
1
+ {
2
+ "slug": "signalwire",
3
+ "name": "SignalWire",
4
+ "description": "SignalWire Compatibility API for Twilio-like voice calls, cXML call control, and bidirectional <Connect><Stream> WebSocket audio for AI voice-agent backends.",
5
+ "logo": "https://www.google.com/s2/favicons?domain=signalwire.com&sz=128",
6
+ "categories": [
7
+ "voice",
8
+ "calls",
9
+ "telephony",
10
+ "phone",
11
+ "communications",
12
+ "ai"
13
+ ],
14
+ "base_url": "https://{{space}}.signalwire.com/api/laml/2010-04-01/Accounts/{{account_sid}}",
15
+ "auth": {
16
+ "types": [
17
+ "basic"
18
+ ],
19
+ "headers": {
20
+ "Authorization": "Basic {{basic_auth}}",
21
+ "Content-Type": "application/x-www-form-urlencoded",
22
+ "Accept": "application/json"
23
+ },
24
+ "credential_fields": [
25
+ {
26
+ "name": "username",
27
+ "label": "Project ID",
28
+ "description": "SignalWire Project ID. Also used as the HTTP Basic username.",
29
+ "required": true
30
+ },
31
+ {
32
+ "name": "password",
33
+ "label": "API Token",
34
+ "description": "SignalWire API token. Also used as the HTTP Basic password.",
35
+ "type": "password",
36
+ "required": true
37
+ },
38
+ {
39
+ "name": "account_sid",
40
+ "label": "Account SID / Project ID",
41
+ "description": "SignalWire Project ID used in Compatibility API paths.",
42
+ "required": true
43
+ },
44
+ {
45
+ "name": "space",
46
+ "label": "Space",
47
+ "description": "SignalWire space subdomain, without .signalwire.com.",
48
+ "required": true
49
+ },
50
+ {
51
+ "name": "phone_number",
52
+ "label": "Default From Number",
53
+ "description": "Default SignalWire phone number to call from, in E.164 format."
54
+ }
55
+ ]
56
+ },
57
+ "health_check": {
58
+ "tool": "list_calls",
59
+ "input": {
60
+ "PageSize": 1
61
+ }
62
+ },
63
+ "tools": [
64
+ {
65
+ "name": "make_call",
66
+ "description": "Place an outbound SignalWire call. Provide Url for cXML, or inline Twiml/cXML containing <Connect><Stream> for bidirectional AI audio.",
67
+ "method": "POST",
68
+ "path": "/Calls.json",
69
+ "input_schema": {
70
+ "type": "object",
71
+ "properties": {
72
+ "To": {
73
+ "type": "string",
74
+ "description": "Destination phone number in E.164 format."
75
+ },
76
+ "From": {
77
+ "type": "string",
78
+ "description": "SignalWire phone number to call from, in E.164 format."
79
+ },
80
+ "Url": {
81
+ "type": "string",
82
+ "description": "URL returning SignalWire cXML call-control instructions."
83
+ },
84
+ "Method": {
85
+ "type": "string",
86
+ "enum": [
87
+ "GET",
88
+ "POST"
89
+ ],
90
+ "default": "POST"
91
+ },
92
+ "Twiml": {
93
+ "type": "string",
94
+ "description": "Inline cXML/TwiML instructions."
95
+ },
96
+ "StatusCallback": {
97
+ "type": "string"
98
+ },
99
+ "StatusCallbackMethod": {
100
+ "type": "string",
101
+ "enum": [
102
+ "GET",
103
+ "POST"
104
+ ],
105
+ "default": "POST"
106
+ },
107
+ "Timeout": {
108
+ "type": "integer"
109
+ }
110
+ },
111
+ "required": [
112
+ "To",
113
+ "From"
114
+ ]
115
+ },
116
+ "mock_response": {
117
+ "sid": "mock-call-sid",
118
+ "status": "queued",
119
+ "direction": "outbound-api"
120
+ }
121
+ },
122
+ {
123
+ "name": "get_call",
124
+ "description": "Retrieve one SignalWire call.",
125
+ "method": "GET",
126
+ "path": "/Calls/{Sid}.json",
127
+ "input_schema": {
128
+ "type": "object",
129
+ "properties": {
130
+ "Sid": {
131
+ "type": "string"
132
+ }
133
+ },
134
+ "required": [
135
+ "Sid"
136
+ ]
137
+ }
138
+ },
139
+ {
140
+ "name": "list_calls",
141
+ "description": "List SignalWire calls.",
142
+ "method": "GET",
143
+ "path": "/Calls.json",
144
+ "input_schema": {
145
+ "type": "object",
146
+ "properties": {
147
+ "To": {
148
+ "type": "string"
149
+ },
150
+ "From": {
151
+ "type": "string"
152
+ },
153
+ "Status": {
154
+ "type": "string"
155
+ },
156
+ "StartTime": {
157
+ "type": "string"
158
+ },
159
+ "PageSize": {
160
+ "type": "integer"
161
+ }
162
+ }
163
+ }
164
+ },
165
+ {
166
+ "name": "update_call",
167
+ "description": "Update or end a SignalWire call. Set Status=completed to hang up, or provide Url/Twiml to redirect call control.",
168
+ "method": "POST",
169
+ "path": "/Calls/{Sid}.json",
170
+ "input_schema": {
171
+ "type": "object",
172
+ "properties": {
173
+ "Sid": {
174
+ "type": "string"
175
+ },
176
+ "Status": {
177
+ "type": "string",
178
+ "enum": [
179
+ "completed",
180
+ "canceled"
181
+ ]
182
+ },
183
+ "Url": {
184
+ "type": "string"
185
+ },
186
+ "Method": {
187
+ "type": "string",
188
+ "enum": [
189
+ "GET",
190
+ "POST"
191
+ ]
192
+ },
193
+ "Twiml": {
194
+ "type": "string"
195
+ }
196
+ },
197
+ "required": [
198
+ "Sid"
199
+ ]
200
+ }
201
+ },
202
+ {
203
+ "name": "list_phone_numbers",
204
+ "description": "List SignalWire incoming phone numbers.",
205
+ "method": "GET",
206
+ "path": "/IncomingPhoneNumbers.json",
207
+ "input_schema": {
208
+ "type": "object",
209
+ "properties": {
210
+ "PhoneNumber": {
211
+ "type": "string"
212
+ },
213
+ "PageSize": {
214
+ "type": "integer"
215
+ }
216
+ }
217
+ }
218
+ }
219
+ ]
220
+ }