@curviate/sdk 0.4.2 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,39 @@ Versioning: semantic — minor for additive changes, patch for bug fixes; no sta
7
7
 
8
8
  ---
9
9
 
10
+ ## [0.6.0] — 2026-07-01
11
+
12
+ ### Added
13
+
14
+ - **Recruiter start-chat response gains `object: "chat_started"` discriminator.** The 201 response from `recruiter.startChat` now includes `object: "chat_started"` as a required field. Type: `RecruiterStartChatResult`.
15
+
16
+ ### Changed
17
+
18
+ - **Breaking (typed consumers):** `salesNavigator.syncMessages` and `recruiter.syncMessages` — the 200 response field `sync_status` is renamed to `status`. Enum values (`sync_started | running | done | error`) are unchanged. Types: `SNSyncMessagesResult`, `RecruiterSyncMessagesResult`.
19
+ - **Breaking (typed consumers):** `recruiter.startChat` request body field `attendee_ids` → `attendees_ids`. The **response** `attendee_ids` field is unchanged. Type: `RecruiterStartChatBody`.
20
+ - Recruiter start-chat 201 response no longer surfaces a separate `quota` field — remaining InMail capacity is read from `GET /v1/accounts/{account_id}`.
21
+ - Regenerated types from the updated API surface (SN/Recruiter messaging parity).
22
+
23
+ ---
24
+
25
+ ## [0.5.0] — 2026-07-01
26
+
27
+ ### Added
28
+
29
+ - Posts search gains nested `posted_by`, `mentioning`, and `author` filter objects. `posted_by` and `mentioning` take `member` / `company` arrays of opaque IDs (from `GET /v1/search/parameters`); `posted_by` also accepts `me`, `first_connections`, and `people_you_follow` booleans; `author` filters by `industry`, `company`, or `keywords`.
30
+ - Search-parameters items (`GET /v1/search/parameters`) now carry nullable company-disambiguation fields — `industry`, `location`, `headcount` (human-readable size range), and `followers_count` — populated only for `type=COMPANY` results.
31
+
32
+ ### Changed
33
+
34
+ - **Breaking (typed consumers):** people-search `connections_of` and `followers_of` are now arrays of opaque member IDs (`string[]`) instead of a single `string`. Pass one or more IDs resolved from `GET /v1/search/parameters`.
35
+ - **Breaking (typed consumers):** posts-search replaces the flat `member_urn` / `company_urn` filters with the nested `posted_by` / `mentioning` / `author` objects described above.
36
+ - **Breaking (typed consumers):** jobs-search `location_within_area` is now a `number` (search radius in miles) instead of a `string`.
37
+ - Company-size (`headcount`) bucket bounds are documented with their explicit valid values.
38
+ - De-branded the four search method summaries in the SDK JSDoc (`Search people/companies/posts/jobs`).
39
+ - Regenerated types from the current API surface.
40
+
41
+ ---
42
+
10
43
  ## [0.4.2] — 2026-07-01
11
44
 
12
45
  ### Added
package/dist/index.d.ts CHANGED
@@ -9502,7 +9502,7 @@ interface paths {
9502
9502
  };
9503
9503
  /**
9504
9504
  * Re-sync messages (Recruiter)
9505
- * @description Trigger (or, on a repeat call, monitor) a full or windowed re-sync of the account's Recruiter message history. Returns a sync_status (200). No message content is returned or persisted. Requires a Recruiter seat.
9505
+ * @description Trigger (or, on a repeat call, monitor) a full or windowed re-sync of the account's Recruiter message history. Returns a status (200). No message content is returned or persisted. Requires a Recruiter seat.
9506
9506
  */
9507
9507
  get: {
9508
9508
  parameters: {
@@ -9540,7 +9540,7 @@ interface paths {
9540
9540
  object?: "account_sync";
9541
9541
  account_id?: string;
9542
9542
  /** @enum {string} */
9543
- sync_status?: "sync_started" | "running" | "done" | "error";
9543
+ status?: "sync_started" | "running" | "done" | "error";
9544
9544
  };
9545
9545
  };
9546
9546
  };
@@ -9673,7 +9673,7 @@ interface paths {
9673
9673
  /** @description The operator account ID whose Recruiter session starts the chat. */
9674
9674
  account_id: string;
9675
9675
  /** @description One or more Recruiter member IDs (AE… format). Repeatable form field or a single value. */
9676
- attendee_ids: string[];
9676
+ attendees_ids: string[];
9677
9677
  /** @description Opening message text. Passed to the platform and discarded — never stored or logged. */
9678
9678
  text: string;
9679
9679
  /** @description Optional InMail subject line. */
@@ -9736,23 +9736,7 @@ interface paths {
9736
9736
  };
9737
9737
  };
9738
9738
  responses: {
9739
- /** @description Recruiter chat created successfully. */
9740
- 200: {
9741
- headers: {
9742
- "RateLimit-Policy": components["headers"]["RateLimit-Policy"];
9743
- RateLimit: components["headers"]["RateLimit"];
9744
- [name: string]: unknown;
9745
- };
9746
- content: {
9747
- "application/json": {
9748
- /** @description The chat identifier. */
9749
- chat_id: string | null;
9750
- /** @description The Recruiter member IDs. */
9751
- attendee_ids: string[];
9752
- };
9753
- };
9754
- };
9755
- /** @description Recruiter chat started. Returns the chat_id and the attendee_ids. Message content is never echoed back. The InMail daily quota is consumed; remaining capacity is read from GET /v1/accounts/{account_id}. Requires a Recruiter seat. */
9739
+ /** @description Recruiter chat started. Returns the object discriminator, the chat_id, and the attendee_ids. Message content is never echoed back. The InMail daily quota is consumed; remaining capacity is read from GET /v1/accounts/{account_id}, never echoed here. Requires a Recruiter seat. */
9756
9740
  201: {
9757
9741
  headers: {
9758
9742
  "RateLimit-Policy": components["headers"]["RateLimit-Policy"];
@@ -9761,6 +9745,11 @@ interface paths {
9761
9745
  };
9762
9746
  content: {
9763
9747
  "application/json": {
9748
+ /**
9749
+ * @description Response type discriminator.
9750
+ * @enum {string}
9751
+ */
9752
+ object: "chat_started";
9764
9753
  /** @description The newly created chat's identifier. */
9765
9754
  chat_id: string | null;
9766
9755
  /** @description The Recruiter member IDs the chat was started with. */
@@ -11487,7 +11476,7 @@ interface paths {
11487
11476
  };
11488
11477
  /**
11489
11478
  * Re-sync messages (Sales Navigator)
11490
- * @description Trigger (or monitor) a full or windowed re-sync of the account's Sales Navigator message history. Returns a sync_status (200). No message content is returned or persisted. Requires a Sales Navigator seat.
11479
+ * @description Trigger (or monitor) a full or windowed re-sync of the account's Sales Navigator message history. Returns a status (200). No message content is returned or persisted. Requires a Sales Navigator seat.
11491
11480
  */
11492
11481
  get: {
11493
11482
  parameters: {
@@ -11525,7 +11514,7 @@ interface paths {
11525
11514
  object?: "account_sync";
11526
11515
  account_id?: string;
11527
11516
  /** @enum {string} */
11528
- sync_status?: "sync_started" | "running" | "done" | "error";
11517
+ status?: "sync_started" | "running" | "done" | "error";
11529
11518
  };
11530
11519
  };
11531
11520
  };
@@ -13077,6 +13066,14 @@ interface paths {
13077
13066
  title: string;
13078
13067
  /** @description Optional image URL for this filter value (e.g. company logo). Present when available. */
13079
13068
  picture_url?: string;
13069
+ /** @description Industry the company operates in. Present (nullable) only for type=COMPANY, to disambiguate same-named companies. */
13070
+ industry?: string | null;
13071
+ /** @description Company follower count. Present (nullable) only for type=COMPANY. */
13072
+ followers_count?: number | null;
13073
+ /** @description Human-readable company size range (e.g. '51-200'). Present (nullable) only for type=COMPANY. */
13074
+ headcount?: string | null;
13075
+ /** @description Company headquarters location. Present (nullable) only for type=COMPANY. */
13076
+ location?: string | null;
13080
13077
  }[];
13081
13078
  /** @description Paging metadata. */
13082
13079
  paging: {
@@ -13190,7 +13187,7 @@ interface paths {
13190
13187
  get?: never;
13191
13188
  put?: never;
13192
13189
  /**
13193
- * Search LinkedIn people
13190
+ * Search people
13194
13191
  * @description Searches LinkedIn profiles using structured filters or a pasted LinkedIn search URL. The two modes are mutually exclusive: supply either url or structured filters, not both. account_id and pagination live in query params; filters in the request body.
13195
13192
  */
13196
13193
  post: {
@@ -13239,10 +13236,10 @@ interface paths {
13239
13236
  school?: string[];
13240
13237
  /** @description Opaque service IDs from GET /v1/search/parameters?type=SERVICE. */
13241
13238
  service?: string[];
13242
- /** @description Filter to connections of a specific member URN. */
13243
- connections_of?: string;
13244
- /** @description Filter to followers of a specific member URN. */
13245
- followers_of?: string;
13239
+ /** @description Filter to connections of the given members. Array of opaque member IDs from GET /v1/search/parameters?type=CONNECTIONS. */
13240
+ connections_of?: string[];
13241
+ /** @description Filter to followers of the given members. Array of opaque member IDs from GET /v1/search/parameters?type=PEOPLE. */
13242
+ followers_of?: string[];
13246
13243
  /** @description Filter by network distance: 1 = 1st degree, 2 = 2nd degree, 3 = 3rd degree. */
13247
13244
  network_distance?: (1 | 2 | 3)[];
13248
13245
  /** @description Filter by profile language codes. */
@@ -13468,7 +13465,7 @@ interface paths {
13468
13465
  get?: never;
13469
13466
  put?: never;
13470
13467
  /**
13471
- * Search LinkedIn companies
13468
+ * Search companies
13472
13469
  * @description Searches LinkedIn companies using structured filters or a pasted LinkedIn search URL. The two modes are mutually exclusive. No company description or tagline is returned.
13473
13470
  */
13474
13471
  post: {
@@ -13500,9 +13497,9 @@ interface paths {
13500
13497
  has_job_offers?: boolean;
13501
13498
  /** @description Filter by company size buckets. Each entry is a { min, max } object (e.g. { min: 51, max: 200 }). */
13502
13499
  headcount?: {
13503
- /** @description Minimum headcount for this bucket. */
13500
+ /** @description Lower bound of a company-size bucket. Valid values: 1, 11, 51, 201, 501, 1001, 5001, 10001. */
13504
13501
  min: number;
13505
- /** @description Maximum headcount for this bucket. */
13502
+ /** @description Upper bound of a company-size bucket. Valid values: 1, 10, 50, 200, 500, 1000, 5000, 10000. */
13506
13503
  max: number;
13507
13504
  }[];
13508
13505
  /** @description Filter by network distance: 1 = 1st degree, 2 = 2nd degree, 3 = 3rd degree. */
@@ -13672,7 +13669,7 @@ interface paths {
13672
13669
  get?: never;
13673
13670
  put?: never;
13674
13671
  /**
13675
- * Search LinkedIn posts
13672
+ * Search posts
13676
13673
  * @description Searches LinkedIn posts using structured filters or a pasted LinkedIn search URL. The two modes are mutually exclusive. Post body text is never returned — results carry the post URN and engagement metadata only.
13677
13674
  */
13678
13675
  post: {
@@ -13711,22 +13708,34 @@ interface paths {
13711
13708
  * @enum {string}
13712
13709
  */
13713
13710
  content_type?: "videos" | "images" | "live_videos" | "collaborative_articles" | "documents";
13714
- /** @description Filter to posts by a specific member. */
13711
+ /** @description Filter to posts by specific authors (members, companies, yourself, connections, or people you follow). */
13715
13712
  posted_by?: {
13716
- /** @description LinkedIn member URN (e.g. urn:li:member:123). */
13717
- member_urn?: string;
13718
- };
13719
- /** @description Filter to posts mentioning a specific member. */
13713
+ /** @description Opaque member IDs from GET /v1/search/parameters?type=PEOPLE. */
13714
+ member?: string[];
13715
+ /** @description Opaque company IDs from GET /v1/search/parameters?type=COMPANY. */
13716
+ company?: string[];
13717
+ /** @description Restrict to your own posts. */
13718
+ me?: boolean;
13719
+ /** @description Restrict to posts by your 1st-degree connections. */
13720
+ first_connections?: boolean;
13721
+ /** @description Restrict to posts by people you follow. */
13722
+ people_you_follow?: boolean;
13723
+ };
13724
+ /** @description Filter to posts mentioning specific members or companies. */
13720
13725
  mentioning?: {
13721
- /** @description LinkedIn member URN (e.g. urn:li:member:123). */
13722
- member_urn?: string;
13726
+ /** @description Opaque member IDs from GET /v1/search/parameters?type=PEOPLE. */
13727
+ member?: string[];
13728
+ /** @description Opaque company IDs from GET /v1/search/parameters?type=COMPANY. */
13729
+ company?: string[];
13723
13730
  };
13724
- /** @description Filter to posts from a specific author (company or member). */
13731
+ /** @description Filter to posts by author attributes (industry, company, or keywords). */
13725
13732
  author?: {
13726
- /** @description LinkedIn organization URN (e.g. urn:li:organization:456). */
13727
- company_urn?: string;
13728
- /** @description LinkedIn member URN (e.g. urn:li:member:123). */
13729
- member_urn?: string;
13733
+ /** @description Opaque industry IDs from GET /v1/search/parameters?type=INDUSTRY. */
13734
+ industry?: string[];
13735
+ /** @description Opaque company IDs from GET /v1/search/parameters?type=COMPANY. */
13736
+ company?: string[];
13737
+ /** @description Free-text keyword match on the author. */
13738
+ keywords?: string;
13730
13739
  };
13731
13740
  };
13732
13741
  };
@@ -13940,7 +13949,7 @@ interface paths {
13940
13949
  get?: never;
13941
13950
  put?: never;
13942
13951
  /**
13943
- * Search LinkedIn jobs
13952
+ * Search jobs
13944
13953
  * @description Searches LinkedIn job postings using structured filters or a pasted LinkedIn jobs URL. The two modes are mutually exclusive. Job description text is never returned.
13945
13954
  */
13946
13955
  post: {
@@ -13975,8 +13984,8 @@ interface paths {
13975
13984
  region?: string;
13976
13985
  /** @description Opaque location IDs from GET /v1/search/parameters?type=LOCATION. */
13977
13986
  location?: string[];
13978
- /** @description Location area string filter. */
13979
- location_within_area?: string;
13987
+ /** @description Search radius around the location, in miles (positive number). */
13988
+ location_within_area?: number;
13980
13989
  /** @description Opaque industry IDs from GET /v1/search/parameters?type=INDUSTRY. */
13981
13990
  industry?: string[];
13982
13991
  /** @description Filter by seniority levels. */
@@ -15309,7 +15318,7 @@ declare class SearchResource {
15309
15318
  */
15310
15319
  getParameters(query: SearchParametersQuery): Promise<SearchParametersResult>;
15311
15320
  /**
15312
- * Search LinkedIn people with structured filters or a pasted URL.
15321
+ * Search people with structured filters or a pasted URL.
15313
15322
  * `POST /v1/search/people`
15314
15323
  * Cursor passed via query param (not body) — matches the OpenAPI spec.
15315
15324
  */
@@ -15318,7 +15327,7 @@ declare class SearchResource {
15318
15327
  limit?: number;
15319
15328
  }): Promise<SearchPeopleResult>;
15320
15329
  /**
15321
- * Search LinkedIn companies.
15330
+ * Search companies.
15322
15331
  * `POST /v1/search/companies`
15323
15332
  */
15324
15333
  companies(body: SearchCompaniesBody & {
@@ -15326,7 +15335,7 @@ declare class SearchResource {
15326
15335
  limit?: number;
15327
15336
  }): Promise<SearchCompaniesResult>;
15328
15337
  /**
15329
- * Search LinkedIn posts.
15338
+ * Search posts.
15330
15339
  * `POST /v1/search/posts`
15331
15340
  */
15332
15341
  posts(body: SearchPostsBody & {
@@ -15334,7 +15343,7 @@ declare class SearchResource {
15334
15343
  limit?: number;
15335
15344
  }): Promise<SearchPostsResult>;
15336
15345
  /**
15337
- * Search LinkedIn jobs.
15346
+ * Search jobs.
15338
15347
  * `POST /v1/search/jobs`
15339
15348
  */
15340
15349
  jobs(body: SearchJobsBody & {
package/dist/index.js CHANGED
@@ -740,7 +740,7 @@ var SearchResource = class {
740
740
  });
741
741
  }
742
742
  /**
743
- * Search LinkedIn people with structured filters or a pasted URL.
743
+ * Search people with structured filters or a pasted URL.
744
744
  * `POST /v1/search/people`
745
745
  * Cursor passed via query param (not body) — matches the OpenAPI spec.
746
746
  */
@@ -754,7 +754,7 @@ var SearchResource = class {
754
754
  });
755
755
  }
756
756
  /**
757
- * Search LinkedIn companies.
757
+ * Search companies.
758
758
  * `POST /v1/search/companies`
759
759
  */
760
760
  companies(body) {
@@ -767,7 +767,7 @@ var SearchResource = class {
767
767
  });
768
768
  }
769
769
  /**
770
- * Search LinkedIn posts.
770
+ * Search posts.
771
771
  * `POST /v1/search/posts`
772
772
  */
773
773
  posts(body) {
@@ -780,7 +780,7 @@ var SearchResource = class {
780
780
  });
781
781
  }
782
782
  /**
783
- * Search LinkedIn jobs.
783
+ * Search jobs.
784
784
  * `POST /v1/search/jobs`
785
785
  */
786
786
  jobs(body) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@curviate/sdk",
3
- "version": "0.4.2",
3
+ "version": "0.6.0",
4
4
  "private": false,
5
5
  "description": "TypeScript SDK for the Curviate API.",
6
6
  "license": "MIT",
@@ -9393,7 +9393,7 @@ export interface paths {
9393
9393
  };
9394
9394
  /**
9395
9395
  * Re-sync messages (Recruiter)
9396
- * @description Trigger (or, on a repeat call, monitor) a full or windowed re-sync of the account's Recruiter message history. Returns a sync_status (200). No message content is returned or persisted. Requires a Recruiter seat.
9396
+ * @description Trigger (or, on a repeat call, monitor) a full or windowed re-sync of the account's Recruiter message history. Returns a status (200). No message content is returned or persisted. Requires a Recruiter seat.
9397
9397
  */
9398
9398
  get: {
9399
9399
  parameters: {
@@ -9431,7 +9431,7 @@ export interface paths {
9431
9431
  object?: "account_sync";
9432
9432
  account_id?: string;
9433
9433
  /** @enum {string} */
9434
- sync_status?: "sync_started" | "running" | "done" | "error";
9434
+ status?: "sync_started" | "running" | "done" | "error";
9435
9435
  };
9436
9436
  };
9437
9437
  };
@@ -9564,7 +9564,7 @@ export interface paths {
9564
9564
  /** @description The operator account ID whose Recruiter session starts the chat. */
9565
9565
  account_id: string;
9566
9566
  /** @description One or more Recruiter member IDs (AE… format). Repeatable form field or a single value. */
9567
- attendee_ids: string[];
9567
+ attendees_ids: string[];
9568
9568
  /** @description Opening message text. Passed to the platform and discarded — never stored or logged. */
9569
9569
  text: string;
9570
9570
  /** @description Optional InMail subject line. */
@@ -9627,23 +9627,7 @@ export interface paths {
9627
9627
  };
9628
9628
  };
9629
9629
  responses: {
9630
- /** @description Recruiter chat created successfully. */
9631
- 200: {
9632
- headers: {
9633
- "RateLimit-Policy": components["headers"]["RateLimit-Policy"];
9634
- RateLimit: components["headers"]["RateLimit"];
9635
- [name: string]: unknown;
9636
- };
9637
- content: {
9638
- "application/json": {
9639
- /** @description The chat identifier. */
9640
- chat_id: string | null;
9641
- /** @description The Recruiter member IDs. */
9642
- attendee_ids: string[];
9643
- };
9644
- };
9645
- };
9646
- /** @description Recruiter chat started. Returns the chat_id and the attendee_ids. Message content is never echoed back. The InMail daily quota is consumed; remaining capacity is read from GET /v1/accounts/{account_id}. Requires a Recruiter seat. */
9630
+ /** @description Recruiter chat started. Returns the object discriminator, the chat_id, and the attendee_ids. Message content is never echoed back. The InMail daily quota is consumed; remaining capacity is read from GET /v1/accounts/{account_id}, never echoed here. Requires a Recruiter seat. */
9647
9631
  201: {
9648
9632
  headers: {
9649
9633
  "RateLimit-Policy": components["headers"]["RateLimit-Policy"];
@@ -9652,6 +9636,11 @@ export interface paths {
9652
9636
  };
9653
9637
  content: {
9654
9638
  "application/json": {
9639
+ /**
9640
+ * @description Response type discriminator.
9641
+ * @enum {string}
9642
+ */
9643
+ object: "chat_started";
9655
9644
  /** @description The newly created chat's identifier. */
9656
9645
  chat_id: string | null;
9657
9646
  /** @description The Recruiter member IDs the chat was started with. */
@@ -11378,7 +11367,7 @@ export interface paths {
11378
11367
  };
11379
11368
  /**
11380
11369
  * Re-sync messages (Sales Navigator)
11381
- * @description Trigger (or monitor) a full or windowed re-sync of the account's Sales Navigator message history. Returns a sync_status (200). No message content is returned or persisted. Requires a Sales Navigator seat.
11370
+ * @description Trigger (or monitor) a full or windowed re-sync of the account's Sales Navigator message history. Returns a status (200). No message content is returned or persisted. Requires a Sales Navigator seat.
11382
11371
  */
11383
11372
  get: {
11384
11373
  parameters: {
@@ -11416,7 +11405,7 @@ export interface paths {
11416
11405
  object?: "account_sync";
11417
11406
  account_id?: string;
11418
11407
  /** @enum {string} */
11419
- sync_status?: "sync_started" | "running" | "done" | "error";
11408
+ status?: "sync_started" | "running" | "done" | "error";
11420
11409
  };
11421
11410
  };
11422
11411
  };
@@ -12968,6 +12957,14 @@ export interface paths {
12968
12957
  title: string;
12969
12958
  /** @description Optional image URL for this filter value (e.g. company logo). Present when available. */
12970
12959
  picture_url?: string;
12960
+ /** @description Industry the company operates in. Present (nullable) only for type=COMPANY, to disambiguate same-named companies. */
12961
+ industry?: string | null;
12962
+ /** @description Company follower count. Present (nullable) only for type=COMPANY. */
12963
+ followers_count?: number | null;
12964
+ /** @description Human-readable company size range (e.g. '51-200'). Present (nullable) only for type=COMPANY. */
12965
+ headcount?: string | null;
12966
+ /** @description Company headquarters location. Present (nullable) only for type=COMPANY. */
12967
+ location?: string | null;
12971
12968
  }[];
12972
12969
  /** @description Paging metadata. */
12973
12970
  paging: {
@@ -13081,7 +13078,7 @@ export interface paths {
13081
13078
  get?: never;
13082
13079
  put?: never;
13083
13080
  /**
13084
- * Search LinkedIn people
13081
+ * Search people
13085
13082
  * @description Searches LinkedIn profiles using structured filters or a pasted LinkedIn search URL. The two modes are mutually exclusive: supply either url or structured filters, not both. account_id and pagination live in query params; filters in the request body.
13086
13083
  */
13087
13084
  post: {
@@ -13130,10 +13127,10 @@ export interface paths {
13130
13127
  school?: string[];
13131
13128
  /** @description Opaque service IDs from GET /v1/search/parameters?type=SERVICE. */
13132
13129
  service?: string[];
13133
- /** @description Filter to connections of a specific member URN. */
13134
- connections_of?: string;
13135
- /** @description Filter to followers of a specific member URN. */
13136
- followers_of?: string;
13130
+ /** @description Filter to connections of the given members. Array of opaque member IDs from GET /v1/search/parameters?type=CONNECTIONS. */
13131
+ connections_of?: string[];
13132
+ /** @description Filter to followers of the given members. Array of opaque member IDs from GET /v1/search/parameters?type=PEOPLE. */
13133
+ followers_of?: string[];
13137
13134
  /** @description Filter by network distance: 1 = 1st degree, 2 = 2nd degree, 3 = 3rd degree. */
13138
13135
  network_distance?: (1 | 2 | 3)[];
13139
13136
  /** @description Filter by profile language codes. */
@@ -13359,7 +13356,7 @@ export interface paths {
13359
13356
  get?: never;
13360
13357
  put?: never;
13361
13358
  /**
13362
- * Search LinkedIn companies
13359
+ * Search companies
13363
13360
  * @description Searches LinkedIn companies using structured filters or a pasted LinkedIn search URL. The two modes are mutually exclusive. No company description or tagline is returned.
13364
13361
  */
13365
13362
  post: {
@@ -13391,9 +13388,9 @@ export interface paths {
13391
13388
  has_job_offers?: boolean;
13392
13389
  /** @description Filter by company size buckets. Each entry is a { min, max } object (e.g. { min: 51, max: 200 }). */
13393
13390
  headcount?: {
13394
- /** @description Minimum headcount for this bucket. */
13391
+ /** @description Lower bound of a company-size bucket. Valid values: 1, 11, 51, 201, 501, 1001, 5001, 10001. */
13395
13392
  min: number;
13396
- /** @description Maximum headcount for this bucket. */
13393
+ /** @description Upper bound of a company-size bucket. Valid values: 1, 10, 50, 200, 500, 1000, 5000, 10000. */
13397
13394
  max: number;
13398
13395
  }[];
13399
13396
  /** @description Filter by network distance: 1 = 1st degree, 2 = 2nd degree, 3 = 3rd degree. */
@@ -13563,7 +13560,7 @@ export interface paths {
13563
13560
  get?: never;
13564
13561
  put?: never;
13565
13562
  /**
13566
- * Search LinkedIn posts
13563
+ * Search posts
13567
13564
  * @description Searches LinkedIn posts using structured filters or a pasted LinkedIn search URL. The two modes are mutually exclusive. Post body text is never returned — results carry the post URN and engagement metadata only.
13568
13565
  */
13569
13566
  post: {
@@ -13602,22 +13599,34 @@ export interface paths {
13602
13599
  * @enum {string}
13603
13600
  */
13604
13601
  content_type?: "videos" | "images" | "live_videos" | "collaborative_articles" | "documents";
13605
- /** @description Filter to posts by a specific member. */
13602
+ /** @description Filter to posts by specific authors (members, companies, yourself, connections, or people you follow). */
13606
13603
  posted_by?: {
13607
- /** @description LinkedIn member URN (e.g. urn:li:member:123). */
13608
- member_urn?: string;
13609
- };
13610
- /** @description Filter to posts mentioning a specific member. */
13604
+ /** @description Opaque member IDs from GET /v1/search/parameters?type=PEOPLE. */
13605
+ member?: string[];
13606
+ /** @description Opaque company IDs from GET /v1/search/parameters?type=COMPANY. */
13607
+ company?: string[];
13608
+ /** @description Restrict to your own posts. */
13609
+ me?: boolean;
13610
+ /** @description Restrict to posts by your 1st-degree connections. */
13611
+ first_connections?: boolean;
13612
+ /** @description Restrict to posts by people you follow. */
13613
+ people_you_follow?: boolean;
13614
+ };
13615
+ /** @description Filter to posts mentioning specific members or companies. */
13611
13616
  mentioning?: {
13612
- /** @description LinkedIn member URN (e.g. urn:li:member:123). */
13613
- member_urn?: string;
13617
+ /** @description Opaque member IDs from GET /v1/search/parameters?type=PEOPLE. */
13618
+ member?: string[];
13619
+ /** @description Opaque company IDs from GET /v1/search/parameters?type=COMPANY. */
13620
+ company?: string[];
13614
13621
  };
13615
- /** @description Filter to posts from a specific author (company or member). */
13622
+ /** @description Filter to posts by author attributes (industry, company, or keywords). */
13616
13623
  author?: {
13617
- /** @description LinkedIn organization URN (e.g. urn:li:organization:456). */
13618
- company_urn?: string;
13619
- /** @description LinkedIn member URN (e.g. urn:li:member:123). */
13620
- member_urn?: string;
13624
+ /** @description Opaque industry IDs from GET /v1/search/parameters?type=INDUSTRY. */
13625
+ industry?: string[];
13626
+ /** @description Opaque company IDs from GET /v1/search/parameters?type=COMPANY. */
13627
+ company?: string[];
13628
+ /** @description Free-text keyword match on the author. */
13629
+ keywords?: string;
13621
13630
  };
13622
13631
  };
13623
13632
  };
@@ -13831,7 +13840,7 @@ export interface paths {
13831
13840
  get?: never;
13832
13841
  put?: never;
13833
13842
  /**
13834
- * Search LinkedIn jobs
13843
+ * Search jobs
13835
13844
  * @description Searches LinkedIn job postings using structured filters or a pasted LinkedIn jobs URL. The two modes are mutually exclusive. Job description text is never returned.
13836
13845
  */
13837
13846
  post: {
@@ -13866,8 +13875,8 @@ export interface paths {
13866
13875
  region?: string;
13867
13876
  /** @description Opaque location IDs from GET /v1/search/parameters?type=LOCATION. */
13868
13877
  location?: string[];
13869
- /** @description Location area string filter. */
13870
- location_within_area?: string;
13878
+ /** @description Search radius around the location, in miles (positive number). */
13879
+ location_within_area?: number;
13871
13880
  /** @description Opaque industry IDs from GET /v1/search/parameters?type=INDUSTRY. */
13872
13881
  industry?: string[];
13873
13882
  /** @description Filter by seniority levels. */