@cavuno/board 4.68.0 → 4.70.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 +73 -0
- package/dist/{_spec-t2B6ioRS.d.mts → _spec-Dk7QyuoJ.d.mts} +69 -2
- package/dist/{_spec-t2B6ioRS.d.ts → _spec-Dk7QyuoJ.d.ts} +69 -2
- package/dist/{blog-W1cBNXyS.d.ts → blog-DfUNkngR.d.ts} +1 -1
- package/dist/{blog-B8UJJza1.d.mts → blog-Oo6YHXSE.d.mts} +1 -1
- package/dist/{board-On_r_ixp.d.ts → board-CfmGT0yV.d.ts} +2 -2
- package/dist/{board-8RMVpFBw.d.mts → board-DzBYIwKz.d.mts} +2 -2
- package/dist/{breadcrumbs-eV2OQqf6.d.ts → breadcrumbs-CS0nlknq.d.ts} +2 -2
- package/dist/{breadcrumbs-BgBj_AiZ.d.mts → breadcrumbs-DeIA0RQp.d.mts} +2 -2
- package/dist/browser/cavuno-board.global.min.js +1 -1
- package/dist/{chunk-ZA5TZ6UH.mjs → chunk-UIKN2ERI.mjs} +3 -0
- package/dist/filters.d.mts +2 -2
- package/dist/filters.d.ts +2 -2
- package/dist/format.d.mts +4 -4
- package/dist/format.d.ts +4 -4
- package/dist/index.d.mts +89 -38
- package/dist/index.d.ts +89 -38
- package/dist/index.js +60 -3
- package/dist/index.mjs +58 -4
- package/dist/{jobs-CrGBikhJ.d.mts → jobs-BMRvZlNx.d.mts} +1 -1
- package/dist/{jobs-D_LjWgIk.d.ts → jobs-BlAsTCQl.d.ts} +1 -1
- package/dist/{search-Yw5qsooq.d.mts → search-BB1TaaLa.d.mts} +1 -1
- package/dist/{search-ClbqUjkA.d.ts → search-CoBeDgYT.d.ts} +1 -1
- package/dist/{seo-CY5Vl13y.d.ts → seo-BmqJ_ChV.d.ts} +1 -1
- package/dist/{seo-Bjevxvzd.d.mts → seo-M_8j5vdP.d.mts} +1 -1
- package/dist/seo-files.d.mts +2 -2
- package/dist/seo-files.d.ts +2 -2
- package/dist/seo.d.mts +6 -6
- package/dist/seo.d.ts +6 -6
- package/dist/server.d.mts +6 -6
- package/dist/server.d.ts +6 -6
- package/dist/server.mjs +1 -1
- package/dist/sitemap.d.mts +6 -6
- package/dist/sitemap.d.ts +6 -6
- package/dist/sitemap.mjs +1 -1
- package/dist/suggest.d.mts +2 -2
- package/dist/suggest.d.ts +2 -2
- package/package.json +1 -1
- package/skills/cavuno-board-account/SKILL.md +16 -0
- package/skills/cavuno-board-job-alerts/SKILL.md +7 -0
- package/skills/cavuno-board-newsletter/SKILL.md +79 -0
- package/skills/manifest.json +8 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,79 @@
|
|
|
3
3
|
This changelog records changes that affect Board API compatibility, exported
|
|
4
4
|
types, runtime behavior, or supported integration patterns.
|
|
5
5
|
|
|
6
|
+
## 4.71.0 — 2026-11-12
|
|
7
|
+
|
|
8
|
+
- `board.jobAlerts.confirm({ token })` can resolve two more statuses,
|
|
9
|
+
which the API already returned: `waitlisted` (the alert is confirmed and
|
|
10
|
+
starts once the board can send to more people) and `unsubscribed` (the
|
|
11
|
+
link was sent before the person's alerts were turned off, so it does not
|
|
12
|
+
turn them back on; they resume them from a manage link with
|
|
13
|
+
`board.jobAlerts.resubscribe`). `JobAlertConfirmation['status']` lists
|
|
14
|
+
both, so an exhaustive `switch` over it needs the two new cases.
|
|
15
|
+
- `JobAlertConfirmation['subscription']` is also present when a link is
|
|
16
|
+
refused (`expired`, `not_found` or `unsubscribed`): `marketing` for a
|
|
17
|
+
link from `board.subscribe`, `job_alerts` for a job alert link. Word the
|
|
18
|
+
refusal by it. It is still absent for an unknown token.
|
|
19
|
+
- `board.subscribe(...)` records the visitor's IP address and user agent
|
|
20
|
+
as consent evidence only when the request comes through a board built
|
|
21
|
+
with Cavuno's AI Builder. A frontend that calls the API from the browser
|
|
22
|
+
or its own server records neither, since the address and user agent the
|
|
23
|
+
API sees are not the visitor's.
|
|
24
|
+
|
|
25
|
+
## 4.70.0 — 2026-11-12
|
|
26
|
+
|
|
27
|
+
- Company members can add gallery images and files to their company's
|
|
28
|
+
custom fields. `board.me.companies.uploadCustomFieldFile(slug, fieldKey,
|
|
29
|
+
file)` uploads one file (up to 10 MB; galleries take JPEG, PNG, WebP or
|
|
30
|
+
GIF) and returns a `ProfileFieldMedia` draft. Save its `id` with
|
|
31
|
+
`board.me.companies.updateCustomFields` to attach it. The caller must be
|
|
32
|
+
an approved member of the company. A key that is not an upload field is
|
|
33
|
+
refused with `company_custom_field_not_found`, and a field company
|
|
34
|
+
members cannot edit with `company_custom_field_not_editable`.
|
|
35
|
+
- `board.me.companies.retrieveCustomFields(slug)` and `updateCustomFields`
|
|
36
|
+
are typed `MyCompanyProfileFieldValues`, which adds `customFieldMedia`:
|
|
37
|
+
the saved files of upload fields, keyed by field, with links that also
|
|
38
|
+
load drafts for the company's members. `MyCompanyProfileFieldValues` is
|
|
39
|
+
exported.
|
|
40
|
+
- `board.subscribe({ email, consent, consentText, source })` signs an
|
|
41
|
+
address up for the board's email from a newsletter form. The person gets
|
|
42
|
+
a confirmation email and nothing is granted until they click it. It
|
|
43
|
+
always resolves `{ status: 'submitted', sendingPaused }`.
|
|
44
|
+
`BoardSubscribeInput` and `SubscriptionRequest` are exported.
|
|
45
|
+
- `board.auth.register(...)` and `board.auth.resendVerification()` answer
|
|
46
|
+
422 `board_auth_email_undeliverable` when the address cannot receive
|
|
47
|
+
email, such as a temporary or disposable inbox. On register nothing is
|
|
48
|
+
created, so ask for a different address.
|
|
49
|
+
|
|
50
|
+
## 4.69.0 — 2026-11-12
|
|
51
|
+
|
|
52
|
+
- Members-only boards: on a board whose context has
|
|
53
|
+
`posting.requiresMembership`, `board.plans.list()` leaves out job-posting
|
|
54
|
+
plans, except those priced by quote, because visitors cannot buy them.
|
|
55
|
+
`board.jobPosting.plans()` still returns them for members. An anonymous
|
|
56
|
+
`board.jobPosting.create(...)` on such a board is refused with
|
|
57
|
+
`membership_required`, whatever company website it names.
|
|
58
|
+
- `board.jobPosting.plans()` returns each feature's `name`, `dataType` and
|
|
59
|
+
`displayOrder`, as `board.plans.list()` does, so a posting form can label a
|
|
60
|
+
plan's custom attributes from that one read.
|
|
61
|
+
- `board.me.companies.billingOptions.list(slug)` is typed as
|
|
62
|
+
`EmployerBillingOptionsList`, which includes the `capabilities` the
|
|
63
|
+
endpoint returns: `canPost`, the `reason` when posting is refused, and the
|
|
64
|
+
membership allowance. `EmployerPostingCapabilities` is exported. Read
|
|
65
|
+
`canPost` to show a membership offer before the employer writes a job.
|
|
66
|
+
- `board.me.companies.startMembershipCheckout(slug, body)` takes an optional
|
|
67
|
+
`redirectOnCompletion`: `'always'` (the default, unchanged) or
|
|
68
|
+
`'if_required'`, which keeps a card payment on the embedding page and fires
|
|
69
|
+
Stripe.js `onComplete`. Payment methods that need a redirect still return
|
|
70
|
+
to `returnPath`.
|
|
71
|
+
- The board context carries `features.tipJar` (the board has an active tip
|
|
72
|
+
jar) and `features.products` (it lists at least one product), so a frontend
|
|
73
|
+
can show those links without probing `/tip-jar` and `/products`.
|
|
74
|
+
- `auth.refresh()` and `auth.logout()` are rate limited per refresh token (10
|
|
75
|
+
a minute) instead of per client IP, with a ceiling of 1,000 a minute per IP.
|
|
76
|
+
A server-rendered frontend refreshing many visitors' sessions from one IP no
|
|
77
|
+
longer gets `rate_limited`.
|
|
78
|
+
|
|
6
79
|
## 4.68.0 — 2026-11-11
|
|
7
80
|
|
|
8
81
|
- Company market resolutions return `companyCount`: the number of companies
|
|
@@ -428,6 +428,17 @@ interface components {
|
|
|
428
428
|
definition: components["schemas"]["CustomFieldDefinition"];
|
|
429
429
|
};
|
|
430
430
|
BoardJobFormField: components["schemas"]["BoardFormBuiltinField"] | components["schemas"]["BoardJobFormCustomField"] | components["schemas"]["BoardJobFormCollectionField"];
|
|
431
|
+
BoardMarketingTopic: {
|
|
432
|
+
/**
|
|
433
|
+
* @description String representing the object's type. Objects of the same type share the same value.
|
|
434
|
+
* @enum {string}
|
|
435
|
+
*/
|
|
436
|
+
object: "marketing_topic";
|
|
437
|
+
/** @description The topic’s key, which a sign-up sends in `topics` when the person ticks it. */
|
|
438
|
+
key: string;
|
|
439
|
+
/** @description The topic’s name, to label its checkbox. */
|
|
440
|
+
name: string;
|
|
441
|
+
};
|
|
431
442
|
/** @description An MCP Server Card (SEP-2127): what an assistant needs to find and connect to the server before it connects. It lists no tools; `tools/list` on the server does. */
|
|
432
443
|
BoardMcpServerCard: {
|
|
433
444
|
/** @description The Server Card JSON Schema this document follows: `https://static.modelcontextprotocol.io/schemas/v1/server-card.schema.json`. */
|
|
@@ -550,6 +561,29 @@ interface components {
|
|
|
550
561
|
/** @description ISO 8601 timestamp of the newest content in the bucket, when the board tracks one. */
|
|
551
562
|
lastModified?: string;
|
|
552
563
|
};
|
|
564
|
+
BoardSubscribeBody: {
|
|
565
|
+
/**
|
|
566
|
+
* Format: email
|
|
567
|
+
* @description The address to sign up. It gets a confirmation email.
|
|
568
|
+
*/
|
|
569
|
+
email: string;
|
|
570
|
+
/**
|
|
571
|
+
* @description Must be `true`: the person ticked an unticked checkbox agreeing to `consentText`.
|
|
572
|
+
* @enum {boolean}
|
|
573
|
+
*/
|
|
574
|
+
consent: true;
|
|
575
|
+
/** @description The checkbox wording the person agreed to, exactly as shown, such as "Send me news and offers from Acme Jobs." It must contain the board's name (any letter case), or the request is refused with 400. Kept with the consent once the person confirms. */
|
|
576
|
+
consentText: string;
|
|
577
|
+
/** @description A label for the form, such as `blog-footer`: lowercase letters, digits and hyphens, up to 64 characters. It shows as the contact's Source. */
|
|
578
|
+
source: string;
|
|
579
|
+
/**
|
|
580
|
+
* Format: uri
|
|
581
|
+
* @description The page the form was on. Defaults to the request's `Referer`.
|
|
582
|
+
*/
|
|
583
|
+
pageUrl?: string;
|
|
584
|
+
/** @description Honeypot. Render it as a hidden field that people leave empty; when it is filled in, the request answers `submitted` and does nothing. */
|
|
585
|
+
website?: string;
|
|
586
|
+
};
|
|
553
587
|
BoardUser: {
|
|
554
588
|
/** @description Board user ID. */
|
|
555
589
|
id: string;
|
|
@@ -2099,6 +2133,12 @@ interface components {
|
|
|
2099
2133
|
features: {
|
|
2100
2134
|
key: string | null;
|
|
2101
2135
|
value: string | null;
|
|
2136
|
+
/** @description The feature's display name, including an operator-defined custom attribute's name. */
|
|
2137
|
+
name: string;
|
|
2138
|
+
/** @description How to read `value`, such as `integer`, `boolean` or `string`. */
|
|
2139
|
+
dataType: string;
|
|
2140
|
+
/** @description The operator-set order among the plan features; null when unset. */
|
|
2141
|
+
displayOrder: number | null;
|
|
2102
2142
|
}[];
|
|
2103
2143
|
};
|
|
2104
2144
|
JobPostingResult: {
|
|
@@ -2322,6 +2362,11 @@ interface components {
|
|
|
2322
2362
|
returnPath: string;
|
|
2323
2363
|
/** @enum {string} */
|
|
2324
2364
|
colorMode: "light" | "dark";
|
|
2365
|
+
/**
|
|
2366
|
+
* @description When the buyer leaves for `returnPath`. `always` (default): every completed checkout redirects there. `if_required`: a card payment completes in place and the embedding page reacts to Stripe.js `onComplete` (then reads `GET …/membership/checkout/{sessionId}`); only a payment method that needs a redirect returns to `returnPath`.
|
|
2367
|
+
* @enum {string}
|
|
2368
|
+
*/
|
|
2369
|
+
redirectOnCompletion?: "always" | "if_required";
|
|
2325
2370
|
};
|
|
2326
2371
|
Message: {
|
|
2327
2372
|
id: string;
|
|
@@ -2362,6 +2407,12 @@ interface components {
|
|
|
2362
2407
|
[key: string]: components["schemas"]["ProfileFieldMedia"][];
|
|
2363
2408
|
};
|
|
2364
2409
|
};
|
|
2410
|
+
MyCompanyProfileFieldValuesResponse: components["schemas"]["ProfileFieldValuesResponse"] & {
|
|
2411
|
+
/** @description Resolved files for the company’s saved `image_gallery` and `file` values, keyed by field key like `values`, in the stored order, including private fields. Each file `id` matches a value in `values`. `url` is a signed link for the company’s members that expires after at least 24 hours, so read it from the response rather than storing it. Unsaved uploads are not listed. Fields with no files are omitted. */
|
|
2412
|
+
customFieldMedia: {
|
|
2413
|
+
[key: string]: components["schemas"]["ProfileFieldMedia"][];
|
|
2414
|
+
};
|
|
2415
|
+
};
|
|
2365
2416
|
MyItemVerification: components["schemas"]["ItemVerification"] & {
|
|
2366
2417
|
/** @description The verification's id. For an item with no verification yet (`unverified`), its `itemKey`. */
|
|
2367
2418
|
id?: string;
|
|
@@ -3337,10 +3388,15 @@ interface components {
|
|
|
3337
3388
|
/** @enum {string} */
|
|
3338
3389
|
object: "job_alert_confirmation";
|
|
3339
3390
|
/**
|
|
3340
|
-
* @description Outcome of the confirmation. Always returned with HTTP 200 so the consumer renders by status (the token may be valid, stale, or unknown).
|
|
3391
|
+
* @description Outcome of the confirmation. Always returned with HTTP 200 so the consumer renders by status (the token may be valid, stale, or unknown). `waitlisted`: the job alert is confirmed, but the board can't send to more people yet, so it starts once a spot opens. `unsubscribed`: a job-alert link sent before the alerts were turned off, which doesn't turn them back on. The subscription form sends an address that unsubscribed no confirmation email; resume alerts with the manage token (`POST /boards/{identifier}/job-alerts/resubscribe`) or a signed-in alert create.
|
|
3341
3392
|
* @enum {string}
|
|
3342
3393
|
*/
|
|
3343
|
-
status: "confirmed" | "already_confirmed" | "expired" | "not_found";
|
|
3394
|
+
status: "confirmed" | "already_confirmed" | "expired" | "not_found" | "waitlisted" | "unsubscribed";
|
|
3395
|
+
/**
|
|
3396
|
+
* @description What the link confirms: `marketing` for a link from a newsletter sign-up (`POST /boards/{identifier}/subscribe`), which signs the person up for the board's email and never turns job alerts on, or `job_alerts`. Word the outcome by it. Present on a refused link too (`expired`, `not_found` or `unsubscribed`). Absent when the token is unknown or isn't a confirmation link.
|
|
3397
|
+
* @enum {string}
|
|
3398
|
+
*/
|
|
3399
|
+
subscription?: "job_alerts" | "marketing";
|
|
3344
3400
|
};
|
|
3345
3401
|
PublicJobAlertManageResult: {
|
|
3346
3402
|
/** @enum {string} */
|
|
@@ -3624,6 +3680,17 @@ interface components {
|
|
|
3624
3680
|
*/
|
|
3625
3681
|
offset?: number;
|
|
3626
3682
|
};
|
|
3683
|
+
PublicSubscriptionRequest: {
|
|
3684
|
+
/** @enum {string} */
|
|
3685
|
+
object: "subscription_request";
|
|
3686
|
+
/**
|
|
3687
|
+
* @description Always `submitted`, whether the address is new, waiting to confirm or already subscribed, so the response can't be used to find out who is subscribed. Unless the person already gets the board's email, a confirmation email has been sent; nothing is sent to them until they click it.
|
|
3688
|
+
* @enum {string}
|
|
3689
|
+
*/
|
|
3690
|
+
status: "submitted";
|
|
3691
|
+
/** @description The board's marketing email is paused (too many bounces or spam reports). Sign-ups are still recorded; tell the person emails may be delayed. */
|
|
3692
|
+
sendingPaused: boolean;
|
|
3693
|
+
};
|
|
3627
3694
|
PublicTalentPlace: {
|
|
3628
3695
|
/** @enum {string} */
|
|
3629
3696
|
object: "talent_place";
|
|
@@ -428,6 +428,17 @@ interface components {
|
|
|
428
428
|
definition: components["schemas"]["CustomFieldDefinition"];
|
|
429
429
|
};
|
|
430
430
|
BoardJobFormField: components["schemas"]["BoardFormBuiltinField"] | components["schemas"]["BoardJobFormCustomField"] | components["schemas"]["BoardJobFormCollectionField"];
|
|
431
|
+
BoardMarketingTopic: {
|
|
432
|
+
/**
|
|
433
|
+
* @description String representing the object's type. Objects of the same type share the same value.
|
|
434
|
+
* @enum {string}
|
|
435
|
+
*/
|
|
436
|
+
object: "marketing_topic";
|
|
437
|
+
/** @description The topic’s key, which a sign-up sends in `topics` when the person ticks it. */
|
|
438
|
+
key: string;
|
|
439
|
+
/** @description The topic’s name, to label its checkbox. */
|
|
440
|
+
name: string;
|
|
441
|
+
};
|
|
431
442
|
/** @description An MCP Server Card (SEP-2127): what an assistant needs to find and connect to the server before it connects. It lists no tools; `tools/list` on the server does. */
|
|
432
443
|
BoardMcpServerCard: {
|
|
433
444
|
/** @description The Server Card JSON Schema this document follows: `https://static.modelcontextprotocol.io/schemas/v1/server-card.schema.json`. */
|
|
@@ -550,6 +561,29 @@ interface components {
|
|
|
550
561
|
/** @description ISO 8601 timestamp of the newest content in the bucket, when the board tracks one. */
|
|
551
562
|
lastModified?: string;
|
|
552
563
|
};
|
|
564
|
+
BoardSubscribeBody: {
|
|
565
|
+
/**
|
|
566
|
+
* Format: email
|
|
567
|
+
* @description The address to sign up. It gets a confirmation email.
|
|
568
|
+
*/
|
|
569
|
+
email: string;
|
|
570
|
+
/**
|
|
571
|
+
* @description Must be `true`: the person ticked an unticked checkbox agreeing to `consentText`.
|
|
572
|
+
* @enum {boolean}
|
|
573
|
+
*/
|
|
574
|
+
consent: true;
|
|
575
|
+
/** @description The checkbox wording the person agreed to, exactly as shown, such as "Send me news and offers from Acme Jobs." It must contain the board's name (any letter case), or the request is refused with 400. Kept with the consent once the person confirms. */
|
|
576
|
+
consentText: string;
|
|
577
|
+
/** @description A label for the form, such as `blog-footer`: lowercase letters, digits and hyphens, up to 64 characters. It shows as the contact's Source. */
|
|
578
|
+
source: string;
|
|
579
|
+
/**
|
|
580
|
+
* Format: uri
|
|
581
|
+
* @description The page the form was on. Defaults to the request's `Referer`.
|
|
582
|
+
*/
|
|
583
|
+
pageUrl?: string;
|
|
584
|
+
/** @description Honeypot. Render it as a hidden field that people leave empty; when it is filled in, the request answers `submitted` and does nothing. */
|
|
585
|
+
website?: string;
|
|
586
|
+
};
|
|
553
587
|
BoardUser: {
|
|
554
588
|
/** @description Board user ID. */
|
|
555
589
|
id: string;
|
|
@@ -2099,6 +2133,12 @@ interface components {
|
|
|
2099
2133
|
features: {
|
|
2100
2134
|
key: string | null;
|
|
2101
2135
|
value: string | null;
|
|
2136
|
+
/** @description The feature's display name, including an operator-defined custom attribute's name. */
|
|
2137
|
+
name: string;
|
|
2138
|
+
/** @description How to read `value`, such as `integer`, `boolean` or `string`. */
|
|
2139
|
+
dataType: string;
|
|
2140
|
+
/** @description The operator-set order among the plan features; null when unset. */
|
|
2141
|
+
displayOrder: number | null;
|
|
2102
2142
|
}[];
|
|
2103
2143
|
};
|
|
2104
2144
|
JobPostingResult: {
|
|
@@ -2322,6 +2362,11 @@ interface components {
|
|
|
2322
2362
|
returnPath: string;
|
|
2323
2363
|
/** @enum {string} */
|
|
2324
2364
|
colorMode: "light" | "dark";
|
|
2365
|
+
/**
|
|
2366
|
+
* @description When the buyer leaves for `returnPath`. `always` (default): every completed checkout redirects there. `if_required`: a card payment completes in place and the embedding page reacts to Stripe.js `onComplete` (then reads `GET …/membership/checkout/{sessionId}`); only a payment method that needs a redirect returns to `returnPath`.
|
|
2367
|
+
* @enum {string}
|
|
2368
|
+
*/
|
|
2369
|
+
redirectOnCompletion?: "always" | "if_required";
|
|
2325
2370
|
};
|
|
2326
2371
|
Message: {
|
|
2327
2372
|
id: string;
|
|
@@ -2362,6 +2407,12 @@ interface components {
|
|
|
2362
2407
|
[key: string]: components["schemas"]["ProfileFieldMedia"][];
|
|
2363
2408
|
};
|
|
2364
2409
|
};
|
|
2410
|
+
MyCompanyProfileFieldValuesResponse: components["schemas"]["ProfileFieldValuesResponse"] & {
|
|
2411
|
+
/** @description Resolved files for the company’s saved `image_gallery` and `file` values, keyed by field key like `values`, in the stored order, including private fields. Each file `id` matches a value in `values`. `url` is a signed link for the company’s members that expires after at least 24 hours, so read it from the response rather than storing it. Unsaved uploads are not listed. Fields with no files are omitted. */
|
|
2412
|
+
customFieldMedia: {
|
|
2413
|
+
[key: string]: components["schemas"]["ProfileFieldMedia"][];
|
|
2414
|
+
};
|
|
2415
|
+
};
|
|
2365
2416
|
MyItemVerification: components["schemas"]["ItemVerification"] & {
|
|
2366
2417
|
/** @description The verification's id. For an item with no verification yet (`unverified`), its `itemKey`. */
|
|
2367
2418
|
id?: string;
|
|
@@ -3337,10 +3388,15 @@ interface components {
|
|
|
3337
3388
|
/** @enum {string} */
|
|
3338
3389
|
object: "job_alert_confirmation";
|
|
3339
3390
|
/**
|
|
3340
|
-
* @description Outcome of the confirmation. Always returned with HTTP 200 so the consumer renders by status (the token may be valid, stale, or unknown).
|
|
3391
|
+
* @description Outcome of the confirmation. Always returned with HTTP 200 so the consumer renders by status (the token may be valid, stale, or unknown). `waitlisted`: the job alert is confirmed, but the board can't send to more people yet, so it starts once a spot opens. `unsubscribed`: a job-alert link sent before the alerts were turned off, which doesn't turn them back on. The subscription form sends an address that unsubscribed no confirmation email; resume alerts with the manage token (`POST /boards/{identifier}/job-alerts/resubscribe`) or a signed-in alert create.
|
|
3341
3392
|
* @enum {string}
|
|
3342
3393
|
*/
|
|
3343
|
-
status: "confirmed" | "already_confirmed" | "expired" | "not_found";
|
|
3394
|
+
status: "confirmed" | "already_confirmed" | "expired" | "not_found" | "waitlisted" | "unsubscribed";
|
|
3395
|
+
/**
|
|
3396
|
+
* @description What the link confirms: `marketing` for a link from a newsletter sign-up (`POST /boards/{identifier}/subscribe`), which signs the person up for the board's email and never turns job alerts on, or `job_alerts`. Word the outcome by it. Present on a refused link too (`expired`, `not_found` or `unsubscribed`). Absent when the token is unknown or isn't a confirmation link.
|
|
3397
|
+
* @enum {string}
|
|
3398
|
+
*/
|
|
3399
|
+
subscription?: "job_alerts" | "marketing";
|
|
3344
3400
|
};
|
|
3345
3401
|
PublicJobAlertManageResult: {
|
|
3346
3402
|
/** @enum {string} */
|
|
@@ -3624,6 +3680,17 @@ interface components {
|
|
|
3624
3680
|
*/
|
|
3625
3681
|
offset?: number;
|
|
3626
3682
|
};
|
|
3683
|
+
PublicSubscriptionRequest: {
|
|
3684
|
+
/** @enum {string} */
|
|
3685
|
+
object: "subscription_request";
|
|
3686
|
+
/**
|
|
3687
|
+
* @description Always `submitted`, whether the address is new, waiting to confirm or already subscribed, so the response can't be used to find out who is subscribed. Unless the person already gets the board's email, a confirmation email has been sent; nothing is sent to them until they click it.
|
|
3688
|
+
* @enum {string}
|
|
3689
|
+
*/
|
|
3690
|
+
status: "submitted";
|
|
3691
|
+
/** @description The board's marketing email is paused (too many bounces or spam reports). Sign-ups are still recorded; tell the person emails may be delayed. */
|
|
3692
|
+
sendingPaused: boolean;
|
|
3693
|
+
};
|
|
3627
3694
|
PublicTalentPlace: {
|
|
3628
3695
|
/** @enum {string} */
|
|
3629
3696
|
object: "talent_place";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { S as Schemas } from './_spec-
|
|
2
|
-
import { L as ListEnvelope, v as RelatedSearch, b as CustomFieldFilter, O as ObjectReferenceFilter, a as JobCapability } from './jobs-
|
|
1
|
+
import { S as Schemas } from './_spec-Dk7QyuoJ.js';
|
|
2
|
+
import { L as ListEnvelope, v as RelatedSearch, b as CustomFieldFilter, O as ObjectReferenceFilter, a as JobCapability } from './jobs-BlAsTCQl.js';
|
|
3
3
|
|
|
4
4
|
type PublicCompany = Schemas['CompanyPublic'];
|
|
5
5
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { S as Schemas } from './_spec-
|
|
2
|
-
import { L as ListEnvelope, v as RelatedSearch, b as CustomFieldFilter, O as ObjectReferenceFilter, a as JobCapability } from './jobs-
|
|
1
|
+
import { S as Schemas } from './_spec-Dk7QyuoJ.mjs';
|
|
2
|
+
import { L as ListEnvelope, v as RelatedSearch, b as CustomFieldFilter, O as ObjectReferenceFilter, a as JobCapability } from './jobs-BMRvZlNx.mjs';
|
|
3
3
|
|
|
4
4
|
type PublicCompany = Schemas['CompanyPublic'];
|
|
5
5
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { P as PublicBoard, a as CompanyCategorySalary, b as CompanySalary, L as LocationSalaryDetail, S as SkillSalaryDetail, T as TitleSalaryDetail } from './board-
|
|
2
|
-
import { P as PublicJob } from './jobs-
|
|
1
|
+
import { P as PublicBoard, a as CompanyCategorySalary, b as CompanySalary, L as LocationSalaryDetail, S as SkillSalaryDetail, T as TitleSalaryDetail } from './board-CfmGT0yV.js';
|
|
2
|
+
import { P as PublicJob } from './jobs-BlAsTCQl.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Wire enum for `salaryTimeframe`. Defined here (not re-exported from any
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { P as PublicBoard, a as CompanyCategorySalary, b as CompanySalary, L as LocationSalaryDetail, S as SkillSalaryDetail, T as TitleSalaryDetail } from './board-
|
|
2
|
-
import { P as PublicJob } from './jobs-
|
|
1
|
+
import { P as PublicBoard, a as CompanyCategorySalary, b as CompanySalary, L as LocationSalaryDetail, S as SkillSalaryDetail, T as TitleSalaryDetail } from './board-DzBYIwKz.mjs';
|
|
2
|
+
import { P as PublicJob } from './jobs-BMRvZlNx.mjs';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Wire enum for `salaryTimeframe`. Defined here (not re-exported from any
|