@curviate/sdk 0.9.0 → 0.11.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/CHANGELOG.md +26 -0
- package/dist/index.d.ts +767 -67
- package/dist/index.js +96 -0
- package/package.json +1 -1
- package/src/generated/types.ts +692 -72
package/dist/index.d.ts
CHANGED
|
@@ -157,9 +157,9 @@ interface paths {
|
|
|
157
157
|
* @description Stable status whitelist.
|
|
158
158
|
* @enum {string}
|
|
159
159
|
*/
|
|
160
|
-
status?: "active" | "reconnect_needed" | "restricted" | "connecting";
|
|
160
|
+
status?: "active" | "reconnect_needed" | "restricted" | "connecting" | "disconnected";
|
|
161
161
|
/** @enum {string} */
|
|
162
|
-
auth_method?: "credentials" | "cookie";
|
|
162
|
+
auth_method?: "credentials" | "cookie" | "hosted";
|
|
163
163
|
full_name?: string | null;
|
|
164
164
|
headline?: string | null;
|
|
165
165
|
/** @description The seat this account occupies. */
|
|
@@ -356,6 +356,12 @@ interface paths {
|
|
|
356
356
|
auth_method?: "credentials" | "cookie";
|
|
357
357
|
full_name?: string | null;
|
|
358
358
|
headline?: string | null;
|
|
359
|
+
/** @description The seat this account occupies (canonical — supersedes the deprecated attached_seat_id). */
|
|
360
|
+
seat_id?: string | null;
|
|
361
|
+
/**
|
|
362
|
+
* @deprecated
|
|
363
|
+
* @description Deprecated — use seat_id (same value). Removed at the GA /v1 cutover.
|
|
364
|
+
*/
|
|
359
365
|
attached_seat_id?: string | null;
|
|
360
366
|
};
|
|
361
367
|
};
|
|
@@ -519,7 +525,7 @@ interface paths {
|
|
|
519
525
|
object?: "account";
|
|
520
526
|
account_id?: string;
|
|
521
527
|
/** @enum {string} */
|
|
522
|
-
status?: "active" | "reconnect_needed" | "restricted" | "connecting";
|
|
528
|
+
status?: "active" | "reconnect_needed" | "restricted" | "connecting" | "disconnected";
|
|
523
529
|
auth_method?: string;
|
|
524
530
|
full_name?: string | null;
|
|
525
531
|
headline?: string | null;
|
|
@@ -828,6 +834,15 @@ interface paths {
|
|
|
828
834
|
"application/json": components["schemas"]["Error"];
|
|
829
835
|
};
|
|
830
836
|
};
|
|
837
|
+
/** @description This managed-proxy configuration is not supported for this account (e.g. the requested proxy mode or location is unavailable on the account's current plan). Not retryable as-is — change the request rather than resubmitting. */
|
|
838
|
+
501: {
|
|
839
|
+
headers: {
|
|
840
|
+
[name: string]: unknown;
|
|
841
|
+
};
|
|
842
|
+
content: {
|
|
843
|
+
"application/json": components["schemas"]["Error"];
|
|
844
|
+
};
|
|
845
|
+
};
|
|
831
846
|
/** @description A temporary error occurred. Please try again. */
|
|
832
847
|
502: {
|
|
833
848
|
headers: {
|
|
@@ -919,6 +934,8 @@ interface paths {
|
|
|
919
934
|
object?: "hosted_auth_url";
|
|
920
935
|
/** @description The hosted URL the end user opens. */
|
|
921
936
|
url?: string;
|
|
937
|
+
/** @description Poll handle for GET /v1/accounts/connect-sessions/{session_id}. */
|
|
938
|
+
session_id?: string;
|
|
922
939
|
expires_at?: string;
|
|
923
940
|
seat_id?: string | null;
|
|
924
941
|
account_id?: string | null;
|
|
@@ -1008,6 +1025,124 @@ interface paths {
|
|
|
1008
1025
|
patch?: never;
|
|
1009
1026
|
trace?: never;
|
|
1010
1027
|
};
|
|
1028
|
+
"/v1/accounts/connect-sessions/{session_id}": {
|
|
1029
|
+
parameters: {
|
|
1030
|
+
query?: never;
|
|
1031
|
+
header?: never;
|
|
1032
|
+
path?: never;
|
|
1033
|
+
cookie?: never;
|
|
1034
|
+
};
|
|
1035
|
+
/**
|
|
1036
|
+
* Poll a hosted connect session
|
|
1037
|
+
* @description Return the current status of a hosted connect session created by connect-link. A pure status read — it makes no external call and does not itself complete the connection (completion is signalled out-of-band once the end user finishes the hosted flow). status is `pending` until the hand-off completes, then `resolved` (with `account_id`), or `expired` / `failed`. Poll until it leaves `pending`.
|
|
1038
|
+
*/
|
|
1039
|
+
get: {
|
|
1040
|
+
parameters: {
|
|
1041
|
+
query?: never;
|
|
1042
|
+
header?: never;
|
|
1043
|
+
path: {
|
|
1044
|
+
/** @description The connect session id (`cs_…`) returned by connect-link. */
|
|
1045
|
+
session_id: string;
|
|
1046
|
+
};
|
|
1047
|
+
cookie?: never;
|
|
1048
|
+
};
|
|
1049
|
+
requestBody?: never;
|
|
1050
|
+
responses: {
|
|
1051
|
+
/** @description The current status of a hosted connect session created by connect-link. Poll until status leaves pending; account_id is present only once status is resolved. */
|
|
1052
|
+
200: {
|
|
1053
|
+
headers: {
|
|
1054
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
1055
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
1056
|
+
[name: string]: unknown;
|
|
1057
|
+
};
|
|
1058
|
+
content: {
|
|
1059
|
+
"application/json": {
|
|
1060
|
+
/**
|
|
1061
|
+
* @description Response type discriminator.
|
|
1062
|
+
* @enum {string}
|
|
1063
|
+
*/
|
|
1064
|
+
object?: "connect_session";
|
|
1065
|
+
/** @description The connect session id (cs_…). */
|
|
1066
|
+
session_id?: string;
|
|
1067
|
+
/**
|
|
1068
|
+
* @description Lifecycle status. pending until the hand-off completes, then resolved / expired / failed.
|
|
1069
|
+
* @enum {string}
|
|
1070
|
+
*/
|
|
1071
|
+
status?: "pending" | "resolved" | "expired" | "failed";
|
|
1072
|
+
/** @description The connected account (acc_…); null until status is resolved. */
|
|
1073
|
+
account_id?: string | null;
|
|
1074
|
+
/** @description ISO-8601 UTC session expiry. */
|
|
1075
|
+
expires_at?: string;
|
|
1076
|
+
};
|
|
1077
|
+
};
|
|
1078
|
+
};
|
|
1079
|
+
/** @description Missing or invalid API key. */
|
|
1080
|
+
401: {
|
|
1081
|
+
headers: {
|
|
1082
|
+
[name: string]: unknown;
|
|
1083
|
+
};
|
|
1084
|
+
content: {
|
|
1085
|
+
"application/json": components["schemas"]["Error"];
|
|
1086
|
+
};
|
|
1087
|
+
};
|
|
1088
|
+
/** @description No such connect session for this tenant. */
|
|
1089
|
+
404: {
|
|
1090
|
+
headers: {
|
|
1091
|
+
[name: string]: unknown;
|
|
1092
|
+
};
|
|
1093
|
+
content: {
|
|
1094
|
+
"application/json": components["schemas"]["Error"];
|
|
1095
|
+
};
|
|
1096
|
+
};
|
|
1097
|
+
/** @description Rate limited — slow down and retry after the hinted delay. */
|
|
1098
|
+
429: {
|
|
1099
|
+
headers: {
|
|
1100
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
1101
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
1102
|
+
"Retry-After": components["headers"]["Retry-After"];
|
|
1103
|
+
[name: string]: unknown;
|
|
1104
|
+
};
|
|
1105
|
+
content: {
|
|
1106
|
+
"application/json": components["schemas"]["Error"];
|
|
1107
|
+
};
|
|
1108
|
+
};
|
|
1109
|
+
/** @description Internal error. */
|
|
1110
|
+
500: {
|
|
1111
|
+
headers: {
|
|
1112
|
+
[name: string]: unknown;
|
|
1113
|
+
};
|
|
1114
|
+
content: {
|
|
1115
|
+
"application/json": components["schemas"]["Error"];
|
|
1116
|
+
};
|
|
1117
|
+
};
|
|
1118
|
+
/** @description Service unavailable. */
|
|
1119
|
+
503: {
|
|
1120
|
+
headers: {
|
|
1121
|
+
[name: string]: unknown;
|
|
1122
|
+
};
|
|
1123
|
+
content: {
|
|
1124
|
+
"application/json": components["schemas"]["Error"];
|
|
1125
|
+
};
|
|
1126
|
+
};
|
|
1127
|
+
/** @description Gateway timeout. */
|
|
1128
|
+
504: {
|
|
1129
|
+
headers: {
|
|
1130
|
+
[name: string]: unknown;
|
|
1131
|
+
};
|
|
1132
|
+
content: {
|
|
1133
|
+
"application/json": components["schemas"]["Error"];
|
|
1134
|
+
};
|
|
1135
|
+
};
|
|
1136
|
+
};
|
|
1137
|
+
};
|
|
1138
|
+
put?: never;
|
|
1139
|
+
post?: never;
|
|
1140
|
+
delete?: never;
|
|
1141
|
+
options?: never;
|
|
1142
|
+
head?: never;
|
|
1143
|
+
patch?: never;
|
|
1144
|
+
trace?: never;
|
|
1145
|
+
};
|
|
1011
1146
|
"/v1/accounts/{account_id}/reconnect": {
|
|
1012
1147
|
parameters: {
|
|
1013
1148
|
query?: never;
|
|
@@ -1393,6 +1528,13 @@ interface paths {
|
|
|
1393
1528
|
account_id?: string;
|
|
1394
1529
|
/** @enum {string} */
|
|
1395
1530
|
status?: "active";
|
|
1531
|
+
/** @description The seat this account occupies (canonical — supersedes the deprecated attached_seat_id). */
|
|
1532
|
+
seat_id?: string | null;
|
|
1533
|
+
/**
|
|
1534
|
+
* @deprecated
|
|
1535
|
+
* @description Deprecated — use seat_id (same value). Removed at the GA /v1 cutover.
|
|
1536
|
+
*/
|
|
1537
|
+
attached_seat_id?: string | null;
|
|
1396
1538
|
};
|
|
1397
1539
|
};
|
|
1398
1540
|
};
|
|
@@ -1507,6 +1649,137 @@ interface paths {
|
|
|
1507
1649
|
patch?: never;
|
|
1508
1650
|
trace?: never;
|
|
1509
1651
|
};
|
|
1652
|
+
"/v1/accounts/checkpoints/resend": {
|
|
1653
|
+
parameters: {
|
|
1654
|
+
query?: never;
|
|
1655
|
+
header?: never;
|
|
1656
|
+
path?: never;
|
|
1657
|
+
cookie?: never;
|
|
1658
|
+
};
|
|
1659
|
+
get?: never;
|
|
1660
|
+
put?: never;
|
|
1661
|
+
/**
|
|
1662
|
+
* Resend a checkpoint verification notification
|
|
1663
|
+
* @description Re-push / re-issue the pending verification challenge notification for an account. Addressed by account_id in the body (the account_id returned with the 202 checkpoint_required response). Meaningful for otp / two_factor_sms / mobile_app_approval challenges; a two_factor_app challenge has nothing to resend (the code is generated on the device) and returns resent:false rather than an error — the response never claims a resend that did not happen. Does not reset the checkpoint's expiry.
|
|
1664
|
+
*/
|
|
1665
|
+
post: {
|
|
1666
|
+
parameters: {
|
|
1667
|
+
query?: never;
|
|
1668
|
+
header?: never;
|
|
1669
|
+
path?: never;
|
|
1670
|
+
cookie?: never;
|
|
1671
|
+
};
|
|
1672
|
+
requestBody: {
|
|
1673
|
+
content: {
|
|
1674
|
+
"application/json": {
|
|
1675
|
+
/** @description The account whose pending checkpoint notification should be re-sent (returned with the 202 checkpoint_required response, or from link/poll). */
|
|
1676
|
+
account_id: string;
|
|
1677
|
+
};
|
|
1678
|
+
};
|
|
1679
|
+
};
|
|
1680
|
+
responses: {
|
|
1681
|
+
/** @description The resend request was processed. resent:true means the substrate confirmed the notification was re-sent; resent:false means the substrate acknowledged the request but had nothing to re-send (e.g. a two_factor_app challenge, where the code is generated on the device) — the response never claims a resend that did not happen. */
|
|
1682
|
+
200: {
|
|
1683
|
+
headers: {
|
|
1684
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
1685
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
1686
|
+
[name: string]: unknown;
|
|
1687
|
+
};
|
|
1688
|
+
content: {
|
|
1689
|
+
"application/json": {
|
|
1690
|
+
/**
|
|
1691
|
+
* @description Response type discriminator.
|
|
1692
|
+
* @enum {string}
|
|
1693
|
+
*/
|
|
1694
|
+
object?: "checkpoint";
|
|
1695
|
+
account_id?: string;
|
|
1696
|
+
resent?: boolean;
|
|
1697
|
+
};
|
|
1698
|
+
};
|
|
1699
|
+
};
|
|
1700
|
+
/** @description No pending checkpoint for this account. */
|
|
1701
|
+
404: {
|
|
1702
|
+
headers: {
|
|
1703
|
+
[name: string]: unknown;
|
|
1704
|
+
};
|
|
1705
|
+
content: {
|
|
1706
|
+
"application/json": components["schemas"]["Error"];
|
|
1707
|
+
};
|
|
1708
|
+
};
|
|
1709
|
+
/** @description The checkpoint has expired. */
|
|
1710
|
+
409: {
|
|
1711
|
+
headers: {
|
|
1712
|
+
[name: string]: unknown;
|
|
1713
|
+
};
|
|
1714
|
+
content: {
|
|
1715
|
+
"application/json": components["schemas"]["Error"];
|
|
1716
|
+
};
|
|
1717
|
+
};
|
|
1718
|
+
/** @description Rate limited — slow down and retry after the hinted delay. */
|
|
1719
|
+
429: {
|
|
1720
|
+
headers: {
|
|
1721
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
1722
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
1723
|
+
"Retry-After": components["headers"]["Retry-After"];
|
|
1724
|
+
[name: string]: unknown;
|
|
1725
|
+
};
|
|
1726
|
+
content: {
|
|
1727
|
+
"application/json": components["schemas"]["Error"];
|
|
1728
|
+
};
|
|
1729
|
+
};
|
|
1730
|
+
/** @description Internal error. */
|
|
1731
|
+
500: {
|
|
1732
|
+
headers: {
|
|
1733
|
+
[name: string]: unknown;
|
|
1734
|
+
};
|
|
1735
|
+
content: {
|
|
1736
|
+
"application/json": components["schemas"]["Error"];
|
|
1737
|
+
};
|
|
1738
|
+
};
|
|
1739
|
+
/** @description This challenge type does not support resend — there is nothing for the substrate to re-send. Not retryable as-is; resolve the checkpoint via submit, or by completing it directly (e.g. approving on the device), instead of resending. */
|
|
1740
|
+
501: {
|
|
1741
|
+
headers: {
|
|
1742
|
+
[name: string]: unknown;
|
|
1743
|
+
};
|
|
1744
|
+
content: {
|
|
1745
|
+
"application/json": components["schemas"]["Error"];
|
|
1746
|
+
};
|
|
1747
|
+
};
|
|
1748
|
+
/** @description A temporary error occurred. Please try again. */
|
|
1749
|
+
502: {
|
|
1750
|
+
headers: {
|
|
1751
|
+
[name: string]: unknown;
|
|
1752
|
+
};
|
|
1753
|
+
content: {
|
|
1754
|
+
"application/json": components["schemas"]["Error"];
|
|
1755
|
+
};
|
|
1756
|
+
};
|
|
1757
|
+
/** @description Service unavailable. */
|
|
1758
|
+
503: {
|
|
1759
|
+
headers: {
|
|
1760
|
+
[name: string]: unknown;
|
|
1761
|
+
};
|
|
1762
|
+
content: {
|
|
1763
|
+
"application/json": components["schemas"]["Error"];
|
|
1764
|
+
};
|
|
1765
|
+
};
|
|
1766
|
+
/** @description Gateway timeout. */
|
|
1767
|
+
504: {
|
|
1768
|
+
headers: {
|
|
1769
|
+
[name: string]: unknown;
|
|
1770
|
+
};
|
|
1771
|
+
content: {
|
|
1772
|
+
"application/json": components["schemas"]["Error"];
|
|
1773
|
+
};
|
|
1774
|
+
};
|
|
1775
|
+
};
|
|
1776
|
+
};
|
|
1777
|
+
delete?: never;
|
|
1778
|
+
options?: never;
|
|
1779
|
+
head?: never;
|
|
1780
|
+
patch?: never;
|
|
1781
|
+
trace?: never;
|
|
1782
|
+
};
|
|
1510
1783
|
"/v1/accounts/checkpoints/poll": {
|
|
1511
1784
|
parameters: {
|
|
1512
1785
|
query?: never;
|
|
@@ -1558,7 +1831,12 @@ interface paths {
|
|
|
1558
1831
|
full_name?: string | null;
|
|
1559
1832
|
/** @description Present on status:"active". */
|
|
1560
1833
|
headline?: string | null;
|
|
1561
|
-
/** @description The seat this account occupies. Present on status:"active". */
|
|
1834
|
+
/** @description The seat this account occupies (canonical — supersedes the deprecated attached_seat_id). Present on status:"active". */
|
|
1835
|
+
seat_id?: string | null;
|
|
1836
|
+
/**
|
|
1837
|
+
* @deprecated
|
|
1838
|
+
* @description Deprecated — use seat_id (same value). Removed at the GA /v1 cutover. Present on status:"active".
|
|
1839
|
+
*/
|
|
1562
1840
|
attached_seat_id?: string | null;
|
|
1563
1841
|
/** @description ISO-8601 expiry. Present on status:"pending". */
|
|
1564
1842
|
expires_at?: string;
|
|
@@ -2252,28 +2530,169 @@ interface paths {
|
|
|
2252
2530
|
query?: never;
|
|
2253
2531
|
header?: never;
|
|
2254
2532
|
path: {
|
|
2255
|
-
/** @description The received invitation's id (from GET /v1/invites/received items[].id). */
|
|
2533
|
+
/** @description The received invitation's id (from GET /v1/invites/received items[].id). */
|
|
2534
|
+
invitation_id: string;
|
|
2535
|
+
};
|
|
2536
|
+
cookie?: never;
|
|
2537
|
+
};
|
|
2538
|
+
requestBody: {
|
|
2539
|
+
content: {
|
|
2540
|
+
"application/json": {
|
|
2541
|
+
/** @description The linked LinkedIn account to act on behalf of. */
|
|
2542
|
+
account_id: string;
|
|
2543
|
+
/**
|
|
2544
|
+
* @description Whether to accept or decline the received invitation. Required with no default — prevents silent wrong-direction accidents.
|
|
2545
|
+
* @enum {string}
|
|
2546
|
+
*/
|
|
2547
|
+
action: "accept" | "decline";
|
|
2548
|
+
/** @description Per-invitation token issued by the platform. Required to accept or decline. Obtain it from GET /v1/invites/received (items[].specifics.shared_secret). Passed to the platform and immediately discarded — never stored. */
|
|
2549
|
+
shared_secret: string;
|
|
2550
|
+
};
|
|
2551
|
+
};
|
|
2552
|
+
};
|
|
2553
|
+
responses: {
|
|
2554
|
+
/** @description Invitation handled, or already absent (not_found) */
|
|
2555
|
+
200: {
|
|
2556
|
+
headers: {
|
|
2557
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
2558
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
2559
|
+
[name: string]: unknown;
|
|
2560
|
+
};
|
|
2561
|
+
content: {
|
|
2562
|
+
"application/json": {
|
|
2563
|
+
/**
|
|
2564
|
+
* @description Response type discriminator.
|
|
2565
|
+
* @enum {string}
|
|
2566
|
+
*/
|
|
2567
|
+
object?: "invitation_handled";
|
|
2568
|
+
/** @description The handled invitation's id. */
|
|
2569
|
+
invitation_id?: string;
|
|
2570
|
+
/**
|
|
2571
|
+
* @description The action that was taken.
|
|
2572
|
+
* @enum {string}
|
|
2573
|
+
*/
|
|
2574
|
+
action?: "accept" | "decline";
|
|
2575
|
+
/**
|
|
2576
|
+
* @description Outcome status. not_found means the invitation was already absent — not an error.
|
|
2577
|
+
* @enum {string}
|
|
2578
|
+
*/
|
|
2579
|
+
status?: "accepted" | "declined" | "not_found";
|
|
2580
|
+
};
|
|
2581
|
+
};
|
|
2582
|
+
};
|
|
2583
|
+
/** @description Invalid request — missing or malformed parameters. */
|
|
2584
|
+
400: {
|
|
2585
|
+
headers: {
|
|
2586
|
+
[name: string]: unknown;
|
|
2587
|
+
};
|
|
2588
|
+
content: {
|
|
2589
|
+
"application/json": components["schemas"]["Error"];
|
|
2590
|
+
};
|
|
2591
|
+
};
|
|
2592
|
+
/** @description Missing or invalid API key. */
|
|
2593
|
+
401: {
|
|
2594
|
+
headers: {
|
|
2595
|
+
[name: string]: unknown;
|
|
2596
|
+
};
|
|
2597
|
+
content: {
|
|
2598
|
+
"application/json": components["schemas"]["Error"];
|
|
2599
|
+
};
|
|
2600
|
+
};
|
|
2601
|
+
/** @description Account not found or not owned by this tenant. */
|
|
2602
|
+
404: {
|
|
2603
|
+
headers: {
|
|
2604
|
+
[name: string]: unknown;
|
|
2605
|
+
};
|
|
2606
|
+
content: {
|
|
2607
|
+
"application/json": components["schemas"]["Error"];
|
|
2608
|
+
};
|
|
2609
|
+
};
|
|
2610
|
+
/** @description Quota exceeded — slow down and retry after the hinted delay. */
|
|
2611
|
+
429: {
|
|
2612
|
+
headers: {
|
|
2613
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
2614
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
2615
|
+
"Retry-After": components["headers"]["Retry-After"];
|
|
2616
|
+
[name: string]: unknown;
|
|
2617
|
+
};
|
|
2618
|
+
content: {
|
|
2619
|
+
"application/json": components["schemas"]["Error"];
|
|
2620
|
+
};
|
|
2621
|
+
};
|
|
2622
|
+
/** @description Internal server error. */
|
|
2623
|
+
500: {
|
|
2624
|
+
headers: {
|
|
2625
|
+
[name: string]: unknown;
|
|
2626
|
+
};
|
|
2627
|
+
content: {
|
|
2628
|
+
"application/json": components["schemas"]["Error"];
|
|
2629
|
+
};
|
|
2630
|
+
};
|
|
2631
|
+
/** @description A temporary error occurred while processing the request. */
|
|
2632
|
+
502: {
|
|
2633
|
+
headers: {
|
|
2634
|
+
[name: string]: unknown;
|
|
2635
|
+
};
|
|
2636
|
+
content: {
|
|
2637
|
+
"application/json": components["schemas"]["Error"];
|
|
2638
|
+
};
|
|
2639
|
+
};
|
|
2640
|
+
/** @description Service unavailable. */
|
|
2641
|
+
503: {
|
|
2642
|
+
headers: {
|
|
2643
|
+
[name: string]: unknown;
|
|
2644
|
+
};
|
|
2645
|
+
content: {
|
|
2646
|
+
"application/json": components["schemas"]["Error"];
|
|
2647
|
+
};
|
|
2648
|
+
};
|
|
2649
|
+
/** @description Gateway timeout. */
|
|
2650
|
+
504: {
|
|
2651
|
+
headers: {
|
|
2652
|
+
[name: string]: unknown;
|
|
2653
|
+
};
|
|
2654
|
+
content: {
|
|
2655
|
+
"application/json": components["schemas"]["Error"];
|
|
2656
|
+
};
|
|
2657
|
+
};
|
|
2658
|
+
};
|
|
2659
|
+
};
|
|
2660
|
+
delete?: never;
|
|
2661
|
+
options?: never;
|
|
2662
|
+
head?: never;
|
|
2663
|
+
patch?: never;
|
|
2664
|
+
trace?: never;
|
|
2665
|
+
};
|
|
2666
|
+
"/v1/invites/{invitation_id}": {
|
|
2667
|
+
parameters: {
|
|
2668
|
+
query?: never;
|
|
2669
|
+
header?: never;
|
|
2670
|
+
path?: never;
|
|
2671
|
+
cookie?: never;
|
|
2672
|
+
};
|
|
2673
|
+
get?: never;
|
|
2674
|
+
put?: never;
|
|
2675
|
+
post?: never;
|
|
2676
|
+
/**
|
|
2677
|
+
* Cancel a sent invitation
|
|
2678
|
+
* @description Cancels a previously sent connection invitation by id. An already-absent or unrecognized invitation_id returns status:not_found rather than an error.
|
|
2679
|
+
*/
|
|
2680
|
+
delete: {
|
|
2681
|
+
parameters: {
|
|
2682
|
+
query: {
|
|
2683
|
+
/** @description The linked LinkedIn account to act on behalf of. */
|
|
2684
|
+
account_id: string;
|
|
2685
|
+
};
|
|
2686
|
+
header?: never;
|
|
2687
|
+
path: {
|
|
2688
|
+
/** @description The sent invitation's id to cancel. */
|
|
2256
2689
|
invitation_id: string;
|
|
2257
2690
|
};
|
|
2258
2691
|
cookie?: never;
|
|
2259
2692
|
};
|
|
2260
|
-
requestBody
|
|
2261
|
-
content: {
|
|
2262
|
-
"application/json": {
|
|
2263
|
-
/** @description The linked LinkedIn account to act on behalf of. */
|
|
2264
|
-
account_id: string;
|
|
2265
|
-
/**
|
|
2266
|
-
* @description Whether to accept or decline the received invitation. Required with no default — prevents silent wrong-direction accidents.
|
|
2267
|
-
* @enum {string}
|
|
2268
|
-
*/
|
|
2269
|
-
action: "accept" | "decline";
|
|
2270
|
-
/** @description Per-invitation token issued by the platform. Required to accept or decline. Obtain it from GET /v1/invites/received (items[].specifics.shared_secret). Passed to the platform and immediately discarded — never stored. */
|
|
2271
|
-
shared_secret: string;
|
|
2272
|
-
};
|
|
2273
|
-
};
|
|
2274
|
-
};
|
|
2693
|
+
requestBody?: never;
|
|
2275
2694
|
responses: {
|
|
2276
|
-
/** @description Invitation
|
|
2695
|
+
/** @description Invitation canceled, or already absent (not_found). */
|
|
2277
2696
|
200: {
|
|
2278
2697
|
headers: {
|
|
2279
2698
|
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
@@ -2286,19 +2705,14 @@ interface paths {
|
|
|
2286
2705
|
* @description Response type discriminator.
|
|
2287
2706
|
* @enum {string}
|
|
2288
2707
|
*/
|
|
2289
|
-
object?: "
|
|
2290
|
-
/** @description The
|
|
2708
|
+
object?: "invitation_canceled";
|
|
2709
|
+
/** @description The canceled invitation's id. */
|
|
2291
2710
|
invitation_id?: string;
|
|
2292
|
-
/**
|
|
2293
|
-
* @description The action that was taken.
|
|
2294
|
-
* @enum {string}
|
|
2295
|
-
*/
|
|
2296
|
-
action?: "accept" | "decline";
|
|
2297
2711
|
/**
|
|
2298
2712
|
* @description Outcome status. not_found means the invitation was already absent — not an error.
|
|
2299
2713
|
* @enum {string}
|
|
2300
2714
|
*/
|
|
2301
|
-
status?: "
|
|
2715
|
+
status?: "canceled" | "not_found";
|
|
2302
2716
|
};
|
|
2303
2717
|
};
|
|
2304
2718
|
};
|
|
@@ -2379,42 +2793,38 @@ interface paths {
|
|
|
2379
2793
|
};
|
|
2380
2794
|
};
|
|
2381
2795
|
};
|
|
2382
|
-
delete?: never;
|
|
2383
2796
|
options?: never;
|
|
2384
2797
|
head?: never;
|
|
2385
2798
|
patch?: never;
|
|
2386
2799
|
trace?: never;
|
|
2387
2800
|
};
|
|
2388
|
-
"/v1/
|
|
2801
|
+
"/v1/jobs/{job_id}": {
|
|
2389
2802
|
parameters: {
|
|
2390
2803
|
query?: never;
|
|
2391
2804
|
header?: never;
|
|
2392
2805
|
path?: never;
|
|
2393
2806
|
cookie?: never;
|
|
2394
2807
|
};
|
|
2395
|
-
get?: never;
|
|
2396
|
-
put?: never;
|
|
2397
|
-
post?: never;
|
|
2398
2808
|
/**
|
|
2399
|
-
*
|
|
2400
|
-
* @description
|
|
2809
|
+
* Get job posting
|
|
2810
|
+
* @description Returns one public LinkedIn job posting's full detail — title, company, location, description, and applicant count.
|
|
2401
2811
|
*/
|
|
2402
|
-
|
|
2812
|
+
get: {
|
|
2403
2813
|
parameters: {
|
|
2404
2814
|
query: {
|
|
2405
|
-
/** @description The
|
|
2815
|
+
/** @description The connected LinkedIn account to retrieve the job posting on behalf of. */
|
|
2406
2816
|
account_id: string;
|
|
2407
2817
|
};
|
|
2408
2818
|
header?: never;
|
|
2409
2819
|
path: {
|
|
2410
|
-
/** @description The
|
|
2411
|
-
|
|
2820
|
+
/** @description The numeric id of the job posting, e.g. 4428113858. This is the number in a LinkedIn job URL (https://www.linkedin.com/jobs/view/4428113858) and the job_urn value in a POST /v1/search/jobs result. Pass the number only — a full URL is not accepted by the API (the SDK and CLI extract the id from a URL for you). */
|
|
2821
|
+
job_id: string;
|
|
2412
2822
|
};
|
|
2413
2823
|
cookie?: never;
|
|
2414
2824
|
};
|
|
2415
2825
|
requestBody?: never;
|
|
2416
2826
|
responses: {
|
|
2417
|
-
/** @description
|
|
2827
|
+
/** @description The job posting's full detail. Content fields (title, description) are returned verbatim and are never stored. */
|
|
2418
2828
|
200: {
|
|
2419
2829
|
headers: {
|
|
2420
2830
|
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
@@ -2427,18 +2837,35 @@ interface paths {
|
|
|
2427
2837
|
* @description Response type discriminator.
|
|
2428
2838
|
* @enum {string}
|
|
2429
2839
|
*/
|
|
2430
|
-
object
|
|
2431
|
-
/** @description The
|
|
2432
|
-
|
|
2433
|
-
/**
|
|
2434
|
-
|
|
2435
|
-
|
|
2436
|
-
|
|
2437
|
-
|
|
2840
|
+
object: "job_posting";
|
|
2841
|
+
/** @description The job posting's numeric identifier. */
|
|
2842
|
+
id: string;
|
|
2843
|
+
/** @description Job title (content pass-through — never stored). */
|
|
2844
|
+
title: string;
|
|
2845
|
+
/** @description Hiring company's display name. */
|
|
2846
|
+
company: string;
|
|
2847
|
+
/** @description The hiring company's id — pass it to GET /v1/profiles/companies/{company_id}. */
|
|
2848
|
+
company_id: string;
|
|
2849
|
+
/** @description Posting lifecycle state (e.g. active). */
|
|
2850
|
+
state: string;
|
|
2851
|
+
/** @description Job location, or null when not set. */
|
|
2852
|
+
location: string | null;
|
|
2853
|
+
/** @description Posting cost, in the currency the account bills in. */
|
|
2854
|
+
cost: number;
|
|
2855
|
+
/** @description Number of applicants so far. */
|
|
2856
|
+
applicants_counter: number;
|
|
2857
|
+
/** @description Full job description text (content pass-through — never stored). */
|
|
2858
|
+
description: string;
|
|
2859
|
+
/** @description ISO-8601 UTC timestamp the posting was created, or null when not set. */
|
|
2860
|
+
created_at: string | null;
|
|
2861
|
+
/** @description ISO-8601 UTC timestamp the posting was published, or null when not set. */
|
|
2862
|
+
published_at: string | null;
|
|
2863
|
+
/** @description Hiring team members associated with this posting, when the posting exposes any. */
|
|
2864
|
+
hiring_team: unknown[];
|
|
2438
2865
|
};
|
|
2439
2866
|
};
|
|
2440
2867
|
};
|
|
2441
|
-
/** @description
|
|
2868
|
+
/** @description Missing or empty account_id. */
|
|
2442
2869
|
400: {
|
|
2443
2870
|
headers: {
|
|
2444
2871
|
[name: string]: unknown;
|
|
@@ -2456,7 +2883,16 @@ interface paths {
|
|
|
2456
2883
|
"application/json": components["schemas"]["Error"];
|
|
2457
2884
|
};
|
|
2458
2885
|
};
|
|
2459
|
-
/** @description
|
|
2886
|
+
/** @description The account does not have the required Core seat. */
|
|
2887
|
+
403: {
|
|
2888
|
+
headers: {
|
|
2889
|
+
[name: string]: unknown;
|
|
2890
|
+
};
|
|
2891
|
+
content: {
|
|
2892
|
+
"application/json": components["schemas"]["Error"];
|
|
2893
|
+
};
|
|
2894
|
+
};
|
|
2895
|
+
/** @description The account_id does not belong to this tenant, or the job posting was not found. */
|
|
2460
2896
|
404: {
|
|
2461
2897
|
headers: {
|
|
2462
2898
|
[name: string]: unknown;
|
|
@@ -2465,7 +2901,16 @@ interface paths {
|
|
|
2465
2901
|
"application/json": components["schemas"]["Error"];
|
|
2466
2902
|
};
|
|
2467
2903
|
};
|
|
2468
|
-
/** @description
|
|
2904
|
+
/** @description The account is restricted and cannot be queried. */
|
|
2905
|
+
422: {
|
|
2906
|
+
headers: {
|
|
2907
|
+
[name: string]: unknown;
|
|
2908
|
+
};
|
|
2909
|
+
content: {
|
|
2910
|
+
"application/json": components["schemas"]["Error"];
|
|
2911
|
+
};
|
|
2912
|
+
};
|
|
2913
|
+
/** @description Rate limited — slow down and retry after the hinted delay. */
|
|
2469
2914
|
429: {
|
|
2470
2915
|
headers: {
|
|
2471
2916
|
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
@@ -2477,7 +2922,7 @@ interface paths {
|
|
|
2477
2922
|
"application/json": components["schemas"]["Error"];
|
|
2478
2923
|
};
|
|
2479
2924
|
};
|
|
2480
|
-
/** @description Internal
|
|
2925
|
+
/** @description Internal error. */
|
|
2481
2926
|
500: {
|
|
2482
2927
|
headers: {
|
|
2483
2928
|
[name: string]: unknown;
|
|
@@ -2486,7 +2931,7 @@ interface paths {
|
|
|
2486
2931
|
"application/json": components["schemas"]["Error"];
|
|
2487
2932
|
};
|
|
2488
2933
|
};
|
|
2489
|
-
/** @description A temporary error occurred
|
|
2934
|
+
/** @description A temporary error occurred. Please try again. */
|
|
2490
2935
|
502: {
|
|
2491
2936
|
headers: {
|
|
2492
2937
|
[name: string]: unknown;
|
|
@@ -2515,6 +2960,9 @@ interface paths {
|
|
|
2515
2960
|
};
|
|
2516
2961
|
};
|
|
2517
2962
|
};
|
|
2963
|
+
put?: never;
|
|
2964
|
+
post?: never;
|
|
2965
|
+
delete?: never;
|
|
2518
2966
|
options?: never;
|
|
2519
2967
|
head?: never;
|
|
2520
2968
|
patch?: never;
|
|
@@ -11212,6 +11660,176 @@ interface paths {
|
|
|
11212
11660
|
patch?: never;
|
|
11213
11661
|
trace?: never;
|
|
11214
11662
|
};
|
|
11663
|
+
"/v1/recruiter/jobs/{job_id}": {
|
|
11664
|
+
parameters: {
|
|
11665
|
+
query?: never;
|
|
11666
|
+
header?: never;
|
|
11667
|
+
path?: never;
|
|
11668
|
+
cookie?: never;
|
|
11669
|
+
};
|
|
11670
|
+
/**
|
|
11671
|
+
* Get job posting
|
|
11672
|
+
* @description Returns one public LinkedIn job posting's full detail (RECRUITER lens) — title, company, location, description, and applicant count. Requires a Recruiter seat.
|
|
11673
|
+
*/
|
|
11674
|
+
get: {
|
|
11675
|
+
parameters: {
|
|
11676
|
+
query: {
|
|
11677
|
+
/** @description The connected LinkedIn account to retrieve the job posting on behalf of. */
|
|
11678
|
+
account_id: string;
|
|
11679
|
+
};
|
|
11680
|
+
header?: never;
|
|
11681
|
+
path: {
|
|
11682
|
+
/** @description The numeric id of the job posting, e.g. 4428113858. This is the number in a LinkedIn job URL (https://www.linkedin.com/jobs/view/4428113858) and the job_urn value in a POST /v1/search/jobs result. Pass the number only — a full URL is not accepted by the API (the SDK and CLI extract the id from a URL for you). */
|
|
11683
|
+
job_id: string;
|
|
11684
|
+
};
|
|
11685
|
+
cookie?: never;
|
|
11686
|
+
};
|
|
11687
|
+
requestBody?: never;
|
|
11688
|
+
responses: {
|
|
11689
|
+
/** @description The job posting's full detail (RECRUITER lens — the same job_posting shape as the Core retrieve; content fields are returned verbatim and never stored). Requires a Recruiter seat. */
|
|
11690
|
+
200: {
|
|
11691
|
+
headers: {
|
|
11692
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
11693
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
11694
|
+
[name: string]: unknown;
|
|
11695
|
+
};
|
|
11696
|
+
content: {
|
|
11697
|
+
"application/json": {
|
|
11698
|
+
/**
|
|
11699
|
+
* @description Response type discriminator.
|
|
11700
|
+
* @enum {string}
|
|
11701
|
+
*/
|
|
11702
|
+
object: "job_posting";
|
|
11703
|
+
/** @description The job posting's numeric identifier. */
|
|
11704
|
+
id: string;
|
|
11705
|
+
/** @description Job title (content pass-through — never stored). */
|
|
11706
|
+
title: string;
|
|
11707
|
+
/** @description Hiring company's display name. */
|
|
11708
|
+
company: string;
|
|
11709
|
+
/** @description The hiring company's id — pass it to GET /v1/profiles/companies/{company_id}. */
|
|
11710
|
+
company_id: string;
|
|
11711
|
+
/** @description Posting lifecycle state (e.g. active). */
|
|
11712
|
+
state: string;
|
|
11713
|
+
/** @description Job location, or null when not set. */
|
|
11714
|
+
location: string | null;
|
|
11715
|
+
/** @description Posting cost, in the currency the account bills in. */
|
|
11716
|
+
cost: number;
|
|
11717
|
+
/** @description Number of applicants so far. */
|
|
11718
|
+
applicants_counter: number;
|
|
11719
|
+
/** @description Full job description text (content pass-through — never stored). */
|
|
11720
|
+
description: string;
|
|
11721
|
+
/** @description ISO-8601 UTC timestamp the posting was created, or null when not set. */
|
|
11722
|
+
created_at: string | null;
|
|
11723
|
+
/** @description ISO-8601 UTC timestamp the posting was published, or null when not set. */
|
|
11724
|
+
published_at: string | null;
|
|
11725
|
+
/** @description Hiring team members associated with this posting, when the posting exposes any. */
|
|
11726
|
+
hiring_team: unknown[];
|
|
11727
|
+
};
|
|
11728
|
+
};
|
|
11729
|
+
};
|
|
11730
|
+
/** @description Missing or empty account_id. */
|
|
11731
|
+
400: {
|
|
11732
|
+
headers: {
|
|
11733
|
+
[name: string]: unknown;
|
|
11734
|
+
};
|
|
11735
|
+
content: {
|
|
11736
|
+
"application/json": components["schemas"]["Error"];
|
|
11737
|
+
};
|
|
11738
|
+
};
|
|
11739
|
+
/** @description Missing or invalid API key, or LinkedIn authentication failed. */
|
|
11740
|
+
401: {
|
|
11741
|
+
headers: {
|
|
11742
|
+
[name: string]: unknown;
|
|
11743
|
+
};
|
|
11744
|
+
content: {
|
|
11745
|
+
"application/json": components["schemas"]["Error"];
|
|
11746
|
+
};
|
|
11747
|
+
};
|
|
11748
|
+
/** @description The account does not have the required Recruiter seat. */
|
|
11749
|
+
403: {
|
|
11750
|
+
headers: {
|
|
11751
|
+
[name: string]: unknown;
|
|
11752
|
+
};
|
|
11753
|
+
content: {
|
|
11754
|
+
"application/json": components["schemas"]["Error"];
|
|
11755
|
+
};
|
|
11756
|
+
};
|
|
11757
|
+
/** @description The account_id does not belong to this tenant, or the job posting was not found. */
|
|
11758
|
+
404: {
|
|
11759
|
+
headers: {
|
|
11760
|
+
[name: string]: unknown;
|
|
11761
|
+
};
|
|
11762
|
+
content: {
|
|
11763
|
+
"application/json": components["schemas"]["Error"];
|
|
11764
|
+
};
|
|
11765
|
+
};
|
|
11766
|
+
/** @description The account is restricted and cannot be queried. */
|
|
11767
|
+
422: {
|
|
11768
|
+
headers: {
|
|
11769
|
+
[name: string]: unknown;
|
|
11770
|
+
};
|
|
11771
|
+
content: {
|
|
11772
|
+
"application/json": components["schemas"]["Error"];
|
|
11773
|
+
};
|
|
11774
|
+
};
|
|
11775
|
+
/** @description Rate limited — slow down and retry after the hinted delay. */
|
|
11776
|
+
429: {
|
|
11777
|
+
headers: {
|
|
11778
|
+
"RateLimit-Policy": components["headers"]["RateLimit-Policy"];
|
|
11779
|
+
RateLimit: components["headers"]["RateLimit"];
|
|
11780
|
+
"Retry-After": components["headers"]["Retry-After"];
|
|
11781
|
+
[name: string]: unknown;
|
|
11782
|
+
};
|
|
11783
|
+
content: {
|
|
11784
|
+
"application/json": components["schemas"]["Error"];
|
|
11785
|
+
};
|
|
11786
|
+
};
|
|
11787
|
+
/** @description Internal error. */
|
|
11788
|
+
500: {
|
|
11789
|
+
headers: {
|
|
11790
|
+
[name: string]: unknown;
|
|
11791
|
+
};
|
|
11792
|
+
content: {
|
|
11793
|
+
"application/json": components["schemas"]["Error"];
|
|
11794
|
+
};
|
|
11795
|
+
};
|
|
11796
|
+
/** @description A temporary error occurred. Please try again. */
|
|
11797
|
+
502: {
|
|
11798
|
+
headers: {
|
|
11799
|
+
[name: string]: unknown;
|
|
11800
|
+
};
|
|
11801
|
+
content: {
|
|
11802
|
+
"application/json": components["schemas"]["Error"];
|
|
11803
|
+
};
|
|
11804
|
+
};
|
|
11805
|
+
/** @description Service unavailable. */
|
|
11806
|
+
503: {
|
|
11807
|
+
headers: {
|
|
11808
|
+
[name: string]: unknown;
|
|
11809
|
+
};
|
|
11810
|
+
content: {
|
|
11811
|
+
"application/json": components["schemas"]["Error"];
|
|
11812
|
+
};
|
|
11813
|
+
};
|
|
11814
|
+
/** @description Gateway timeout. */
|
|
11815
|
+
504: {
|
|
11816
|
+
headers: {
|
|
11817
|
+
[name: string]: unknown;
|
|
11818
|
+
};
|
|
11819
|
+
content: {
|
|
11820
|
+
"application/json": components["schemas"]["Error"];
|
|
11821
|
+
};
|
|
11822
|
+
};
|
|
11823
|
+
};
|
|
11824
|
+
};
|
|
11825
|
+
put?: never;
|
|
11826
|
+
post?: never;
|
|
11827
|
+
delete?: never;
|
|
11828
|
+
options?: never;
|
|
11829
|
+
head?: never;
|
|
11830
|
+
patch?: never;
|
|
11831
|
+
trace?: never;
|
|
11832
|
+
};
|
|
11215
11833
|
"/v1/recruiter/jobs/{job_id}/applicants": {
|
|
11216
11834
|
parameters: {
|
|
11217
11835
|
query?: never;
|
|
@@ -14903,8 +15521,10 @@ interface paths {
|
|
|
14903
15521
|
/** @description Opaque next-call cursor. */
|
|
14904
15522
|
version?: string;
|
|
14905
15523
|
changes?: {
|
|
14906
|
-
|
|
14907
|
-
|
|
15524
|
+
/** @enum {string|null} */
|
|
15525
|
+
previous_status?: "active" | "reconnect_needed" | "restricted" | "connecting" | "disconnected" | null;
|
|
15526
|
+
/** @enum {string} */
|
|
15527
|
+
current_status?: "active" | "reconnect_needed" | "restricted" | "connecting" | "disconnected";
|
|
14908
15528
|
detected_at?: string;
|
|
14909
15529
|
}[];
|
|
14910
15530
|
};
|
|
@@ -15057,10 +15677,16 @@ type AccountSubmitCheckpointResult = paths["/v1/accounts/checkpoints/submit"]["p
|
|
|
15057
15677
|
type AccountPollCheckpointBody = paths["/v1/accounts/checkpoints/poll"]["post"]["requestBody"]["content"]["application/json"];
|
|
15058
15678
|
/** `POST /v1/accounts/checkpoints/poll` 200 body. */
|
|
15059
15679
|
type AccountPollCheckpointResult = paths["/v1/accounts/checkpoints/poll"]["post"]["responses"]["200"]["content"]["application/json"];
|
|
15680
|
+
/** `POST /v1/accounts/checkpoints/resend` request body. */
|
|
15681
|
+
type AccountResendCheckpointBody = paths["/v1/accounts/checkpoints/resend"]["post"]["requestBody"]["content"]["application/json"];
|
|
15682
|
+
/** `POST /v1/accounts/checkpoints/resend` 200 body. */
|
|
15683
|
+
type AccountResendCheckpointResult = paths["/v1/accounts/checkpoints/resend"]["post"]["responses"]["200"]["content"]["application/json"];
|
|
15060
15684
|
/** `POST /v1/accounts/connect-link` request body. */
|
|
15061
15685
|
type AccountConnectLinkBody = paths["/v1/accounts/connect-link"]["post"]["requestBody"]["content"]["application/json"];
|
|
15062
15686
|
/** `POST /v1/accounts/connect-link` 201 body. */
|
|
15063
15687
|
type AccountConnectLinkResult = paths["/v1/accounts/connect-link"]["post"]["responses"]["201"]["content"]["application/json"];
|
|
15688
|
+
/** `GET /v1/accounts/connect-sessions/{session_id}` 200 body. */
|
|
15689
|
+
type AccountConnectSessionResult = paths["/v1/accounts/connect-sessions/{session_id}"]["get"]["responses"]["200"]["content"]["application/json"];
|
|
15064
15690
|
/** `GET /v1/accounts/{account_id}` 200 body. */
|
|
15065
15691
|
type AccountDetail = paths["/v1/accounts/{account_id}"]["get"]["responses"]["200"]["content"]["application/json"];
|
|
15066
15692
|
/** `POST /v1/accounts/{account_id}/reconnect` request body. */
|
|
@@ -15109,11 +15735,35 @@ declare class AccountsResource {
|
|
|
15109
15735
|
* Poll for mobile-app approval of a pending checkpoint challenge.
|
|
15110
15736
|
*/
|
|
15111
15737
|
pollCheckpoint(body: AccountPollCheckpointBody): Promise<AccountPollCheckpointResult>;
|
|
15738
|
+
/**
|
|
15739
|
+
* Re-send the pending verification challenge notification for an account.
|
|
15740
|
+
*
|
|
15741
|
+
* Useful when the end user says they never received the code or push
|
|
15742
|
+
* notification for a pending checkpoint. `resent` echoes the result
|
|
15743
|
+
* honestly: `true` once the notification was actually re-sent, `false`
|
|
15744
|
+
* when there was nothing to re-send for that challenge type (this call
|
|
15745
|
+
* never throws just because a resend wasn't applicable). Does not reset
|
|
15746
|
+
* the checkpoint's expiry.
|
|
15747
|
+
*/
|
|
15748
|
+
resendCheckpoint(body: AccountResendCheckpointBody): Promise<AccountResendCheckpointResult>;
|
|
15112
15749
|
/**
|
|
15113
15750
|
* Generate a one-time hosted connection link the end user opens to authorize a
|
|
15114
15751
|
* LinkedIn connection without credentials transiting the API or LLM context.
|
|
15115
15752
|
*/
|
|
15116
15753
|
createConnectLink(body: AccountConnectLinkBody): Promise<AccountConnectLinkResult>;
|
|
15754
|
+
/**
|
|
15755
|
+
* Poll a hosted connect session minted by {@link createConnectLink} (its
|
|
15756
|
+
* `session_id`).
|
|
15757
|
+
*
|
|
15758
|
+
* A pure status read — it makes no external call and does not itself complete
|
|
15759
|
+
* the connection. `status` is `pending` until the end user finishes the
|
|
15760
|
+
* hosted flow, then `resolved` (with `account_id`), or `expired` / `failed`.
|
|
15761
|
+
* Poll until it leaves `pending`.
|
|
15762
|
+
*
|
|
15763
|
+
* @param sessionId - the `session_id` returned on the connect-link 201 body.
|
|
15764
|
+
* @returns the session's current `status` and, once `resolved`, `account_id`.
|
|
15765
|
+
*/
|
|
15766
|
+
getConnectSession(sessionId: string): Promise<AccountConnectSessionResult>;
|
|
15117
15767
|
/**
|
|
15118
15768
|
* Return metadata and current state for one connected account, including the
|
|
15119
15769
|
* central `quotas[]` view for all tracked quota families and `seat_id` (the
|
|
@@ -15246,23 +15896,23 @@ declare class MessagingResource {
|
|
|
15246
15896
|
*/
|
|
15247
15897
|
|
|
15248
15898
|
/** Strip `account_id` from a query-param type (injected by the account-scoped context). */
|
|
15249
|
-
type WithoutAccountId<T> = Omit<T, "account_id">;
|
|
15899
|
+
type WithoutAccountId$1<T> = Omit<T, "account_id">;
|
|
15250
15900
|
type ProfileDetail = paths["/v1/profiles/me"]["get"]["responses"]["200"]["content"]["application/json"];
|
|
15251
15901
|
/** Caller-facing query params for `profiles.getMe()` — `account_id` is injected by context. */
|
|
15252
|
-
type ProfileGetMeParams = WithoutAccountId<paths["/v1/profiles/me"]["get"]["parameters"]["query"]>;
|
|
15902
|
+
type ProfileGetMeParams = WithoutAccountId$1<paths["/v1/profiles/me"]["get"]["parameters"]["query"]>;
|
|
15253
15903
|
type ProfileGetResult = paths["/v1/profiles/{profile_id}"]["get"]["responses"]["200"]["content"]["application/json"];
|
|
15254
15904
|
/** Caller-facing query params for `profiles.get()` — `account_id` is injected by context. */
|
|
15255
|
-
type ProfileGetParams = WithoutAccountId<paths["/v1/profiles/{profile_id}"]["get"]["parameters"]["query"]>;
|
|
15905
|
+
type ProfileGetParams = WithoutAccountId$1<paths["/v1/profiles/{profile_id}"]["get"]["parameters"]["query"]>;
|
|
15256
15906
|
type ConnectionListPage = paths["/v1/profiles/relations"]["get"]["responses"]["200"]["content"]["application/json"];
|
|
15257
|
-
type ConnectionListParams = WithoutAccountId<paths["/v1/profiles/relations"]["get"]["parameters"]["query"]>;
|
|
15907
|
+
type ConnectionListParams = WithoutAccountId$1<paths["/v1/profiles/relations"]["get"]["parameters"]["query"]>;
|
|
15258
15908
|
type FollowerListPage = paths["/v1/profiles/{profile_id}/followers"]["get"]["responses"]["200"]["content"]["application/json"];
|
|
15259
|
-
type FollowerListParams = WithoutAccountId<NonNullable<paths["/v1/profiles/{profile_id}/followers"]["get"]["parameters"]["query"]>>;
|
|
15909
|
+
type FollowerListParams = WithoutAccountId$1<NonNullable<paths["/v1/profiles/{profile_id}/followers"]["get"]["parameters"]["query"]>>;
|
|
15260
15910
|
type ProfilePostListPage = paths["/v1/profiles/{profile_id}/posts"]["get"]["responses"]["200"]["content"]["application/json"];
|
|
15261
|
-
type ProfilePostListParams = WithoutAccountId<NonNullable<paths["/v1/profiles/{profile_id}/posts"]["get"]["parameters"]["query"]>>;
|
|
15911
|
+
type ProfilePostListParams = WithoutAccountId$1<NonNullable<paths["/v1/profiles/{profile_id}/posts"]["get"]["parameters"]["query"]>>;
|
|
15262
15912
|
type ProfileCommentListPage = paths["/v1/profiles/{profile_id}/comments"]["get"]["responses"]["200"]["content"]["application/json"];
|
|
15263
|
-
type ProfileCommentListParams = WithoutAccountId<NonNullable<paths["/v1/profiles/{profile_id}/comments"]["get"]["parameters"]["query"]>>;
|
|
15913
|
+
type ProfileCommentListParams = WithoutAccountId$1<NonNullable<paths["/v1/profiles/{profile_id}/comments"]["get"]["parameters"]["query"]>>;
|
|
15264
15914
|
type ProfileReactionListPage = paths["/v1/profiles/{profile_id}/reactions"]["get"]["responses"]["200"]["content"]["application/json"];
|
|
15265
|
-
type ProfileReactionListParams = WithoutAccountId<NonNullable<paths["/v1/profiles/{profile_id}/reactions"]["get"]["parameters"]["query"]>>;
|
|
15915
|
+
type ProfileReactionListParams = WithoutAccountId$1<NonNullable<paths["/v1/profiles/{profile_id}/reactions"]["get"]["parameters"]["query"]>>;
|
|
15266
15916
|
type CompanyProfile = paths["/v1/profiles/companies/{company_id}"]["get"]["responses"]["200"]["content"]["application/json"];
|
|
15267
15917
|
type EndorseBody = paths["/v1/profiles/{profile_id}/endorse"]["post"]["requestBody"]["content"]["application/json"];
|
|
15268
15918
|
type EndorseResult = paths["/v1/profiles/{profile_id}/endorse"]["post"]["responses"]["200"]["content"]["application/json"];
|
|
@@ -15538,12 +16188,48 @@ declare class SalesNavigatorResource {
|
|
|
15538
16188
|
}
|
|
15539
16189
|
|
|
15540
16190
|
/**
|
|
15541
|
-
*
|
|
16191
|
+
* Jobs resource — 1 method.
|
|
16192
|
+
*
|
|
16193
|
+
* Account-scoped: the bound context injects `account_id` into every request.
|
|
16194
|
+
*/
|
|
16195
|
+
|
|
16196
|
+
/** Strip `account_id` from a query-param type (injected by the account-scoped context). */
|
|
16197
|
+
type WithoutAccountId<T> = Omit<T, "account_id">;
|
|
16198
|
+
/**
|
|
16199
|
+
* The job-posting shape returned by `jobs.get()` and `recruiter.getJob()` —
|
|
16200
|
+
* the two endpoints return the same shape (Core vs. Recruiter lens), so this
|
|
16201
|
+
* is the single canonical type; `recruiter.ts` reuses it rather than
|
|
16202
|
+
* deriving a duplicate from its own path.
|
|
16203
|
+
*/
|
|
16204
|
+
type JobPosting = paths["/v1/jobs/{job_id}"]["get"]["responses"]["200"]["content"]["application/json"];
|
|
16205
|
+
/** Caller-facing query params for `jobs.get()` — `account_id` is injected by context. */
|
|
16206
|
+
type JobGetParams = WithoutAccountId<paths["/v1/jobs/{job_id}"]["get"]["parameters"]["query"]>;
|
|
16207
|
+
declare class JobsResource {
|
|
16208
|
+
protected readonly ctx: RequestContext;
|
|
16209
|
+
constructor(ctx: RequestContext);
|
|
16210
|
+
/**
|
|
16211
|
+
* Retrieve one public LinkedIn job posting's full detail.
|
|
16212
|
+
* `GET /v1/jobs/{job_id}`
|
|
16213
|
+
*
|
|
16214
|
+
* Accepts a bare numeric job id or a full job URL
|
|
16215
|
+
* (`https://www.linkedin.com/jobs/view/{id}`) — the id is extracted
|
|
16216
|
+
* client-side; the wire request always carries the numeric id. Throws
|
|
16217
|
+
* `CurviateError({ code: 'INVALID_REQUEST' })` synchronously if neither
|
|
16218
|
+
* form can be recognized.
|
|
16219
|
+
* The `account_id` is injected by the account-scoped context.
|
|
16220
|
+
*/
|
|
16221
|
+
get(jobIdOrUrl: string, params?: JobGetParams): Promise<JobPosting>;
|
|
16222
|
+
}
|
|
16223
|
+
|
|
16224
|
+
/**
|
|
16225
|
+
* Recruiter resource — 18 methods (tier: recruiter).
|
|
15542
16226
|
*
|
|
15543
16227
|
* Account-scoped: the bound context injects `account_id` into every request.
|
|
15544
16228
|
* `startChat` accepts optional `attachments[]`, `voice_message`, and
|
|
15545
16229
|
* `video_message`; the SDK builds the `FormData` body automatically.
|
|
15546
16230
|
* `downloadResume` returns `Promise<ArrayBuffer>` (binary response).
|
|
16231
|
+
* `getJob` returns the same `JobPosting` shape as `jobs.get()` — reused, not
|
|
16232
|
+
* redefined, since both endpoints share the underlying job-posting retrieve.
|
|
15547
16233
|
*/
|
|
15548
16234
|
|
|
15549
16235
|
type RecruiterSyncMessagesParams = NonNullable<paths["/v1/recruiter/messages/sync"]["get"]["parameters"]["query"]>;
|
|
@@ -15659,6 +16345,18 @@ declare class RecruiterResource {
|
|
|
15659
16345
|
* `POST /v1/recruiter/jobs/{job_id}/checkpoint`
|
|
15660
16346
|
*/
|
|
15661
16347
|
solveJobCheckpoint(jobId: string, body: RecruiterSolveJobCheckpointBody): Promise<RecruiterSolveJobCheckpointResult>;
|
|
16348
|
+
/**
|
|
16349
|
+
* Get a job posting via the Recruiter lens (any public posting, not only
|
|
16350
|
+
* the operator's own). `GET /v1/recruiter/jobs/{job_id}`
|
|
16351
|
+
*
|
|
16352
|
+
* Accepts a bare numeric job id or a full job URL
|
|
16353
|
+
* (`https://www.linkedin.com/jobs/view/{id}`) — the id is extracted
|
|
16354
|
+
* client-side, mirroring `jobs.get()`. Throws
|
|
16355
|
+
* `CurviateError({ code: 'INVALID_REQUEST' })` synchronously if neither
|
|
16356
|
+
* form can be recognized. Returns the same `JobPosting` shape as
|
|
16357
|
+
* `jobs.get()`.
|
|
16358
|
+
*/
|
|
16359
|
+
getJob(jobIdOrUrl: string): Promise<JobPosting>;
|
|
15662
16360
|
/**
|
|
15663
16361
|
* List applicants for a job posting.
|
|
15664
16362
|
* `GET /v1/recruiter/jobs/{job_id}/applicants`
|
|
@@ -15737,9 +16435,9 @@ declare class WebhooksResource {
|
|
|
15737
16435
|
* Resource namespace assembly.
|
|
15738
16436
|
*
|
|
15739
16437
|
* The root client and every `account(id)` accessor expose the same set of
|
|
15740
|
-
* resource namespaces. All
|
|
16438
|
+
* resource namespaces. All 10 namespaces are fully implemented:
|
|
15741
16439
|
* accounts, messaging, profiles, invites, search, posts,
|
|
15742
|
-
* salesNavigator, recruiter, and webhooks.
|
|
16440
|
+
* salesNavigator, recruiter, jobs, and webhooks.
|
|
15743
16441
|
*/
|
|
15744
16442
|
|
|
15745
16443
|
/** The full namespace surface, shared by the root client and account scopes. */
|
|
@@ -15752,6 +16450,7 @@ interface ResourceNamespaces {
|
|
|
15752
16450
|
posts: PostsResource;
|
|
15753
16451
|
salesNavigator: SalesNavigatorResource;
|
|
15754
16452
|
recruiter: RecruiterResource;
|
|
16453
|
+
jobs: JobsResource;
|
|
15755
16454
|
webhooks: WebhooksResource;
|
|
15756
16455
|
}
|
|
15757
16456
|
/**
|
|
@@ -15785,6 +16484,7 @@ declare class Curviate {
|
|
|
15785
16484
|
readonly posts: PostsResource;
|
|
15786
16485
|
readonly salesNavigator: SalesNavigatorResource;
|
|
15787
16486
|
readonly recruiter: RecruiterResource;
|
|
16487
|
+
readonly jobs: JobsResource;
|
|
15788
16488
|
readonly webhooks: WebhooksResource;
|
|
15789
16489
|
constructor(config: CurviateConfig);
|
|
15790
16490
|
/**
|