@cavuno/board 4.26.0 → 4.28.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 +134 -0
- package/dist/{_spec-EgN7VmAI.d.mts → _spec-DQvmsp5o.d.mts} +589 -67
- package/dist/{_spec-EgN7VmAI.d.ts → _spec-DQvmsp5o.d.ts} +589 -67
- package/dist/bin.mjs +7989 -10
- package/dist/{blog-BIjFcNcm.d.ts → blog-CUkvhn3c.d.ts} +1 -1
- package/dist/{blog-T7gQ0ciz.d.mts → blog-CvuObn9O.d.mts} +1 -1
- package/dist/{board-CsEAgsKh.d.ts → board-CCG1pO6r.d.ts} +25 -4
- package/dist/{board-q0svBKW3.d.mts → board-D6xOidUX.d.mts} +25 -4
- package/dist/{breadcrumbs-CFcCjuG7.d.mts → breadcrumbs-BBvJ5gq-.d.mts} +2 -2
- package/dist/{breadcrumbs-xuDid8BS.d.ts → breadcrumbs-D2Cwrju4.d.ts} +2 -2
- package/dist/browser/cavuno-board.global.min.js +1 -1
- package/dist/{chunk-DP2ZZZEO.mjs → chunk-EHSB2VAJ.mjs} +5 -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 +251 -14
- package/dist/index.d.ts +251 -14
- package/dist/index.js +218 -26
- package/dist/index.mjs +214 -27
- package/dist/{jobs-ub3gywNQ.d.ts → jobs-CEIuahbz.d.ts} +26 -2
- package/dist/{jobs-CfrxlDMU.d.mts → jobs-DjMcghv6.d.mts} +26 -2
- package/dist/{search-DKS7OIn2.d.mts → search-C0LiPXVb.d.mts} +1 -1
- package/dist/{search-Dx1TiAZk.d.ts → search-D-EjtZH3.d.ts} +1 -1
- package/dist/{seo-BbG2Ujyo.d.ts → seo-CjNGqZZH.d.ts} +1 -1
- package/dist/{seo-CI3wLKUW.d.mts → seo-DCQp8V1c.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 +2 -1
- package/skills/cavuno-board-account/SKILL.md +122 -1
- package/skills/cavuno-board-collections/SKILL.md +148 -0
- package/skills/cavuno-board-companies/SKILL.md +43 -1
- package/skills/cavuno-board-errors/SKILL.md +1 -1
- package/skills/cavuno-board-filters/SKILL.md +160 -1
- package/skills/cavuno-board-format/SKILL.md +52 -0
- package/skills/cavuno-board-paywall/SKILL.md +5 -2
- package/skills/cavuno-board-post-a-job/SKILL.md +88 -0
- package/skills/cavuno-board-salaries/SKILL.md +7 -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. */
|
|
@@ -767,10 +853,19 @@ interface components {
|
|
|
767
853
|
employmentType: string;
|
|
768
854
|
remoteOption: string;
|
|
769
855
|
officeLocations: {
|
|
770
|
-
/**
|
|
856
|
+
/**
|
|
857
|
+
* @deprecated
|
|
858
|
+
* @description Deprecated — send `locationId` instead (an `id` from `GET /locations/search` or `GET /places`). Still accepted.
|
|
859
|
+
* @enum {string}
|
|
860
|
+
*/
|
|
771
861
|
provider?: "mapbox";
|
|
862
|
+
/**
|
|
863
|
+
* @deprecated
|
|
864
|
+
* @description Deprecated — send `locationId` instead (an `id` from `GET /locations/search` or `GET /places`). Still accepted.
|
|
865
|
+
*/
|
|
772
866
|
providerPlaceId?: string;
|
|
773
|
-
|
|
867
|
+
/** @description Display text for the location. Required unless `locationId` is sent; with `locationId` it defaults to the location's full name (locality, city, region, country), e.g. `Lyon, Auvergne-Rhône-Alpes, France`. */
|
|
868
|
+
displayName?: string;
|
|
774
869
|
countryCode?: string;
|
|
775
870
|
region?: string;
|
|
776
871
|
locality?: string;
|
|
@@ -778,6 +873,10 @@ interface components {
|
|
|
778
873
|
latitude?: number;
|
|
779
874
|
longitude?: number;
|
|
780
875
|
boundingBox?: number[];
|
|
876
|
+
/**
|
|
877
|
+
* @deprecated
|
|
878
|
+
* @description Deprecated — send `locationId` instead (an `id` from `GET /locations/search` or `GET /places`). Still accepted.
|
|
879
|
+
*/
|
|
781
880
|
raw?: {
|
|
782
881
|
suggestion?: {
|
|
783
882
|
[key: string]: unknown;
|
|
@@ -786,6 +885,8 @@ interface components {
|
|
|
786
885
|
[key: string]: unknown;
|
|
787
886
|
};
|
|
788
887
|
};
|
|
888
|
+
/** @description Opaque location id from `GET /locations/search` or `GET /places` (`id`) — the preferred way to send a location. Resolved server-side to the full place; the other fields are then ignored except `displayName`. An unknown id returns `400 locations_invalid_id`. If the lookup is temporarily unavailable the entry is kept with `displayName` alone, or the request fails with `503 locations_unavailable` when there is none. */
|
|
889
|
+
locationId?: string;
|
|
789
890
|
}[];
|
|
790
891
|
inOfficePeriod?: string;
|
|
791
892
|
inOfficeFrequency?: number;
|
|
@@ -866,11 +967,13 @@ interface components {
|
|
|
866
967
|
key: string;
|
|
867
968
|
/** @description Authoring-default label; the localized public string lives in the board template. */
|
|
868
969
|
label: string;
|
|
970
|
+
/** @description Optional guidance displayed beside the field. */
|
|
971
|
+
helpText?: string;
|
|
869
972
|
/**
|
|
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.
|
|
973
|
+
* @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
974
|
* @enum {string}
|
|
872
975
|
*/
|
|
873
|
-
type: "short_text" | "long_text" | "single_select" | "multi_select" | "boolean" | "number";
|
|
976
|
+
type: "short_text" | "long_text" | "rich_text" | "single_select" | "multi_select" | "boolean" | "number";
|
|
874
977
|
/** @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
978
|
options?: components["schemas"]["CustomFieldOption"][];
|
|
876
979
|
/** @description When true, the value cannot be cleared or left empty on a write (rejected with `custom_field_required`). */
|
|
@@ -956,7 +1059,7 @@ interface components {
|
|
|
956
1059
|
/** @enum {string} */
|
|
957
1060
|
object: "employer_checkout";
|
|
958
1061
|
/** @enum {string} */
|
|
959
|
-
status: "checkout" | "published" | "invoice_sent";
|
|
1062
|
+
status: "checkout" | "published" | "pending_approval" | "invoice_sent";
|
|
960
1063
|
/** @description The Stripe Checkout / hosted-invoice URL, or `null`. */
|
|
961
1064
|
checkoutUrl: string | null;
|
|
962
1065
|
jobId: string;
|
|
@@ -1038,7 +1141,7 @@ interface components {
|
|
|
1038
1141
|
deletionEnabled: boolean;
|
|
1039
1142
|
};
|
|
1040
1143
|
EmployerCreateJobBody: {
|
|
1041
|
-
/** @description Long-form description of the role. Up to 25,000 characters. */
|
|
1144
|
+
/** @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
1145
|
description: string;
|
|
1043
1146
|
/** @description URL-friendly slug for the job. Auto-generated from `title` when omitted. */
|
|
1044
1147
|
slug?: string;
|
|
@@ -1048,10 +1151,10 @@ interface components {
|
|
|
1048
1151
|
*/
|
|
1049
1152
|
employmentType?: "full_time" | "part_time" | "contract" | "internship" | "temporary" | "volunteer" | "other";
|
|
1050
1153
|
/**
|
|
1051
|
-
* @description Whether the role is on-site, hybrid, or fully remote
|
|
1154
|
+
* @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
1155
|
* @enum {string}
|
|
1053
1156
|
*/
|
|
1054
|
-
remoteOption
|
|
1157
|
+
remoteOption: "on_site" | "hybrid" | "remote";
|
|
1055
1158
|
/** @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
1159
|
remotePermits?: {
|
|
1057
1160
|
/** @enum {string} */
|
|
@@ -1075,19 +1178,19 @@ interface components {
|
|
|
1075
1178
|
* @enum {string}
|
|
1076
1179
|
*/
|
|
1077
1180
|
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}
|
|
1181
|
+
/** @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). */
|
|
1182
|
+
applicationUrl?: string | null;
|
|
1183
|
+
/** @description Minimum salary, in `salaryCurrency` units. `null` means not set. When `salaryMin` or `salaryMax` is set, `salaryCurrency` and `salaryTimeframe` are both required; otherwise `400`. */
|
|
1184
|
+
salaryMin?: number | null;
|
|
1185
|
+
/** @description Maximum salary, in `salaryCurrency` units. `null` means not set. When `salaryMin` or `salaryMax` is set, `salaryCurrency` and `salaryTimeframe` are both required; otherwise `400`. */
|
|
1186
|
+
salaryMax?: number | null;
|
|
1187
|
+
/** @description Three-letter ISO 4217 currency code for `salaryMin` and `salaryMax`. `null` means not set. Required when `salaryMin` or `salaryMax` is set; optional otherwise. */
|
|
1188
|
+
salaryCurrency?: string | null;
|
|
1189
|
+
/**
|
|
1190
|
+
* @description Period the `salaryMin` and `salaryMax` figures are quoted against. `null` means not set. Required when `salaryMin` or `salaryMax` is set; optional otherwise.
|
|
1191
|
+
* @enum {string|null}
|
|
1089
1192
|
*/
|
|
1090
|
-
salaryTimeframe?: "per_year" | "per_month" | "per_week" | "per_day" | "per_hour";
|
|
1193
|
+
salaryTimeframe?: "per_year" | "per_month" | "per_week" | "per_day" | "per_hour" | null;
|
|
1091
1194
|
/** @description Up to 100 canonical skill slugs from `GET /v1/taxonomies/skills`. Every slug must exist in this account. */
|
|
1092
1195
|
skills?: string[];
|
|
1093
1196
|
/** @description Up to 100 canonical category slugs from `GET /v1/taxonomies/categories`. Every slug must exist in this account. */
|
|
@@ -1105,12 +1208,23 @@ interface components {
|
|
|
1105
1208
|
inOfficePeriod?: "per_week" | "per_month" | "per_year";
|
|
1106
1209
|
/** @description How often the candidate must be in-office over `inOfficePeriod`. */
|
|
1107
1210
|
inOfficeFrequency?: number;
|
|
1108
|
-
/** @description Physical office locations associated with the job. Prefer `{query: "City, Country"}` for free-form
|
|
1109
|
-
officeLocations?: components["schemas"]["
|
|
1211
|
+
/** @description Physical office locations associated with the job. Prefer `{locationId}` with an `id` from `GET /locations/search` (what a location picker returns); `{query: "City, Country"}` for free-form text and `{city, country, region?, locality?}` are also accepted and geocoded server-side (a country mismatch returns `400 jobs_unresolvable_location`). A location outside the board's job-form `allowedCountries` returns `400 jobs_constraint_violation`. */
|
|
1212
|
+
officeLocations?: components["schemas"]["EmployerJobOfficeLocationInput"][];
|
|
1213
|
+
/** @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. */
|
|
1214
|
+
collectionValues?: {
|
|
1215
|
+
[key: string]: string[] | unknown;
|
|
1216
|
+
};
|
|
1217
|
+
/** @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. */
|
|
1218
|
+
collectionOverrides?: components["schemas"]["JobCollectionOverride"][];
|
|
1110
1219
|
/** @description The job title. */
|
|
1111
1220
|
title: string;
|
|
1221
|
+
/** @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. */
|
|
1222
|
+
customFieldValues?: {
|
|
1223
|
+
[key: string]: string | string[] | boolean | number | unknown;
|
|
1224
|
+
};
|
|
1112
1225
|
};
|
|
1113
1226
|
EmployerJob: components["schemas"]["EmployerJobSummary"] & {
|
|
1227
|
+
resolvedCollectionFields: components["schemas"]["ResolvedJobCollectionField"][];
|
|
1114
1228
|
/** @description Long-form description of the role, or `null` if not specified. */
|
|
1115
1229
|
description: string | null;
|
|
1116
1230
|
/** @description Where candidates apply, or `null` if not specified. An HTTPS URL or `mailto:` URI. */
|
|
@@ -1164,6 +1278,24 @@ interface components {
|
|
|
1164
1278
|
*/
|
|
1165
1279
|
public: string | null;
|
|
1166
1280
|
};
|
|
1281
|
+
EmployerJobOfficeLocationInput: {
|
|
1282
|
+
/** @description Opaque location id from `GET /locations/search` or `GET /places` (`id`). Resolved server-side to the full place (country, region, city, locality). An unknown id returns `400 locations_invalid_id`; `503 locations_unavailable` while the lookup is temporarily down. */
|
|
1283
|
+
locationId: string;
|
|
1284
|
+
/** @description Display text for the location. Defaults to the location's full name (locality, city, region, country), e.g. `Lyon, Auvergne-Rhône-Alpes, France`. */
|
|
1285
|
+
displayName?: string;
|
|
1286
|
+
} | {
|
|
1287
|
+
/** @description Free-form location string (e.g. `"Berlin, Germany"`, `"Utrecht, Netherlands"`, `"Mountain View, California, USA"`). Resolved server-side; rejected when no high-confidence match is found. */
|
|
1288
|
+
query: string;
|
|
1289
|
+
} | {
|
|
1290
|
+
/** @description Neighborhood or sub-locality. */
|
|
1291
|
+
locality?: string;
|
|
1292
|
+
/** @description City. */
|
|
1293
|
+
city: string;
|
|
1294
|
+
/** @description Region, state, or province. */
|
|
1295
|
+
region?: string;
|
|
1296
|
+
/** @description ISO 3166-1 alpha-2 country code OR recognized country name/alias. Aliases are normalized to canonical alpha-2 server-side (e.g. `US`, `USA`, `United States` → `US`; `UK`, `GB`, `United Kingdom` → `GB`). */
|
|
1297
|
+
country: string;
|
|
1298
|
+
};
|
|
1167
1299
|
EmployerJobStat: {
|
|
1168
1300
|
/** @enum {string} */
|
|
1169
1301
|
object: "employer_job_stat";
|
|
@@ -1211,7 +1343,7 @@ interface components {
|
|
|
1211
1343
|
*/
|
|
1212
1344
|
employmentType: "full_time" | "part_time" | "contract" | "internship" | "temporary" | "volunteer" | "other" | null;
|
|
1213
1345
|
/**
|
|
1214
|
-
* @description Whether the role is on-site, hybrid, or fully remote
|
|
1346
|
+
* @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
1347
|
* @enum {string|null}
|
|
1216
1348
|
*/
|
|
1217
1349
|
remoteOption: "on_site" | "hybrid" | "remote" | null;
|
|
@@ -1235,12 +1367,20 @@ interface components {
|
|
|
1235
1367
|
isFeatured: boolean;
|
|
1236
1368
|
/** @description Time at which the job was first published, or `null` if not yet published. ISO 8601 datetime. */
|
|
1237
1369
|
publishedAt: string | null;
|
|
1238
|
-
/** @description Time at which the job expires
|
|
1370
|
+
/** @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
1371
|
expiresAt: string | null;
|
|
1240
1372
|
/** @description Time at which the job was created. ISO 8601 datetime. */
|
|
1241
1373
|
createdAt: string;
|
|
1242
1374
|
/** @description Time at which the job was last updated. ISO 8601 datetime. */
|
|
1243
1375
|
updatedAt: string;
|
|
1376
|
+
/** @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. */
|
|
1377
|
+
customFieldValues: {
|
|
1378
|
+
[key: string]: string | string[] | boolean | number;
|
|
1379
|
+
};
|
|
1380
|
+
/** @description Collection record IDs keyed by configured job collection field. */
|
|
1381
|
+
collectionValues: {
|
|
1382
|
+
[key: string]: string[];
|
|
1383
|
+
};
|
|
1244
1384
|
links: components["schemas"]["EmployerJobLinks"];
|
|
1245
1385
|
};
|
|
1246
1386
|
EmployerPipeline: {
|
|
@@ -1296,7 +1436,7 @@ interface components {
|
|
|
1296
1436
|
views: number;
|
|
1297
1437
|
};
|
|
1298
1438
|
EmployerUpdateJobBody: {
|
|
1299
|
-
/** @description Long-form description of the role. Up to 25,000 characters. */
|
|
1439
|
+
/** @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
1440
|
description?: string;
|
|
1301
1441
|
/** @description URL-friendly slug for the job. Auto-generated from `title` when omitted. */
|
|
1302
1442
|
slug?: string;
|
|
@@ -1306,7 +1446,7 @@ interface components {
|
|
|
1306
1446
|
*/
|
|
1307
1447
|
employmentType?: "full_time" | "part_time" | "contract" | "internship" | "temporary" | "volunteer" | "other";
|
|
1308
1448
|
/**
|
|
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`.
|
|
1449
|
+
* @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
1450
|
* @enum {string}
|
|
1311
1451
|
*/
|
|
1312
1452
|
remoteOption?: "on_site" | "hybrid" | "remote";
|
|
@@ -1335,14 +1475,14 @@ interface components {
|
|
|
1335
1475
|
seniority?: "entry_level" | "associate" | "mid_level" | "senior" | "lead" | "principal" | "director" | "executive";
|
|
1336
1476
|
/** @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
1477
|
applicationUrl?: string | null;
|
|
1338
|
-
/** @description Minimum salary, in `salaryCurrency` units. Pass `null` to clear the stored value; omitted means unchanged. */
|
|
1478
|
+
/** @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
1479
|
salaryMin?: number | null;
|
|
1340
|
-
/** @description Maximum salary, in `salaryCurrency` units. Pass `null` to clear the stored value; omitted means unchanged. */
|
|
1480
|
+
/** @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
1481
|
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. */
|
|
1482
|
+
/** @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
1483
|
salaryCurrency?: string | null;
|
|
1344
1484
|
/**
|
|
1345
|
-
* @description Period the `salaryMin` and `salaryMax` figures are quoted against. Pass `null` to clear the stored value; omitted means unchanged.
|
|
1485
|
+
* @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
1486
|
* @enum {string|null}
|
|
1347
1487
|
*/
|
|
1348
1488
|
salaryTimeframe?: "per_year" | "per_month" | "per_week" | "per_day" | "per_hour" | null;
|
|
@@ -1363,10 +1503,20 @@ interface components {
|
|
|
1363
1503
|
inOfficePeriod?: "per_week" | "per_month" | "per_year";
|
|
1364
1504
|
/** @description How often the candidate must be in-office over `inOfficePeriod`. */
|
|
1365
1505
|
inOfficeFrequency?: number;
|
|
1366
|
-
/** @description Physical office locations associated with the job. Prefer `{query: "City, Country"}` for free-form
|
|
1367
|
-
officeLocations?: components["schemas"]["
|
|
1506
|
+
/** @description Physical office locations associated with the job. Prefer `{locationId}` with an `id` from `GET /locations/search` (what a location picker returns); `{query: "City, Country"}` for free-form text and `{city, country, region?, locality?}` are also accepted and geocoded server-side (a country mismatch returns `400 jobs_unresolvable_location`). A location outside the board's job-form `allowedCountries` returns `400 jobs_constraint_violation`. */
|
|
1507
|
+
officeLocations?: components["schemas"]["EmployerJobOfficeLocationInput"][];
|
|
1508
|
+
/** @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. */
|
|
1509
|
+
collectionValues?: {
|
|
1510
|
+
[key: string]: string[] | unknown;
|
|
1511
|
+
};
|
|
1512
|
+
/** @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. */
|
|
1513
|
+
collectionOverrides?: components["schemas"]["JobCollectionOverride"][];
|
|
1368
1514
|
/** @description The job title. */
|
|
1369
1515
|
title?: string;
|
|
1516
|
+
/** @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. */
|
|
1517
|
+
customFieldValues?: {
|
|
1518
|
+
[key: string]: string | string[] | boolean | number | unknown;
|
|
1519
|
+
};
|
|
1370
1520
|
};
|
|
1371
1521
|
/** @description The error envelope returned by every non-2xx response. */
|
|
1372
1522
|
Error: {
|
|
@@ -1381,12 +1531,51 @@ interface components {
|
|
|
1381
1531
|
details?: unknown;
|
|
1382
1532
|
};
|
|
1383
1533
|
};
|
|
1534
|
+
/**
|
|
1535
|
+
* @description Why the field is locked, or `null` when it is not.
|
|
1536
|
+
* @enum {string|null}
|
|
1537
|
+
*/
|
|
1538
|
+
FormFieldLockReason: "google_required" | "google_hiring_organization" | "google_work_arrangement" | "google_job_location" | "google_remote_eligibility" | "posting" | "identity" | null;
|
|
1384
1539
|
HandleAvailability: {
|
|
1385
1540
|
/** @enum {string} */
|
|
1386
1541
|
object: "handle_availability";
|
|
1387
1542
|
handle: string;
|
|
1388
1543
|
available: boolean;
|
|
1389
1544
|
};
|
|
1545
|
+
JobCollectionChoiceList: {
|
|
1546
|
+
data: {
|
|
1547
|
+
id: string;
|
|
1548
|
+
name: string;
|
|
1549
|
+
/** @description URL-safe identifier, unique within the collection. Changing it keeps the previous value reserved. */
|
|
1550
|
+
slug?: string;
|
|
1551
|
+
/** @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. */
|
|
1552
|
+
logoUrl?: string;
|
|
1553
|
+
}[];
|
|
1554
|
+
nextCursor: string | null;
|
|
1555
|
+
};
|
|
1556
|
+
JobCollectionFieldDefinition: {
|
|
1557
|
+
key: string;
|
|
1558
|
+
label: string;
|
|
1559
|
+
typeId: string;
|
|
1560
|
+
multiple: boolean;
|
|
1561
|
+
required: boolean;
|
|
1562
|
+
/** @description Operator-set maximum number of entries a poster can select. Only meaningful when `multiple` is true; absent means the system ceiling of 100. */
|
|
1563
|
+
maxSelections?: number;
|
|
1564
|
+
/** @description Whether each job can replace a selected entry's title and description through `collectionOverrides`. Absent means false. */
|
|
1565
|
+
allowOverrides?: boolean;
|
|
1566
|
+
/** @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. */
|
|
1567
|
+
descriptionFieldKey?: string;
|
|
1568
|
+
};
|
|
1569
|
+
JobCollectionOverride: {
|
|
1570
|
+
/** @description The collection field key used in `collectionValues`. */
|
|
1571
|
+
fieldKey: string;
|
|
1572
|
+
/** @description A record ID selected for that field on this job. */
|
|
1573
|
+
recordId: string;
|
|
1574
|
+
/** @description The entry's title on this job, up to 160 characters. Omit or send a blank string to use the entry name. */
|
|
1575
|
+
title?: string;
|
|
1576
|
+
/** @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. */
|
|
1577
|
+
description?: string;
|
|
1578
|
+
};
|
|
1390
1579
|
/** @description Embedded company resource for the job, or `null` if no company is attached. */
|
|
1391
1580
|
JobCompany: {
|
|
1392
1581
|
/** @description Unique identifier for the company. */
|
|
@@ -1418,19 +1607,6 @@ interface components {
|
|
|
1418
1607
|
/** @description Pre-formatted display name for the location, or `null` if not resolved. */
|
|
1419
1608
|
displayName: string | null;
|
|
1420
1609
|
};
|
|
1421
|
-
JobOfficeLocationInput: {
|
|
1422
|
-
/** @description Free-form location string (e.g. `"Berlin, Germany"`, `"Utrecht, Netherlands"`, `"Mountain View, California, USA"`). Resolved server-side; rejected when no high-confidence match is found. */
|
|
1423
|
-
query: string;
|
|
1424
|
-
} | {
|
|
1425
|
-
/** @description Neighborhood or sub-locality. */
|
|
1426
|
-
locality?: string;
|
|
1427
|
-
/** @description City. */
|
|
1428
|
-
city: string;
|
|
1429
|
-
/** @description Region, state, or province. */
|
|
1430
|
-
region?: string;
|
|
1431
|
-
/** @description ISO 3166-1 alpha-2 country code OR recognized country name/alias. Aliases are normalized to canonical alpha-2 server-side (e.g. `US`, `USA`, `United States` → `US`; `UK`, `GB`, `United Kingdom` → `GB`). */
|
|
1432
|
-
country: string;
|
|
1433
|
-
};
|
|
1434
1610
|
JobPostingBillingOptions: {
|
|
1435
1611
|
/** @enum {string} */
|
|
1436
1612
|
object: "job_posting_billing_options";
|
|
@@ -1524,6 +1700,12 @@ interface components {
|
|
|
1524
1700
|
/** Format: email */
|
|
1525
1701
|
email: string;
|
|
1526
1702
|
};
|
|
1703
|
+
LocationResolveInput: {
|
|
1704
|
+
/** @description Opaque id returned by location search. */
|
|
1705
|
+
locationId: string;
|
|
1706
|
+
/** @description The same opaque session id used for the search interaction that returned this location. */
|
|
1707
|
+
session: string;
|
|
1708
|
+
};
|
|
1527
1709
|
LocationSalaryDetail: {
|
|
1528
1710
|
/** @enum {string} */
|
|
1529
1711
|
object: "location_salary_detail";
|
|
@@ -1546,6 +1728,8 @@ interface components {
|
|
|
1546
1728
|
} | null;
|
|
1547
1729
|
childLocations: {
|
|
1548
1730
|
placeName: string;
|
|
1731
|
+
/** @description Display label for the place in a salary list. A city or locality adds its subdivision code ("New York, NY", "Washington, DC") so it reads apart from the region it shares a name with; a region or country is its name. Render this rather than `placeName` in lists. */
|
|
1732
|
+
placeLabel: string;
|
|
1549
1733
|
placeSlug: string;
|
|
1550
1734
|
countryCode: string;
|
|
1551
1735
|
avgSalaryMin: number;
|
|
@@ -1562,6 +1746,8 @@ interface components {
|
|
|
1562
1746
|
regionSlug: string;
|
|
1563
1747
|
cities: {
|
|
1564
1748
|
placeName: string;
|
|
1749
|
+
/** @description Display label for the place in a salary list. A city or locality adds its subdivision code ("New York, NY", "Washington, DC") so it reads apart from the region it shares a name with; a region or country is its name. Render this rather than `placeName` in lists. */
|
|
1750
|
+
placeLabel: string;
|
|
1565
1751
|
placeSlug: string;
|
|
1566
1752
|
countryCode: string;
|
|
1567
1753
|
avgSalaryMin: number;
|
|
@@ -1590,6 +1776,8 @@ interface components {
|
|
|
1590
1776
|
}[];
|
|
1591
1777
|
siblingLocations: {
|
|
1592
1778
|
placeName: string;
|
|
1779
|
+
/** @description Display label for the place in a salary list. A city or locality adds its subdivision code ("New York, NY", "Washington, DC") so it reads apart from the region it shares a name with; a region or country is its name. Render this rather than `placeName` in lists. */
|
|
1780
|
+
placeLabel: string;
|
|
1593
1781
|
placeSlug: string;
|
|
1594
1782
|
countryCode: string;
|
|
1595
1783
|
avgSalaryMin: number;
|
|
@@ -1717,7 +1905,7 @@ interface components {
|
|
|
1717
1905
|
PaywallOffer: {
|
|
1718
1906
|
/** @enum {string} */
|
|
1719
1907
|
object: "paywall_offer";
|
|
1720
|
-
/** @description The
|
|
1908
|
+
/** @description The opaque key posted unchanged to checkout (a plan ID or legacy tier key). */
|
|
1721
1909
|
offerKey: string;
|
|
1722
1910
|
label: string;
|
|
1723
1911
|
billingLabel: string;
|
|
@@ -1815,6 +2003,80 @@ interface components {
|
|
|
1815
2003
|
/** @description Post title. */
|
|
1816
2004
|
title: string;
|
|
1817
2005
|
};
|
|
2006
|
+
ProfileChoiceList: {
|
|
2007
|
+
data: {
|
|
2008
|
+
id: string;
|
|
2009
|
+
name: string;
|
|
2010
|
+
/** @description URL-safe identifier, unique within the collection. Changing it keeps the previous value reserved. */
|
|
2011
|
+
slug?: string;
|
|
2012
|
+
logoUrl?: string;
|
|
2013
|
+
}[];
|
|
2014
|
+
nextCursor: string | null;
|
|
2015
|
+
};
|
|
2016
|
+
ProfileCustomFieldDefinition: {
|
|
2017
|
+
key: string;
|
|
2018
|
+
label: string;
|
|
2019
|
+
helpText?: string;
|
|
2020
|
+
/** @enum {string} */
|
|
2021
|
+
type: "short_text" | "long_text" | "rich_text" | "single_select" | "multi_select" | "boolean" | "number" | "date" | "url" | "email" | "phone" | "image_gallery" | "file";
|
|
2022
|
+
required: boolean;
|
|
2023
|
+
/** @enum {string} */
|
|
2024
|
+
visibility: "private" | "public";
|
|
2025
|
+
editableByOwner: boolean;
|
|
2026
|
+
options?: {
|
|
2027
|
+
key: string;
|
|
2028
|
+
label: string;
|
|
2029
|
+
}[];
|
|
2030
|
+
min?: number;
|
|
2031
|
+
max?: number;
|
|
2032
|
+
};
|
|
2033
|
+
ProfileFieldValuesBody: {
|
|
2034
|
+
values: {
|
|
2035
|
+
[key: string]: string | number | boolean | string[] | unknown;
|
|
2036
|
+
};
|
|
2037
|
+
};
|
|
2038
|
+
ProfileFieldValuesResponse: {
|
|
2039
|
+
definitions: components["schemas"]["ProfileCustomFieldDefinition"][];
|
|
2040
|
+
values: {
|
|
2041
|
+
[key: string]: string | number | boolean | string[];
|
|
2042
|
+
};
|
|
2043
|
+
};
|
|
2044
|
+
ProfileObjectReferenceDefinition: {
|
|
2045
|
+
key: string;
|
|
2046
|
+
label: string;
|
|
2047
|
+
typeId: string;
|
|
2048
|
+
multiple: boolean;
|
|
2049
|
+
/** @description Operator-set maximum number of entries a profile can select. Only meaningful when `multiple` is true; absent means the system ceiling of 100. */
|
|
2050
|
+
maxSelections?: number;
|
|
2051
|
+
/** @description Whether a profile must select at least one entry when this field is shown. */
|
|
2052
|
+
required?: boolean;
|
|
2053
|
+
/** @enum {string} */
|
|
2054
|
+
visibility: "private" | "public";
|
|
2055
|
+
editableByOwner: boolean;
|
|
2056
|
+
allowOverrides: boolean;
|
|
2057
|
+
descriptionFieldKey?: string;
|
|
2058
|
+
valueDefinitions?: components["schemas"]["ScalarProfileCustomFieldDefinition"][];
|
|
2059
|
+
entryDefinitions?: components["schemas"]["ScalarProfileCustomFieldDefinition"][];
|
|
2060
|
+
};
|
|
2061
|
+
ProfileObjectReferenceSelectionWrite: {
|
|
2062
|
+
fieldKey: string;
|
|
2063
|
+
recordId: string;
|
|
2064
|
+
titleOverride?: string | null;
|
|
2065
|
+
descriptionOverride?: string | null;
|
|
2066
|
+
values?: {
|
|
2067
|
+
[key: string]: string | number | boolean | string[];
|
|
2068
|
+
};
|
|
2069
|
+
entries?: {
|
|
2070
|
+
key: string;
|
|
2071
|
+
values: {
|
|
2072
|
+
[key: string]: string | number | boolean | string[];
|
|
2073
|
+
};
|
|
2074
|
+
}[];
|
|
2075
|
+
};
|
|
2076
|
+
ProfileObjectReferencesResult: {
|
|
2077
|
+
definitions: components["schemas"]["ProfileObjectReferenceDefinition"][];
|
|
2078
|
+
selections: components["schemas"]["ResolvedProfileObjectReference"][];
|
|
2079
|
+
};
|
|
1818
2080
|
PublicBlogAdjacentPosts: {
|
|
1819
2081
|
/** @enum {string} */
|
|
1820
2082
|
object: "blog_adjacent_posts";
|
|
@@ -1972,10 +2234,12 @@ interface components {
|
|
|
1972
2234
|
/** @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
2235
|
defaultSlotId: string | null;
|
|
1974
2236
|
};
|
|
1975
|
-
/** @description Operator-defined custom field definitions keyed by model (currently only `job`). Each key holds that model's definitions in display order.
|
|
2237
|
+
/** @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
2238
|
customFields: {
|
|
1977
2239
|
/** @description This model's custom-field definitions in display order. Empty when the board defines none for the model. */
|
|
1978
2240
|
job: components["schemas"]["CustomFieldDefinition"][];
|
|
2241
|
+
/** @description Collection-reference job field definitions in display order. Fetch choices from /boards/{identifier}/job-fields/{fieldKey}/choices. */
|
|
2242
|
+
jobCollections: components["schemas"]["JobCollectionFieldDefinition"][];
|
|
1979
2243
|
};
|
|
1980
2244
|
/** @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
2245
|
jobForm: {
|
|
@@ -2018,6 +2282,7 @@ interface components {
|
|
|
2018
2282
|
allowedOptions: string[];
|
|
2019
2283
|
};
|
|
2020
2284
|
};
|
|
2285
|
+
forms: components["schemas"]["BoardForms"];
|
|
2021
2286
|
/** @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
2287
|
contact: {
|
|
2023
2288
|
/** @description Public contact email (render as `mailto:`). Operator-set in settings › Contact & company details. */
|
|
@@ -2039,6 +2304,16 @@ interface components {
|
|
|
2039
2304
|
query?: string;
|
|
2040
2305
|
/** @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
2306
|
marketSlug?: string;
|
|
2307
|
+
/** @description Public company custom fields. Clauses are AND-matched and values within a clause are OR-matched. */
|
|
2308
|
+
customFields?: {
|
|
2309
|
+
key: string;
|
|
2310
|
+
values: (string | number | boolean)[];
|
|
2311
|
+
}[];
|
|
2312
|
+
/** @description Public company catalog references. Clauses are AND-matched and record IDs within a clause are OR-matched. */
|
|
2313
|
+
objectReferences?: {
|
|
2314
|
+
key: string;
|
|
2315
|
+
recordIds: string[];
|
|
2316
|
+
}[];
|
|
2042
2317
|
/** @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
2318
|
cursor?: string | null;
|
|
2044
2319
|
/** @description A limit on the number of objects to be returned. Limit can range between 1 and 100. */
|
|
@@ -2089,7 +2364,7 @@ interface components {
|
|
|
2089
2364
|
*/
|
|
2090
2365
|
employmentType: "full_time" | "part_time" | "contract" | "internship" | "temporary" | "volunteer" | "other" | null;
|
|
2091
2366
|
/**
|
|
2092
|
-
* @description Whether the role is on-site, hybrid, or fully remote
|
|
2367
|
+
* @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
2368
|
* @enum {string|null}
|
|
2094
2369
|
*/
|
|
2095
2370
|
remoteOption: "on_site" | "hybrid" | "remote" | null;
|
|
@@ -2113,7 +2388,7 @@ interface components {
|
|
|
2113
2388
|
isFeatured: boolean;
|
|
2114
2389
|
/** @description Time at which the job was first published, or `null` if not yet published. ISO 8601 datetime. */
|
|
2115
2390
|
publishedAt: string | null;
|
|
2116
|
-
/** @description Time at which the job expires
|
|
2391
|
+
/** @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
2392
|
expiresAt: string | null;
|
|
2118
2393
|
/** @description Time at which the job was created. ISO 8601 datetime. */
|
|
2119
2394
|
createdAt: string;
|
|
@@ -2182,10 +2457,12 @@ interface components {
|
|
|
2182
2457
|
slug: string;
|
|
2183
2458
|
name: string;
|
|
2184
2459
|
}[];
|
|
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.
|
|
2460
|
+
/** @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
2461
|
customFieldValues: {
|
|
2187
2462
|
[key: string]: string | string[] | boolean | number;
|
|
2188
2463
|
};
|
|
2464
|
+
/** @description Configured collection references resolved to current live names, logos, and public record details. Archived collections and records are omitted. */
|
|
2465
|
+
resolvedCollectionFields: components["schemas"]["ResolvedJobCollectionField"][];
|
|
2189
2466
|
};
|
|
2190
2467
|
PublicJobAlertConfirmation: {
|
|
2191
2468
|
/** @enum {string} */
|
|
@@ -2279,6 +2556,10 @@ interface components {
|
|
|
2279
2556
|
slug: string;
|
|
2280
2557
|
name: string;
|
|
2281
2558
|
logoUrl: string | null;
|
|
2559
|
+
/** @description The company's public custom-field values of the select, boolean, and number types, keyed by field key; select values are option `key`s. Private fields and text types are omitted (the full company carries text values). `{}` when none. */
|
|
2560
|
+
customFieldValues: {
|
|
2561
|
+
[key: string]: string | string[] | boolean | number;
|
|
2562
|
+
};
|
|
2282
2563
|
} | null;
|
|
2283
2564
|
/** @description Job categories (slug + board display name). Guaranteed resolvable: every emitted slug resolves via `GET /v1/boards/:identifier/categories/:slug`. */
|
|
2284
2565
|
categories: {
|
|
@@ -2290,6 +2571,10 @@ interface components {
|
|
|
2290
2571
|
slug: string;
|
|
2291
2572
|
name: string;
|
|
2292
2573
|
}[];
|
|
2574
|
+
/** @description The job's custom-field values of the select, boolean, and number types, keyed by each field's `key`; select values are option `key`s. Resolve labels via the board's `customFields.job` definitions (see `GET /v1/boards/:identifier`). Values of fields no longer defined, and removed options, are omitted; text types are only on the full job (`PublicJob`). `{}` when none. */
|
|
2575
|
+
customFieldValues: {
|
|
2576
|
+
[key: string]: string | string[] | boolean | number;
|
|
2577
|
+
};
|
|
2293
2578
|
links: {
|
|
2294
2579
|
/**
|
|
2295
2580
|
* Format: uri
|
|
@@ -2308,6 +2593,25 @@ interface components {
|
|
|
2308
2593
|
*/
|
|
2309
2594
|
public: string | null;
|
|
2310
2595
|
};
|
|
2596
|
+
PublicLocation: {
|
|
2597
|
+
/** @enum {string} */
|
|
2598
|
+
object: "location";
|
|
2599
|
+
/** @description Opaque location id. Complete the pick through `POST /locations/resolve` with this id and the search session before using it in a later submission. Shares its id space with `PublicPlace.id`. */
|
|
2600
|
+
id: string;
|
|
2601
|
+
/** @description The location’s own name, e.g. `Berlin`. */
|
|
2602
|
+
name: string;
|
|
2603
|
+
/** @description Name with its parent context, for display in the input once picked, e.g. `Berlin, Germany`. */
|
|
2604
|
+
fullName: string;
|
|
2605
|
+
/** @description The parent context alone, for a secondary line in the result list, e.g. `Germany` for Berlin or `Berlin, Germany` for Kreuzberg; `null` for a country. */
|
|
2606
|
+
contextLabel: string | null;
|
|
2607
|
+
/**
|
|
2608
|
+
* @description Same vocabulary as `PublicPlace.placeType`: `country`, `region`, `city`, or `locality`.
|
|
2609
|
+
* @enum {string}
|
|
2610
|
+
*/
|
|
2611
|
+
placeType: "country" | "region" | "city" | "locality";
|
|
2612
|
+
/** @description ISO 3166-1 alpha-2 country code, or `null` if unknown. */
|
|
2613
|
+
countryCode: string | null;
|
|
2614
|
+
};
|
|
2311
2615
|
PublicPlace: {
|
|
2312
2616
|
/** @enum {string} */
|
|
2313
2617
|
object: "place";
|
|
@@ -2324,6 +2628,10 @@ interface components {
|
|
|
2324
2628
|
/** @description Live published-job count for this place. */
|
|
2325
2629
|
jobCount: number;
|
|
2326
2630
|
};
|
|
2631
|
+
PublicProfileFields: {
|
|
2632
|
+
definitions: components["schemas"]["ProfileCustomFieldDefinition"][];
|
|
2633
|
+
referenceDefinitions: components["schemas"]["ProfileObjectReferenceDefinition"][];
|
|
2634
|
+
};
|
|
2327
2635
|
PublicSearchJobsBody: {
|
|
2328
2636
|
/** @description Free-text search query matched against job title and description. Up to 200 characters. */
|
|
2329
2637
|
query?: string;
|
|
@@ -2344,6 +2652,8 @@ interface components {
|
|
|
2344
2652
|
employmentType?: ("full_time" | "part_time" | "contract" | "internship" | "temporary" | "volunteer" | "other")[];
|
|
2345
2653
|
/** @description Only return jobs at any of the given seniority levels. Up to 10 values. */
|
|
2346
2654
|
seniority?: ("entry_level" | "associate" | "mid_level" | "senior" | "lead" | "principal" | "director" | "executive")[];
|
|
2655
|
+
/** @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. */
|
|
2656
|
+
categories?: string[];
|
|
2347
2657
|
/** @description Range filter on the job's `publishedAt` timestamp. */
|
|
2348
2658
|
publishedAt?: {
|
|
2349
2659
|
/**
|
|
@@ -2361,6 +2671,16 @@ interface components {
|
|
|
2361
2671
|
location?: string;
|
|
2362
2672
|
/** @description Search radius in kilometres around `location` (10–250; default 50). Ignored without `location`. */
|
|
2363
2673
|
radius?: number;
|
|
2674
|
+
/** @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. */
|
|
2675
|
+
customFields?: {
|
|
2676
|
+
key: string;
|
|
2677
|
+
values: (string | number | boolean)[];
|
|
2678
|
+
}[];
|
|
2679
|
+
/** @description Public custom company profile fields, matched against each job's company. Keys and option keys come from the board's public company profile field definitions (`GET /v1/boards/{identifier}/profile-fields/company`). Clauses are AND-matched; values within a clause are OR-matched. Up to 10 clauses and 10 values per clause. An unknown or private key, or an undefined option key, is rejected with `400 invalid_filter`. Kept separate from `customFields`, so a job field and a company field may share a key. */
|
|
2680
|
+
companyCustomFields?: {
|
|
2681
|
+
key: string;
|
|
2682
|
+
values: (string | number | boolean)[];
|
|
2683
|
+
}[];
|
|
2364
2684
|
};
|
|
2365
2685
|
/** @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
2686
|
cursor?: string;
|
|
@@ -2447,6 +2767,9 @@ interface components {
|
|
|
2447
2767
|
/** @description Every stage id of the job, in the new order. */
|
|
2448
2768
|
orderedStageIds: string[];
|
|
2449
2769
|
};
|
|
2770
|
+
ReplaceProfileObjectReferenceSelectionsBody: {
|
|
2771
|
+
selections: components["schemas"]["ProfileObjectReferenceSelectionWrite"][];
|
|
2772
|
+
};
|
|
2450
2773
|
ReplyBody: {
|
|
2451
2774
|
body: string;
|
|
2452
2775
|
};
|
|
@@ -2459,6 +2782,173 @@ interface components {
|
|
|
2459
2782
|
/** Format: email */
|
|
2460
2783
|
email: string;
|
|
2461
2784
|
};
|
|
2785
|
+
ResolvedJobCollectionField: {
|
|
2786
|
+
key: string;
|
|
2787
|
+
label: string;
|
|
2788
|
+
entries: {
|
|
2789
|
+
id: string;
|
|
2790
|
+
name: string;
|
|
2791
|
+
/** @description URL-safe identifier, unique within the collection. Changing it keeps the previous value reserved. */
|
|
2792
|
+
slug?: string;
|
|
2793
|
+
/** @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. */
|
|
2794
|
+
logoUrl?: string;
|
|
2795
|
+
/** @description The entry's title on this job: the job's `titleOverride` when set, otherwise the entry name. Render this. */
|
|
2796
|
+
title: string;
|
|
2797
|
+
/** @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. */
|
|
2798
|
+
description: string | null;
|
|
2799
|
+
/** @description The title this job set for the entry, or `null` when it uses the entry name. */
|
|
2800
|
+
titleOverride: string | null;
|
|
2801
|
+
/** @description The plain-text description this job set for the entry, or `null` when it uses the default description. */
|
|
2802
|
+
descriptionOverride: string | null;
|
|
2803
|
+
fields: {
|
|
2804
|
+
key: string;
|
|
2805
|
+
label: string;
|
|
2806
|
+
/** @enum {string} */
|
|
2807
|
+
type: "short_text" | "long_text" | "rich_text" | "single_select" | "multi_select" | "boolean" | "number" | "date" | "url" | "email" | "phone" | "image" | "image_gallery" | "file" | "reference";
|
|
2808
|
+
helpText?: string;
|
|
2809
|
+
options?: {
|
|
2810
|
+
key: string;
|
|
2811
|
+
label: string;
|
|
2812
|
+
}[];
|
|
2813
|
+
}[];
|
|
2814
|
+
values: {
|
|
2815
|
+
[key: string]: string | string[] | boolean | number | {
|
|
2816
|
+
id: string;
|
|
2817
|
+
name: string;
|
|
2818
|
+
contentType: string;
|
|
2819
|
+
sizeBytes: number;
|
|
2820
|
+
url: string;
|
|
2821
|
+
} | {
|
|
2822
|
+
id: string;
|
|
2823
|
+
name: string;
|
|
2824
|
+
contentType: string;
|
|
2825
|
+
sizeBytes: number;
|
|
2826
|
+
url: string;
|
|
2827
|
+
}[];
|
|
2828
|
+
};
|
|
2829
|
+
references?: {
|
|
2830
|
+
[key: string]: {
|
|
2831
|
+
id: string;
|
|
2832
|
+
name: string;
|
|
2833
|
+
/** @description URL-safe identifier, unique within the collection. Changing it keeps the previous value reserved. */
|
|
2834
|
+
slug?: string;
|
|
2835
|
+
fields: {
|
|
2836
|
+
key: string;
|
|
2837
|
+
label: string;
|
|
2838
|
+
/** @enum {string} */
|
|
2839
|
+
type: "short_text" | "long_text" | "rich_text" | "single_select" | "multi_select" | "boolean" | "number" | "date" | "url" | "email" | "phone" | "image" | "image_gallery" | "file" | "reference";
|
|
2840
|
+
helpText?: string;
|
|
2841
|
+
options?: {
|
|
2842
|
+
key: string;
|
|
2843
|
+
label: string;
|
|
2844
|
+
}[];
|
|
2845
|
+
}[];
|
|
2846
|
+
values: {
|
|
2847
|
+
[key: string]: string | string[] | boolean | number | {
|
|
2848
|
+
id: string;
|
|
2849
|
+
name: string;
|
|
2850
|
+
contentType: string;
|
|
2851
|
+
sizeBytes: number;
|
|
2852
|
+
url: string;
|
|
2853
|
+
} | {
|
|
2854
|
+
id: string;
|
|
2855
|
+
name: string;
|
|
2856
|
+
contentType: string;
|
|
2857
|
+
sizeBytes: number;
|
|
2858
|
+
url: string;
|
|
2859
|
+
}[];
|
|
2860
|
+
};
|
|
2861
|
+
}[];
|
|
2862
|
+
};
|
|
2863
|
+
}[];
|
|
2864
|
+
};
|
|
2865
|
+
ResolvedProfileObjectReference: {
|
|
2866
|
+
fieldKey: string;
|
|
2867
|
+
fieldLabel: string;
|
|
2868
|
+
recordId: string;
|
|
2869
|
+
/** @description URL-safe identifier, unique within the collection. Changing it keeps the previous value reserved. */
|
|
2870
|
+
slug?: string;
|
|
2871
|
+
title: string;
|
|
2872
|
+
description?: string;
|
|
2873
|
+
titleOverride?: string;
|
|
2874
|
+
descriptionOverride?: string;
|
|
2875
|
+
/** @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. */
|
|
2876
|
+
logoUrl?: string;
|
|
2877
|
+
/** @enum {string} */
|
|
2878
|
+
descriptionType?: "rich_text";
|
|
2879
|
+
descriptionFieldKey?: string;
|
|
2880
|
+
fields: {
|
|
2881
|
+
key: string;
|
|
2882
|
+
label: string;
|
|
2883
|
+
/** @enum {string} */
|
|
2884
|
+
type: "short_text" | "long_text" | "rich_text" | "single_select" | "multi_select" | "boolean" | "number" | "date" | "url" | "email" | "phone" | "image" | "image_gallery" | "file" | "reference";
|
|
2885
|
+
helpText?: string;
|
|
2886
|
+
options?: {
|
|
2887
|
+
key: string;
|
|
2888
|
+
label: string;
|
|
2889
|
+
}[];
|
|
2890
|
+
}[];
|
|
2891
|
+
attributes: {
|
|
2892
|
+
[key: string]: string | string[] | boolean | number | {
|
|
2893
|
+
id: string;
|
|
2894
|
+
name: string;
|
|
2895
|
+
contentType: string;
|
|
2896
|
+
sizeBytes: number;
|
|
2897
|
+
url: string;
|
|
2898
|
+
} | {
|
|
2899
|
+
id: string;
|
|
2900
|
+
name: string;
|
|
2901
|
+
contentType: string;
|
|
2902
|
+
sizeBytes: number;
|
|
2903
|
+
url: string;
|
|
2904
|
+
}[];
|
|
2905
|
+
};
|
|
2906
|
+
references?: {
|
|
2907
|
+
[key: string]: {
|
|
2908
|
+
id: string;
|
|
2909
|
+
name: string;
|
|
2910
|
+
/** @description URL-safe identifier, unique within the collection. Changing it keeps the previous value reserved. */
|
|
2911
|
+
slug?: string;
|
|
2912
|
+
fields: {
|
|
2913
|
+
key: string;
|
|
2914
|
+
label: string;
|
|
2915
|
+
/** @enum {string} */
|
|
2916
|
+
type: "short_text" | "long_text" | "rich_text" | "single_select" | "multi_select" | "boolean" | "number" | "date" | "url" | "email" | "phone" | "image" | "image_gallery" | "file" | "reference";
|
|
2917
|
+
helpText?: string;
|
|
2918
|
+
options?: {
|
|
2919
|
+
key: string;
|
|
2920
|
+
label: string;
|
|
2921
|
+
}[];
|
|
2922
|
+
}[];
|
|
2923
|
+
values: {
|
|
2924
|
+
[key: string]: string | string[] | boolean | number | {
|
|
2925
|
+
id: string;
|
|
2926
|
+
name: string;
|
|
2927
|
+
contentType: string;
|
|
2928
|
+
sizeBytes: number;
|
|
2929
|
+
url: string;
|
|
2930
|
+
} | {
|
|
2931
|
+
id: string;
|
|
2932
|
+
name: string;
|
|
2933
|
+
contentType: string;
|
|
2934
|
+
sizeBytes: number;
|
|
2935
|
+
url: string;
|
|
2936
|
+
}[];
|
|
2937
|
+
};
|
|
2938
|
+
}[];
|
|
2939
|
+
};
|
|
2940
|
+
valueDefinitions: components["schemas"]["ScalarProfileCustomFieldDefinition"][];
|
|
2941
|
+
entryDefinitions: components["schemas"]["ScalarProfileCustomFieldDefinition"][];
|
|
2942
|
+
values: {
|
|
2943
|
+
[key: string]: string | number | boolean | string[];
|
|
2944
|
+
};
|
|
2945
|
+
entries: {
|
|
2946
|
+
key: string;
|
|
2947
|
+
values: {
|
|
2948
|
+
[key: string]: string | number | boolean | string[];
|
|
2949
|
+
};
|
|
2950
|
+
}[];
|
|
2951
|
+
};
|
|
2462
2952
|
Resume: {
|
|
2463
2953
|
/** @enum {string} */
|
|
2464
2954
|
object: "resume";
|
|
@@ -2495,6 +2985,8 @@ interface components {
|
|
|
2495
2985
|
object: "salary_location";
|
|
2496
2986
|
placeSlug: string;
|
|
2497
2987
|
placeName: string;
|
|
2988
|
+
/** @description Display label for the place in a salary list. A city or locality adds its subdivision code ("New York, NY", "Washington, DC") so it reads apart from the region it shares a name with; a region or country is its name. Render this rather than `placeName` in lists. */
|
|
2989
|
+
placeLabel: string;
|
|
2498
2990
|
/** @description Slug of the parent place; `null` for a top-level node. */
|
|
2499
2991
|
parentSlug: string | null;
|
|
2500
2992
|
avgSalaryMin: number;
|
|
@@ -2554,6 +3046,10 @@ interface components {
|
|
|
2554
3046
|
savedAt: string;
|
|
2555
3047
|
job: components["schemas"]["PublicJobCard"];
|
|
2556
3048
|
};
|
|
3049
|
+
ScalarProfileCustomFieldDefinition: components["schemas"]["ProfileCustomFieldDefinition"] & {
|
|
3050
|
+
/** @enum {string} */
|
|
3051
|
+
type?: "short_text" | "long_text" | "rich_text" | "single_select" | "multi_select" | "boolean" | "number" | "date" | "url" | "email" | "phone";
|
|
3052
|
+
};
|
|
2557
3053
|
SendWorkEmailBody: {
|
|
2558
3054
|
/** Format: email */
|
|
2559
3055
|
workEmail: string;
|
|
@@ -2593,6 +3089,8 @@ interface components {
|
|
|
2593
3089
|
childLocations: {
|
|
2594
3090
|
placeSlug: string;
|
|
2595
3091
|
placeName: string;
|
|
3092
|
+
/** @description Display label for the place in a salary list. A city or locality adds its subdivision code ("New York, NY", "Washington, DC") so it reads apart from the region it shares a name with; a region or country is its name. Render this rather than `placeName` in lists. */
|
|
3093
|
+
placeLabel: string;
|
|
2596
3094
|
avgSalaryMin: number;
|
|
2597
3095
|
avgSalaryMax: number;
|
|
2598
3096
|
jobCount: number;
|
|
@@ -2603,6 +3101,8 @@ interface components {
|
|
|
2603
3101
|
cities: {
|
|
2604
3102
|
placeSlug: string;
|
|
2605
3103
|
placeName: string;
|
|
3104
|
+
/** @description Display label for the place in a salary list. A city or locality adds its subdivision code ("New York, NY", "Washington, DC") so it reads apart from the region it shares a name with; a region or country is its name. Render this rather than `placeName` in lists. */
|
|
3105
|
+
placeLabel: string;
|
|
2606
3106
|
avgSalaryMin: number;
|
|
2607
3107
|
avgSalaryMax: number;
|
|
2608
3108
|
jobCount: number;
|
|
@@ -2611,6 +3111,8 @@ interface components {
|
|
|
2611
3111
|
otherLocations: {
|
|
2612
3112
|
placeSlug: string;
|
|
2613
3113
|
placeName: string;
|
|
3114
|
+
/** @description Display label for the place in a salary list. A city or locality adds its subdivision code ("New York, NY", "Washington, DC") so it reads apart from the region it shares a name with; a region or country is its name. Render this rather than `placeName` in lists. */
|
|
3115
|
+
placeLabel: string;
|
|
2614
3116
|
avgSalaryMin: number;
|
|
2615
3117
|
avgSalaryMax: number;
|
|
2616
3118
|
jobCount: number;
|
|
@@ -2681,6 +3183,8 @@ interface components {
|
|
|
2681
3183
|
avgSalaryMax: number;
|
|
2682
3184
|
jobCount: number;
|
|
2683
3185
|
placeName: string;
|
|
3186
|
+
/** @description Display label for the place in a salary list. A city or locality adds its subdivision code ("New York, NY", "Washington, DC") so it reads apart from the region it shares a name with; a region or country is its name. Render this rather than `placeName` in lists. */
|
|
3187
|
+
placeLabel: string;
|
|
2684
3188
|
placeSlug: string;
|
|
2685
3189
|
countryCode: string;
|
|
2686
3190
|
}[];
|
|
@@ -2840,6 +3344,11 @@ interface components {
|
|
|
2840
3344
|
startDate: string | null;
|
|
2841
3345
|
endDate: string | null;
|
|
2842
3346
|
}[];
|
|
3347
|
+
/** @description Values for public candidate custom fields, keyed by field key. Private and unknown fields are omitted. */
|
|
3348
|
+
customFieldValues: {
|
|
3349
|
+
[key: string]: string | number | boolean | string[];
|
|
3350
|
+
};
|
|
3351
|
+
objectReferences: components["schemas"]["ResolvedProfileObjectReference"][];
|
|
2843
3352
|
};
|
|
2844
3353
|
TalentList: {
|
|
2845
3354
|
id: string;
|
|
@@ -2919,6 +3428,11 @@ interface components {
|
|
|
2919
3428
|
name: string;
|
|
2920
3429
|
proficiency: string;
|
|
2921
3430
|
}[];
|
|
3431
|
+
/** @description Values for public candidate custom fields, keyed by field key. Private and unknown fields are omitted. */
|
|
3432
|
+
customFieldValues: {
|
|
3433
|
+
[key: string]: string | number | boolean | string[];
|
|
3434
|
+
};
|
|
3435
|
+
objectReferences: components["schemas"]["ResolvedProfileObjectReference"][];
|
|
2922
3436
|
};
|
|
2923
3437
|
TalentUnlock: {
|
|
2924
3438
|
/** @enum {string} */
|
|
@@ -2996,6 +3510,8 @@ interface components {
|
|
|
2996
3510
|
childLocations: {
|
|
2997
3511
|
placeSlug: string;
|
|
2998
3512
|
placeName: string;
|
|
3513
|
+
/** @description Display label for the place in a salary list. A city or locality adds its subdivision code ("New York, NY", "Washington, DC") so it reads apart from the region it shares a name with; a region or country is its name. Render this rather than `placeName` in lists. */
|
|
3514
|
+
placeLabel: string;
|
|
2999
3515
|
avgSalaryMin: number;
|
|
3000
3516
|
avgSalaryMax: number;
|
|
3001
3517
|
jobCount: number;
|
|
@@ -3006,6 +3522,8 @@ interface components {
|
|
|
3006
3522
|
cities: {
|
|
3007
3523
|
placeSlug: string;
|
|
3008
3524
|
placeName: string;
|
|
3525
|
+
/** @description Display label for the place in a salary list. A city or locality adds its subdivision code ("New York, NY", "Washington, DC") so it reads apart from the region it shares a name with; a region or country is its name. Render this rather than `placeName` in lists. */
|
|
3526
|
+
placeLabel: string;
|
|
3009
3527
|
avgSalaryMin: number;
|
|
3010
3528
|
avgSalaryMax: number;
|
|
3011
3529
|
jobCount: number;
|
|
@@ -3014,6 +3532,8 @@ interface components {
|
|
|
3014
3532
|
otherLocations: {
|
|
3015
3533
|
placeSlug: string;
|
|
3016
3534
|
placeName: string;
|
|
3535
|
+
/** @description Display label for the place in a salary list. A city or locality adds its subdivision code ("New York, NY", "Washington, DC") so it reads apart from the region it shares a name with; a region or country is its name. Render this rather than `placeName` in lists. */
|
|
3536
|
+
placeLabel: string;
|
|
3017
3537
|
avgSalaryMin: number;
|
|
3018
3538
|
avgSalaryMax: number;
|
|
3019
3539
|
jobCount: number;
|
|
@@ -3088,6 +3608,8 @@ interface components {
|
|
|
3088
3608
|
avgSalaryMax: number;
|
|
3089
3609
|
jobCount: number;
|
|
3090
3610
|
placeName: string;
|
|
3611
|
+
/** @description Display label for the place in a salary list. A city or locality adds its subdivision code ("New York, NY", "Washington, DC") so it reads apart from the region it shares a name with; a region or country is its name. Render this rather than `placeName` in lists. */
|
|
3612
|
+
placeLabel: string;
|
|
3091
3613
|
placeSlug: string;
|
|
3092
3614
|
countryCode: string;
|
|
3093
3615
|
}[];
|