@curviate/sdk 0.32.0 → 0.33.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 +58 -0
- package/dist/index.d.ts +59 -26
- package/dist/index.js +18 -0
- package/package.json +1 -1
- package/src/generated/types.ts +41 -26
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,64 @@ Versioning: semantic. Minor for additive changes, patch for bug fixes; no stabil
|
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
+
## [0.33.0] - 2026-09-17
|
|
11
|
+
|
|
12
|
+
The InMail subject on the message reads, now typed. Fixture and types
|
|
13
|
+
regenerated against the deployed production document
|
|
14
|
+
(`https://api.curviate.com`, 127 paths, server `a38f685e`); the exact source
|
|
15
|
+
commit is recorded in `fixtures/PROVENANCE.json`.
|
|
16
|
+
|
|
17
|
+
### Added
|
|
18
|
+
|
|
19
|
+
- **`MessageDetail["specifics"]`** types as `{ subject?: string | null }`, on
|
|
20
|
+
`messaging.getMessage()` and each item of `messaging.listMessages()`. The
|
|
21
|
+
served object is narrowed to `subject` alone (`additionalProperties: false`).
|
|
22
|
+
`getChat()`, `listChats()` and `inboxes.listChats()` carry no `specifics` on
|
|
23
|
+
their embedded `last_message`.
|
|
24
|
+
|
|
25
|
+
### Changed
|
|
26
|
+
|
|
27
|
+
- **`recruiter.startChat()` `follow_up.subject` retention copy corrected.** It
|
|
28
|
+
previously read "Never stored and never logged, on any path", which is not
|
|
29
|
+
supportable: a Recruiter follow-up is an InMail, so once sent it lands in the
|
|
30
|
+
classic InMail inbox that the chat reads harvest. The served document now
|
|
31
|
+
states the conditional, and the regenerated types and fixture carry it.
|
|
32
|
+
- **`messages.sendInmail()` `text`** and the `last_message` descriptions on the
|
|
33
|
+
chat reads carry the same corrected retention wording.
|
|
34
|
+
|
|
35
|
+
### Documented
|
|
36
|
+
|
|
37
|
+
- **`messaging.listMessages()` / `messaging.getMessage()`**: an InMail thread's
|
|
38
|
+
subject line arrives on a message as `specifics.subject`, set on the thread's
|
|
39
|
+
opening message. The chat object carries no subject at all, and `chat.name` is
|
|
40
|
+
the counterpart's display name, so the subject is read off the first message
|
|
41
|
+
and not off the chat. An ordinary message returns `specifics: {}`. The served
|
|
42
|
+
`specifics` object is narrowed to `subject` alone.
|
|
43
|
+
- **`messaging.getChat()` / `listChats()` / `inboxes.listChats()`**: a chat read
|
|
44
|
+
carries no subject anywhere, its embedded `last_message` included. The preview
|
|
45
|
+
is deliberately narrower than a message read so that a chat read returns the
|
|
46
|
+
same fields whether it was answered live or from Curviate's stored copy. Read
|
|
47
|
+
the chat's messages to get a subject.
|
|
48
|
+
|
|
49
|
+
### Fixture drift swept in by the refresh
|
|
50
|
+
|
|
51
|
+
The refresh also picked up already-deployed drift the previous fixture lagged
|
|
52
|
+
(it was captured from staging `c98d526`, 2026-09-15). All of it is real served
|
|
53
|
+
state, verified against both `api.curviate.com` and `api.staging.curviate.com`:
|
|
54
|
+
|
|
55
|
+
- Error-response `examples` blocks removed on **144** operations (343 response
|
|
56
|
+
slots), on status codes 409, 422, 503 and 504 only. This is server commit
|
|
57
|
+
`57afde5c5`, "error examples use only codes the API emits", which landed
|
|
58
|
+
immediately after the previous fixture's base. The earlier estimate of ~38
|
|
59
|
+
operations undercounted.
|
|
60
|
+
- Prose corrections to a handful of already-served descriptions: the 503 on the
|
|
61
|
+
applicant-résumé read now names its code, the Sales Navigator chat 422 names
|
|
62
|
+
only the code it emits, the auth-intent 402 describes both codes it can
|
|
63
|
+
carry, and the safety-policy descriptions drop raw path templates and say
|
|
64
|
+
"tenant" rather than "workspace".
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
10
68
|
## [0.32.0] - 2026-09-15
|
|
11
69
|
|
|
12
70
|
Seat discovery for connecting an account. Additive; nothing removed or renamed.
|
package/dist/index.d.ts
CHANGED
|
@@ -847,7 +847,7 @@ interface paths {
|
|
|
847
847
|
put?: never;
|
|
848
848
|
/**
|
|
849
849
|
* Start a chat
|
|
850
|
-
* @description Starts a new chat with one or more members from a connected account. Send application/json; attach files as base64-encoded attachments (max 5 MiB per file, and 9 MiB for the whole request body; base64 makes a file about a third larger in the body than on disk).
|
|
850
|
+
* @description Starts a new chat with one or more members from a connected account. Send application/json; attach files as base64-encoded attachments (max 5 MiB per file, and 9 MiB for the whole request body; base64 makes a file about a third larger in the body than on disk). This call keeps nothing and logs nothing. Once sent it is a message in the account's inbox, so reading that conversation back through Curviate stores its body in your tenant's inbox records, with no expiry. Company pages are reply-only and cannot start a conversation; reply using a `COMPANY_` chat id from GET /v1/{account_id}/inboxes/{inbox_id}/chats instead.
|
|
851
851
|
*/
|
|
852
852
|
post: operations["postV1AccountIdChats"];
|
|
853
853
|
delete?: never;
|
|
@@ -895,7 +895,7 @@ interface paths {
|
|
|
895
895
|
put?: never;
|
|
896
896
|
/**
|
|
897
897
|
* Send a message
|
|
898
|
-
* @description Sends a message into an existing chat. Send application/json with text, base64 attachments (max 5 MiB per file, and 9 MiB for the whole request body; base64 makes a file about a third larger in the body than on disk), or both; at least one of text or attachments is required.
|
|
898
|
+
* @description Sends a message into an existing chat. Send application/json with text, base64 attachments (max 5 MiB per file, and 9 MiB for the whole request body; base64 makes a file about a third larger in the body than on disk), or both; at least one of text or attachments is required. This call keeps nothing and logs nothing. Once sent it is a message in the account's inbox, so reading that conversation back through Curviate stores its body in your tenant's inbox records, with no expiry. Sending on behalf of a company page: use a COMPANY_ chat id (from GET /v1/{account_id}/inboxes/{inbox_id}/chats) and the message sends AS THE PAGE, no separate parameter needed. The response's sent_as field names the acting identity that was actually used. Company pages are reply-only: this endpoint can answer an existing conversation on a page's behalf, but a page can never start a new one.
|
|
899
899
|
*/
|
|
900
900
|
post: operations["postV1AccountIdChatsChatIdMessages"];
|
|
901
901
|
delete?: never;
|
|
@@ -2885,7 +2885,7 @@ interface components {
|
|
|
2885
2885
|
chat_id?: string;
|
|
2886
2886
|
/** @description Identifier of the sender. */
|
|
2887
2887
|
sender_id?: string;
|
|
2888
|
-
/** @description Full message text
|
|
2888
|
+
/** @description Full message text. Curviate does not keep it on the way out; reading a conversation back stores its message bodies in your tenant's inbox records, with no expiry. */
|
|
2889
2889
|
text?: string | null;
|
|
2890
2890
|
/** @description Attachment descriptors (no bytes, use the attachment endpoint to download). */
|
|
2891
2891
|
attachments?: {
|
|
@@ -2920,6 +2920,11 @@ interface components {
|
|
|
2920
2920
|
reaction_count?: number;
|
|
2921
2921
|
/** @description The platform this message originates from. */
|
|
2922
2922
|
provider?: string;
|
|
2923
|
+
/** @description Platform-specific detail on the message. Carries `subject` for an InMail, which is set on the thread's opening message; absent or empty for an ordinary message. */
|
|
2924
|
+
specifics?: {
|
|
2925
|
+
/** @description The InMail subject line, when the platform carries one on this message. Ordinary messages have none. Reading a conversation back stores the subject in your tenant's inbox records alongside the body, with no expiry. */
|
|
2926
|
+
subject?: string | null;
|
|
2927
|
+
};
|
|
2923
2928
|
/** @description The sender's profile, when the platform returned one alongside the message. sender_id always carries the identifier; this object carries the rest of what is known about that person. */
|
|
2924
2929
|
sender?: {
|
|
2925
2930
|
/** @description Identifier of the counterpart. */
|
|
@@ -10336,7 +10341,7 @@ interface operations {
|
|
|
10336
10341
|
last_message_timestamp?: string;
|
|
10337
10342
|
/** @description Identifier of the 1:1 counterpart. */
|
|
10338
10343
|
user_id?: string;
|
|
10339
|
-
/** @description The most recent message in the chat. */
|
|
10344
|
+
/** @description The most recent message in the chat. Subjects are not previewed here, read the chat's messages for one. */
|
|
10340
10345
|
last_message?: {
|
|
10341
10346
|
/**
|
|
10342
10347
|
* @description Response type discriminator.
|
|
@@ -10352,7 +10357,7 @@ interface operations {
|
|
|
10352
10357
|
chat_id?: string;
|
|
10353
10358
|
/** @description Identifier of the sender. */
|
|
10354
10359
|
sender_id?: string;
|
|
10355
|
-
/** @description Full message text
|
|
10360
|
+
/** @description Full message text. Curviate does not keep it on the way out; reading a conversation back stores its message bodies in your tenant's inbox records, with no expiry. */
|
|
10356
10361
|
text?: string | null;
|
|
10357
10362
|
/** @description Attachment descriptors (no bytes, use the attachment endpoint to download). */
|
|
10358
10363
|
attachments?: {
|
|
@@ -10761,7 +10766,7 @@ interface operations {
|
|
|
10761
10766
|
last_message_timestamp?: string;
|
|
10762
10767
|
/** @description Identifier of the 1:1 counterpart. */
|
|
10763
10768
|
user_id?: string;
|
|
10764
|
-
/** @description The most recent message in the chat. */
|
|
10769
|
+
/** @description The most recent message in the chat. Subjects are not previewed here, read the chat's messages for one. */
|
|
10765
10770
|
last_message?: {
|
|
10766
10771
|
/**
|
|
10767
10772
|
* @description Response type discriminator.
|
|
@@ -10777,7 +10782,7 @@ interface operations {
|
|
|
10777
10782
|
chat_id?: string;
|
|
10778
10783
|
/** @description Identifier of the sender. */
|
|
10779
10784
|
sender_id?: string;
|
|
10780
|
-
/** @description Full message text
|
|
10785
|
+
/** @description Full message text. Curviate does not keep it on the way out; reading a conversation back stores its message bodies in your tenant's inbox records, with no expiry. */
|
|
10781
10786
|
text?: string | null;
|
|
10782
10787
|
/** @description Attachment descriptors (no bytes, use the attachment endpoint to download). */
|
|
10783
10788
|
attachments?: {
|
|
@@ -11147,7 +11152,7 @@ interface operations {
|
|
|
11147
11152
|
chat_id?: string;
|
|
11148
11153
|
/** @description Identifier of the sender. */
|
|
11149
11154
|
sender_id?: string;
|
|
11150
|
-
/** @description Full message text
|
|
11155
|
+
/** @description Full message text. Curviate does not keep it on the way out; reading a conversation back stores its message bodies in your tenant's inbox records, with no expiry. */
|
|
11151
11156
|
text?: string | null;
|
|
11152
11157
|
/** @description Attachment descriptors (no bytes, use the attachment endpoint to download). */
|
|
11153
11158
|
attachments?: {
|
|
@@ -11182,6 +11187,11 @@ interface operations {
|
|
|
11182
11187
|
reaction_count?: number;
|
|
11183
11188
|
/** @description The platform this message originates from. */
|
|
11184
11189
|
provider?: string;
|
|
11190
|
+
/** @description Platform-specific detail on the message. Carries `subject` for an InMail, which is set on the thread's opening message; absent or empty for an ordinary message. */
|
|
11191
|
+
specifics?: {
|
|
11192
|
+
/** @description The InMail subject line, when the platform carries one on this message. Ordinary messages have none. Reading a conversation back stores the subject in your tenant's inbox records alongside the body, with no expiry. */
|
|
11193
|
+
subject?: string | null;
|
|
11194
|
+
};
|
|
11185
11195
|
/** @description The sender's profile, when the platform returned one alongside the message. sender_id always carries the identifier; this object carries the rest of what is known about that person. */
|
|
11186
11196
|
sender?: {
|
|
11187
11197
|
/** @description Identifier of the counterpart. */
|
|
@@ -11526,7 +11536,7 @@ interface operations {
|
|
|
11526
11536
|
chat_id?: string;
|
|
11527
11537
|
/** @description Identifier of the sender. */
|
|
11528
11538
|
sender_id?: string;
|
|
11529
|
-
/** @description Full message text
|
|
11539
|
+
/** @description Full message text. Curviate does not keep it on the way out; reading a conversation back stores its message bodies in your tenant's inbox records, with no expiry. */
|
|
11530
11540
|
text?: string | null;
|
|
11531
11541
|
/** @description Attachment descriptors (no bytes, use the attachment endpoint to download). */
|
|
11532
11542
|
attachments?: {
|
|
@@ -11561,6 +11571,11 @@ interface operations {
|
|
|
11561
11571
|
reaction_count?: number;
|
|
11562
11572
|
/** @description The platform this message originates from. */
|
|
11563
11573
|
provider?: string;
|
|
11574
|
+
/** @description Platform-specific detail on the message. Carries `subject` for an InMail, which is set on the thread's opening message; absent or empty for an ordinary message. */
|
|
11575
|
+
specifics?: {
|
|
11576
|
+
/** @description The InMail subject line, when the platform carries one on this message. Ordinary messages have none. Reading a conversation back stores the subject in your tenant's inbox records alongside the body, with no expiry. */
|
|
11577
|
+
subject?: string | null;
|
|
11578
|
+
};
|
|
11564
11579
|
/** @description The sender's profile, when the platform returned one alongside the message. sender_id always carries the identifier; this object carries the rest of what is known about that person. */
|
|
11565
11580
|
sender?: {
|
|
11566
11581
|
/** @description Identifier of the counterpart. */
|
|
@@ -12218,7 +12233,7 @@ interface operations {
|
|
|
12218
12233
|
id?: string;
|
|
12219
12234
|
/** @description Account id that owns this message. */
|
|
12220
12235
|
account_id?: string;
|
|
12221
|
-
/** @description Full message text
|
|
12236
|
+
/** @description Full message text. Curviate does not keep it on the way out; reading a conversation back stores its message bodies in your tenant's inbox records, with no expiry. */
|
|
12222
12237
|
text?: string | null;
|
|
12223
12238
|
/** @description Identifier of the sender. */
|
|
12224
12239
|
sender_id?: string;
|
|
@@ -12357,7 +12372,7 @@ interface operations {
|
|
|
12357
12372
|
recipient_urn: string;
|
|
12358
12373
|
/** @description InMail subject line (1-200 chars). */
|
|
12359
12374
|
subject: string;
|
|
12360
|
-
/** @description InMail body text (1-8000 chars). */
|
|
12375
|
+
/** @description InMail body text (1-8000 chars). This call keeps nothing and logs nothing. Once sent it is a message in the account's InMail inbox, so reading that chat back through Curviate stores its body in your tenant's inbox records, with no expiry. */
|
|
12361
12376
|
text: string;
|
|
12362
12377
|
};
|
|
12363
12378
|
};
|
|
@@ -12700,7 +12715,7 @@ interface operations {
|
|
|
12700
12715
|
last_message_timestamp?: string;
|
|
12701
12716
|
/** @description Identifier of the 1:1 counterpart. */
|
|
12702
12717
|
user_id?: string;
|
|
12703
|
-
/** @description The most recent message in the chat. */
|
|
12718
|
+
/** @description The most recent message in the chat. Subjects are not previewed here, read the chat's messages for one. */
|
|
12704
12719
|
last_message?: {
|
|
12705
12720
|
/**
|
|
12706
12721
|
* @description Response type discriminator.
|
|
@@ -12716,7 +12731,7 @@ interface operations {
|
|
|
12716
12731
|
chat_id?: string;
|
|
12717
12732
|
/** @description Identifier of the sender. */
|
|
12718
12733
|
sender_id?: string;
|
|
12719
|
-
/** @description Full message text
|
|
12734
|
+
/** @description Full message text. Curviate does not keep it on the way out; reading a conversation back stores its message bodies in your tenant's inbox records, with no expiry. */
|
|
12720
12735
|
text?: string | null;
|
|
12721
12736
|
/** @description Attachment descriptors (no bytes, use the attachment endpoint to download). */
|
|
12722
12737
|
attachments?: {
|
|
@@ -17974,7 +17989,7 @@ interface operations {
|
|
|
17974
17989
|
"application/json": components["schemas"]["Error"];
|
|
17975
17990
|
};
|
|
17976
17991
|
};
|
|
17977
|
-
/** @description
|
|
17992
|
+
/** @description LINKEDIN_SERVICE_UNAVAILABLE, the résumé is still being generated and was not ready in time. Retry the request shortly. */
|
|
17978
17993
|
503: {
|
|
17979
17994
|
headers: {
|
|
17980
17995
|
[name: string]: unknown;
|
|
@@ -20180,11 +20195,11 @@ interface operations {
|
|
|
20180
20195
|
"application/json": {
|
|
20181
20196
|
/** @description One or more Recruiter member IDs (AE... format) to include in the chat. */
|
|
20182
20197
|
attendees_ids: string[];
|
|
20183
|
-
/** @description Opening message text (1-8000 chars).
|
|
20198
|
+
/** @description Opening message text (1-8000 chars). This call keeps nothing and logs nothing. Once sent it is a message in the account's InMail inbox, so reading that chat back through Curviate stores its body in your tenant's inbox records, with no expiry. */
|
|
20184
20199
|
text: string;
|
|
20185
20200
|
/** @description Subject line; REQUIRED for Recruiter (InMail-based messaging), unlike the classic surface (<= 200 chars). */
|
|
20186
20201
|
subject: string;
|
|
20187
|
-
/** @description Sender signature; REQUIRED for Recruiter.
|
|
20202
|
+
/** @description Sender signature; REQUIRED for Recruiter. Kept as a field by neither this call nor the log. The platform renders it into the sent message body, which is stored if that chat is later read back through Curviate. */
|
|
20188
20203
|
signature: string;
|
|
20189
20204
|
/**
|
|
20190
20205
|
* @description Visibility of the recruiter chat.
|
|
@@ -20203,11 +20218,11 @@ interface operations {
|
|
|
20203
20218
|
send_as?: "INMAIL" | "EMAIL";
|
|
20204
20219
|
/** @description Sourcing channel for tracking purposes (e.g. CAREER_SITE, MANUAL_IMPORT, INTERNAL_CANDIDATES, RECRUITER_SEARCH, REFERRAL; the vendor's own vocabulary is broader than this illustrative set, so any non-empty value is accepted rather than a closed enum). */
|
|
20205
20220
|
channel_type?: string;
|
|
20206
|
-
/** @description Recruiter PRO only: schedule a follow-up message. subject
|
|
20221
|
+
/** @description Recruiter PRO only: schedule a follow-up message. subject: This call keeps nothing and logs nothing, and unlike the message body the platform does not render it into what is sent. Once sent it is an InMail in the account's inbox: if a message read surfaces this subject, reading that chat back stores it in your tenant's inbox records like a body, with no expiry. text: This call keeps nothing and logs nothing. Once sent it is a message in the account's InMail inbox, so reading that chat back through Curviate stores its body in your tenant's inbox records, with no expiry. */
|
|
20207
20222
|
follow_up?: {
|
|
20208
|
-
/** @description Follow-up message subject.
|
|
20223
|
+
/** @description Follow-up message subject. This call keeps nothing and logs nothing, and unlike the message body the platform does not render it into what is sent. Once sent it is an InMail in the account's inbox: if a message read surfaces this subject, reading that chat back stores it in your tenant's inbox records like a body, with no expiry. */
|
|
20209
20224
|
subject: string;
|
|
20210
|
-
/** @description Follow-up message body.
|
|
20225
|
+
/** @description Follow-up message body. This call keeps nothing and logs nothing. Once sent it is a message in the account's InMail inbox, so reading that chat back through Curviate stores its body in your tenant's inbox records, with no expiry. */
|
|
20211
20226
|
text: string;
|
|
20212
20227
|
/** @description Optional follow-up attachments. */
|
|
20213
20228
|
attachments?: {
|
|
@@ -24850,7 +24865,7 @@ interface operations {
|
|
|
24850
24865
|
"application/json": {
|
|
24851
24866
|
/** @description Sales Navigator member IDs for the chat recipients (>= 1, e.g. ACw...). */
|
|
24852
24867
|
attendees_ids: string[];
|
|
24853
|
-
/** @description Opening message text (1-8000 chars).
|
|
24868
|
+
/** @description Opening message text (1-8000 chars). This call keeps nothing and logs nothing. Once sent it is a message in the account's InMail inbox, so reading that chat back through Curviate stores its body in your tenant's inbox records, with no expiry. */
|
|
24854
24869
|
text: string;
|
|
24855
24870
|
/** @description Subject line; REQUIRED for Sales Navigator (InMail-based messaging), unlike the classic surface where it is optional (<= 200 chars). Maps into the SN-only specifics branch. */
|
|
24856
24871
|
subject: string;
|
|
@@ -24954,7 +24969,7 @@ interface operations {
|
|
|
24954
24969
|
"application/json": components["schemas"]["Error"];
|
|
24955
24970
|
};
|
|
24956
24971
|
};
|
|
24957
|
-
/** @description
|
|
24972
|
+
/** @description ACCOUNT_RESTRICTED, the connected LinkedIn account cannot perform this operation. */
|
|
24958
24973
|
422: {
|
|
24959
24974
|
headers: {
|
|
24960
24975
|
[name: string]: unknown;
|
|
@@ -28642,7 +28657,7 @@ interface operations {
|
|
|
28642
28657
|
"application/json": components["schemas"]["Error"];
|
|
28643
28658
|
};
|
|
28644
28659
|
};
|
|
28645
|
-
/** @description
|
|
28660
|
+
/** @description Either PAYMENT_REQUIRED (an active subscription / seat is needed; update your payment method or purchase a seat) or ACCOUNT_DISPUTED (the tenant's account is under dispute review; contact support). The code field distinguishes the two. */
|
|
28646
28661
|
402: {
|
|
28647
28662
|
headers: {
|
|
28648
28663
|
[name: string]: unknown;
|
|
@@ -30753,14 +30768,14 @@ interface operations {
|
|
|
30753
30768
|
content: {
|
|
30754
30769
|
"application/json": {
|
|
30755
30770
|
/**
|
|
30756
|
-
* @description Which set of Curviate defaults this account's rows resolve from: `basic`, `premium`, `sales_navigator` or `recruiter`. Each inherits the one before it and raises a few rows. This is the platform product active on the account, NOT the Curviate seat entitlement, and the two can disagree: a lapsed subscription leaves the seat untouched. Curviate detects it from the platform when the account connects, re-detects it on every reconnect and, at most once a day, on an account read; setting it here is an operator override of that result and holds until the next connect. To undo the override, send `limit_profile_source: "default"`: the pin is released, and Curviate re-reads the value from LinkedIn on the account's next read or connect. Sending the value the account already holds changes nothing and pins nothing. The change is recorded in the ledger and it moves the defaults under every row at once, so any row you have configured explicitly keeps your value. The elevated Sales Navigator and Recruiter figures apply only to calls made through the matching interface, the
|
|
30771
|
+
* @description Which set of Curviate defaults this account's rows resolve from: `basic`, `premium`, `sales_navigator` or `recruiter`. Each inherits the one before it and raises a few rows. This is the platform product active on the account, NOT the Curviate seat entitlement, and the two can disagree: a lapsed subscription leaves the seat untouched. Curviate detects it from the platform when the account connects, re-detects it on every reconnect and, at most once a day, on an account read; setting it here is an operator override of that result and holds until the next connect. To undo the override, send `limit_profile_source: "default"`: the pin is released, and Curviate re-reads the value from LinkedIn on the account's next read or connect. Sending the value the account already holds changes nothing and pins nothing. The change is recorded in the ledger and it moves the defaults under every row at once, so any row you have configured explicitly keeps your value. The elevated Sales Navigator and Recruiter figures apply only to calls made through the matching interface, the Sales Navigator and Recruiter operations, and Curviate holds each call to the figure for the interface it goes through. The numbers here are therefore the ones a standard-interface call is held to, on every profile; a call through one of those operations resolves from the elevated set instead, and each row publishes that figure as `interface_ceiling`.
|
|
30757
30772
|
* @enum {string}
|
|
30758
30773
|
*/
|
|
30759
30774
|
limit_profile?: "basic" | "premium" | "sales_navigator" | "recruiter";
|
|
30760
30775
|
/** @description The IANA zone this account's ACTIVITY window is read in, e.g. `Europe/Berlin`. Must be a real zone; anything else is a 400. Null clears it, which DISABLES the activity window for every row that has not set its own: a guessed zone inverts the window, which is worse than not having one. */
|
|
30761
30776
|
timezone?: string | null;
|
|
30762
30777
|
/**
|
|
30763
|
-
* @description The tenant-wide posture default, which every account inherits unless it overrides it. Set it once for a whole
|
|
30778
|
+
* @description The tenant-wide posture default, which every account inherits unless it overrides it. Set it once for a whole tenant of personas. Null clears it back to `warn`.
|
|
30764
30779
|
* @enum {string|null}
|
|
30765
30780
|
*/
|
|
30766
30781
|
tenant_default_posture?: "warn" | "enforce" | null;
|
|
@@ -30829,7 +30844,7 @@ interface operations {
|
|
|
30829
30844
|
source_class?: "substrate" | "linkedin_official" | "practitioner" | "inferred" | "unseeded" | null;
|
|
30830
30845
|
/** @description READ-ONLY. `ceiling` with the account's warm-up ramp applied, which is what this row is actually held to. Sent back on a write it is accepted and ignored, so the whole document round-trips; it is never stored and never ledgered. */
|
|
30831
30846
|
effective_ceiling?: unknown;
|
|
30832
|
-
/** @description READ-ONLY. What a call through the matching elevated interface (
|
|
30847
|
+
/** @description READ-ONLY. What a call through the matching elevated interface (the Sales Navigator and Recruiter operations) is held to on this row, or null when this row and limit profile have no such figure. `ceiling`, `effective_ceiling`, `band` and `over_default` are all the STANDARD-interface figure, so on a `sales_navigator` or `recruiter` account a row can report `over` while a call through the elevated interface still succeeds. Sent back on a write it is accepted and ignored, so the whole document round-trips; it is never stored and never ledgered. */
|
|
30833
30848
|
interface_ceiling?: unknown;
|
|
30834
30849
|
/** @description READ-ONLY. `interface_ceiling` with the account's warm-up ramp applied. Read THIS to know where an elevated-interface call stops, for the same reason `effective_ceiling` and not `ceiling` answers that for a standard one. Sent back on a write it is accepted and ignored, so the whole document round-trips; it is never stored and never ledgered. */
|
|
30835
30850
|
effective_interface_ceiling?: unknown;
|
|
@@ -31344,7 +31359,7 @@ interface operations {
|
|
|
31344
31359
|
* @enum {string|null}
|
|
31345
31360
|
*/
|
|
31346
31361
|
source_class?: "substrate" | "linkedin_official" | "practitioner" | "inferred" | "unseeded" | null;
|
|
31347
|
-
/** @description READ-ONLY. What a call through the matching elevated interface (
|
|
31362
|
+
/** @description READ-ONLY. What a call through the matching elevated interface (the Sales Navigator and Recruiter operations) is held to on this row, or null when this row and limit profile have no such figure. `ceiling`, `effective_ceiling`, `band` and `over_default` are all the STANDARD-interface figure, so on a `sales_navigator` or `recruiter` account a row can report `over` while a call through the elevated interface still succeeds. Sent back on a write it is accepted and ignored, so the whole document round-trips; it is never stored and never ledgered. */
|
|
31348
31363
|
interface_ceiling?: unknown;
|
|
31349
31364
|
/** @description READ-ONLY. The fields on this row configured above the Curviate default. Sent back on a write it is accepted and ignored, so the whole document round-trips; it is never stored and never ledgered. */
|
|
31350
31365
|
over_default?: unknown;
|
|
@@ -31833,6 +31848,19 @@ declare class MessagingResource {
|
|
|
31833
31848
|
/**
|
|
31834
31849
|
* List messages in a chat, cursor-paginated.
|
|
31835
31850
|
* `GET /v1/{account_id}/chats/{chat_id}/messages`
|
|
31851
|
+
*
|
|
31852
|
+
* An InMail thread's subject line arrives on a MESSAGE, as
|
|
31853
|
+
* `message.specifics.subject`, carried by the thread's opening message. The
|
|
31854
|
+
* chat object has no subject of its own, and `chat.name` is the counterpart's
|
|
31855
|
+
* display name rather than a folded-in subject, so read the subject from the
|
|
31856
|
+
* first message rather than from the chat. Ordinary (non-InMail) messages
|
|
31857
|
+
* return `specifics: {}`.
|
|
31858
|
+
*
|
|
31859
|
+
* A CHAT READ CARRIES NO SUBJECT AT ALL, including on its embedded
|
|
31860
|
+
* `last_message`: the preview is deliberately narrower than a message read, so
|
|
31861
|
+
* that a chat read returns the same fields whether it was answered from
|
|
31862
|
+
* LinkedIn or from Curviate's stored copy. Getting a subject means reading the
|
|
31863
|
+
* chat's messages.
|
|
31836
31864
|
*/
|
|
31837
31865
|
listMessages(chatId: string, params?: MessageListQuery): Promise<MessageListPage>;
|
|
31838
31866
|
/**
|
|
@@ -31867,6 +31895,11 @@ declare class MessagingResource {
|
|
|
31867
31895
|
/**
|
|
31868
31896
|
* Get a single message by ID, re-homed under its chat.
|
|
31869
31897
|
* `GET /v1/{account_id}/chats/{chat_id}/messages/{message_id}`
|
|
31898
|
+
*
|
|
31899
|
+
* `specifics` carries the InMail subject when the platform set one on this
|
|
31900
|
+
* message (`specifics.subject`), and is `{}` otherwise. It is narrowed to
|
|
31901
|
+
* that one field on purpose: the platform's other `specifics` keys are not
|
|
31902
|
+
* part of the published surface.
|
|
31870
31903
|
*/
|
|
31871
31904
|
getMessage(chatId: string, messageId: string): Promise<MessageDetail>;
|
|
31872
31905
|
/**
|
package/dist/index.js
CHANGED
|
@@ -785,6 +785,19 @@ var MessagingResource = class {
|
|
|
785
785
|
/**
|
|
786
786
|
* List messages in a chat, cursor-paginated.
|
|
787
787
|
* `GET /v1/{account_id}/chats/{chat_id}/messages`
|
|
788
|
+
*
|
|
789
|
+
* An InMail thread's subject line arrives on a MESSAGE, as
|
|
790
|
+
* `message.specifics.subject`, carried by the thread's opening message. The
|
|
791
|
+
* chat object has no subject of its own, and `chat.name` is the counterpart's
|
|
792
|
+
* display name rather than a folded-in subject, so read the subject from the
|
|
793
|
+
* first message rather than from the chat. Ordinary (non-InMail) messages
|
|
794
|
+
* return `specifics: {}`.
|
|
795
|
+
*
|
|
796
|
+
* A CHAT READ CARRIES NO SUBJECT AT ALL, including on its embedded
|
|
797
|
+
* `last_message`: the preview is deliberately narrower than a message read, so
|
|
798
|
+
* that a chat read returns the same fields whether it was answered from
|
|
799
|
+
* LinkedIn or from Curviate's stored copy. Getting a subject means reading the
|
|
800
|
+
* chat's messages.
|
|
788
801
|
*/
|
|
789
802
|
listMessages(chatId, params) {
|
|
790
803
|
return this.ctx.request({
|
|
@@ -831,6 +844,11 @@ var MessagingResource = class {
|
|
|
831
844
|
/**
|
|
832
845
|
* Get a single message by ID, re-homed under its chat.
|
|
833
846
|
* `GET /v1/{account_id}/chats/{chat_id}/messages/{message_id}`
|
|
847
|
+
*
|
|
848
|
+
* `specifics` carries the InMail subject when the platform set one on this
|
|
849
|
+
* message (`specifics.subject`), and is `{}` otherwise. It is narrowed to
|
|
850
|
+
* that one field on purpose: the platform's other `specifics` keys are not
|
|
851
|
+
* part of the published surface.
|
|
834
852
|
*/
|
|
835
853
|
getMessage(chatId, messageId) {
|
|
836
854
|
return this.ctx.request({
|
package/package.json
CHANGED
package/src/generated/types.ts
CHANGED
|
@@ -749,7 +749,7 @@ export interface paths {
|
|
|
749
749
|
put?: never;
|
|
750
750
|
/**
|
|
751
751
|
* Start a chat
|
|
752
|
-
* @description Starts a new chat with one or more members from a connected account. Send application/json; attach files as base64-encoded attachments (max 5 MiB per file, and 9 MiB for the whole request body; base64 makes a file about a third larger in the body than on disk).
|
|
752
|
+
* @description Starts a new chat with one or more members from a connected account. Send application/json; attach files as base64-encoded attachments (max 5 MiB per file, and 9 MiB for the whole request body; base64 makes a file about a third larger in the body than on disk). This call keeps nothing and logs nothing. Once sent it is a message in the account's inbox, so reading that conversation back through Curviate stores its body in your tenant's inbox records, with no expiry. Company pages are reply-only and cannot start a conversation; reply using a `COMPANY_` chat id from GET /v1/{account_id}/inboxes/{inbox_id}/chats instead.
|
|
753
753
|
*/
|
|
754
754
|
post: operations["postV1AccountIdChats"];
|
|
755
755
|
delete?: never;
|
|
@@ -797,7 +797,7 @@ export interface paths {
|
|
|
797
797
|
put?: never;
|
|
798
798
|
/**
|
|
799
799
|
* Send a message
|
|
800
|
-
* @description Sends a message into an existing chat. Send application/json with text, base64 attachments (max 5 MiB per file, and 9 MiB for the whole request body; base64 makes a file about a third larger in the body than on disk), or both; at least one of text or attachments is required.
|
|
800
|
+
* @description Sends a message into an existing chat. Send application/json with text, base64 attachments (max 5 MiB per file, and 9 MiB for the whole request body; base64 makes a file about a third larger in the body than on disk), or both; at least one of text or attachments is required. This call keeps nothing and logs nothing. Once sent it is a message in the account's inbox, so reading that conversation back through Curviate stores its body in your tenant's inbox records, with no expiry. Sending on behalf of a company page: use a COMPANY_ chat id (from GET /v1/{account_id}/inboxes/{inbox_id}/chats) and the message sends AS THE PAGE, no separate parameter needed. The response's sent_as field names the acting identity that was actually used. Company pages are reply-only: this endpoint can answer an existing conversation on a page's behalf, but a page can never start a new one.
|
|
801
801
|
*/
|
|
802
802
|
post: operations["postV1AccountIdChatsChatIdMessages"];
|
|
803
803
|
delete?: never;
|
|
@@ -2788,7 +2788,7 @@ export interface components {
|
|
|
2788
2788
|
chat_id?: string;
|
|
2789
2789
|
/** @description Identifier of the sender. */
|
|
2790
2790
|
sender_id?: string;
|
|
2791
|
-
/** @description Full message text
|
|
2791
|
+
/** @description Full message text. Curviate does not keep it on the way out; reading a conversation back stores its message bodies in your tenant's inbox records, with no expiry. */
|
|
2792
2792
|
text?: string | null;
|
|
2793
2793
|
/** @description Attachment descriptors (no bytes, use the attachment endpoint to download). */
|
|
2794
2794
|
attachments?: {
|
|
@@ -2823,6 +2823,11 @@ export interface components {
|
|
|
2823
2823
|
reaction_count?: number;
|
|
2824
2824
|
/** @description The platform this message originates from. */
|
|
2825
2825
|
provider?: string;
|
|
2826
|
+
/** @description Platform-specific detail on the message. Carries `subject` for an InMail, which is set on the thread's opening message; absent or empty for an ordinary message. */
|
|
2827
|
+
specifics?: {
|
|
2828
|
+
/** @description The InMail subject line, when the platform carries one on this message. Ordinary messages have none. Reading a conversation back stores the subject in your tenant's inbox records alongside the body, with no expiry. */
|
|
2829
|
+
subject?: string | null;
|
|
2830
|
+
};
|
|
2826
2831
|
/** @description The sender's profile, when the platform returned one alongside the message. sender_id always carries the identifier; this object carries the rest of what is known about that person. */
|
|
2827
2832
|
sender?: {
|
|
2828
2833
|
/** @description Identifier of the counterpart. */
|
|
@@ -10240,7 +10245,7 @@ export interface operations {
|
|
|
10240
10245
|
last_message_timestamp?: string;
|
|
10241
10246
|
/** @description Identifier of the 1:1 counterpart. */
|
|
10242
10247
|
user_id?: string;
|
|
10243
|
-
/** @description The most recent message in the chat. */
|
|
10248
|
+
/** @description The most recent message in the chat. Subjects are not previewed here, read the chat's messages for one. */
|
|
10244
10249
|
last_message?: {
|
|
10245
10250
|
/**
|
|
10246
10251
|
* @description Response type discriminator.
|
|
@@ -10256,7 +10261,7 @@ export interface operations {
|
|
|
10256
10261
|
chat_id?: string;
|
|
10257
10262
|
/** @description Identifier of the sender. */
|
|
10258
10263
|
sender_id?: string;
|
|
10259
|
-
/** @description Full message text
|
|
10264
|
+
/** @description Full message text. Curviate does not keep it on the way out; reading a conversation back stores its message bodies in your tenant's inbox records, with no expiry. */
|
|
10260
10265
|
text?: string | null;
|
|
10261
10266
|
/** @description Attachment descriptors (no bytes, use the attachment endpoint to download). */
|
|
10262
10267
|
attachments?: {
|
|
@@ -10665,7 +10670,7 @@ export interface operations {
|
|
|
10665
10670
|
last_message_timestamp?: string;
|
|
10666
10671
|
/** @description Identifier of the 1:1 counterpart. */
|
|
10667
10672
|
user_id?: string;
|
|
10668
|
-
/** @description The most recent message in the chat. */
|
|
10673
|
+
/** @description The most recent message in the chat. Subjects are not previewed here, read the chat's messages for one. */
|
|
10669
10674
|
last_message?: {
|
|
10670
10675
|
/**
|
|
10671
10676
|
* @description Response type discriminator.
|
|
@@ -10681,7 +10686,7 @@ export interface operations {
|
|
|
10681
10686
|
chat_id?: string;
|
|
10682
10687
|
/** @description Identifier of the sender. */
|
|
10683
10688
|
sender_id?: string;
|
|
10684
|
-
/** @description Full message text
|
|
10689
|
+
/** @description Full message text. Curviate does not keep it on the way out; reading a conversation back stores its message bodies in your tenant's inbox records, with no expiry. */
|
|
10685
10690
|
text?: string | null;
|
|
10686
10691
|
/** @description Attachment descriptors (no bytes, use the attachment endpoint to download). */
|
|
10687
10692
|
attachments?: {
|
|
@@ -11051,7 +11056,7 @@ export interface operations {
|
|
|
11051
11056
|
chat_id?: string;
|
|
11052
11057
|
/** @description Identifier of the sender. */
|
|
11053
11058
|
sender_id?: string;
|
|
11054
|
-
/** @description Full message text
|
|
11059
|
+
/** @description Full message text. Curviate does not keep it on the way out; reading a conversation back stores its message bodies in your tenant's inbox records, with no expiry. */
|
|
11055
11060
|
text?: string | null;
|
|
11056
11061
|
/** @description Attachment descriptors (no bytes, use the attachment endpoint to download). */
|
|
11057
11062
|
attachments?: {
|
|
@@ -11086,6 +11091,11 @@ export interface operations {
|
|
|
11086
11091
|
reaction_count?: number;
|
|
11087
11092
|
/** @description The platform this message originates from. */
|
|
11088
11093
|
provider?: string;
|
|
11094
|
+
/** @description Platform-specific detail on the message. Carries `subject` for an InMail, which is set on the thread's opening message; absent or empty for an ordinary message. */
|
|
11095
|
+
specifics?: {
|
|
11096
|
+
/** @description The InMail subject line, when the platform carries one on this message. Ordinary messages have none. Reading a conversation back stores the subject in your tenant's inbox records alongside the body, with no expiry. */
|
|
11097
|
+
subject?: string | null;
|
|
11098
|
+
};
|
|
11089
11099
|
/** @description The sender's profile, when the platform returned one alongside the message. sender_id always carries the identifier; this object carries the rest of what is known about that person. */
|
|
11090
11100
|
sender?: {
|
|
11091
11101
|
/** @description Identifier of the counterpart. */
|
|
@@ -11430,7 +11440,7 @@ export interface operations {
|
|
|
11430
11440
|
chat_id?: string;
|
|
11431
11441
|
/** @description Identifier of the sender. */
|
|
11432
11442
|
sender_id?: string;
|
|
11433
|
-
/** @description Full message text
|
|
11443
|
+
/** @description Full message text. Curviate does not keep it on the way out; reading a conversation back stores its message bodies in your tenant's inbox records, with no expiry. */
|
|
11434
11444
|
text?: string | null;
|
|
11435
11445
|
/** @description Attachment descriptors (no bytes, use the attachment endpoint to download). */
|
|
11436
11446
|
attachments?: {
|
|
@@ -11465,6 +11475,11 @@ export interface operations {
|
|
|
11465
11475
|
reaction_count?: number;
|
|
11466
11476
|
/** @description The platform this message originates from. */
|
|
11467
11477
|
provider?: string;
|
|
11478
|
+
/** @description Platform-specific detail on the message. Carries `subject` for an InMail, which is set on the thread's opening message; absent or empty for an ordinary message. */
|
|
11479
|
+
specifics?: {
|
|
11480
|
+
/** @description The InMail subject line, when the platform carries one on this message. Ordinary messages have none. Reading a conversation back stores the subject in your tenant's inbox records alongside the body, with no expiry. */
|
|
11481
|
+
subject?: string | null;
|
|
11482
|
+
};
|
|
11468
11483
|
/** @description The sender's profile, when the platform returned one alongside the message. sender_id always carries the identifier; this object carries the rest of what is known about that person. */
|
|
11469
11484
|
sender?: {
|
|
11470
11485
|
/** @description Identifier of the counterpart. */
|
|
@@ -12122,7 +12137,7 @@ export interface operations {
|
|
|
12122
12137
|
id?: string;
|
|
12123
12138
|
/** @description Account id that owns this message. */
|
|
12124
12139
|
account_id?: string;
|
|
12125
|
-
/** @description Full message text
|
|
12140
|
+
/** @description Full message text. Curviate does not keep it on the way out; reading a conversation back stores its message bodies in your tenant's inbox records, with no expiry. */
|
|
12126
12141
|
text?: string | null;
|
|
12127
12142
|
/** @description Identifier of the sender. */
|
|
12128
12143
|
sender_id?: string;
|
|
@@ -12261,7 +12276,7 @@ export interface operations {
|
|
|
12261
12276
|
recipient_urn: string;
|
|
12262
12277
|
/** @description InMail subject line (1-200 chars). */
|
|
12263
12278
|
subject: string;
|
|
12264
|
-
/** @description InMail body text (1-8000 chars). */
|
|
12279
|
+
/** @description InMail body text (1-8000 chars). This call keeps nothing and logs nothing. Once sent it is a message in the account's InMail inbox, so reading that chat back through Curviate stores its body in your tenant's inbox records, with no expiry. */
|
|
12265
12280
|
text: string;
|
|
12266
12281
|
};
|
|
12267
12282
|
};
|
|
@@ -12604,7 +12619,7 @@ export interface operations {
|
|
|
12604
12619
|
last_message_timestamp?: string;
|
|
12605
12620
|
/** @description Identifier of the 1:1 counterpart. */
|
|
12606
12621
|
user_id?: string;
|
|
12607
|
-
/** @description The most recent message in the chat. */
|
|
12622
|
+
/** @description The most recent message in the chat. Subjects are not previewed here, read the chat's messages for one. */
|
|
12608
12623
|
last_message?: {
|
|
12609
12624
|
/**
|
|
12610
12625
|
* @description Response type discriminator.
|
|
@@ -12620,7 +12635,7 @@ export interface operations {
|
|
|
12620
12635
|
chat_id?: string;
|
|
12621
12636
|
/** @description Identifier of the sender. */
|
|
12622
12637
|
sender_id?: string;
|
|
12623
|
-
/** @description Full message text
|
|
12638
|
+
/** @description Full message text. Curviate does not keep it on the way out; reading a conversation back stores its message bodies in your tenant's inbox records, with no expiry. */
|
|
12624
12639
|
text?: string | null;
|
|
12625
12640
|
/** @description Attachment descriptors (no bytes, use the attachment endpoint to download). */
|
|
12626
12641
|
attachments?: {
|
|
@@ -17878,7 +17893,7 @@ export interface operations {
|
|
|
17878
17893
|
"application/json": components["schemas"]["Error"];
|
|
17879
17894
|
};
|
|
17880
17895
|
};
|
|
17881
|
-
/** @description
|
|
17896
|
+
/** @description LINKEDIN_SERVICE_UNAVAILABLE, the résumé is still being generated and was not ready in time. Retry the request shortly. */
|
|
17882
17897
|
503: {
|
|
17883
17898
|
headers: {
|
|
17884
17899
|
[name: string]: unknown;
|
|
@@ -20084,11 +20099,11 @@ export interface operations {
|
|
|
20084
20099
|
"application/json": {
|
|
20085
20100
|
/** @description One or more Recruiter member IDs (AE... format) to include in the chat. */
|
|
20086
20101
|
attendees_ids: string[];
|
|
20087
|
-
/** @description Opening message text (1-8000 chars).
|
|
20102
|
+
/** @description Opening message text (1-8000 chars). This call keeps nothing and logs nothing. Once sent it is a message in the account's InMail inbox, so reading that chat back through Curviate stores its body in your tenant's inbox records, with no expiry. */
|
|
20088
20103
|
text: string;
|
|
20089
20104
|
/** @description Subject line; REQUIRED for Recruiter (InMail-based messaging), unlike the classic surface (<= 200 chars). */
|
|
20090
20105
|
subject: string;
|
|
20091
|
-
/** @description Sender signature; REQUIRED for Recruiter.
|
|
20106
|
+
/** @description Sender signature; REQUIRED for Recruiter. Kept as a field by neither this call nor the log. The platform renders it into the sent message body, which is stored if that chat is later read back through Curviate. */
|
|
20092
20107
|
signature: string;
|
|
20093
20108
|
/**
|
|
20094
20109
|
* @description Visibility of the recruiter chat.
|
|
@@ -20107,11 +20122,11 @@ export interface operations {
|
|
|
20107
20122
|
send_as?: "INMAIL" | "EMAIL";
|
|
20108
20123
|
/** @description Sourcing channel for tracking purposes (e.g. CAREER_SITE, MANUAL_IMPORT, INTERNAL_CANDIDATES, RECRUITER_SEARCH, REFERRAL; the vendor's own vocabulary is broader than this illustrative set, so any non-empty value is accepted rather than a closed enum). */
|
|
20109
20124
|
channel_type?: string;
|
|
20110
|
-
/** @description Recruiter PRO only: schedule a follow-up message. subject
|
|
20125
|
+
/** @description Recruiter PRO only: schedule a follow-up message. subject: This call keeps nothing and logs nothing, and unlike the message body the platform does not render it into what is sent. Once sent it is an InMail in the account's inbox: if a message read surfaces this subject, reading that chat back stores it in your tenant's inbox records like a body, with no expiry. text: This call keeps nothing and logs nothing. Once sent it is a message in the account's InMail inbox, so reading that chat back through Curviate stores its body in your tenant's inbox records, with no expiry. */
|
|
20111
20126
|
follow_up?: {
|
|
20112
|
-
/** @description Follow-up message subject.
|
|
20127
|
+
/** @description Follow-up message subject. This call keeps nothing and logs nothing, and unlike the message body the platform does not render it into what is sent. Once sent it is an InMail in the account's inbox: if a message read surfaces this subject, reading that chat back stores it in your tenant's inbox records like a body, with no expiry. */
|
|
20113
20128
|
subject: string;
|
|
20114
|
-
/** @description Follow-up message body.
|
|
20129
|
+
/** @description Follow-up message body. This call keeps nothing and logs nothing. Once sent it is a message in the account's InMail inbox, so reading that chat back through Curviate stores its body in your tenant's inbox records, with no expiry. */
|
|
20115
20130
|
text: string;
|
|
20116
20131
|
/** @description Optional follow-up attachments. */
|
|
20117
20132
|
attachments?: {
|
|
@@ -24754,7 +24769,7 @@ export interface operations {
|
|
|
24754
24769
|
"application/json": {
|
|
24755
24770
|
/** @description Sales Navigator member IDs for the chat recipients (>= 1, e.g. ACw...). */
|
|
24756
24771
|
attendees_ids: string[];
|
|
24757
|
-
/** @description Opening message text (1-8000 chars).
|
|
24772
|
+
/** @description Opening message text (1-8000 chars). This call keeps nothing and logs nothing. Once sent it is a message in the account's InMail inbox, so reading that chat back through Curviate stores its body in your tenant's inbox records, with no expiry. */
|
|
24758
24773
|
text: string;
|
|
24759
24774
|
/** @description Subject line; REQUIRED for Sales Navigator (InMail-based messaging), unlike the classic surface where it is optional (<= 200 chars). Maps into the SN-only specifics branch. */
|
|
24760
24775
|
subject: string;
|
|
@@ -24858,7 +24873,7 @@ export interface operations {
|
|
|
24858
24873
|
"application/json": components["schemas"]["Error"];
|
|
24859
24874
|
};
|
|
24860
24875
|
};
|
|
24861
|
-
/** @description
|
|
24876
|
+
/** @description ACCOUNT_RESTRICTED, the connected LinkedIn account cannot perform this operation. */
|
|
24862
24877
|
422: {
|
|
24863
24878
|
headers: {
|
|
24864
24879
|
[name: string]: unknown;
|
|
@@ -28546,7 +28561,7 @@ export interface operations {
|
|
|
28546
28561
|
"application/json": components["schemas"]["Error"];
|
|
28547
28562
|
};
|
|
28548
28563
|
};
|
|
28549
|
-
/** @description
|
|
28564
|
+
/** @description Either PAYMENT_REQUIRED (an active subscription / seat is needed; update your payment method or purchase a seat) or ACCOUNT_DISPUTED (the tenant's account is under dispute review; contact support). The code field distinguishes the two. */
|
|
28550
28565
|
402: {
|
|
28551
28566
|
headers: {
|
|
28552
28567
|
[name: string]: unknown;
|
|
@@ -30657,14 +30672,14 @@ export interface operations {
|
|
|
30657
30672
|
content: {
|
|
30658
30673
|
"application/json": {
|
|
30659
30674
|
/**
|
|
30660
|
-
* @description Which set of Curviate defaults this account's rows resolve from: `basic`, `premium`, `sales_navigator` or `recruiter`. Each inherits the one before it and raises a few rows. This is the platform product active on the account, NOT the Curviate seat entitlement, and the two can disagree: a lapsed subscription leaves the seat untouched. Curviate detects it from the platform when the account connects, re-detects it on every reconnect and, at most once a day, on an account read; setting it here is an operator override of that result and holds until the next connect. To undo the override, send `limit_profile_source: "default"`: the pin is released, and Curviate re-reads the value from LinkedIn on the account's next read or connect. Sending the value the account already holds changes nothing and pins nothing. The change is recorded in the ledger and it moves the defaults under every row at once, so any row you have configured explicitly keeps your value. The elevated Sales Navigator and Recruiter figures apply only to calls made through the matching interface, the
|
|
30675
|
+
* @description Which set of Curviate defaults this account's rows resolve from: `basic`, `premium`, `sales_navigator` or `recruiter`. Each inherits the one before it and raises a few rows. This is the platform product active on the account, NOT the Curviate seat entitlement, and the two can disagree: a lapsed subscription leaves the seat untouched. Curviate detects it from the platform when the account connects, re-detects it on every reconnect and, at most once a day, on an account read; setting it here is an operator override of that result and holds until the next connect. To undo the override, send `limit_profile_source: "default"`: the pin is released, and Curviate re-reads the value from LinkedIn on the account's next read or connect. Sending the value the account already holds changes nothing and pins nothing. The change is recorded in the ledger and it moves the defaults under every row at once, so any row you have configured explicitly keeps your value. The elevated Sales Navigator and Recruiter figures apply only to calls made through the matching interface, the Sales Navigator and Recruiter operations, and Curviate holds each call to the figure for the interface it goes through. The numbers here are therefore the ones a standard-interface call is held to, on every profile; a call through one of those operations resolves from the elevated set instead, and each row publishes that figure as `interface_ceiling`.
|
|
30661
30676
|
* @enum {string}
|
|
30662
30677
|
*/
|
|
30663
30678
|
limit_profile?: "basic" | "premium" | "sales_navigator" | "recruiter";
|
|
30664
30679
|
/** @description The IANA zone this account's ACTIVITY window is read in, e.g. `Europe/Berlin`. Must be a real zone; anything else is a 400. Null clears it, which DISABLES the activity window for every row that has not set its own: a guessed zone inverts the window, which is worse than not having one. */
|
|
30665
30680
|
timezone?: string | null;
|
|
30666
30681
|
/**
|
|
30667
|
-
* @description The tenant-wide posture default, which every account inherits unless it overrides it. Set it once for a whole
|
|
30682
|
+
* @description The tenant-wide posture default, which every account inherits unless it overrides it. Set it once for a whole tenant of personas. Null clears it back to `warn`.
|
|
30668
30683
|
* @enum {string|null}
|
|
30669
30684
|
*/
|
|
30670
30685
|
tenant_default_posture?: "warn" | "enforce" | null;
|
|
@@ -30733,7 +30748,7 @@ export interface operations {
|
|
|
30733
30748
|
source_class?: "substrate" | "linkedin_official" | "practitioner" | "inferred" | "unseeded" | null;
|
|
30734
30749
|
/** @description READ-ONLY. `ceiling` with the account's warm-up ramp applied, which is what this row is actually held to. Sent back on a write it is accepted and ignored, so the whole document round-trips; it is never stored and never ledgered. */
|
|
30735
30750
|
effective_ceiling?: unknown;
|
|
30736
|
-
/** @description READ-ONLY. What a call through the matching elevated interface (
|
|
30751
|
+
/** @description READ-ONLY. What a call through the matching elevated interface (the Sales Navigator and Recruiter operations) is held to on this row, or null when this row and limit profile have no such figure. `ceiling`, `effective_ceiling`, `band` and `over_default` are all the STANDARD-interface figure, so on a `sales_navigator` or `recruiter` account a row can report `over` while a call through the elevated interface still succeeds. Sent back on a write it is accepted and ignored, so the whole document round-trips; it is never stored and never ledgered. */
|
|
30737
30752
|
interface_ceiling?: unknown;
|
|
30738
30753
|
/** @description READ-ONLY. `interface_ceiling` with the account's warm-up ramp applied. Read THIS to know where an elevated-interface call stops, for the same reason `effective_ceiling` and not `ceiling` answers that for a standard one. Sent back on a write it is accepted and ignored, so the whole document round-trips; it is never stored and never ledgered. */
|
|
30739
30754
|
effective_interface_ceiling?: unknown;
|
|
@@ -31248,7 +31263,7 @@ export interface operations {
|
|
|
31248
31263
|
* @enum {string|null}
|
|
31249
31264
|
*/
|
|
31250
31265
|
source_class?: "substrate" | "linkedin_official" | "practitioner" | "inferred" | "unseeded" | null;
|
|
31251
|
-
/** @description READ-ONLY. What a call through the matching elevated interface (
|
|
31266
|
+
/** @description READ-ONLY. What a call through the matching elevated interface (the Sales Navigator and Recruiter operations) is held to on this row, or null when this row and limit profile have no such figure. `ceiling`, `effective_ceiling`, `band` and `over_default` are all the STANDARD-interface figure, so on a `sales_navigator` or `recruiter` account a row can report `over` while a call through the elevated interface still succeeds. Sent back on a write it is accepted and ignored, so the whole document round-trips; it is never stored and never ledgered. */
|
|
31252
31267
|
interface_ceiling?: unknown;
|
|
31253
31268
|
/** @description READ-ONLY. The fields on this row configured above the Curviate default. Sent back on a write it is accepted and ignored, so the whole document round-trips; it is never stored and never ledgered. */
|
|
31254
31269
|
over_default?: unknown;
|