@apteva/integrations 0.15.6 → 0.15.7

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apteva/integrations",
3
- "version": "0.15.6",
3
+ "version": "0.15.7",
4
4
  "description": "Local integrations, connections, and webhooks for Apteva. Self-contained app templates, OAuth engine, and trigger provider.",
5
5
  "author": "Apteva <hello@apteva.com>",
6
6
  "license": "Elastic-2.0",
@@ -509,7 +509,7 @@
509
509
  },
510
510
  {
511
511
  "name": "get_thread",
512
- "description": "Get all messages in an email thread (conversation)",
512
+ "description": "Get an email thread efficiently. Defaults to metadata-only so long conversations do not flood the agent context. Use this first to inspect senders, dates, subjects, snippets, labels, and message IDs. If you need full body text, fetch only the specific message(s) you need with gmail_get_message; avoid format=full on large threads unless explicitly necessary.",
513
513
  "method": "GET",
514
514
  "path": "/users/me/threads/{threadId}",
515
515
  "input_schema": {
@@ -521,20 +521,23 @@
521
521
  },
522
522
  "format": {
523
523
  "type": "string",
524
- "description": "Message format in the thread",
524
+ "description": "Message format in the thread. Use metadata by default for efficient thread inspection. Prefer gmail_get_message for full body text of one specific message. Avoid full/raw on long threads because Gmail can return huge repeated HTML conversation bodies.",
525
525
  "enum": [
526
526
  "minimal",
527
527
  "full",
528
528
  "raw",
529
529
  "metadata"
530
530
  ],
531
- "default": "full"
531
+ "default": "metadata"
532
532
  }
533
533
  },
534
534
  "required": [
535
535
  "threadId"
536
536
  ]
537
537
  },
538
+ "response_transform": {
539
+ "type": "email_thread"
540
+ },
538
541
  "mock_response": {
539
542
  "id": "18f1a2b3c4d5e6f7",
540
543
  "historyId": "987600",
@@ -0,0 +1,883 @@
1
+ {
2
+ "slug": "spaceship",
3
+ "name": "Spaceship",
4
+ "logo": "https://www.spaceship.com/favicon.ico",
5
+ "categories": ["domains"],
6
+ "description": "Spaceship public API for domain portfolio management, DNS records, contacts, personal nameservers, transfer metadata, async operation status, and SellerHub.",
7
+ "base_url": "https://spaceship.dev/api",
8
+ "auth": {
9
+ "types": [
10
+ "api_key"
11
+ ],
12
+ "headers": {
13
+ "X-API-Key": "{{api_key}}",
14
+ "X-API-Secret": "{{api_secret}}",
15
+ "Content-Type": "application/json"
16
+ },
17
+ "credential_fields": [
18
+ {
19
+ "name": "api_key",
20
+ "label": "API Key",
21
+ "description": "Spaceship API key from API Manager. Grant only the scopes needed by the tools you plan to expose.",
22
+ "type": "password",
23
+ "required": true
24
+ },
25
+ {
26
+ "name": "api_secret",
27
+ "label": "API Secret",
28
+ "description": "Spaceship API secret paired with the API key.",
29
+ "type": "password",
30
+ "required": true
31
+ }
32
+ ]
33
+ },
34
+ "tools": [
35
+ {
36
+ "name": "list_domains",
37
+ "display_name": "List Domains",
38
+ "description": "List domains in the Spaceship account. Requires domains:read.",
39
+ "method": "GET",
40
+ "path": "/v1/domains",
41
+ "input_schema": {
42
+ "type": "object",
43
+ "properties": {
44
+ "take": {
45
+ "type": "integer",
46
+ "description": "Number of domains to return, 1-100."
47
+ },
48
+ "skip": {
49
+ "type": "integer",
50
+ "description": "Number of domains to skip."
51
+ },
52
+ "orderBy": {
53
+ "type": "array",
54
+ "items": {
55
+ "type": "string",
56
+ "enum": [
57
+ "name",
58
+ "-name",
59
+ "unicodeName",
60
+ "-unicodeName",
61
+ "registrationDate",
62
+ "-registrationDate",
63
+ "expirationDate",
64
+ "-expirationDate"
65
+ ]
66
+ },
67
+ "description": "Optional sort, max one item."
68
+ }
69
+ },
70
+ "required": [
71
+ "take",
72
+ "skip"
73
+ ]
74
+ }
75
+ },
76
+ {
77
+ "name": "get_domain_info",
78
+ "display_name": "Get Domain Info",
79
+ "description": "Get details for a specific domain. Requires domains:read.",
80
+ "method": "GET",
81
+ "path": "/v1/domains/{domain}",
82
+ "input_schema": {
83
+ "type": "object",
84
+ "properties": {
85
+ "domain": {
86
+ "type": "string",
87
+ "description": "Fully-qualified domain name, e.g. example.com."
88
+ }
89
+ },
90
+ "required": [
91
+ "domain"
92
+ ]
93
+ }
94
+ },
95
+ {
96
+ "name": "check_domains_availability",
97
+ "display_name": "Check Domains Availability",
98
+ "description": "Check availability for up to 20 domains. Requires domains:read.",
99
+ "method": "POST",
100
+ "path": "/v1/domains/available",
101
+ "input_schema": {
102
+ "type": "object",
103
+ "properties": {
104
+ "domains": {
105
+ "type": "array",
106
+ "items": {
107
+ "type": "string"
108
+ },
109
+ "description": "Domain names to check."
110
+ }
111
+ },
112
+ "required": [
113
+ "domains"
114
+ ]
115
+ }
116
+ },
117
+ {
118
+ "name": "check_single_domain_availability",
119
+ "display_name": "Check Single Domain Availability",
120
+ "description": "Check availability for one domain. Requires domains:read.",
121
+ "method": "GET",
122
+ "path": "/v1/domains/{domain}/available",
123
+ "input_schema": {
124
+ "type": "object",
125
+ "properties": {
126
+ "domain": {
127
+ "type": "string"
128
+ }
129
+ },
130
+ "required": [
131
+ "domain"
132
+ ]
133
+ }
134
+ },
135
+ {
136
+ "name": "update_autorenewal",
137
+ "display_name": "Update Autorenewal",
138
+ "description": "Enable or disable autorenewal for a domain. Requires domains:write.",
139
+ "method": "PUT",
140
+ "path": "/v1/domains/{domain}/autorenew",
141
+ "input_schema": {
142
+ "type": "object",
143
+ "properties": {
144
+ "domain": {
145
+ "type": "string"
146
+ },
147
+ "isEnabled": {
148
+ "type": "boolean",
149
+ "description": "Desired autorenewal state."
150
+ }
151
+ },
152
+ "required": [
153
+ "domain",
154
+ "isEnabled"
155
+ ]
156
+ }
157
+ },
158
+ {
159
+ "name": "update_domain_nameservers",
160
+ "display_name": "Update Domain Nameservers",
161
+ "description": "Replace a domain's nameserver provider and custom hosts. Requires domains:write.",
162
+ "method": "PUT",
163
+ "path": "/v1/domains/{domain}/nameservers",
164
+ "input_schema": {
165
+ "type": "object",
166
+ "properties": {
167
+ "domain": {
168
+ "type": "string"
169
+ },
170
+ "provider": {
171
+ "type": "string",
172
+ "enum": [
173
+ "basic",
174
+ "custom"
175
+ ],
176
+ "description": "Use basic for Spaceship nameservers or custom for explicit hosts."
177
+ },
178
+ "hosts": {
179
+ "type": "array",
180
+ "items": {
181
+ "type": "string"
182
+ },
183
+ "description": "Custom nameserver hostnames. Required for provider=custom; omit for provider=basic."
184
+ }
185
+ },
186
+ "required": [
187
+ "domain",
188
+ "provider"
189
+ ]
190
+ }
191
+ },
192
+ {
193
+ "name": "update_domain_contacts",
194
+ "display_name": "Update Domain Contacts",
195
+ "description": "Set contact IDs on a domain. Requires domains:write.",
196
+ "method": "PUT",
197
+ "path": "/v1/domains/{domain}/contacts",
198
+ "input_schema": {
199
+ "type": "object",
200
+ "properties": {
201
+ "domain": {
202
+ "type": "string"
203
+ },
204
+ "registrant": {
205
+ "type": "string",
206
+ "description": "Registrant contact ID."
207
+ },
208
+ "admin": {
209
+ "type": "string",
210
+ "description": "Admin contact ID."
211
+ },
212
+ "tech": {
213
+ "type": "string",
214
+ "description": "Technical contact ID."
215
+ },
216
+ "billing": {
217
+ "type": "string",
218
+ "description": "Billing contact ID."
219
+ },
220
+ "attributes": {
221
+ "type": "array",
222
+ "items": {
223
+ "type": "string"
224
+ },
225
+ "description": "Extended attribute contact point IDs."
226
+ }
227
+ },
228
+ "required": [
229
+ "domain",
230
+ "registrant"
231
+ ]
232
+ }
233
+ },
234
+ {
235
+ "name": "update_domain_email_protection_preference",
236
+ "display_name": "Update Email Protection Preference",
237
+ "description": "Control whether WHOIS displays a contact form link. Requires domains:write.",
238
+ "method": "PUT",
239
+ "path": "/v1/domains/{domain}/privacy/email-protection-preference",
240
+ "input_schema": {
241
+ "type": "object",
242
+ "properties": {
243
+ "domain": {
244
+ "type": "string"
245
+ },
246
+ "contactForm": {
247
+ "type": "boolean"
248
+ }
249
+ },
250
+ "required": [
251
+ "domain",
252
+ "contactForm"
253
+ ]
254
+ }
255
+ },
256
+ {
257
+ "name": "update_domain_privacy_preference",
258
+ "display_name": "Update Domain Privacy Preference",
259
+ "description": "Set domain privacy level. Requires domains:write and userConsent=true.",
260
+ "method": "PUT",
261
+ "path": "/v1/domains/{domain}/privacy/preference",
262
+ "input_schema": {
263
+ "type": "object",
264
+ "properties": {
265
+ "domain": {
266
+ "type": "string"
267
+ },
268
+ "privacyLevel": {
269
+ "type": "string",
270
+ "enum": [
271
+ "public",
272
+ "high"
273
+ ]
274
+ },
275
+ "userConsent": {
276
+ "type": "boolean",
277
+ "description": "Must be true for the operation to proceed."
278
+ }
279
+ },
280
+ "required": [
281
+ "domain",
282
+ "privacyLevel",
283
+ "userConsent"
284
+ ]
285
+ }
286
+ },
287
+ {
288
+ "name": "get_personal_nameservers",
289
+ "display_name": "Get Personal Nameservers",
290
+ "description": "Get personal nameservers configured on a domain. Requires domains:read.",
291
+ "method": "GET",
292
+ "path": "/v1/domains/{domain}/personal-nameservers",
293
+ "input_schema": {
294
+ "type": "object",
295
+ "properties": {
296
+ "domain": {
297
+ "type": "string"
298
+ }
299
+ },
300
+ "required": [
301
+ "domain"
302
+ ]
303
+ }
304
+ },
305
+ {
306
+ "name": "get_personal_nameserver_host",
307
+ "display_name": "Get Personal Nameserver Host",
308
+ "description": "Get host configuration for one personal nameserver. Spaceship currently marks this endpoint as under development in their docs. Requires domains:read.",
309
+ "method": "GET",
310
+ "path": "/v1/domains/{domain}/personal-nameservers/{currentHost}",
311
+ "input_schema": {
312
+ "type": "object",
313
+ "properties": {
314
+ "domain": {
315
+ "type": "string"
316
+ },
317
+ "currentHost": {
318
+ "type": "string",
319
+ "description": "Host part, e.g. ns1."
320
+ }
321
+ },
322
+ "required": [
323
+ "domain",
324
+ "currentHost"
325
+ ]
326
+ }
327
+ },
328
+ {
329
+ "name": "update_personal_nameserver_host",
330
+ "display_name": "Update Personal Nameserver Host",
331
+ "description": "Create, update, or rename personal nameserver host glue configuration. Requires domains:write.",
332
+ "method": "PUT",
333
+ "path": "/v1/domains/{domain}/personal-nameservers/{currentHost}",
334
+ "input_schema": {
335
+ "type": "object",
336
+ "properties": {
337
+ "domain": {
338
+ "type": "string"
339
+ },
340
+ "currentHost": {
341
+ "type": "string",
342
+ "description": "Current host part, e.g. ns1."
343
+ },
344
+ "host": {
345
+ "type": "string",
346
+ "description": "New host part."
347
+ },
348
+ "ips": {
349
+ "type": "array",
350
+ "items": {
351
+ "type": "string"
352
+ },
353
+ "description": "IPv4/IPv6 addresses for the personal nameserver host."
354
+ }
355
+ },
356
+ "required": [
357
+ "domain",
358
+ "currentHost",
359
+ "host",
360
+ "ips"
361
+ ]
362
+ }
363
+ },
364
+ {
365
+ "name": "delete_personal_nameserver_host",
366
+ "display_name": "Delete Personal Nameserver Host",
367
+ "description": "Delete personal nameserver host glue configuration. Requires domains:write.",
368
+ "method": "DELETE",
369
+ "path": "/v1/domains/{domain}/personal-nameservers/{currentHost}",
370
+ "input_schema": {
371
+ "type": "object",
372
+ "properties": {
373
+ "domain": {
374
+ "type": "string"
375
+ },
376
+ "currentHost": {
377
+ "type": "string"
378
+ }
379
+ },
380
+ "required": [
381
+ "domain",
382
+ "currentHost"
383
+ ]
384
+ }
385
+ },
386
+ {
387
+ "name": "get_transfer_info",
388
+ "display_name": "Get Transfer Info",
389
+ "description": "Get transfer details for a domain. Requires domains:transfer.",
390
+ "method": "GET",
391
+ "path": "/v1/domains/{domain}/transfer",
392
+ "input_schema": {
393
+ "type": "object",
394
+ "properties": {
395
+ "domain": {
396
+ "type": "string"
397
+ }
398
+ },
399
+ "required": [
400
+ "domain"
401
+ ]
402
+ }
403
+ },
404
+ {
405
+ "name": "get_auth_code",
406
+ "display_name": "Get Auth Code",
407
+ "description": "Get the domain transfer auth/EPP code. Sensitive output. Requires domains:transfer.",
408
+ "method": "GET",
409
+ "path": "/v1/domains/{domain}/transfer/auth-code",
410
+ "input_schema": {
411
+ "type": "object",
412
+ "properties": {
413
+ "domain": {
414
+ "type": "string"
415
+ }
416
+ },
417
+ "required": [
418
+ "domain"
419
+ ]
420
+ }
421
+ },
422
+ {
423
+ "name": "update_transfer_lock",
424
+ "display_name": "Update Transfer Lock",
425
+ "description": "Enable or disable transfer lock for a domain. Requires domains:transfer.",
426
+ "method": "PUT",
427
+ "path": "/v1/domains/{domain}/transfer/lock",
428
+ "input_schema": {
429
+ "type": "object",
430
+ "properties": {
431
+ "domain": {
432
+ "type": "string"
433
+ },
434
+ "isLocked": {
435
+ "type": "boolean",
436
+ "description": "Desired transfer lock state."
437
+ }
438
+ },
439
+ "required": [
440
+ "domain",
441
+ "isLocked"
442
+ ]
443
+ }
444
+ },
445
+ {
446
+ "name": "list_dns_records",
447
+ "display_name": "List DNS Records",
448
+ "description": "List DNS resource records for a domain. Requires dnsrecords:read.",
449
+ "method": "GET",
450
+ "path": "/v1/dns/records/{domain}",
451
+ "input_schema": {
452
+ "type": "object",
453
+ "properties": {
454
+ "domain": {
455
+ "type": "string"
456
+ },
457
+ "take": {
458
+ "type": "integer",
459
+ "description": "Number of records to return, 1-500."
460
+ },
461
+ "skip": {
462
+ "type": "integer",
463
+ "description": "Number of records to skip."
464
+ },
465
+ "orderBy": {
466
+ "type": "array",
467
+ "items": {
468
+ "type": "string",
469
+ "enum": [
470
+ "type",
471
+ "-type",
472
+ "name",
473
+ "-name"
474
+ ]
475
+ }
476
+ }
477
+ },
478
+ "required": [
479
+ "domain",
480
+ "take",
481
+ "skip"
482
+ ]
483
+ }
484
+ },
485
+ {
486
+ "name": "save_dns_records",
487
+ "display_name": "Save DNS Records",
488
+ "description": "Create or update DNS resource records in a batch. Requires dnsrecords:write. Use list_dns_records first when changing existing records.",
489
+ "method": "PUT",
490
+ "path": "/v1/dns/records/{domain}",
491
+ "input_schema": {
492
+ "type": "object",
493
+ "properties": {
494
+ "domain": {
495
+ "type": "string"
496
+ },
497
+ "force": {
498
+ "type": "boolean",
499
+ "description": "Disable conflict checks and force zone update."
500
+ },
501
+ "items": {
502
+ "type": "array",
503
+ "description": "DNS records to save. Each item requires type and name plus type-specific fields, e.g. A uses address, TXT uses value, CNAME uses cname.",
504
+ "items": {
505
+ "type": "object",
506
+ "properties": {
507
+ "type": {
508
+ "type": "string"
509
+ },
510
+ "name": {
511
+ "type": "string"
512
+ },
513
+ "ttl": {
514
+ "type": "integer"
515
+ }
516
+ },
517
+ "required": [
518
+ "type",
519
+ "name"
520
+ ],
521
+ "additionalProperties": true
522
+ }
523
+ }
524
+ },
525
+ "required": [
526
+ "domain",
527
+ "items"
528
+ ]
529
+ }
530
+ },
531
+ {
532
+ "name": "delete_dns_records",
533
+ "display_name": "Delete DNS Records",
534
+ "description": "Delete DNS resource records in a batch. Requires dnsrecords:write. Pass the type/name and type-specific identifiers for records to delete.",
535
+ "method": "DELETE",
536
+ "path": "/v1/dns/records/{domain}",
537
+ "body_root_param": "records",
538
+ "input_schema": {
539
+ "type": "object",
540
+ "properties": {
541
+ "domain": {
542
+ "type": "string"
543
+ },
544
+ "records": {
545
+ "type": "array",
546
+ "items": {
547
+ "type": "object",
548
+ "properties": {
549
+ "type": {
550
+ "type": "string"
551
+ },
552
+ "name": {
553
+ "type": "string"
554
+ }
555
+ },
556
+ "required": [
557
+ "type",
558
+ "name"
559
+ ],
560
+ "additionalProperties": true
561
+ }
562
+ }
563
+ },
564
+ "required": [
565
+ "domain",
566
+ "records"
567
+ ]
568
+ }
569
+ },
570
+ {
571
+ "name": "save_contact",
572
+ "display_name": "Save Contact",
573
+ "description": "Save contact details and receive a generated contact ID. Requires contacts:write.",
574
+ "method": "PUT",
575
+ "path": "/v1/contacts",
576
+ "input_schema": {
577
+ "type": "object",
578
+ "properties": {
579
+ "firstName": {
580
+ "type": "string"
581
+ },
582
+ "lastName": {
583
+ "type": "string"
584
+ },
585
+ "organization": {
586
+ "type": "string"
587
+ },
588
+ "email": {
589
+ "type": "string"
590
+ },
591
+ "address1": {
592
+ "type": "string"
593
+ },
594
+ "address2": {
595
+ "type": "string"
596
+ },
597
+ "city": {
598
+ "type": "string"
599
+ },
600
+ "country": {
601
+ "type": "string",
602
+ "description": "ISO 3166-1 alpha-2 country code."
603
+ },
604
+ "stateProvince": {
605
+ "type": "string"
606
+ },
607
+ "postalCode": {
608
+ "type": "string"
609
+ },
610
+ "phone": {
611
+ "type": "string",
612
+ "description": "Phone in +country.local format, e.g. +1.123456789."
613
+ },
614
+ "phoneExt": {
615
+ "type": "string"
616
+ },
617
+ "fax": {
618
+ "type": "string"
619
+ },
620
+ "faxExt": {
621
+ "type": "string"
622
+ },
623
+ "taxNumber": {
624
+ "type": "string"
625
+ }
626
+ },
627
+ "required": [
628
+ "firstName",
629
+ "lastName",
630
+ "email",
631
+ "address1",
632
+ "city",
633
+ "country",
634
+ "phone"
635
+ ]
636
+ }
637
+ },
638
+ {
639
+ "name": "get_contact",
640
+ "display_name": "Get Contact",
641
+ "description": "Read contact details by contact ID. Requires contacts:read.",
642
+ "method": "GET",
643
+ "path": "/v1/contacts/{contact}",
644
+ "input_schema": {
645
+ "type": "object",
646
+ "properties": {
647
+ "contact": {
648
+ "type": "string",
649
+ "description": "Contact ID."
650
+ }
651
+ },
652
+ "required": [
653
+ "contact"
654
+ ]
655
+ }
656
+ },
657
+ {
658
+ "name": "save_contact_attributes",
659
+ "display_name": "Save Contact Attributes",
660
+ "description": "Save registry-specific contact attributes and receive an attribute contact ID. Requires contacts:write.",
661
+ "method": "PUT",
662
+ "path": "/v1/contacts/attributes",
663
+ "input_schema": {
664
+ "type": "object",
665
+ "properties": {
666
+ "type": {
667
+ "type": "string",
668
+ "description": "Attribute type, e.g. us or ca."
669
+ }
670
+ },
671
+ "required": [
672
+ "type"
673
+ ],
674
+ "additionalProperties": true
675
+ }
676
+ },
677
+ {
678
+ "name": "get_contact_attributes",
679
+ "display_name": "Get Contact Attributes",
680
+ "description": "Read registry-specific contact attributes by attribute contact ID. Requires contacts:read.",
681
+ "method": "GET",
682
+ "path": "/v1/contacts/attributes/{contact}",
683
+ "input_schema": {
684
+ "type": "object",
685
+ "properties": {
686
+ "contact": {
687
+ "type": "string",
688
+ "description": "Attribute contact ID."
689
+ }
690
+ },
691
+ "required": [
692
+ "contact"
693
+ ]
694
+ }
695
+ },
696
+ {
697
+ "name": "get_async_operation",
698
+ "display_name": "Get Async Operation",
699
+ "description": "Get status and details for a long-running Spaceship operation. Requires asyncoperations:read.",
700
+ "method": "GET",
701
+ "path": "/v1/async-operations/{operationId}",
702
+ "input_schema": {
703
+ "type": "object",
704
+ "properties": {
705
+ "operationId": {
706
+ "type": "string"
707
+ }
708
+ },
709
+ "required": [
710
+ "operationId"
711
+ ]
712
+ }
713
+ },
714
+ {
715
+ "name": "list_sellerhub_domains",
716
+ "display_name": "List SellerHub Domains",
717
+ "description": "List domains configured in SellerHub. Requires sellerhub:read.",
718
+ "method": "GET",
719
+ "path": "/v1/sellerhub/domains",
720
+ "input_schema": {
721
+ "type": "object",
722
+ "properties": {
723
+ "take": {
724
+ "type": "integer"
725
+ },
726
+ "skip": {
727
+ "type": "integer"
728
+ }
729
+ }
730
+ }
731
+ },
732
+ {
733
+ "name": "get_sellerhub_domain",
734
+ "display_name": "Get SellerHub Domain",
735
+ "description": "Get details for one SellerHub domain. Requires sellerhub:read.",
736
+ "method": "GET",
737
+ "path": "/v1/sellerhub/domains/{domain}",
738
+ "input_schema": {
739
+ "type": "object",
740
+ "properties": {
741
+ "domain": {
742
+ "type": "string"
743
+ }
744
+ },
745
+ "required": [
746
+ "domain"
747
+ ]
748
+ }
749
+ },
750
+ {
751
+ "name": "create_sellerhub_domain",
752
+ "display_name": "Create SellerHub Domain",
753
+ "description": "List a domain in SellerHub with optional BIN/minimum pricing. Requires sellerhub:write.",
754
+ "method": "POST",
755
+ "path": "/v1/sellerhub/domains",
756
+ "input_schema": {
757
+ "type": "object",
758
+ "properties": {
759
+ "name": {
760
+ "type": "string"
761
+ },
762
+ "displayName": {
763
+ "type": "string"
764
+ },
765
+ "description": {
766
+ "type": "string"
767
+ },
768
+ "binPriceEnabled": {
769
+ "type": "boolean"
770
+ },
771
+ "binPrice": {
772
+ "type": "object",
773
+ "description": "Money object, e.g. {\"amount\":\"1000.00\",\"currency\":\"USD\"}."
774
+ },
775
+ "minPriceEnabled": {
776
+ "type": "boolean"
777
+ },
778
+ "minPrice": {
779
+ "type": "object",
780
+ "description": "Money object, e.g. {\"amount\":\"800.00\",\"currency\":\"USD\"}."
781
+ }
782
+ },
783
+ "required": [
784
+ "name"
785
+ ]
786
+ }
787
+ },
788
+ {
789
+ "name": "update_sellerhub_domain",
790
+ "display_name": "Update SellerHub Domain",
791
+ "description": "Update SellerHub domain description, display name, and pricing flags. Requires sellerhub:write.",
792
+ "method": "PATCH",
793
+ "path": "/v1/sellerhub/domains/{domain}",
794
+ "input_schema": {
795
+ "type": "object",
796
+ "properties": {
797
+ "domain": {
798
+ "type": "string"
799
+ },
800
+ "displayName": {
801
+ "type": "string"
802
+ },
803
+ "description": {
804
+ "type": "string"
805
+ },
806
+ "binPriceEnabled": {
807
+ "type": "boolean"
808
+ },
809
+ "binPrice": {
810
+ "type": "object"
811
+ },
812
+ "minPriceEnabled": {
813
+ "type": "boolean"
814
+ },
815
+ "minPrice": {
816
+ "type": "object"
817
+ }
818
+ },
819
+ "required": [
820
+ "domain"
821
+ ]
822
+ }
823
+ },
824
+ {
825
+ "name": "delete_sellerhub_domain",
826
+ "display_name": "Delete SellerHub Domain",
827
+ "description": "Remove a domain from SellerHub. Requires sellerhub:write.",
828
+ "method": "DELETE",
829
+ "path": "/v1/sellerhub/domains/{domain}",
830
+ "input_schema": {
831
+ "type": "object",
832
+ "properties": {
833
+ "domain": {
834
+ "type": "string"
835
+ }
836
+ },
837
+ "required": [
838
+ "domain"
839
+ ]
840
+ }
841
+ },
842
+ {
843
+ "name": "create_sellerhub_checkout_link",
844
+ "display_name": "Create SellerHub Checkout Link",
845
+ "description": "Create a checkout link for a SellerHub domain. Requires sellerhub:write.",
846
+ "method": "POST",
847
+ "path": "/v1/sellerhub/checkout-links",
848
+ "input_schema": {
849
+ "type": "object",
850
+ "properties": {
851
+ "type": {
852
+ "type": "string",
853
+ "enum": [
854
+ "buyNow"
855
+ ]
856
+ },
857
+ "domainName": {
858
+ "type": "string"
859
+ },
860
+ "basePrice": {
861
+ "type": "object",
862
+ "description": "Optional money object, e.g. {\"amount\":\"1000.00\",\"currency\":\"USD\"}."
863
+ },
864
+ "feePercentageShare": {
865
+ "type": "object",
866
+ "description": "Optional commission split, e.g. {\"seller\":0,\"buyer\":100}."
867
+ }
868
+ },
869
+ "required": [
870
+ "type",
871
+ "domainName"
872
+ ]
873
+ }
874
+ },
875
+ {
876
+ "name": "get_sellerhub_verification_records",
877
+ "display_name": "Get SellerHub Verification Records",
878
+ "description": "Get verification DNS records accepted by SellerHub. Requires sellerhub:read.",
879
+ "method": "GET",
880
+ "path": "/v1/sellerhub/verification-records"
881
+ }
882
+ ]
883
+ }