@curviate/sdk 0.28.0 → 0.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +45 -0
- package/dist/index.d.ts +28 -1
- package/package.json +1 -1
- package/src/generated/types.ts +28 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,51 @@ Versioning: semantic. Minor for additive changes, patch for bug fixes; no stabil
|
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
+
## [0.29.0] - 2026-09-07
|
|
11
|
+
|
|
12
|
+
Fixture and types regenerated against the deployed staging document
|
|
13
|
+
(`https://api.staging.curviate.com`, `server_git_sha 1447ffd4...`, 125 paths).
|
|
14
|
+
Additive only: `safety-policy` now says where `limit_profile` came from, and an
|
|
15
|
+
operator override can be released without a reconnect.
|
|
16
|
+
|
|
17
|
+
### Added
|
|
18
|
+
|
|
19
|
+
- **`GET /v1/{account_id}/safety-policy` gains `limit_profile_source` and
|
|
20
|
+
`limit_profile_detected_at`.** `limit_profile_source` is `"default"`,
|
|
21
|
+
`"detected"` or `"operator"`: `default` means the value has never been
|
|
22
|
+
observed and is the seeded `basic`, so it says nothing about the account;
|
|
23
|
+
`detected` means Curviate read it from LinkedIn at `limit_profile_detected_at`,
|
|
24
|
+
whether or not the value changed; `operator` means it was set through the
|
|
25
|
+
PATCH. `limit_profile_detected_at` is an ISO date-time, or `null` until the
|
|
26
|
+
value has been read at least once. Both fields appear on the PATCH response
|
|
27
|
+
too.
|
|
28
|
+
|
|
29
|
+
- **`PATCH /v1/{account_id}/safety-policy` accepts `limit_profile_source`.**
|
|
30
|
+
Sending `"default"` is a real write: it releases an operator override, and the
|
|
31
|
+
value is re-read from LinkedIn on the account's next account read or connect.
|
|
32
|
+
Sending `"detected"` or `"operator"` is accepted and ignored, so a document
|
|
33
|
+
read from the GET round-trips unchanged. `limit_profile_detected_at` is
|
|
34
|
+
read-only and likewise accepted and ignored on a write.
|
|
35
|
+
|
|
36
|
+
### Changed
|
|
37
|
+
|
|
38
|
+
- Description-only: the PATCH `limit_profile` description now states that
|
|
39
|
+
Curviate re-reads the profile at most once a day on an account read (not only
|
|
40
|
+
on connect and reconnect), and that the override is released by sending
|
|
41
|
+
`limit_profile_source: "default"` rather than by writing `basic` back.
|
|
42
|
+
|
|
43
|
+
### Notes
|
|
44
|
+
|
|
45
|
+
- The server also removed `POST /v1/billing/seats/:seat_id/tier` in the same
|
|
46
|
+
wave. `/v1/billing/*` has never been part of the served OpenAPI document, so
|
|
47
|
+
there is no SDK surface change from it: the path count is unchanged at 125 and
|
|
48
|
+
the generated types are untouched by that removal.
|
|
49
|
+
- `safety-policy` has no hand-written resource method in this SDK; it is reached
|
|
50
|
+
through the generated `operations` types, which is where these two fields
|
|
51
|
+
land.
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
10
55
|
## [0.28.0] - 2026-09-07
|
|
11
56
|
|
|
12
57
|
Fixture regenerated against the deployed staging document
|
package/dist/index.d.ts
CHANGED
|
@@ -30449,6 +30449,16 @@ interface operations {
|
|
|
30449
30449
|
* @enum {string|null}
|
|
30450
30450
|
*/
|
|
30451
30451
|
seat_tier_mismatch?: "core" | "sn" | "recruiter" | null;
|
|
30452
|
+
/**
|
|
30453
|
+
* @description Where `limit_profile` came from. `detected`: Curviate read it from LinkedIn, at `limit_profile_detected_at`. `operator`: it was set through this operation and holds until the account next connects, or until you send `limit_profile_source: "default"` on this operation, which releases it. `default`: it has never been observed, so the value is the seeded `basic` and says nothing about the account; Curviate detects it on the account's next read or connect.
|
|
30454
|
+
* @enum {string}
|
|
30455
|
+
*/
|
|
30456
|
+
limit_profile_source?: "default" | "detected" | "operator";
|
|
30457
|
+
/**
|
|
30458
|
+
* Format: date-time
|
|
30459
|
+
* @description When Curviate last read `limit_profile` from LinkedIn, whether or not the value changed. Null until it has. Curviate re-reads it on connect and, at most once a day, on an account read, so a subscription change reaches the numbers without a reconnect.
|
|
30460
|
+
*/
|
|
30461
|
+
limit_profile_detected_at?: string | null;
|
|
30452
30462
|
/**
|
|
30453
30463
|
* @description The account's default posture, before any per-row override.
|
|
30454
30464
|
* @enum {string}
|
|
@@ -30610,7 +30620,7 @@ interface operations {
|
|
|
30610
30620
|
content: {
|
|
30611
30621
|
"application/json": {
|
|
30612
30622
|
/**
|
|
30613
|
-
* @description Which set of Curviate defaults this account's rows resolve from: `basic`, `premium`, `sales_navigator` or `recruiter`. Each inherits the one before it and raises a few rows. This is the platform product active on the account, NOT the Curviate seat entitlement, and the two can disagree: a lapsed subscription leaves the seat untouched. Curviate detects it from the platform when the account connects
|
|
30623
|
+
* @description Which set of Curviate defaults this account's rows resolve from: `basic`, `premium`, `sales_navigator` or `recruiter`. Each inherits the one before it and raises a few rows. This is the platform product active on the account, NOT the Curviate seat entitlement, and the two can disagree: a lapsed subscription leaves the seat untouched. Curviate detects it from the platform when the account connects, re-detects it on every reconnect and, at most once a day, on an account read; setting it here is an operator override of that result and holds until the next connect. To undo the override, send `limit_profile_source: "default"`: the pin is released, and Curviate re-reads the value from LinkedIn on the account's next read or connect. Sending the value the account already holds changes nothing and pins nothing. The change is recorded in the ledger and it moves the defaults under every row at once, so any row you have configured explicitly keeps your value. The elevated Sales Navigator and Recruiter figures apply only to calls made through the matching interface, the `/v1/{account_id}/sales-navigator/...` and `/v1/{account_id}/recruiter/...` operations, and Curviate holds each call to the figure for the interface it goes through. The numbers here are therefore the ones a standard-interface call is held to, on every profile; a call through one of those operations resolves from the elevated set instead, and each row publishes that figure as `interface_ceiling`.
|
|
30614
30624
|
* @enum {string}
|
|
30615
30625
|
*/
|
|
30616
30626
|
limit_profile?: "basic" | "premium" | "sales_navigator" | "recruiter";
|
|
@@ -30701,6 +30711,13 @@ interface operations {
|
|
|
30701
30711
|
account_id?: unknown;
|
|
30702
30712
|
/** @description READ-ONLY. The Curviate seat tier that disagrees with `limit_profile`. Sent back on a write it is accepted and ignored, so the whole document round-trips; it is never stored and never ledgered. */
|
|
30703
30713
|
seat_tier_mismatch?: unknown;
|
|
30714
|
+
/**
|
|
30715
|
+
* @description Where `limit_profile` came from: `default` (never observed), `detected` (read from LinkedIn) or `operator` (set through this operation). Sending `default` releases an operator override: the value is re-read from LinkedIn on the account's next read or connect. Sending `detected` or `operator` is accepted and ignored, so the whole document round-trips.
|
|
30716
|
+
* @enum {string}
|
|
30717
|
+
*/
|
|
30718
|
+
limit_profile_source?: "default" | "detected" | "operator";
|
|
30719
|
+
/** @description READ-ONLY. When `limit_profile` was last read from LinkedIn, or null if it never has been. Sent back on a write it is accepted and ignored, so the whole document round-trips; it is never stored and never ledgered. */
|
|
30720
|
+
limit_profile_detected_at?: unknown;
|
|
30704
30721
|
/** @description READ-ONLY. Which scope supplied this account's effective `posture`. Sent back on a write it is accepted and ignored, so the whole document round-trips; it is never stored and never ledgered. */
|
|
30705
30722
|
posture_source?: unknown;
|
|
30706
30723
|
/** @description READ-ONLY. The account's DERIVED warm-up ramp, recomputed on every read. Sent back on a write it is accepted and ignored, so the whole document round-trips; it is never stored and never ledgered. */
|
|
@@ -30737,6 +30754,16 @@ interface operations {
|
|
|
30737
30754
|
* @enum {string|null}
|
|
30738
30755
|
*/
|
|
30739
30756
|
seat_tier_mismatch?: "core" | "sn" | "recruiter" | null;
|
|
30757
|
+
/**
|
|
30758
|
+
* @description Where `limit_profile` came from. `detected`: Curviate read it from LinkedIn, at `limit_profile_detected_at`. `operator`: it was set through this operation and holds until the account next connects, or until you send `limit_profile_source: "default"` on this operation, which releases it. `default`: it has never been observed, so the value is the seeded `basic` and says nothing about the account; Curviate detects it on the account's next read or connect.
|
|
30759
|
+
* @enum {string}
|
|
30760
|
+
*/
|
|
30761
|
+
limit_profile_source?: "default" | "detected" | "operator";
|
|
30762
|
+
/**
|
|
30763
|
+
* Format: date-time
|
|
30764
|
+
* @description When Curviate last read `limit_profile` from LinkedIn, whether or not the value changed. Null until it has. Curviate re-reads it on connect and, at most once a day, on an account read, so a subscription change reaches the numbers without a reconnect.
|
|
30765
|
+
*/
|
|
30766
|
+
limit_profile_detected_at?: string | null;
|
|
30740
30767
|
/**
|
|
30741
30768
|
* @description The account's default posture, before any per-row override.
|
|
30742
30769
|
* @enum {string}
|
package/package.json
CHANGED
package/src/generated/types.ts
CHANGED
|
@@ -30353,6 +30353,16 @@ export interface operations {
|
|
|
30353
30353
|
* @enum {string|null}
|
|
30354
30354
|
*/
|
|
30355
30355
|
seat_tier_mismatch?: "core" | "sn" | "recruiter" | null;
|
|
30356
|
+
/**
|
|
30357
|
+
* @description Where `limit_profile` came from. `detected`: Curviate read it from LinkedIn, at `limit_profile_detected_at`. `operator`: it was set through this operation and holds until the account next connects, or until you send `limit_profile_source: "default"` on this operation, which releases it. `default`: it has never been observed, so the value is the seeded `basic` and says nothing about the account; Curviate detects it on the account's next read or connect.
|
|
30358
|
+
* @enum {string}
|
|
30359
|
+
*/
|
|
30360
|
+
limit_profile_source?: "default" | "detected" | "operator";
|
|
30361
|
+
/**
|
|
30362
|
+
* Format: date-time
|
|
30363
|
+
* @description When Curviate last read `limit_profile` from LinkedIn, whether or not the value changed. Null until it has. Curviate re-reads it on connect and, at most once a day, on an account read, so a subscription change reaches the numbers without a reconnect.
|
|
30364
|
+
*/
|
|
30365
|
+
limit_profile_detected_at?: string | null;
|
|
30356
30366
|
/**
|
|
30357
30367
|
* @description The account's default posture, before any per-row override.
|
|
30358
30368
|
* @enum {string}
|
|
@@ -30514,7 +30524,7 @@ export interface operations {
|
|
|
30514
30524
|
content: {
|
|
30515
30525
|
"application/json": {
|
|
30516
30526
|
/**
|
|
30517
|
-
* @description Which set of Curviate defaults this account's rows resolve from: `basic`, `premium`, `sales_navigator` or `recruiter`. Each inherits the one before it and raises a few rows. This is the platform product active on the account, NOT the Curviate seat entitlement, and the two can disagree: a lapsed subscription leaves the seat untouched. Curviate detects it from the platform when the account connects
|
|
30527
|
+
* @description Which set of Curviate defaults this account's rows resolve from: `basic`, `premium`, `sales_navigator` or `recruiter`. Each inherits the one before it and raises a few rows. This is the platform product active on the account, NOT the Curviate seat entitlement, and the two can disagree: a lapsed subscription leaves the seat untouched. Curviate detects it from the platform when the account connects, re-detects it on every reconnect and, at most once a day, on an account read; setting it here is an operator override of that result and holds until the next connect. To undo the override, send `limit_profile_source: "default"`: the pin is released, and Curviate re-reads the value from LinkedIn on the account's next read or connect. Sending the value the account already holds changes nothing and pins nothing. The change is recorded in the ledger and it moves the defaults under every row at once, so any row you have configured explicitly keeps your value. The elevated Sales Navigator and Recruiter figures apply only to calls made through the matching interface, the `/v1/{account_id}/sales-navigator/...` and `/v1/{account_id}/recruiter/...` operations, and Curviate holds each call to the figure for the interface it goes through. The numbers here are therefore the ones a standard-interface call is held to, on every profile; a call through one of those operations resolves from the elevated set instead, and each row publishes that figure as `interface_ceiling`.
|
|
30518
30528
|
* @enum {string}
|
|
30519
30529
|
*/
|
|
30520
30530
|
limit_profile?: "basic" | "premium" | "sales_navigator" | "recruiter";
|
|
@@ -30605,6 +30615,13 @@ export interface operations {
|
|
|
30605
30615
|
account_id?: unknown;
|
|
30606
30616
|
/** @description READ-ONLY. The Curviate seat tier that disagrees with `limit_profile`. Sent back on a write it is accepted and ignored, so the whole document round-trips; it is never stored and never ledgered. */
|
|
30607
30617
|
seat_tier_mismatch?: unknown;
|
|
30618
|
+
/**
|
|
30619
|
+
* @description Where `limit_profile` came from: `default` (never observed), `detected` (read from LinkedIn) or `operator` (set through this operation). Sending `default` releases an operator override: the value is re-read from LinkedIn on the account's next read or connect. Sending `detected` or `operator` is accepted and ignored, so the whole document round-trips.
|
|
30620
|
+
* @enum {string}
|
|
30621
|
+
*/
|
|
30622
|
+
limit_profile_source?: "default" | "detected" | "operator";
|
|
30623
|
+
/** @description READ-ONLY. When `limit_profile` was last read from LinkedIn, or null if it never has been. Sent back on a write it is accepted and ignored, so the whole document round-trips; it is never stored and never ledgered. */
|
|
30624
|
+
limit_profile_detected_at?: unknown;
|
|
30608
30625
|
/** @description READ-ONLY. Which scope supplied this account's effective `posture`. Sent back on a write it is accepted and ignored, so the whole document round-trips; it is never stored and never ledgered. */
|
|
30609
30626
|
posture_source?: unknown;
|
|
30610
30627
|
/** @description READ-ONLY. The account's DERIVED warm-up ramp, recomputed on every read. Sent back on a write it is accepted and ignored, so the whole document round-trips; it is never stored and never ledgered. */
|
|
@@ -30641,6 +30658,16 @@ export interface operations {
|
|
|
30641
30658
|
* @enum {string|null}
|
|
30642
30659
|
*/
|
|
30643
30660
|
seat_tier_mismatch?: "core" | "sn" | "recruiter" | null;
|
|
30661
|
+
/**
|
|
30662
|
+
* @description Where `limit_profile` came from. `detected`: Curviate read it from LinkedIn, at `limit_profile_detected_at`. `operator`: it was set through this operation and holds until the account next connects, or until you send `limit_profile_source: "default"` on this operation, which releases it. `default`: it has never been observed, so the value is the seeded `basic` and says nothing about the account; Curviate detects it on the account's next read or connect.
|
|
30663
|
+
* @enum {string}
|
|
30664
|
+
*/
|
|
30665
|
+
limit_profile_source?: "default" | "detected" | "operator";
|
|
30666
|
+
/**
|
|
30667
|
+
* Format: date-time
|
|
30668
|
+
* @description When Curviate last read `limit_profile` from LinkedIn, whether or not the value changed. Null until it has. Curviate re-reads it on connect and, at most once a day, on an account read, so a subscription change reaches the numbers without a reconnect.
|
|
30669
|
+
*/
|
|
30670
|
+
limit_profile_detected_at?: string | null;
|
|
30644
30671
|
/**
|
|
30645
30672
|
* @description The account's default posture, before any per-row override.
|
|
30646
30673
|
* @enum {string}
|