@curviate/sdk 0.1.1 → 0.2.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,20 @@ Versioning: semantic — minor for additive changes, patch for bug fixes; no sta
7
7
 
8
8
  ---
9
9
 
10
+ ## [0.2.0] — 2026-06-28
11
+
12
+ ### Added
13
+
14
+ - `profiles.getMe(params?)` now accepts an optional `linkedin_sections` array to request specific LinkedIn profile sections (e.g. education, experience, skills); responses include only the requested enrichment fields.
15
+ - `OwnProfile` type is normalized: `is_premium` and `is_open_profile` are always present on the response. Enriched section fields (`headline`, `summary`, `work_experience`, `education`, `skills`, and more) are present when the corresponding section was requested.
16
+ - `Chat` type now includes a `subject` field (nullable string) reflecting the conversation subject where available.
17
+
18
+ ### Changed
19
+
20
+ - Array-valued query parameters are now serialized as repeated keys (`?key=a&key=b`) rather than as a comma-joined string. This matches the server's expected format for array parameters such as `linkedin_sections`.
21
+
22
+ ---
23
+
10
24
  ## [0.1.1] — 2026-06-22
11
25
 
12
26
  ### Fixed
package/dist/index.d.ts CHANGED
@@ -84,7 +84,11 @@ type AccountIdLocation = "body" | "query";
84
84
  interface RequestArgs {
85
85
  method: HttpMethod;
86
86
  path: string;
87
- query?: Record<string, string | number | boolean | undefined | null>;
87
+ /**
88
+ * Query params. Array values serialize as repeated params (e.g. `?k=a&k=b`)
89
+ * to support multi-value fields like `linkedin_sections`.
90
+ */
91
+ query?: Record<string, string | number | boolean | string[] | undefined | null>;
88
92
  body?: unknown;
89
93
  /**
90
94
  * Where to inject the context's fixed `account_id`. Defaults to `"query"`.
@@ -2573,6 +2577,8 @@ interface paths {
2573
2577
  * @enum {number}
2574
2578
  */
2575
2579
  pinned?: 0 | 1;
2580
+ /** @description The conversation subject or InMail subject line; null when none. */
2581
+ subject?: ((string | null) | null) | null;
2576
2582
  }[];
2577
2583
  /** @description Next-page cursor; null on the last page. */
2578
2584
  cursor?: string | null;
@@ -2957,6 +2963,8 @@ interface paths {
2957
2963
  * @enum {number}
2958
2964
  */
2959
2965
  pinned?: 0 | 1;
2966
+ /** @description The conversation subject or InMail subject line; null when none. */
2967
+ subject?: ((string | null) | null) | null;
2960
2968
  /** @description The most recent message in the chat, or null if empty. */
2961
2969
  lastMessage?: {
2962
2970
  /**
@@ -5064,13 +5072,13 @@ interface paths {
5064
5072
  account_id: string;
5065
5073
  /** @description Post body text (1–3000 chars). Not stored or logged. */
5066
5074
  text: string;
5067
- /** @description social_id of a post to repost. Reachability verified live by qa. */
5075
+ /** @description social_id of a post to repost. */
5068
5076
  repost?: string;
5069
- /** @description External URL to include in the post. Reachability verified live by qa. */
5077
+ /** @description External URL to include in the post. */
5070
5078
  external_link?: string;
5071
- /** @description Company page social_id to post as. Reachability verified live by qa. */
5079
+ /** @description Company page social_id to post as. */
5072
5080
  as_organization?: string;
5073
- /** @description JSON-encoded array of mention objects ({name, profile_id, is_company}). Reachability verified live by qa. */
5081
+ /** @description JSON-encoded array of mention objects ({name, profile_id, is_company}). */
5074
5082
  mentions?: {
5075
5083
  /** @description Display name of the mentioned person or company. */
5076
5084
  name: string;
@@ -5079,7 +5087,7 @@ interface paths {
5079
5087
  /** @description true if the mention is a company page. */
5080
5088
  is_company: boolean;
5081
5089
  }[];
5082
- /** @description Include a job posting in the post. Reachability verified live by qa. */
5090
+ /** @description Include a job posting in the post. */
5083
5091
  include_job_posting?: boolean;
5084
5092
  /**
5085
5093
  * Format: binary
@@ -5240,7 +5248,7 @@ interface paths {
5240
5248
  query: {
5241
5249
  /** @description Account ID to use for the request. */
5242
5250
  account_id: string;
5243
- /** @description When supplied, returns replies to this comment instead of top-level comments. Reachability verified live by qa. */
5251
+ /** @description When supplied, returns replies to this comment instead of top-level comments. */
5244
5252
  comment_id?: string;
5245
5253
  /** @description Maximum comments to return (1–50, default 20). */
5246
5254
  limit?: number;
@@ -5407,9 +5415,9 @@ interface paths {
5407
5415
  account_id: string;
5408
5416
  /** @description Comment text (1–1250 chars). Not stored or logged. */
5409
5417
  text: string;
5410
- /** @description When supplied, this comment is a reply to that comment rather than a top-level reply to the post. Reachability verified live by qa. */
5418
+ /** @description When supplied, this comment is a reply to that comment rather than a top-level reply to the post. */
5411
5419
  comment_id?: string;
5412
- /** @description JSON-encoded array of mention objects ({name, profile_id, is_company}). Reachability verified live by qa. */
5420
+ /** @description JSON-encoded array of mention objects ({name, profile_id, is_company}). */
5413
5421
  mentions?: {
5414
5422
  /** @description Display name of the mentioned person or company. */
5415
5423
  name: string;
@@ -5418,9 +5426,9 @@ interface paths {
5418
5426
  /** @description true if the mention is a company page. */
5419
5427
  is_company: boolean;
5420
5428
  }[];
5421
- /** @description Company page social_id to comment as. Reachability verified live by qa. */
5429
+ /** @description Company page social_id to comment as. */
5422
5430
  as_organization?: string;
5423
- /** @description External URL to include in the comment. Reachability verified live by qa. */
5431
+ /** @description External URL to include in the comment. */
5424
5432
  external_link?: string;
5425
5433
  /**
5426
5434
  * Format: binary
@@ -5569,7 +5577,7 @@ interface paths {
5569
5577
  };
5570
5578
  /**
5571
5579
  * List a post's reactions
5572
- * @description Returns reactions on a post. Each item includes the UPPERCASE reaction value and author. Error mapping is conservative — raw-path errors map to 502 unless qa verifies a cleaner status.
5580
+ * @description Returns reactions on a post. Each item includes the UPPERCASE reaction value and author.
5573
5581
  */
5574
5582
  get: {
5575
5583
  parameters: {
@@ -5744,9 +5752,9 @@ interface paths {
5744
5752
  * @enum {string}
5745
5753
  */
5746
5754
  reaction: "like" | "celebrate" | "support" | "love" | "insightful" | "funny";
5747
- /** @description When supplied, the reaction applies to this comment rather than the post. Reachability verified live by qa. */
5755
+ /** @description When supplied, the reaction applies to this comment rather than the post. */
5748
5756
  comment_id?: string;
5749
- /** @description Company page to react as. Reachability verified live by qa. */
5757
+ /** @description Company page to react as. */
5750
5758
  as_organization?: string;
5751
5759
  };
5752
5760
  };
@@ -5875,13 +5883,15 @@ interface paths {
5875
5883
  };
5876
5884
  /**
5877
5885
  * Retrieve your own profile
5878
- * @description Returns the connected account's own LinkedIn profile — name, headline, location, email, and premium/open-profile status.
5886
+ * @description Returns the connected account's own LinkedIn profile — name, headline, location, email, and premium/open-profile status. Request extra sections via linkedin_sections.
5879
5887
  */
5880
5888
  get: {
5881
5889
  parameters: {
5882
5890
  query: {
5883
5891
  /** @description The connected LinkedIn account to read with (acc_…). Required. */
5884
5892
  account_id: string;
5893
+ /** @description Which profile sections to fetch (repeatable). Allowed values: * (all sections), *_preview, about, experience, education, languages, skills, certifications, volunteering_experience, projects, recommendations_received, recommendations_given, and the _preview variant of each section. Omit for base fields only. */
5894
+ linkedin_sections?: ("*" | "*_preview" | "about" | "about_preview" | "experience" | "experience_preview" | "education" | "education_preview" | "languages" | "languages_preview" | "skills" | "skills_preview" | "certifications" | "certifications_preview" | "volunteering_experience" | "volunteering_experience_preview" | "projects" | "projects_preview" | "recommendations_received" | "recommendations_received_preview" | "recommendations_given" | "recommendations_given_preview")[];
5885
5895
  };
5886
5896
  header?: never;
5887
5897
  path?: never;
@@ -5914,12 +5924,12 @@ interface paths {
5914
5924
  /** @description Last name. */
5915
5925
  last_name?: string;
5916
5926
  /** @description LinkedIn public identifier (the slug after linkedin.com/in/). */
5917
- public_identifier?: string;
5918
- /** @description Full LinkedIn public profile URL. */
5927
+ public_identifier?: string | null;
5928
+ /** @description Full LinkedIn public profile URL, synthesized from the public identifier; null if the account has none. */
5919
5929
  public_profile_url?: string | null;
5920
5930
  /** @description Profile picture URL, or null if not set. */
5921
5931
  profile_picture_url?: string | null;
5922
- /** @description LinkedIn headline. */
5932
+ /** @description LinkedIn headline. Empty by default for the account's own profile; supply linkedin_sections to return the populated headline (enrichment path). */
5923
5933
  headline?: string | null;
5924
5934
  /** @description Location as set on the profile. */
5925
5935
  location?: string | null;
@@ -5928,11 +5938,35 @@ interface paths {
5928
5938
  /** @description Current occupation or role. */
5929
5939
  occupation?: string | null;
5930
5940
  /** @description true if this is a LinkedIn Premium account. */
5931
- premium?: boolean;
5941
+ is_premium?: boolean;
5932
5942
  /** @description true if the account has an open profile enabled. */
5933
- open_profile?: boolean;
5943
+ is_open_profile?: boolean;
5934
5944
  /** @description Organizations the account is associated with. */
5935
5945
  organizations?: Record<string, never>[];
5946
+ /** @description Total follower count. Absent by default; present only when linkedin_sections is supplied (enrichment path). */
5947
+ follower_count?: number;
5948
+ /** @description Total connection count. Absent by default; present only when linkedin_sections is supplied (enrichment path). */
5949
+ connections_count?: number;
5950
+ /** @description About/summary text (content pass-through — never stored). Present only when requested via linkedin_sections. */
5951
+ summary?: string | null;
5952
+ /** @description Work experience entries. Present only when requested via linkedin_sections. */
5953
+ work_experience?: Record<string, never>[];
5954
+ /** @description Education entries. Present only when requested via linkedin_sections. */
5955
+ education?: Record<string, never>[];
5956
+ /** @description Skills list. Present only when requested via linkedin_sections. */
5957
+ skills?: string[];
5958
+ /** @description Languages. Present only when requested via linkedin_sections. */
5959
+ languages?: string[];
5960
+ /** @description Certifications. Present only when requested via linkedin_sections. */
5961
+ certifications?: Record<string, never>[];
5962
+ /** @description Projects. Present only when requested via linkedin_sections. */
5963
+ projects?: Record<string, never>[];
5964
+ /** @description Volunteering experience entries. Present only when requested via linkedin_sections. */
5965
+ volunteering_experience?: Record<string, never>[];
5966
+ /** @description Recommendations (content pass-through — never stored). Present only when requested via linkedin_sections. */
5967
+ recommendations?: Record<string, never>[];
5968
+ /** @description Sections LinkedIn rate-limited away for this request. */
5969
+ throttled_sections?: string[];
5936
5970
  };
5937
5971
  };
5938
5972
  };
@@ -8309,7 +8343,7 @@ interface paths {
8309
8343
  };
8310
8344
  /**
8311
8345
  * Resolve search-filter IDs (Recruiter)
8312
- * @description Resolve human-readable terms to opaque Recruiter filter IDs for use in people search requests. The type parameter selects the filter family; type must be one of the 6 verified Recruiter values: GROUPS, DEPARTMENT, HIRING_PROJECTS, SAVED_SEARCHES, SAVED_FILTERS, DEGREE. Classic-only types (JOB_TITLE, LOCATION, PEOPLE, COMPANY, etc.) are rejected with 400 at schema validation, before any external call. Requires a Recruiter seat.
8346
+ * @description Resolve human-readable terms to opaque Recruiter filter IDs for use in people search requests. The type parameter selects the filter family; type must be one of the 6 Recruiter values: GROUPS, DEPARTMENT, HIRING_PROJECTS, SAVED_SEARCHES, SAVED_FILTERS, DEGREE. Classic-only types (JOB_TITLE, LOCATION, PEOPLE, COMPANY, etc.) are rejected with 400 at schema validation, before any external call. Requires a Recruiter seat.
8313
8347
  */
8314
8348
  get: {
8315
8349
  parameters: {
@@ -12288,7 +12322,7 @@ interface paths {
12288
12322
  };
12289
12323
  /**
12290
12324
  * Resolve search-filter IDs (Sales Navigator)
12291
- * @description Resolve human-readable terms to opaque Sales Navigator filter IDs for use in people or company search requests. The type parameter selects the filter family; type must be one of the 12 verified SN values. Classic-only types (LOCATION, PEOPLE, JOB_TITLE, etc.) are rejected with 400 at schema validation, before any external call. To resolve PEOPLE IDs (for the connections_of filter), use GET /v1/search/parameters instead. Requires a Sales Navigator seat.
12325
+ * @description Resolve human-readable terms to opaque Sales Navigator filter IDs for use in people or company search requests. The type parameter selects the filter family; type must be one of the 12 Sales Navigator values. Classic-only types (LOCATION, PEOPLE, JOB_TITLE, etc.) are rejected with 400 at schema validation, before any external call. To resolve PEOPLE IDs (for the connections_of filter), use GET /v1/search/parameters instead. Requires a Sales Navigator seat.
12292
12326
  */
12293
12327
  get: {
12294
12328
  parameters: {
@@ -14293,7 +14327,7 @@ interface paths {
14293
14327
  }[];
14294
14328
  /** @description Messaging events to subscribe to (default: [message.received]) */
14295
14329
  events?: ("message.received" | "message.delivered" | "message.read" | "message.reaction" | "message.edited" | "message.deleted")[];
14296
- /** @description Field-remapping keys for the messaging delivery payload (Array 1) */
14330
+ /** @description Field-remapping keys for the messaging delivery payload */
14297
14331
  data?: string[];
14298
14332
  } | {
14299
14333
  /** @constant */
@@ -14318,7 +14352,7 @@ interface paths {
14318
14352
  }[];
14319
14353
  /** @description User/relation events to subscribe to (default: [connection.accepted]) */
14320
14354
  events?: "connection.accepted"[];
14321
- /** @description Field-remapping keys for the user/relation delivery payload (Array 2) */
14355
+ /** @description Field-remapping keys for the user/relation delivery payload */
14322
14356
  data?: ("user_provider_id" | "user_full_name" | "user_public_identifier" | "user_profile_url" | "user_picture_url")[];
14323
14357
  } | {
14324
14358
  /** @constant */
@@ -15150,6 +15184,8 @@ declare class MessagingResource {
15150
15184
  /** Strip `account_id` from a query-param type (injected by the account-scoped context). */
15151
15185
  type WithoutAccountId<T> = Omit<T, "account_id">;
15152
15186
  type ProfileDetail = paths["/v1/profiles/me"]["get"]["responses"]["200"]["content"]["application/json"];
15187
+ /** Caller-facing query params for `profiles.getMe()` — `account_id` is injected by context. */
15188
+ type ProfileGetMeParams = WithoutAccountId<paths["/v1/profiles/me"]["get"]["parameters"]["query"]>;
15153
15189
  type ProfileGetResult = paths["/v1/profiles/{profile_id}"]["get"]["responses"]["200"]["content"]["application/json"];
15154
15190
  /** Caller-facing query params for `profiles.get()` — `account_id` is injected by context. */
15155
15191
  type ProfileGetParams = WithoutAccountId<paths["/v1/profiles/{profile_id}"]["get"]["parameters"]["query"]>;
@@ -15169,8 +15205,12 @@ type EndorseResult = paths["/v1/profiles/{profile_id}/endorse"]["post"]["respons
15169
15205
  declare class ProfilesResource {
15170
15206
  protected readonly ctx: RequestContext;
15171
15207
  constructor(ctx: RequestContext);
15172
- /** Get the account's own LinkedIn profile. `GET /v1/profiles/me` */
15173
- getMe(): Promise<ProfileDetail>;
15208
+ /**
15209
+ * Get the account's own LinkedIn profile. `GET /v1/profiles/me`
15210
+ * Pass `{ linkedin_sections: ['about', 'experience', ...] }` to request enriched sections.
15211
+ * The `account_id` is injected by the account-scoped context.
15212
+ */
15213
+ getMe(params?: ProfileGetMeParams): Promise<ProfileDetail>;
15174
15214
  /**
15175
15215
  * Get a LinkedIn member profile by id or public handle.
15176
15216
  * `GET /v1/profiles/{profile_id}`
package/dist/index.js CHANGED
@@ -182,7 +182,14 @@ function buildUrl(path, opts) {
182
182
  const url = new URL(path, opts.baseUrl);
183
183
  if (opts.query) {
184
184
  for (const [key, value] of Object.entries(opts.query)) {
185
- if (value !== void 0 && value !== null) url.searchParams.set(key, String(value));
185
+ if (value === void 0 || value === null) continue;
186
+ if (Array.isArray(value)) {
187
+ for (const v of value) {
188
+ url.searchParams.append(key, String(v));
189
+ }
190
+ } else {
191
+ url.searchParams.set(key, String(value));
192
+ }
186
193
  }
187
194
  }
188
195
  return url.toString();
@@ -575,11 +582,16 @@ var ProfilesResource = class {
575
582
  constructor(ctx) {
576
583
  this.ctx = ctx;
577
584
  }
578
- /** Get the account's own LinkedIn profile. `GET /v1/profiles/me` */
579
- getMe() {
585
+ /**
586
+ * Get the account's own LinkedIn profile. `GET /v1/profiles/me`
587
+ * Pass `{ linkedin_sections: ['about', 'experience', ...] }` to request enriched sections.
588
+ * The `account_id` is injected by the account-scoped context.
589
+ */
590
+ getMe(params) {
580
591
  return this.ctx.request({
581
592
  method: "GET",
582
- path: "/v1/profiles/me"
593
+ path: "/v1/profiles/me",
594
+ ...params ? { query: params } : {}
583
595
  });
584
596
  }
585
597
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@curviate/sdk",
3
- "version": "0.1.1",
3
+ "version": "0.2.0",
4
4
  "private": false,
5
5
  "description": "TypeScript SDK for the Curviate API.",
6
6
  "license": "MIT",
@@ -2472,6 +2472,8 @@ export interface paths {
2472
2472
  * @enum {number}
2473
2473
  */
2474
2474
  pinned?: 0 | 1;
2475
+ /** @description The conversation subject or InMail subject line; null when none. */
2476
+ subject?: ((string | null) | null) | null;
2475
2477
  }[];
2476
2478
  /** @description Next-page cursor; null on the last page. */
2477
2479
  cursor?: string | null;
@@ -2856,6 +2858,8 @@ export interface paths {
2856
2858
  * @enum {number}
2857
2859
  */
2858
2860
  pinned?: 0 | 1;
2861
+ /** @description The conversation subject or InMail subject line; null when none. */
2862
+ subject?: ((string | null) | null) | null;
2859
2863
  /** @description The most recent message in the chat, or null if empty. */
2860
2864
  lastMessage?: {
2861
2865
  /**
@@ -4963,13 +4967,13 @@ export interface paths {
4963
4967
  account_id: string;
4964
4968
  /** @description Post body text (1–3000 chars). Not stored or logged. */
4965
4969
  text: string;
4966
- /** @description social_id of a post to repost. Reachability verified live by qa. */
4970
+ /** @description social_id of a post to repost. */
4967
4971
  repost?: string;
4968
- /** @description External URL to include in the post. Reachability verified live by qa. */
4972
+ /** @description External URL to include in the post. */
4969
4973
  external_link?: string;
4970
- /** @description Company page social_id to post as. Reachability verified live by qa. */
4974
+ /** @description Company page social_id to post as. */
4971
4975
  as_organization?: string;
4972
- /** @description JSON-encoded array of mention objects ({name, profile_id, is_company}). Reachability verified live by qa. */
4976
+ /** @description JSON-encoded array of mention objects ({name, profile_id, is_company}). */
4973
4977
  mentions?: {
4974
4978
  /** @description Display name of the mentioned person or company. */
4975
4979
  name: string;
@@ -4978,7 +4982,7 @@ export interface paths {
4978
4982
  /** @description true if the mention is a company page. */
4979
4983
  is_company: boolean;
4980
4984
  }[];
4981
- /** @description Include a job posting in the post. Reachability verified live by qa. */
4985
+ /** @description Include a job posting in the post. */
4982
4986
  include_job_posting?: boolean;
4983
4987
  /**
4984
4988
  * Format: binary
@@ -5139,7 +5143,7 @@ export interface paths {
5139
5143
  query: {
5140
5144
  /** @description Account ID to use for the request. */
5141
5145
  account_id: string;
5142
- /** @description When supplied, returns replies to this comment instead of top-level comments. Reachability verified live by qa. */
5146
+ /** @description When supplied, returns replies to this comment instead of top-level comments. */
5143
5147
  comment_id?: string;
5144
5148
  /** @description Maximum comments to return (1–50, default 20). */
5145
5149
  limit?: number;
@@ -5306,9 +5310,9 @@ export interface paths {
5306
5310
  account_id: string;
5307
5311
  /** @description Comment text (1–1250 chars). Not stored or logged. */
5308
5312
  text: string;
5309
- /** @description When supplied, this comment is a reply to that comment rather than a top-level reply to the post. Reachability verified live by qa. */
5313
+ /** @description When supplied, this comment is a reply to that comment rather than a top-level reply to the post. */
5310
5314
  comment_id?: string;
5311
- /** @description JSON-encoded array of mention objects ({name, profile_id, is_company}). Reachability verified live by qa. */
5315
+ /** @description JSON-encoded array of mention objects ({name, profile_id, is_company}). */
5312
5316
  mentions?: {
5313
5317
  /** @description Display name of the mentioned person or company. */
5314
5318
  name: string;
@@ -5317,9 +5321,9 @@ export interface paths {
5317
5321
  /** @description true if the mention is a company page. */
5318
5322
  is_company: boolean;
5319
5323
  }[];
5320
- /** @description Company page social_id to comment as. Reachability verified live by qa. */
5324
+ /** @description Company page social_id to comment as. */
5321
5325
  as_organization?: string;
5322
- /** @description External URL to include in the comment. Reachability verified live by qa. */
5326
+ /** @description External URL to include in the comment. */
5323
5327
  external_link?: string;
5324
5328
  /**
5325
5329
  * Format: binary
@@ -5468,7 +5472,7 @@ export interface paths {
5468
5472
  };
5469
5473
  /**
5470
5474
  * List a post's reactions
5471
- * @description Returns reactions on a post. Each item includes the UPPERCASE reaction value and author. Error mapping is conservative — raw-path errors map to 502 unless qa verifies a cleaner status.
5475
+ * @description Returns reactions on a post. Each item includes the UPPERCASE reaction value and author.
5472
5476
  */
5473
5477
  get: {
5474
5478
  parameters: {
@@ -5643,9 +5647,9 @@ export interface paths {
5643
5647
  * @enum {string}
5644
5648
  */
5645
5649
  reaction: "like" | "celebrate" | "support" | "love" | "insightful" | "funny";
5646
- /** @description When supplied, the reaction applies to this comment rather than the post. Reachability verified live by qa. */
5650
+ /** @description When supplied, the reaction applies to this comment rather than the post. */
5647
5651
  comment_id?: string;
5648
- /** @description Company page to react as. Reachability verified live by qa. */
5652
+ /** @description Company page to react as. */
5649
5653
  as_organization?: string;
5650
5654
  };
5651
5655
  };
@@ -5774,13 +5778,15 @@ export interface paths {
5774
5778
  };
5775
5779
  /**
5776
5780
  * Retrieve your own profile
5777
- * @description Returns the connected account's own LinkedIn profile — name, headline, location, email, and premium/open-profile status.
5781
+ * @description Returns the connected account's own LinkedIn profile — name, headline, location, email, and premium/open-profile status. Request extra sections via linkedin_sections.
5778
5782
  */
5779
5783
  get: {
5780
5784
  parameters: {
5781
5785
  query: {
5782
5786
  /** @description The connected LinkedIn account to read with (acc_…). Required. */
5783
5787
  account_id: string;
5788
+ /** @description Which profile sections to fetch (repeatable). Allowed values: * (all sections), *_preview, about, experience, education, languages, skills, certifications, volunteering_experience, projects, recommendations_received, recommendations_given, and the _preview variant of each section. Omit for base fields only. */
5789
+ linkedin_sections?: ("*" | "*_preview" | "about" | "about_preview" | "experience" | "experience_preview" | "education" | "education_preview" | "languages" | "languages_preview" | "skills" | "skills_preview" | "certifications" | "certifications_preview" | "volunteering_experience" | "volunteering_experience_preview" | "projects" | "projects_preview" | "recommendations_received" | "recommendations_received_preview" | "recommendations_given" | "recommendations_given_preview")[];
5784
5790
  };
5785
5791
  header?: never;
5786
5792
  path?: never;
@@ -5813,12 +5819,12 @@ export interface paths {
5813
5819
  /** @description Last name. */
5814
5820
  last_name?: string;
5815
5821
  /** @description LinkedIn public identifier (the slug after linkedin.com/in/). */
5816
- public_identifier?: string;
5817
- /** @description Full LinkedIn public profile URL. */
5822
+ public_identifier?: string | null;
5823
+ /** @description Full LinkedIn public profile URL, synthesized from the public identifier; null if the account has none. */
5818
5824
  public_profile_url?: string | null;
5819
5825
  /** @description Profile picture URL, or null if not set. */
5820
5826
  profile_picture_url?: string | null;
5821
- /** @description LinkedIn headline. */
5827
+ /** @description LinkedIn headline. Empty by default for the account's own profile; supply linkedin_sections to return the populated headline (enrichment path). */
5822
5828
  headline?: string | null;
5823
5829
  /** @description Location as set on the profile. */
5824
5830
  location?: string | null;
@@ -5827,11 +5833,35 @@ export interface paths {
5827
5833
  /** @description Current occupation or role. */
5828
5834
  occupation?: string | null;
5829
5835
  /** @description true if this is a LinkedIn Premium account. */
5830
- premium?: boolean;
5836
+ is_premium?: boolean;
5831
5837
  /** @description true if the account has an open profile enabled. */
5832
- open_profile?: boolean;
5838
+ is_open_profile?: boolean;
5833
5839
  /** @description Organizations the account is associated with. */
5834
5840
  organizations?: Record<string, never>[];
5841
+ /** @description Total follower count. Absent by default; present only when linkedin_sections is supplied (enrichment path). */
5842
+ follower_count?: number;
5843
+ /** @description Total connection count. Absent by default; present only when linkedin_sections is supplied (enrichment path). */
5844
+ connections_count?: number;
5845
+ /** @description About/summary text (content pass-through — never stored). Present only when requested via linkedin_sections. */
5846
+ summary?: string | null;
5847
+ /** @description Work experience entries. Present only when requested via linkedin_sections. */
5848
+ work_experience?: Record<string, never>[];
5849
+ /** @description Education entries. Present only when requested via linkedin_sections. */
5850
+ education?: Record<string, never>[];
5851
+ /** @description Skills list. Present only when requested via linkedin_sections. */
5852
+ skills?: string[];
5853
+ /** @description Languages. Present only when requested via linkedin_sections. */
5854
+ languages?: string[];
5855
+ /** @description Certifications. Present only when requested via linkedin_sections. */
5856
+ certifications?: Record<string, never>[];
5857
+ /** @description Projects. Present only when requested via linkedin_sections. */
5858
+ projects?: Record<string, never>[];
5859
+ /** @description Volunteering experience entries. Present only when requested via linkedin_sections. */
5860
+ volunteering_experience?: Record<string, never>[];
5861
+ /** @description Recommendations (content pass-through — never stored). Present only when requested via linkedin_sections. */
5862
+ recommendations?: Record<string, never>[];
5863
+ /** @description Sections LinkedIn rate-limited away for this request. */
5864
+ throttled_sections?: string[];
5835
5865
  };
5836
5866
  };
5837
5867
  };
@@ -8208,7 +8238,7 @@ export interface paths {
8208
8238
  };
8209
8239
  /**
8210
8240
  * Resolve search-filter IDs (Recruiter)
8211
- * @description Resolve human-readable terms to opaque Recruiter filter IDs for use in people search requests. The type parameter selects the filter family; type must be one of the 6 verified Recruiter values: GROUPS, DEPARTMENT, HIRING_PROJECTS, SAVED_SEARCHES, SAVED_FILTERS, DEGREE. Classic-only types (JOB_TITLE, LOCATION, PEOPLE, COMPANY, etc.) are rejected with 400 at schema validation, before any external call. Requires a Recruiter seat.
8241
+ * @description Resolve human-readable terms to opaque Recruiter filter IDs for use in people search requests. The type parameter selects the filter family; type must be one of the 6 Recruiter values: GROUPS, DEPARTMENT, HIRING_PROJECTS, SAVED_SEARCHES, SAVED_FILTERS, DEGREE. Classic-only types (JOB_TITLE, LOCATION, PEOPLE, COMPANY, etc.) are rejected with 400 at schema validation, before any external call. Requires a Recruiter seat.
8212
8242
  */
8213
8243
  get: {
8214
8244
  parameters: {
@@ -12187,7 +12217,7 @@ export interface paths {
12187
12217
  };
12188
12218
  /**
12189
12219
  * Resolve search-filter IDs (Sales Navigator)
12190
- * @description Resolve human-readable terms to opaque Sales Navigator filter IDs for use in people or company search requests. The type parameter selects the filter family; type must be one of the 12 verified SN values. Classic-only types (LOCATION, PEOPLE, JOB_TITLE, etc.) are rejected with 400 at schema validation, before any external call. To resolve PEOPLE IDs (for the connections_of filter), use GET /v1/search/parameters instead. Requires a Sales Navigator seat.
12220
+ * @description Resolve human-readable terms to opaque Sales Navigator filter IDs for use in people or company search requests. The type parameter selects the filter family; type must be one of the 12 Sales Navigator values. Classic-only types (LOCATION, PEOPLE, JOB_TITLE, etc.) are rejected with 400 at schema validation, before any external call. To resolve PEOPLE IDs (for the connections_of filter), use GET /v1/search/parameters instead. Requires a Sales Navigator seat.
12191
12221
  */
12192
12222
  get: {
12193
12223
  parameters: {
@@ -14192,7 +14222,7 @@ export interface paths {
14192
14222
  }[];
14193
14223
  /** @description Messaging events to subscribe to (default: [message.received]) */
14194
14224
  events?: ("message.received" | "message.delivered" | "message.read" | "message.reaction" | "message.edited" | "message.deleted")[];
14195
- /** @description Field-remapping keys for the messaging delivery payload (Array 1) */
14225
+ /** @description Field-remapping keys for the messaging delivery payload */
14196
14226
  data?: string[];
14197
14227
  } | {
14198
14228
  /** @constant */
@@ -14217,7 +14247,7 @@ export interface paths {
14217
14247
  }[];
14218
14248
  /** @description User/relation events to subscribe to (default: [connection.accepted]) */
14219
14249
  events?: "connection.accepted"[];
14220
- /** @description Field-remapping keys for the user/relation delivery payload (Array 2) */
14250
+ /** @description Field-remapping keys for the user/relation delivery payload */
14221
14251
  data?: ("user_provider_id" | "user_full_name" | "user_public_identifier" | "user_profile_url" | "user_picture_url")[];
14222
14252
  } | {
14223
14253
  /** @constant */