@medalsocial/sdk 1.4.0 → 1.6.0
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/README.md +178 -2
- package/dist/openapi/medal-social.openapi.json +1180 -21
- package/dist/src/index.d.mts +886 -187
- package/dist/src/index.d.ts +886 -187
- package/dist/src/index.js +360 -13
- package/dist/src/index.js.map +1 -1
- package/dist/src/index.mjs +354 -13
- package/dist/src/index.mjs.map +1 -1
- package/dist/src/openapi.generated.d.mts +597 -0
- package/dist/src/openapi.generated.d.ts +597 -0
- package/dist/src/openapi.generated.js.map +1 -1
- package/openapi/medal-social.openapi.yaml +700 -0
- package/package.json +1 -1
- package/skills/resources/SKILL.md +3 -2
|
@@ -610,6 +610,170 @@ interface paths {
|
|
|
610
610
|
patch?: never;
|
|
611
611
|
trace?: never;
|
|
612
612
|
};
|
|
613
|
+
"/api/v1/capability-confirmations": {
|
|
614
|
+
parameters: {
|
|
615
|
+
query?: never;
|
|
616
|
+
header?: never;
|
|
617
|
+
path?: never;
|
|
618
|
+
cookie?: never;
|
|
619
|
+
};
|
|
620
|
+
get?: never;
|
|
621
|
+
put?: never;
|
|
622
|
+
/**
|
|
623
|
+
* Issue a capability confirmation token
|
|
624
|
+
* @description Mints a short-lived `X-Capability-Confirmation` token for one pending write. Confirmable write routes require BOTH `Idempotency-Key` and `X-Capability-Confirmation` when the credential holds the capability scope directly; API keys with legacy scopes are exempt. The token is bound to the workspace, auth subject, method, path, required scopes and idempotency key, and expires within 15 minutes. `user_approved: true` asserts that a human on the caller's side approved this exact action.
|
|
625
|
+
*/
|
|
626
|
+
post: operations["issueCapabilityConfirmation"];
|
|
627
|
+
delete?: never;
|
|
628
|
+
options?: never;
|
|
629
|
+
head?: never;
|
|
630
|
+
patch?: never;
|
|
631
|
+
trace?: never;
|
|
632
|
+
};
|
|
633
|
+
"/api/v1/channels/connect-links": {
|
|
634
|
+
parameters: {
|
|
635
|
+
query?: never;
|
|
636
|
+
header?: never;
|
|
637
|
+
path?: never;
|
|
638
|
+
cookie?: never;
|
|
639
|
+
};
|
|
640
|
+
/**
|
|
641
|
+
* List connect links
|
|
642
|
+
* @description Link tokens are never returned. Newest first, cursor-paginated. The `channel_type` / `status` filters are applied within each page, so a page may hold fewer than `limit` items while `pagination.has_more` is still true — page off `has_more`, not the item count.
|
|
643
|
+
*/
|
|
644
|
+
get: operations["listChannelConnectLinks"];
|
|
645
|
+
put?: never;
|
|
646
|
+
/**
|
|
647
|
+
* Mint a hosted connect link
|
|
648
|
+
* @description Mints a single-use hosted connect link that lets an external person (no Medal account required) attach a channel account (e.g. `telegram_inbox`) to the workspace's helpdesk. The response's `data.url` contains the one-time link token EXACTLY ONCE — an idempotent replay (same `Idempotency-Key`) returns the link WITHOUT `url`. Requires the `channel.connect.manage` scope; OAuth callers additionally need the workspace `admin` role.
|
|
649
|
+
*/
|
|
650
|
+
post: operations["createChannelConnectLink"];
|
|
651
|
+
delete?: never;
|
|
652
|
+
options?: never;
|
|
653
|
+
head?: never;
|
|
654
|
+
patch?: never;
|
|
655
|
+
trace?: never;
|
|
656
|
+
};
|
|
657
|
+
"/api/v1/channels/connect-links/{id}": {
|
|
658
|
+
parameters: {
|
|
659
|
+
query?: never;
|
|
660
|
+
header?: never;
|
|
661
|
+
path: {
|
|
662
|
+
id: components["parameters"]["Id"];
|
|
663
|
+
};
|
|
664
|
+
cookie?: never;
|
|
665
|
+
};
|
|
666
|
+
get?: never;
|
|
667
|
+
put?: never;
|
|
668
|
+
post?: never;
|
|
669
|
+
/**
|
|
670
|
+
* Revoke a connect link
|
|
671
|
+
* @description Revokes a pending connect link so it can no longer be consumed. OAuth callers need the workspace `admin` role.
|
|
672
|
+
*/
|
|
673
|
+
delete: operations["revokeChannelConnectLink"];
|
|
674
|
+
options?: never;
|
|
675
|
+
head?: never;
|
|
676
|
+
patch?: never;
|
|
677
|
+
trace?: never;
|
|
678
|
+
};
|
|
679
|
+
"/api/v1/channels/connections": {
|
|
680
|
+
parameters: {
|
|
681
|
+
query?: never;
|
|
682
|
+
header?: never;
|
|
683
|
+
path?: never;
|
|
684
|
+
cookie?: never;
|
|
685
|
+
};
|
|
686
|
+
/**
|
|
687
|
+
* List channel connections
|
|
688
|
+
* @description The workspace's channel connections in a generic, channel-agnostic shape. Newest first, cursor-paginated. Rows that are not projectable as connections are dropped within the page, so a page may hold fewer than `limit` items while `pagination.has_more` is still true — page off `has_more`, not the item count.
|
|
689
|
+
*/
|
|
690
|
+
get: operations["listChannelConnections"];
|
|
691
|
+
put?: never;
|
|
692
|
+
post?: never;
|
|
693
|
+
delete?: never;
|
|
694
|
+
options?: never;
|
|
695
|
+
head?: never;
|
|
696
|
+
patch?: never;
|
|
697
|
+
trace?: never;
|
|
698
|
+
};
|
|
699
|
+
"/api/v1/channels/connections/{id}": {
|
|
700
|
+
parameters: {
|
|
701
|
+
query?: never;
|
|
702
|
+
header?: never;
|
|
703
|
+
path: {
|
|
704
|
+
id: components["parameters"]["Id"];
|
|
705
|
+
};
|
|
706
|
+
cookie?: never;
|
|
707
|
+
};
|
|
708
|
+
get?: never;
|
|
709
|
+
put?: never;
|
|
710
|
+
post?: never;
|
|
711
|
+
/**
|
|
712
|
+
* Disconnect a channel connection
|
|
713
|
+
* @description Disconnects a connected channel account (best-effort platform logout, then local revoke). Emits a `helpdesk.channel_disconnected` webhook event with `reason: "api_disconnect"` if the account was previously connected. OAuth callers need the workspace `admin` role.
|
|
714
|
+
*/
|
|
715
|
+
delete: operations["disconnectChannelConnection"];
|
|
716
|
+
options?: never;
|
|
717
|
+
head?: never;
|
|
718
|
+
patch?: never;
|
|
719
|
+
trace?: never;
|
|
720
|
+
};
|
|
721
|
+
"/api/v1/scan": {
|
|
722
|
+
parameters: {
|
|
723
|
+
query?: never;
|
|
724
|
+
header?: never;
|
|
725
|
+
path?: never;
|
|
726
|
+
cookie?: never;
|
|
727
|
+
};
|
|
728
|
+
get?: never;
|
|
729
|
+
put?: never;
|
|
730
|
+
/**
|
|
731
|
+
* Queue a company/site scan
|
|
732
|
+
* @description Queues an asynchronous scan. Provide exactly one of `url`, `orgnr`, or `name`; poll the returned id via `GET /api/v1/scan/{id}`.
|
|
733
|
+
*/
|
|
734
|
+
post: operations["createScan"];
|
|
735
|
+
delete?: never;
|
|
736
|
+
options?: never;
|
|
737
|
+
head?: never;
|
|
738
|
+
patch?: never;
|
|
739
|
+
trace?: never;
|
|
740
|
+
};
|
|
741
|
+
"/api/v1/scan/companies": {
|
|
742
|
+
parameters: {
|
|
743
|
+
query?: never;
|
|
744
|
+
header?: never;
|
|
745
|
+
path?: never;
|
|
746
|
+
cookie?: never;
|
|
747
|
+
};
|
|
748
|
+
/** Search the Norwegian company registry */
|
|
749
|
+
get: operations["searchScanCompanies"];
|
|
750
|
+
put?: never;
|
|
751
|
+
post?: never;
|
|
752
|
+
delete?: never;
|
|
753
|
+
options?: never;
|
|
754
|
+
head?: never;
|
|
755
|
+
patch?: never;
|
|
756
|
+
trace?: never;
|
|
757
|
+
};
|
|
758
|
+
"/api/v1/scan/{id}": {
|
|
759
|
+
parameters: {
|
|
760
|
+
query?: never;
|
|
761
|
+
header?: never;
|
|
762
|
+
path: {
|
|
763
|
+
id: components["parameters"]["Id"];
|
|
764
|
+
};
|
|
765
|
+
cookie?: never;
|
|
766
|
+
};
|
|
767
|
+
/** Get a scan job */
|
|
768
|
+
get: operations["getScan"];
|
|
769
|
+
put?: never;
|
|
770
|
+
post?: never;
|
|
771
|
+
delete?: never;
|
|
772
|
+
options?: never;
|
|
773
|
+
head?: never;
|
|
774
|
+
patch?: never;
|
|
775
|
+
trace?: never;
|
|
776
|
+
};
|
|
613
777
|
}
|
|
614
778
|
type webhooks = Record<string, never>;
|
|
615
779
|
interface components {
|
|
@@ -1127,9 +1291,15 @@ interface components {
|
|
|
1127
1291
|
author_user_id: string | null;
|
|
1128
1292
|
author_name: string | null;
|
|
1129
1293
|
body: string;
|
|
1294
|
+
/** @description Outbound delivery state, or `null` for inbound messages and internal notes. A `201` from `POST /api/v1/helpdesk/replies` means the reply was accepted, NOT delivered — the channel hand-off is asynchronous, so poll this field (or subscribe to `helpdesk.message_delivery_updated`) to learn the outcome. */
|
|
1295
|
+
delivery_status: components["schemas"]["HelpdeskMessageDeliveryStatus"] | null;
|
|
1296
|
+
/** @description Last send error for a `failed` outbound message, otherwise `null`. */
|
|
1297
|
+
delivery_error: string | null;
|
|
1130
1298
|
/** @description Unix timestamp in milliseconds. */
|
|
1131
1299
|
created_at: number;
|
|
1132
1300
|
};
|
|
1301
|
+
/** @enum {string} */
|
|
1302
|
+
HelpdeskMessageDeliveryStatus: "pending" | "sent" | "delivered" | "failed";
|
|
1133
1303
|
/** @description At least one field is required. */
|
|
1134
1304
|
UpdateHelpdeskConversationInput: {
|
|
1135
1305
|
status?: components["schemas"]["HelpdeskConversationStatus"];
|
|
@@ -1221,9 +1391,17 @@ interface components {
|
|
|
1221
1391
|
/** @constant */
|
|
1222
1392
|
status: "deleted";
|
|
1223
1393
|
};
|
|
1394
|
+
/** @description A delivery attempt record. `id` is the same value sent as the `X-Medal-Delivery-Id` and `Idempotency-Key` headers on the outbound request. Deliveries never carry payload bodies (payloads can contain customer PII). The correlation fields are derived from the stored event and fail closed to `null` when no canonical event exists — e.g. `test.ping` deliveries or events that have aged out of retention. */
|
|
1224
1395
|
WebhookDelivery: {
|
|
1225
1396
|
id: string;
|
|
1226
1397
|
event_type: string;
|
|
1398
|
+
/** @description Primary subject id of the announced event, or `null`. */
|
|
1399
|
+
resource_id: string | null;
|
|
1400
|
+
conversation_id: string | null;
|
|
1401
|
+
message_id: string | null;
|
|
1402
|
+
connection_ref: string | null;
|
|
1403
|
+
channel: string | null;
|
|
1404
|
+
channel_connection_id: string | null;
|
|
1227
1405
|
/** @enum {string} */
|
|
1228
1406
|
status: "pending" | "delivered" | "dead_letter";
|
|
1229
1407
|
attempt_count: number;
|
|
@@ -1242,6 +1420,68 @@ interface components {
|
|
|
1242
1420
|
/** @constant */
|
|
1243
1421
|
status: "queued";
|
|
1244
1422
|
};
|
|
1423
|
+
/** @enum {string} */
|
|
1424
|
+
ConnectLinkStatus: "pending" | "consumed" | "expired" | "revoked";
|
|
1425
|
+
/** @enum {string} */
|
|
1426
|
+
ChannelConnectionState: "connecting" | "active" | "disconnected" | "disabled";
|
|
1427
|
+
CreateConnectLinkInput: {
|
|
1428
|
+
/** @description Channel type to connect (e.g. `telegram_inbox`). */
|
|
1429
|
+
channel_type: string;
|
|
1430
|
+
/** @description Display label shown on the hosted connect page. */
|
|
1431
|
+
label?: string;
|
|
1432
|
+
/**
|
|
1433
|
+
* Format: uri
|
|
1434
|
+
* @description URL the hosted page redirects to after a successful connect — must be https.
|
|
1435
|
+
*/
|
|
1436
|
+
redirect_url?: string;
|
|
1437
|
+
};
|
|
1438
|
+
ConnectLinkCreateResult: {
|
|
1439
|
+
id: string;
|
|
1440
|
+
/**
|
|
1441
|
+
* Format: uri
|
|
1442
|
+
* @description Single-use hosted connect URL containing the one-time link token — present ONLY in the live create response. An idempotent replay of the create request omits it; the token can never be retrieved again.
|
|
1443
|
+
*/
|
|
1444
|
+
url?: string;
|
|
1445
|
+
channel_type: string;
|
|
1446
|
+
label: string | null;
|
|
1447
|
+
status: components["schemas"]["ConnectLinkStatus"];
|
|
1448
|
+
/** @description Unix timestamp in milliseconds. */
|
|
1449
|
+
expires_at: number;
|
|
1450
|
+
};
|
|
1451
|
+
ConnectLink: {
|
|
1452
|
+
id: string;
|
|
1453
|
+
channel_type: string;
|
|
1454
|
+
label: string | null;
|
|
1455
|
+
status: components["schemas"]["ConnectLinkStatus"];
|
|
1456
|
+
/** @description Stable ref of the connection created by consuming this link, or `null`. */
|
|
1457
|
+
consumed_connection_ref: string | null;
|
|
1458
|
+
/** @description Unix timestamp in milliseconds. */
|
|
1459
|
+
expires_at: number;
|
|
1460
|
+
/** @description Unix timestamp in milliseconds. */
|
|
1461
|
+
created_at: number;
|
|
1462
|
+
};
|
|
1463
|
+
ConnectLinkRevokeResult: {
|
|
1464
|
+
id: string;
|
|
1465
|
+
/** @constant */
|
|
1466
|
+
status: "revoked";
|
|
1467
|
+
};
|
|
1468
|
+
ChannelConnection: {
|
|
1469
|
+
id: string;
|
|
1470
|
+
channel_type: string;
|
|
1471
|
+
label: string | null;
|
|
1472
|
+
state: components["schemas"]["ChannelConnectionState"];
|
|
1473
|
+
/** @description Privacy-preserving identity handle (e.g. a masked phone number). */
|
|
1474
|
+
masked_identity: string;
|
|
1475
|
+
/** @description Unix timestamp in milliseconds, or `null` if never active. */
|
|
1476
|
+
last_activity_at: number | null;
|
|
1477
|
+
/** @description Linked helpdesk channel connection ID, or `null`. */
|
|
1478
|
+
helpdesk_connection_id: string | null;
|
|
1479
|
+
};
|
|
1480
|
+
ChannelConnectionDisconnectResult: {
|
|
1481
|
+
id: string;
|
|
1482
|
+
/** @constant */
|
|
1483
|
+
state: "disconnected";
|
|
1484
|
+
};
|
|
1245
1485
|
ApiResponse_PostCreateResult: components["schemas"]["Envelope_PostCreateResult"];
|
|
1246
1486
|
ApiResponse_PostDetail: components["schemas"]["Envelope_PostDetail"];
|
|
1247
1487
|
ApiResponse_Success: components["schemas"]["Envelope_Success"];
|
|
@@ -1266,6 +1506,9 @@ interface components {
|
|
|
1266
1506
|
ApiResponse_GdprExportRequest: components["schemas"]["Envelope_GdprExportRequest"];
|
|
1267
1507
|
ApiResponse_GdprExportArray: components["schemas"]["Envelope_GdprExportArray"];
|
|
1268
1508
|
ApiResponse_GdprExport: components["schemas"]["Envelope_GdprExport"];
|
|
1509
|
+
ApiResponse_ScanCreateResult: components["schemas"]["Envelope_ScanCreateResult"];
|
|
1510
|
+
ApiResponse_ScanCompanyArray: components["schemas"]["Envelope_ScanCompanyArray"];
|
|
1511
|
+
ApiResponse_ScanJob: components["schemas"]["Envelope_ScanJob"];
|
|
1269
1512
|
ApiResponse_ConsentResult: components["schemas"]["Envelope_ConsentResult"];
|
|
1270
1513
|
ApiResponse_ConsentRecordArray: components["schemas"]["Envelope_ConsentRecordArray"];
|
|
1271
1514
|
ApiResponse_WorkspaceArray: components["schemas"]["Envelope_WorkspaceArray"];
|
|
@@ -1277,6 +1520,11 @@ interface components {
|
|
|
1277
1520
|
ApiResponse_WebhookDeleteResult: components["schemas"]["Envelope_WebhookDeleteResult"];
|
|
1278
1521
|
ApiResponse_WebhookDeliveryArray: components["schemas"]["Envelope_WebhookDeliveryArray"];
|
|
1279
1522
|
ApiResponse_WebhookTestResult: components["schemas"]["Envelope_WebhookTestResult"];
|
|
1523
|
+
ApiResponse_ConnectLinkCreateResult: components["schemas"]["Envelope_ConnectLinkCreateResult"];
|
|
1524
|
+
ApiResponse_ConnectLinkArray: components["schemas"]["Envelope_ConnectLinkArray"];
|
|
1525
|
+
ApiResponse_ConnectLinkRevokeResult: components["schemas"]["Envelope_ConnectLinkRevokeResult"];
|
|
1526
|
+
ApiResponse_ChannelConnectionArray: components["schemas"]["Envelope_ChannelConnectionArray"];
|
|
1527
|
+
ApiResponse_ChannelConnectionDisconnectResult: components["schemas"]["Envelope_ChannelConnectionDisconnectResult"];
|
|
1280
1528
|
PaginatedResponse_Post: {
|
|
1281
1529
|
data: components["schemas"]["Post"][];
|
|
1282
1530
|
pagination: components["schemas"]["Pagination"];
|
|
@@ -1301,6 +1549,14 @@ interface components {
|
|
|
1301
1549
|
data: components["schemas"]["HelpdeskMessage"][];
|
|
1302
1550
|
pagination: components["schemas"]["Pagination"];
|
|
1303
1551
|
};
|
|
1552
|
+
PaginatedResponse_ConnectLink: {
|
|
1553
|
+
data: components["schemas"]["ConnectLink"][];
|
|
1554
|
+
pagination: components["schemas"]["Pagination"];
|
|
1555
|
+
};
|
|
1556
|
+
PaginatedResponse_ChannelConnection: {
|
|
1557
|
+
data: components["schemas"]["ChannelConnection"][];
|
|
1558
|
+
pagination: components["schemas"]["Pagination"];
|
|
1559
|
+
};
|
|
1304
1560
|
Envelope_PostCreateResult: {
|
|
1305
1561
|
data: components["schemas"]["PostCreateResult"];
|
|
1306
1562
|
};
|
|
@@ -1364,6 +1620,67 @@ interface components {
|
|
|
1364
1620
|
Envelope_DealRemoveResult: {
|
|
1365
1621
|
data: components["schemas"]["DealRemoveResult"];
|
|
1366
1622
|
};
|
|
1623
|
+
/** @description Provide exactly one of `url`, `orgnr`, or `name`. */
|
|
1624
|
+
ScanCreateInput: {
|
|
1625
|
+
url?: string;
|
|
1626
|
+
orgnr?: string;
|
|
1627
|
+
name?: string;
|
|
1628
|
+
} & (unknown | unknown | unknown);
|
|
1629
|
+
ScanCreateResult: {
|
|
1630
|
+
id: string;
|
|
1631
|
+
status: string;
|
|
1632
|
+
message?: string;
|
|
1633
|
+
};
|
|
1634
|
+
ScanCompany: {
|
|
1635
|
+
orgnr: string;
|
|
1636
|
+
name: string;
|
|
1637
|
+
org_form: string | null;
|
|
1638
|
+
industry: string | null;
|
|
1639
|
+
city: string | null;
|
|
1640
|
+
website: string | null;
|
|
1641
|
+
};
|
|
1642
|
+
ScanJob: {
|
|
1643
|
+
id: string;
|
|
1644
|
+
/** @description pending | running | done | failed */
|
|
1645
|
+
status: string;
|
|
1646
|
+
input: components["schemas"]["ScanCreateInput"];
|
|
1647
|
+
resolved: {
|
|
1648
|
+
orgnr?: string;
|
|
1649
|
+
companyName?: string;
|
|
1650
|
+
websiteUrl?: string;
|
|
1651
|
+
} | null;
|
|
1652
|
+
/** @description Versioned findings payload (see the SDK `ScanResultPayload` type); additive per `version`. The stable core is documented below; further sections (registry, signals, pagespeed, seo, ai, gdpr, mailAuth, httpsOk) evolve additively. */
|
|
1653
|
+
result: ({
|
|
1654
|
+
version: number;
|
|
1655
|
+
/** @description Weighted composite score (0-100); null when unmeasurable. */
|
|
1656
|
+
nettskaar: number | null;
|
|
1657
|
+
/** @description Per-axis 0-100 scores; null axes were unmeasurable. */
|
|
1658
|
+
subScores: {
|
|
1659
|
+
fart: number | null;
|
|
1660
|
+
google: number | null;
|
|
1661
|
+
ai: number | null;
|
|
1662
|
+
trygghet: number | null;
|
|
1663
|
+
omdomme: number | null;
|
|
1664
|
+
};
|
|
1665
|
+
} & {
|
|
1666
|
+
[key: string]: unknown;
|
|
1667
|
+
}) | null;
|
|
1668
|
+
/** @description Public-safe failure code (company_not_found, no_website, …). */
|
|
1669
|
+
error: string | null;
|
|
1670
|
+
/** Format: date-time */
|
|
1671
|
+
created_at: string | null;
|
|
1672
|
+
/** Format: date-time */
|
|
1673
|
+
finished_at: string | null;
|
|
1674
|
+
};
|
|
1675
|
+
Envelope_ScanCreateResult: {
|
|
1676
|
+
data: components["schemas"]["ScanCreateResult"];
|
|
1677
|
+
};
|
|
1678
|
+
Envelope_ScanCompanyArray: {
|
|
1679
|
+
data: components["schemas"]["ScanCompany"][];
|
|
1680
|
+
};
|
|
1681
|
+
Envelope_ScanJob: {
|
|
1682
|
+
data: components["schemas"]["ScanJob"];
|
|
1683
|
+
};
|
|
1367
1684
|
Envelope_GdprExportRequest: {
|
|
1368
1685
|
data: components["schemas"]["GdprExportRequest"];
|
|
1369
1686
|
};
|
|
@@ -1400,12 +1717,73 @@ interface components {
|
|
|
1400
1717
|
Envelope_WebhookDeleteResult: {
|
|
1401
1718
|
data: components["schemas"]["WebhookDeleteResult"];
|
|
1402
1719
|
};
|
|
1720
|
+
IssueCapabilityConfirmationInput: {
|
|
1721
|
+
/** @description Confirmable capability to mint a token for. */
|
|
1722
|
+
capability_id: string;
|
|
1723
|
+
/** @description Concrete `/api/v1/...` path to bind the token to. Optional when the capability has exactly one API target; required when it has several. */
|
|
1724
|
+
api_path?: string;
|
|
1725
|
+
/** @description Values for the capability path template's parameters. */
|
|
1726
|
+
path_params?: {
|
|
1727
|
+
[key: string]: string | number | boolean;
|
|
1728
|
+
};
|
|
1729
|
+
/** @description The exact `Idempotency-Key` the confirmed write will send. The token is bound to it. */
|
|
1730
|
+
idempotency_key?: string;
|
|
1731
|
+
/** @description Human-readable description of the approved action, retained for audit. */
|
|
1732
|
+
preview_summary: string;
|
|
1733
|
+
/**
|
|
1734
|
+
* @description Asserts that a human on the caller's side approved this specific action.
|
|
1735
|
+
* @constant
|
|
1736
|
+
*/
|
|
1737
|
+
user_approved: true;
|
|
1738
|
+
};
|
|
1739
|
+
CapabilityConfirmation: {
|
|
1740
|
+
/** @description Send as the `X-Capability-Confirmation` header on the write. */
|
|
1741
|
+
confirmation_token: string;
|
|
1742
|
+
/** @constant */
|
|
1743
|
+
token_type: "medal_capability_confirmation";
|
|
1744
|
+
capability_id: string;
|
|
1745
|
+
method: string;
|
|
1746
|
+
path: string;
|
|
1747
|
+
required_scopes: string[];
|
|
1748
|
+
idempotency_key: string | null;
|
|
1749
|
+
expires_in: number;
|
|
1750
|
+
/** Format: date-time */
|
|
1751
|
+
expires_at: string;
|
|
1752
|
+
preview_summary: string;
|
|
1753
|
+
};
|
|
1754
|
+
ApiResponse_CapabilityConfirmation: components["schemas"]["Envelope_CapabilityConfirmation"];
|
|
1755
|
+
Envelope_CapabilityConfirmation: {
|
|
1756
|
+
data: components["schemas"]["CapabilityConfirmation"];
|
|
1757
|
+
};
|
|
1403
1758
|
Envelope_WebhookDeliveryArray: {
|
|
1404
1759
|
data: components["schemas"]["WebhookDelivery"][];
|
|
1405
1760
|
};
|
|
1406
1761
|
Envelope_WebhookTestResult: {
|
|
1407
1762
|
data: components["schemas"]["WebhookTestResult"];
|
|
1408
1763
|
};
|
|
1764
|
+
Envelope_ConnectLinkCreateResult: {
|
|
1765
|
+
data: components["schemas"]["ConnectLinkCreateResult"];
|
|
1766
|
+
};
|
|
1767
|
+
/**
|
|
1768
|
+
* @deprecated
|
|
1769
|
+
* @description Deprecated — `listChannelConnectLinks` responds with `PaginatedResponse_ConnectLink`. Retained for backwards compatibility with consumers of the generated contract types.
|
|
1770
|
+
*/
|
|
1771
|
+
Envelope_ConnectLinkArray: {
|
|
1772
|
+
data: components["schemas"]["ConnectLink"][];
|
|
1773
|
+
};
|
|
1774
|
+
Envelope_ConnectLinkRevokeResult: {
|
|
1775
|
+
data: components["schemas"]["ConnectLinkRevokeResult"];
|
|
1776
|
+
};
|
|
1777
|
+
/**
|
|
1778
|
+
* @deprecated
|
|
1779
|
+
* @description Deprecated — `listChannelConnections` responds with `PaginatedResponse_ChannelConnection`. Retained for backwards compatibility with consumers of the generated contract types.
|
|
1780
|
+
*/
|
|
1781
|
+
Envelope_ChannelConnectionArray: {
|
|
1782
|
+
data: components["schemas"]["ChannelConnection"][];
|
|
1783
|
+
};
|
|
1784
|
+
Envelope_ChannelConnectionDisconnectResult: {
|
|
1785
|
+
data: components["schemas"]["ChannelConnectionDisconnectResult"];
|
|
1786
|
+
};
|
|
1409
1787
|
};
|
|
1410
1788
|
responses: {
|
|
1411
1789
|
/** @description API error. */
|
|
@@ -2545,6 +2923,225 @@ interface operations {
|
|
|
2545
2923
|
default: components["responses"]["ApiError"];
|
|
2546
2924
|
};
|
|
2547
2925
|
};
|
|
2926
|
+
issueCapabilityConfirmation: {
|
|
2927
|
+
parameters: {
|
|
2928
|
+
query?: never;
|
|
2929
|
+
header?: never;
|
|
2930
|
+
path?: never;
|
|
2931
|
+
cookie?: never;
|
|
2932
|
+
};
|
|
2933
|
+
requestBody: {
|
|
2934
|
+
content: {
|
|
2935
|
+
"application/json": components["schemas"]["IssueCapabilityConfirmationInput"];
|
|
2936
|
+
};
|
|
2937
|
+
};
|
|
2938
|
+
responses: {
|
|
2939
|
+
/** @description Minted confirmation token. */
|
|
2940
|
+
200: {
|
|
2941
|
+
headers: {
|
|
2942
|
+
[name: string]: unknown;
|
|
2943
|
+
};
|
|
2944
|
+
content: {
|
|
2945
|
+
"application/json": components["schemas"]["ApiResponse_CapabilityConfirmation"];
|
|
2946
|
+
};
|
|
2947
|
+
};
|
|
2948
|
+
default: components["responses"]["ApiError"];
|
|
2949
|
+
};
|
|
2950
|
+
};
|
|
2951
|
+
listChannelConnectLinks: {
|
|
2952
|
+
parameters: {
|
|
2953
|
+
query?: {
|
|
2954
|
+
/** @description Page size (default 50, capped at 100). */
|
|
2955
|
+
limit?: number;
|
|
2956
|
+
cursor?: components["parameters"]["Cursor"];
|
|
2957
|
+
channel_type?: string;
|
|
2958
|
+
status?: components["schemas"]["ConnectLinkStatus"];
|
|
2959
|
+
};
|
|
2960
|
+
header?: never;
|
|
2961
|
+
path?: never;
|
|
2962
|
+
cookie?: never;
|
|
2963
|
+
};
|
|
2964
|
+
requestBody?: never;
|
|
2965
|
+
responses: {
|
|
2966
|
+
/** @description Connect links page. */
|
|
2967
|
+
200: {
|
|
2968
|
+
headers: {
|
|
2969
|
+
[name: string]: unknown;
|
|
2970
|
+
};
|
|
2971
|
+
content: {
|
|
2972
|
+
"application/json": components["schemas"]["PaginatedResponse_ConnectLink"];
|
|
2973
|
+
};
|
|
2974
|
+
};
|
|
2975
|
+
default: components["responses"]["ApiError"];
|
|
2976
|
+
};
|
|
2977
|
+
};
|
|
2978
|
+
createChannelConnectLink: {
|
|
2979
|
+
parameters: {
|
|
2980
|
+
query?: never;
|
|
2981
|
+
header?: never;
|
|
2982
|
+
path?: never;
|
|
2983
|
+
cookie?: never;
|
|
2984
|
+
};
|
|
2985
|
+
requestBody: {
|
|
2986
|
+
content: {
|
|
2987
|
+
"application/json": components["schemas"]["CreateConnectLinkInput"];
|
|
2988
|
+
};
|
|
2989
|
+
};
|
|
2990
|
+
responses: {
|
|
2991
|
+
/** @description Minted connect link, including the one-time `url`. */
|
|
2992
|
+
201: {
|
|
2993
|
+
headers: {
|
|
2994
|
+
[name: string]: unknown;
|
|
2995
|
+
};
|
|
2996
|
+
content: {
|
|
2997
|
+
"application/json": components["schemas"]["ApiResponse_ConnectLinkCreateResult"];
|
|
2998
|
+
};
|
|
2999
|
+
};
|
|
3000
|
+
default: components["responses"]["ApiError"];
|
|
3001
|
+
};
|
|
3002
|
+
};
|
|
3003
|
+
revokeChannelConnectLink: {
|
|
3004
|
+
parameters: {
|
|
3005
|
+
query?: never;
|
|
3006
|
+
header?: never;
|
|
3007
|
+
path: {
|
|
3008
|
+
id: components["parameters"]["Id"];
|
|
3009
|
+
};
|
|
3010
|
+
cookie?: never;
|
|
3011
|
+
};
|
|
3012
|
+
requestBody?: never;
|
|
3013
|
+
responses: {
|
|
3014
|
+
/** @description Revoke result. */
|
|
3015
|
+
200: {
|
|
3016
|
+
headers: {
|
|
3017
|
+
[name: string]: unknown;
|
|
3018
|
+
};
|
|
3019
|
+
content: {
|
|
3020
|
+
"application/json": components["schemas"]["ApiResponse_ConnectLinkRevokeResult"];
|
|
3021
|
+
};
|
|
3022
|
+
};
|
|
3023
|
+
default: components["responses"]["ApiError"];
|
|
3024
|
+
};
|
|
3025
|
+
};
|
|
3026
|
+
listChannelConnections: {
|
|
3027
|
+
parameters: {
|
|
3028
|
+
query?: {
|
|
3029
|
+
/** @description Page size (default 50, capped at 100). */
|
|
3030
|
+
limit?: number;
|
|
3031
|
+
cursor?: components["parameters"]["Cursor"];
|
|
3032
|
+
};
|
|
3033
|
+
header?: never;
|
|
3034
|
+
path?: never;
|
|
3035
|
+
cookie?: never;
|
|
3036
|
+
};
|
|
3037
|
+
requestBody?: never;
|
|
3038
|
+
responses: {
|
|
3039
|
+
/** @description Channel connections page. */
|
|
3040
|
+
200: {
|
|
3041
|
+
headers: {
|
|
3042
|
+
[name: string]: unknown;
|
|
3043
|
+
};
|
|
3044
|
+
content: {
|
|
3045
|
+
"application/json": components["schemas"]["PaginatedResponse_ChannelConnection"];
|
|
3046
|
+
};
|
|
3047
|
+
};
|
|
3048
|
+
default: components["responses"]["ApiError"];
|
|
3049
|
+
};
|
|
3050
|
+
};
|
|
3051
|
+
disconnectChannelConnection: {
|
|
3052
|
+
parameters: {
|
|
3053
|
+
query?: never;
|
|
3054
|
+
header?: never;
|
|
3055
|
+
path: {
|
|
3056
|
+
id: components["parameters"]["Id"];
|
|
3057
|
+
};
|
|
3058
|
+
cookie?: never;
|
|
3059
|
+
};
|
|
3060
|
+
requestBody?: never;
|
|
3061
|
+
responses: {
|
|
3062
|
+
/** @description Disconnect result. */
|
|
3063
|
+
200: {
|
|
3064
|
+
headers: {
|
|
3065
|
+
[name: string]: unknown;
|
|
3066
|
+
};
|
|
3067
|
+
content: {
|
|
3068
|
+
"application/json": components["schemas"]["ApiResponse_ChannelConnectionDisconnectResult"];
|
|
3069
|
+
};
|
|
3070
|
+
};
|
|
3071
|
+
default: components["responses"]["ApiError"];
|
|
3072
|
+
};
|
|
3073
|
+
};
|
|
3074
|
+
createScan: {
|
|
3075
|
+
parameters: {
|
|
3076
|
+
query?: never;
|
|
3077
|
+
header?: never;
|
|
3078
|
+
path?: never;
|
|
3079
|
+
cookie?: never;
|
|
3080
|
+
};
|
|
3081
|
+
requestBody: {
|
|
3082
|
+
content: {
|
|
3083
|
+
"application/json": components["schemas"]["ScanCreateInput"];
|
|
3084
|
+
};
|
|
3085
|
+
};
|
|
3086
|
+
responses: {
|
|
3087
|
+
/** @description Scan job queued. */
|
|
3088
|
+
202: {
|
|
3089
|
+
headers: {
|
|
3090
|
+
[name: string]: unknown;
|
|
3091
|
+
};
|
|
3092
|
+
content: {
|
|
3093
|
+
"application/json": components["schemas"]["ApiResponse_ScanCreateResult"];
|
|
3094
|
+
};
|
|
3095
|
+
};
|
|
3096
|
+
default: components["responses"]["ApiError"];
|
|
3097
|
+
};
|
|
3098
|
+
};
|
|
3099
|
+
searchScanCompanies: {
|
|
3100
|
+
parameters: {
|
|
3101
|
+
query: {
|
|
3102
|
+
q: string;
|
|
3103
|
+
};
|
|
3104
|
+
header?: never;
|
|
3105
|
+
path?: never;
|
|
3106
|
+
cookie?: never;
|
|
3107
|
+
};
|
|
3108
|
+
requestBody?: never;
|
|
3109
|
+
responses: {
|
|
3110
|
+
/** @description Registry matches (top 5, relevance-ranked). */
|
|
3111
|
+
200: {
|
|
3112
|
+
headers: {
|
|
3113
|
+
[name: string]: unknown;
|
|
3114
|
+
};
|
|
3115
|
+
content: {
|
|
3116
|
+
"application/json": components["schemas"]["ApiResponse_ScanCompanyArray"];
|
|
3117
|
+
};
|
|
3118
|
+
};
|
|
3119
|
+
default: components["responses"]["ApiError"];
|
|
3120
|
+
};
|
|
3121
|
+
};
|
|
3122
|
+
getScan: {
|
|
3123
|
+
parameters: {
|
|
3124
|
+
query?: never;
|
|
3125
|
+
header?: never;
|
|
3126
|
+
path: {
|
|
3127
|
+
id: components["parameters"]["Id"];
|
|
3128
|
+
};
|
|
3129
|
+
cookie?: never;
|
|
3130
|
+
};
|
|
3131
|
+
requestBody?: never;
|
|
3132
|
+
responses: {
|
|
3133
|
+
/** @description Scan job status and, once done, the findings payload. */
|
|
3134
|
+
200: {
|
|
3135
|
+
headers: {
|
|
3136
|
+
[name: string]: unknown;
|
|
3137
|
+
};
|
|
3138
|
+
content: {
|
|
3139
|
+
"application/json": components["schemas"]["ApiResponse_ScanJob"];
|
|
3140
|
+
};
|
|
3141
|
+
};
|
|
3142
|
+
default: components["responses"]["ApiError"];
|
|
3143
|
+
};
|
|
3144
|
+
};
|
|
2548
3145
|
}
|
|
2549
3146
|
|
|
2550
3147
|
export type { $defs, components, operations, paths, webhooks };
|