@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.
@@ -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 };