@curviate/sdk 0.29.0 → 0.31.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 +226 -8
- package/README.md +70 -0
- package/dist/index.d.ts +373 -161
- package/dist/index.js +261 -33
- package/package.json +1 -1
- package/src/generated/types.ts +116 -119
package/dist/index.d.ts
CHANGED
|
@@ -2409,7 +2409,7 @@ interface paths {
|
|
|
2409
2409
|
put?: never;
|
|
2410
2410
|
/**
|
|
2411
2411
|
* Start a credential/cookie authentication
|
|
2412
|
-
* @description Authenticate a LinkedIn account directly with credentials or a session cookie. The credential fields are NESTED, not top level: `auth_method: "credentials"` reads `credentials: { email, password }`, and `auth_method: "cookie"` reads `cookie: { li_at }` plus a top-level `user_agent`. Omit `account_id` to connect a NEW account into an empty `seat_id` (every seat id is listed with click-to-copy in the seat table on your dashboard); include `account_id` (in the body) to re-authenticate an EXISTING account in place. Returns the account on success (201 new / 200 reconnect), or a checkpoint challenge (202) carrying the account_id when LinkedIn requires verification. Complete the challenge with POST /v1/auth/checkpoint/solve (codes) or POST /v1/auth/checkpoint/poll (mobile-app approval). Connection scope (which LinkedIn products are enabled) is
|
|
2412
|
+
* @description Authenticate a LinkedIn account directly with credentials or a session cookie. The credential fields are NESTED, not top level: `auth_method: "credentials"` reads `credentials: { email, password }`, and `auth_method: "cookie"` reads `cookie: { li_at }` plus a top-level `user_agent`. Omit `account_id` to connect a NEW account into an empty `seat_id` (every seat id is listed with click-to-copy in the seat table on your dashboard); include `account_id` (in the body) to re-authenticate an EXISTING account in place. Returns the account on success (201 new / 200 reconnect), or a checkpoint challenge (202) carrying the account_id when LinkedIn requires verification. Complete the challenge with POST /v1/auth/checkpoint/solve (codes) or POST /v1/auth/checkpoint/poll (mobile-app approval). Connection scope (which LinkedIn products are enabled) is not something you list: the connection asks for every product and LinkedIn activates the ones the account actually has. The recorded scope is readable as `requested_products` on the account. One LinkedIn account can hold only one of the two premium surfaces, and when both are asked for Sales Navigator takes precedence, so pass the optional `linkedin_premium` (`sales_navigator` or `recruiter`) if the account holds both and you want the other one. Omit it and nothing is narrowed. It applies per connection and is not remembered, so state it on every connect and reconnect where Recruiter must win. A reconnect that changes scope must use credentials (a saved cookie cannot change scope), which includes any reconnect of an account connected before the full product set became the default. Pin a managed proxy with the optional `country`/`ip` or supply a `proxy` to override it.
|
|
2413
2413
|
*/
|
|
2414
2414
|
post: operations["postV1AuthIntent"];
|
|
2415
2415
|
delete?: never;
|
|
@@ -2611,7 +2611,7 @@ interface paths {
|
|
|
2611
2611
|
};
|
|
2612
2612
|
/**
|
|
2613
2613
|
* List webhook event types
|
|
2614
|
-
* @description Returns the complete canonical event catalogue (27 events) grouped by source: messaging (7), user (2), account_status (15), plus 3
|
|
2614
|
+
* @description Returns the complete canonical event catalogue (27 events) grouped by source: messaging (7), user (2), account_status (15), plus 3 recruiter/sales_nav events. A local catalogue read: no platform call is made.
|
|
2615
2615
|
*/
|
|
2616
2616
|
get: operations["getV1WebhooksEvents"];
|
|
2617
2617
|
put?: never;
|
|
@@ -2679,7 +2679,7 @@ interface paths {
|
|
|
2679
2679
|
};
|
|
2680
2680
|
/**
|
|
2681
2681
|
* Read an account's safety policy
|
|
2682
|
-
* @description Returns every configurable safety field for every budget row of one account, in a single response: the ceiling, the green and amber bands, the counting window, the enforcement posture and where it was inherited from, the activity window, warm-up state, the per-row character caps and search per-query cap, and how well calibrated each row's number is. Every value is seeded configuration and every one of them is settable. Where a configured value is above the Curviate default, the row carries an `over_default` entry naming the value, the default and the source class of that default. The response also carries `tenant_default_posture`, the workspace-wide default every account inherits, separately from this account's own effective `posture`, and `limit_profile`, which says which of the four Curviate default sets (`basic`, `premium`, `sales_navigator`, `recruiter`) every row below was resolved from, detected from the platform when the account connected.
|
|
2682
|
+
* @description Returns every configurable safety field for every budget row of one account, in a single response: the ceiling, the green and amber bands, the counting window, the enforcement posture and where it was inherited from, the activity window, warm-up state, the per-row character caps and search per-query cap, and how well calibrated each row's number is. Every value is seeded configuration and every one of them is settable. Where a configured value is above the Curviate default, the row carries an `over_default` entry naming the value, the default and the source class of that default. The response also carries `tenant_default_posture`, the workspace-wide default every account inherits, separately from this account's own effective `posture`, and `limit_profile`, which says which of the four Curviate default sets (`basic`, `premium`, `sales_navigator`, `recruiter`) every row below was resolved from, detected from the platform when the account connected.
|
|
2683
2683
|
*/
|
|
2684
2684
|
get: operations["getV1AccountIdSafetyPolicy"];
|
|
2685
2685
|
put?: never;
|
|
@@ -2689,7 +2689,7 @@ interface paths {
|
|
|
2689
2689
|
head?: never;
|
|
2690
2690
|
/**
|
|
2691
2691
|
* Update an account's safety policy
|
|
2692
|
-
* @description The single safety-policy write. Send only the fields you are changing: everything you omit is left byte-identical, and sending `null` for a field clears your override and restores the Curviate default. Any limit may be set to any value: Curviate does not clamp, cap or refuse a change on the grounds that the number is unsafe. A value above the Curviate default is reported back in the response, and on every later read, with the default and its source class attached; there is no way to acknowledge it away, and setting the value back to the default removes it. A value that is not a value, such as a negative ceiling or an unknown row name, is a 400. Every field whose value CHANGES is appended to the account's action ledger with the previous value, the new value, the Curviate default, the actor and the time; a field you send whose value already equals its current effective value is not ledgered and is not stored as an override, so reading the policy and sending the document back changes nothing. Six fields on the read are derived rather than configured: `effective_ceiling`, `interface_ceiling`, `effective_interface_ceiling`, `posture_source`, `over_default` and each row's `warm_up_state`. Send them and they are accepted and ignored, never stored and never ledgered, so the document you read can go straight back. To pin a row's ramp, set `warm_up_factor`. `activity_window` is not accepted: send its settable subfields instead, the top-level `timezone` for the zone, and per row `activity_window_start`, `activity_window_end`, `activity_window_timezone` and `activity_window_applies_to`. The 400 this produces names those subfields, not just the refused object. And read `changes nothing` as `changes no limit`: the `posture` fields are OVERRIDES at every scope, so writing back a posture a scope merely inherits PINS it there and appends one ledger entry per pinned scope. That is what stops a later account- or tenant-wide change from moving it. A pin already in place is a no-op. An agent-authenticated write is accepted on exactly the same footing as an operator's. There is no bulk import, file upload or policy template: configuring many rows or many accounts is a loop over this operation. One field is not account-scoped: `tenant_default_posture` sets the default for EVERY account in the tenant, not just the one in the path, which is what makes it a one-call change for a whole workspace of personas. It is reported back at the top of every policy response, so a change to it is visible even on an account that overrides it. One other field is not row-scoped: `limit_profile` selects which of the four Curviate default sets this account's rows resolve from, so it moves the default under every row at once while leaving every value you have configured explicitly exactly as you set it. It is the platform product active on the account, not your Curviate seat entitlement, and the two can disagree: a lapsed subscription leaves the seat untouched. Curviate detects it when the account connects and re-detects it on every reconnect; setting it here is an operator override of that result, and it holds until the next connect.
|
|
2692
|
+
* @description The single safety-policy write. Send only the fields you are changing: everything you omit is left byte-identical, and sending `null` for a field clears your override and restores the Curviate default. Any limit may be set to any value: Curviate does not clamp, cap or refuse a change on the grounds that the number is unsafe. A value above the Curviate default is reported back in the response, and on every later read, with the default and its source class attached; there is no way to acknowledge it away, and setting the value back to the default removes it. A value that is not a value, such as a negative ceiling or an unknown row name, is a 400. Every field whose value CHANGES is appended to the account's action ledger with the previous value, the new value, the Curviate default, the actor and the time; a field you send whose value already equals its current effective value is not ledgered and is not stored as an override, so reading the policy and sending the document back changes nothing. Six fields on the read are derived rather than configured: `effective_ceiling`, `interface_ceiling`, `effective_interface_ceiling`, `posture_source`, `over_default` and each row's `warm_up_state`. Send them and they are accepted and ignored, never stored and never ledgered, so the document you read can go straight back. To pin a row's ramp, set `warm_up_factor`. `activity_window` is not accepted: send its settable subfields instead, the top-level `timezone` for the zone, and per row `activity_window_start`, `activity_window_end`, `activity_window_timezone` and `activity_window_applies_to`. The 400 this produces names those subfields, not just the refused object. And read `changes nothing` as `changes no limit`: the `posture` fields are OVERRIDES at every scope, so writing back a posture a scope merely inherits PINS it there and appends one ledger entry per pinned scope. That is what stops a later account- or tenant-wide change from moving it. A pin already in place is a no-op. An agent-authenticated write is accepted on exactly the same footing as an operator's. There is no bulk import, file upload or policy template: configuring many rows or many accounts is a loop over this operation. One field is not account-scoped: `tenant_default_posture` sets the default for EVERY account in the tenant, not just the one in the path, which is what makes it a one-call change for a whole workspace of personas. It is reported back at the top of every policy response, so a change to it is visible even on an account that overrides it. One other field is not row-scoped: `limit_profile` selects which of the four Curviate default sets this account's rows resolve from, so it moves the default under every row at once while leaving every value you have configured explicitly exactly as you set it. It is the platform product active on the account, not your Curviate seat entitlement, and the two can disagree: a lapsed subscription leaves the seat untouched. Curviate detects it when the account connects and re-detects it on every reconnect; setting it here is an operator override of that result, and it holds until the next connect. One field on this operation does not configure anything: `clear_halts` lifts the platform pause on the action types you name. When the platform refuses a call on an account, Curviate pauses that action type for the platform's own retry-after or a seeded cooldown, and every later call on it is refused locally without reaching the platform; the account resource reports the live pauses as `quotas[].halt`. Naming an action type here lifts its pause immediately, so the next call goes out. An action type with no active pause is accepted and does nothing, which makes it safe to send for a set you have not checked, and only the ones actually lifted are ledgered, each with the expiry it cut short, the actor and the time, readable afterwards on `GET /v1/{account_id}/safety-events` with `reason: "halt_cleared"`. Clearing disarms nothing: if the platform refuses the account again the pause returns, and a 429 or a refused write returns it for the full cooldown. Clear one when you have reason to believe the refusal was a transient upstream fault rather than the platform pushing back on this account.
|
|
2693
2693
|
*/
|
|
2694
2694
|
patch: operations["patchV1AccountIdSafetyPolicy"];
|
|
2695
2695
|
trace?: never;
|
|
@@ -2742,11 +2742,6 @@ interface components {
|
|
|
2742
2742
|
user_fixable: boolean;
|
|
2743
2743
|
/** @description True when an identical retry is likely to succeed. */
|
|
2744
2744
|
retry_likely_to_succeed: boolean;
|
|
2745
|
-
/**
|
|
2746
|
-
* @description Present on tier-gated denials, the seat tier required to proceed.
|
|
2747
|
-
* @enum {string}
|
|
2748
|
-
*/
|
|
2749
|
-
required_tier?: "core" | "sales_nav" | "recruiter";
|
|
2750
2745
|
/** @description Present on a PLATFORM_RATE_LIMIT raised because one account-safety budget row is paused: LinkedIn refused a recent call on that row, so this one was refused locally without reaching LinkedIn. Names the paused row (for example profile_views, connection_requests_no_note). The pause is scoped to this row on this account; every other row keeps working. Absent on every other rate limit. Also present on BUDGET_EXHAUSTED, where it names the row that hit its CEILING rather than one LinkedIn paused: read the code to tell the two apart, because the recovery differs. Null on a BUDGET_EXHAUSTED whose reason is activity_window and whose action spends no budget of its own, because there is no row to name; hint.parameter still names the setting to change. Never null on a rate limit. */
|
|
2751
2746
|
row?: string | null;
|
|
2752
2747
|
/** @description Present on BUDGET_EXHAUSTED: the instant the refusal lifts, as an absolute instant rather than a duration, so it stays true however long you hold it. It is the window roll on a ceiling refusal and the next window open on an activity-window one. It is null in the two cases where no clock frees the account: the pending_invites gauge, whose backlog falls when invitations are accepted or withdrawn, and an InMail credit exhaustion (row inmail), which LinkedIn regrants on a schedule this product cannot read. */
|
|
@@ -2973,8 +2968,12 @@ interface operations {
|
|
|
2973
2968
|
public_picture_url_large?: string;
|
|
2974
2969
|
/** @description A private, time-limited picture download URL (present only in some responses). */
|
|
2975
2970
|
private_picture_download_url?: string;
|
|
2976
|
-
/** @description
|
|
2971
|
+
/** @description Cover/background photo URL. */
|
|
2972
|
+
background_picture_url?: string;
|
|
2973
|
+
/** @description Mirrors the profile headline (the short line shown under the member's name). NOT the About/Summary section; see `bio` for that. */
|
|
2977
2974
|
description?: string;
|
|
2975
|
+
/** @description The profile's About/Summary section (free text). Distinct from `description`, which mirrors the headline, not this field. */
|
|
2976
|
+
bio?: string;
|
|
2978
2977
|
/** @description Geographic location string. */
|
|
2979
2978
|
location?: string;
|
|
2980
2979
|
/** @description ISO-8601 timestamp for when this profile record was created on the platform. */
|
|
@@ -2983,10 +2982,25 @@ interface operations {
|
|
|
2983
2982
|
emails?: string[];
|
|
2984
2983
|
/** @description Phone numbers associated with the profile. */
|
|
2985
2984
|
phone_numbers?: string[];
|
|
2985
|
+
/** @description Self-declared social handles keyed by platform (e.g. 'github'), each an object naming the handle. Same sensitivity class as `emails`/`phone_numbers` (self-declared contact-class info). */
|
|
2986
|
+
social_handles?: {
|
|
2987
|
+
[key: string]: {
|
|
2988
|
+
/** @description The handle's display name. */
|
|
2989
|
+
name?: string;
|
|
2990
|
+
};
|
|
2991
|
+
};
|
|
2992
|
+
/** @description Personal/professional website URLs associated with the profile. */
|
|
2993
|
+
websites?: string[];
|
|
2986
2994
|
/** @description Whether the authenticated account has blocked this member. */
|
|
2987
2995
|
is_blocked?: boolean;
|
|
2988
2996
|
/** @description Whether the authenticated account follows this member. */
|
|
2989
2997
|
is_following?: boolean;
|
|
2998
|
+
/** @description Whether LinkedIn has verified this member. */
|
|
2999
|
+
is_verified?: boolean;
|
|
3000
|
+
/** @description Same value as specifics.is_premium; prefer the nested field. */
|
|
3001
|
+
is_premium?: boolean;
|
|
3002
|
+
/** @description The member's profile language. Distinct from specifics.default_locale/specifics.supported_locales. */
|
|
3003
|
+
language?: string;
|
|
2990
3004
|
/** @description Total follower count. */
|
|
2991
3005
|
followers_count?: number;
|
|
2992
3006
|
/** @description Total 1st-degree connection count. */
|
|
@@ -4241,7 +4255,7 @@ interface operations {
|
|
|
4241
4255
|
"application/json": components["schemas"]["Error"];
|
|
4242
4256
|
};
|
|
4243
4257
|
};
|
|
4244
|
-
/** @description
|
|
4258
|
+
/** @description Forbidden. NO_ACTIVE_SEAT: the account is not attached to an active seat. */
|
|
4245
4259
|
403: {
|
|
4246
4260
|
headers: {
|
|
4247
4261
|
[name: string]: unknown;
|
|
@@ -4289,7 +4303,7 @@ interface operations {
|
|
|
4289
4303
|
"application/json": components["schemas"]["Error"];
|
|
4290
4304
|
};
|
|
4291
4305
|
};
|
|
4292
|
-
/** @description A temporary error occurred
|
|
4306
|
+
/** @description A temporary upstream error occurred, or the upstream response could not be interpreted. Check `retry_likely_to_succeed`: a temporary error is worth retrying, a response that could not be interpreted is not, and carries `retry_hint: {"kind": "never"}`. */
|
|
4293
4307
|
502: {
|
|
4294
4308
|
headers: {
|
|
4295
4309
|
[name: string]: unknown;
|
|
@@ -4434,7 +4448,7 @@ interface operations {
|
|
|
4434
4448
|
"application/json": components["schemas"]["Error"];
|
|
4435
4449
|
};
|
|
4436
4450
|
};
|
|
4437
|
-
/** @description A temporary upstream error occurred, or the upstream response could not be interpreted.
|
|
4451
|
+
/** @description A temporary upstream error occurred, or the upstream response could not be interpreted. Check `retry_likely_to_succeed`: a temporary error is worth retrying, a response that could not be interpreted is not, and carries `retry_hint: {"kind": "never"}`. */
|
|
4438
4452
|
502: {
|
|
4439
4453
|
headers: {
|
|
4440
4454
|
[name: string]: unknown;
|
|
@@ -4577,7 +4591,7 @@ interface operations {
|
|
|
4577
4591
|
"application/json": components["schemas"]["Error"];
|
|
4578
4592
|
};
|
|
4579
4593
|
};
|
|
4580
|
-
/** @description A temporary upstream error occurred, or the upstream response could not be interpreted.
|
|
4594
|
+
/** @description A temporary upstream error occurred, or the upstream response could not be interpreted. Check `retry_likely_to_succeed`: a temporary error is worth retrying, a response that could not be interpreted is not, and carries `retry_hint: {"kind": "never"}`. */
|
|
4581
4595
|
502: {
|
|
4582
4596
|
headers: {
|
|
4583
4597
|
[name: string]: unknown;
|
|
@@ -4720,7 +4734,7 @@ interface operations {
|
|
|
4720
4734
|
"application/json": components["schemas"]["Error"];
|
|
4721
4735
|
};
|
|
4722
4736
|
};
|
|
4723
|
-
/** @description A temporary upstream error occurred, or the upstream response could not be interpreted.
|
|
4737
|
+
/** @description A temporary upstream error occurred, or the upstream response could not be interpreted. Check `retry_likely_to_succeed`: a temporary error is worth retrying, a response that could not be interpreted is not, and carries `retry_hint: {"kind": "never"}`. */
|
|
4724
4738
|
502: {
|
|
4725
4739
|
headers: {
|
|
4726
4740
|
[name: string]: unknown;
|
|
@@ -4859,7 +4873,7 @@ interface operations {
|
|
|
4859
4873
|
"application/json": components["schemas"]["Error"];
|
|
4860
4874
|
};
|
|
4861
4875
|
};
|
|
4862
|
-
/** @description A temporary upstream error occurred, or the upstream response could not be interpreted.
|
|
4876
|
+
/** @description A temporary upstream error occurred, or the upstream response could not be interpreted. Check `retry_likely_to_succeed`: a temporary error is worth retrying, a response that could not be interpreted is not, and carries `retry_hint: {"kind": "never"}`. */
|
|
4863
4877
|
502: {
|
|
4864
4878
|
headers: {
|
|
4865
4879
|
[name: string]: unknown;
|
|
@@ -5609,7 +5623,7 @@ interface operations {
|
|
|
5609
5623
|
"application/json": components["schemas"]["Error"];
|
|
5610
5624
|
};
|
|
5611
5625
|
};
|
|
5612
|
-
/** @description
|
|
5626
|
+
/** @description Forbidden. NO_ACTIVE_SEAT: the account is not attached to an active seat. */
|
|
5613
5627
|
403: {
|
|
5614
5628
|
headers: {
|
|
5615
5629
|
[name: string]: unknown;
|
|
@@ -5800,7 +5814,7 @@ interface operations {
|
|
|
5800
5814
|
"application/json": components["schemas"]["Error"];
|
|
5801
5815
|
};
|
|
5802
5816
|
};
|
|
5803
|
-
/** @description
|
|
5817
|
+
/** @description Forbidden. NO_ACTIVE_SEAT: the account is not attached to an active seat. */
|
|
5804
5818
|
403: {
|
|
5805
5819
|
headers: {
|
|
5806
5820
|
[name: string]: unknown;
|
|
@@ -5994,7 +6008,7 @@ interface operations {
|
|
|
5994
6008
|
"application/json": components["schemas"]["Error"];
|
|
5995
6009
|
};
|
|
5996
6010
|
};
|
|
5997
|
-
/** @description
|
|
6011
|
+
/** @description Forbidden. NO_ACTIVE_SEAT: the account is not attached to an active seat. */
|
|
5998
6012
|
403: {
|
|
5999
6013
|
headers: {
|
|
6000
6014
|
[name: string]: unknown;
|
|
@@ -6174,7 +6188,7 @@ interface operations {
|
|
|
6174
6188
|
"application/json": components["schemas"]["Error"];
|
|
6175
6189
|
};
|
|
6176
6190
|
};
|
|
6177
|
-
/** @description
|
|
6191
|
+
/** @description Forbidden. NO_ACTIVE_SEAT: the account is not attached to an active seat. */
|
|
6178
6192
|
403: {
|
|
6179
6193
|
headers: {
|
|
6180
6194
|
[name: string]: unknown;
|
|
@@ -6332,7 +6346,7 @@ interface operations {
|
|
|
6332
6346
|
"application/json": components["schemas"]["Error"];
|
|
6333
6347
|
};
|
|
6334
6348
|
};
|
|
6335
|
-
/** @description The account does not administer this page with the invite-to-follow entitlement (fail-closed), or lacks
|
|
6349
|
+
/** @description The account does not administer this page with the invite-to-follow entitlement (fail-closed), or lacks an active seat. */
|
|
6336
6350
|
403: {
|
|
6337
6351
|
headers: {
|
|
6338
6352
|
[name: string]: unknown;
|
|
@@ -6499,7 +6513,7 @@ interface operations {
|
|
|
6499
6513
|
"application/json": components["schemas"]["Error"];
|
|
6500
6514
|
};
|
|
6501
6515
|
};
|
|
6502
|
-
/** @description The account does not administer this page (follower analytics is admin-gated), or lacks
|
|
6516
|
+
/** @description The account does not administer this page (follower analytics is admin-gated), or lacks an active seat. */
|
|
6503
6517
|
403: {
|
|
6504
6518
|
headers: {
|
|
6505
6519
|
[name: string]: unknown;
|
|
@@ -6547,7 +6561,7 @@ interface operations {
|
|
|
6547
6561
|
"application/json": components["schemas"]["Error"];
|
|
6548
6562
|
};
|
|
6549
6563
|
};
|
|
6550
|
-
/** @description A temporary error occurred
|
|
6564
|
+
/** @description A temporary upstream error occurred, or the upstream response could not be interpreted. Check `retry_likely_to_succeed`: a temporary error is worth retrying, a response that could not be interpreted is not, and carries `retry_hint: {"kind": "never"}`. */
|
|
6551
6565
|
502: {
|
|
6552
6566
|
headers: {
|
|
6553
6567
|
[name: string]: unknown;
|
|
@@ -6647,7 +6661,7 @@ interface operations {
|
|
|
6647
6661
|
"application/json": components["schemas"]["Error"];
|
|
6648
6662
|
};
|
|
6649
6663
|
};
|
|
6650
|
-
/** @description The account does not administer this page with the invite-to-follow entitlement, or lacks
|
|
6664
|
+
/** @description The account does not administer this page with the invite-to-follow entitlement, or lacks an active seat. */
|
|
6651
6665
|
403: {
|
|
6652
6666
|
headers: {
|
|
6653
6667
|
[name: string]: unknown;
|
|
@@ -6695,7 +6709,7 @@ interface operations {
|
|
|
6695
6709
|
"application/json": components["schemas"]["Error"];
|
|
6696
6710
|
};
|
|
6697
6711
|
};
|
|
6698
|
-
/** @description A temporary error occurred
|
|
6712
|
+
/** @description A temporary upstream error occurred, or the upstream response could not be interpreted. Check `retry_likely_to_succeed`: a temporary error is worth retrying, a response that could not be interpreted is not, and carries `retry_hint: {"kind": "never"}`. */
|
|
6699
6713
|
502: {
|
|
6700
6714
|
headers: {
|
|
6701
6715
|
[name: string]: unknown;
|
|
@@ -6842,7 +6856,7 @@ interface operations {
|
|
|
6842
6856
|
"application/json": components["schemas"]["Error"];
|
|
6843
6857
|
};
|
|
6844
6858
|
};
|
|
6845
|
-
/** @description The account does not administer this page (the admin gate), or lacks
|
|
6859
|
+
/** @description The account does not administer this page (the admin gate), or lacks an active seat. */
|
|
6846
6860
|
403: {
|
|
6847
6861
|
headers: {
|
|
6848
6862
|
[name: string]: unknown;
|
|
@@ -6890,7 +6904,7 @@ interface operations {
|
|
|
6890
6904
|
"application/json": components["schemas"]["Error"];
|
|
6891
6905
|
};
|
|
6892
6906
|
};
|
|
6893
|
-
/** @description A temporary error occurred
|
|
6907
|
+
/** @description A temporary upstream error occurred, or the upstream response could not be interpreted. Check `retry_likely_to_succeed`: a temporary error is worth retrying, a response that could not be interpreted is not, and carries `retry_hint: {"kind": "never"}`. */
|
|
6894
6908
|
502: {
|
|
6895
6909
|
headers: {
|
|
6896
6910
|
[name: string]: unknown;
|
|
@@ -7025,7 +7039,7 @@ interface operations {
|
|
|
7025
7039
|
"application/json": components["schemas"]["Error"];
|
|
7026
7040
|
};
|
|
7027
7041
|
};
|
|
7028
|
-
/** @description The account does not administer this page (the admin gate), or lacks
|
|
7042
|
+
/** @description The account does not administer this page (the admin gate), or lacks an active seat. */
|
|
7029
7043
|
403: {
|
|
7030
7044
|
headers: {
|
|
7031
7045
|
[name: string]: unknown;
|
|
@@ -7073,7 +7087,7 @@ interface operations {
|
|
|
7073
7087
|
"application/json": components["schemas"]["Error"];
|
|
7074
7088
|
};
|
|
7075
7089
|
};
|
|
7076
|
-
/** @description A temporary error occurred
|
|
7090
|
+
/** @description A temporary upstream error occurred, or the upstream response could not be interpreted. Check `retry_likely_to_succeed`: a temporary error is worth retrying, a response that could not be interpreted is not, and carries `retry_hint: {"kind": "never"}`. */
|
|
7077
7091
|
502: {
|
|
7078
7092
|
headers: {
|
|
7079
7093
|
[name: string]: unknown;
|
|
@@ -7201,7 +7215,7 @@ interface operations {
|
|
|
7201
7215
|
"application/json": components["schemas"]["Error"];
|
|
7202
7216
|
};
|
|
7203
7217
|
};
|
|
7204
|
-
/** @description The account does not administer this page (the admin gate), or lacks
|
|
7218
|
+
/** @description The account does not administer this page (the admin gate), or lacks an active seat. */
|
|
7205
7219
|
403: {
|
|
7206
7220
|
headers: {
|
|
7207
7221
|
[name: string]: unknown;
|
|
@@ -7249,7 +7263,7 @@ interface operations {
|
|
|
7249
7263
|
"application/json": components["schemas"]["Error"];
|
|
7250
7264
|
};
|
|
7251
7265
|
};
|
|
7252
|
-
/** @description A temporary error occurred
|
|
7266
|
+
/** @description A temporary upstream error occurred, or the upstream response could not be interpreted. Check `retry_likely_to_succeed`: a temporary error is worth retrying, a response that could not be interpreted is not, and carries `retry_hint: {"kind": "never"}`. */
|
|
7253
7267
|
502: {
|
|
7254
7268
|
headers: {
|
|
7255
7269
|
[name: string]: unknown;
|
|
@@ -7362,7 +7376,7 @@ interface operations {
|
|
|
7362
7376
|
"application/json": components["schemas"]["Error"];
|
|
7363
7377
|
};
|
|
7364
7378
|
};
|
|
7365
|
-
/** @description The account does not administer this page (fail-closed, the target company is absent from the account's administered pages), or the account lacks
|
|
7379
|
+
/** @description The account does not administer this page (fail-closed, the target company is absent from the account's administered pages), or the account lacks an active seat. */
|
|
7366
7380
|
403: {
|
|
7367
7381
|
headers: {
|
|
7368
7382
|
[name: string]: unknown;
|
|
@@ -7428,7 +7442,7 @@ interface operations {
|
|
|
7428
7442
|
"application/json": components["schemas"]["Error"];
|
|
7429
7443
|
};
|
|
7430
7444
|
};
|
|
7431
|
-
/** @description A temporary error occurred
|
|
7445
|
+
/** @description A temporary upstream error occurred, or the upstream response could not be interpreted. Check `retry_likely_to_succeed`: a temporary error is worth retrying, a response that could not be interpreted is not, and carries `retry_hint: {"kind": "never"}`. */
|
|
7432
7446
|
502: {
|
|
7433
7447
|
headers: {
|
|
7434
7448
|
[name: string]: unknown;
|
|
@@ -7544,7 +7558,7 @@ interface operations {
|
|
|
7544
7558
|
"application/json": components["schemas"]["Error"];
|
|
7545
7559
|
};
|
|
7546
7560
|
};
|
|
7547
|
-
/** @description The account does not administer this page (the admin gate), or lacks
|
|
7561
|
+
/** @description The account does not administer this page (the admin gate), or lacks an active seat. */
|
|
7548
7562
|
403: {
|
|
7549
7563
|
headers: {
|
|
7550
7564
|
[name: string]: unknown;
|
|
@@ -7592,7 +7606,7 @@ interface operations {
|
|
|
7592
7606
|
"application/json": components["schemas"]["Error"];
|
|
7593
7607
|
};
|
|
7594
7608
|
};
|
|
7595
|
-
/** @description A temporary error occurred
|
|
7609
|
+
/** @description A temporary upstream error occurred, or the upstream response could not be interpreted. Check `retry_likely_to_succeed`: a temporary error is worth retrying, a response that could not be interpreted is not, and carries `retry_hint: {"kind": "never"}`. */
|
|
7596
7610
|
502: {
|
|
7597
7611
|
headers: {
|
|
7598
7612
|
[name: string]: unknown;
|
|
@@ -7750,7 +7764,7 @@ interface operations {
|
|
|
7750
7764
|
"application/json": components["schemas"]["Error"];
|
|
7751
7765
|
};
|
|
7752
7766
|
};
|
|
7753
|
-
/** @description The account does not administer this page (the admin gate), or lacks
|
|
7767
|
+
/** @description The account does not administer this page (the admin gate), or lacks an active seat. */
|
|
7754
7768
|
403: {
|
|
7755
7769
|
headers: {
|
|
7756
7770
|
[name: string]: unknown;
|
|
@@ -7798,7 +7812,7 @@ interface operations {
|
|
|
7798
7812
|
"application/json": components["schemas"]["Error"];
|
|
7799
7813
|
};
|
|
7800
7814
|
};
|
|
7801
|
-
/** @description A temporary error occurred
|
|
7815
|
+
/** @description A temporary upstream error occurred, or the upstream response could not be interpreted. Check `retry_likely_to_succeed`: a temporary error is worth retrying, a response that could not be interpreted is not, and carries `retry_hint: {"kind": "never"}`. */
|
|
7802
7816
|
502: {
|
|
7803
7817
|
headers: {
|
|
7804
7818
|
[name: string]: unknown;
|
|
@@ -7943,7 +7957,7 @@ interface operations {
|
|
|
7943
7957
|
"application/json": components["schemas"]["Error"];
|
|
7944
7958
|
};
|
|
7945
7959
|
};
|
|
7946
|
-
/** @description
|
|
7960
|
+
/** @description Forbidden. NO_ACTIVE_SEAT: the account is not attached to an active seat. */
|
|
7947
7961
|
403: {
|
|
7948
7962
|
headers: {
|
|
7949
7963
|
[name: string]: unknown;
|
|
@@ -8119,7 +8133,7 @@ interface operations {
|
|
|
8119
8133
|
"application/json": components["schemas"]["Error"];
|
|
8120
8134
|
};
|
|
8121
8135
|
};
|
|
8122
|
-
/** @description
|
|
8136
|
+
/** @description Forbidden. NO_ACTIVE_SEAT: the account is not attached to an active seat. */
|
|
8123
8137
|
403: {
|
|
8124
8138
|
headers: {
|
|
8125
8139
|
[name: string]: unknown;
|
|
@@ -8282,7 +8296,7 @@ interface operations {
|
|
|
8282
8296
|
"application/json": components["schemas"]["Error"];
|
|
8283
8297
|
};
|
|
8284
8298
|
};
|
|
8285
|
-
/** @description
|
|
8299
|
+
/** @description Forbidden. NO_ACTIVE_SEAT: the account is not attached to an active seat. */
|
|
8286
8300
|
403: {
|
|
8287
8301
|
headers: {
|
|
8288
8302
|
[name: string]: unknown;
|
|
@@ -9305,7 +9319,7 @@ interface operations {
|
|
|
9305
9319
|
}[];
|
|
9306
9320
|
/** @description Paging metadata. */
|
|
9307
9321
|
paging: {
|
|
9308
|
-
/** @description Total matching
|
|
9322
|
+
/** @description Total number of matching job postings, including 0 on an empty page. */
|
|
9309
9323
|
total_count: number | null;
|
|
9310
9324
|
};
|
|
9311
9325
|
/** @description Opaque next-page cursor; null on the last page. */
|
|
@@ -9830,7 +9844,7 @@ interface operations {
|
|
|
9830
9844
|
"application/json": components["schemas"]["Error"];
|
|
9831
9845
|
};
|
|
9832
9846
|
};
|
|
9833
|
-
/** @description A temporary error occurred
|
|
9847
|
+
/** @description A temporary upstream error occurred, or the upstream response could not be interpreted. Check `retry_likely_to_succeed`: a temporary error is worth retrying, a response that could not be interpreted is not, and carries `retry_hint: {"kind": "never"}`. */
|
|
9834
9848
|
502: {
|
|
9835
9849
|
headers: {
|
|
9836
9850
|
[name: string]: unknown;
|
|
@@ -13148,7 +13162,7 @@ interface operations {
|
|
|
13148
13162
|
"application/json": components["schemas"]["Error"];
|
|
13149
13163
|
};
|
|
13150
13164
|
};
|
|
13151
|
-
/** @description A temporary upstream error occurred, or the upstream response could not be interpreted.
|
|
13165
|
+
/** @description A temporary upstream error occurred, or the upstream response could not be interpreted. Check `retry_likely_to_succeed`: a temporary error is worth retrying, a response that could not be interpreted is not, and carries `retry_hint: {"kind": "never"}`. */
|
|
13152
13166
|
502: {
|
|
13153
13167
|
headers: {
|
|
13154
13168
|
[name: string]: unknown;
|
|
@@ -13272,7 +13286,7 @@ interface operations {
|
|
|
13272
13286
|
"application/json": components["schemas"]["Error"];
|
|
13273
13287
|
};
|
|
13274
13288
|
};
|
|
13275
|
-
/** @description A temporary upstream error occurred
|
|
13289
|
+
/** @description A temporary upstream error occurred, or the upstream response could not be interpreted. Check `retry_likely_to_succeed`: a temporary error is worth retrying, a response that could not be interpreted is not, and carries `retry_hint: {"kind": "never"}`. */
|
|
13276
13290
|
502: {
|
|
13277
13291
|
headers: {
|
|
13278
13292
|
[name: string]: unknown;
|
|
@@ -13396,7 +13410,7 @@ interface operations {
|
|
|
13396
13410
|
"application/json": components["schemas"]["Error"];
|
|
13397
13411
|
};
|
|
13398
13412
|
};
|
|
13399
|
-
/** @description A temporary upstream error occurred
|
|
13413
|
+
/** @description A temporary upstream error occurred, or the upstream response could not be interpreted. Check `retry_likely_to_succeed`: a temporary error is worth retrying, a response that could not be interpreted is not, and carries `retry_hint: {"kind": "never"}`. */
|
|
13400
13414
|
502: {
|
|
13401
13415
|
headers: {
|
|
13402
13416
|
[name: string]: unknown;
|
|
@@ -16099,7 +16113,7 @@ interface operations {
|
|
|
16099
16113
|
"application/json": components["schemas"]["Error"];
|
|
16100
16114
|
};
|
|
16101
16115
|
};
|
|
16102
|
-
/** @description
|
|
16116
|
+
/** @description Forbidden. NO_ACTIVE_SEAT: the account is not attached to an active seat. */
|
|
16103
16117
|
403: {
|
|
16104
16118
|
headers: {
|
|
16105
16119
|
[name: string]: unknown;
|
|
@@ -16350,7 +16364,7 @@ interface operations {
|
|
|
16350
16364
|
"application/json": components["schemas"]["Error"];
|
|
16351
16365
|
};
|
|
16352
16366
|
};
|
|
16353
|
-
/** @description
|
|
16367
|
+
/** @description Forbidden. NO_ACTIVE_SEAT: the account is not attached to an active seat. */
|
|
16354
16368
|
403: {
|
|
16355
16369
|
headers: {
|
|
16356
16370
|
[name: string]: unknown;
|
|
@@ -16575,7 +16589,7 @@ interface operations {
|
|
|
16575
16589
|
"application/json": components["schemas"]["Error"];
|
|
16576
16590
|
};
|
|
16577
16591
|
};
|
|
16578
|
-
/** @description
|
|
16592
|
+
/** @description Forbidden. NO_ACTIVE_SEAT: the account is not attached to an active seat. */
|
|
16579
16593
|
403: {
|
|
16580
16594
|
headers: {
|
|
16581
16595
|
[name: string]: unknown;
|
|
@@ -16828,7 +16842,7 @@ interface operations {
|
|
|
16828
16842
|
"application/json": components["schemas"]["Error"];
|
|
16829
16843
|
};
|
|
16830
16844
|
};
|
|
16831
|
-
/** @description
|
|
16845
|
+
/** @description Forbidden. NO_ACTIVE_SEAT: the account is not attached to an active seat. */
|
|
16832
16846
|
403: {
|
|
16833
16847
|
headers: {
|
|
16834
16848
|
[name: string]: unknown;
|
|
@@ -16998,7 +17012,7 @@ interface operations {
|
|
|
16998
17012
|
"application/json": components["schemas"]["Error"];
|
|
16999
17013
|
};
|
|
17000
17014
|
};
|
|
17001
|
-
/** @description
|
|
17015
|
+
/** @description Forbidden. NO_ACTIVE_SEAT: the account is not attached to an active seat. */
|
|
17002
17016
|
403: {
|
|
17003
17017
|
headers: {
|
|
17004
17018
|
[name: string]: unknown;
|
|
@@ -17186,7 +17200,7 @@ interface operations {
|
|
|
17186
17200
|
"application/json": components["schemas"]["Error"];
|
|
17187
17201
|
};
|
|
17188
17202
|
};
|
|
17189
|
-
/** @description Forbidden. Either the account
|
|
17203
|
+
/** @description Forbidden. Either NO_ACTIVE_SEAT (the account is not attached to an active seat), or LINKEDIN_FEATURE_NOT_SUBSCRIBED, the connected LinkedIn account lacks the subscription/entitlement LinkedIn requires to publish job postings, even a FREE posting (activate it on LinkedIn; reconnecting will not help). The code field distinguishes the two. */
|
|
17190
17204
|
403: {
|
|
17191
17205
|
headers: {
|
|
17192
17206
|
[name: string]: unknown;
|
|
@@ -17322,7 +17336,7 @@ interface operations {
|
|
|
17322
17336
|
"application/json": components["schemas"]["Error"];
|
|
17323
17337
|
};
|
|
17324
17338
|
};
|
|
17325
|
-
/** @description Forbidden. Either the account
|
|
17339
|
+
/** @description Forbidden. Either NO_ACTIVE_SEAT (the account is not attached to an active seat), or LINKEDIN_FEATURE_NOT_SUBSCRIBED; the connected LinkedIn account lacks the subscription/entitlement LinkedIn requires to manage job postings (the same gate that blocks publish also blocks close; activate it on LinkedIn; reconnecting will not help). The code field distinguishes the two. */
|
|
17326
17340
|
403: {
|
|
17327
17341
|
headers: {
|
|
17328
17342
|
[name: string]: unknown;
|
|
@@ -17545,7 +17559,7 @@ interface operations {
|
|
|
17545
17559
|
"application/json": components["schemas"]["Error"];
|
|
17546
17560
|
};
|
|
17547
17561
|
};
|
|
17548
|
-
/** @description
|
|
17562
|
+
/** @description Forbidden. NO_ACTIVE_SEAT: the account is not attached to an active seat. */
|
|
17549
17563
|
403: {
|
|
17550
17564
|
headers: {
|
|
17551
17565
|
[name: string]: unknown;
|
|
@@ -17737,7 +17751,7 @@ interface operations {
|
|
|
17737
17751
|
"application/json": components["schemas"]["Error"];
|
|
17738
17752
|
};
|
|
17739
17753
|
};
|
|
17740
|
-
/** @description
|
|
17754
|
+
/** @description Forbidden. NO_ACTIVE_SEAT: the account is not attached to an active seat. */
|
|
17741
17755
|
403: {
|
|
17742
17756
|
headers: {
|
|
17743
17757
|
[name: string]: unknown;
|
|
@@ -17859,7 +17873,7 @@ interface operations {
|
|
|
17859
17873
|
"application/json": components["schemas"]["Error"];
|
|
17860
17874
|
};
|
|
17861
17875
|
};
|
|
17862
|
-
/** @description
|
|
17876
|
+
/** @description Forbidden. NO_ACTIVE_SEAT: the account is not attached to an active seat. */
|
|
17863
17877
|
403: {
|
|
17864
17878
|
headers: {
|
|
17865
17879
|
[name: string]: unknown;
|
|
@@ -19325,7 +19339,7 @@ interface operations {
|
|
|
19325
19339
|
"application/json": components["schemas"]["Error"];
|
|
19326
19340
|
};
|
|
19327
19341
|
};
|
|
19328
|
-
/** @description
|
|
19342
|
+
/** @description Forbidden. NO_ACTIVE_SEAT: the account is not attached to an active seat. */
|
|
19329
19343
|
403: {
|
|
19330
19344
|
headers: {
|
|
19331
19345
|
[name: string]: unknown;
|
|
@@ -19364,7 +19378,7 @@ interface operations {
|
|
|
19364
19378
|
"application/json": components["schemas"]["Error"];
|
|
19365
19379
|
};
|
|
19366
19380
|
};
|
|
19367
|
-
/** @description A temporary error occurred
|
|
19381
|
+
/** @description A temporary upstream error occurred, or the upstream response could not be interpreted. Check `retry_likely_to_succeed`: a temporary error is worth retrying, a response that could not be interpreted is not, and carries `retry_hint: {"kind": "never"}`. */
|
|
19368
19382
|
502: {
|
|
19369
19383
|
headers: {
|
|
19370
19384
|
[name: string]: unknown;
|
|
@@ -19452,7 +19466,7 @@ interface operations {
|
|
|
19452
19466
|
"application/json": components["schemas"]["Error"];
|
|
19453
19467
|
};
|
|
19454
19468
|
};
|
|
19455
|
-
/** @description
|
|
19469
|
+
/** @description Forbidden. NO_ACTIVE_SEAT: the account is not attached to an active seat. */
|
|
19456
19470
|
403: {
|
|
19457
19471
|
headers: {
|
|
19458
19472
|
[name: string]: unknown;
|
|
@@ -19500,7 +19514,7 @@ interface operations {
|
|
|
19500
19514
|
"application/json": components["schemas"]["Error"];
|
|
19501
19515
|
};
|
|
19502
19516
|
};
|
|
19503
|
-
/** @description A temporary error occurred
|
|
19517
|
+
/** @description A temporary upstream error occurred, or the upstream response could not be interpreted. Check `retry_likely_to_succeed`: a temporary error is worth retrying, a response that could not be interpreted is not, and carries `retry_hint: {"kind": "never"}`. */
|
|
19504
19518
|
502: {
|
|
19505
19519
|
headers: {
|
|
19506
19520
|
[name: string]: unknown;
|
|
@@ -19583,7 +19597,7 @@ interface operations {
|
|
|
19583
19597
|
"application/json": components["schemas"]["Error"];
|
|
19584
19598
|
};
|
|
19585
19599
|
};
|
|
19586
|
-
/** @description
|
|
19600
|
+
/** @description Forbidden. NO_ACTIVE_SEAT: the account is not attached to an active seat. */
|
|
19587
19601
|
403: {
|
|
19588
19602
|
headers: {
|
|
19589
19603
|
[name: string]: unknown;
|
|
@@ -19622,7 +19636,7 @@ interface operations {
|
|
|
19622
19636
|
"application/json": components["schemas"]["Error"];
|
|
19623
19637
|
};
|
|
19624
19638
|
};
|
|
19625
|
-
/** @description A temporary error occurred
|
|
19639
|
+
/** @description A temporary upstream error occurred, or the upstream response could not be interpreted. Check `retry_likely_to_succeed`: a temporary error is worth retrying, a response that could not be interpreted is not, and carries `retry_hint: {"kind": "never"}`. */
|
|
19626
19640
|
502: {
|
|
19627
19641
|
headers: {
|
|
19628
19642
|
[name: string]: unknown;
|
|
@@ -20030,7 +20044,7 @@ interface operations {
|
|
|
20030
20044
|
"application/json": components["schemas"]["Error"];
|
|
20031
20045
|
};
|
|
20032
20046
|
};
|
|
20033
|
-
/** @description Forbidden. Either
|
|
20047
|
+
/** @description Forbidden. Either NO_ACTIVE_SEAT (the account is not attached to an active seat), or LINKEDIN_FEATURE_NOT_SUBSCRIBED (the connected LinkedIn account lacks the Recruiter subscription; activate it on LinkedIn, reconnecting will not help). The code field distinguishes the two. */
|
|
20034
20048
|
403: {
|
|
20035
20049
|
headers: {
|
|
20036
20050
|
[name: string]: unknown;
|
|
@@ -20248,7 +20262,7 @@ interface operations {
|
|
|
20248
20262
|
"application/json": components["schemas"]["Error"];
|
|
20249
20263
|
};
|
|
20250
20264
|
};
|
|
20251
|
-
/** @description Forbidden. Either
|
|
20265
|
+
/** @description Forbidden. Either NO_ACTIVE_SEAT (the account is not attached to an active seat), or LINKEDIN_FEATURE_NOT_SUBSCRIBED (the connected LinkedIn account lacks the Recruiter subscription; activate it on LinkedIn, reconnecting will not help). The code field distinguishes the two. */
|
|
20252
20266
|
403: {
|
|
20253
20267
|
headers: {
|
|
20254
20268
|
[name: string]: unknown;
|
|
@@ -20561,7 +20575,7 @@ interface operations {
|
|
|
20561
20575
|
"application/json": components["schemas"]["Error"];
|
|
20562
20576
|
};
|
|
20563
20577
|
};
|
|
20564
|
-
/** @description Forbidden.
|
|
20578
|
+
/** @description Forbidden. Either NO_ACTIVE_SEAT (the account is not attached to an active seat), or LINKEDIN_FEATURE_NOT_SUBSCRIBED (the connected LinkedIn account lacks the Recruiter subscription; activate it on LinkedIn, reconnecting will not help). The code field distinguishes the two. */
|
|
20565
20579
|
403: {
|
|
20566
20580
|
headers: {
|
|
20567
20581
|
[name: string]: unknown;
|
|
@@ -20754,7 +20768,7 @@ interface operations {
|
|
|
20754
20768
|
"application/json": components["schemas"]["Error"];
|
|
20755
20769
|
};
|
|
20756
20770
|
};
|
|
20757
|
-
/** @description Forbidden. Either
|
|
20771
|
+
/** @description Forbidden. Either NO_ACTIVE_SEAT (the account is not attached to an active seat), or LINKEDIN_FEATURE_NOT_SUBSCRIBED (the connected LinkedIn account lacks the Recruiter subscription; activate it on LinkedIn, reconnecting will not help). The code field distinguishes the two. */
|
|
20758
20772
|
403: {
|
|
20759
20773
|
headers: {
|
|
20760
20774
|
[name: string]: unknown;
|
|
@@ -20988,7 +21002,7 @@ interface operations {
|
|
|
20988
21002
|
"application/json": components["schemas"]["Error"];
|
|
20989
21003
|
};
|
|
20990
21004
|
};
|
|
20991
|
-
/** @description Forbidden.
|
|
21005
|
+
/** @description Forbidden. Either NO_ACTIVE_SEAT (the account is not attached to an active seat), or LINKEDIN_FEATURE_NOT_SUBSCRIBED (the connected LinkedIn account lacks the Recruiter subscription; activate it on LinkedIn, reconnecting will not help). The code field distinguishes the two. */
|
|
20992
21006
|
403: {
|
|
20993
21007
|
headers: {
|
|
20994
21008
|
[name: string]: unknown;
|
|
@@ -21192,7 +21206,7 @@ interface operations {
|
|
|
21192
21206
|
"application/json": components["schemas"]["Error"];
|
|
21193
21207
|
};
|
|
21194
21208
|
};
|
|
21195
|
-
/** @description Forbidden.
|
|
21209
|
+
/** @description Forbidden. Either NO_ACTIVE_SEAT (the account is not attached to an active seat), or LINKEDIN_FEATURE_NOT_SUBSCRIBED (the connected LinkedIn account lacks the Recruiter subscription; activate it on LinkedIn, reconnecting will not help). The code field distinguishes the two. */
|
|
21196
21210
|
403: {
|
|
21197
21211
|
headers: {
|
|
21198
21212
|
[name: string]: unknown;
|
|
@@ -21350,7 +21364,7 @@ interface operations {
|
|
|
21350
21364
|
"application/json": components["schemas"]["Error"];
|
|
21351
21365
|
};
|
|
21352
21366
|
};
|
|
21353
|
-
/** @description Forbidden.
|
|
21367
|
+
/** @description Forbidden. Either NO_ACTIVE_SEAT (the account is not attached to an active seat), or LINKEDIN_FEATURE_NOT_SUBSCRIBED (the connected LinkedIn account lacks the Recruiter subscription; activate it on LinkedIn, reconnecting will not help). The code field distinguishes the two. */
|
|
21354
21368
|
403: {
|
|
21355
21369
|
headers: {
|
|
21356
21370
|
[name: string]: unknown;
|
|
@@ -21604,7 +21618,7 @@ interface operations {
|
|
|
21604
21618
|
"application/json": components["schemas"]["Error"];
|
|
21605
21619
|
};
|
|
21606
21620
|
};
|
|
21607
|
-
/** @description Forbidden.
|
|
21621
|
+
/** @description Forbidden. Either NO_ACTIVE_SEAT (the account is not attached to an active seat), or LINKEDIN_FEATURE_NOT_SUBSCRIBED (the connected LinkedIn account lacks the Recruiter subscription; activate it on LinkedIn, reconnecting will not help). The code field distinguishes the two. */
|
|
21608
21622
|
403: {
|
|
21609
21623
|
headers: {
|
|
21610
21624
|
[name: string]: unknown;
|
|
@@ -21912,7 +21926,7 @@ interface operations {
|
|
|
21912
21926
|
"application/json": components["schemas"]["Error"];
|
|
21913
21927
|
};
|
|
21914
21928
|
};
|
|
21915
|
-
/** @description Forbidden.
|
|
21929
|
+
/** @description Forbidden. Either NO_ACTIVE_SEAT (the account is not attached to an active seat), or LINKEDIN_FEATURE_NOT_SUBSCRIBED (the connected LinkedIn account lacks the Recruiter subscription; activate it on LinkedIn, reconnecting will not help). The code field distinguishes the two. */
|
|
21916
21930
|
403: {
|
|
21917
21931
|
headers: {
|
|
21918
21932
|
[name: string]: unknown;
|
|
@@ -22256,7 +22270,7 @@ interface operations {
|
|
|
22256
22270
|
"application/json": components["schemas"]["Error"];
|
|
22257
22271
|
};
|
|
22258
22272
|
};
|
|
22259
|
-
/** @description Forbidden.
|
|
22273
|
+
/** @description Forbidden. Either NO_ACTIVE_SEAT (the account is not attached to an active seat), or LINKEDIN_FEATURE_NOT_SUBSCRIBED (the connected LinkedIn account lacks the Recruiter subscription; activate it on LinkedIn, reconnecting will not help). The code field distinguishes the two. */
|
|
22260
22274
|
403: {
|
|
22261
22275
|
headers: {
|
|
22262
22276
|
[name: string]: unknown;
|
|
@@ -22436,7 +22450,7 @@ interface operations {
|
|
|
22436
22450
|
"application/json": components["schemas"]["Error"];
|
|
22437
22451
|
};
|
|
22438
22452
|
};
|
|
22439
|
-
/** @description Forbidden.
|
|
22453
|
+
/** @description Forbidden. Either NO_ACTIVE_SEAT (the account is not attached to an active seat), or LINKEDIN_FEATURE_NOT_SUBSCRIBED (the connected LinkedIn account lacks the Recruiter subscription; activate it on LinkedIn, reconnecting will not help). The code field distinguishes the two. */
|
|
22440
22454
|
403: {
|
|
22441
22455
|
headers: {
|
|
22442
22456
|
[name: string]: unknown;
|
|
@@ -22644,7 +22658,7 @@ interface operations {
|
|
|
22644
22658
|
"application/json": components["schemas"]["Error"];
|
|
22645
22659
|
};
|
|
22646
22660
|
};
|
|
22647
|
-
/** @description Forbidden.
|
|
22661
|
+
/** @description Forbidden. Either NO_ACTIVE_SEAT (the account is not attached to an active seat), or LINKEDIN_FEATURE_NOT_SUBSCRIBED (the connected LinkedIn account lacks the Recruiter subscription; activate it on LinkedIn, reconnecting will not help). The code field distinguishes the two. */
|
|
22648
22662
|
403: {
|
|
22649
22663
|
headers: {
|
|
22650
22664
|
[name: string]: unknown;
|
|
@@ -22799,7 +22813,7 @@ interface operations {
|
|
|
22799
22813
|
"application/json": components["schemas"]["Error"];
|
|
22800
22814
|
};
|
|
22801
22815
|
};
|
|
22802
|
-
/** @description Forbidden.
|
|
22816
|
+
/** @description Forbidden. Either NO_ACTIVE_SEAT (the account is not attached to an active seat), or LINKEDIN_FEATURE_NOT_SUBSCRIBED (the connected LinkedIn account lacks the Recruiter subscription; activate it on LinkedIn, reconnecting will not help). The code field distinguishes the two. */
|
|
22803
22817
|
403: {
|
|
22804
22818
|
headers: {
|
|
22805
22819
|
[name: string]: unknown;
|
|
@@ -22964,7 +22978,7 @@ interface operations {
|
|
|
22964
22978
|
"application/json": components["schemas"]["Error"];
|
|
22965
22979
|
};
|
|
22966
22980
|
};
|
|
22967
|
-
/** @description Forbidden.
|
|
22981
|
+
/** @description Forbidden. Either NO_ACTIVE_SEAT (the account is not attached to an active seat), or LINKEDIN_FEATURE_NOT_SUBSCRIBED (the connected LinkedIn account lacks the Recruiter subscription; activate it on LinkedIn, reconnecting will not help). The code field distinguishes the two. */
|
|
22968
22982
|
403: {
|
|
22969
22983
|
headers: {
|
|
22970
22984
|
[name: string]: unknown;
|
|
@@ -23172,7 +23186,7 @@ interface operations {
|
|
|
23172
23186
|
"application/json": components["schemas"]["Error"];
|
|
23173
23187
|
};
|
|
23174
23188
|
};
|
|
23175
|
-
/** @description Forbidden.
|
|
23189
|
+
/** @description Forbidden. Either NO_ACTIVE_SEAT (the account is not attached to an active seat), or LINKEDIN_FEATURE_NOT_SUBSCRIBED (the connected LinkedIn account lacks the Recruiter subscription; activate it on LinkedIn, reconnecting will not help). The code field distinguishes the two. */
|
|
23176
23190
|
403: {
|
|
23177
23191
|
headers: {
|
|
23178
23192
|
[name: string]: unknown;
|
|
@@ -23352,7 +23366,7 @@ interface operations {
|
|
|
23352
23366
|
"application/json": components["schemas"]["Error"];
|
|
23353
23367
|
};
|
|
23354
23368
|
};
|
|
23355
|
-
/** @description Forbidden.
|
|
23369
|
+
/** @description Forbidden. Either NO_ACTIVE_SEAT (the account is not attached to an active seat), or LINKEDIN_FEATURE_NOT_SUBSCRIBED (the connected LinkedIn account lacks the Recruiter subscription; activate it on LinkedIn, reconnecting will not help). The code field distinguishes the two. */
|
|
23356
23370
|
403: {
|
|
23357
23371
|
headers: {
|
|
23358
23372
|
[name: string]: unknown;
|
|
@@ -23560,7 +23574,7 @@ interface operations {
|
|
|
23560
23574
|
"application/json": components["schemas"]["Error"];
|
|
23561
23575
|
};
|
|
23562
23576
|
};
|
|
23563
|
-
/** @description Forbidden.
|
|
23577
|
+
/** @description Forbidden. Either NO_ACTIVE_SEAT (the account is not attached to an active seat), or LINKEDIN_FEATURE_NOT_SUBSCRIBED (the connected LinkedIn account lacks the Recruiter subscription; activate it on LinkedIn, reconnecting will not help). The code field distinguishes the two. */
|
|
23564
23578
|
403: {
|
|
23565
23579
|
headers: {
|
|
23566
23580
|
[name: string]: unknown;
|
|
@@ -23755,7 +23769,7 @@ interface operations {
|
|
|
23755
23769
|
"application/json": components["schemas"]["Error"];
|
|
23756
23770
|
};
|
|
23757
23771
|
};
|
|
23758
|
-
/** @description Forbidden.
|
|
23772
|
+
/** @description Forbidden. Either NO_ACTIVE_SEAT (the account is not attached to an active seat), or LINKEDIN_FEATURE_NOT_SUBSCRIBED (the connected LinkedIn account lacks the Recruiter subscription; activate it on LinkedIn, reconnecting will not help). The code field distinguishes the two. */
|
|
23759
23773
|
403: {
|
|
23760
23774
|
headers: {
|
|
23761
23775
|
[name: string]: unknown;
|
|
@@ -23893,7 +23907,7 @@ interface operations {
|
|
|
23893
23907
|
"application/json": components["schemas"]["Error"];
|
|
23894
23908
|
};
|
|
23895
23909
|
};
|
|
23896
|
-
/** @description Forbidden.
|
|
23910
|
+
/** @description Forbidden. Either NO_ACTIVE_SEAT (the account is not attached to an active seat), or LINKEDIN_FEATURE_NOT_SUBSCRIBED (the connected LinkedIn account lacks the Recruiter subscription; activate it on LinkedIn, reconnecting will not help). The code field distinguishes the two. */
|
|
23897
23911
|
403: {
|
|
23898
23912
|
headers: {
|
|
23899
23913
|
[name: string]: unknown;
|
|
@@ -24038,7 +24052,7 @@ interface operations {
|
|
|
24038
24052
|
"application/json": components["schemas"]["Error"];
|
|
24039
24053
|
};
|
|
24040
24054
|
};
|
|
24041
|
-
/** @description Forbidden.
|
|
24055
|
+
/** @description Forbidden. Either NO_ACTIVE_SEAT (the account is not attached to an active seat), or LINKEDIN_FEATURE_NOT_SUBSCRIBED (the connected LinkedIn account lacks the Recruiter subscription; activate it on LinkedIn, reconnecting will not help). The code field distinguishes the two. */
|
|
24042
24056
|
403: {
|
|
24043
24057
|
headers: {
|
|
24044
24058
|
[name: string]: unknown;
|
|
@@ -24370,7 +24384,7 @@ interface operations {
|
|
|
24370
24384
|
"application/json": components["schemas"]["Error"];
|
|
24371
24385
|
};
|
|
24372
24386
|
};
|
|
24373
|
-
/** @description Forbidden.
|
|
24387
|
+
/** @description Forbidden. Either NO_ACTIVE_SEAT (the account is not attached to an active seat), or LINKEDIN_FEATURE_NOT_SUBSCRIBED (the connected LinkedIn account lacks the Recruiter subscription; activate it on LinkedIn, reconnecting will not help). The code field distinguishes the two. */
|
|
24374
24388
|
403: {
|
|
24375
24389
|
headers: {
|
|
24376
24390
|
[name: string]: unknown;
|
|
@@ -24578,7 +24592,7 @@ interface operations {
|
|
|
24578
24592
|
"application/json": components["schemas"]["Error"];
|
|
24579
24593
|
};
|
|
24580
24594
|
};
|
|
24581
|
-
/** @description Forbidden.
|
|
24595
|
+
/** @description Forbidden. Either NO_ACTIVE_SEAT (the account is not attached to an active seat), or LINKEDIN_FEATURE_NOT_SUBSCRIBED (the connected LinkedIn account lacks the Recruiter subscription; activate it on LinkedIn, reconnecting will not help). The code field distinguishes the two. */
|
|
24582
24596
|
403: {
|
|
24583
24597
|
headers: {
|
|
24584
24598
|
[name: string]: unknown;
|
|
@@ -24700,7 +24714,7 @@ interface operations {
|
|
|
24700
24714
|
"application/json": components["schemas"]["Error"];
|
|
24701
24715
|
};
|
|
24702
24716
|
};
|
|
24703
|
-
/** @description Forbidden.
|
|
24717
|
+
/** @description Forbidden. Either NO_ACTIVE_SEAT (the account is not attached to an active seat), or LINKEDIN_FEATURE_NOT_SUBSCRIBED (the connected LinkedIn account lacks the Recruiter subscription; activate it on LinkedIn, reconnecting will not help). The code field distinguishes the two. */
|
|
24704
24718
|
403: {
|
|
24705
24719
|
headers: {
|
|
24706
24720
|
[name: string]: unknown;
|
|
@@ -24860,7 +24874,7 @@ interface operations {
|
|
|
24860
24874
|
"application/json": components["schemas"]["Error"];
|
|
24861
24875
|
};
|
|
24862
24876
|
};
|
|
24863
|
-
/** @description Forbidden. Either
|
|
24877
|
+
/** @description Forbidden. Either NO_ACTIVE_SEAT (the account is not attached to an active seat), or LINKEDIN_FEATURE_NOT_SUBSCRIBED (the connected LinkedIn account lacks the Sales Navigator subscription; activate it on LinkedIn, reconnecting will not help). The code field distinguishes the two. */
|
|
24864
24878
|
403: {
|
|
24865
24879
|
headers: {
|
|
24866
24880
|
[name: string]: unknown;
|
|
@@ -25175,7 +25189,7 @@ interface operations {
|
|
|
25175
25189
|
"application/json": components["schemas"]["Error"];
|
|
25176
25190
|
};
|
|
25177
25191
|
};
|
|
25178
|
-
/** @description Forbidden. Either
|
|
25192
|
+
/** @description Forbidden. Either NO_ACTIVE_SEAT (the account is not attached to an active seat), or LINKEDIN_FEATURE_NOT_SUBSCRIBED (the connected LinkedIn account lacks the Sales Navigator subscription; activate it on LinkedIn, reconnecting will not help). The code field distinguishes the two. */
|
|
25179
25193
|
403: {
|
|
25180
25194
|
headers: {
|
|
25181
25195
|
[name: string]: unknown;
|
|
@@ -25323,7 +25337,7 @@ interface operations {
|
|
|
25323
25337
|
"application/json": components["schemas"]["Error"];
|
|
25324
25338
|
};
|
|
25325
25339
|
};
|
|
25326
|
-
/** @description Forbidden. Either
|
|
25340
|
+
/** @description Forbidden. Either NO_ACTIVE_SEAT (the account is not attached to an active seat), or LINKEDIN_FEATURE_NOT_SUBSCRIBED (the connected LinkedIn account lacks the Sales Navigator subscription; activate it on LinkedIn, reconnecting will not help). The code field distinguishes the two. */
|
|
25327
25341
|
403: {
|
|
25328
25342
|
headers: {
|
|
25329
25343
|
[name: string]: unknown;
|
|
@@ -25480,7 +25494,7 @@ interface operations {
|
|
|
25480
25494
|
"application/json": components["schemas"]["Error"];
|
|
25481
25495
|
};
|
|
25482
25496
|
};
|
|
25483
|
-
/** @description Forbidden. Either
|
|
25497
|
+
/** @description Forbidden. Either NO_ACTIVE_SEAT (the account is not attached to an active seat), or LINKEDIN_FEATURE_NOT_SUBSCRIBED (the connected LinkedIn account lacks the Sales Navigator subscription; activate it on LinkedIn, reconnecting will not help). The code field distinguishes the two. */
|
|
25484
25498
|
403: {
|
|
25485
25499
|
headers: {
|
|
25486
25500
|
[name: string]: unknown;
|
|
@@ -25692,7 +25706,7 @@ interface operations {
|
|
|
25692
25706
|
"application/json": components["schemas"]["Error"];
|
|
25693
25707
|
};
|
|
25694
25708
|
};
|
|
25695
|
-
/** @description Forbidden. Either
|
|
25709
|
+
/** @description Forbidden. Either NO_ACTIVE_SEAT (the account is not attached to an active seat), or LINKEDIN_FEATURE_NOT_SUBSCRIBED (the connected LinkedIn account lacks the Sales Navigator subscription; activate it on LinkedIn, reconnecting will not help). The code field distinguishes the two. */
|
|
25696
25710
|
403: {
|
|
25697
25711
|
headers: {
|
|
25698
25712
|
[name: string]: unknown;
|
|
@@ -26078,7 +26092,7 @@ interface operations {
|
|
|
26078
26092
|
"application/json": components["schemas"]["Error"];
|
|
26079
26093
|
};
|
|
26080
26094
|
};
|
|
26081
|
-
/** @description Forbidden. Either
|
|
26095
|
+
/** @description Forbidden. Either NO_ACTIVE_SEAT (the account is not attached to an active seat), or LINKEDIN_FEATURE_NOT_SUBSCRIBED (the connected LinkedIn account lacks the Sales Navigator subscription; activate it on LinkedIn, reconnecting will not help). The code field distinguishes the two. */
|
|
26082
26096
|
403: {
|
|
26083
26097
|
headers: {
|
|
26084
26098
|
[name: string]: unknown;
|
|
@@ -26225,7 +26239,7 @@ interface operations {
|
|
|
26225
26239
|
"application/json": components["schemas"]["Error"];
|
|
26226
26240
|
};
|
|
26227
26241
|
};
|
|
26228
|
-
/** @description Forbidden. Either
|
|
26242
|
+
/** @description Forbidden. Either NO_ACTIVE_SEAT (the account is not attached to an active seat), or LINKEDIN_FEATURE_NOT_SUBSCRIBED (the connected LinkedIn account lacks the Sales Navigator subscription; activate it on LinkedIn, reconnecting will not help). The code field distinguishes the two. */
|
|
26229
26243
|
403: {
|
|
26230
26244
|
headers: {
|
|
26231
26245
|
[name: string]: unknown;
|
|
@@ -26372,7 +26386,7 @@ interface operations {
|
|
|
26372
26386
|
"application/json": components["schemas"]["Error"];
|
|
26373
26387
|
};
|
|
26374
26388
|
};
|
|
26375
|
-
/** @description Forbidden. Either
|
|
26389
|
+
/** @description Forbidden. Either NO_ACTIVE_SEAT (the account is not attached to an active seat), or LINKEDIN_FEATURE_NOT_SUBSCRIBED (the connected LinkedIn account lacks the Sales Navigator subscription; activate it on LinkedIn, reconnecting will not help). The code field distinguishes the two. */
|
|
26376
26390
|
403: {
|
|
26377
26391
|
headers: {
|
|
26378
26392
|
[name: string]: unknown;
|
|
@@ -26533,7 +26547,7 @@ interface operations {
|
|
|
26533
26547
|
"application/json": components["schemas"]["Error"];
|
|
26534
26548
|
};
|
|
26535
26549
|
};
|
|
26536
|
-
/** @description Forbidden. Either
|
|
26550
|
+
/** @description Forbidden. Either NO_ACTIVE_SEAT (the account is not attached to an active seat), or LINKEDIN_FEATURE_NOT_SUBSCRIBED (the connected LinkedIn account lacks the Sales Navigator subscription; activate it on LinkedIn, reconnecting will not help). The code field distinguishes the two. */
|
|
26537
26551
|
403: {
|
|
26538
26552
|
headers: {
|
|
26539
26553
|
[name: string]: unknown;
|
|
@@ -27014,7 +27028,7 @@ interface operations {
|
|
|
27014
27028
|
"application/json": components["schemas"]["Error"];
|
|
27015
27029
|
};
|
|
27016
27030
|
};
|
|
27017
|
-
/** @description Forbidden. Either
|
|
27031
|
+
/** @description Forbidden. Either NO_ACTIVE_SEAT (the account is not attached to an active seat), or LINKEDIN_FEATURE_NOT_SUBSCRIBED (the connected LinkedIn account lacks the Sales Navigator subscription; activate it on LinkedIn, reconnecting will not help). The code field distinguishes the two. */
|
|
27018
27032
|
403: {
|
|
27019
27033
|
headers: {
|
|
27020
27034
|
[name: string]: unknown;
|
|
@@ -27286,7 +27300,7 @@ interface operations {
|
|
|
27286
27300
|
"application/json": components["schemas"]["Error"];
|
|
27287
27301
|
};
|
|
27288
27302
|
};
|
|
27289
|
-
/** @description Forbidden. Either
|
|
27303
|
+
/** @description Forbidden. Either NO_ACTIVE_SEAT (the account is not attached to an active seat), or LINKEDIN_FEATURE_NOT_SUBSCRIBED (the connected LinkedIn account lacks the Sales Navigator subscription; activate it on LinkedIn, reconnecting will not help). The code field distinguishes the two. */
|
|
27290
27304
|
403: {
|
|
27291
27305
|
headers: {
|
|
27292
27306
|
[name: string]: unknown;
|
|
@@ -27687,7 +27701,7 @@ interface operations {
|
|
|
27687
27701
|
"application/json": components["schemas"]["Error"];
|
|
27688
27702
|
};
|
|
27689
27703
|
};
|
|
27690
|
-
/** @description Forbidden. Either
|
|
27704
|
+
/** @description Forbidden. Either NO_ACTIVE_SEAT (the account is not attached to an active seat), or LINKEDIN_FEATURE_NOT_SUBSCRIBED (the connected LinkedIn account lacks the Sales Navigator subscription; activate it on LinkedIn, reconnecting will not help). The code field distinguishes the two. */
|
|
27691
27705
|
403: {
|
|
27692
27706
|
headers: {
|
|
27693
27707
|
[name: string]: unknown;
|
|
@@ -27817,7 +27831,7 @@ interface operations {
|
|
|
27817
27831
|
seat_id?: string | null;
|
|
27818
27832
|
/** @description ISO-8601 UTC connection timestamp. */
|
|
27819
27833
|
connected_at?: string | null;
|
|
27820
|
-
/** @description The
|
|
27834
|
+
/** @description The connection scope this account was last connected with (e.g. ["classic","company","sales_navigator","recruiter"]). A connect asks for every product and LinkedIn activates the ones the account actually has, so this is what was ASKED for, narrowed only by an explicit linkedin_premium on that connect. A linkedin_premium narrowing is not remembered between connects, so this shows what the LAST connect asked for and a reconnect that omits the field widens it again. Null for accounts connected before this was recorded; not attachment truth for Company Pages. */
|
|
27821
27835
|
requested_products?: ("classic" | "company" | "sales_navigator" | "recruiter")[] | null;
|
|
27822
27836
|
/** @description ISO-8601 UTC creation timestamp of the underlying LinkedIn account, distinct from connected_at. Null until the first background enrichment lands. */
|
|
27823
27837
|
substrate_created_at?: string | null;
|
|
@@ -27925,7 +27939,7 @@ interface operations {
|
|
|
27925
27939
|
last_checked_at?: string;
|
|
27926
27940
|
/** @description The seat this account occupies (null for an admin seatless account). */
|
|
27927
27941
|
seat_id?: string | null;
|
|
27928
|
-
/** @description The
|
|
27942
|
+
/** @description The connection scope this account was last connected with (e.g. ["classic","company","sales_navigator","recruiter"]). A connect asks for every product and LinkedIn activates the ones the account actually has, so this is what was ASKED for, narrowed only by an explicit linkedin_premium on that connect. A linkedin_premium narrowing is not remembered between connects, so this shows what the LAST connect asked for and a reconnect that omits the field widens it again. Null for accounts connected before this was recorded; not attachment truth for Company Pages. */
|
|
27929
27943
|
requested_products?: ("classic" | "company" | "sales_navigator" | "recruiter")[] | null;
|
|
27930
27944
|
/** @description ISO-8601 UTC creation timestamp of the underlying LinkedIn account, distinct from connected_at. Null until the first background enrichment lands. */
|
|
27931
27945
|
substrate_created_at?: string | null;
|
|
@@ -28353,10 +28367,10 @@ interface operations {
|
|
|
28353
28367
|
/** @description Present = re-authenticate this existing account in place (reconnect); omit = connect a new account. */
|
|
28354
28368
|
account_id?: string;
|
|
28355
28369
|
/**
|
|
28356
|
-
* @description
|
|
28370
|
+
* @description Optional. Which LinkedIn premium surface this connection should ask for: 'sales_navigator' or 'recruiter'. Omit it and the connection asks for every product, and LinkedIn activates whichever ones the account actually has. One LinkedIn account can hold only one of the two premium surfaces, and when both are asked for Sales Navigator takes precedence, so set this to 'recruiter' if the account holds both and you want the Recruiter surface. This applies per connection and is not remembered: state it on every connect and reconnect where Recruiter must win.
|
|
28357
28371
|
* @enum {string}
|
|
28358
28372
|
*/
|
|
28359
|
-
|
|
28373
|
+
linkedin_premium?: "sales_navigator" | "recruiter";
|
|
28360
28374
|
/** @description Managed proxy location hint as an ISO 3166-1 alpha-2 country code (e.g. US, DE). */
|
|
28361
28375
|
country?: string;
|
|
28362
28376
|
/** @description IPv4 address used to infer the managed proxy location. */
|
|
@@ -28386,7 +28400,7 @@ interface operations {
|
|
|
28386
28400
|
/** @description Maximum number of messages to sync per chat. */
|
|
28387
28401
|
messages?: number;
|
|
28388
28402
|
};
|
|
28389
|
-
/** @description Which Recruiter contract to bind this account to
|
|
28403
|
+
/** @description Which Recruiter contract to bind this account to. Only meaningful when the LinkedIn account holds a Recruiter subscription. */
|
|
28390
28404
|
recruiter_contract_id?: string;
|
|
28391
28405
|
};
|
|
28392
28406
|
};
|
|
@@ -28508,7 +28522,7 @@ interface operations {
|
|
|
28508
28522
|
"application/json": components["schemas"]["Error"];
|
|
28509
28523
|
};
|
|
28510
28524
|
};
|
|
28511
|
-
/** @description Either LINKEDIN_FEATURE_NOT_SUBSCRIBED (
|
|
28525
|
+
/** @description Either LINKEDIN_FEATURE_NOT_SUBSCRIBED (this LinkedIn account is not subscribed to a premium product the connection asked for, Sales Navigator or Recruiter; activate that subscription on LinkedIn and connect again, or set linkedin_premium to the premium the account actually holds), or ACCOUNT_RESTRICTED (LinkedIn has restricted this account; sign in to LinkedIn to see what it needs, resolve it there, then connect again). The code field distinguishes the two. */
|
|
28512
28526
|
403: {
|
|
28513
28527
|
headers: {
|
|
28514
28528
|
[name: string]: unknown;
|
|
@@ -29975,11 +29989,6 @@ interface operations {
|
|
|
29975
29989
|
description?: string;
|
|
29976
29990
|
/** @description Present and true when the event carries LinkedIn-specific content. */
|
|
29977
29991
|
linkedin_only?: boolean;
|
|
29978
|
-
/**
|
|
29979
|
-
* @description Required add-on tier. Present only on tier-gated events.
|
|
29980
|
-
* @enum {string}
|
|
29981
|
-
*/
|
|
29982
|
-
tier?: "recruiter" | "sales_nav";
|
|
29983
29992
|
/**
|
|
29984
29993
|
* @description Delivery timing. Omitted (equivalent to 'realtime') on every live-pushed event. 'no_longer_realtime' means no push exists for this event; 'not_realtime' means delivery is not guaranteed sub-second and may lag the underlying LinkedIn event, typically because it is detected by a poll rather than pushed, though a given event's own reference article may document an additional immediate path.
|
|
29985
29994
|
* @enum {string}
|
|
@@ -30444,11 +30453,6 @@ interface operations {
|
|
|
30444
30453
|
* @enum {string}
|
|
30445
30454
|
*/
|
|
30446
30455
|
limit_profile?: "basic" | "premium" | "sales_navigator" | "recruiter";
|
|
30447
|
-
/**
|
|
30448
|
-
* @description The Curviate seat tier attached to this account when it disagrees with `limit_profile`, and null when the two agree or the account holds no seat. A seat records what you bought from Curviate; `limit_profile` records what LinkedIn currently grants, and a lapsed subscription moves one and not the other. The detected product always wins the numbers, so this is a report, not a refusal: a `recruiter` seat here means you are paying for Recruiter on an account LinkedIn does not currently grant it to. `core` alongside `basic` or `premium` is agreement, not a mismatch: Premium is a LinkedIn product, not a Curviate tier. A free-trial seat never reports here, because a trial is not a purchase, and neither does a seat whose entitlement has not started yet or has already lapsed.
|
|
30449
|
-
* @enum {string|null}
|
|
30450
|
-
*/
|
|
30451
|
-
seat_tier_mismatch?: "core" | "sn" | "recruiter" | null;
|
|
30452
30456
|
/**
|
|
30453
30457
|
* @description Where `limit_profile` came from. `detected`: Curviate read it from LinkedIn, at `limit_profile_detected_at`. `operator`: it was set through this operation and holds until the account next connects, or until you send `limit_profile_source: "default"` on this operation, which releases it. `default`: it has never been observed, so the value is the seeded `basic` and says nothing about the account; Curviate detects it on the account's next read or connect.
|
|
30454
30458
|
* @enum {string}
|
|
@@ -30709,8 +30713,6 @@ interface operations {
|
|
|
30709
30713
|
object?: unknown;
|
|
30710
30714
|
/** @description READ-ONLY. The account this document describes; the path names it. Sent back on a write it is accepted and ignored, so the whole document round-trips; it is never stored and never ledgered. */
|
|
30711
30715
|
account_id?: unknown;
|
|
30712
|
-
/** @description READ-ONLY. The Curviate seat tier that disagrees with `limit_profile`. Sent back on a write it is accepted and ignored, so the whole document round-trips; it is never stored and never ledgered. */
|
|
30713
|
-
seat_tier_mismatch?: unknown;
|
|
30714
30716
|
/**
|
|
30715
30717
|
* @description Where `limit_profile` came from: `default` (never observed), `detected` (read from LinkedIn) or `operator` (set through this operation). Sending `default` releases an operator override: the value is re-read from LinkedIn on the account's next read or connect. Sending `detected` or `operator` is accepted and ignored, so the whole document round-trips.
|
|
30716
30718
|
* @enum {string}
|
|
@@ -30749,11 +30751,6 @@ interface operations {
|
|
|
30749
30751
|
* @enum {string}
|
|
30750
30752
|
*/
|
|
30751
30753
|
limit_profile?: "basic" | "premium" | "sales_navigator" | "recruiter";
|
|
30752
|
-
/**
|
|
30753
|
-
* @description The Curviate seat tier attached to this account when it disagrees with `limit_profile`, and null when the two agree or the account holds no seat. A seat records what you bought from Curviate; `limit_profile` records what LinkedIn currently grants, and a lapsed subscription moves one and not the other. The detected product always wins the numbers, so this is a report, not a refusal: a `recruiter` seat here means you are paying for Recruiter on an account LinkedIn does not currently grant it to. `core` alongside `basic` or `premium` is agreement, not a mismatch: Premium is a LinkedIn product, not a Curviate tier. A free-trial seat never reports here, because a trial is not a purchase, and neither does a seat whose entitlement has not started yet or has already lapsed.
|
|
30754
|
-
* @enum {string|null}
|
|
30755
|
-
*/
|
|
30756
|
-
seat_tier_mismatch?: "core" | "sn" | "recruiter" | null;
|
|
30757
30754
|
/**
|
|
30758
30755
|
* @description Where `limit_profile` came from. `detected`: Curviate read it from LinkedIn, at `limit_profile_detected_at`. `operator`: it was set through this operation and holds until the account next connects, or until you send `limit_profile_source: "default"` on this operation, which releases it. `default`: it has never been observed, so the value is the seeded `basic` and says nothing about the account; Curviate detects it on the account's next read or connect.
|
|
30759
30756
|
* @enum {string}
|
|
@@ -31199,16 +31196,31 @@ declare class AuthResource {
|
|
|
31199
31196
|
* account) rather than connecting a brand-new one; it is absent on a normal
|
|
31200
31197
|
* connect.
|
|
31201
31198
|
*
|
|
31202
|
-
* Connection scope (which LinkedIn products are enabled
|
|
31203
|
-
*
|
|
31204
|
-
*
|
|
31205
|
-
* the account
|
|
31206
|
-
*
|
|
31207
|
-
*
|
|
31208
|
-
*
|
|
31209
|
-
*
|
|
31210
|
-
*
|
|
31211
|
-
*
|
|
31199
|
+
* Connection scope (which LinkedIn products are enabled) is not something
|
|
31200
|
+
* you enumerate and it is NOT derived from the seat: the connect asks for
|
|
31201
|
+
* every product (classic, company, sales_navigator, recruiter) and LinkedIn
|
|
31202
|
+
* activates whichever ones the account actually holds. The recorded scope is
|
|
31203
|
+
* readable back as `requested_products` on the account
|
|
31204
|
+
* (`accounts.list()` / `accounts.get()`), and it is what was ASKED for, not
|
|
31205
|
+
* proof of attachment.
|
|
31206
|
+
*
|
|
31207
|
+
* `linkedin_premium` (`"sales_navigator"` | `"recruiter"`) is the one
|
|
31208
|
+
* optional narrowing. A LinkedIn account can hold only one of the two
|
|
31209
|
+
* premium surfaces, and when both are asked for Sales Navigator wins, so set
|
|
31210
|
+
* it to `"recruiter"` for an account that holds both and needs the Recruiter
|
|
31211
|
+
* surface. **It applies to this connection only and is never remembered**:
|
|
31212
|
+
* a later connect or reconnect that omits it widens the scope back to every
|
|
31213
|
+
* product, so state it on every call where Recruiter must win. There is no
|
|
31214
|
+
* account-level premium preference to set once.
|
|
31215
|
+
*
|
|
31216
|
+
* A reconnect that would change scope must use `auth_method: "credentials"`,
|
|
31217
|
+
* since a cookie replay cannot change scope and throws
|
|
31218
|
+
* `CurviateError(code: "REAUTH_REQUIRED")` instead. Asking for a premium the
|
|
31219
|
+
* LinkedIn account does not hold throws
|
|
31220
|
+
* `CurviateError(code: "LINKEDIN_FEATURE_NOT_SUBSCRIBED")` (403); the remedy
|
|
31221
|
+
* is to activate the subscription on LinkedIn or to point `linkedin_premium`
|
|
31222
|
+
* at the premium the account really has. Pin a managed proxy with the
|
|
31223
|
+
* optional `country`/`ip`, or supply `proxy` to override it entirely.
|
|
31212
31224
|
*/
|
|
31213
31225
|
intent(body: AuthIntentBody): Promise<AuthIntentResult>;
|
|
31214
31226
|
/**
|
|
@@ -32072,7 +32084,9 @@ declare class FeedResource {
|
|
|
32072
32084
|
}
|
|
32073
32085
|
|
|
32074
32086
|
/**
|
|
32075
|
-
* Inboxes resource
|
|
32087
|
+
* Inboxes resource.
|
|
32088
|
+
*
|
|
32089
|
+
* @beta Every operation in this namespace is beta.
|
|
32076
32090
|
*
|
|
32077
32091
|
* Account-scoped: the bound context injects `account_id` as the leading
|
|
32078
32092
|
* `/v1/` path segment on every request (account-first grammar), never a
|
|
@@ -32130,6 +32144,10 @@ declare class InboxesResource {
|
|
|
32130
32144
|
* const companyPage = (items ?? []).find((i) => i.kind === "company");
|
|
32131
32145
|
* console.log(companyPage?.id, companyPage?.name, hint);
|
|
32132
32146
|
* // companyPage?.id is what you pass to listChats(), e.g. "COMPANY_83734124_PRIMARY"
|
|
32147
|
+
*
|
|
32148
|
+
* @beta Beta operation. See the namespace note above: while beta-gated it
|
|
32149
|
+
* refuses `BETA_NOT_ENABLED` (403) until a human enables beta in Settings,
|
|
32150
|
+
* or the request carries the `X-Curviate-Beta` header.
|
|
32133
32151
|
*/
|
|
32134
32152
|
list(params?: InboxListQuery): Promise<InboxListPage>;
|
|
32135
32153
|
/**
|
|
@@ -32160,6 +32178,10 @@ declare class InboxesResource {
|
|
|
32160
32178
|
* or `"COMPANY_83734124_PRIMARY"`).
|
|
32161
32179
|
* @param params - optional `limit` (1-25, default 20) and an opaque
|
|
32162
32180
|
* `cursor` for pagination.
|
|
32181
|
+
*
|
|
32182
|
+
* @beta Beta operation. See the namespace note above: while beta-gated it
|
|
32183
|
+
* refuses `BETA_NOT_ENABLED` (403) until a human enables beta in Settings,
|
|
32184
|
+
* or the request carries the `X-Curviate-Beta` header.
|
|
32163
32185
|
*/
|
|
32164
32186
|
listChats(inboxId: string, params?: InboxChatListQuery): Promise<InboxChatListPage>;
|
|
32165
32187
|
}
|
|
@@ -32260,7 +32282,25 @@ declare class NotificationsResource {
|
|
|
32260
32282
|
}
|
|
32261
32283
|
|
|
32262
32284
|
/**
|
|
32263
|
-
* Sales Navigator resource
|
|
32285
|
+
* Sales Navigator resource.
|
|
32286
|
+
*
|
|
32287
|
+
* @beta Every operation in this namespace is beta. None of it has been
|
|
32288
|
+
* exercised against a real LinkedIn Sales Navigator subscription yet, so
|
|
32289
|
+
* response shapes may still move. While an operation is beta-GATED it refuses
|
|
32290
|
+
* `BETA_NOT_ENABLED` (403) until a human enables beta for the tenant in
|
|
32291
|
+
* Settings, or the request carries the `X-Curviate-Beta` header. The beta
|
|
32292
|
+
* badge is a superset of the gate: a badged operation is not necessarily
|
|
32293
|
+
* gated, so read the code on a refusal rather than inferring it from the
|
|
32294
|
+
* badge.
|
|
32295
|
+
*
|
|
32296
|
+
* NO CURVIATE-SIDE ENTITLEMENT. There is no Sales Navigator product to buy
|
|
32297
|
+
* from Curviate and no tier on a seat: one ordinary paid seat entitles every
|
|
32298
|
+
* method here, and a tenant with no active seat covering the account refuses
|
|
32299
|
+
* `NO_ACTIVE_SEAT` (403) exactly as it does on any other namespace. What this
|
|
32300
|
+
* namespace does need is the LINKEDIN account's own Sales Navigator
|
|
32301
|
+
* subscription; an account whose LinkedIn lacks it refuses
|
|
32302
|
+
* `LINKEDIN_FEATURE_NOT_SUBSCRIBED` (403), and that remedy lives on LinkedIn,
|
|
32303
|
+
* not in Curviate billing.
|
|
32264
32304
|
*
|
|
32265
32305
|
* Account-scoped: the bound context injects `account_id` as the leading
|
|
32266
32306
|
* `/v1/` path segment on every request (account-first grammar), never a
|
|
@@ -32322,50 +32362,85 @@ declare class SalesNavigatorResource {
|
|
|
32322
32362
|
/**
|
|
32323
32363
|
* Search LinkedIn members using the full Sales Navigator filter set.
|
|
32324
32364
|
* `POST /v1/{account_id}/sales-navigator/search/people`
|
|
32325
|
-
*
|
|
32365
|
+
*
|
|
32366
|
+
* @beta Beta operation. See the namespace note above: while beta-gated it
|
|
32367
|
+
* refuses `BETA_NOT_ENABLED` (403) until a human enables beta in Settings,
|
|
32368
|
+
* or the request carries the `X-Curviate-Beta` header.
|
|
32326
32369
|
*/
|
|
32327
32370
|
searchPeople(body: SNSearchPeopleBody, query?: Partial<SNSearchPeopleQuery>): Promise<SNSearchPeopleResult>;
|
|
32328
32371
|
/**
|
|
32329
32372
|
* Search LinkedIn companies using the full Sales Navigator company filter set.
|
|
32330
32373
|
* `POST /v1/{account_id}/sales-navigator/search/companies`
|
|
32374
|
+
*
|
|
32375
|
+
* @beta Beta operation. See the namespace note above: while beta-gated it
|
|
32376
|
+
* refuses `BETA_NOT_ENABLED` (403) until a human enables beta in Settings,
|
|
32377
|
+
* or the request carries the `X-Curviate-Beta` header.
|
|
32331
32378
|
*/
|
|
32332
32379
|
searchCompanies(body: SNSearchCompaniesBody, query?: Partial<SNSearchCompaniesQuery>): Promise<SNSearchCompaniesResult>;
|
|
32333
32380
|
/**
|
|
32334
32381
|
* Resolve human-readable terms to opaque Sales Navigator filter IDs.
|
|
32335
32382
|
* `GET /v1/{account_id}/sales-navigator/search/parameters`
|
|
32383
|
+
*
|
|
32384
|
+
* @beta Beta operation. See the namespace note above: while beta-gated it
|
|
32385
|
+
* refuses `BETA_NOT_ENABLED` (403) until a human enables beta in Settings,
|
|
32386
|
+
* or the request carries the `X-Curviate-Beta` header.
|
|
32336
32387
|
*/
|
|
32337
32388
|
getParameters(query: SNGetParametersQuery): Promise<SNGetParametersResult>;
|
|
32338
32389
|
/**
|
|
32339
32390
|
* Start a new Sales Navigator chat. `attachments[]`, when supplied, carry
|
|
32340
32391
|
* base64-encoded file bytes, always sent as JSON, never multipart.
|
|
32341
32392
|
* `POST /v1/{account_id}/sales-navigator/chats`
|
|
32393
|
+
*
|
|
32394
|
+
* @beta Beta operation. See the namespace note above: while beta-gated it
|
|
32395
|
+
* refuses `BETA_NOT_ENABLED` (403) until a human enables beta in Settings,
|
|
32396
|
+
* or the request carries the `X-Curviate-Beta` header.
|
|
32342
32397
|
*/
|
|
32343
32398
|
startChat(body: SNStartChatBody): Promise<SNStartChatResult>;
|
|
32344
32399
|
/**
|
|
32345
32400
|
* Retrieve a LinkedIn profile with Sales Navigator enrichment.
|
|
32346
32401
|
* `GET /v1/{account_id}/sales-navigator/profiles/{identifier}`
|
|
32402
|
+
*
|
|
32403
|
+
* @beta Beta operation. See the namespace note above: while beta-gated it
|
|
32404
|
+
* refuses `BETA_NOT_ENABLED` (403) until a human enables beta in Settings,
|
|
32405
|
+
* or the request carries the `X-Curviate-Beta` header.
|
|
32347
32406
|
*/
|
|
32348
32407
|
getProfile(identifier: string, query?: Partial<SNGetProfileQuery>): Promise<SNGetProfileResult>;
|
|
32349
32408
|
/**
|
|
32350
32409
|
* List the saved-account (company) lists on the operator's Sales Navigator seat.
|
|
32351
32410
|
* `GET /v1/{account_id}/sales-navigator/account-lists`
|
|
32411
|
+
*
|
|
32412
|
+
* @beta Beta operation. See the namespace note above: while beta-gated it
|
|
32413
|
+
* refuses `BETA_NOT_ENABLED` (403) until a human enables beta in Settings,
|
|
32414
|
+
* or the request carries the `X-Curviate-Beta` header.
|
|
32352
32415
|
*/
|
|
32353
32416
|
accountLists(query?: Partial<SNAccountListsQuery>): Promise<SNAccountListsResult>;
|
|
32354
32417
|
/**
|
|
32355
32418
|
* List the saved-lead (member) lists on the operator's Sales Navigator seat.
|
|
32356
32419
|
* `GET /v1/{account_id}/sales-navigator/lead-lists`
|
|
32420
|
+
*
|
|
32421
|
+
* @beta Beta operation. See the namespace note above: while beta-gated it
|
|
32422
|
+
* refuses `BETA_NOT_ENABLED` (403) until a human enables beta in Settings,
|
|
32423
|
+
* or the request carries the `X-Curviate-Beta` header.
|
|
32357
32424
|
*/
|
|
32358
32425
|
leadLists(query?: Partial<SNLeadListsQuery>): Promise<SNLeadListsResult>;
|
|
32359
32426
|
/**
|
|
32360
32427
|
* Browse the saved accounts (companies) in one account list. Pass optional
|
|
32361
32428
|
* `persona` / `filter` / `sort_by` / `sort_order` filters in the body.
|
|
32362
32429
|
* `POST /v1/{account_id}/sales-navigator/account-lists/{list_id}`
|
|
32430
|
+
*
|
|
32431
|
+
* @beta Beta operation. See the namespace note above: while beta-gated it
|
|
32432
|
+
* refuses `BETA_NOT_ENABLED` (403) until a human enables beta in Settings,
|
|
32433
|
+
* or the request carries the `X-Curviate-Beta` header.
|
|
32363
32434
|
*/
|
|
32364
32435
|
browseAccountList(listId: string, body?: SNBrowseAccountListBody, query?: Partial<SNBrowseAccountListQuery>): Promise<SNBrowseAccountListResult>;
|
|
32365
32436
|
/**
|
|
32366
32437
|
* Browse the saved leads (members) in one lead list. Pass optional
|
|
32367
32438
|
* `spotlight` / `sort_by` / `sort_order` filters in the body.
|
|
32368
32439
|
* `POST /v1/{account_id}/sales-navigator/lead-lists/{list_id}`
|
|
32440
|
+
*
|
|
32441
|
+
* @beta Beta operation. See the namespace note above: while beta-gated it
|
|
32442
|
+
* refuses `BETA_NOT_ENABLED` (403) until a human enables beta in Settings,
|
|
32443
|
+
* or the request carries the `X-Curviate-Beta` header.
|
|
32369
32444
|
*/
|
|
32370
32445
|
browseLeadList(listId: string, body?: SNBrowseLeadListBody, query?: Partial<SNBrowseLeadListQuery>): Promise<SNBrowseLeadListResult>;
|
|
32371
32446
|
/**
|
|
@@ -32375,12 +32450,20 @@ declare class SalesNavigatorResource {
|
|
|
32375
32450
|
*
|
|
32376
32451
|
* No `saved` boolean is invented; a `2xx` response body is the success
|
|
32377
32452
|
* signal (the substrate returns no success flag).
|
|
32453
|
+
*
|
|
32454
|
+
* @beta Beta operation. See the namespace note above: while beta-gated it
|
|
32455
|
+
* refuses `BETA_NOT_ENABLED` (403) until a human enables beta in Settings,
|
|
32456
|
+
* or the request carries the `X-Curviate-Beta` header.
|
|
32378
32457
|
*/
|
|
32379
32458
|
saveAccount(input: SNSaveAccountInput): Promise<SNSaveAccountResult>;
|
|
32380
32459
|
/**
|
|
32381
32460
|
* Save a Sales Navigator member into a lead list. Body is just `{user_id}`;
|
|
32382
32461
|
* `account_id` lives in the path, not the body.
|
|
32383
32462
|
* `POST /v1/{account_id}/sales-navigator/lead-lists/{list_id}/save`
|
|
32463
|
+
*
|
|
32464
|
+
* @beta Beta operation. See the namespace note above: while beta-gated it
|
|
32465
|
+
* refuses `BETA_NOT_ENABLED` (403) until a human enables beta in Settings,
|
|
32466
|
+
* or the request carries the `X-Curviate-Beta` header.
|
|
32384
32467
|
*/
|
|
32385
32468
|
saveLead(input: SNSaveLeadInput): Promise<SNSaveLeadResult>;
|
|
32386
32469
|
/**
|
|
@@ -32388,12 +32471,33 @@ declare class SalesNavigatorResource {
|
|
|
32388
32471
|
* `POST /v1/{account_id}/sales-navigator/search`
|
|
32389
32472
|
* `url` is the only accepted body field. Response items are polymorphic,
|
|
32390
32473
|
* each discriminated individually by its own `object`.
|
|
32474
|
+
*
|
|
32475
|
+
* @beta Beta operation. See the namespace note above: while beta-gated it
|
|
32476
|
+
* refuses `BETA_NOT_ENABLED` (403) until a human enables beta in Settings,
|
|
32477
|
+
* or the request carries the `X-Curviate-Beta` header.
|
|
32391
32478
|
*/
|
|
32392
32479
|
searchFromUrl(body: SNSearchFromUrlBody, query?: Partial<SNSearchFromUrlQuery>): Promise<SNSearchFromUrlResult>;
|
|
32393
32480
|
}
|
|
32394
32481
|
|
|
32395
32482
|
/**
|
|
32396
|
-
* Recruiter resource
|
|
32483
|
+
* Recruiter resource, a project-centric rebuild.
|
|
32484
|
+
*
|
|
32485
|
+
* @beta Every operation in this namespace is beta. None of it has been
|
|
32486
|
+
* exercised against a real LinkedIn Recruiter subscription yet, so response
|
|
32487
|
+
* shapes may still move. While an operation is beta-GATED it refuses
|
|
32488
|
+
* `BETA_NOT_ENABLED` (403) until a human enables beta for the tenant in
|
|
32489
|
+
* Settings, or the request carries the `X-Curviate-Beta` header. The beta
|
|
32490
|
+
* badge is a superset of the gate: a badged operation is not necessarily
|
|
32491
|
+
* gated, so read the code on a refusal rather than inferring it from the
|
|
32492
|
+
* badge.
|
|
32493
|
+
*
|
|
32494
|
+
* NO CURVIATE-SIDE ENTITLEMENT. There is no Recruiter product to buy from
|
|
32495
|
+
* Curviate and no tier on a seat: one ordinary paid seat entitles every method
|
|
32496
|
+
* here, and a tenant with no active seat covering the account refuses
|
|
32497
|
+
* `NO_ACTIVE_SEAT` (403) exactly as it does on any other namespace. What this
|
|
32498
|
+
* namespace does need is the LINKEDIN account's own Recruiter subscription; an
|
|
32499
|
+
* account whose LinkedIn lacks it refuses `LINKEDIN_FEATURE_NOT_SUBSCRIBED`
|
|
32500
|
+
* (403), and that remedy lives on LinkedIn, not in Curviate billing.
|
|
32397
32501
|
*
|
|
32398
32502
|
* Account-scoped: the bound context injects `account_id` as the leading
|
|
32399
32503
|
* `/v1/` path segment on every request (account-first grammar), never a
|
|
@@ -32472,23 +32576,39 @@ declare class RecruiterResource {
|
|
|
32472
32576
|
* target's public identifier, or a member id. Request specific profile
|
|
32473
32577
|
* sections via `with_sections` (repeatable query param).
|
|
32474
32578
|
* `GET /v1/{account_id}/recruiter/profiles/{user_id}`
|
|
32579
|
+
*
|
|
32580
|
+
* @beta Beta operation. See the namespace note above: while beta-gated it
|
|
32581
|
+
* refuses `BETA_NOT_ENABLED` (403) until a human enables beta in Settings,
|
|
32582
|
+
* or the request carries the `X-Curviate-Beta` header.
|
|
32475
32583
|
*/
|
|
32476
32584
|
getProfile(identifier: string, params?: Partial<RecruiterGetProfileQuery>): Promise<RecruiterGetProfileResult>;
|
|
32477
32585
|
/**
|
|
32478
32586
|
* Start a Recruiter chat (InMail). JSON-only, `subject` and `signature`
|
|
32479
32587
|
* are REQUIRED; optional attachments ride the body as base64-encoded
|
|
32480
32588
|
* objects (no multipart). `POST /v1/{account_id}/recruiter/chats`
|
|
32589
|
+
*
|
|
32590
|
+
* @beta Beta operation. See the namespace note above: while beta-gated it
|
|
32591
|
+
* refuses `BETA_NOT_ENABLED` (403) until a human enables beta in Settings,
|
|
32592
|
+
* or the request carries the `X-Curviate-Beta` header.
|
|
32481
32593
|
*/
|
|
32482
32594
|
startChat(body: RecruiterStartChatBody): Promise<RecruiterStartChatResult>;
|
|
32483
32595
|
/**
|
|
32484
32596
|
* Search LinkedIn members using Recruiter filters. `limit`/`cursor` stay
|
|
32485
32597
|
* TOP-LEVEL query params. `POST /v1/{account_id}/recruiter/search/people`
|
|
32598
|
+
*
|
|
32599
|
+
* @beta Beta operation. See the namespace note above: while beta-gated it
|
|
32600
|
+
* refuses `BETA_NOT_ENABLED` (403) until a human enables beta in Settings,
|
|
32601
|
+
* or the request carries the `X-Curviate-Beta` header.
|
|
32486
32602
|
*/
|
|
32487
32603
|
searchPeople(body: RecruiterSearchPeopleBody, params?: Partial<RecruiterSearchPeopleQuery>): Promise<RecruiterSearchPeopleResult>;
|
|
32488
32604
|
/**
|
|
32489
32605
|
* Resolve human-readable terms to opaque Recruiter filter ids. POST (was
|
|
32490
32606
|
* GET): the body is a `source`-discriminated oneOf, `APPLICANTS`/`PIPELINE`
|
|
32491
32607
|
* require `project_id`. `POST /v1/{account_id}/recruiter/search/parameters`
|
|
32608
|
+
*
|
|
32609
|
+
* @beta Beta operation. See the namespace note above: while beta-gated it
|
|
32610
|
+
* refuses `BETA_NOT_ENABLED` (403) until a human enables beta in Settings,
|
|
32611
|
+
* or the request carries the `X-Curviate-Beta` header.
|
|
32492
32612
|
*/
|
|
32493
32613
|
searchParameters(body: RecruiterSearchParametersBody, params?: Partial<RecruiterSearchParametersQuery>): Promise<RecruiterSearchParametersResult>;
|
|
32494
32614
|
/**
|
|
@@ -32496,6 +32616,10 @@ declare class RecruiterResource {
|
|
|
32496
32616
|
* `RECRUITER_SEARCH` talent-pool channel) is REQUIRED. `limit`/`cursor` stay
|
|
32497
32617
|
* TOP-LEVEL query params.
|
|
32498
32618
|
* `POST /v1/{account_id}/recruiter/projects/{project_id}/talent-pool/search`
|
|
32619
|
+
*
|
|
32620
|
+
* @beta Beta operation. See the namespace note above: while beta-gated it
|
|
32621
|
+
* refuses `BETA_NOT_ENABLED` (403) until a human enables beta in Settings,
|
|
32622
|
+
* or the request carries the `X-Curviate-Beta` header.
|
|
32499
32623
|
*/
|
|
32500
32624
|
searchTalentPool(projectId: string, body: RecruiterSearchTalentPoolBody, params?: Partial<RecruiterSearchTalentPoolQuery>): Promise<RecruiterSearchTalentPoolResult>;
|
|
32501
32625
|
/**
|
|
@@ -32503,22 +32627,38 @@ declare class RecruiterResource {
|
|
|
32503
32627
|
* nothing else in the body. The response is a 3-way oneOf (people-search,
|
|
32504
32628
|
* job-applicant list, or pipeline-candidate list) keyed by the URL kind.
|
|
32505
32629
|
* `POST /v1/{account_id}/recruiter/search`
|
|
32630
|
+
*
|
|
32631
|
+
* @beta Beta operation. See the namespace note above: while beta-gated it
|
|
32632
|
+
* refuses `BETA_NOT_ENABLED` (403) until a human enables beta in Settings,
|
|
32633
|
+
* or the request carries the `X-Curviate-Beta` header.
|
|
32506
32634
|
*/
|
|
32507
32635
|
searchFromUrl(body: RecruiterSearchFromUrlBody, params?: Partial<RecruiterSearchFromUrlQuery>): Promise<RecruiterSearchFromUrlResult>;
|
|
32508
32636
|
/**
|
|
32509
32637
|
* List Recruiter hiring projects visible to the account.
|
|
32510
32638
|
* `GET /v1/{account_id}/recruiter/projects`
|
|
32639
|
+
*
|
|
32640
|
+
* @beta Beta operation. See the namespace note above: while beta-gated it
|
|
32641
|
+
* refuses `BETA_NOT_ENABLED` (403) until a human enables beta in Settings,
|
|
32642
|
+
* or the request carries the `X-Curviate-Beta` header.
|
|
32511
32643
|
*/
|
|
32512
32644
|
listProjects(params?: Partial<RecruiterListProjectsQuery>): Promise<RecruiterListProjectsResult>;
|
|
32513
32645
|
/**
|
|
32514
32646
|
* Get a single Recruiter hiring project (owner, metadata, talent_pool,
|
|
32515
32647
|
* pipeline). `GET /v1/{account_id}/recruiter/projects/{project_id}`
|
|
32648
|
+
*
|
|
32649
|
+
* @beta Beta operation. See the namespace note above: while beta-gated it
|
|
32650
|
+
* refuses `BETA_NOT_ENABLED` (403) until a human enables beta in Settings,
|
|
32651
|
+
* or the request carries the `X-Curviate-Beta` header.
|
|
32516
32652
|
*/
|
|
32517
32653
|
getProject(projectId: string): Promise<RecruiterGetProjectResult>;
|
|
32518
32654
|
/**
|
|
32519
32655
|
* Edit a Recruiter project's config: all fields optional; omitted fields
|
|
32520
32656
|
* are left unchanged. Returns a thin acknowledgement only.
|
|
32521
32657
|
* `PATCH /v1/{account_id}/recruiter/projects/{project_id}`
|
|
32658
|
+
*
|
|
32659
|
+
* @beta Beta operation. See the namespace note above: while beta-gated it
|
|
32660
|
+
* refuses `BETA_NOT_ENABLED` (403) until a human enables beta in Settings,
|
|
32661
|
+
* or the request carries the `X-Curviate-Beta` header.
|
|
32522
32662
|
*/
|
|
32523
32663
|
updateProject(projectId: string, body: RecruiterUpdateProjectBody): Promise<RecruiterUpdateProjectResult>;
|
|
32524
32664
|
/**
|
|
@@ -32526,35 +32666,59 @@ declare class RecruiterResource {
|
|
|
32526
32666
|
* an all-optional filter set, no state mutates). `limit`/`cursor` stay
|
|
32527
32667
|
* TOP-LEVEL query params.
|
|
32528
32668
|
* `POST /v1/{account_id}/recruiter/projects/{project_id}/pipeline`
|
|
32669
|
+
*
|
|
32670
|
+
* @beta Beta operation. See the namespace note above: while beta-gated it
|
|
32671
|
+
* refuses `BETA_NOT_ENABLED` (403) until a human enables beta in Settings,
|
|
32672
|
+
* or the request carries the `X-Curviate-Beta` header.
|
|
32529
32673
|
*/
|
|
32530
32674
|
listPipeline(projectId: string, body?: RecruiterListPipelineBody, params?: Partial<RecruiterListPipelineQuery>): Promise<RecruiterListPipelineResult>;
|
|
32531
32675
|
/**
|
|
32532
32676
|
* Get the single job posting attached to a Recruiter project (the surface
|
|
32533
32677
|
* returns one posting, not a list; a project with no attached job 404s).
|
|
32534
32678
|
* `GET /v1/{account_id}/recruiter/projects/{project_id}/jobs`
|
|
32679
|
+
*
|
|
32680
|
+
* @beta Beta operation. See the namespace note above: while beta-gated it
|
|
32681
|
+
* refuses `BETA_NOT_ENABLED` (403) until a human enables beta in Settings,
|
|
32682
|
+
* or the request carries the `X-Curviate-Beta` header.
|
|
32535
32683
|
*/
|
|
32536
32684
|
getProjectJob(projectId: string): Promise<RecruiterProjectJob>;
|
|
32537
32685
|
/**
|
|
32538
32686
|
* Create a job-posting DRAFT attached to an EXISTING project, `project_name`
|
|
32539
32687
|
* is not accepted (the project comes from the path). Never publishes, never
|
|
32540
32688
|
* spends money. `POST /v1/{account_id}/recruiter/projects/{project_id}/jobs`
|
|
32689
|
+
*
|
|
32690
|
+
* @beta Beta operation. See the namespace note above: while beta-gated it
|
|
32691
|
+
* refuses `BETA_NOT_ENABLED` (403) until a human enables beta in Settings,
|
|
32692
|
+
* or the request carries the `X-Curviate-Beta` header.
|
|
32541
32693
|
*/
|
|
32542
32694
|
createProjectJob(projectId: string, body: RecruiterCreateProjectJobBody): Promise<RecruiterCreateProjectJobResult>;
|
|
32543
32695
|
/**
|
|
32544
32696
|
* Get pricing to publish a project's job posting; price a publish before
|
|
32545
32697
|
* committing any money.
|
|
32546
32698
|
* `GET /v1/{account_id}/recruiter/projects/{project_id}/jobs/{job_id}/budget`
|
|
32699
|
+
*
|
|
32700
|
+
* @beta Beta operation. See the namespace note above: while beta-gated it
|
|
32701
|
+
* refuses `BETA_NOT_ENABLED` (403) until a human enables beta in Settings,
|
|
32702
|
+
* or the request carries the `X-Curviate-Beta` header.
|
|
32547
32703
|
*/
|
|
32548
32704
|
getProjectJobBudget(projectId: string, jobId: string): Promise<RecruiterProjectJobBudget>;
|
|
32549
32705
|
/**
|
|
32550
32706
|
* Create a job-posting DRAFT together with a brand-new hiring project,
|
|
32551
32707
|
* `project_name` is REQUIRED; `description` must be >= 200 characters. Never
|
|
32552
32708
|
* publishes, never spends money. `POST /v1/{account_id}/recruiter/jobs`
|
|
32709
|
+
*
|
|
32710
|
+
* @beta Beta operation. See the namespace note above: while beta-gated it
|
|
32711
|
+
* refuses `BETA_NOT_ENABLED` (403) until a human enables beta in Settings,
|
|
32712
|
+
* or the request carries the `X-Curviate-Beta` header.
|
|
32553
32713
|
*/
|
|
32554
32714
|
createJob(body: RecruiterCreateJobBody): Promise<RecruiterCreateJobResult>;
|
|
32555
32715
|
/**
|
|
32556
32716
|
* List Recruiter job postings. `limit`/`cursor` stay TOP-LEVEL query params.
|
|
32557
32717
|
* `GET /v1/{account_id}/recruiter/jobs`
|
|
32718
|
+
*
|
|
32719
|
+
* @beta Beta operation. See the namespace note above: while beta-gated it
|
|
32720
|
+
* refuses `BETA_NOT_ENABLED` (403) until a human enables beta in Settings,
|
|
32721
|
+
* or the request carries the `X-Curviate-Beta` header.
|
|
32558
32722
|
*/
|
|
32559
32723
|
listJobs(params?: Partial<RecruiterListJobsQuery>): Promise<RecruiterListJobsResult>;
|
|
32560
32724
|
/**
|
|
@@ -32567,6 +32731,10 @@ declare class RecruiterResource {
|
|
|
32567
32731
|
* client-side; the wire request always carries the numeric id. Throws
|
|
32568
32732
|
* `CurviateError({ code: 'INVALID_REQUEST' })` synchronously if neither
|
|
32569
32733
|
* form can be recognized.
|
|
32734
|
+
*
|
|
32735
|
+
* @beta Beta operation. See the namespace note above: while beta-gated it
|
|
32736
|
+
* refuses `BETA_NOT_ENABLED` (403) until a human enables beta in Settings,
|
|
32737
|
+
* or the request carries the `X-Curviate-Beta` header.
|
|
32570
32738
|
*/
|
|
32571
32739
|
getJob(jobIdOrUrl: string): Promise<RecruiterJobDetail>;
|
|
32572
32740
|
/**
|
|
@@ -32574,6 +32742,10 @@ declare class RecruiterResource {
|
|
|
32574
32742
|
* change. MONEY WARNING: editing an already-published (LISTED) posting
|
|
32575
32743
|
* mutates a live, money-spending listing.
|
|
32576
32744
|
* `PATCH /v1/{account_id}/recruiter/projects/{project_id}/jobs/{job_id}`
|
|
32745
|
+
*
|
|
32746
|
+
* @beta Beta operation. See the namespace note above: while beta-gated it
|
|
32747
|
+
* refuses `BETA_NOT_ENABLED` (403) until a human enables beta in Settings,
|
|
32748
|
+
* or the request carries the `X-Curviate-Beta` header.
|
|
32577
32749
|
*/
|
|
32578
32750
|
updateProjectJob(projectId: string, jobId: string, body: RecruiterUpdateProjectJobBody): Promise<RecruiterUpdateProjectJobResult>;
|
|
32579
32751
|
/**
|
|
@@ -32583,6 +32755,10 @@ declare class RecruiterResource {
|
|
|
32583
32755
|
* the connected account's LinkedIn payment method; supplying `budget` IS the
|
|
32584
32756
|
* explicit opt-in).
|
|
32585
32757
|
* `POST /v1/{account_id}/recruiter/projects/{project_id}/jobs/{job_id}/publish`
|
|
32758
|
+
*
|
|
32759
|
+
* @beta Beta operation. See the namespace note above: while beta-gated it
|
|
32760
|
+
* refuses `BETA_NOT_ENABLED` (403) until a human enables beta in Settings,
|
|
32761
|
+
* or the request carries the `X-Curviate-Beta` header.
|
|
32586
32762
|
*/
|
|
32587
32763
|
publishJob(projectId: string, jobId: string, body: RecruiterPublishJobBody): Promise<RecruiterPublishJobResult>;
|
|
32588
32764
|
/**
|
|
@@ -32590,12 +32766,20 @@ declare class RecruiterResource {
|
|
|
32590
32766
|
* (bodyless). Closing an already-published (LISTED) posting cannot be
|
|
32591
32767
|
* undone; there is no re-open operation.
|
|
32592
32768
|
* `POST /v1/{account_id}/recruiter/projects/{project_id}/jobs/{job_id}/close`
|
|
32769
|
+
*
|
|
32770
|
+
* @beta Beta operation. See the namespace note above: while beta-gated it
|
|
32771
|
+
* refuses `BETA_NOT_ENABLED` (403) until a human enables beta in Settings,
|
|
32772
|
+
* or the request carries the `X-Curviate-Beta` header.
|
|
32593
32773
|
*/
|
|
32594
32774
|
closeJob(projectId: string, jobId: string): Promise<RecruiterCloseJobResult>;
|
|
32595
32775
|
/**
|
|
32596
32776
|
* Save a candidate (or user profile) to a project's pipeline at the given
|
|
32597
32777
|
* stage, the sole surviving pipeline write.
|
|
32598
32778
|
* `POST /v1/{account_id}/recruiter/projects/{project_id}/pipeline/candidate/save`
|
|
32779
|
+
*
|
|
32780
|
+
* @beta Beta operation. See the namespace note above: while beta-gated it
|
|
32781
|
+
* refuses `BETA_NOT_ENABLED` (403) until a human enables beta in Settings,
|
|
32782
|
+
* or the request carries the `X-Curviate-Beta` header.
|
|
32599
32783
|
*/
|
|
32600
32784
|
saveCandidate(projectId: string, body: RecruiterSaveCandidateBody): Promise<RecruiterSaveCandidateResult>;
|
|
32601
32785
|
/**
|
|
@@ -32603,17 +32787,29 @@ declare class RecruiterResource {
|
|
|
32603
32787
|
* filters, no state mutates). `channel_id` (a `JOB_POSTING` talent-pool
|
|
32604
32788
|
* channel) is REQUIRED. `limit`/`cursor` stay TOP-LEVEL query params.
|
|
32605
32789
|
* `POST /v1/{account_id}/recruiter/projects/{project_id}/talent-pool/applicants`
|
|
32790
|
+
*
|
|
32791
|
+
* @beta Beta operation. See the namespace note above: while beta-gated it
|
|
32792
|
+
* refuses `BETA_NOT_ENABLED` (403) until a human enables beta in Settings,
|
|
32793
|
+
* or the request carries the `X-Curviate-Beta` header.
|
|
32606
32794
|
*/
|
|
32607
32795
|
listApplicants(projectId: string, body: RecruiterListApplicantsBody, params?: Partial<RecruiterListApplicantsQuery>): Promise<RecruiterListApplicantsResult>;
|
|
32608
32796
|
/**
|
|
32609
32797
|
* Get full detail for one talent-pool applicant (profile guaranteed full,
|
|
32610
32798
|
* includes PII). `GET /v1/{account_id}/recruiter/projects/{project_id}/talent-pool/applicants/{applicant_id}`
|
|
32799
|
+
*
|
|
32800
|
+
* @beta Beta operation. See the namespace note above: while beta-gated it
|
|
32801
|
+
* refuses `BETA_NOT_ENABLED` (403) until a human enables beta in Settings,
|
|
32802
|
+
* or the request carries the `X-Curviate-Beta` header.
|
|
32611
32803
|
*/
|
|
32612
32804
|
getApplicant(projectId: string, applicantId: string): Promise<RecruiterGetApplicantResult>;
|
|
32613
32805
|
/**
|
|
32614
32806
|
* Download a talent-pool applicant's résumé as raw binary.
|
|
32615
32807
|
* `GET /v1/{account_id}/recruiter/projects/{project_id}/talent-pool/applicants/{applicant_id}/resume`
|
|
32616
32808
|
* Returns `ArrayBuffer`; the SDK does not cache or store it.
|
|
32809
|
+
*
|
|
32810
|
+
* @beta Beta operation. See the namespace note above: while beta-gated it
|
|
32811
|
+
* refuses `BETA_NOT_ENABLED` (403) until a human enables beta in Settings,
|
|
32812
|
+
* or the request carries the `X-Curviate-Beta` header.
|
|
32617
32813
|
*/
|
|
32618
32814
|
downloadResume(projectId: string, applicantId: string): Promise<ArrayBuffer>;
|
|
32619
32815
|
}
|
|
@@ -32879,6 +33075,11 @@ declare class CompaniesResource {
|
|
|
32879
33075
|
* never stored. Beta: single-page listing and termination are verified;
|
|
32880
33076
|
* deep pagination (many pages / large cursor round-trips) is provisional
|
|
32881
33077
|
* until validated against a busier inbox.
|
|
33078
|
+
*
|
|
33079
|
+
* @beta Beta operation. While beta-gated it refuses `BETA_NOT_ENABLED`
|
|
33080
|
+
* (403) until a human enables beta in Settings, or the request carries the
|
|
33081
|
+
* `X-Curviate-Beta` header. Sibling methods on this namespace are stable;
|
|
33082
|
+
* the badge is per operation.
|
|
32882
33083
|
*/
|
|
32883
33084
|
chats(identifier: string, params?: CompanyChatListQuery): Promise<CompanyChatListPage>;
|
|
32884
33085
|
/**
|
|
@@ -32911,6 +33112,11 @@ declare class CompaniesResource {
|
|
|
32911
33112
|
* and message content), a `topic` card, or `unread`-only; the three are
|
|
32912
33113
|
* mutually exclusive and enforced server-side. The connected account must
|
|
32913
33114
|
* administer the page. Beta: see `chats()`.
|
|
33115
|
+
*
|
|
33116
|
+
* @beta Beta operation. While beta-gated it refuses `BETA_NOT_ENABLED`
|
|
33117
|
+
* (403) until a human enables beta in Settings, or the request carries the
|
|
33118
|
+
* `X-Curviate-Beta` header. Sibling methods on this namespace are stable;
|
|
33119
|
+
* the badge is per operation.
|
|
32914
33120
|
*/
|
|
32915
33121
|
searchChats(identifier: string, params?: CompanyChatSearchQuery): Promise<CompanyChatSearchPage>;
|
|
32916
33122
|
/**
|
|
@@ -33135,13 +33341,41 @@ declare class Curviate {
|
|
|
33135
33341
|
* This mirrors the server's error taxonomy (the customer-observable subset).
|
|
33136
33342
|
* The string literals are copied here intentionally; the SDK has no dependency
|
|
33137
33343
|
* on any private package. Internal-only codes that never reach a caller (e.g.
|
|
33138
|
-
* `BANNED_ENV_PREFIX`,
|
|
33139
|
-
*
|
|
33344
|
+
* `BANNED_ENV_PREFIX`, protected-account and substrate-internal codes) are
|
|
33345
|
+
* deliberately excluded.
|
|
33346
|
+
*
|
|
33347
|
+
* The test for "does a caller ever see it" is the DECODE PATH, not intuition:
|
|
33348
|
+
* a code returned by any `/v1` route, the `/v1` catch-all, or a shared handler
|
|
33349
|
+
* one of them calls reaches this transport, and anything missing from this
|
|
33350
|
+
* array is erased to `INTERNAL` on the way out. Twenty-one codes were in that
|
|
33351
|
+
* position and are now carried (see the block at the end of the array).
|
|
33352
|
+
* `ADMIN_BYPASS` was even cited here as an example of an unreachable code
|
|
33353
|
+
* while being constructed at nine sites inside the versioned billing
|
|
33354
|
+
* endpoints, which is exactly the mistake the decode-path test avoids.
|
|
33355
|
+
*
|
|
33356
|
+
* What remains excluded are codes with no request to answer at all: the
|
|
33357
|
+
* boot-time environment refusal (`BANNED_ENV_PREFIX`, raised before the
|
|
33358
|
+
* process serves anything) and the browser-approval exchange the CLI's own
|
|
33359
|
+
* `setup` command consumes directly, which is not on the documented REST
|
|
33360
|
+
* surface and no SDK method reaches.
|
|
33361
|
+
*
|
|
33362
|
+
* The taxonomy tracks what deployments can actually emit, which is not the same
|
|
33363
|
+
* as what the newest one emits. A code the API has stopped returning is removed
|
|
33364
|
+
* eventually, because a dead code in the union tells a caller to branch on
|
|
33365
|
+
* something that cannot arrive, but not in the release that stops returning
|
|
33366
|
+
* it, because a client is pointed at a deployment, not at a changelog. Removing
|
|
33367
|
+
* a code the caller's deployment still sends is worse than carrying a dead one:
|
|
33368
|
+
* the refusal arrives as `INTERNAL` and reads as a server fault.
|
|
33140
33369
|
*
|
|
33141
|
-
*
|
|
33142
|
-
*
|
|
33370
|
+
* So a retirement is two steps. First `@deprecated`, kept exported, with the
|
|
33371
|
+
* replacement named. Then removed, in the first release after every deployment
|
|
33372
|
+
* carries the new contract. `TIER_NOT_ACTIVE` and `PREMIUM_CONFLICT` took step
|
|
33373
|
+
* one in 0.30.0 and step two in 0.31.0.
|
|
33374
|
+
*
|
|
33375
|
+
* A code the API NEVER emitted is a different case and goes immediately, since
|
|
33376
|
+
* no deployment can be sending it: `RATE_LIMITED` went that way in 0.30.0.
|
|
33143
33377
|
*/
|
|
33144
|
-
declare const ERROR_CODES: readonly ["UNAUTHORIZED", "INVALID_REQUEST", "UNSUPPORTED_MEDIA_TYPE", "PAYLOAD_TOO_LARGE", "ACCOUNT_NOT_FOUND", "ACCOUNT_RESTRICTED", "ACCOUNT_ALREADY_LINKED", "RESOURCE_NOT_FOUND", "NOT_STORED", "RESOURCE_ACCESS_RESTRICTED", "FILTER_CANDIDATES_REQUIRED", "
|
|
33378
|
+
declare const ERROR_CODES: readonly ["UNAUTHORIZED", "INVALID_REQUEST", "UNSUPPORTED_MEDIA_TYPE", "PAYLOAD_TOO_LARGE", "ACCOUNT_NOT_FOUND", "ACCOUNT_RESTRICTED", "ACCOUNT_ALREADY_LINKED", "RESOURCE_NOT_FOUND", "NOT_STORED", "RESOURCE_ACCESS_RESTRICTED", "FILTER_CANDIDATES_REQUIRED", "NO_ACTIVE_SEAT", "LINKEDIN_FEATURE_NOT_SUBSCRIBED", "BETA_NOT_ENABLED", "RATE_LIMIT_ACCOUNT", "RATE_LIMIT_TENANT", "PLATFORM_RATE_LIMIT", "BUDGET_EXHAUSTED", "PLATFORM_ERROR", "PLATFORM_NOT_IMPLEMENTED", "LINKEDIN_OPERATION_NOT_SUPPORTED", "CHECKPOINT_NOT_FOUND", "CHECKPOINT_EXPIRED", "CHECKPOINT_INVALID_CODE", "CHECKPOINT_MAX_ATTEMPTS", "CHECKPOINT_ALREADY_RESOLVED", "CHECKPOINT_UNSUPPORTED", "CONNECTION_IN_PROGRESS", "REAUTH_REQUIRED", "LINKEDIN_AUTH_FAILED", "LINKEDIN_SESSION_EVICTED", "LINKEDIN_RATE_LIMITED", "LINKEDIN_COOKIE_INVALID", "LINKEDIN_SERVICE_UNAVAILABLE", "MESSAGE_WINDOW_EXPIRED", "RECIPIENT_UNREACHABLE", "CONNECTION_REQUEST_CONFLICT", "PAYMENT_REQUIRED", "PAYMENT_FAILED", "SUBSCRIPTION_BUSY", "SUBSCRIPTION_NOT_FOUND", "SEAT_NOT_FOUND", "SEAT_CANCELLED", "NOT_FOUND", "REACTION_NOT_FOUND", "SUBSTRATE_LINK_FAILED", "SUBSTRATE_CAP_REACHED", "BILLING_CHECKOUT_FAILED", "BILLING_PORTAL_UNAVAILABLE", "ACCOUNT_DISPUTED", "ACCOUNT_LINKING_DISABLED", "PERIOD_LOCKED", "SEAT_NOT_EMPTY", "SEAT_PROVISIONAL", "SUBSCRIPTION_ALREADY_EXISTS", "ALREADY_CANCELLED", "CANCELLATION_ALREADY_EFFECTIVE", "INVALID_CANCELLATION_SOURCE", "TRIAL_EXPIRED", "TRIAL_SEAT_LIMIT", "TRIAL_ACTIVE_SEAT_LIMIT", "TRIAL_IDENTITY_ALREADY_USED", "TRIAL_IDENTITY_UNRESOLVED", "ADMIN_BYPASS", "STRIPE_DRIFT_DETECTED", "INTERNAL"];
|
|
33145
33379
|
/**
|
|
33146
33380
|
* The complete set of error codes observable by API callers.
|
|
33147
33381
|
*
|
|
@@ -33149,24 +33383,6 @@ declare const ERROR_CODES: readonly ["UNAUTHORIZED", "INVALID_REQUEST", "UNSUPPO
|
|
|
33149
33383
|
* `switch (error.code)` without fear of unknown codes.
|
|
33150
33384
|
*/
|
|
33151
33385
|
type ErrorCode = (typeof ERROR_CODES)[number];
|
|
33152
|
-
/**
|
|
33153
|
-
* The tiers a caller can be asked to upgrade to, surfaced on `TIER_NOT_ACTIVE`.
|
|
33154
|
-
* `sn` and `sales_nav` are both emitted by the API (internal flag key vs.
|
|
33155
|
-
* product-facing label).
|
|
33156
|
-
*
|
|
33157
|
-
* Single source of truth, mirroring {@link ERROR_CODES}: both the
|
|
33158
|
-
* {@link RequiredTier} type and the runtime {@link KNOWN_REQUIRED_TIERS}
|
|
33159
|
-
* membership set are derived from this one array, so the type a caller
|
|
33160
|
-
* narrows on and the set the transport validates a wire value against can
|
|
33161
|
-
* never drift apart.
|
|
33162
|
-
*/
|
|
33163
|
-
declare const REQUIRED_TIERS: readonly ["core", "sn", "sales_nav", "recruiter"];
|
|
33164
|
-
/**
|
|
33165
|
-
* The product tier a caller needs, surfaced on `TIER_NOT_ACTIVE` so an agent
|
|
33166
|
-
* can route an upgrade without parsing the message. `sn` and `sales_nav` are
|
|
33167
|
-
* both emitted by the API (internal flag key vs. product-facing label).
|
|
33168
|
-
*/
|
|
33169
|
-
type RequiredTier = (typeof REQUIRED_TIERS)[number];
|
|
33170
33386
|
/** Structured retry guidance attached to retryable errors. */
|
|
33171
33387
|
interface RetryHint {
|
|
33172
33388
|
kind: "delay" | "backoff" | "never";
|
|
@@ -33207,8 +33423,6 @@ interface CurviateErrorInit {
|
|
|
33207
33423
|
retryHint?: RetryHint | null;
|
|
33208
33424
|
userFixable: boolean;
|
|
33209
33425
|
retryLikelyToSucceed: boolean;
|
|
33210
|
-
/** Present on `TIER_NOT_ACTIVE` only. */
|
|
33211
|
-
requiredTier?: RequiredTier;
|
|
33212
33426
|
/** Milliseconds to wait before retry, parsed from the `Retry-After` response header. */
|
|
33213
33427
|
retryAfterMs?: number;
|
|
33214
33428
|
/**
|
|
@@ -33281,7 +33495,6 @@ interface CurviateErrorJSON {
|
|
|
33281
33495
|
retryHint: RetryHint | null;
|
|
33282
33496
|
userFixable: boolean;
|
|
33283
33497
|
retryLikelyToSucceed: boolean;
|
|
33284
|
-
requiredTier?: RequiredTier;
|
|
33285
33498
|
retryAfterMs?: number;
|
|
33286
33499
|
budgetRow?: string;
|
|
33287
33500
|
retryAfterSeconds?: number;
|
|
@@ -33309,7 +33522,6 @@ declare class CurviateError extends Error {
|
|
|
33309
33522
|
readonly retryHint: RetryHint | null;
|
|
33310
33523
|
readonly userFixable: boolean;
|
|
33311
33524
|
readonly retryLikelyToSucceed: boolean;
|
|
33312
|
-
readonly requiredTier: RequiredTier | undefined;
|
|
33313
33525
|
readonly retryAfterMs: number | undefined;
|
|
33314
33526
|
/** The budget row this response names. See {@link CurviateErrorInit.budgetRow}. */
|
|
33315
33527
|
readonly budgetRow: string | undefined;
|
|
@@ -33619,4 +33831,4 @@ interface ConstructEventOptions {
|
|
|
33619
33831
|
*/
|
|
33620
33832
|
declare function constructEvent(rawBody: string | Buffer, signatureHeader: string, secret: string, opts?: ConstructEventOptions): Promise<CurviateEvent>;
|
|
33621
33833
|
|
|
33622
|
-
export { type AccountListPage, type AccountListParams, type AccountPayload, type AccountScopedNamespaces, type ConnectionPayload, type ConstructEventOptions, Curviate, type CurviateConfig, CurviateError, type CurviateErrorInit, type CurviateErrorJSON, type CurviateEvent, type CurviateEventEnvelope, ERROR_CODES, type ErrorCode, type EventPayloadBase, type MessagePayload, type
|
|
33834
|
+
export { type AccountListPage, type AccountListParams, type AccountPayload, type AccountScopedNamespaces, type ConnectionPayload, type ConstructEventOptions, Curviate, type CurviateConfig, CurviateError, type CurviateErrorInit, type CurviateErrorJSON, type CurviateEvent, type CurviateEventEnvelope, ERROR_CODES, type ErrorCode, type EventPayloadBase, type MessagePayload, type ResolvedConfig, type ResourceNamespaces, type RetryHint, type SafetyHint, type SafetyReason, WebhookSignatureError, type components, constructEvent, isCurviateError, type operations, type paths };
|