@curviate/sdk 0.4.2 → 0.5.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 +18 -0
- package/dist/index.d.ts +48 -28
- package/dist/index.js +4 -4
- package/package.json +1 -1
- package/src/generated/types.ts +44 -24
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,24 @@ Versioning: semantic — minor for additive changes, patch for bug fixes; no sta
|
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
+
## [0.5.0] — 2026-07-01
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- 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`.
|
|
15
|
+
- 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.
|
|
16
|
+
|
|
17
|
+
### Changed
|
|
18
|
+
|
|
19
|
+
- **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`.
|
|
20
|
+
- **Breaking (typed consumers):** posts-search replaces the flat `member_urn` / `company_urn` filters with the nested `posted_by` / `mentioning` / `author` objects described above.
|
|
21
|
+
- **Breaking (typed consumers):** jobs-search `location_within_area` is now a `number` (search radius in miles) instead of a `string`.
|
|
22
|
+
- Company-size (`headcount`) bucket bounds are documented with their explicit valid values.
|
|
23
|
+
- De-branded the four search method summaries in the SDK JSDoc (`Search people/companies/posts/jobs`).
|
|
24
|
+
- Regenerated types from the current API surface.
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
10
28
|
## [0.4.2] — 2026-07-01
|
|
11
29
|
|
|
12
30
|
### Added
|
package/dist/index.d.ts
CHANGED
|
@@ -13077,6 +13077,14 @@ interface paths {
|
|
|
13077
13077
|
title: string;
|
|
13078
13078
|
/** @description Optional image URL for this filter value (e.g. company logo). Present when available. */
|
|
13079
13079
|
picture_url?: string;
|
|
13080
|
+
/** @description Industry the company operates in. Present (nullable) only for type=COMPANY, to disambiguate same-named companies. */
|
|
13081
|
+
industry?: string | null;
|
|
13082
|
+
/** @description Company follower count. Present (nullable) only for type=COMPANY. */
|
|
13083
|
+
followers_count?: number | null;
|
|
13084
|
+
/** @description Human-readable company size range (e.g. '51-200'). Present (nullable) only for type=COMPANY. */
|
|
13085
|
+
headcount?: string | null;
|
|
13086
|
+
/** @description Company headquarters location. Present (nullable) only for type=COMPANY. */
|
|
13087
|
+
location?: string | null;
|
|
13080
13088
|
}[];
|
|
13081
13089
|
/** @description Paging metadata. */
|
|
13082
13090
|
paging: {
|
|
@@ -13190,7 +13198,7 @@ interface paths {
|
|
|
13190
13198
|
get?: never;
|
|
13191
13199
|
put?: never;
|
|
13192
13200
|
/**
|
|
13193
|
-
* Search
|
|
13201
|
+
* Search people
|
|
13194
13202
|
* @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
13203
|
*/
|
|
13196
13204
|
post: {
|
|
@@ -13239,10 +13247,10 @@ interface paths {
|
|
|
13239
13247
|
school?: string[];
|
|
13240
13248
|
/** @description Opaque service IDs from GET /v1/search/parameters?type=SERVICE. */
|
|
13241
13249
|
service?: string[];
|
|
13242
|
-
/** @description Filter to connections of
|
|
13243
|
-
connections_of?: string;
|
|
13244
|
-
/** @description Filter to followers of
|
|
13245
|
-
followers_of?: string;
|
|
13250
|
+
/** @description Filter to connections of the given members. Array of opaque member IDs from GET /v1/search/parameters?type=CONNECTIONS. */
|
|
13251
|
+
connections_of?: string[];
|
|
13252
|
+
/** @description Filter to followers of the given members. Array of opaque member IDs from GET /v1/search/parameters?type=PEOPLE. */
|
|
13253
|
+
followers_of?: string[];
|
|
13246
13254
|
/** @description Filter by network distance: 1 = 1st degree, 2 = 2nd degree, 3 = 3rd degree. */
|
|
13247
13255
|
network_distance?: (1 | 2 | 3)[];
|
|
13248
13256
|
/** @description Filter by profile language codes. */
|
|
@@ -13468,7 +13476,7 @@ interface paths {
|
|
|
13468
13476
|
get?: never;
|
|
13469
13477
|
put?: never;
|
|
13470
13478
|
/**
|
|
13471
|
-
* Search
|
|
13479
|
+
* Search companies
|
|
13472
13480
|
* @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
13481
|
*/
|
|
13474
13482
|
post: {
|
|
@@ -13500,9 +13508,9 @@ interface paths {
|
|
|
13500
13508
|
has_job_offers?: boolean;
|
|
13501
13509
|
/** @description Filter by company size buckets. Each entry is a { min, max } object (e.g. { min: 51, max: 200 }). */
|
|
13502
13510
|
headcount?: {
|
|
13503
|
-
/** @description
|
|
13511
|
+
/** @description Lower bound of a company-size bucket. Valid values: 1, 11, 51, 201, 501, 1001, 5001, 10001. */
|
|
13504
13512
|
min: number;
|
|
13505
|
-
/** @description
|
|
13513
|
+
/** @description Upper bound of a company-size bucket. Valid values: 1, 10, 50, 200, 500, 1000, 5000, 10000. */
|
|
13506
13514
|
max: number;
|
|
13507
13515
|
}[];
|
|
13508
13516
|
/** @description Filter by network distance: 1 = 1st degree, 2 = 2nd degree, 3 = 3rd degree. */
|
|
@@ -13672,7 +13680,7 @@ interface paths {
|
|
|
13672
13680
|
get?: never;
|
|
13673
13681
|
put?: never;
|
|
13674
13682
|
/**
|
|
13675
|
-
* Search
|
|
13683
|
+
* Search posts
|
|
13676
13684
|
* @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
13685
|
*/
|
|
13678
13686
|
post: {
|
|
@@ -13711,22 +13719,34 @@ interface paths {
|
|
|
13711
13719
|
* @enum {string}
|
|
13712
13720
|
*/
|
|
13713
13721
|
content_type?: "videos" | "images" | "live_videos" | "collaborative_articles" | "documents";
|
|
13714
|
-
/** @description Filter to posts by
|
|
13722
|
+
/** @description Filter to posts by specific authors (members, companies, yourself, connections, or people you follow). */
|
|
13715
13723
|
posted_by?: {
|
|
13716
|
-
/** @description
|
|
13717
|
-
|
|
13718
|
-
|
|
13719
|
-
|
|
13724
|
+
/** @description Opaque member IDs from GET /v1/search/parameters?type=PEOPLE. */
|
|
13725
|
+
member?: string[];
|
|
13726
|
+
/** @description Opaque company IDs from GET /v1/search/parameters?type=COMPANY. */
|
|
13727
|
+
company?: string[];
|
|
13728
|
+
/** @description Restrict to your own posts. */
|
|
13729
|
+
me?: boolean;
|
|
13730
|
+
/** @description Restrict to posts by your 1st-degree connections. */
|
|
13731
|
+
first_connections?: boolean;
|
|
13732
|
+
/** @description Restrict to posts by people you follow. */
|
|
13733
|
+
people_you_follow?: boolean;
|
|
13734
|
+
};
|
|
13735
|
+
/** @description Filter to posts mentioning specific members or companies. */
|
|
13720
13736
|
mentioning?: {
|
|
13721
|
-
/** @description
|
|
13722
|
-
|
|
13737
|
+
/** @description Opaque member IDs from GET /v1/search/parameters?type=PEOPLE. */
|
|
13738
|
+
member?: string[];
|
|
13739
|
+
/** @description Opaque company IDs from GET /v1/search/parameters?type=COMPANY. */
|
|
13740
|
+
company?: string[];
|
|
13723
13741
|
};
|
|
13724
|
-
/** @description Filter to posts
|
|
13742
|
+
/** @description Filter to posts by author attributes (industry, company, or keywords). */
|
|
13725
13743
|
author?: {
|
|
13726
|
-
/** @description
|
|
13727
|
-
|
|
13728
|
-
/** @description
|
|
13729
|
-
|
|
13744
|
+
/** @description Opaque industry IDs from GET /v1/search/parameters?type=INDUSTRY. */
|
|
13745
|
+
industry?: string[];
|
|
13746
|
+
/** @description Opaque company IDs from GET /v1/search/parameters?type=COMPANY. */
|
|
13747
|
+
company?: string[];
|
|
13748
|
+
/** @description Free-text keyword match on the author. */
|
|
13749
|
+
keywords?: string;
|
|
13730
13750
|
};
|
|
13731
13751
|
};
|
|
13732
13752
|
};
|
|
@@ -13940,7 +13960,7 @@ interface paths {
|
|
|
13940
13960
|
get?: never;
|
|
13941
13961
|
put?: never;
|
|
13942
13962
|
/**
|
|
13943
|
-
* Search
|
|
13963
|
+
* Search jobs
|
|
13944
13964
|
* @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
13965
|
*/
|
|
13946
13966
|
post: {
|
|
@@ -13975,8 +13995,8 @@ interface paths {
|
|
|
13975
13995
|
region?: string;
|
|
13976
13996
|
/** @description Opaque location IDs from GET /v1/search/parameters?type=LOCATION. */
|
|
13977
13997
|
location?: string[];
|
|
13978
|
-
/** @description
|
|
13979
|
-
location_within_area?:
|
|
13998
|
+
/** @description Search radius around the location, in miles (positive number). */
|
|
13999
|
+
location_within_area?: number;
|
|
13980
14000
|
/** @description Opaque industry IDs from GET /v1/search/parameters?type=INDUSTRY. */
|
|
13981
14001
|
industry?: string[];
|
|
13982
14002
|
/** @description Filter by seniority levels. */
|
|
@@ -15309,7 +15329,7 @@ declare class SearchResource {
|
|
|
15309
15329
|
*/
|
|
15310
15330
|
getParameters(query: SearchParametersQuery): Promise<SearchParametersResult>;
|
|
15311
15331
|
/**
|
|
15312
|
-
* Search
|
|
15332
|
+
* Search people with structured filters or a pasted URL.
|
|
15313
15333
|
* `POST /v1/search/people`
|
|
15314
15334
|
* Cursor passed via query param (not body) — matches the OpenAPI spec.
|
|
15315
15335
|
*/
|
|
@@ -15318,7 +15338,7 @@ declare class SearchResource {
|
|
|
15318
15338
|
limit?: number;
|
|
15319
15339
|
}): Promise<SearchPeopleResult>;
|
|
15320
15340
|
/**
|
|
15321
|
-
* Search
|
|
15341
|
+
* Search companies.
|
|
15322
15342
|
* `POST /v1/search/companies`
|
|
15323
15343
|
*/
|
|
15324
15344
|
companies(body: SearchCompaniesBody & {
|
|
@@ -15326,7 +15346,7 @@ declare class SearchResource {
|
|
|
15326
15346
|
limit?: number;
|
|
15327
15347
|
}): Promise<SearchCompaniesResult>;
|
|
15328
15348
|
/**
|
|
15329
|
-
* Search
|
|
15349
|
+
* Search posts.
|
|
15330
15350
|
* `POST /v1/search/posts`
|
|
15331
15351
|
*/
|
|
15332
15352
|
posts(body: SearchPostsBody & {
|
|
@@ -15334,7 +15354,7 @@ declare class SearchResource {
|
|
|
15334
15354
|
limit?: number;
|
|
15335
15355
|
}): Promise<SearchPostsResult>;
|
|
15336
15356
|
/**
|
|
15337
|
-
* Search
|
|
15357
|
+
* Search jobs.
|
|
15338
15358
|
* `POST /v1/search/jobs`
|
|
15339
15359
|
*/
|
|
15340
15360
|
jobs(body: SearchJobsBody & {
|
package/dist/index.js
CHANGED
|
@@ -740,7 +740,7 @@ var SearchResource = class {
|
|
|
740
740
|
});
|
|
741
741
|
}
|
|
742
742
|
/**
|
|
743
|
-
* Search
|
|
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
|
|
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
|
|
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
|
|
783
|
+
* Search jobs.
|
|
784
784
|
* `POST /v1/search/jobs`
|
|
785
785
|
*/
|
|
786
786
|
jobs(body) {
|
package/package.json
CHANGED
package/src/generated/types.ts
CHANGED
|
@@ -12968,6 +12968,14 @@ export interface paths {
|
|
|
12968
12968
|
title: string;
|
|
12969
12969
|
/** @description Optional image URL for this filter value (e.g. company logo). Present when available. */
|
|
12970
12970
|
picture_url?: string;
|
|
12971
|
+
/** @description Industry the company operates in. Present (nullable) only for type=COMPANY, to disambiguate same-named companies. */
|
|
12972
|
+
industry?: string | null;
|
|
12973
|
+
/** @description Company follower count. Present (nullable) only for type=COMPANY. */
|
|
12974
|
+
followers_count?: number | null;
|
|
12975
|
+
/** @description Human-readable company size range (e.g. '51-200'). Present (nullable) only for type=COMPANY. */
|
|
12976
|
+
headcount?: string | null;
|
|
12977
|
+
/** @description Company headquarters location. Present (nullable) only for type=COMPANY. */
|
|
12978
|
+
location?: string | null;
|
|
12971
12979
|
}[];
|
|
12972
12980
|
/** @description Paging metadata. */
|
|
12973
12981
|
paging: {
|
|
@@ -13081,7 +13089,7 @@ export interface paths {
|
|
|
13081
13089
|
get?: never;
|
|
13082
13090
|
put?: never;
|
|
13083
13091
|
/**
|
|
13084
|
-
* Search
|
|
13092
|
+
* Search people
|
|
13085
13093
|
* @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
13094
|
*/
|
|
13087
13095
|
post: {
|
|
@@ -13130,10 +13138,10 @@ export interface paths {
|
|
|
13130
13138
|
school?: string[];
|
|
13131
13139
|
/** @description Opaque service IDs from GET /v1/search/parameters?type=SERVICE. */
|
|
13132
13140
|
service?: string[];
|
|
13133
|
-
/** @description Filter to connections of
|
|
13134
|
-
connections_of?: string;
|
|
13135
|
-
/** @description Filter to followers of
|
|
13136
|
-
followers_of?: string;
|
|
13141
|
+
/** @description Filter to connections of the given members. Array of opaque member IDs from GET /v1/search/parameters?type=CONNECTIONS. */
|
|
13142
|
+
connections_of?: string[];
|
|
13143
|
+
/** @description Filter to followers of the given members. Array of opaque member IDs from GET /v1/search/parameters?type=PEOPLE. */
|
|
13144
|
+
followers_of?: string[];
|
|
13137
13145
|
/** @description Filter by network distance: 1 = 1st degree, 2 = 2nd degree, 3 = 3rd degree. */
|
|
13138
13146
|
network_distance?: (1 | 2 | 3)[];
|
|
13139
13147
|
/** @description Filter by profile language codes. */
|
|
@@ -13359,7 +13367,7 @@ export interface paths {
|
|
|
13359
13367
|
get?: never;
|
|
13360
13368
|
put?: never;
|
|
13361
13369
|
/**
|
|
13362
|
-
* Search
|
|
13370
|
+
* Search companies
|
|
13363
13371
|
* @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
13372
|
*/
|
|
13365
13373
|
post: {
|
|
@@ -13391,9 +13399,9 @@ export interface paths {
|
|
|
13391
13399
|
has_job_offers?: boolean;
|
|
13392
13400
|
/** @description Filter by company size buckets. Each entry is a { min, max } object (e.g. { min: 51, max: 200 }). */
|
|
13393
13401
|
headcount?: {
|
|
13394
|
-
/** @description
|
|
13402
|
+
/** @description Lower bound of a company-size bucket. Valid values: 1, 11, 51, 201, 501, 1001, 5001, 10001. */
|
|
13395
13403
|
min: number;
|
|
13396
|
-
/** @description
|
|
13404
|
+
/** @description Upper bound of a company-size bucket. Valid values: 1, 10, 50, 200, 500, 1000, 5000, 10000. */
|
|
13397
13405
|
max: number;
|
|
13398
13406
|
}[];
|
|
13399
13407
|
/** @description Filter by network distance: 1 = 1st degree, 2 = 2nd degree, 3 = 3rd degree. */
|
|
@@ -13563,7 +13571,7 @@ export interface paths {
|
|
|
13563
13571
|
get?: never;
|
|
13564
13572
|
put?: never;
|
|
13565
13573
|
/**
|
|
13566
|
-
* Search
|
|
13574
|
+
* Search posts
|
|
13567
13575
|
* @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
13576
|
*/
|
|
13569
13577
|
post: {
|
|
@@ -13602,22 +13610,34 @@ export interface paths {
|
|
|
13602
13610
|
* @enum {string}
|
|
13603
13611
|
*/
|
|
13604
13612
|
content_type?: "videos" | "images" | "live_videos" | "collaborative_articles" | "documents";
|
|
13605
|
-
/** @description Filter to posts by
|
|
13613
|
+
/** @description Filter to posts by specific authors (members, companies, yourself, connections, or people you follow). */
|
|
13606
13614
|
posted_by?: {
|
|
13607
|
-
/** @description
|
|
13608
|
-
|
|
13609
|
-
|
|
13610
|
-
|
|
13615
|
+
/** @description Opaque member IDs from GET /v1/search/parameters?type=PEOPLE. */
|
|
13616
|
+
member?: string[];
|
|
13617
|
+
/** @description Opaque company IDs from GET /v1/search/parameters?type=COMPANY. */
|
|
13618
|
+
company?: string[];
|
|
13619
|
+
/** @description Restrict to your own posts. */
|
|
13620
|
+
me?: boolean;
|
|
13621
|
+
/** @description Restrict to posts by your 1st-degree connections. */
|
|
13622
|
+
first_connections?: boolean;
|
|
13623
|
+
/** @description Restrict to posts by people you follow. */
|
|
13624
|
+
people_you_follow?: boolean;
|
|
13625
|
+
};
|
|
13626
|
+
/** @description Filter to posts mentioning specific members or companies. */
|
|
13611
13627
|
mentioning?: {
|
|
13612
|
-
/** @description
|
|
13613
|
-
|
|
13628
|
+
/** @description Opaque member IDs from GET /v1/search/parameters?type=PEOPLE. */
|
|
13629
|
+
member?: string[];
|
|
13630
|
+
/** @description Opaque company IDs from GET /v1/search/parameters?type=COMPANY. */
|
|
13631
|
+
company?: string[];
|
|
13614
13632
|
};
|
|
13615
|
-
/** @description Filter to posts
|
|
13633
|
+
/** @description Filter to posts by author attributes (industry, company, or keywords). */
|
|
13616
13634
|
author?: {
|
|
13617
|
-
/** @description
|
|
13618
|
-
|
|
13619
|
-
/** @description
|
|
13620
|
-
|
|
13635
|
+
/** @description Opaque industry IDs from GET /v1/search/parameters?type=INDUSTRY. */
|
|
13636
|
+
industry?: string[];
|
|
13637
|
+
/** @description Opaque company IDs from GET /v1/search/parameters?type=COMPANY. */
|
|
13638
|
+
company?: string[];
|
|
13639
|
+
/** @description Free-text keyword match on the author. */
|
|
13640
|
+
keywords?: string;
|
|
13621
13641
|
};
|
|
13622
13642
|
};
|
|
13623
13643
|
};
|
|
@@ -13831,7 +13851,7 @@ export interface paths {
|
|
|
13831
13851
|
get?: never;
|
|
13832
13852
|
put?: never;
|
|
13833
13853
|
/**
|
|
13834
|
-
* Search
|
|
13854
|
+
* Search jobs
|
|
13835
13855
|
* @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
13856
|
*/
|
|
13837
13857
|
post: {
|
|
@@ -13866,8 +13886,8 @@ export interface paths {
|
|
|
13866
13886
|
region?: string;
|
|
13867
13887
|
/** @description Opaque location IDs from GET /v1/search/parameters?type=LOCATION. */
|
|
13868
13888
|
location?: string[];
|
|
13869
|
-
/** @description
|
|
13870
|
-
location_within_area?:
|
|
13889
|
+
/** @description Search radius around the location, in miles (positive number). */
|
|
13890
|
+
location_within_area?: number;
|
|
13871
13891
|
/** @description Opaque industry IDs from GET /v1/search/parameters?type=INDUSTRY. */
|
|
13872
13892
|
industry?: string[];
|
|
13873
13893
|
/** @description Filter by seniority levels. */
|