@curviate/sdk 0.45.0-next.0 → 0.45.0-next.1

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/dist/index.d.ts CHANGED
@@ -4840,7 +4840,7 @@ interface components {
4840
4840
  row?: string | null;
4841
4841
  /** @description Present on BUDGET_EXHAUSTED: the instant the refusal lifts, as an absolute instant rather than a duration, so it stays true however long you hold it. It is the window roll on a ceiling refusal and the next window open on an activity-window one. It is null in the two cases where no clock frees the account: the pending_invites gauge, whose backlog falls when invitations are accepted or withdrawn, and an InMail credit exhaustion (row inmail, hint.parameter inmail_credits), which LinkedIn regrants on a schedule this product cannot read. */
4842
4842
  reset_at?: string | null;
4843
- /** @description Present on BUDGET_EXHAUSTED: the exact setting to change, as a field rather than as prose. Limits are always enforced: to send more, raise the limit. parameter is addressable on PATCH /v1/{account_id}/safety-policy (update_safety_policy in MCP), so an agent can decide between waiting until reset_at, escalating to a human, and raising the limit, without parsing the message. The one exception is inmail_credits: not a policy field, LinkedIn's own InMail balance. Wait for LinkedIn to regrant credits, or buy more on LinkedIn. */
4843
+ /** @description Present on BUDGET_EXHAUSTED: the exact setting to change, as a field rather than as prose. Limits are always enforced: to send more, raise the limit. parameter is addressable on PATCH /v1/{account_id}/safety-policy (update_safety_policy in MCP), so an agent can decide between waiting until reset_at, escalating to a human, and raising the limit, without parsing the message. The one exception is inmail_credits: not a policy field, LinkedIn's own InMail balance. Wait for LinkedIn to regrant credits; a reply to an InMail refunds its credit. */
4844
4844
  hint?: {
4845
4845
  /** @description The setting to change, for example profile_views.ceiling, active_hours (the account's or the Team's; the message names which), rows[posts].activity_window_end, profiles[basic].rows[posts].activity_window_start on the Team policy, or inmail_credits (LinkedIn's own balance, not a policy field). */
4846
4846
  parameter: string;
@@ -19330,7 +19330,7 @@ interface operations {
19330
19330
  company: string | null;
19331
19331
  /** @description Location, when a read of this person has stored it. Null otherwise. */
19332
19332
  location: string | null;
19333
- /** @description The last observed picture link. LinkedIn picture links expire, so tolerate a dead image. */
19333
+ /** @description The person's picture: a copy we store once a read has delivered one, so the link does not expire. Null when none is held. */
19334
19334
  profile_picture_url: string | null;
19335
19335
  /** @description When LinkedIn says the connection was made, or null when it did not say. */
19336
19336
  connected_at: string | null;
@@ -19364,7 +19364,7 @@ interface operations {
19364
19364
  company: string | null;
19365
19365
  /** @description Location, when a read of this person has stored it. Null otherwise. */
19366
19366
  location: string | null;
19367
- /** @description The last observed picture link. LinkedIn picture links expire, so tolerate a dead image. */
19367
+ /** @description The person's picture: a copy we store once a read has delivered one, so the link does not expire. Null when none is held. */
19368
19368
  profile_picture_url: string | null;
19369
19369
  /** @description When this person's stored fields were last written, by any read of that person. */
19370
19370
  observed_at: string | null;
@@ -20717,7 +20717,7 @@ interface operations {
20717
20717
  motion_id: string;
20718
20718
  /** @description The Contact (con_...); null once the Contact is deleted. */
20719
20719
  contact_id: string | null;
20720
- /** @description The sending account (acc_...); null until one is assigned. */
20720
+ /** @description The sending account (acc_...). null while the Enrollment waits for one: a sending account of the Motion takes it when it has room, and it stays on that account. The account_id list filter leaves out Enrollments that have none yet. */
20721
20721
  account_id: string | null;
20722
20722
  /** @description The Sequence version this Enrollment runs on. */
20723
20723
  sequence_version: number;
@@ -20731,7 +20731,7 @@ interface operations {
20731
20731
  /** @description What it waits for; null when nothing holds it. paused_by_user: you paused this Enrollment; it holds until you resume it, whatever else returns. account_unavailable, motion_paused: its account or Motion holds it. */
20732
20732
  waiting: {
20733
20733
  /** @enum {string} */
20734
- kind: "wait" | "event" | "queue" | "account_unavailable" | "motion_paused" | "halt" | "kill_switch" | "paused_by_user";
20734
+ kind: "wait" | "event" | "queue" | "budget" | "account_unavailable" | "motion_paused" | "halt" | "kill_switch" | "paused_by_user";
20735
20735
  /** @description The Step it waits at; null before it starts. */
20736
20736
  step_id: string | null;
20737
20737
  /** @description ISO 8601, when the wait ends; null when open-ended. */
@@ -25721,7 +25721,7 @@ interface operations {
25721
25721
  object: "curviate_notification";
25722
25722
  /** @description Notification id (ntf_...). Valid for you only. */
25723
25723
  id: string;
25724
- /** @description What happened. An open list: new values may be added, so tolerate ones you do not know. Today: account.reconnect_needed, account.restricted, account.keep_connected_failed, motion.auto_paused, motion.no_sending_account, motion.completed, contacts.import_finished, export.finished, team.invite_accepted, team.member_left. */
25724
+ /** @description What happened. An open list: new values may be added, so tolerate ones you do not know. Today: account.reconnect_needed, account.restricted, account.keep_connected_failed, account.motion_work_paused, account.health_worsened, motion.auto_paused, motion.no_sending_account, motion.completed, contacts.import_finished, export.finished, team.invite_accepted, team.member_left. */
25725
25725
  type: string;
25726
25726
  /** @description What the Notification is about. */
25727
25727
  subject: {
@@ -25983,7 +25983,7 @@ interface operations {
25983
25983
  object: "curviate_notification";
25984
25984
  /** @description Notification id (ntf_...). Valid for you only. */
25985
25985
  id: string;
25986
- /** @description What happened. An open list: new values may be added, so tolerate ones you do not know. Today: account.reconnect_needed, account.restricted, account.keep_connected_failed, motion.auto_paused, motion.no_sending_account, motion.completed, contacts.import_finished, export.finished, team.invite_accepted, team.member_left. */
25986
+ /** @description What happened. An open list: new values may be added, so tolerate ones you do not know. Today: account.reconnect_needed, account.restricted, account.keep_connected_failed, account.motion_work_paused, account.health_worsened, motion.auto_paused, motion.no_sending_account, motion.completed, contacts.import_finished, export.finished, team.invite_accepted, team.member_left. */
25987
25987
  type: string;
25988
25988
  /** @description What the Notification is about. */
25989
25989
  subject: {
@@ -34481,6 +34481,10 @@ interface operations {
34481
34481
  ceiling: number | null;
34482
34482
  /** @description What this row is ACTUALLY held to right now: `ceiling` with the account's warm-up ramp applied. Compare `used` against THIS one, and `band` is computed against it too. While warm-up holds an account back (its first four weeks after connect, after a quiet spell, or while it recovers from a restriction) the two differ, and in the first week after connect they differ by a factor of about seven. Equal to `ceiling` once the ramp is over, and `null` wherever `ceiling` is null. The account's ramp, its factor and the triggers behind it are on GET /v1/{account_id}/safety-policy as `warm_up`. */
34483
34483
  effective_ceiling?: number | null;
34484
+ /** @description What the Account aims at per window on this row. Only the invitation total, InMail and profile views carry one (null on other rows): the row's configured `green` when set, otherwise `ceiling` times the profile's seeded ratio. */
34485
+ target?: number | null;
34486
+ /** @description `target` with the account's warm-up and health applied, rounded down. Null where `target` is null. */
34487
+ effective_target?: number | null;
34484
34488
  /** @description What a call through the matching ELEVATED interface is held to on this row: the `/v1/{account_id}/sales-navigator/...` and `/v1/{account_id}/recruiter/...` operations. Null when this row and limit profile have no such figure, which is every row on `basic` and `premium` and most rows everywhere. Everything else on this row (`ceiling`, `effective_ceiling`, `band` and `over_default`) is the STANDARD-interface figure, because one counter serves both interfaces and the standard side is the conservative one to band against. The consequence is worth reading: on a `sales_navigator` or `recruiter` account a row can report `band: "over"` while a call through the elevated interface still succeeds; the refusal the band predicts is the one a standard call gets. */
34485
34489
  interface_ceiling?: number | null;
34486
34490
  /** @description `effective_ceiling` minus `used`, never below 0: what this account can still do on this row in the current window. Null when the row has no ceiling (`total_actions`) or no level yet (`pending_invites` before it was read). */
@@ -34494,7 +34498,7 @@ interface operations {
34494
34498
  band: "green" | "amber" | "hard" | "over";
34495
34499
  /** @description Whether something on this row is configured above Curviate's own default. The safety policy carries the detail: which field, the value, the default and how well calibrated that default is. */
34496
34500
  over_default: boolean;
34497
- /** @description An active pause on this row because the platform refused a recent request on it, or `null`. A halt is not a ceiling: no limit you raise lifts it, and it clears itself when it expires. To lift one before it expires, send this row in `clear_halts` on `PATCH /v1/{account_id}/safety-policy`; that is recorded, and the pause returns if the platform refuses the account again. */
34501
+ /** @description An active pause on this row because the platform refused a recent request on it, or `null`. Motion work on other rows keeps running. A Motion also waits longer than this pause after LinkedIn refuses invitations or views for going too fast: 6 hours, then 24, then 72, at most 7 days on each repeat, resetting after 7 clean days; `health` on the account shows it. A halt is not a ceiling: no limit you raise lifts it, and it clears itself when it expires. To lift one before it expires, send this row in `clear_halts` on `PATCH /v1/{account_id}/safety-policy`; that is recorded, and the pause returns if the platform refuses the account again. */
34498
34502
  halt: {
34499
34503
  /** @description What the platform did: `rate_limited`, `platform_fault`, or `resend_cooldown` (the same invitation was sent too recently). */
34500
34504
  reason?: string;
@@ -34728,6 +34732,10 @@ interface operations {
34728
34732
  ceiling: number | null;
34729
34733
  /** @description What this row is ACTUALLY held to right now: `ceiling` with the account's warm-up ramp applied. Compare `used` against THIS one, and `band` is computed against it too. While warm-up holds an account back (its first four weeks after connect, after a quiet spell, or while it recovers from a restriction) the two differ, and in the first week after connect they differ by a factor of about seven. Equal to `ceiling` once the ramp is over, and `null` wherever `ceiling` is null. The account's ramp, its factor and the triggers behind it are on GET /v1/{account_id}/safety-policy as `warm_up`. */
34730
34734
  effective_ceiling?: number | null;
34735
+ /** @description What the Account aims at per window on this row. Only the invitation total, InMail and profile views carry one (null on other rows): the row's configured `green` when set, otherwise `ceiling` times the profile's seeded ratio. */
34736
+ target?: number | null;
34737
+ /** @description `target` with the account's warm-up and health applied, rounded down. Null where `target` is null. */
34738
+ effective_target?: number | null;
34731
34739
  /** @description What a call through the matching ELEVATED interface is held to on this row: the `/v1/{account_id}/sales-navigator/...` and `/v1/{account_id}/recruiter/...` operations. Null when this row and limit profile have no such figure, which is every row on `basic` and `premium` and most rows everywhere. Everything else on this row (`ceiling`, `effective_ceiling`, `band` and `over_default`) is the STANDARD-interface figure, because one counter serves both interfaces and the standard side is the conservative one to band against. The consequence is worth reading: on a `sales_navigator` or `recruiter` account a row can report `band: "over"` while a call through the elevated interface still succeeds; the refusal the band predicts is the one a standard call gets. */
34732
34740
  interface_ceiling?: number | null;
34733
34741
  /** @description `effective_ceiling` minus `used`, never below 0: what this account can still do on this row in the current window. Null when the row has no ceiling (`total_actions`) or no level yet (`pending_invites` before it was read). */
@@ -34741,7 +34749,7 @@ interface operations {
34741
34749
  band: "green" | "amber" | "hard" | "over";
34742
34750
  /** @description Whether something on this row is configured above Curviate's own default. The safety policy carries the detail: which field, the value, the default and how well calibrated that default is. */
34743
34751
  over_default: boolean;
34744
- /** @description An active pause on this row because the platform refused a recent request on it, or `null`. A halt is not a ceiling: no limit you raise lifts it, and it clears itself when it expires. To lift one before it expires, send this row in `clear_halts` on `PATCH /v1/{account_id}/safety-policy`; that is recorded, and the pause returns if the platform refuses the account again. */
34752
+ /** @description An active pause on this row because the platform refused a recent request on it, or `null`. Motion work on other rows keeps running. A Motion also waits longer than this pause after LinkedIn refuses invitations or views for going too fast: 6 hours, then 24, then 72, at most 7 days on each repeat, resetting after 7 clean days; `health` on the account shows it. A halt is not a ceiling: no limit you raise lifts it, and it clears itself when it expires. To lift one before it expires, send this row in `clear_halts` on `PATCH /v1/{account_id}/safety-policy`; that is recorded, and the pause returns if the platform refuses the account again. */
34745
34753
  halt: {
34746
34754
  /** @description What the platform did: `rate_limited`, `platform_fault`, or `resend_cooldown` (the same invitation was sent too recently). */
34747
34755
  reason?: string;
@@ -34807,6 +34815,17 @@ interface operations {
34807
34815
  location?: string | null;
34808
34816
  /** @description Platform conditions this LinkedIn account is currently in, additive to `status` and independent of it. `recruiter_session_evicted`: the account is signed in somewhere else and LinkedIn allows one session at a time for it, so a person has to close the other session; reconnecting will not help. `commercial_use_limited`: LinkedIn's commercial-use limit has tripped, so people search returns only a handful of results per query. It is a paywall, not a penalty, and nothing else about the account is affected. `profile_view_limited`: profile views outside this account's own network are being blocked; first-degree views still work. The two limits are detected from their symptom: LinkedIn publishes no threshold for either, exposes no counter, and lifts neither on request, so no number is reported. `commercial_use_limited` is a present-tense reading and a genuinely narrow search can also produce the shape it looks for, so treat it as a reason to check rather than a certainty; the next people search that returns a full page clears it. An account in none of these reports an empty array. */
34809
34817
  account_states?: ("recruiter_session_evicted" | "commercial_use_limited" | "profile_view_limited")[];
34818
+ /** @description Curviate's inference of how LinkedIn sees this account; LinkedIn publishes no score. `state`: `healthy`; `watch` (a sign to look at, nothing slowed); `slowed` (fewer invitations and views, or one action paused, while other work keeps running); `stopped` (a restriction stops all Motion work, or 650 or more waiting invitations stop new invitations while withdrawals still run). It is per account, and nothing moves work between Motions by itself. One Notification announces each worsening, none an improvement. */
34819
+ health?: {
34820
+ /** @enum {string} */
34821
+ state: "healthy" | "watch" | "slowed" | "stopped";
34822
+ /** @description The lowest factor in force, from 0 to 1, multiplying the account's invitation and view targets with warm-up. 1 is unaffected. Recovers +0.15 every 4 days once its cause clears; the factor from waiting invitations follows their number. */
34823
+ factor: number;
34824
+ /** @description Why, and what to do, in plain words. For people, not for branching: branch on `state`. */
34825
+ reasons: string[];
34826
+ /** @description ISO-8601 UTC time the limits in force are expected to lift. Null when nothing is limited or the end is not known. */
34827
+ until: string | null;
34828
+ };
34810
34829
  /** @description The time zone the account's activity window is read in, derived from where it connects; outside the window Curviate refuses live writes to LinkedIn. Reads and anything served from Curviate's own store are never affected, at any hour. Set the hours on the account's safety policy. */
34811
34830
  activity_window?: {
34812
34831
  /** @description The IANA zone the activity window is read in, from where the account connects (its Curviate proxy's country, or your own proxy's detected location). Nobody sets it. Null while the zone is unknown: see fallback_timezones. */
@@ -35230,6 +35249,17 @@ interface operations {
35230
35249
  location?: string | null;
35231
35250
  /** @description Platform conditions this LinkedIn account is currently in, additive to `status` and independent of it. `recruiter_session_evicted`: the account is signed in somewhere else and LinkedIn allows one session at a time for it, so a person has to close the other session; reconnecting will not help. `commercial_use_limited`: LinkedIn's commercial-use limit has tripped, so people search returns only a handful of results per query. It is a paywall, not a penalty, and nothing else about the account is affected. `profile_view_limited`: profile views outside this account's own network are being blocked; first-degree views still work. The two limits are detected from their symptom: LinkedIn publishes no threshold for either, exposes no counter, and lifts neither on request, so no number is reported. `commercial_use_limited` is a present-tense reading and a genuinely narrow search can also produce the shape it looks for, so treat it as a reason to check rather than a certainty; the next people search that returns a full page clears it. An account in none of these reports an empty array. */
35232
35251
  account_states?: ("recruiter_session_evicted" | "commercial_use_limited" | "profile_view_limited")[];
35252
+ /** @description Curviate's inference of how LinkedIn sees this account; LinkedIn publishes no score. `state`: `healthy`; `watch` (a sign to look at, nothing slowed); `slowed` (fewer invitations and views, or one action paused, while other work keeps running); `stopped` (a restriction stops all Motion work, or 650 or more waiting invitations stop new invitations while withdrawals still run). It is per account, and nothing moves work between Motions by itself. One Notification announces each worsening, none an improvement. */
35253
+ health?: {
35254
+ /** @enum {string} */
35255
+ state: "healthy" | "watch" | "slowed" | "stopped";
35256
+ /** @description The lowest factor in force, from 0 to 1, multiplying the account's invitation and view targets with warm-up. 1 is unaffected. Recovers +0.15 every 4 days once its cause clears; the factor from waiting invitations follows their number. */
35257
+ factor: number;
35258
+ /** @description Why, and what to do, in plain words. For people, not for branching: branch on `state`. */
35259
+ reasons: string[];
35260
+ /** @description ISO-8601 UTC time the limits in force are expected to lift. Null when nothing is limited or the end is not known. */
35261
+ until: string | null;
35262
+ };
35233
35263
  /** @description The time zone the account's activity window is read in, derived from where it connects; outside the window Curviate refuses live writes to LinkedIn. Reads and anything served from Curviate's own store are never affected, at any hour. Set the hours on the account's safety policy. */
35234
35264
  activity_window?: {
35235
35265
  /** @description The IANA zone the activity window is read in, from where the account connects (its Curviate proxy's country, or your own proxy's detected location). Nobody sets it. Null while the zone is unknown: see fallback_timezones. */
@@ -39968,6 +39998,8 @@ interface operations {
39968
39998
  /** @description True when the account has had no action for over 30 days (counted from its connect when it never acted), whether warm-up is on or off. With warm-up on, its next action starts the ramp at 0.15. */
39969
39999
  dormant?: boolean;
39970
40000
  };
40001
+ /** @description Whether Curviate withdraws this account's old Motion-sent invitations on its own (default true). Past 400 pending invitations, those over 14 days old go oldest first, at most the larger of 25 and the day's invitation allowance a day, one at a time inside the account's working hours, each after a check that it is still pending. Invitations sent by hand or through the API are never withdrawn, and a withdrawn person is never invited again by a Motion. It runs while invitations are stopped at 650 pending. Set it with PATCH /v1/{account_id}/safety-policy and `auto_withdraw`; a change is recorded in the account's ledger. */
40002
+ auto_withdraw?: boolean;
39971
40003
  /** @description The zone the activity window is read in, derived from where the account connects. Outside the window, a live write to LinkedIn is refused; reads and anything served from Curviate's own store are never affected, at any hour. Read-only: a write accepts it back and ignores it, so a read policy can be sent back unchanged. */
39972
40004
  activity_window?: {
39973
40005
  /** @description The IANA zone the activity window is read in, from where the account connects (its Curviate proxy's country, or your own proxy's detected location). Nobody sets it. Null while the zone is unknown: see fallback_timezones. */
@@ -40052,6 +40084,10 @@ interface operations {
40052
40084
  source_class?: "substrate" | "linkedin_official" | "practitioner" | "inferred" | "unseeded";
40053
40085
  /** @description What this row is ACTUALLY held to right now: `ceiling` with the account's warm-up ramp applied. Read this one, not `ceiling`, to know where the next call will be stopped. On an account in warm-up the two differ, and in the first week after connect they differ by a factor of about seven. Null when the row has no ceiling to ramp. `warm_up_state` and `warm_up_factor` beside it are the values ACTIVE on this row, not the seeded ones. */
40054
40086
  effective_ceiling?: number | null;
40087
+ /** @description What the Account aims at per window on this row. Only the invitation total, InMail and profile views carry one (null on other rows): the row's configured `green` when set, otherwise `ceiling` times the profile's seeded ratio. Read-only. */
40088
+ target?: number | null;
40089
+ /** @description `target` with the account's warm-up and health factor applied, rounded down: LinkedIn pushback, forced sign-ins and low acceptance lower it, waiting invitations slow invitations separately. Null where `target` is null. Read-only. */
40090
+ effective_target?: number | null;
40055
40091
  /** @description What a call through the matching ELEVATED interface is held to on this row: the `/v1/{account_id}/sales-navigator/...` and `/v1/{account_id}/recruiter/...` operations. Null when this row and limit profile have no such figure, which is every row on `basic` and `premium` and most rows everywhere. Everything else on this row (`ceiling`, `effective_ceiling`, `band` and `over_default`) is the STANDARD-interface figure, because one counter serves both interfaces and the standard side is the conservative one to band against. The consequence is worth reading: on a `sales_navigator` or `recruiter` account a row can report `band: "over"` with `posture: "enforce"` while a call through the elevated interface still succeeds; the refusal the band predicts is the one a standard call gets. */
40056
40092
  interface_ceiling?: number | null;
40057
40093
  /** @description `interface_ceiling` with the account's warm-up ramp applied, and null wherever `interface_ceiling` is null. Read THIS to know where an elevated-interface call stops, for the same reason `effective_ceiling` rather than `ceiling` answers that for a standard one. */
@@ -40079,7 +40115,7 @@ interface operations {
40079
40115
  "invite.send"?: {
40080
40116
  /** @description The least time between two Motion calls of this type on the account, in seconds. */
40081
40117
  min_gap_seconds?: number;
40082
- /** @description A random extra of up to this many seconds added to each gap. Absent on `global`, which has no jitter. */
40118
+ /** @description A random extra of up to this many seconds added to each gap. On `global` it defaults to 25: the wait after any action is at least `min_gap_seconds` plus a random part of this. */
40083
40119
  jitter_seconds?: number;
40084
40120
  /** @description READ-ONLY. Empty when nothing on this entry is below default. */
40085
40121
  over_default?: {
@@ -40102,7 +40138,7 @@ interface operations {
40102
40138
  "post.comment"?: {
40103
40139
  /** @description The least time between two Motion calls of this type on the account, in seconds. */
40104
40140
  min_gap_seconds?: number;
40105
- /** @description A random extra of up to this many seconds added to each gap. Absent on `global`, which has no jitter. */
40141
+ /** @description A random extra of up to this many seconds added to each gap. On `global` it defaults to 25: the wait after any action is at least `min_gap_seconds` plus a random part of this. */
40106
40142
  jitter_seconds?: number;
40107
40143
  /** @description READ-ONLY. Empty when nothing on this entry is below default. */
40108
40144
  over_default?: {
@@ -40125,7 +40161,7 @@ interface operations {
40125
40161
  "message.send"?: {
40126
40162
  /** @description The least time between two Motion calls of this type on the account, in seconds. */
40127
40163
  min_gap_seconds?: number;
40128
- /** @description A random extra of up to this many seconds added to each gap. Absent on `global`, which has no jitter. */
40164
+ /** @description A random extra of up to this many seconds added to each gap. On `global` it defaults to 25: the wait after any action is at least `min_gap_seconds` plus a random part of this. */
40129
40165
  jitter_seconds?: number;
40130
40166
  /** @description READ-ONLY. Empty when nothing on this entry is below default. */
40131
40167
  over_default?: {
@@ -40148,7 +40184,7 @@ interface operations {
40148
40184
  "inmail.send"?: {
40149
40185
  /** @description The least time between two Motion calls of this type on the account, in seconds. */
40150
40186
  min_gap_seconds?: number;
40151
- /** @description A random extra of up to this many seconds added to each gap. Absent on `global`, which has no jitter. */
40187
+ /** @description A random extra of up to this many seconds added to each gap. On `global` it defaults to 25: the wait after any action is at least `min_gap_seconds` plus a random part of this. */
40152
40188
  jitter_seconds?: number;
40153
40189
  /** @description READ-ONLY. Empty when nothing on this entry is below default. */
40154
40190
  over_default?: {
@@ -40171,7 +40207,7 @@ interface operations {
40171
40207
  "profile.follow"?: {
40172
40208
  /** @description The least time between two Motion calls of this type on the account, in seconds. */
40173
40209
  min_gap_seconds?: number;
40174
- /** @description A random extra of up to this many seconds added to each gap. Absent on `global`, which has no jitter. */
40210
+ /** @description A random extra of up to this many seconds added to each gap. On `global` it defaults to 25: the wait after any action is at least `min_gap_seconds` plus a random part of this. */
40175
40211
  jitter_seconds?: number;
40176
40212
  /** @description READ-ONLY. Empty when nothing on this entry is below default. */
40177
40213
  over_default?: {
@@ -40194,7 +40230,7 @@ interface operations {
40194
40230
  "profile.unfollow"?: {
40195
40231
  /** @description The least time between two Motion calls of this type on the account, in seconds. */
40196
40232
  min_gap_seconds?: number;
40197
- /** @description A random extra of up to this many seconds added to each gap. Absent on `global`, which has no jitter. */
40233
+ /** @description A random extra of up to this many seconds added to each gap. On `global` it defaults to 25: the wait after any action is at least `min_gap_seconds` plus a random part of this. */
40198
40234
  jitter_seconds?: number;
40199
40235
  /** @description READ-ONLY. Empty when nothing on this entry is below default. */
40200
40236
  over_default?: {
@@ -40217,7 +40253,7 @@ interface operations {
40217
40253
  "skill.endorse"?: {
40218
40254
  /** @description The least time between two Motion calls of this type on the account, in seconds. */
40219
40255
  min_gap_seconds?: number;
40220
- /** @description A random extra of up to this many seconds added to each gap. Absent on `global`, which has no jitter. */
40256
+ /** @description A random extra of up to this many seconds added to each gap. On `global` it defaults to 25: the wait after any action is at least `min_gap_seconds` plus a random part of this. */
40221
40257
  jitter_seconds?: number;
40222
40258
  /** @description READ-ONLY. Empty when nothing on this entry is below default. */
40223
40259
  over_default?: {
@@ -40240,7 +40276,7 @@ interface operations {
40240
40276
  "invite.withdraw"?: {
40241
40277
  /** @description The least time between two Motion calls of this type on the account, in seconds. */
40242
40278
  min_gap_seconds?: number;
40243
- /** @description A random extra of up to this many seconds added to each gap. Absent on `global`, which has no jitter. */
40279
+ /** @description A random extra of up to this many seconds added to each gap. On `global` it defaults to 25: the wait after any action is at least `min_gap_seconds` plus a random part of this. */
40244
40280
  jitter_seconds?: number;
40245
40281
  /** @description READ-ONLY. Empty when nothing on this entry is below default. */
40246
40282
  over_default?: {
@@ -40263,7 +40299,7 @@ interface operations {
40263
40299
  "post.react"?: {
40264
40300
  /** @description The least time between two Motion calls of this type on the account, in seconds. */
40265
40301
  min_gap_seconds?: number;
40266
- /** @description A random extra of up to this many seconds added to each gap. Absent on `global`, which has no jitter. */
40302
+ /** @description A random extra of up to this many seconds added to each gap. On `global` it defaults to 25: the wait after any action is at least `min_gap_seconds` plus a random part of this. */
40267
40303
  jitter_seconds?: number;
40268
40304
  /** @description READ-ONLY. Empty when nothing on this entry is below default. */
40269
40305
  over_default?: {
@@ -40286,7 +40322,7 @@ interface operations {
40286
40322
  read?: {
40287
40323
  /** @description The least time between two Motion calls of this type on the account, in seconds. */
40288
40324
  min_gap_seconds?: number;
40289
- /** @description A random extra of up to this many seconds added to each gap. Absent on `global`, which has no jitter. */
40325
+ /** @description A random extra of up to this many seconds added to each gap. On `global` it defaults to 25: the wait after any action is at least `min_gap_seconds` plus a random part of this. */
40290
40326
  jitter_seconds?: number;
40291
40327
  /** @description READ-ONLY. Empty when nothing on this entry is below default. */
40292
40328
  over_default?: {
@@ -40309,7 +40345,7 @@ interface operations {
40309
40345
  global?: {
40310
40346
  /** @description The least time between two Motion calls of this type on the account, in seconds. */
40311
40347
  min_gap_seconds?: number;
40312
- /** @description A random extra of up to this many seconds added to each gap. Absent on `global`, which has no jitter. */
40348
+ /** @description A random extra of up to this many seconds added to each gap. On `global` it defaults to 25: the wait after any action is at least `min_gap_seconds` plus a random part of this. */
40313
40349
  jitter_seconds?: number;
40314
40350
  /** @description READ-ONLY. Empty when nothing on this entry is below default. */
40315
40351
  over_default?: {
@@ -40475,6 +40511,10 @@ interface operations {
40475
40511
  source_class?: "substrate" | "linkedin_official" | "practitioner" | "inferred" | "unseeded" | null;
40476
40512
  /** @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. */
40477
40513
  effective_ceiling?: unknown;
40514
+ /** @description READ-ONLY. What this Account aims at per window on this row (invitations, InMail, profile views only; null elsewhere): the row's `green` when set, otherwise `ceiling` times the profile's seeded ratio, so raising a ceiling alone moves it. Read-only. Sent back on a write it is accepted and ignored, so the whole document round-trips; it is never stored and never ledgered. */
40515
+ target?: unknown;
40516
+ /** @description READ-ONLY. `target` with the account's warm-up and health applied, rounded down. Read-only. Sent back on a write it is accepted and ignored, so the whole document round-trips; it is never stored and never ledgered. */
40517
+ effective_target?: unknown;
40478
40518
  /** @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. */
40479
40519
  interface_ceiling?: unknown;
40480
40520
  /** @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. */
@@ -40491,7 +40531,7 @@ interface operations {
40491
40531
  [key: string]: {
40492
40532
  /** @description Whole seconds, 0 to 86400. Null clears it. */
40493
40533
  min_gap_seconds?: unknown;
40494
- /** @description Whole seconds, 0 to 86400. Not on `global`. Null clears it. */
40534
+ /** @description Whole seconds, 0 to 86400. On `global` it defaults to 25. Null clears it. */
40495
40535
  jitter_seconds?: unknown;
40496
40536
  /** @description READ-ONLY. The over-default warnings (a value below the default). Sent back on a write it is accepted and ignored, so the whole document round-trips; it is never stored and never ledgered. */
40497
40537
  over_default?: unknown;
@@ -40526,6 +40566,8 @@ interface operations {
40526
40566
  /** @description Turn this account's warm-up on (true, the default) or off (false). Off skips the connect ramp and the quiet ramp; recovery after a LinkedIn restriction still applies. */
40527
40567
  enabled?: boolean;
40528
40568
  };
40569
+ /** @description Automatic withdrawal of old invitations Curviate sent for this account's Motions, default true. While this account has more than 400 pending invitations, Curviate withdraws the Motion-sent ones older than 14 days, oldest first, a few a day (at most the larger of 25 and the day's invitation allowance), inside its working hours and one at a time with the usual gaps, after checking each is still pending. It never touches an invitation you sent by hand or through the API, and never invites a withdrawn person again. It keeps working while invitations are stopped at 650 pending, which is how the account comes back under. Set false to keep every old invitation pending; the level then falls only as people accept or you withdraw. */
40570
+ auto_withdraw?: boolean;
40529
40571
  /** @description Read-only: the time zone the activity window is read in, from where this account connects. Accepted and ignored, so the read's object can be sent back unchanged. The window's settable inputs are per row: `activity_window_start`, `activity_window_end`, `activity_window_applies_to`. */
40530
40572
  activity_window?: unknown;
40531
40573
  };
@@ -40583,6 +40625,8 @@ interface operations {
40583
40625
  /** @description True when the account has had no action for over 30 days (counted from its connect when it never acted), whether warm-up is on or off. With warm-up on, its next action starts the ramp at 0.15. */
40584
40626
  dormant?: boolean;
40585
40627
  };
40628
+ /** @description Whether Curviate withdraws this account's old Motion-sent invitations on its own (default true). Past 400 pending invitations, those over 14 days old go oldest first, at most the larger of 25 and the day's invitation allowance a day, one at a time inside the account's working hours, each after a check that it is still pending. Invitations sent by hand or through the API are never withdrawn, and a withdrawn person is never invited again by a Motion. It runs while invitations are stopped at 650 pending. Set it with PATCH /v1/{account_id}/safety-policy and `auto_withdraw`; a change is recorded in the account's ledger. */
40629
+ auto_withdraw?: boolean;
40586
40630
  /** @description The zone the activity window is read in, derived from where the account connects. Outside the window, a live write to LinkedIn is refused; reads and anything served from Curviate's own store are never affected, at any hour. Read-only: a write accepts it back and ignores it, so a read policy can be sent back unchanged. */
40587
40631
  activity_window?: {
40588
40632
  /** @description The IANA zone the activity window is read in, from where the account connects (its Curviate proxy's country, or your own proxy's detected location). Nobody sets it. Null while the zone is unknown: see fallback_timezones. */
@@ -40667,6 +40711,10 @@ interface operations {
40667
40711
  source_class?: "substrate" | "linkedin_official" | "practitioner" | "inferred" | "unseeded";
40668
40712
  /** @description What this row is ACTUALLY held to right now: `ceiling` with the account's warm-up ramp applied. Read this one, not `ceiling`, to know where the next call will be stopped. On an account in warm-up the two differ, and in the first week after connect they differ by a factor of about seven. Null when the row has no ceiling to ramp. `warm_up_state` and `warm_up_factor` beside it are the values ACTIVE on this row, not the seeded ones. */
40669
40713
  effective_ceiling?: number | null;
40714
+ /** @description What the Account aims at per window on this row. Only the invitation total, InMail and profile views carry one (null on other rows): the row's configured `green` when set, otherwise `ceiling` times the profile's seeded ratio. Read-only. */
40715
+ target?: number | null;
40716
+ /** @description `target` with the account's warm-up and health factor applied, rounded down: LinkedIn pushback, forced sign-ins and low acceptance lower it, waiting invitations slow invitations separately. Null where `target` is null. Read-only. */
40717
+ effective_target?: number | null;
40670
40718
  /** @description What a call through the matching ELEVATED interface is held to on this row: the `/v1/{account_id}/sales-navigator/...` and `/v1/{account_id}/recruiter/...` operations. Null when this row and limit profile have no such figure, which is every row on `basic` and `premium` and most rows everywhere. Everything else on this row (`ceiling`, `effective_ceiling`, `band` and `over_default`) is the STANDARD-interface figure, because one counter serves both interfaces and the standard side is the conservative one to band against. The consequence is worth reading: on a `sales_navigator` or `recruiter` account a row can report `band: "over"` with `posture: "enforce"` while a call through the elevated interface still succeeds; the refusal the band predicts is the one a standard call gets. */
40671
40719
  interface_ceiling?: number | null;
40672
40720
  /** @description `interface_ceiling` with the account's warm-up ramp applied, and null wherever `interface_ceiling` is null. Read THIS to know where an elevated-interface call stops, for the same reason `effective_ceiling` rather than `ceiling` answers that for a standard one. */
@@ -40694,7 +40742,7 @@ interface operations {
40694
40742
  "invite.send"?: {
40695
40743
  /** @description The least time between two Motion calls of this type on the account, in seconds. */
40696
40744
  min_gap_seconds?: number;
40697
- /** @description A random extra of up to this many seconds added to each gap. Absent on `global`, which has no jitter. */
40745
+ /** @description A random extra of up to this many seconds added to each gap. On `global` it defaults to 25: the wait after any action is at least `min_gap_seconds` plus a random part of this. */
40698
40746
  jitter_seconds?: number;
40699
40747
  /** @description READ-ONLY. Empty when nothing on this entry is below default. */
40700
40748
  over_default?: {
@@ -40717,7 +40765,7 @@ interface operations {
40717
40765
  "post.comment"?: {
40718
40766
  /** @description The least time between two Motion calls of this type on the account, in seconds. */
40719
40767
  min_gap_seconds?: number;
40720
- /** @description A random extra of up to this many seconds added to each gap. Absent on `global`, which has no jitter. */
40768
+ /** @description A random extra of up to this many seconds added to each gap. On `global` it defaults to 25: the wait after any action is at least `min_gap_seconds` plus a random part of this. */
40721
40769
  jitter_seconds?: number;
40722
40770
  /** @description READ-ONLY. Empty when nothing on this entry is below default. */
40723
40771
  over_default?: {
@@ -40740,7 +40788,7 @@ interface operations {
40740
40788
  "message.send"?: {
40741
40789
  /** @description The least time between two Motion calls of this type on the account, in seconds. */
40742
40790
  min_gap_seconds?: number;
40743
- /** @description A random extra of up to this many seconds added to each gap. Absent on `global`, which has no jitter. */
40791
+ /** @description A random extra of up to this many seconds added to each gap. On `global` it defaults to 25: the wait after any action is at least `min_gap_seconds` plus a random part of this. */
40744
40792
  jitter_seconds?: number;
40745
40793
  /** @description READ-ONLY. Empty when nothing on this entry is below default. */
40746
40794
  over_default?: {
@@ -40763,7 +40811,7 @@ interface operations {
40763
40811
  "inmail.send"?: {
40764
40812
  /** @description The least time between two Motion calls of this type on the account, in seconds. */
40765
40813
  min_gap_seconds?: number;
40766
- /** @description A random extra of up to this many seconds added to each gap. Absent on `global`, which has no jitter. */
40814
+ /** @description A random extra of up to this many seconds added to each gap. On `global` it defaults to 25: the wait after any action is at least `min_gap_seconds` plus a random part of this. */
40767
40815
  jitter_seconds?: number;
40768
40816
  /** @description READ-ONLY. Empty when nothing on this entry is below default. */
40769
40817
  over_default?: {
@@ -40786,7 +40834,7 @@ interface operations {
40786
40834
  "profile.follow"?: {
40787
40835
  /** @description The least time between two Motion calls of this type on the account, in seconds. */
40788
40836
  min_gap_seconds?: number;
40789
- /** @description A random extra of up to this many seconds added to each gap. Absent on `global`, which has no jitter. */
40837
+ /** @description A random extra of up to this many seconds added to each gap. On `global` it defaults to 25: the wait after any action is at least `min_gap_seconds` plus a random part of this. */
40790
40838
  jitter_seconds?: number;
40791
40839
  /** @description READ-ONLY. Empty when nothing on this entry is below default. */
40792
40840
  over_default?: {
@@ -40809,7 +40857,7 @@ interface operations {
40809
40857
  "profile.unfollow"?: {
40810
40858
  /** @description The least time between two Motion calls of this type on the account, in seconds. */
40811
40859
  min_gap_seconds?: number;
40812
- /** @description A random extra of up to this many seconds added to each gap. Absent on `global`, which has no jitter. */
40860
+ /** @description A random extra of up to this many seconds added to each gap. On `global` it defaults to 25: the wait after any action is at least `min_gap_seconds` plus a random part of this. */
40813
40861
  jitter_seconds?: number;
40814
40862
  /** @description READ-ONLY. Empty when nothing on this entry is below default. */
40815
40863
  over_default?: {
@@ -40832,7 +40880,7 @@ interface operations {
40832
40880
  "skill.endorse"?: {
40833
40881
  /** @description The least time between two Motion calls of this type on the account, in seconds. */
40834
40882
  min_gap_seconds?: number;
40835
- /** @description A random extra of up to this many seconds added to each gap. Absent on `global`, which has no jitter. */
40883
+ /** @description A random extra of up to this many seconds added to each gap. On `global` it defaults to 25: the wait after any action is at least `min_gap_seconds` plus a random part of this. */
40836
40884
  jitter_seconds?: number;
40837
40885
  /** @description READ-ONLY. Empty when nothing on this entry is below default. */
40838
40886
  over_default?: {
@@ -40855,7 +40903,7 @@ interface operations {
40855
40903
  "invite.withdraw"?: {
40856
40904
  /** @description The least time between two Motion calls of this type on the account, in seconds. */
40857
40905
  min_gap_seconds?: number;
40858
- /** @description A random extra of up to this many seconds added to each gap. Absent on `global`, which has no jitter. */
40906
+ /** @description A random extra of up to this many seconds added to each gap. On `global` it defaults to 25: the wait after any action is at least `min_gap_seconds` plus a random part of this. */
40859
40907
  jitter_seconds?: number;
40860
40908
  /** @description READ-ONLY. Empty when nothing on this entry is below default. */
40861
40909
  over_default?: {
@@ -40878,7 +40926,7 @@ interface operations {
40878
40926
  "post.react"?: {
40879
40927
  /** @description The least time between two Motion calls of this type on the account, in seconds. */
40880
40928
  min_gap_seconds?: number;
40881
- /** @description A random extra of up to this many seconds added to each gap. Absent on `global`, which has no jitter. */
40929
+ /** @description A random extra of up to this many seconds added to each gap. On `global` it defaults to 25: the wait after any action is at least `min_gap_seconds` plus a random part of this. */
40882
40930
  jitter_seconds?: number;
40883
40931
  /** @description READ-ONLY. Empty when nothing on this entry is below default. */
40884
40932
  over_default?: {
@@ -40901,7 +40949,7 @@ interface operations {
40901
40949
  read?: {
40902
40950
  /** @description The least time between two Motion calls of this type on the account, in seconds. */
40903
40951
  min_gap_seconds?: number;
40904
- /** @description A random extra of up to this many seconds added to each gap. Absent on `global`, which has no jitter. */
40952
+ /** @description A random extra of up to this many seconds added to each gap. On `global` it defaults to 25: the wait after any action is at least `min_gap_seconds` plus a random part of this. */
40905
40953
  jitter_seconds?: number;
40906
40954
  /** @description READ-ONLY. Empty when nothing on this entry is below default. */
40907
40955
  over_default?: {
@@ -40924,7 +40972,7 @@ interface operations {
40924
40972
  global?: {
40925
40973
  /** @description The least time between two Motion calls of this type on the account, in seconds. */
40926
40974
  min_gap_seconds?: number;
40927
- /** @description A random extra of up to this many seconds added to each gap. Absent on `global`, which has no jitter. */
40975
+ /** @description A random extra of up to this many seconds added to each gap. On `global` it defaults to 25: the wait after any action is at least `min_gap_seconds` plus a random part of this. */
40928
40976
  jitter_seconds?: number;
40929
40977
  /** @description READ-ONLY. Empty when nothing on this entry is below default. */
40930
40978
  over_default?: {
@@ -41233,7 +41281,7 @@ interface operations {
41233
41281
  "invite.send"?: {
41234
41282
  /** @description The least time between two Motion calls of this type on the account, in seconds. */
41235
41283
  min_gap_seconds?: number;
41236
- /** @description A random extra of up to this many seconds added to each gap. Absent on `global`, which has no jitter. */
41284
+ /** @description A random extra of up to this many seconds added to each gap. On `global` it defaults to 25: the wait after any action is at least `min_gap_seconds` plus a random part of this. */
41237
41285
  jitter_seconds?: number;
41238
41286
  /** @description READ-ONLY. Empty when nothing on this entry is below default. */
41239
41287
  over_default?: {
@@ -41256,7 +41304,7 @@ interface operations {
41256
41304
  "post.comment"?: {
41257
41305
  /** @description The least time between two Motion calls of this type on the account, in seconds. */
41258
41306
  min_gap_seconds?: number;
41259
- /** @description A random extra of up to this many seconds added to each gap. Absent on `global`, which has no jitter. */
41307
+ /** @description A random extra of up to this many seconds added to each gap. On `global` it defaults to 25: the wait after any action is at least `min_gap_seconds` plus a random part of this. */
41260
41308
  jitter_seconds?: number;
41261
41309
  /** @description READ-ONLY. Empty when nothing on this entry is below default. */
41262
41310
  over_default?: {
@@ -41279,7 +41327,7 @@ interface operations {
41279
41327
  "message.send"?: {
41280
41328
  /** @description The least time between two Motion calls of this type on the account, in seconds. */
41281
41329
  min_gap_seconds?: number;
41282
- /** @description A random extra of up to this many seconds added to each gap. Absent on `global`, which has no jitter. */
41330
+ /** @description A random extra of up to this many seconds added to each gap. On `global` it defaults to 25: the wait after any action is at least `min_gap_seconds` plus a random part of this. */
41283
41331
  jitter_seconds?: number;
41284
41332
  /** @description READ-ONLY. Empty when nothing on this entry is below default. */
41285
41333
  over_default?: {
@@ -41302,7 +41350,7 @@ interface operations {
41302
41350
  "inmail.send"?: {
41303
41351
  /** @description The least time between two Motion calls of this type on the account, in seconds. */
41304
41352
  min_gap_seconds?: number;
41305
- /** @description A random extra of up to this many seconds added to each gap. Absent on `global`, which has no jitter. */
41353
+ /** @description A random extra of up to this many seconds added to each gap. On `global` it defaults to 25: the wait after any action is at least `min_gap_seconds` plus a random part of this. */
41306
41354
  jitter_seconds?: number;
41307
41355
  /** @description READ-ONLY. Empty when nothing on this entry is below default. */
41308
41356
  over_default?: {
@@ -41325,7 +41373,7 @@ interface operations {
41325
41373
  "profile.follow"?: {
41326
41374
  /** @description The least time between two Motion calls of this type on the account, in seconds. */
41327
41375
  min_gap_seconds?: number;
41328
- /** @description A random extra of up to this many seconds added to each gap. Absent on `global`, which has no jitter. */
41376
+ /** @description A random extra of up to this many seconds added to each gap. On `global` it defaults to 25: the wait after any action is at least `min_gap_seconds` plus a random part of this. */
41329
41377
  jitter_seconds?: number;
41330
41378
  /** @description READ-ONLY. Empty when nothing on this entry is below default. */
41331
41379
  over_default?: {
@@ -41348,7 +41396,7 @@ interface operations {
41348
41396
  "profile.unfollow"?: {
41349
41397
  /** @description The least time between two Motion calls of this type on the account, in seconds. */
41350
41398
  min_gap_seconds?: number;
41351
- /** @description A random extra of up to this many seconds added to each gap. Absent on `global`, which has no jitter. */
41399
+ /** @description A random extra of up to this many seconds added to each gap. On `global` it defaults to 25: the wait after any action is at least `min_gap_seconds` plus a random part of this. */
41352
41400
  jitter_seconds?: number;
41353
41401
  /** @description READ-ONLY. Empty when nothing on this entry is below default. */
41354
41402
  over_default?: {
@@ -41371,7 +41419,7 @@ interface operations {
41371
41419
  "skill.endorse"?: {
41372
41420
  /** @description The least time between two Motion calls of this type on the account, in seconds. */
41373
41421
  min_gap_seconds?: number;
41374
- /** @description A random extra of up to this many seconds added to each gap. Absent on `global`, which has no jitter. */
41422
+ /** @description A random extra of up to this many seconds added to each gap. On `global` it defaults to 25: the wait after any action is at least `min_gap_seconds` plus a random part of this. */
41375
41423
  jitter_seconds?: number;
41376
41424
  /** @description READ-ONLY. Empty when nothing on this entry is below default. */
41377
41425
  over_default?: {
@@ -41394,7 +41442,7 @@ interface operations {
41394
41442
  "invite.withdraw"?: {
41395
41443
  /** @description The least time between two Motion calls of this type on the account, in seconds. */
41396
41444
  min_gap_seconds?: number;
41397
- /** @description A random extra of up to this many seconds added to each gap. Absent on `global`, which has no jitter. */
41445
+ /** @description A random extra of up to this many seconds added to each gap. On `global` it defaults to 25: the wait after any action is at least `min_gap_seconds` plus a random part of this. */
41398
41446
  jitter_seconds?: number;
41399
41447
  /** @description READ-ONLY. Empty when nothing on this entry is below default. */
41400
41448
  over_default?: {
@@ -41417,7 +41465,7 @@ interface operations {
41417
41465
  "post.react"?: {
41418
41466
  /** @description The least time between two Motion calls of this type on the account, in seconds. */
41419
41467
  min_gap_seconds?: number;
41420
- /** @description A random extra of up to this many seconds added to each gap. Absent on `global`, which has no jitter. */
41468
+ /** @description A random extra of up to this many seconds added to each gap. On `global` it defaults to 25: the wait after any action is at least `min_gap_seconds` plus a random part of this. */
41421
41469
  jitter_seconds?: number;
41422
41470
  /** @description READ-ONLY. Empty when nothing on this entry is below default. */
41423
41471
  over_default?: {
@@ -41440,7 +41488,7 @@ interface operations {
41440
41488
  read?: {
41441
41489
  /** @description The least time between two Motion calls of this type on the account, in seconds. */
41442
41490
  min_gap_seconds?: number;
41443
- /** @description A random extra of up to this many seconds added to each gap. Absent on `global`, which has no jitter. */
41491
+ /** @description A random extra of up to this many seconds added to each gap. On `global` it defaults to 25: the wait after any action is at least `min_gap_seconds` plus a random part of this. */
41444
41492
  jitter_seconds?: number;
41445
41493
  /** @description READ-ONLY. Empty when nothing on this entry is below default. */
41446
41494
  over_default?: {
@@ -41463,7 +41511,7 @@ interface operations {
41463
41511
  global?: {
41464
41512
  /** @description The least time between two Motion calls of this type on the account, in seconds. */
41465
41513
  min_gap_seconds?: number;
41466
- /** @description A random extra of up to this many seconds added to each gap. Absent on `global`, which has no jitter. */
41514
+ /** @description A random extra of up to this many seconds added to each gap. On `global` it defaults to 25: the wait after any action is at least `min_gap_seconds` plus a random part of this. */
41467
41515
  jitter_seconds?: number;
41468
41516
  /** @description READ-ONLY. Empty when nothing on this entry is below default. */
41469
41517
  over_default?: {
@@ -41611,7 +41659,7 @@ interface operations {
41611
41659
  [key: string]: {
41612
41660
  /** @description Whole seconds, 0 to 86400. Null clears it. */
41613
41661
  min_gap_seconds?: unknown;
41614
- /** @description Whole seconds, 0 to 86400. Not on `global`. Null clears it. */
41662
+ /** @description Whole seconds, 0 to 86400. On `global` it defaults to 25. Null clears it. */
41615
41663
  jitter_seconds?: unknown;
41616
41664
  /** @description READ-ONLY. The over-default warnings (a value below the default). Sent back on a write it is accepted and ignored, so the whole document round-trips; it is never stored and never ledgered. */
41617
41665
  over_default?: unknown;
@@ -41743,7 +41791,7 @@ interface operations {
41743
41791
  "invite.send"?: {
41744
41792
  /** @description The least time between two Motion calls of this type on the account, in seconds. */
41745
41793
  min_gap_seconds?: number;
41746
- /** @description A random extra of up to this many seconds added to each gap. Absent on `global`, which has no jitter. */
41794
+ /** @description A random extra of up to this many seconds added to each gap. On `global` it defaults to 25: the wait after any action is at least `min_gap_seconds` plus a random part of this. */
41747
41795
  jitter_seconds?: number;
41748
41796
  /** @description READ-ONLY. Empty when nothing on this entry is below default. */
41749
41797
  over_default?: {
@@ -41766,7 +41814,7 @@ interface operations {
41766
41814
  "post.comment"?: {
41767
41815
  /** @description The least time between two Motion calls of this type on the account, in seconds. */
41768
41816
  min_gap_seconds?: number;
41769
- /** @description A random extra of up to this many seconds added to each gap. Absent on `global`, which has no jitter. */
41817
+ /** @description A random extra of up to this many seconds added to each gap. On `global` it defaults to 25: the wait after any action is at least `min_gap_seconds` plus a random part of this. */
41770
41818
  jitter_seconds?: number;
41771
41819
  /** @description READ-ONLY. Empty when nothing on this entry is below default. */
41772
41820
  over_default?: {
@@ -41789,7 +41837,7 @@ interface operations {
41789
41837
  "message.send"?: {
41790
41838
  /** @description The least time between two Motion calls of this type on the account, in seconds. */
41791
41839
  min_gap_seconds?: number;
41792
- /** @description A random extra of up to this many seconds added to each gap. Absent on `global`, which has no jitter. */
41840
+ /** @description A random extra of up to this many seconds added to each gap. On `global` it defaults to 25: the wait after any action is at least `min_gap_seconds` plus a random part of this. */
41793
41841
  jitter_seconds?: number;
41794
41842
  /** @description READ-ONLY. Empty when nothing on this entry is below default. */
41795
41843
  over_default?: {
@@ -41812,7 +41860,7 @@ interface operations {
41812
41860
  "inmail.send"?: {
41813
41861
  /** @description The least time between two Motion calls of this type on the account, in seconds. */
41814
41862
  min_gap_seconds?: number;
41815
- /** @description A random extra of up to this many seconds added to each gap. Absent on `global`, which has no jitter. */
41863
+ /** @description A random extra of up to this many seconds added to each gap. On `global` it defaults to 25: the wait after any action is at least `min_gap_seconds` plus a random part of this. */
41816
41864
  jitter_seconds?: number;
41817
41865
  /** @description READ-ONLY. Empty when nothing on this entry is below default. */
41818
41866
  over_default?: {
@@ -41835,7 +41883,7 @@ interface operations {
41835
41883
  "profile.follow"?: {
41836
41884
  /** @description The least time between two Motion calls of this type on the account, in seconds. */
41837
41885
  min_gap_seconds?: number;
41838
- /** @description A random extra of up to this many seconds added to each gap. Absent on `global`, which has no jitter. */
41886
+ /** @description A random extra of up to this many seconds added to each gap. On `global` it defaults to 25: the wait after any action is at least `min_gap_seconds` plus a random part of this. */
41839
41887
  jitter_seconds?: number;
41840
41888
  /** @description READ-ONLY. Empty when nothing on this entry is below default. */
41841
41889
  over_default?: {
@@ -41858,7 +41906,7 @@ interface operations {
41858
41906
  "profile.unfollow"?: {
41859
41907
  /** @description The least time between two Motion calls of this type on the account, in seconds. */
41860
41908
  min_gap_seconds?: number;
41861
- /** @description A random extra of up to this many seconds added to each gap. Absent on `global`, which has no jitter. */
41909
+ /** @description A random extra of up to this many seconds added to each gap. On `global` it defaults to 25: the wait after any action is at least `min_gap_seconds` plus a random part of this. */
41862
41910
  jitter_seconds?: number;
41863
41911
  /** @description READ-ONLY. Empty when nothing on this entry is below default. */
41864
41912
  over_default?: {
@@ -41881,7 +41929,7 @@ interface operations {
41881
41929
  "skill.endorse"?: {
41882
41930
  /** @description The least time between two Motion calls of this type on the account, in seconds. */
41883
41931
  min_gap_seconds?: number;
41884
- /** @description A random extra of up to this many seconds added to each gap. Absent on `global`, which has no jitter. */
41932
+ /** @description A random extra of up to this many seconds added to each gap. On `global` it defaults to 25: the wait after any action is at least `min_gap_seconds` plus a random part of this. */
41885
41933
  jitter_seconds?: number;
41886
41934
  /** @description READ-ONLY. Empty when nothing on this entry is below default. */
41887
41935
  over_default?: {
@@ -41904,7 +41952,7 @@ interface operations {
41904
41952
  "invite.withdraw"?: {
41905
41953
  /** @description The least time between two Motion calls of this type on the account, in seconds. */
41906
41954
  min_gap_seconds?: number;
41907
- /** @description A random extra of up to this many seconds added to each gap. Absent on `global`, which has no jitter. */
41955
+ /** @description A random extra of up to this many seconds added to each gap. On `global` it defaults to 25: the wait after any action is at least `min_gap_seconds` plus a random part of this. */
41908
41956
  jitter_seconds?: number;
41909
41957
  /** @description READ-ONLY. Empty when nothing on this entry is below default. */
41910
41958
  over_default?: {
@@ -41927,7 +41975,7 @@ interface operations {
41927
41975
  "post.react"?: {
41928
41976
  /** @description The least time between two Motion calls of this type on the account, in seconds. */
41929
41977
  min_gap_seconds?: number;
41930
- /** @description A random extra of up to this many seconds added to each gap. Absent on `global`, which has no jitter. */
41978
+ /** @description A random extra of up to this many seconds added to each gap. On `global` it defaults to 25: the wait after any action is at least `min_gap_seconds` plus a random part of this. */
41931
41979
  jitter_seconds?: number;
41932
41980
  /** @description READ-ONLY. Empty when nothing on this entry is below default. */
41933
41981
  over_default?: {
@@ -41950,7 +41998,7 @@ interface operations {
41950
41998
  read?: {
41951
41999
  /** @description The least time between two Motion calls of this type on the account, in seconds. */
41952
42000
  min_gap_seconds?: number;
41953
- /** @description A random extra of up to this many seconds added to each gap. Absent on `global`, which has no jitter. */
42001
+ /** @description A random extra of up to this many seconds added to each gap. On `global` it defaults to 25: the wait after any action is at least `min_gap_seconds` plus a random part of this. */
41954
42002
  jitter_seconds?: number;
41955
42003
  /** @description READ-ONLY. Empty when nothing on this entry is below default. */
41956
42004
  over_default?: {
@@ -41973,7 +42021,7 @@ interface operations {
41973
42021
  global?: {
41974
42022
  /** @description The least time between two Motion calls of this type on the account, in seconds. */
41975
42023
  min_gap_seconds?: number;
41976
- /** @description A random extra of up to this many seconds added to each gap. Absent on `global`, which has no jitter. */
42024
+ /** @description A random extra of up to this many seconds added to each gap. On `global` it defaults to 25: the wait after any action is at least `min_gap_seconds` plus a random part of this. */
41977
42025
  jitter_seconds?: number;
41978
42026
  /** @description READ-ONLY. Empty when nothing on this entry is below default. */
41979
42027
  over_default?: {
@@ -44706,7 +44754,7 @@ interface operations {
44706
44754
  provider_id: string | null;
44707
44755
  /** @description LinkedIn's member id, when observed. */
44708
44756
  member_id: string | null;
44709
- /** @description The person's LinkedIn photo, read from the profile data your team already holds when you ask, so it costs no LinkedIn call. Read-only, and not part of exports or webhooks. Null when none is held. The link is signed and expires: show initials when it fails to load. */
44757
+ /** @description The person's LinkedIn photo, read from the profile data your team already holds when you ask, so it costs no LinkedIn call. Read-only, and not part of exports or webhooks. Null when none is held. A copy we store, so the link does not expire; show initials when null. */
44710
44758
  profile_picture_url: string | null;
44711
44759
  /** @description Full name. */
44712
44760
  full_name: string | null;
@@ -44888,7 +44936,7 @@ interface operations {
44888
44936
  provider_id: string | null;
44889
44937
  /** @description LinkedIn's member id, when observed. */
44890
44938
  member_id: string | null;
44891
- /** @description The person's LinkedIn photo, read from the profile data your team already holds when you ask, so it costs no LinkedIn call. Read-only, and not part of exports or webhooks. Null when none is held. The link is signed and expires: show initials when it fails to load. */
44939
+ /** @description The person's LinkedIn photo, read from the profile data your team already holds when you ask, so it costs no LinkedIn call. Read-only, and not part of exports or webhooks. Null when none is held. A copy we store, so the link does not expire; show initials when null. */
44892
44940
  profile_picture_url: string | null;
44893
44941
  /** @description Full name. */
44894
44942
  full_name: string | null;
@@ -44968,7 +45016,7 @@ interface operations {
44968
45016
  provider_id: string | null;
44969
45017
  /** @description LinkedIn's member id, when observed. */
44970
45018
  member_id: string | null;
44971
- /** @description The person's LinkedIn photo, read from the profile data your team already holds when you ask, so it costs no LinkedIn call. Read-only, and not part of exports or webhooks. Null when none is held. The link is signed and expires: show initials when it fails to load. */
45019
+ /** @description The person's LinkedIn photo, read from the profile data your team already holds when you ask, so it costs no LinkedIn call. Read-only, and not part of exports or webhooks. Null when none is held. A copy we store, so the link does not expire; show initials when null. */
44972
45020
  profile_picture_url: string | null;
44973
45021
  /** @description Full name. */
44974
45022
  full_name: string | null;
@@ -45163,7 +45211,7 @@ interface operations {
45163
45211
  provider_id: string | null;
45164
45212
  /** @description LinkedIn's member id, when observed. */
45165
45213
  member_id: string | null;
45166
- /** @description The person's LinkedIn photo, read from the profile data your team already holds when you ask, so it costs no LinkedIn call. Read-only, and not part of exports or webhooks. Null when none is held. The link is signed and expires: show initials when it fails to load. */
45214
+ /** @description The person's LinkedIn photo, read from the profile data your team already holds when you ask, so it costs no LinkedIn call. Read-only, and not part of exports or webhooks. Null when none is held. A copy we store, so the link does not expire; show initials when null. */
45167
45215
  profile_picture_url: string | null;
45168
45216
  /** @description Full name. */
45169
45217
  full_name: string | null;
@@ -46319,7 +46367,7 @@ interface operations {
46319
46367
  provider_id: string | null;
46320
46368
  /** @description LinkedIn's member id, when observed. */
46321
46369
  member_id: string | null;
46322
- /** @description The person's LinkedIn photo, read from the profile data your team already holds when you ask, so it costs no LinkedIn call. Read-only, and not part of exports or webhooks. Null when none is held. The link is signed and expires: show initials when it fails to load. */
46370
+ /** @description The person's LinkedIn photo, read from the profile data your team already holds when you ask, so it costs no LinkedIn call. Read-only, and not part of exports or webhooks. Null when none is held. A copy we store, so the link does not expire; show initials when null. */
46323
46371
  profile_picture_url: string | null;
46324
46372
  /** @description Full name. */
46325
46373
  full_name: string | null;
@@ -46558,7 +46606,7 @@ interface operations {
46558
46606
  provider_id: string | null;
46559
46607
  /** @description LinkedIn's member id, when observed. */
46560
46608
  member_id: string | null;
46561
- /** @description The person's LinkedIn photo, read from the profile data your team already holds when you ask, so it costs no LinkedIn call. Read-only, and not part of exports or webhooks. Null when none is held. The link is signed and expires: show initials when it fails to load. */
46609
+ /** @description The person's LinkedIn photo, read from the profile data your team already holds when you ask, so it costs no LinkedIn call. Read-only, and not part of exports or webhooks. Null when none is held. A copy we store, so the link does not expire; show initials when null. */
46562
46610
  profile_picture_url: string | null;
46563
46611
  /** @description Full name. */
46564
46612
  full_name: string | null;
@@ -48130,9 +48178,16 @@ interface operations {
48130
48178
  };
48131
48179
  settings: {
48132
48180
  accounts_per_contact: number;
48133
- /** @enum {string} */
48134
- assign: "auto" | "even" | "already_connected";
48135
- new_enrollments_per_account_per_day: number;
48181
+ /**
48182
+ * @description Which sending account takes a Contact. auto: one already connected or chatting with them, else whichever has room first. already_connected: only an account connected to them.
48183
+ * @enum {string}
48184
+ */
48185
+ assign: "auto" | "already_connected";
48186
+ /**
48187
+ * @description This Motion's share of each sending account's daily allowance: normal, or prioritized for twice a normal Motion's share. A share nobody uses flows to the other Motions the same day.
48188
+ * @enum {string}
48189
+ */
48190
+ priority: "normal" | "prioritized";
48136
48191
  exclude: {
48137
48192
  other_motions: boolean;
48138
48193
  known_chats: boolean;
@@ -48294,14 +48349,19 @@ interface operations {
48294
48349
  };
48295
48350
  /** @description Merged key by key on update. */
48296
48351
  settings?: {
48352
+ /**
48353
+ * @description This Motion's share of each sending account's daily allowance: normal, or prioritized for twice a normal Motion's share. Default normal.
48354
+ * @enum {string}
48355
+ */
48356
+ priority?: "normal" | "prioritized";
48297
48357
  /** @description How many sending accounts may contact one Contact (1 to 10). Default 1. */
48298
48358
  accounts_per_contact?: number;
48299
48359
  /**
48300
- * @description How Contacts are assigned to sending accounts: auto, even or already_connected. Default auto.
48360
+ * @description Which sending account takes a Contact. auto: one already connected or chatting with them, else whichever has room first. already_connected: only an account connected to them; anyone else is skipped. Default auto. even is retired: accepted and ignored with a SETTING_REMOVED notice and a Deprecation: true header until 2027-01-28, never stored or returned; a 400 after that day.
48301
48361
  * @enum {string}
48302
48362
  */
48303
48363
  assign?: "auto" | "even" | "already_connected";
48304
- /** @description New Enrollments per sending account per day (1 to 1000). Default 15. */
48364
+ /** @description Retired: new people now start at each sending account's daily allowance. Accepted and ignored with a SETTING_REMOVED notice and a Deprecation: true header until 2027-01-28, never stored or returned; a 400 after that day. */
48305
48365
  new_enrollments_per_account_per_day?: number;
48306
48366
  exclude?: {
48307
48367
  /** @description Skip Contacts already in another Motion. Default true. */
@@ -48383,9 +48443,16 @@ interface operations {
48383
48443
  };
48384
48444
  settings: {
48385
48445
  accounts_per_contact: number;
48386
- /** @enum {string} */
48387
- assign: "auto" | "even" | "already_connected";
48388
- new_enrollments_per_account_per_day: number;
48446
+ /**
48447
+ * @description Which sending account takes a Contact. auto: one already connected or chatting with them, else whichever has room first. already_connected: only an account connected to them.
48448
+ * @enum {string}
48449
+ */
48450
+ assign: "auto" | "already_connected";
48451
+ /**
48452
+ * @description This Motion's share of each sending account's daily allowance: normal, or prioritized for twice a normal Motion's share. A share nobody uses flows to the other Motions the same day.
48453
+ * @enum {string}
48454
+ */
48455
+ priority: "normal" | "prioritized";
48389
48456
  exclude: {
48390
48457
  other_motions: boolean;
48391
48458
  known_chats: boolean;
@@ -48438,7 +48505,7 @@ interface operations {
48438
48505
  };
48439
48506
  /** @description Lint warnings on the Sequence and the Motion. They never block a write. */
48440
48507
  warnings: {
48441
- /** @description The warning id, W1 to W16. */
48508
+ /** @description The warning id, W1 to W17. */
48442
48509
  code: string;
48443
48510
  /** @description Where, as step id then field. */
48444
48511
  path: string;
@@ -48472,6 +48539,14 @@ interface operations {
48472
48539
  completed_at: string | null;
48473
48540
  /** @description When it was archived. */
48474
48541
  archived_at: string | null;
48542
+ /** @description Present on a write only, and only when it sent a retired setting: one SETTING_REMOVED entry per key, naming it and the last day it is accepted (2027-01-28). Nothing was stored for it; the response carries a Deprecation: true header. Branch on code, never on message. */
48543
+ notices?: {
48544
+ /** @enum {string} */
48545
+ code: "SETTING_REMOVED";
48546
+ /** @enum {string} */
48547
+ field: "settings.new_enrollments_per_account_per_day";
48548
+ message: string;
48549
+ }[];
48475
48550
  };
48476
48551
  };
48477
48552
  };
@@ -48612,9 +48687,16 @@ interface operations {
48612
48687
  };
48613
48688
  settings: {
48614
48689
  accounts_per_contact: number;
48615
- /** @enum {string} */
48616
- assign: "auto" | "even" | "already_connected";
48617
- new_enrollments_per_account_per_day: number;
48690
+ /**
48691
+ * @description Which sending account takes a Contact. auto: one already connected or chatting with them, else whichever has room first. already_connected: only an account connected to them.
48692
+ * @enum {string}
48693
+ */
48694
+ assign: "auto" | "already_connected";
48695
+ /**
48696
+ * @description This Motion's share of each sending account's daily allowance: normal, or prioritized for twice a normal Motion's share. A share nobody uses flows to the other Motions the same day.
48697
+ * @enum {string}
48698
+ */
48699
+ priority: "normal" | "prioritized";
48618
48700
  exclude: {
48619
48701
  other_motions: boolean;
48620
48702
  known_chats: boolean;
@@ -48667,7 +48749,7 @@ interface operations {
48667
48749
  };
48668
48750
  /** @description Lint warnings on the Sequence and the Motion. They never block a write. */
48669
48751
  warnings: {
48670
- /** @description The warning id, W1 to W16. */
48752
+ /** @description The warning id, W1 to W17. */
48671
48753
  code: string;
48672
48754
  /** @description Where, as step id then field. */
48673
48755
  path: string;
@@ -48876,14 +48958,19 @@ interface operations {
48876
48958
  };
48877
48959
  /** @description Merged key by key on update. */
48878
48960
  settings?: {
48961
+ /**
48962
+ * @description This Motion's share of each sending account's daily allowance: normal, or prioritized for twice a normal Motion's share. Default normal.
48963
+ * @enum {string}
48964
+ */
48965
+ priority?: "normal" | "prioritized";
48879
48966
  /** @description How many sending accounts may contact one Contact (1 to 10). Default 1. */
48880
48967
  accounts_per_contact?: number;
48881
48968
  /**
48882
- * @description How Contacts are assigned to sending accounts: auto, even or already_connected. Default auto.
48969
+ * @description Which sending account takes a Contact. auto: one already connected or chatting with them, else whichever has room first. already_connected: only an account connected to them; anyone else is skipped. Default auto. even is retired: accepted and ignored with a SETTING_REMOVED notice and a Deprecation: true header until 2027-01-28, never stored or returned; a 400 after that day.
48883
48970
  * @enum {string}
48884
48971
  */
48885
48972
  assign?: "auto" | "even" | "already_connected";
48886
- /** @description New Enrollments per sending account per day (1 to 1000). Default 15. */
48973
+ /** @description Retired: new people now start at each sending account's daily allowance. Accepted and ignored with a SETTING_REMOVED notice and a Deprecation: true header until 2027-01-28, never stored or returned; a 400 after that day. */
48887
48974
  new_enrollments_per_account_per_day?: number;
48888
48975
  exclude?: {
48889
48976
  /** @description Skip Contacts already in another Motion. Default true. */
@@ -48967,9 +49054,16 @@ interface operations {
48967
49054
  };
48968
49055
  settings: {
48969
49056
  accounts_per_contact: number;
48970
- /** @enum {string} */
48971
- assign: "auto" | "even" | "already_connected";
48972
- new_enrollments_per_account_per_day: number;
49057
+ /**
49058
+ * @description Which sending account takes a Contact. auto: one already connected or chatting with them, else whichever has room first. already_connected: only an account connected to them.
49059
+ * @enum {string}
49060
+ */
49061
+ assign: "auto" | "already_connected";
49062
+ /**
49063
+ * @description This Motion's share of each sending account's daily allowance: normal, or prioritized for twice a normal Motion's share. A share nobody uses flows to the other Motions the same day.
49064
+ * @enum {string}
49065
+ */
49066
+ priority: "normal" | "prioritized";
48973
49067
  exclude: {
48974
49068
  other_motions: boolean;
48975
49069
  known_chats: boolean;
@@ -49022,7 +49116,7 @@ interface operations {
49022
49116
  };
49023
49117
  /** @description Lint warnings on the Sequence and the Motion. They never block a write. */
49024
49118
  warnings: {
49025
- /** @description The warning id, W1 to W16. */
49119
+ /** @description The warning id, W1 to W17. */
49026
49120
  code: string;
49027
49121
  /** @description Where, as step id then field. */
49028
49122
  path: string;
@@ -49058,6 +49152,14 @@ interface operations {
49058
49152
  archived_at: string | null;
49059
49153
  /** @enum {string} */
49060
49154
  sequence_change: "none" | "copy" | "structural";
49155
+ /** @description Present on a write only, and only when it sent a retired setting: one SETTING_REMOVED entry per key, naming it and the last day it is accepted (2027-01-28). Nothing was stored for it; the response carries a Deprecation: true header. Branch on code, never on message. */
49156
+ notices?: {
49157
+ /** @enum {string} */
49158
+ code: "SETTING_REMOVED";
49159
+ /** @enum {string} */
49160
+ field: "settings.new_enrollments_per_account_per_day";
49161
+ message: string;
49162
+ }[];
49061
49163
  };
49062
49164
  };
49063
49165
  };
@@ -49198,9 +49300,16 @@ interface operations {
49198
49300
  };
49199
49301
  settings: {
49200
49302
  accounts_per_contact: number;
49201
- /** @enum {string} */
49202
- assign: "auto" | "even" | "already_connected";
49203
- new_enrollments_per_account_per_day: number;
49303
+ /**
49304
+ * @description Which sending account takes a Contact. auto: one already connected or chatting with them, else whichever has room first. already_connected: only an account connected to them.
49305
+ * @enum {string}
49306
+ */
49307
+ assign: "auto" | "already_connected";
49308
+ /**
49309
+ * @description This Motion's share of each sending account's daily allowance: normal, or prioritized for twice a normal Motion's share. A share nobody uses flows to the other Motions the same day.
49310
+ * @enum {string}
49311
+ */
49312
+ priority: "normal" | "prioritized";
49204
49313
  exclude: {
49205
49314
  other_motions: boolean;
49206
49315
  known_chats: boolean;
@@ -49253,7 +49362,7 @@ interface operations {
49253
49362
  };
49254
49363
  /** @description Lint warnings on the Sequence and the Motion. They never block a write. */
49255
49364
  warnings: {
49256
- /** @description The warning id, W1 to W16. */
49365
+ /** @description The warning id, W1 to W17. */
49257
49366
  code: string;
49258
49367
  /** @description Where, as step id then field. */
49259
49368
  path: string;
@@ -49418,9 +49527,16 @@ interface operations {
49418
49527
  };
49419
49528
  settings: {
49420
49529
  accounts_per_contact: number;
49421
- /** @enum {string} */
49422
- assign: "auto" | "even" | "already_connected";
49423
- new_enrollments_per_account_per_day: number;
49530
+ /**
49531
+ * @description Which sending account takes a Contact. auto: one already connected or chatting with them, else whichever has room first. already_connected: only an account connected to them.
49532
+ * @enum {string}
49533
+ */
49534
+ assign: "auto" | "already_connected";
49535
+ /**
49536
+ * @description This Motion's share of each sending account's daily allowance: normal, or prioritized for twice a normal Motion's share. A share nobody uses flows to the other Motions the same day.
49537
+ * @enum {string}
49538
+ */
49539
+ priority: "normal" | "prioritized";
49424
49540
  exclude: {
49425
49541
  other_motions: boolean;
49426
49542
  known_chats: boolean;
@@ -49473,7 +49589,7 @@ interface operations {
49473
49589
  };
49474
49590
  /** @description Lint warnings on the Sequence and the Motion. They never block a write. */
49475
49591
  warnings: {
49476
- /** @description The warning id, W1 to W16. */
49592
+ /** @description The warning id, W1 to W17. */
49477
49593
  code: string;
49478
49594
  /** @description Where, as step id then field. */
49479
49595
  path: string;
@@ -49629,9 +49745,16 @@ interface operations {
49629
49745
  };
49630
49746
  settings: {
49631
49747
  accounts_per_contact: number;
49632
- /** @enum {string} */
49633
- assign: "auto" | "even" | "already_connected";
49634
- new_enrollments_per_account_per_day: number;
49748
+ /**
49749
+ * @description Which sending account takes a Contact. auto: one already connected or chatting with them, else whichever has room first. already_connected: only an account connected to them.
49750
+ * @enum {string}
49751
+ */
49752
+ assign: "auto" | "already_connected";
49753
+ /**
49754
+ * @description This Motion's share of each sending account's daily allowance: normal, or prioritized for twice a normal Motion's share. A share nobody uses flows to the other Motions the same day.
49755
+ * @enum {string}
49756
+ */
49757
+ priority: "normal" | "prioritized";
49635
49758
  exclude: {
49636
49759
  other_motions: boolean;
49637
49760
  known_chats: boolean;
@@ -49684,7 +49807,7 @@ interface operations {
49684
49807
  };
49685
49808
  /** @description Lint warnings on the Sequence and the Motion. They never block a write. */
49686
49809
  warnings: {
49687
- /** @description The warning id, W1 to W16. */
49810
+ /** @description The warning id, W1 to W17. */
49688
49811
  code: string;
49689
49812
  /** @description Where, as step id then field. */
49690
49813
  path: string;
@@ -49849,9 +49972,16 @@ interface operations {
49849
49972
  };
49850
49973
  settings: {
49851
49974
  accounts_per_contact: number;
49852
- /** @enum {string} */
49853
- assign: "auto" | "even" | "already_connected";
49854
- new_enrollments_per_account_per_day: number;
49975
+ /**
49976
+ * @description Which sending account takes a Contact. auto: one already connected or chatting with them, else whichever has room first. already_connected: only an account connected to them.
49977
+ * @enum {string}
49978
+ */
49979
+ assign: "auto" | "already_connected";
49980
+ /**
49981
+ * @description This Motion's share of each sending account's daily allowance: normal, or prioritized for twice a normal Motion's share. A share nobody uses flows to the other Motions the same day.
49982
+ * @enum {string}
49983
+ */
49984
+ priority: "normal" | "prioritized";
49855
49985
  exclude: {
49856
49986
  other_motions: boolean;
49857
49987
  known_chats: boolean;
@@ -49904,7 +50034,7 @@ interface operations {
49904
50034
  };
49905
50035
  /** @description Lint warnings on the Sequence and the Motion. They never block a write. */
49906
50036
  warnings: {
49907
- /** @description The warning id, W1 to W16. */
50037
+ /** @description The warning id, W1 to W17. */
49908
50038
  code: string;
49909
50039
  /** @description Where, as step id then field. */
49910
50040
  path: string;
@@ -50126,7 +50256,7 @@ interface operations {
50126
50256
  truncated: boolean;
50127
50257
  samples: {
50128
50258
  contact_id: string;
50129
- /** @description The sending account this Contact would be assigned, from stored data; null when none can act or assignment needs LinkedIn. */
50259
+ /** @description A sending account to render this sample with, not a promise: the account is set when one takes the Contact. null when none can act or assignment needs LinkedIn. */
50130
50260
  account_id: string | null;
50131
50261
  /**
50132
50262
  * @description Why the Contact would not be enrolled, from stored data: the Team's do-not-contact list holds it, an Exclusion list holds it, it is or was within 90 days in another Motion, or an account already chats with it. null: nothing excludes it.
@@ -50161,7 +50291,7 @@ interface operations {
50161
50291
  }[];
50162
50292
  /** @description An estimate of how long the list takes, from each account's current budget ceilings (warm-up applied). Each Contact is enrolled on min(accounts_per_contact, accounts that can act) accounts; those Enrollments split evenly over the accounts. It ignores what other Motions spend. */
50163
50293
  projection: {
50164
- /** @description The Contacts of the source lists, counted from stored data (nothing is read from LinkedIn), each once. A Contact that would be skipped for several reasons counts under the first: do_not_contact, excluded, other_motion, known_chat, filtered. Present even when the Motion has no Sequence. */
50294
+ /** @description The Contacts of the source lists, counted from stored data (nothing is read from LinkedIn), each once. A Contact that would be skipped for several reasons counts under the first: do_not_contact, excluded, other_motion, known_chat, filtered, not_connected. Present even when the Motion has no Sequence. */
50165
50295
  audience: {
50166
50296
  /** @description Contacts in the Motion's source lists, each counted once. */
50167
50297
  total: number;
@@ -50176,6 +50306,8 @@ interface operations {
50176
50306
  known_chat: number;
50177
50307
  /** @description Fail a where filter on stored Contact data (fields, extra fields, tags). A filter only LinkedIn can answer, such as degree or premium, is checked when the Contact enrolls and does not count here. */
50178
50308
  filtered: number;
50309
+ /** @description With settings.assign already_connected: no sending account is connected to them, so the Motion will skip them. 0 for any other assign, and while a sending account has not finished reading its Connections. */
50310
+ not_connected: number;
50179
50311
  };
50180
50312
  /** @description total minus every skipped count: the Contacts the projection plans for. */
50181
50313
  to_enroll: number;
@@ -50188,26 +50320,41 @@ interface operations {
50188
50320
  contacts: number;
50189
50321
  /** @description Schedule days to enroll that share; null when a ceiling of 0 admits none. */
50190
50322
  enroll_days: number | null;
50191
- /** @description The limit that set this account's pace: daily_cap, or a budget row such as connection_requests_no_note. */
50323
+ /** @description The limit that set this account's pace: the pool whose share sets the start rate (invitations, views), pace for a Motion with no invitation or profile view (about 60 new people a day), or a budget row such as messages_first_degree. */
50192
50324
  binding: string;
50325
+ /** @description The LinkedIn actions a day this Motion is expected to make on this account at that pace, every budgeted step of the costliest route counted. An estimate; 0 when the account carries no Contact. */
50326
+ expected_actions_per_day: number;
50193
50327
  }[];
50194
50328
  /** @description Calendar days of waits and timeouts on the longest route, rounded up. null when the Motion has no Sequence. */
50195
50329
  longest_path_days: number | null;
50196
50330
  /** @description Schedule days until the last Contact finishes: the slowest account's enroll_days plus the longest route in schedule days, plus, with accounts_per_contact above 1, settings.account_gap (default 1d) in schedule days for each further account a Contact is enrolled on. null when nothing can run. */
50197
50331
  finish_working_days: number | null;
50198
- /** @description Whether every Contact finishes before schedule.end_at, counting schedule days from now (or schedule.start_at if later). null when the schedule has no end_at or the Motion has no Sequence. schedule.hours is not modelled: the estimate assumes each day's actions fit the daily window. */
50332
+ /** @description Whether every Contact finishes before schedule.end_at, counting schedule days from now (or schedule.start_at if later). null when the schedule has no end_at or the Motion has no Sequence. schedule.hours does not slow the estimate; warnings says where the hours cannot use the Motion's share. */
50199
50333
  fits_before_end_at: boolean | null;
50200
50334
  /** @description The slowest account and its limiter; null when no sending account can act. */
50201
50335
  binding: {
50202
50336
  account_id: string;
50203
50337
  limiter: string;
50204
50338
  } | null;
50205
- /** @description One line that says it is an estimate at the account's steady-state ceiling, for example: 100 Contacts finish in 27 working days; binding row daily_cap (an estimate at each Account's steady-state ceiling). When fits_before_end_at is false it says the Motion ends first and how many Contacts can enroll by then. */
50339
+ /** @description hours_below_share: the Motion's schedule.hours cannot use its share (a session runs in at most 90% of the hours and 8 hours a day, one action per the pool's mean gap). no_sending_account: every route of the Sequence sends an InMail and no sending account has Sales Navigator or Recruiter, so no account can take anyone; it has only code and message. Empty when none. */
50340
+ warnings: {
50341
+ /** @enum {string} */
50342
+ code: "hours_below_share" | "no_sending_account";
50343
+ account_id?: string;
50344
+ /** @description The pool that sets the rate: invitations or views. */
50345
+ pool?: string;
50346
+ /** @description This Motion's share of that pool, a day. */
50347
+ share_per_day?: number;
50348
+ /** @description What its hours fit, a day. */
50349
+ fits_per_day?: number;
50350
+ message: string;
50351
+ }[];
50352
+ /** @description One line that says it is an estimate at the account's steady-state pace, for example: 100 Contacts finish in 27 working days; bound by invitations (an estimate at each Account's steady-state pace). When fits_before_end_at is false it says the Motion ends first and how many Contacts can enroll by then. */
50206
50353
  summary: string;
50207
50354
  };
50208
50355
  /** @description Lint warnings, as on the Motion. */
50209
50356
  warnings: {
50210
- /** @description The warning id, W1 to W16. */
50357
+ /** @description The warning id, W1 to W17. */
50211
50358
  code: string;
50212
50359
  /** @description Where, as step id then field. */
50213
50360
  path: string;
@@ -50558,7 +50705,7 @@ interface operations {
50558
50705
  motion_id: string;
50559
50706
  /** @description The Contact (con_...); null once the Contact is deleted. */
50560
50707
  contact_id: string | null;
50561
- /** @description The sending account (acc_...); null until one is assigned. */
50708
+ /** @description The sending account (acc_...). null while the Enrollment waits for one: a sending account of the Motion takes it when it has room, and it stays on that account. The account_id list filter leaves out Enrollments that have none yet. */
50562
50709
  account_id: string | null;
50563
50710
  /** @description The Sequence version this Enrollment runs on. */
50564
50711
  sequence_version: number;
@@ -50572,7 +50719,7 @@ interface operations {
50572
50719
  /** @description What it waits for; null when nothing holds it. paused_by_user: you paused this Enrollment; it holds until you resume it, whatever else returns. account_unavailable, motion_paused: its account or Motion holds it. */
50573
50720
  waiting: {
50574
50721
  /** @enum {string} */
50575
- kind: "wait" | "event" | "queue" | "account_unavailable" | "motion_paused" | "halt" | "kill_switch" | "paused_by_user";
50722
+ kind: "wait" | "event" | "queue" | "budget" | "account_unavailable" | "motion_paused" | "halt" | "kill_switch" | "paused_by_user";
50576
50723
  /** @description The Step it waits at; null before it starts. */
50577
50724
  step_id: string | null;
50578
50725
  /** @description ISO 8601, when the wait ends; null when open-ended. */
@@ -50708,7 +50855,7 @@ interface operations {
50708
50855
  motion_id: string;
50709
50856
  /** @description The Contact (con_...); null once the Contact is deleted. */
50710
50857
  contact_id: string | null;
50711
- /** @description The sending account (acc_...); null until one is assigned. */
50858
+ /** @description The sending account (acc_...). null while the Enrollment waits for one: a sending account of the Motion takes it when it has room, and it stays on that account. The account_id list filter leaves out Enrollments that have none yet. */
50712
50859
  account_id: string | null;
50713
50860
  /** @description The Sequence version this Enrollment runs on. */
50714
50861
  sequence_version: number;
@@ -50722,7 +50869,7 @@ interface operations {
50722
50869
  /** @description What it waits for; null when nothing holds it. paused_by_user: you paused this Enrollment; it holds until you resume it, whatever else returns. account_unavailable, motion_paused: its account or Motion holds it. */
50723
50870
  waiting: {
50724
50871
  /** @enum {string} */
50725
- kind: "wait" | "event" | "queue" | "account_unavailable" | "motion_paused" | "halt" | "kill_switch" | "paused_by_user";
50872
+ kind: "wait" | "event" | "queue" | "budget" | "account_unavailable" | "motion_paused" | "halt" | "kill_switch" | "paused_by_user";
50726
50873
  /** @description The Step it waits at; null before it starts. */
50727
50874
  step_id: string | null;
50728
50875
  /** @description ISO 8601, when the wait ends; null when open-ended. */
@@ -50876,7 +51023,7 @@ interface operations {
50876
51023
  motion_id: string;
50877
51024
  /** @description The Contact (con_...); null once the Contact is deleted. */
50878
51025
  contact_id: string | null;
50879
- /** @description The sending account (acc_...); null until one is assigned. */
51026
+ /** @description The sending account (acc_...). null while the Enrollment waits for one: a sending account of the Motion takes it when it has room, and it stays on that account. The account_id list filter leaves out Enrollments that have none yet. */
50880
51027
  account_id: string | null;
50881
51028
  /** @description The Sequence version this Enrollment runs on. */
50882
51029
  sequence_version: number;
@@ -50890,7 +51037,7 @@ interface operations {
50890
51037
  /** @description What it waits for; null when nothing holds it. paused_by_user: you paused this Enrollment; it holds until you resume it, whatever else returns. account_unavailable, motion_paused: its account or Motion holds it. */
50891
51038
  waiting: {
50892
51039
  /** @enum {string} */
50893
- kind: "wait" | "event" | "queue" | "account_unavailable" | "motion_paused" | "halt" | "kill_switch" | "paused_by_user";
51040
+ kind: "wait" | "event" | "queue" | "budget" | "account_unavailable" | "motion_paused" | "halt" | "kill_switch" | "paused_by_user";
50894
51041
  /** @description The Step it waits at; null before it starts. */
50895
51042
  step_id: string | null;
50896
51043
  /** @description ISO 8601, when the wait ends; null when open-ended. */
@@ -51032,7 +51179,7 @@ interface operations {
51032
51179
  motion_id: string;
51033
51180
  /** @description The Contact (con_...); null once the Contact is deleted. */
51034
51181
  contact_id: string | null;
51035
- /** @description The sending account (acc_...); null until one is assigned. */
51182
+ /** @description The sending account (acc_...). null while the Enrollment waits for one: a sending account of the Motion takes it when it has room, and it stays on that account. The account_id list filter leaves out Enrollments that have none yet. */
51036
51183
  account_id: string | null;
51037
51184
  /** @description The Sequence version this Enrollment runs on. */
51038
51185
  sequence_version: number;
@@ -51046,7 +51193,7 @@ interface operations {
51046
51193
  /** @description What it waits for; null when nothing holds it. paused_by_user: you paused this Enrollment; it holds until you resume it, whatever else returns. account_unavailable, motion_paused: its account or Motion holds it. */
51047
51194
  waiting: {
51048
51195
  /** @enum {string} */
51049
- kind: "wait" | "event" | "queue" | "account_unavailable" | "motion_paused" | "halt" | "kill_switch" | "paused_by_user";
51196
+ kind: "wait" | "event" | "queue" | "budget" | "account_unavailable" | "motion_paused" | "halt" | "kill_switch" | "paused_by_user";
51050
51197
  /** @description The Step it waits at; null before it starts. */
51051
51198
  step_id: string | null;
51052
51199
  /** @description ISO 8601, when the wait ends; null when open-ended. */
@@ -51195,7 +51342,7 @@ interface operations {
51195
51342
  motion_id: string;
51196
51343
  /** @description The Contact (con_...); null once the Contact is deleted. */
51197
51344
  contact_id: string | null;
51198
- /** @description The sending account (acc_...); null until one is assigned. */
51345
+ /** @description The sending account (acc_...). null while the Enrollment waits for one: a sending account of the Motion takes it when it has room, and it stays on that account. The account_id list filter leaves out Enrollments that have none yet. */
51199
51346
  account_id: string | null;
51200
51347
  /** @description The Sequence version this Enrollment runs on. */
51201
51348
  sequence_version: number;
@@ -51209,7 +51356,7 @@ interface operations {
51209
51356
  /** @description What it waits for; null when nothing holds it. paused_by_user: you paused this Enrollment; it holds until you resume it, whatever else returns. account_unavailable, motion_paused: its account or Motion holds it. */
51210
51357
  waiting: {
51211
51358
  /** @enum {string} */
51212
- kind: "wait" | "event" | "queue" | "account_unavailable" | "motion_paused" | "halt" | "kill_switch" | "paused_by_user";
51359
+ kind: "wait" | "event" | "queue" | "budget" | "account_unavailable" | "motion_paused" | "halt" | "kill_switch" | "paused_by_user";
51213
51360
  /** @description The Step it waits at; null before it starts. */
51214
51361
  step_id: string | null;
51215
51362
  /** @description ISO 8601, when the wait ends; null when open-ended. */
@@ -51367,7 +51514,7 @@ interface operations {
51367
51514
  motion_id: string;
51368
51515
  /** @description The Contact (con_...); null once the Contact is deleted. */
51369
51516
  contact_id: string | null;
51370
- /** @description The sending account (acc_...); null until one is assigned. */
51517
+ /** @description The sending account (acc_...). null while the Enrollment waits for one: a sending account of the Motion takes it when it has room, and it stays on that account. The account_id list filter leaves out Enrollments that have none yet. */
51371
51518
  account_id: string | null;
51372
51519
  /** @description The Sequence version this Enrollment runs on. */
51373
51520
  sequence_version: number;
@@ -51381,7 +51528,7 @@ interface operations {
51381
51528
  /** @description What it waits for; null when nothing holds it. paused_by_user: you paused this Enrollment; it holds until you resume it, whatever else returns. account_unavailable, motion_paused: its account or Motion holds it. */
51382
51529
  waiting: {
51383
51530
  /** @enum {string} */
51384
- kind: "wait" | "event" | "queue" | "account_unavailable" | "motion_paused" | "halt" | "kill_switch" | "paused_by_user";
51531
+ kind: "wait" | "event" | "queue" | "budget" | "account_unavailable" | "motion_paused" | "halt" | "kill_switch" | "paused_by_user";
51385
51532
  /** @description The Step it waits at; null before it starts. */
51386
51533
  step_id: string | null;
51387
51534
  /** @description ISO 8601, when the wait ends; null when open-ended. */
@@ -51539,7 +51686,7 @@ interface operations {
51539
51686
  motion_id: string;
51540
51687
  /** @description The Contact (con_...); null once the Contact is deleted. */
51541
51688
  contact_id: string | null;
51542
- /** @description The sending account (acc_...); null until one is assigned. */
51689
+ /** @description The sending account (acc_...). null while the Enrollment waits for one: a sending account of the Motion takes it when it has room, and it stays on that account. The account_id list filter leaves out Enrollments that have none yet. */
51543
51690
  account_id: string | null;
51544
51691
  /** @description The Sequence version this Enrollment runs on. */
51545
51692
  sequence_version: number;
@@ -51553,7 +51700,7 @@ interface operations {
51553
51700
  /** @description What it waits for; null when nothing holds it. paused_by_user: you paused this Enrollment; it holds until you resume it, whatever else returns. account_unavailable, motion_paused: its account or Motion holds it. */
51554
51701
  waiting: {
51555
51702
  /** @enum {string} */
51556
- kind: "wait" | "event" | "queue" | "account_unavailable" | "motion_paused" | "halt" | "kill_switch" | "paused_by_user";
51703
+ kind: "wait" | "event" | "queue" | "budget" | "account_unavailable" | "motion_paused" | "halt" | "kill_switch" | "paused_by_user";
51557
51704
  /** @description The Step it waits at; null before it starts. */
51558
51705
  step_id: string | null;
51559
51706
  /** @description ISO 8601, when the wait ends; null when open-ended. */
@@ -51720,7 +51867,7 @@ interface operations {
51720
51867
  motion_id: string;
51721
51868
  /** @description The Contact (con_...); null once the Contact is deleted. */
51722
51869
  contact_id: string | null;
51723
- /** @description The sending account (acc_...); null until one is assigned. */
51870
+ /** @description The sending account (acc_...). null while the Enrollment waits for one: a sending account of the Motion takes it when it has room, and it stays on that account. The account_id list filter leaves out Enrollments that have none yet. */
51724
51871
  account_id: string | null;
51725
51872
  /** @description The Sequence version this Enrollment runs on. */
51726
51873
  sequence_version: number;
@@ -51734,7 +51881,7 @@ interface operations {
51734
51881
  /** @description What it waits for; null when nothing holds it. paused_by_user: you paused this Enrollment; it holds until you resume it, whatever else returns. account_unavailable, motion_paused: its account or Motion holds it. */
51735
51882
  waiting: {
51736
51883
  /** @enum {string} */
51737
- kind: "wait" | "event" | "queue" | "account_unavailable" | "motion_paused" | "halt" | "kill_switch" | "paused_by_user";
51884
+ kind: "wait" | "event" | "queue" | "budget" | "account_unavailable" | "motion_paused" | "halt" | "kill_switch" | "paused_by_user";
51738
51885
  /** @description The Step it waits at; null before it starts. */
51739
51886
  step_id: string | null;
51740
51887
  /** @description ISO 8601, when the wait ends; null when open-ended. */
@@ -54286,7 +54433,7 @@ interface operations {
54286
54433
  /** @description One row per budget row with at least one counted call in the window, in the Safety row order. */
54287
54434
  types: {
54288
54435
  /**
54289
- * @description The budget row. Units differ per row: connection_requests_with_note, one invitation sent with a note; connection_requests_no_note, one invitation sent without a note; messages_first_degree, one message to a 1st-degree connection; inmail, one InMail sent; open_profile_inmail, one free message to an Open Profile; profile_views, one profile read; search, one search result line, not one query; comments, one comment posted; post_likes, one reaction to a post, a comment or a message; follows, one follow; content_poll, one content read: a page of posts, a feed, a company page or its followers; job_poll, one read of job postings; posts, one post published; endorsements, one skill endorsed; invite_responses, one received invitation accepted or declined; withdrawal_sweep, one sent invitation withdrawn; connections_sync, one background read of the connection list; inbox_sync, one background read of the inbox; profile_snapshot, one attempt of the daily Account snapshot.
54436
+ * @description The budget row. Units differ per row: connection_requests_with_note, one invitation sent with a note (also counted in Invitations); connection_requests_no_note, one invitation sent, with or without a note; messages_first_degree, one message to a 1st-degree connection; inmail, one InMail sent; open_profile_inmail, one free message to an Open Profile; profile_views, one profile read; search, one search result line, not one query; comments, one comment posted; post_likes, one reaction to a post, a comment or a message; follows, one follow; content_poll, one content read: a page of posts, a feed, a company page or its followers; job_poll, one read of job postings; posts, one post published; endorsements, one skill endorsed; invite_responses, one received invitation accepted or declined; withdrawal_sweep, one sent invitation withdrawn; connections_sync, one background read of the connection list; inbox_sync, one background read of the inbox; profile_snapshot, one attempt of the daily Account snapshot.
54290
54437
  * @enum {string}
54291
54438
  */
54292
54439
  budget_row: "connection_requests_with_note" | "connection_requests_no_note" | "messages_first_degree" | "inmail" | "open_profile_inmail" | "profile_views" | "search" | "comments" | "post_likes" | "follows" | "content_poll" | "job_poll" | "posts" | "endorsements" | "invite_responses" | "withdrawal_sweep" | "connections_sync" | "inbox_sync" | "profile_snapshot";
@@ -54313,7 +54460,7 @@ interface operations {
54313
54460
  account_name: string | null;
54314
54461
  types: {
54315
54462
  /**
54316
- * @description The budget row. Units differ per row: connection_requests_with_note, one invitation sent with a note; connection_requests_no_note, one invitation sent without a note; messages_first_degree, one message to a 1st-degree connection; inmail, one InMail sent; open_profile_inmail, one free message to an Open Profile; profile_views, one profile read; search, one search result line, not one query; comments, one comment posted; post_likes, one reaction to a post, a comment or a message; follows, one follow; content_poll, one content read: a page of posts, a feed, a company page or its followers; job_poll, one read of job postings; posts, one post published; endorsements, one skill endorsed; invite_responses, one received invitation accepted or declined; withdrawal_sweep, one sent invitation withdrawn; connections_sync, one background read of the connection list; inbox_sync, one background read of the inbox; profile_snapshot, one attempt of the daily Account snapshot.
54463
+ * @description The budget row. Units differ per row: connection_requests_with_note, one invitation sent with a note (also counted in Invitations); connection_requests_no_note, one invitation sent, with or without a note; messages_first_degree, one message to a 1st-degree connection; inmail, one InMail sent; open_profile_inmail, one free message to an Open Profile; profile_views, one profile read; search, one search result line, not one query; comments, one comment posted; post_likes, one reaction to a post, a comment or a message; follows, one follow; content_poll, one content read: a page of posts, a feed, a company page or its followers; job_poll, one read of job postings; posts, one post published; endorsements, one skill endorsed; invite_responses, one received invitation accepted or declined; withdrawal_sweep, one sent invitation withdrawn; connections_sync, one background read of the connection list; inbox_sync, one background read of the inbox; profile_snapshot, one attempt of the daily Account snapshot.
54317
54464
  * @enum {string}
54318
54465
  */
54319
54466
  budget_row: "connection_requests_with_note" | "connection_requests_no_note" | "messages_first_degree" | "inmail" | "open_profile_inmail" | "profile_views" | "search" | "comments" | "post_likes" | "follows" | "content_poll" | "job_poll" | "posts" | "endorsements" | "invite_responses" | "withdrawal_sweep" | "connections_sync" | "inbox_sync" | "profile_snapshot";
@@ -54351,6 +54498,10 @@ interface operations {
54351
54498
  ceiling: number | null;
54352
54499
  /** @description What this row is ACTUALLY held to right now: `ceiling` with the account's warm-up ramp applied. Compare `used` against THIS one, and `band` is computed against it too. While warm-up holds an account back (its first four weeks after connect, after a quiet spell, or while it recovers from a restriction) the two differ, and in the first week after connect they differ by a factor of about seven. Equal to `ceiling` once the ramp is over, and `null` wherever `ceiling` is null. The account's ramp, its factor and the triggers behind it are on GET /v1/{account_id}/safety-policy as `warm_up`. */
54353
54500
  effective_ceiling?: number | null;
54501
+ /** @description What the Account aims at per window on this row. Only the invitation total, InMail and profile views carry one (null on other rows): the row's configured `green` when set, otherwise `ceiling` times the profile's seeded ratio. */
54502
+ target?: number | null;
54503
+ /** @description `target` with the account's warm-up and health applied, rounded down. Null where `target` is null. */
54504
+ effective_target?: number | null;
54354
54505
  /** @description What a call through the matching ELEVATED interface is held to on this row: the `/v1/{account_id}/sales-navigator/...` and `/v1/{account_id}/recruiter/...` operations. Null when this row and limit profile have no such figure, which is every row on `basic` and `premium` and most rows everywhere. Everything else on this row (`ceiling`, `effective_ceiling`, `band` and `over_default`) is the STANDARD-interface figure, because one counter serves both interfaces and the standard side is the conservative one to band against. The consequence is worth reading: on a `sales_navigator` or `recruiter` account a row can report `band: "over"` while a call through the elevated interface still succeeds; the refusal the band predicts is the one a standard call gets. */
54355
54506
  interface_ceiling?: number | null;
54356
54507
  /** @description `effective_ceiling` minus `used`, never below 0: what this account can still do on this row in the current window. Null when the row has no ceiling (`total_actions`) or no level yet (`pending_invites` before it was read). */
@@ -54364,7 +54515,7 @@ interface operations {
54364
54515
  band: "green" | "amber" | "hard" | "over";
54365
54516
  /** @description Whether something on this row is configured above Curviate's own default. The safety policy carries the detail: which field, the value, the default and how well calibrated that default is. */
54366
54517
  over_default: boolean;
54367
- /** @description An active pause on this row because the platform refused a recent request on it, or `null`. A halt is not a ceiling: no limit you raise lifts it, and it clears itself when it expires. To lift one before it expires, send this row in `clear_halts` on `PATCH /v1/{account_id}/safety-policy`; that is recorded, and the pause returns if the platform refuses the account again. */
54518
+ /** @description An active pause on this row because the platform refused a recent request on it, or `null`. Motion work on other rows keeps running. A Motion also waits longer than this pause after LinkedIn refuses invitations or views for going too fast: 6 hours, then 24, then 72, at most 7 days on each repeat, resetting after 7 clean days; `health` on the account shows it. A halt is not a ceiling: no limit you raise lifts it, and it clears itself when it expires. To lift one before it expires, send this row in `clear_halts` on `PATCH /v1/{account_id}/safety-policy`; that is recorded, and the pause returns if the platform refuses the account again. */
54368
54519
  halt: {
54369
54520
  /** @description What the platform did: `rate_limited`, `platform_fault`, or `resend_cooldown` (the same invitation was sent too recently). */
54370
54521
  reason?: string;
@@ -56168,7 +56319,8 @@ declare class AccountsResource {
56168
56319
  * with the first 20 Motions in `motion_refs`, and `quotas`: three of the
56169
56320
  * account's safety rows (`connection_requests_no_note`,
56170
56321
  * `messages_first_degree`, `inmail`) with `remaining`, absent on an account
56171
- * you can see but not operate. `get` carries every row. Reading the list
56322
+ * you can see but not operate. `connection_requests_no_note` now counts
56323
+ * every invitation, noted or not: read it as "Invitations". `get` carries every row. Reading the list
56172
56324
  * never calls LinkedIn.
56173
56325
  *
56174
56326
  * Each item also carries `external_id` (your own id for the account's end
@@ -56224,6 +56376,26 @@ declare class AccountsResource {
56224
56376
  * `total_actions` (`tally`) and `pending_invites` (`gauge`, whose `used` is
56225
56377
  * `null` until something has observed it).
56226
56378
  *
56379
+ * **Same name, new meaning:** `connection_requests_no_note` counts all
56380
+ * invitations, so its `used` is the invitation total (a noted one also
56381
+ * counts on `connection_requests_with_note` where that row has a ceiling:
56382
+ * Free profiles, 3 a month). The strict rows (invitations, `inmail`,
56383
+ * `profile_views`) also carry `target` (what the account aims at per
56384
+ * window, below the ceiling; `green` is now this target) and
56385
+ * `effective_target` (target times warm-up times health), both `null` on
56386
+ * other rows and read-only. Aim at the target, not the ceiling.
56387
+ *
56388
+ * `health` is Curviate's inference of how LinkedIn sees the account:
56389
+ * `{ state, factor, reasons, until }`, `state` one of `healthy`, `watch`,
56390
+ * `slowed` or `stopped`. It multiplies with warm-up. `health` is absent on
56391
+ * an account you can see but not operate.
56392
+ *
56393
+ * Curviate sees only what it sends. Invitations or messages sent by hand on
56394
+ * LinkedIn, or through another automation tool on the same account, are
56395
+ * invisible to it and to every limit here; LinkedIn's refusal is the only
56396
+ * way they show up. Do not run another automation tool on a connected
56397
+ * account.
56398
+ *
56227
56399
  * The per-minute REQUEST ceiling is a different thing and is deliberately
56228
56400
  * NOT in this array: it protects Curviate's own servers rather than the
56229
56401
  * LinkedIn account, and it is answered with `429 RATE_LIMIT_ACCOUNT`.
@@ -56410,7 +56582,10 @@ declare class AccountsResource {
56410
56582
  * budget row, and where each value was inherited from. Also carries the
56411
56583
  * derived `warm_up` (`enabled`, `dormant`, `state`, `factor`, `triggers`)
56412
56584
  * and `activity_window` (the zone the hours are read in, from where the
56413
- * account connects). Limits are always enforced.
56585
+ * account connects) and `auto_withdraw` (default `true`: Curviate withdraws
56586
+ * its own invitations older than 14 days once more than 400 are pending;
56587
+ * hand-sent ones are never touched). Rows carry `target` and
56588
+ * `effective_target` (read-only). Limits are always enforced.
56414
56589
  * `GET /v1/{account_id}/safety-policy`
56415
56590
  *
56416
56591
  * @example
@@ -56423,7 +56598,9 @@ declare class AccountsResource {
56423
56598
  * always enforced: to send more, raise the limit. Returns the policy as
56424
56599
  * `getSafetyPolicy` reads it.
56425
56600
  *
56426
- * `warm_up: { enabled }` turns the account's warm-up ramp on or off (default
56601
+ * `auto_withdraw` (boolean) switches the automatic withdrawal of old
56602
+ * Curviate-sent invitations; a change is ledgered. A row's `green` is its
56603
+ * target. `warm_up: { enabled }` turns the account's warm-up ramp on or off (default
56427
56604
  * on; off skips the connect and quiet ramps, recovery after a LinkedIn
56428
56605
  * restriction still applies). `active_hours` sets the account's own days and
56429
56606
  * local hours; a row's own `activity_window_start` / `activity_window_end`
@@ -59519,6 +59696,16 @@ declare class MotionsResource {
59519
59696
  * and `account_gap` (`1d` to `30d`), served only in that mode;
59520
59697
  * `accounts_per_contact` is locked once the Motion has started.
59521
59698
  *
59699
+ * `settings.priority` (`normal`, the default, or `prioritized`) is the
59700
+ * Motion's share of each sending account's daily allowance: a prioritized
59701
+ * Motion gets twice a normal one's share, and a share nobody uses flows to
59702
+ * the others. Curviate paces all Motions on an account against one budget,
59703
+ * so there is no per-Motion start cap. `settings.new_enrollments_per_account_per_day`
59704
+ * and `settings.assign: "even"` are retired: accepted and ignored until
59705
+ * 2027-01-28 with a `SETTING_REMOVED` entry in `notices[]` and
59706
+ * `Deprecation: true`, never returned, then a `400`. A pending Enrollment
59707
+ * waits unassigned (`account_id: null`) until an account with room takes it.
59708
+ *
59522
59709
  * @example
59523
59710
  * const motion = await curviate.motions.create({
59524
59711
  * name: "Q4 webinar follow-up",
@@ -59629,7 +59816,11 @@ declare class MotionsResource {
59629
59816
  * `projection.audience` is `{ total, skipped, to_enroll }`, `skipped`
59630
59817
  * counted per reason (`do_not_contact`, `excluded`, `other_motion`,
59631
59818
  * `known_chat`, `filtered`; a Contact counts under the first that applies);
59632
- * `projection.contacts` equals `to_enroll`. In
59819
+ * `projection.contacts` equals `to_enroll`. `projection.accounts[]` names the
59820
+ * pool that binds each account's pace (`binding`), its
59821
+ * `expected_actions_per_day` (an upper estimate) and `projection.warnings[]`
59822
+ * (`hours_below_share`, `no_sending_account`: no account of the Motion can
59823
+ * send its InMail step). There is no `daily_cap`. In
59633
59824
  * Several mode `accounts[].contacts` counts Enrollments, not people, and
59634
59825
  * `projection.fits_before_end_at` is counted per account zone.
59635
59826
  * `GET /v1/motions/{id}/preview`