@cavuno/board 4.25.0 → 4.27.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 +97 -0
- package/dist/{_spec-CEaM1PL9.d.mts → _spec-B_pBNVUd.d.mts} +497 -47
- package/dist/{_spec-CEaM1PL9.d.ts → _spec-B_pBNVUd.d.ts} +497 -47
- package/dist/bin.mjs +7989 -10
- package/dist/{blog-Ba5ErHVO.d.ts → blog-DzGRUsj5.d.ts} +1 -1
- package/dist/{blog-lnpzj7Ay.d.mts → blog-fhXRik6k.d.mts} +1 -1
- package/dist/{board-BowjJTqF.d.mts → board-DEiEHcpe.d.mts} +25 -4
- package/dist/{board-Bm0VOdJ3.d.ts → board-fVAXZ8T5.d.ts} +25 -4
- package/dist/{breadcrumbs-CiBoJ3Aq.d.ts → breadcrumbs-DNaaP3xa.d.ts} +2 -2
- package/dist/{breadcrumbs-tkJIGz6x.d.mts → breadcrumbs-qE3CD--N.d.mts} +2 -2
- package/dist/browser/cavuno-board.global.min.js +1 -1
- package/dist/{chunk-DP2ZZZEO.mjs → chunk-DUTQOLOF.mjs} +1 -0
- package/dist/doctor.js +7989 -10
- package/dist/doctor.mjs +7989 -10
- package/dist/filters.d.mts +19 -3
- package/dist/filters.d.ts +19 -3
- package/dist/filters.js +10 -1
- package/dist/filters.mjs +10 -1
- package/dist/format.d.mts +4 -4
- package/dist/format.d.ts +4 -4
- package/dist/index.d.mts +182 -13
- package/dist/index.d.ts +182 -13
- package/dist/index.js +183 -23
- package/dist/index.mjs +183 -24
- package/dist/{jobs-FSqG6zA8.d.ts → jobs-BRysn2m0.d.ts} +25 -3
- package/dist/{jobs-BbX7BRpH.d.mts → jobs-R-h3A3kl.d.mts} +25 -3
- package/dist/{search-BL6adxbK.d.ts → search-BK_zHHNQ.d.ts} +1 -1
- package/dist/{search-G3-XEo3f.d.mts → search-BlB690ma.d.mts} +1 -1
- package/dist/{seo-DcLmhDtr.d.mts → seo-0mbZ7M_E.d.mts} +1 -1
- package/dist/{seo-DU0YYnOj.d.ts → seo-C7gMl6Y7.d.ts} +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 +2 -1
- package/skills/cavuno-board-account/SKILL.md +95 -1
- package/skills/cavuno-board-collections/SKILL.md +148 -0
- package/skills/cavuno-board-companies/SKILL.md +43 -1
- package/skills/cavuno-board-filters/SKILL.md +71 -1
- package/skills/cavuno-board-paywall/SKILL.md +5 -2
- package/skills/cavuno-board-post-a-job/SKILL.md +64 -0
- package/skills/manifest.json +11 -4
|
@@ -4,11 +4,8 @@ interface components {
|
|
|
4
4
|
token: string;
|
|
5
5
|
};
|
|
6
6
|
AccessCheckoutBody: {
|
|
7
|
-
/**
|
|
8
|
-
|
|
9
|
-
* @enum {string}
|
|
10
|
-
*/
|
|
11
|
-
offerKey: "daily" | "weekly" | "monthly" | "quarterly" | "yearly" | "lifetime";
|
|
7
|
+
/** @description The opaque offer key returned by `GET /paywall/offers/enabled` (a plan ID or legacy tier key). */
|
|
8
|
+
offerKey: string;
|
|
12
9
|
/** @description Relative path Stripe returns the buyer to on completion; `session_id` is appended. */
|
|
13
10
|
returnPath: string;
|
|
14
11
|
/** @enum {string} */
|
|
@@ -276,6 +273,89 @@ interface components {
|
|
|
276
273
|
BoardAuthVerifyEmailBody: {
|
|
277
274
|
token: string;
|
|
278
275
|
};
|
|
276
|
+
BoardFormBuiltinField: {
|
|
277
|
+
/**
|
|
278
|
+
* @description discriminator enum property added by openapi-typescript
|
|
279
|
+
* @enum {string}
|
|
280
|
+
*/
|
|
281
|
+
kind: "builtin";
|
|
282
|
+
/** @description The built-in field, rendered by your own control for that key. Job: `employmentType`, `seniority`, `title`, `workArrangement`, `location`, `remoteEligibility`, `description`, `salary`, `applyMethod`, `company`. Company: `name`, `website`, `summary`, `xUrl`, `linkedinUrl`, `facebookUrl`, `logo`, `description`. Talent: `name`, `email`, `avatar`, `headline`, `location`, `jobSearchStatus`, `bio`, `experience`, `education`, `skills`, `languages`. New built-ins may be added; skip keys you do not recognise. */
|
|
283
|
+
key: string;
|
|
284
|
+
/** @description Whether the form shows this field. Omit hidden fields from the form entirely; any value already stored on a record is kept. */
|
|
285
|
+
visible: boolean;
|
|
286
|
+
/** @description Whether a submission must fill this field. Always `false` for a hidden field. Validate it in the form before submitting. */
|
|
287
|
+
required: boolean;
|
|
288
|
+
/** @description A locked built-in is always shown and required: render it wherever it sits in the order, without a way to skip it. */
|
|
289
|
+
locked: boolean;
|
|
290
|
+
lockReason: components["schemas"]["FormFieldLockReason"];
|
|
291
|
+
};
|
|
292
|
+
/** @description The operator's job, company and talent forms (Settings → Job form, Company profile, Talent profile) as ordered field lists. Render each list in order: built-ins by `key` with your own controls, custom and collection fields from the inlined `definition`. Skip entries with `visible: false`. Every field the board has appears exactly once, so a new custom field shows up at its position without code changes. */
|
|
293
|
+
BoardForms: {
|
|
294
|
+
/** @description The job posting form, in the order to render it. */
|
|
295
|
+
job: components["schemas"]["BoardJobFormField"][];
|
|
296
|
+
/** @description The company profile form, in the order to render it. Public profile fields only. */
|
|
297
|
+
company: components["schemas"]["BoardProfileFormField"][];
|
|
298
|
+
/** @description The candidate profile form, in the order to render it. Public profile fields only. */
|
|
299
|
+
talent: components["schemas"]["BoardProfileFormField"][];
|
|
300
|
+
};
|
|
301
|
+
BoardJobFormCollectionField: {
|
|
302
|
+
/**
|
|
303
|
+
* @description discriminator enum property added by openapi-typescript
|
|
304
|
+
* @enum {string}
|
|
305
|
+
*/
|
|
306
|
+
kind: "collection";
|
|
307
|
+
/** @description The collection field key used in `collectionValues`. Fetch choices from /boards/{identifier}/job-fields/{fieldKey}/choices. */
|
|
308
|
+
key: string;
|
|
309
|
+
/** @description Whether the form shows this field. Omit hidden fields from the form entirely; any value already stored on a record is kept. */
|
|
310
|
+
visible: boolean;
|
|
311
|
+
/** @description Whether a submission must fill this field. Always `false` for a hidden field. Validate it in the form before submitting. */
|
|
312
|
+
required: boolean;
|
|
313
|
+
definition: components["schemas"]["JobCollectionFieldDefinition"];
|
|
314
|
+
};
|
|
315
|
+
BoardJobFormCustomField: {
|
|
316
|
+
/**
|
|
317
|
+
* @description discriminator enum property added by openapi-typescript
|
|
318
|
+
* @enum {string}
|
|
319
|
+
*/
|
|
320
|
+
kind: "custom";
|
|
321
|
+
/** @description The custom field key used in `customFieldValues`. */
|
|
322
|
+
key: string;
|
|
323
|
+
/** @description Whether the form shows this field. Omit hidden fields from the form entirely; any value already stored on a record is kept. */
|
|
324
|
+
visible: boolean;
|
|
325
|
+
/** @description Whether a submission must fill this field. Always `false` for a hidden field. Validate it in the form before submitting. */
|
|
326
|
+
required: boolean;
|
|
327
|
+
definition: components["schemas"]["CustomFieldDefinition"];
|
|
328
|
+
};
|
|
329
|
+
BoardJobFormField: components["schemas"]["BoardFormBuiltinField"] | components["schemas"]["BoardJobFormCustomField"] | components["schemas"]["BoardJobFormCollectionField"];
|
|
330
|
+
BoardProfileFormCollectionField: {
|
|
331
|
+
/**
|
|
332
|
+
* @description discriminator enum property added by openapi-typescript
|
|
333
|
+
* @enum {string}
|
|
334
|
+
*/
|
|
335
|
+
kind: "collection";
|
|
336
|
+
/** @description The catalog field key. Fetch choices from /boards/{identifier}/profile-fields/{entity}/{fieldKey}/choices, or the signed-in owner choices endpoint. */
|
|
337
|
+
key: string;
|
|
338
|
+
/** @description Whether the form shows this field. Omit hidden fields from the form entirely; any value already stored on a record is kept. */
|
|
339
|
+
visible: boolean;
|
|
340
|
+
/** @description Whether a submission must fill this field. Always `false` for a hidden field. Validate it in the form before submitting. */
|
|
341
|
+
required: boolean;
|
|
342
|
+
definition: components["schemas"]["ProfileObjectReferenceDefinition"];
|
|
343
|
+
};
|
|
344
|
+
BoardProfileFormCustomField: {
|
|
345
|
+
/**
|
|
346
|
+
* @description discriminator enum property added by openapi-typescript
|
|
347
|
+
* @enum {string}
|
|
348
|
+
*/
|
|
349
|
+
kind: "custom";
|
|
350
|
+
/** @description The profile custom field key. */
|
|
351
|
+
key: string;
|
|
352
|
+
/** @description Whether the form shows this field. Omit hidden fields from the form entirely; any value already stored on a record is kept. */
|
|
353
|
+
visible: boolean;
|
|
354
|
+
/** @description Whether a submission must fill this field. Always `false` for a hidden field. Validate it in the form before submitting. */
|
|
355
|
+
required: boolean;
|
|
356
|
+
definition: components["schemas"]["ProfileCustomFieldDefinition"];
|
|
357
|
+
};
|
|
358
|
+
BoardProfileFormField: components["schemas"]["BoardFormBuiltinField"] | components["schemas"]["BoardProfileFormCustomField"] | components["schemas"]["BoardProfileFormCollectionField"];
|
|
279
359
|
BoardSeo: {
|
|
280
360
|
/** @enum {string} */
|
|
281
361
|
object: "board_seo";
|
|
@@ -548,6 +628,12 @@ interface components {
|
|
|
548
628
|
/** @description Number of jobs that contribute to this company's salary aggregates on the board (the salary sample size). `0` when there is no usable salary data — prefer this over fetching the full company-salary document just to decide whether to show a Salaries tab. Not the same as `publishedJobCount` (open roles without pay data stay at 0 here). */
|
|
549
629
|
salarySampleCount: number;
|
|
550
630
|
membership: components["schemas"]["PublicCompanyMembership"];
|
|
631
|
+
/** @description Values for public company custom fields, keyed by field key. Private and unknown fields are omitted. */
|
|
632
|
+
customFieldValues: {
|
|
633
|
+
[key: string]: string | number | boolean | string[];
|
|
634
|
+
};
|
|
635
|
+
/** @description Resolved public object references attached to this company. Private references are omitted. */
|
|
636
|
+
objectReferences: components["schemas"]["ResolvedProfileObjectReference"][];
|
|
551
637
|
links: components["schemas"]["PublicCompanyLinks"];
|
|
552
638
|
};
|
|
553
639
|
CompanyPublicDetail: components["schemas"]["CompanyPublic"] & {
|
|
@@ -708,18 +794,18 @@ interface components {
|
|
|
708
794
|
sessionKey: string;
|
|
709
795
|
};
|
|
710
796
|
CreateCompanyBody: {
|
|
711
|
-
/** @description Public company website URL. Normalized to a canonical apex domain when stored. */
|
|
712
|
-
website?: string;
|
|
713
|
-
/** @description One-line summary of the company. Up to 280 characters. */
|
|
714
|
-
summary?: string;
|
|
715
|
-
/** @description Long-form description of the company. Up to 25,000 characters. */
|
|
716
|
-
description?: string;
|
|
717
|
-
/** @description X (Twitter) profile URL or handle. Stored as the canonical handle. */
|
|
718
|
-
xUrl?: string;
|
|
719
|
-
/** @description LinkedIn company page URL. */
|
|
720
|
-
linkedinUrl?: string;
|
|
721
|
-
/** @description Facebook company page URL. */
|
|
722
|
-
facebookUrl?: string;
|
|
797
|
+
/** @description Public company website URL. Normalized to a canonical apex domain when stored. `null` or `""` means not set. */
|
|
798
|
+
website?: string | null;
|
|
799
|
+
/** @description One-line summary of the company. Up to 280 characters. `null` or `""` means not set. */
|
|
800
|
+
summary?: string | null;
|
|
801
|
+
/** @description Long-form description of the company, as HTML. Up to 25,000 characters. The HTML is sanitized on write: tags and attributes outside the supported formatting set (paragraphs, headings, lists, links, inline emphasis) are removed. Plain text without HTML tags is converted to paragraphs. `null` or `""` means not set. */
|
|
802
|
+
description?: string | null;
|
|
803
|
+
/** @description X (Twitter) profile URL or handle. Stored as the canonical handle. `null` or `""` means not set. */
|
|
804
|
+
xUrl?: string | null;
|
|
805
|
+
/** @description LinkedIn company page URL. `null` or `""` means not set. */
|
|
806
|
+
linkedinUrl?: string | null;
|
|
807
|
+
/** @description Facebook company page URL. `null` or `""` means not set. */
|
|
808
|
+
facebookUrl?: string | null;
|
|
723
809
|
/** @description Canonical market slugs assigned to the company. Pass an empty array to clear all markets. */
|
|
724
810
|
markets?: string[];
|
|
725
811
|
/** @description The company's display name. */
|
|
@@ -866,11 +952,13 @@ interface components {
|
|
|
866
952
|
key: string;
|
|
867
953
|
/** @description Authoring-default label; the localized public string lives in the board template. */
|
|
868
954
|
label: string;
|
|
955
|
+
/** @description Optional guidance displayed beside the field. */
|
|
956
|
+
helpText?: string;
|
|
869
957
|
/**
|
|
870
|
-
* @description Field type, which dictates the value: `short_text`/`long_text` → string; `single_select` → one option key; `multi_select` → array of option keys; `boolean` → boolean; `number` → number.
|
|
958
|
+
* @description Field type, which dictates the value: `short_text`/`long_text` → plain string; `rich_text` → sanitized basic HTML; `single_select` → one option key; `multi_select` → array of option keys; `boolean` → boolean; `number` → number.
|
|
871
959
|
* @enum {string}
|
|
872
960
|
*/
|
|
873
|
-
type: "short_text" | "long_text" | "single_select" | "multi_select" | "boolean" | "number";
|
|
961
|
+
type: "short_text" | "long_text" | "rich_text" | "single_select" | "multi_select" | "boolean" | "number";
|
|
874
962
|
/** @description Present only for `single_select`/`multi_select`. A stored value is one (or, for multi, several) of these option `key`s — never a label. */
|
|
875
963
|
options?: components["schemas"]["CustomFieldOption"][];
|
|
876
964
|
/** @description When true, the value cannot be cleared or left empty on a write (rejected with `custom_field_required`). */
|
|
@@ -1038,7 +1126,7 @@ interface components {
|
|
|
1038
1126
|
deletionEnabled: boolean;
|
|
1039
1127
|
};
|
|
1040
1128
|
EmployerCreateJobBody: {
|
|
1041
|
-
/** @description Long-form description of the role. Up to 25,000 characters. */
|
|
1129
|
+
/** @description Long-form description of the role, as HTML. Up to 25,000 characters. The HTML is sanitized on write: tags and attributes outside the supported formatting set (paragraphs, headings, lists, links, inline emphasis) are removed. Plain text without HTML tags is converted to paragraphs. */
|
|
1042
1130
|
description: string;
|
|
1043
1131
|
/** @description URL-friendly slug for the job. Auto-generated from `title` when omitted. */
|
|
1044
1132
|
slug?: string;
|
|
@@ -1048,10 +1136,10 @@ interface components {
|
|
|
1048
1136
|
*/
|
|
1049
1137
|
employmentType?: "full_time" | "part_time" | "contract" | "internship" | "temporary" | "volunteer" | "other";
|
|
1050
1138
|
/**
|
|
1051
|
-
* @description Whether the role is on-site, hybrid, or fully remote
|
|
1139
|
+
* @description **Required.** Whether the role is on-site, hybrid, or fully remote: one of `on_site`, `hybrid`, `remote`. Omitting it or sending `null` returns `400`. It is not valid on its own either: `on_site` and `hybrid` require at least one `officeLocations` entry, and `remote` requires `remotePermits` (use `[{"type":"worldwide","value":"worldwide"}]` for anywhere; `remoteTimezones` then auto-derives on POST).
|
|
1052
1140
|
* @enum {string}
|
|
1053
1141
|
*/
|
|
1054
|
-
remoteOption
|
|
1142
|
+
remoteOption: "on_site" | "hybrid" | "remote";
|
|
1055
1143
|
/** @description Where remote candidates must hold work authorization. Each entry is the smallest relevant scope: `worldwide`, a `world_region` (EMEA / LATAM / NA / APAC), a `continent`, a `region`, a `subregion`, a `custom` group (e.g. `EU`), a `country` (ISO 3166-1 alpha-2), or a `subdivision` (ISO 3166-2). Subdivisions auto-imply their parent country in the derived `remoteWorkPermitCountryCodes` output. Worldwide is mutually exclusive with all other entries. The canonical `{type, value}` set is published at `GET /v1/taxonomies/remote-permits`. Pass `[]` to clear an existing constraint. */
|
|
1056
1144
|
remotePermits?: {
|
|
1057
1145
|
/** @enum {string} */
|
|
@@ -1075,19 +1163,19 @@ interface components {
|
|
|
1075
1163
|
* @enum {string}
|
|
1076
1164
|
*/
|
|
1077
1165
|
seniority?: "entry_level" | "associate" | "mid_level" | "senior" | "lead" | "principal" | "director" | "executive";
|
|
1078
|
-
/** @description Where candidates apply. Accepts an HTTPS URL, a `mailto:` URI, or a bare email address (normalized to `mailto:` form). Omit to collect applications on the board (built-in applications). */
|
|
1079
|
-
applicationUrl?: string;
|
|
1080
|
-
/** @description Minimum salary, in `salaryCurrency` units. */
|
|
1081
|
-
salaryMin?: number;
|
|
1082
|
-
/** @description Maximum salary, in `salaryCurrency` units. */
|
|
1083
|
-
salaryMax?: number;
|
|
1084
|
-
/** @description Three-letter ISO 4217 currency code for `salaryMin` and `salaryMax`. */
|
|
1085
|
-
salaryCurrency?: string;
|
|
1086
|
-
/**
|
|
1087
|
-
* @description Period the `salaryMin` and `salaryMax` figures are quoted against.
|
|
1088
|
-
* @enum {string}
|
|
1166
|
+
/** @description Where candidates apply. Accepts an HTTPS URL, a `mailto:` URI, or a bare email address (normalized to `mailto:` form). Omit it or pass `null` to collect applications on the board (built-in applications). */
|
|
1167
|
+
applicationUrl?: string | null;
|
|
1168
|
+
/** @description Minimum salary, in `salaryCurrency` units. `null` means not set. When `salaryMin` or `salaryMax` is set, `salaryCurrency` and `salaryTimeframe` are both required; otherwise `400`. */
|
|
1169
|
+
salaryMin?: number | null;
|
|
1170
|
+
/** @description Maximum salary, in `salaryCurrency` units. `null` means not set. When `salaryMin` or `salaryMax` is set, `salaryCurrency` and `salaryTimeframe` are both required; otherwise `400`. */
|
|
1171
|
+
salaryMax?: number | null;
|
|
1172
|
+
/** @description Three-letter ISO 4217 currency code for `salaryMin` and `salaryMax`. `null` means not set. Required when `salaryMin` or `salaryMax` is set; optional otherwise. */
|
|
1173
|
+
salaryCurrency?: string | null;
|
|
1174
|
+
/**
|
|
1175
|
+
* @description Period the `salaryMin` and `salaryMax` figures are quoted against. `null` means not set. Required when `salaryMin` or `salaryMax` is set; optional otherwise.
|
|
1176
|
+
* @enum {string|null}
|
|
1089
1177
|
*/
|
|
1090
|
-
salaryTimeframe?: "per_year" | "per_month" | "per_week" | "per_day" | "per_hour";
|
|
1178
|
+
salaryTimeframe?: "per_year" | "per_month" | "per_week" | "per_day" | "per_hour" | null;
|
|
1091
1179
|
/** @description Up to 100 canonical skill slugs from `GET /v1/taxonomies/skills`. Every slug must exist in this account. */
|
|
1092
1180
|
skills?: string[];
|
|
1093
1181
|
/** @description Up to 100 canonical category slugs from `GET /v1/taxonomies/categories`. Every slug must exist in this account. */
|
|
@@ -1107,10 +1195,21 @@ interface components {
|
|
|
1107
1195
|
inOfficeFrequency?: number;
|
|
1108
1196
|
/** @description Physical office locations associated with the job. Prefer `{query: "City, Country"}` for free-form input; `{city, country, region?, locality?}` is also accepted when you already have structured fields. Each entry is resolved server-side; a country mismatch returns `400 jobs_unresolvable_location`. */
|
|
1109
1197
|
officeLocations?: components["schemas"]["JobOfficeLocationInput"][];
|
|
1198
|
+
/** @description Collection-reference selections keyed by the configured job collection field key. Values are arrays of record IDs, including for single-select fields. On PATCH omitted keys are preserved; send null or an empty array to clear a field. */
|
|
1199
|
+
collectionValues?: {
|
|
1200
|
+
[key: string]: string[] | unknown;
|
|
1201
|
+
};
|
|
1202
|
+
/** @description Per-job wording for selected collection entries, only on fields whose definition has `allowOverrides`. At most one item per selected entry; an item for an entry that is not selected on the job is rejected with `400 jobs_constraint_violation`. The list replaces the job's stored overrides: on PATCH omit it to keep them and send `[]` to clear them all. Deselecting an entry through `collectionValues` drops its override. */
|
|
1203
|
+
collectionOverrides?: components["schemas"]["JobCollectionOverride"][];
|
|
1110
1204
|
/** @description The job title. */
|
|
1111
1205
|
title: string;
|
|
1206
|
+
/** @description Board-defined custom-field values, keyed by the field `key` (definitions, including type, option keys and whether the field is required, are published on the public board context at `GET /v1/boards/:identifier` under `customFields.job`). Writes are **additive**: on `PATCH` a key you send is set/overwritten and a key you omit is preserved; on `POST` this initializes the bag. Send a key with an intentional-empty value (`null`, `""`, or `[]`) to **clear** it; `false` and `0` are kept as real values. Values must match the field type and `single_select`/`multi_select` must use defined option **keys** (not labels). A required field left empty, a wrong-typed value or an undefined option is rejected with `400 jobs_constraint_violation`. On `POST`, the required-field check runs only when this property is present (an empty object counts as present); a request that omits it is not rejected for a custom field it did not send. Unknown keys are ignored. */
|
|
1207
|
+
customFieldValues?: {
|
|
1208
|
+
[key: string]: string | string[] | boolean | number | unknown;
|
|
1209
|
+
};
|
|
1112
1210
|
};
|
|
1113
1211
|
EmployerJob: components["schemas"]["EmployerJobSummary"] & {
|
|
1212
|
+
resolvedCollectionFields: components["schemas"]["ResolvedJobCollectionField"][];
|
|
1114
1213
|
/** @description Long-form description of the role, or `null` if not specified. */
|
|
1115
1214
|
description: string | null;
|
|
1116
1215
|
/** @description Where candidates apply, or `null` if not specified. An HTTPS URL or `mailto:` URI. */
|
|
@@ -1211,7 +1310,7 @@ interface components {
|
|
|
1211
1310
|
*/
|
|
1212
1311
|
employmentType: "full_time" | "part_time" | "contract" | "internship" | "temporary" | "volunteer" | "other" | null;
|
|
1213
1312
|
/**
|
|
1214
|
-
* @description Whether the role is on-site, hybrid, or fully remote
|
|
1313
|
+
* @description Whether the role is on-site, hybrid, or fully remote. `null` only on older jobs saved without one; create requires it and `PATCH` cannot clear it.
|
|
1215
1314
|
* @enum {string|null}
|
|
1216
1315
|
*/
|
|
1217
1316
|
remoteOption: "on_site" | "hybrid" | "remote" | null;
|
|
@@ -1235,12 +1334,20 @@ interface components {
|
|
|
1235
1334
|
isFeatured: boolean;
|
|
1236
1335
|
/** @description Time at which the job was first published, or `null` if not yet published. ISO 8601 datetime. */
|
|
1237
1336
|
publishedAt: string | null;
|
|
1238
|
-
/** @description Time at which the job expires
|
|
1337
|
+
/** @description Time at which the job expires as an ISO 8601 datetime. `null` can appear when the expiry requirement does not apply, including for drafts and sponsored jobs; ordinary published jobs always have an expiry. */
|
|
1239
1338
|
expiresAt: string | null;
|
|
1240
1339
|
/** @description Time at which the job was created. ISO 8601 datetime. */
|
|
1241
1340
|
createdAt: string;
|
|
1242
1341
|
/** @description Time at which the job was last updated. ISO 8601 datetime. */
|
|
1243
1342
|
updatedAt: string;
|
|
1343
|
+
/** @description Board-defined custom-field values for this job, keyed by the field `key`. The definitions (label, type, option keys, required) are published on the public board context at `GET /v1/boards/:identifier` under `customFields.job`. Each value is returned as stored: a string (`short_text` / `long_text` / a `single_select` option key), a string array (`multi_select` option keys), a boolean, or a number. Always an object: `{}` when the job has no custom-field values, never `null` or a missing field. */
|
|
1344
|
+
customFieldValues: {
|
|
1345
|
+
[key: string]: string | string[] | boolean | number;
|
|
1346
|
+
};
|
|
1347
|
+
/** @description Collection record IDs keyed by configured job collection field. */
|
|
1348
|
+
collectionValues: {
|
|
1349
|
+
[key: string]: string[];
|
|
1350
|
+
};
|
|
1244
1351
|
links: components["schemas"]["EmployerJobLinks"];
|
|
1245
1352
|
};
|
|
1246
1353
|
EmployerPipeline: {
|
|
@@ -1296,7 +1403,7 @@ interface components {
|
|
|
1296
1403
|
views: number;
|
|
1297
1404
|
};
|
|
1298
1405
|
EmployerUpdateJobBody: {
|
|
1299
|
-
/** @description Long-form description of the role. Up to 25,000 characters. */
|
|
1406
|
+
/** @description Long-form description of the role, as HTML. Up to 25,000 characters. The HTML is sanitized on write: tags and attributes outside the supported formatting set (paragraphs, headings, lists, links, inline emphasis) are removed. Plain text without HTML tags is converted to paragraphs. */
|
|
1300
1407
|
description?: string;
|
|
1301
1408
|
/** @description URL-friendly slug for the job. Auto-generated from `title` when omitted. */
|
|
1302
1409
|
slug?: string;
|
|
@@ -1306,7 +1413,7 @@ interface components {
|
|
|
1306
1413
|
*/
|
|
1307
1414
|
employmentType?: "full_time" | "part_time" | "contract" | "internship" | "temporary" | "volunteer" | "other";
|
|
1308
1415
|
/**
|
|
1309
|
-
* @description Whether the role is on-site, hybrid, or fully remote. **Never valid on its own:** `on_site` and `hybrid` require at least one `officeLocations` entry, and `remote` requires `remotePermits` (use `[{"type":"worldwide","value":"worldwide"}]` for anywhere; `remoteTimezones` then auto-derives on POST). Sending it alone returns `400`.
|
|
1416
|
+
* @description Whether the role is on-site, hybrid, or fully remote. Omitted means unchanged; `null` returns `400` because a job's workplace type can be changed but not cleared. **Never valid on its own:** `on_site` and `hybrid` require at least one `officeLocations` entry, and `remote` requires `remotePermits` (use `[{"type":"worldwide","value":"worldwide"}]` for anywhere; `remoteTimezones` then auto-derives on POST). Sending it alone returns `400`.
|
|
1310
1417
|
* @enum {string}
|
|
1311
1418
|
*/
|
|
1312
1419
|
remoteOption?: "on_site" | "hybrid" | "remote";
|
|
@@ -1335,14 +1442,14 @@ interface components {
|
|
|
1335
1442
|
seniority?: "entry_level" | "associate" | "mid_level" | "senior" | "lead" | "principal" | "director" | "executive";
|
|
1336
1443
|
/** @description Where candidates apply. Accepts an HTTPS URL, a `mailto:` URI, or a bare email address (normalized to `mailto:` form). Pass `null` to clear the stored value and switch the job to on-board (built-in) applications. Omitted means unchanged. */
|
|
1337
1444
|
applicationUrl?: string | null;
|
|
1338
|
-
/** @description Minimum salary, in `salaryCurrency` units. Pass `null` to clear the stored value; omitted means unchanged. */
|
|
1445
|
+
/** @description Minimum salary, in `salaryCurrency` units. Pass `null` to clear the stored value; omitted means unchanged. When a request sends any salary field, the resulting salary (sent values over stored ones) must have `salaryCurrency` and `salaryTimeframe` whenever `salaryMin` or `salaryMax` is set; otherwise `400`. Requests that send no salary field are not checked. */
|
|
1339
1446
|
salaryMin?: number | null;
|
|
1340
|
-
/** @description Maximum salary, in `salaryCurrency` units. Pass `null` to clear the stored value; omitted means unchanged. */
|
|
1447
|
+
/** @description Maximum salary, in `salaryCurrency` units. Pass `null` to clear the stored value; omitted means unchanged. When a request sends any salary field, the resulting salary (sent values over stored ones) must have `salaryCurrency` and `salaryTimeframe` whenever `salaryMin` or `salaryMax` is set; otherwise `400`. Requests that send no salary field are not checked. */
|
|
1341
1448
|
salaryMax?: number | null;
|
|
1342
|
-
/** @description Three-letter ISO 4217 currency code for `salaryMin` and `salaryMax`. Pass `null` to clear the stored value; omitted means unchanged. */
|
|
1449
|
+
/** @description Three-letter ISO 4217 currency code for `salaryMin` and `salaryMax`. Pass `null` to clear the stored value; omitted means unchanged. When a request sends any salary field, the resulting salary (sent values over stored ones) must have `salaryCurrency` and `salaryTimeframe` whenever `salaryMin` or `salaryMax` is set; otherwise `400`. Requests that send no salary field are not checked. */
|
|
1343
1450
|
salaryCurrency?: string | null;
|
|
1344
1451
|
/**
|
|
1345
|
-
* @description Period the `salaryMin` and `salaryMax` figures are quoted against. Pass `null` to clear the stored value; omitted means unchanged.
|
|
1452
|
+
* @description Period the `salaryMin` and `salaryMax` figures are quoted against. Pass `null` to clear the stored value; omitted means unchanged. When a request sends any salary field, the resulting salary (sent values over stored ones) must have `salaryCurrency` and `salaryTimeframe` whenever `salaryMin` or `salaryMax` is set; otherwise `400`. Requests that send no salary field are not checked.
|
|
1346
1453
|
* @enum {string|null}
|
|
1347
1454
|
*/
|
|
1348
1455
|
salaryTimeframe?: "per_year" | "per_month" | "per_week" | "per_day" | "per_hour" | null;
|
|
@@ -1365,8 +1472,18 @@ interface components {
|
|
|
1365
1472
|
inOfficeFrequency?: number;
|
|
1366
1473
|
/** @description Physical office locations associated with the job. Prefer `{query: "City, Country"}` for free-form input; `{city, country, region?, locality?}` is also accepted when you already have structured fields. Each entry is resolved server-side; a country mismatch returns `400 jobs_unresolvable_location`. */
|
|
1367
1474
|
officeLocations?: components["schemas"]["JobOfficeLocationInput"][];
|
|
1475
|
+
/** @description Collection-reference selections keyed by the configured job collection field key. Values are arrays of record IDs, including for single-select fields. On PATCH omitted keys are preserved; send null or an empty array to clear a field. */
|
|
1476
|
+
collectionValues?: {
|
|
1477
|
+
[key: string]: string[] | unknown;
|
|
1478
|
+
};
|
|
1479
|
+
/** @description Per-job wording for selected collection entries, only on fields whose definition has `allowOverrides`. At most one item per selected entry; an item for an entry that is not selected on the job is rejected with `400 jobs_constraint_violation`. The list replaces the job's stored overrides: on PATCH omit it to keep them and send `[]` to clear them all. Deselecting an entry through `collectionValues` drops its override. */
|
|
1480
|
+
collectionOverrides?: components["schemas"]["JobCollectionOverride"][];
|
|
1368
1481
|
/** @description The job title. */
|
|
1369
1482
|
title?: string;
|
|
1483
|
+
/** @description Board-defined custom-field values, keyed by the field `key` (definitions, including type, option keys and whether the field is required, are published on the public board context at `GET /v1/boards/:identifier` under `customFields.job`). Writes are **additive**: on `PATCH` a key you send is set/overwritten and a key you omit is preserved; on `POST` this initializes the bag. Send a key with an intentional-empty value (`null`, `""`, or `[]`) to **clear** it; `false` and `0` are kept as real values. Values must match the field type and `single_select`/`multi_select` must use defined option **keys** (not labels). A required field left empty, a wrong-typed value or an undefined option is rejected with `400 jobs_constraint_violation`. On `POST`, the required-field check runs only when this property is present (an empty object counts as present); a request that omits it is not rejected for a custom field it did not send. Unknown keys are ignored. */
|
|
1484
|
+
customFieldValues?: {
|
|
1485
|
+
[key: string]: string | string[] | boolean | number | unknown;
|
|
1486
|
+
};
|
|
1370
1487
|
};
|
|
1371
1488
|
/** @description The error envelope returned by every non-2xx response. */
|
|
1372
1489
|
Error: {
|
|
@@ -1381,12 +1498,51 @@ interface components {
|
|
|
1381
1498
|
details?: unknown;
|
|
1382
1499
|
};
|
|
1383
1500
|
};
|
|
1501
|
+
/**
|
|
1502
|
+
* @description Why the field is locked, or `null` when it is not.
|
|
1503
|
+
* @enum {string|null}
|
|
1504
|
+
*/
|
|
1505
|
+
FormFieldLockReason: "google_required" | "google_hiring_organization" | "google_work_arrangement" | "google_job_location" | "google_remote_eligibility" | "posting" | "identity" | null;
|
|
1384
1506
|
HandleAvailability: {
|
|
1385
1507
|
/** @enum {string} */
|
|
1386
1508
|
object: "handle_availability";
|
|
1387
1509
|
handle: string;
|
|
1388
1510
|
available: boolean;
|
|
1389
1511
|
};
|
|
1512
|
+
JobCollectionChoiceList: {
|
|
1513
|
+
data: {
|
|
1514
|
+
id: string;
|
|
1515
|
+
name: string;
|
|
1516
|
+
/** @description URL-safe identifier, unique within the collection. Changing it keeps the previous value reserved. */
|
|
1517
|
+
slug?: string;
|
|
1518
|
+
/** @description The entry's logo: the image in the collection's logo field, or a legacy logo URL on older entries. Absent when the entry has neither. */
|
|
1519
|
+
logoUrl?: string;
|
|
1520
|
+
}[];
|
|
1521
|
+
nextCursor: string | null;
|
|
1522
|
+
};
|
|
1523
|
+
JobCollectionFieldDefinition: {
|
|
1524
|
+
key: string;
|
|
1525
|
+
label: string;
|
|
1526
|
+
typeId: string;
|
|
1527
|
+
multiple: boolean;
|
|
1528
|
+
required: boolean;
|
|
1529
|
+
/** @description Operator-set maximum number of entries a poster can select. Only meaningful when `multiple` is true; absent means the system ceiling of 100. */
|
|
1530
|
+
maxSelections?: number;
|
|
1531
|
+
/** @description Whether each job can replace a selected entry's title and description through `collectionOverrides`. Absent means false. */
|
|
1532
|
+
allowOverrides?: boolean;
|
|
1533
|
+
/** @description Key of the collection's short, long or rich text field whose value is a selected entry's default description. When that field is rich text, an entry's `description` is sanitised HTML. Absent means entries have no default description. */
|
|
1534
|
+
descriptionFieldKey?: string;
|
|
1535
|
+
};
|
|
1536
|
+
JobCollectionOverride: {
|
|
1537
|
+
/** @description The collection field key used in `collectionValues`. */
|
|
1538
|
+
fieldKey: string;
|
|
1539
|
+
/** @description A record ID selected for that field on this job. */
|
|
1540
|
+
recordId: string;
|
|
1541
|
+
/** @description The entry's title on this job, up to 160 characters. Omit or send a blank string to use the entry name. */
|
|
1542
|
+
title?: string;
|
|
1543
|
+
/** @description The entry's description on this job, up to 2000 characters of plain text. When the default description field is rich text, the entry's `description` returns it escaped as HTML. Omit or send a blank string to use the default description. */
|
|
1544
|
+
description?: string;
|
|
1545
|
+
};
|
|
1390
1546
|
/** @description Embedded company resource for the job, or `null` if no company is attached. */
|
|
1391
1547
|
JobCompany: {
|
|
1392
1548
|
/** @description Unique identifier for the company. */
|
|
@@ -1717,7 +1873,7 @@ interface components {
|
|
|
1717
1873
|
PaywallOffer: {
|
|
1718
1874
|
/** @enum {string} */
|
|
1719
1875
|
object: "paywall_offer";
|
|
1720
|
-
/** @description The
|
|
1876
|
+
/** @description The opaque key posted unchanged to checkout (a plan ID or legacy tier key). */
|
|
1721
1877
|
offerKey: string;
|
|
1722
1878
|
label: string;
|
|
1723
1879
|
billingLabel: string;
|
|
@@ -1815,6 +1971,80 @@ interface components {
|
|
|
1815
1971
|
/** @description Post title. */
|
|
1816
1972
|
title: string;
|
|
1817
1973
|
};
|
|
1974
|
+
ProfileChoiceList: {
|
|
1975
|
+
data: {
|
|
1976
|
+
id: string;
|
|
1977
|
+
name: string;
|
|
1978
|
+
/** @description URL-safe identifier, unique within the collection. Changing it keeps the previous value reserved. */
|
|
1979
|
+
slug?: string;
|
|
1980
|
+
logoUrl?: string;
|
|
1981
|
+
}[];
|
|
1982
|
+
nextCursor: string | null;
|
|
1983
|
+
};
|
|
1984
|
+
ProfileCustomFieldDefinition: {
|
|
1985
|
+
key: string;
|
|
1986
|
+
label: string;
|
|
1987
|
+
helpText?: string;
|
|
1988
|
+
/** @enum {string} */
|
|
1989
|
+
type: "short_text" | "long_text" | "rich_text" | "single_select" | "multi_select" | "boolean" | "number" | "date" | "url" | "email" | "phone" | "image_gallery" | "file";
|
|
1990
|
+
required: boolean;
|
|
1991
|
+
/** @enum {string} */
|
|
1992
|
+
visibility: "private" | "public";
|
|
1993
|
+
editableByOwner: boolean;
|
|
1994
|
+
options?: {
|
|
1995
|
+
key: string;
|
|
1996
|
+
label: string;
|
|
1997
|
+
}[];
|
|
1998
|
+
min?: number;
|
|
1999
|
+
max?: number;
|
|
2000
|
+
};
|
|
2001
|
+
ProfileFieldValuesBody: {
|
|
2002
|
+
values: {
|
|
2003
|
+
[key: string]: string | number | boolean | string[] | unknown;
|
|
2004
|
+
};
|
|
2005
|
+
};
|
|
2006
|
+
ProfileFieldValuesResponse: {
|
|
2007
|
+
definitions: components["schemas"]["ProfileCustomFieldDefinition"][];
|
|
2008
|
+
values: {
|
|
2009
|
+
[key: string]: string | number | boolean | string[];
|
|
2010
|
+
};
|
|
2011
|
+
};
|
|
2012
|
+
ProfileObjectReferenceDefinition: {
|
|
2013
|
+
key: string;
|
|
2014
|
+
label: string;
|
|
2015
|
+
typeId: string;
|
|
2016
|
+
multiple: boolean;
|
|
2017
|
+
/** @description Operator-set maximum number of entries a profile can select. Only meaningful when `multiple` is true; absent means the system ceiling of 100. */
|
|
2018
|
+
maxSelections?: number;
|
|
2019
|
+
/** @description Whether a profile must select at least one entry when this field is shown. */
|
|
2020
|
+
required?: boolean;
|
|
2021
|
+
/** @enum {string} */
|
|
2022
|
+
visibility: "private" | "public";
|
|
2023
|
+
editableByOwner: boolean;
|
|
2024
|
+
allowOverrides: boolean;
|
|
2025
|
+
descriptionFieldKey?: string;
|
|
2026
|
+
valueDefinitions?: components["schemas"]["ScalarProfileCustomFieldDefinition"][];
|
|
2027
|
+
entryDefinitions?: components["schemas"]["ScalarProfileCustomFieldDefinition"][];
|
|
2028
|
+
};
|
|
2029
|
+
ProfileObjectReferenceSelectionWrite: {
|
|
2030
|
+
fieldKey: string;
|
|
2031
|
+
recordId: string;
|
|
2032
|
+
titleOverride?: string | null;
|
|
2033
|
+
descriptionOverride?: string | null;
|
|
2034
|
+
values?: {
|
|
2035
|
+
[key: string]: string | number | boolean | string[];
|
|
2036
|
+
};
|
|
2037
|
+
entries?: {
|
|
2038
|
+
key: string;
|
|
2039
|
+
values: {
|
|
2040
|
+
[key: string]: string | number | boolean | string[];
|
|
2041
|
+
};
|
|
2042
|
+
}[];
|
|
2043
|
+
};
|
|
2044
|
+
ProfileObjectReferencesResult: {
|
|
2045
|
+
definitions: components["schemas"]["ProfileObjectReferenceDefinition"][];
|
|
2046
|
+
selections: components["schemas"]["ResolvedProfileObjectReference"][];
|
|
2047
|
+
};
|
|
1818
2048
|
PublicBlogAdjacentPosts: {
|
|
1819
2049
|
/** @enum {string} */
|
|
1820
2050
|
object: "blog_adjacent_posts";
|
|
@@ -1972,10 +2202,12 @@ interface components {
|
|
|
1972
2202
|
/** @description Default Google-issued ad unit id (10 digits). Resolves the enabled jobs:list.footer slot first, then the first enabled valid slot in alphabetical placement-key order. Null when advertising is off, the publisher id is invalid, or no enabled valid slot exists. Frontends may override it per ad unit. */
|
|
1973
2203
|
defaultSlotId: string | null;
|
|
1974
2204
|
};
|
|
1975
|
-
/** @description Operator-defined custom field definitions keyed by model (currently only `job`). Each key holds that model's definitions in display order.
|
|
2205
|
+
/** @description Operator-defined custom field definitions keyed by model (currently only `job`). Each key holds that model's definitions in display order. The frontend uses these to render and localize each record's opaque `customFieldValues`. Supports exact-value custom-field filters in job search. Profile definitions are discovered through the profile-fields endpoint. */
|
|
1976
2206
|
customFields: {
|
|
1977
2207
|
/** @description This model's custom-field definitions in display order. Empty when the board defines none for the model. */
|
|
1978
2208
|
job: components["schemas"]["CustomFieldDefinition"][];
|
|
2209
|
+
/** @description Collection-reference job field definitions in display order. Fetch choices from /boards/{identifier}/job-fields/{fieldKey}/choices. */
|
|
2210
|
+
jobCollections: components["schemas"]["JobCollectionFieldDefinition"][];
|
|
1979
2211
|
};
|
|
1980
2212
|
/** @description Built-in job-form field configuration from Settings → Job form (custom fields live on `customFields.job`). The platform ENFORCES these constraints when a job is created — a violation is a 400 — so a posting form that ignores them offers options the server will reject and the employer only finds out on submit. */
|
|
1981
2213
|
jobForm: {
|
|
@@ -2018,6 +2250,7 @@ interface components {
|
|
|
2018
2250
|
allowedOptions: string[];
|
|
2019
2251
|
};
|
|
2020
2252
|
};
|
|
2253
|
+
forms: components["schemas"]["BoardForms"];
|
|
2021
2254
|
/** @description Operator-authored contact and social identity (settings › Contact & company details). Extracted from the former `footer` group in 4.0.0: contact is identity data, not layout. Brand/social URLs are sanitized to absolute http(s). */
|
|
2022
2255
|
contact: {
|
|
2023
2256
|
/** @description Public contact email (render as `mailto:`). Operator-set in settings › Contact & company details. */
|
|
@@ -2039,6 +2272,16 @@ interface components {
|
|
|
2039
2272
|
query?: string;
|
|
2040
2273
|
/** @description Scope the results to companies in a single market (sector), by the market slug. Resolves a board-language or English slug; an unknown slug returns 404. Use `GET /boards/:identifier/companies/markets/:market` to resolve a slug to its canonical form first. */
|
|
2041
2274
|
marketSlug?: string;
|
|
2275
|
+
/** @description Public company custom fields. Clauses are AND-matched and values within a clause are OR-matched. */
|
|
2276
|
+
customFields?: {
|
|
2277
|
+
key: string;
|
|
2278
|
+
values: (string | number | boolean)[];
|
|
2279
|
+
}[];
|
|
2280
|
+
/** @description Public company catalog references. Clauses are AND-matched and record IDs within a clause are OR-matched. */
|
|
2281
|
+
objectReferences?: {
|
|
2282
|
+
key: string;
|
|
2283
|
+
recordIds: string[];
|
|
2284
|
+
}[];
|
|
2042
2285
|
/** @description An opaque pagination cursor returned in the `nextCursor` field of a previous response. Pass it back to fetch the next page of results. */
|
|
2043
2286
|
cursor?: string | null;
|
|
2044
2287
|
/** @description A limit on the number of objects to be returned. Limit can range between 1 and 100. */
|
|
@@ -2089,7 +2332,7 @@ interface components {
|
|
|
2089
2332
|
*/
|
|
2090
2333
|
employmentType: "full_time" | "part_time" | "contract" | "internship" | "temporary" | "volunteer" | "other" | null;
|
|
2091
2334
|
/**
|
|
2092
|
-
* @description Whether the role is on-site, hybrid, or fully remote
|
|
2335
|
+
* @description Whether the role is on-site, hybrid, or fully remote. `null` only on older jobs saved without one; create requires it and `PATCH` cannot clear it.
|
|
2093
2336
|
* @enum {string|null}
|
|
2094
2337
|
*/
|
|
2095
2338
|
remoteOption: "on_site" | "hybrid" | "remote" | null;
|
|
@@ -2113,7 +2356,7 @@ interface components {
|
|
|
2113
2356
|
isFeatured: boolean;
|
|
2114
2357
|
/** @description Time at which the job was first published, or `null` if not yet published. ISO 8601 datetime. */
|
|
2115
2358
|
publishedAt: string | null;
|
|
2116
|
-
/** @description Time at which the job expires
|
|
2359
|
+
/** @description Time at which the job expires as an ISO 8601 datetime. `null` can appear when the expiry requirement does not apply, including for drafts and sponsored jobs; ordinary published jobs always have an expiry. */
|
|
2117
2360
|
expiresAt: string | null;
|
|
2118
2361
|
/** @description Time at which the job was created. ISO 8601 datetime. */
|
|
2119
2362
|
createdAt: string;
|
|
@@ -2182,10 +2425,12 @@ interface components {
|
|
|
2182
2425
|
slug: string;
|
|
2183
2426
|
name: string;
|
|
2184
2427
|
}[];
|
|
2185
|
-
/** @description Opaque, display-only custom-field values, keyed by each field's `key`. Values are the option `key`(s) for select fields, or the raw boolean/number/text otherwise. Resolve labels via the board's `customFields.job` definitions (see `GET /v1/boards/:identifier`). `{}` when the board defines no custom fields.
|
|
2428
|
+
/** @description Opaque, display-only custom-field values, keyed by each field's `key`. Values are the option `key`(s) for select fields, or the raw boolean/number/text otherwise. Resolve labels via the board's `customFields.job` definitions (see `GET /v1/boards/:identifier`). `{}` when the board defines no custom fields. Supports exact-value custom-field filters in job search. */
|
|
2186
2429
|
customFieldValues: {
|
|
2187
2430
|
[key: string]: string | string[] | boolean | number;
|
|
2188
2431
|
};
|
|
2432
|
+
/** @description Configured collection references resolved to current live names, logos, and public record details. Archived collections and records are omitted. */
|
|
2433
|
+
resolvedCollectionFields: components["schemas"]["ResolvedJobCollectionField"][];
|
|
2189
2434
|
};
|
|
2190
2435
|
PublicJobAlertConfirmation: {
|
|
2191
2436
|
/** @enum {string} */
|
|
@@ -2324,6 +2569,10 @@ interface components {
|
|
|
2324
2569
|
/** @description Live published-job count for this place. */
|
|
2325
2570
|
jobCount: number;
|
|
2326
2571
|
};
|
|
2572
|
+
PublicProfileFields: {
|
|
2573
|
+
definitions: components["schemas"]["ProfileCustomFieldDefinition"][];
|
|
2574
|
+
referenceDefinitions: components["schemas"]["ProfileObjectReferenceDefinition"][];
|
|
2575
|
+
};
|
|
2327
2576
|
PublicSearchJobsBody: {
|
|
2328
2577
|
/** @description Free-text search query matched against job title and description. Up to 200 characters. */
|
|
2329
2578
|
query?: string;
|
|
@@ -2344,6 +2593,8 @@ interface components {
|
|
|
2344
2593
|
employmentType?: ("full_time" | "part_time" | "contract" | "internship" | "temporary" | "volunteer" | "other")[];
|
|
2345
2594
|
/** @description Only return jobs at any of the given seniority levels. Up to 10 values. */
|
|
2346
2595
|
seniority?: ("entry_level" | "associate" | "mid_level" | "senior" | "lead" | "principal" | "director" | "executive")[];
|
|
2596
|
+
/** @description Only return jobs tagged with any of the given category slugs. Up to 10 values. Accepts the `sourceSlug` or the board-language `canonicalSlug` from `GET /v1/boards/{identifier}/categories`, or a `slug` from a job card's `categories`. Unknown slugs match no jobs. */
|
|
2597
|
+
categories?: string[];
|
|
2347
2598
|
/** @description Range filter on the job's `publishedAt` timestamp. */
|
|
2348
2599
|
publishedAt?: {
|
|
2349
2600
|
/**
|
|
@@ -2361,6 +2612,11 @@ interface components {
|
|
|
2361
2612
|
location?: string;
|
|
2362
2613
|
/** @description Search radius in kilometres around `location` (10–250; default 50). Ignored without `location`. */
|
|
2363
2614
|
radius?: number;
|
|
2615
|
+
/** @description Public custom job fields. Clauses are AND-matched; values within a clause are OR-matched. Up to 10 clauses and 10 values per clause. */
|
|
2616
|
+
customFields?: {
|
|
2617
|
+
key: string;
|
|
2618
|
+
values: (string | number | boolean)[];
|
|
2619
|
+
}[];
|
|
2364
2620
|
};
|
|
2365
2621
|
/** @description An opaque pagination cursor returned in the `nextCursor` field of a previous response. Pass it back to fetch the next page of results. */
|
|
2366
2622
|
cursor?: string;
|
|
@@ -2447,6 +2703,9 @@ interface components {
|
|
|
2447
2703
|
/** @description Every stage id of the job, in the new order. */
|
|
2448
2704
|
orderedStageIds: string[];
|
|
2449
2705
|
};
|
|
2706
|
+
ReplaceProfileObjectReferenceSelectionsBody: {
|
|
2707
|
+
selections: components["schemas"]["ProfileObjectReferenceSelectionWrite"][];
|
|
2708
|
+
};
|
|
2450
2709
|
ReplyBody: {
|
|
2451
2710
|
body: string;
|
|
2452
2711
|
};
|
|
@@ -2459,6 +2718,173 @@ interface components {
|
|
|
2459
2718
|
/** Format: email */
|
|
2460
2719
|
email: string;
|
|
2461
2720
|
};
|
|
2721
|
+
ResolvedJobCollectionField: {
|
|
2722
|
+
key: string;
|
|
2723
|
+
label: string;
|
|
2724
|
+
entries: {
|
|
2725
|
+
id: string;
|
|
2726
|
+
name: string;
|
|
2727
|
+
/** @description URL-safe identifier, unique within the collection. Changing it keeps the previous value reserved. */
|
|
2728
|
+
slug?: string;
|
|
2729
|
+
/** @description The entry's logo: the image in the collection's logo field, or a legacy logo URL on older entries. Absent when the entry has neither. */
|
|
2730
|
+
logoUrl?: string;
|
|
2731
|
+
/** @description The entry's title on this job: the job's `titleOverride` when set, otherwise the entry name. Render this. */
|
|
2732
|
+
title: string;
|
|
2733
|
+
/** @description The entry's description on this job: the job's `descriptionOverride` when set, otherwise the value of the field's default description field, or `null` when neither exists. Sanitised HTML when the default description field is rich text, with a plain-text override escaped into paragraphs. Render this. */
|
|
2734
|
+
description: string | null;
|
|
2735
|
+
/** @description The title this job set for the entry, or `null` when it uses the entry name. */
|
|
2736
|
+
titleOverride: string | null;
|
|
2737
|
+
/** @description The plain-text description this job set for the entry, or `null` when it uses the default description. */
|
|
2738
|
+
descriptionOverride: string | null;
|
|
2739
|
+
fields: {
|
|
2740
|
+
key: string;
|
|
2741
|
+
label: string;
|
|
2742
|
+
/** @enum {string} */
|
|
2743
|
+
type: "short_text" | "long_text" | "rich_text" | "single_select" | "multi_select" | "boolean" | "number" | "date" | "url" | "email" | "phone" | "image" | "image_gallery" | "file" | "reference";
|
|
2744
|
+
helpText?: string;
|
|
2745
|
+
options?: {
|
|
2746
|
+
key: string;
|
|
2747
|
+
label: string;
|
|
2748
|
+
}[];
|
|
2749
|
+
}[];
|
|
2750
|
+
values: {
|
|
2751
|
+
[key: string]: string | string[] | boolean | number | {
|
|
2752
|
+
id: string;
|
|
2753
|
+
name: string;
|
|
2754
|
+
contentType: string;
|
|
2755
|
+
sizeBytes: number;
|
|
2756
|
+
url: string;
|
|
2757
|
+
} | {
|
|
2758
|
+
id: string;
|
|
2759
|
+
name: string;
|
|
2760
|
+
contentType: string;
|
|
2761
|
+
sizeBytes: number;
|
|
2762
|
+
url: string;
|
|
2763
|
+
}[];
|
|
2764
|
+
};
|
|
2765
|
+
references?: {
|
|
2766
|
+
[key: string]: {
|
|
2767
|
+
id: string;
|
|
2768
|
+
name: string;
|
|
2769
|
+
/** @description URL-safe identifier, unique within the collection. Changing it keeps the previous value reserved. */
|
|
2770
|
+
slug?: string;
|
|
2771
|
+
fields: {
|
|
2772
|
+
key: string;
|
|
2773
|
+
label: string;
|
|
2774
|
+
/** @enum {string} */
|
|
2775
|
+
type: "short_text" | "long_text" | "rich_text" | "single_select" | "multi_select" | "boolean" | "number" | "date" | "url" | "email" | "phone" | "image" | "image_gallery" | "file" | "reference";
|
|
2776
|
+
helpText?: string;
|
|
2777
|
+
options?: {
|
|
2778
|
+
key: string;
|
|
2779
|
+
label: string;
|
|
2780
|
+
}[];
|
|
2781
|
+
}[];
|
|
2782
|
+
values: {
|
|
2783
|
+
[key: string]: string | string[] | boolean | number | {
|
|
2784
|
+
id: string;
|
|
2785
|
+
name: string;
|
|
2786
|
+
contentType: string;
|
|
2787
|
+
sizeBytes: number;
|
|
2788
|
+
url: string;
|
|
2789
|
+
} | {
|
|
2790
|
+
id: string;
|
|
2791
|
+
name: string;
|
|
2792
|
+
contentType: string;
|
|
2793
|
+
sizeBytes: number;
|
|
2794
|
+
url: string;
|
|
2795
|
+
}[];
|
|
2796
|
+
};
|
|
2797
|
+
}[];
|
|
2798
|
+
};
|
|
2799
|
+
}[];
|
|
2800
|
+
};
|
|
2801
|
+
ResolvedProfileObjectReference: {
|
|
2802
|
+
fieldKey: string;
|
|
2803
|
+
fieldLabel: string;
|
|
2804
|
+
recordId: string;
|
|
2805
|
+
/** @description URL-safe identifier, unique within the collection. Changing it keeps the previous value reserved. */
|
|
2806
|
+
slug?: string;
|
|
2807
|
+
title: string;
|
|
2808
|
+
description?: string;
|
|
2809
|
+
titleOverride?: string;
|
|
2810
|
+
descriptionOverride?: string;
|
|
2811
|
+
/** @description The entry's logo: the image in the collection's logo field, or a legacy logo URL on older entries. Absent when the entry has neither. */
|
|
2812
|
+
logoUrl?: string;
|
|
2813
|
+
/** @enum {string} */
|
|
2814
|
+
descriptionType?: "rich_text";
|
|
2815
|
+
descriptionFieldKey?: string;
|
|
2816
|
+
fields: {
|
|
2817
|
+
key: string;
|
|
2818
|
+
label: string;
|
|
2819
|
+
/** @enum {string} */
|
|
2820
|
+
type: "short_text" | "long_text" | "rich_text" | "single_select" | "multi_select" | "boolean" | "number" | "date" | "url" | "email" | "phone" | "image" | "image_gallery" | "file" | "reference";
|
|
2821
|
+
helpText?: string;
|
|
2822
|
+
options?: {
|
|
2823
|
+
key: string;
|
|
2824
|
+
label: string;
|
|
2825
|
+
}[];
|
|
2826
|
+
}[];
|
|
2827
|
+
attributes: {
|
|
2828
|
+
[key: string]: string | string[] | boolean | number | {
|
|
2829
|
+
id: string;
|
|
2830
|
+
name: string;
|
|
2831
|
+
contentType: string;
|
|
2832
|
+
sizeBytes: number;
|
|
2833
|
+
url: string;
|
|
2834
|
+
} | {
|
|
2835
|
+
id: string;
|
|
2836
|
+
name: string;
|
|
2837
|
+
contentType: string;
|
|
2838
|
+
sizeBytes: number;
|
|
2839
|
+
url: string;
|
|
2840
|
+
}[];
|
|
2841
|
+
};
|
|
2842
|
+
references?: {
|
|
2843
|
+
[key: string]: {
|
|
2844
|
+
id: string;
|
|
2845
|
+
name: string;
|
|
2846
|
+
/** @description URL-safe identifier, unique within the collection. Changing it keeps the previous value reserved. */
|
|
2847
|
+
slug?: string;
|
|
2848
|
+
fields: {
|
|
2849
|
+
key: string;
|
|
2850
|
+
label: string;
|
|
2851
|
+
/** @enum {string} */
|
|
2852
|
+
type: "short_text" | "long_text" | "rich_text" | "single_select" | "multi_select" | "boolean" | "number" | "date" | "url" | "email" | "phone" | "image" | "image_gallery" | "file" | "reference";
|
|
2853
|
+
helpText?: string;
|
|
2854
|
+
options?: {
|
|
2855
|
+
key: string;
|
|
2856
|
+
label: string;
|
|
2857
|
+
}[];
|
|
2858
|
+
}[];
|
|
2859
|
+
values: {
|
|
2860
|
+
[key: string]: string | string[] | boolean | number | {
|
|
2861
|
+
id: string;
|
|
2862
|
+
name: string;
|
|
2863
|
+
contentType: string;
|
|
2864
|
+
sizeBytes: number;
|
|
2865
|
+
url: string;
|
|
2866
|
+
} | {
|
|
2867
|
+
id: string;
|
|
2868
|
+
name: string;
|
|
2869
|
+
contentType: string;
|
|
2870
|
+
sizeBytes: number;
|
|
2871
|
+
url: string;
|
|
2872
|
+
}[];
|
|
2873
|
+
};
|
|
2874
|
+
}[];
|
|
2875
|
+
};
|
|
2876
|
+
valueDefinitions: components["schemas"]["ScalarProfileCustomFieldDefinition"][];
|
|
2877
|
+
entryDefinitions: components["schemas"]["ScalarProfileCustomFieldDefinition"][];
|
|
2878
|
+
values: {
|
|
2879
|
+
[key: string]: string | number | boolean | string[];
|
|
2880
|
+
};
|
|
2881
|
+
entries: {
|
|
2882
|
+
key: string;
|
|
2883
|
+
values: {
|
|
2884
|
+
[key: string]: string | number | boolean | string[];
|
|
2885
|
+
};
|
|
2886
|
+
}[];
|
|
2887
|
+
};
|
|
2462
2888
|
Resume: {
|
|
2463
2889
|
/** @enum {string} */
|
|
2464
2890
|
object: "resume";
|
|
@@ -2554,6 +2980,10 @@ interface components {
|
|
|
2554
2980
|
savedAt: string;
|
|
2555
2981
|
job: components["schemas"]["PublicJobCard"];
|
|
2556
2982
|
};
|
|
2983
|
+
ScalarProfileCustomFieldDefinition: components["schemas"]["ProfileCustomFieldDefinition"] & {
|
|
2984
|
+
/** @enum {string} */
|
|
2985
|
+
type?: "short_text" | "long_text" | "rich_text" | "single_select" | "multi_select" | "boolean" | "number" | "date" | "url" | "email" | "phone";
|
|
2986
|
+
};
|
|
2557
2987
|
SendWorkEmailBody: {
|
|
2558
2988
|
/** Format: email */
|
|
2559
2989
|
workEmail: string;
|
|
@@ -2784,6 +3214,16 @@ interface components {
|
|
|
2784
3214
|
colorMode: "light" | "dark";
|
|
2785
3215
|
companyId?: string;
|
|
2786
3216
|
};
|
|
3217
|
+
TalentAccessClaim: {
|
|
3218
|
+
/** @enum {string} */
|
|
3219
|
+
object: "talent_access_claim";
|
|
3220
|
+
assignmentId: string;
|
|
3221
|
+
alreadyClaimed: boolean;
|
|
3222
|
+
};
|
|
3223
|
+
TalentAccessClaimBody: {
|
|
3224
|
+
planId: string;
|
|
3225
|
+
companyId?: string;
|
|
3226
|
+
};
|
|
2787
3227
|
TalentAccessUpgradeBody: {
|
|
2788
3228
|
planId: string;
|
|
2789
3229
|
companyId?: string;
|
|
@@ -2830,6 +3270,11 @@ interface components {
|
|
|
2830
3270
|
startDate: string | null;
|
|
2831
3271
|
endDate: string | null;
|
|
2832
3272
|
}[];
|
|
3273
|
+
/** @description Values for public candidate custom fields, keyed by field key. Private and unknown fields are omitted. */
|
|
3274
|
+
customFieldValues: {
|
|
3275
|
+
[key: string]: string | number | boolean | string[];
|
|
3276
|
+
};
|
|
3277
|
+
objectReferences: components["schemas"]["ResolvedProfileObjectReference"][];
|
|
2833
3278
|
};
|
|
2834
3279
|
TalentList: {
|
|
2835
3280
|
id: string;
|
|
@@ -2909,6 +3354,11 @@ interface components {
|
|
|
2909
3354
|
name: string;
|
|
2910
3355
|
proficiency: string;
|
|
2911
3356
|
}[];
|
|
3357
|
+
/** @description Values for public candidate custom fields, keyed by field key. Private and unknown fields are omitted. */
|
|
3358
|
+
customFieldValues: {
|
|
3359
|
+
[key: string]: string | number | boolean | string[];
|
|
3360
|
+
};
|
|
3361
|
+
objectReferences: components["schemas"]["ResolvedProfileObjectReference"][];
|
|
2912
3362
|
};
|
|
2913
3363
|
TalentUnlock: {
|
|
2914
3364
|
/** @enum {string} */
|