@cavuno/board 1.19.1 → 1.21.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/dist/index.d.mts +1466 -214
- package/dist/index.d.ts +1466 -214
- package/dist/index.js +599 -1
- package/dist/index.mjs +599 -1
- package/package.json +1 -1
- package/skills/manifest.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
interface components {
|
|
2
2
|
schemas: {
|
|
3
|
+
AddApplicantNoteBody: {
|
|
4
|
+
/** @description The note text. */
|
|
5
|
+
body: string;
|
|
6
|
+
};
|
|
3
7
|
/** @description Links related to this resource. List responses only carry the `admin` URL because the public URL needs the company slug, which list-shape Convex projections do not fan out to. */
|
|
4
8
|
AdminOnlyResourceLinks: {
|
|
5
9
|
/**
|
|
@@ -15,7 +19,7 @@ interface components {
|
|
|
15
19
|
* @description String representing the object's type. Objects of the same type share the same value.
|
|
16
20
|
* @enum {string}
|
|
17
21
|
*/
|
|
18
|
-
object:
|
|
22
|
+
object: "api_key";
|
|
19
23
|
/** @description Public key ID component, embedded in the key prefix as `cavuno_live_<keyId>_`. */
|
|
20
24
|
keyId: string;
|
|
21
25
|
/** @description Human-readable name for the key, shown in the dashboard. */
|
|
@@ -40,14 +44,14 @@ interface components {
|
|
|
40
44
|
* @description String representing the object's type. Objects of the same type share the same value.
|
|
41
45
|
* @enum {string}
|
|
42
46
|
*/
|
|
43
|
-
object:
|
|
47
|
+
object: "audit_log";
|
|
44
48
|
/** @description Identifier of the account the entry belongs to. */
|
|
45
49
|
accountId: string;
|
|
46
50
|
/**
|
|
47
51
|
* @description Type of actor that performed the action.
|
|
48
52
|
* @enum {string}
|
|
49
53
|
*/
|
|
50
|
-
actorType:
|
|
54
|
+
actorType: "api_key" | "oauth_token" | "user_session" | "system";
|
|
51
55
|
/** @description Identifier of the actor that performed the action. */
|
|
52
56
|
actorId: string;
|
|
53
57
|
/** @description Human-readable label for the actor, suitable for display. */
|
|
@@ -78,20 +82,20 @@ interface components {
|
|
|
78
82
|
operations: ({
|
|
79
83
|
id: string;
|
|
80
84
|
/** @enum {string} */
|
|
81
|
-
method:
|
|
85
|
+
method: "POST";
|
|
82
86
|
body?: unknown;
|
|
83
87
|
action?: string;
|
|
84
88
|
resourceId?: string;
|
|
85
89
|
} | {
|
|
86
90
|
id: string;
|
|
87
91
|
/** @enum {string} */
|
|
88
|
-
method:
|
|
92
|
+
method: "PATCH";
|
|
89
93
|
body?: unknown;
|
|
90
94
|
resourceId: string;
|
|
91
95
|
} | {
|
|
92
96
|
id: string;
|
|
93
97
|
/** @enum {string} */
|
|
94
|
-
method:
|
|
98
|
+
method: "DELETE";
|
|
95
99
|
resourceId: string;
|
|
96
100
|
})[];
|
|
97
101
|
};
|
|
@@ -102,7 +106,7 @@ interface components {
|
|
|
102
106
|
* @description String representing the object's type. Objects of the same type share the same value.
|
|
103
107
|
* @enum {string}
|
|
104
108
|
*/
|
|
105
|
-
object:
|
|
109
|
+
object: "blog_author";
|
|
106
110
|
/** @description Display name of the author. */
|
|
107
111
|
name: string;
|
|
108
112
|
/** @description URL-friendly slug for the author. */
|
|
@@ -132,14 +136,14 @@ interface components {
|
|
|
132
136
|
/** @description Time at which the author was last updated, or `null` if it has never been updated. ISO 8601 datetime. */
|
|
133
137
|
updatedAt: string | null;
|
|
134
138
|
};
|
|
135
|
-
BlogPost: components[
|
|
139
|
+
BlogPost: components["schemas"]["BlogPostSummary"] & {
|
|
136
140
|
html: string | null;
|
|
137
141
|
};
|
|
138
142
|
BlogPostSummary: {
|
|
139
143
|
/** @description Unique identifier for the object. Use this value as the `{id}` path parameter for the blog-post endpoints (e.g. `GET /v1/blog/posts/{id}`). */
|
|
140
144
|
id: string;
|
|
141
145
|
/** @enum {string} */
|
|
142
|
-
object:
|
|
146
|
+
object: "blog_post";
|
|
143
147
|
title: string;
|
|
144
148
|
slug: string;
|
|
145
149
|
status: string;
|
|
@@ -166,20 +170,20 @@ interface components {
|
|
|
166
170
|
operations: ({
|
|
167
171
|
id: string;
|
|
168
172
|
/** @enum {string} */
|
|
169
|
-
method:
|
|
173
|
+
method: "POST";
|
|
170
174
|
body?: unknown;
|
|
171
175
|
action?: string;
|
|
172
176
|
resourceId?: string;
|
|
173
177
|
} | {
|
|
174
178
|
id: string;
|
|
175
179
|
/** @enum {string} */
|
|
176
|
-
method:
|
|
180
|
+
method: "PATCH";
|
|
177
181
|
body?: unknown;
|
|
178
182
|
resourceId: string;
|
|
179
183
|
} | {
|
|
180
184
|
id: string;
|
|
181
185
|
/** @enum {string} */
|
|
182
|
-
method:
|
|
186
|
+
method: "DELETE";
|
|
183
187
|
resourceId: string;
|
|
184
188
|
})[];
|
|
185
189
|
};
|
|
@@ -190,7 +194,7 @@ interface components {
|
|
|
190
194
|
* @description String representing the object's type. Objects of the same type share the same value.
|
|
191
195
|
* @enum {string}
|
|
192
196
|
*/
|
|
193
|
-
object:
|
|
197
|
+
object: "blog_tag";
|
|
194
198
|
/** @description Display name of the tag. */
|
|
195
199
|
name: string;
|
|
196
200
|
/** @description URL-friendly slug for the tag. */
|
|
@@ -210,7 +214,7 @@ interface components {
|
|
|
210
214
|
};
|
|
211
215
|
BoardAccessGrant: {
|
|
212
216
|
/** @enum {string} */
|
|
213
|
-
object:
|
|
217
|
+
object: "board_access_grant";
|
|
214
218
|
/** @description The board-access grant. Send it as the `X-Board-Access` header on subsequent content reads to pass the password wall. */
|
|
215
219
|
token: string;
|
|
216
220
|
};
|
|
@@ -231,9 +235,9 @@ interface components {
|
|
|
231
235
|
};
|
|
232
236
|
BoardAuthOAuthAuthorizationUrl: {
|
|
233
237
|
/** @enum {string} */
|
|
234
|
-
object:
|
|
238
|
+
object: "oauth_authorization_url";
|
|
235
239
|
/** @enum {string} */
|
|
236
|
-
provider:
|
|
240
|
+
provider: "google" | "linkedin";
|
|
237
241
|
/** Format: uri */
|
|
238
242
|
authorizeUrl: string;
|
|
239
243
|
};
|
|
@@ -248,12 +252,12 @@ interface components {
|
|
|
248
252
|
* @description Which role profile to create on the board.
|
|
249
253
|
* @enum {string}
|
|
250
254
|
*/
|
|
251
|
-
role:
|
|
255
|
+
role: "candidate" | "employer";
|
|
252
256
|
/**
|
|
253
257
|
* @description Registration method. Only `emailpass` is supported.
|
|
254
258
|
* @enum {string}
|
|
255
259
|
*/
|
|
256
|
-
method:
|
|
260
|
+
method: "emailpass";
|
|
257
261
|
/** Format: email */
|
|
258
262
|
email: string;
|
|
259
263
|
/** @description Minimum 8 characters. */
|
|
@@ -273,21 +277,21 @@ interface components {
|
|
|
273
277
|
};
|
|
274
278
|
BoardAuthSession: {
|
|
275
279
|
/** @enum {string} */
|
|
276
|
-
object:
|
|
280
|
+
object: "board_auth_session";
|
|
277
281
|
/** @description Short-lived JWT (1 hour). Send as `Authorization: Bearer`. */
|
|
278
282
|
accessToken: string;
|
|
279
283
|
/** @description Opaque single-use refresh token (30 days). Each refresh returns a replacement; a reused token is rejected. */
|
|
280
284
|
refreshToken: string;
|
|
281
285
|
/** @description Access-token expiry, epoch milliseconds. */
|
|
282
286
|
expiresAt: number;
|
|
283
|
-
boardUser: components[
|
|
287
|
+
boardUser: components["schemas"]["BoardUser"];
|
|
284
288
|
};
|
|
285
289
|
BoardAuthVerifyEmailBody: {
|
|
286
290
|
token: string;
|
|
287
291
|
};
|
|
288
292
|
BoardSeo: {
|
|
289
293
|
/** @enum {string} */
|
|
290
|
-
object:
|
|
294
|
+
object: "board_seo";
|
|
291
295
|
/** @description Verbatim `ads.txt` content, or `null` when not configured. */
|
|
292
296
|
adsTxt: string | null;
|
|
293
297
|
/** @description IndexNow key-file content, or `null` when not configured. */
|
|
@@ -318,36 +322,119 @@ interface components {
|
|
|
318
322
|
/** @description Board user ID. */
|
|
319
323
|
id: string;
|
|
320
324
|
/** @enum {string} */
|
|
321
|
-
object:
|
|
325
|
+
object: "board_user";
|
|
322
326
|
/** @enum {string} */
|
|
323
|
-
role:
|
|
327
|
+
role: "candidate" | "employer";
|
|
324
328
|
email: string;
|
|
325
329
|
displayName: string | null;
|
|
326
330
|
emailVerified: boolean;
|
|
327
331
|
};
|
|
332
|
+
BulkMoveApplicantsBody: {
|
|
333
|
+
applicationIds: string[];
|
|
334
|
+
/** @description The target stage id. */
|
|
335
|
+
stageId: string;
|
|
336
|
+
};
|
|
337
|
+
BulkRejectApplicantsBody: {
|
|
338
|
+
applicationIds: string[];
|
|
339
|
+
};
|
|
340
|
+
CandidateAvatar: {
|
|
341
|
+
/** @enum {string} */
|
|
342
|
+
object: "candidate_avatar";
|
|
343
|
+
avatarUrl: string | null;
|
|
344
|
+
};
|
|
345
|
+
CandidateEducation: {
|
|
346
|
+
id: string;
|
|
347
|
+
/** @enum {string} */
|
|
348
|
+
object: "candidate_education";
|
|
349
|
+
institutionName: string;
|
|
350
|
+
institutionUrl: string | null;
|
|
351
|
+
degree: string | null;
|
|
352
|
+
fieldOfStudy: string | null;
|
|
353
|
+
grade: string | null;
|
|
354
|
+
activitiesAndSocieties: string | null;
|
|
355
|
+
startDate: string | null;
|
|
356
|
+
endDate: string | null;
|
|
357
|
+
description: string | null;
|
|
358
|
+
sortOrder: number;
|
|
359
|
+
};
|
|
360
|
+
CandidateExperience: {
|
|
361
|
+
id: string;
|
|
362
|
+
/** @enum {string} */
|
|
363
|
+
object: "candidate_experience";
|
|
364
|
+
title: string;
|
|
365
|
+
companyName: string;
|
|
366
|
+
companyUrl: string | null;
|
|
367
|
+
location: string | null;
|
|
368
|
+
employmentType: string | null;
|
|
369
|
+
locationType: string | null;
|
|
370
|
+
foundVia: string | null;
|
|
371
|
+
startDate: string;
|
|
372
|
+
endDate: string | null;
|
|
373
|
+
description: string | null;
|
|
374
|
+
sortOrder: number;
|
|
375
|
+
experienceSkills: string[];
|
|
376
|
+
};
|
|
377
|
+
CandidateLanguage: {
|
|
378
|
+
/** @enum {string} */
|
|
379
|
+
object: "candidate_language";
|
|
380
|
+
name: string;
|
|
381
|
+
proficiency: string;
|
|
382
|
+
};
|
|
383
|
+
CandidateProfile: {
|
|
384
|
+
id: string;
|
|
385
|
+
/** @enum {string} */
|
|
386
|
+
object: "candidate_profile";
|
|
387
|
+
displayName: string | null;
|
|
388
|
+
bio: string | null;
|
|
389
|
+
avatarUrl: string | null;
|
|
390
|
+
handle: string | null;
|
|
391
|
+
headline: string | null;
|
|
392
|
+
location: string | null;
|
|
393
|
+
/** @enum {string} */
|
|
394
|
+
profileVisibility: "hidden" | "logged_in_only" | "public";
|
|
395
|
+
/** @enum {string} */
|
|
396
|
+
jobSearchStatus: "actively_looking" | "open_to_offers" | "not_looking";
|
|
397
|
+
/** @enum {string} */
|
|
398
|
+
jobSearchStatusVisibleTo: "everyone" | "employers_only";
|
|
399
|
+
openToRelocate: boolean;
|
|
400
|
+
};
|
|
401
|
+
CandidateSkill: {
|
|
402
|
+
/** @enum {string} */
|
|
403
|
+
object: "candidate_skill";
|
|
404
|
+
name: string;
|
|
405
|
+
jobSkillId: string | null;
|
|
406
|
+
};
|
|
407
|
+
ClaimableCompany: {
|
|
408
|
+
id: string;
|
|
409
|
+
/** @enum {string} */
|
|
410
|
+
object: "claimable_company";
|
|
411
|
+
name: string;
|
|
412
|
+
slug: string;
|
|
413
|
+
website: string | null;
|
|
414
|
+
};
|
|
328
415
|
CompaniesBatchRequest: {
|
|
329
416
|
/** @description Array of sub-operations to execute. Each entry runs independently and reports its result on the corresponding entry of the response `data` array. Sub-operation `id` values must be unique within the batch. Up to 100 entries. */
|
|
330
417
|
operations: ({
|
|
331
418
|
id: string;
|
|
332
419
|
/** @enum {string} */
|
|
333
|
-
method:
|
|
420
|
+
method: "POST";
|
|
334
421
|
body?: unknown;
|
|
335
422
|
action?: string;
|
|
336
423
|
resourceId?: string;
|
|
337
424
|
} | {
|
|
338
425
|
id: string;
|
|
339
426
|
/** @enum {string} */
|
|
340
|
-
method:
|
|
427
|
+
method: "PATCH";
|
|
341
428
|
body?: unknown;
|
|
342
429
|
resourceId: string;
|
|
343
430
|
} | {
|
|
344
431
|
id: string;
|
|
345
432
|
/** @enum {string} */
|
|
346
|
-
method:
|
|
433
|
+
method: "DELETE";
|
|
347
434
|
resourceId: string;
|
|
348
435
|
})[];
|
|
349
436
|
};
|
|
350
|
-
Company: components[
|
|
437
|
+
Company: components["schemas"]["CompanySummary"] & {
|
|
351
438
|
/** @description Long-form description of the company, or `null` if not set. */
|
|
352
439
|
description: string | null;
|
|
353
440
|
/** @description Whether automated backfill of jobs from this company is supported, or `null` if not yet evaluated. */
|
|
@@ -359,7 +446,7 @@ interface components {
|
|
|
359
446
|
};
|
|
360
447
|
CompanyCategorySalary: {
|
|
361
448
|
/** @enum {string} */
|
|
362
|
-
object:
|
|
449
|
+
object: "company_category_salary";
|
|
363
450
|
categorySourceSlug: string;
|
|
364
451
|
categoryCanonicalSlug: string;
|
|
365
452
|
companyName: string;
|
|
@@ -403,7 +490,7 @@ interface components {
|
|
|
403
490
|
};
|
|
404
491
|
CompanyMarket: {
|
|
405
492
|
/** @enum {string} */
|
|
406
|
-
object:
|
|
493
|
+
object: "company_market";
|
|
407
494
|
slug: string;
|
|
408
495
|
name: string;
|
|
409
496
|
/** @description Number of companies on the board in this market. */
|
|
@@ -415,6 +502,24 @@ interface components {
|
|
|
415
502
|
/** @description Source slug for the market. Use it as the `:market` segment of the market-scoped company browse. */
|
|
416
503
|
slug: string;
|
|
417
504
|
};
|
|
505
|
+
CompanyMembership: {
|
|
506
|
+
id: string;
|
|
507
|
+
/** @enum {string} */
|
|
508
|
+
object: "company_membership";
|
|
509
|
+
/** @enum {string} */
|
|
510
|
+
status: "approved" | "pending_work_email" | "awaiting_admin" | "rejected";
|
|
511
|
+
role: string;
|
|
512
|
+
workEmail: string | null;
|
|
513
|
+
/** Format: date-time */
|
|
514
|
+
workEmailVerifiedAt: string | null;
|
|
515
|
+
company: {
|
|
516
|
+
id: string;
|
|
517
|
+
name: string;
|
|
518
|
+
slug: string | null;
|
|
519
|
+
website: string | null;
|
|
520
|
+
logoUrl: string | null;
|
|
521
|
+
};
|
|
522
|
+
};
|
|
418
523
|
CompanyPublic: {
|
|
419
524
|
/** @description Unique identifier for the object. Use this value as the `{id}` path parameter for the company endpoints (e.g. `GET /v1/companies/{id}`). */
|
|
420
525
|
id: string;
|
|
@@ -422,7 +527,7 @@ interface components {
|
|
|
422
527
|
* @description String representing the object's type. Objects of the same type share the same value.
|
|
423
528
|
* @enum {string}
|
|
424
529
|
*/
|
|
425
|
-
object:
|
|
530
|
+
object: "public_company";
|
|
426
531
|
/** @description Display name of the company. */
|
|
427
532
|
name: string;
|
|
428
533
|
/** @description URL-friendly slug for the company. */
|
|
@@ -437,15 +542,15 @@ interface components {
|
|
|
437
542
|
jobCount: number;
|
|
438
543
|
/** @description Number of currently-published, non-expired jobs at this company. */
|
|
439
544
|
publishedJobCount: number;
|
|
440
|
-
links: components[
|
|
545
|
+
links: components["schemas"]["PublicCompanyLinks"];
|
|
441
546
|
};
|
|
442
|
-
CompanyPublicDetail: components[
|
|
547
|
+
CompanyPublicDetail: components["schemas"]["CompanyPublic"] & {
|
|
443
548
|
/** @description Markets (sectors) this company operates in, each with its source slug. Empty when the company has no markets. */
|
|
444
|
-
markets: components[
|
|
549
|
+
markets: components["schemas"]["CompanyMarketRef"][];
|
|
445
550
|
};
|
|
446
551
|
CompanySalary: {
|
|
447
552
|
/** @enum {string} */
|
|
448
|
-
object:
|
|
553
|
+
object: "company_salary";
|
|
449
554
|
companyName: string;
|
|
450
555
|
companySlug: string;
|
|
451
556
|
companyLogoPath: string | null;
|
|
@@ -510,7 +615,7 @@ interface components {
|
|
|
510
615
|
* @description String representing the object's type. Objects of the same type share the same value.
|
|
511
616
|
* @enum {string}
|
|
512
617
|
*/
|
|
513
|
-
object:
|
|
618
|
+
object: "company";
|
|
514
619
|
/** @description Display name of the company. */
|
|
515
620
|
name: string;
|
|
516
621
|
/** @description URL-friendly slug for the company. */
|
|
@@ -532,7 +637,7 @@ interface components {
|
|
|
532
637
|
/** @description Time at which the company was last updated, or `null` if it has never been updated. ISO 8601 datetime. */
|
|
533
638
|
updatedAt: string | null;
|
|
534
639
|
/** @description Public + admin URLs for this company. `public` may be `null` if the company lacks a slug. */
|
|
535
|
-
links: components[
|
|
640
|
+
links: components["schemas"]["ResourceLinks"] & {
|
|
536
641
|
/**
|
|
537
642
|
* Format: uri
|
|
538
643
|
* @description Canonical public URL for this company on the board, or `null` when no slug is set.
|
|
@@ -540,6 +645,9 @@ interface components {
|
|
|
540
645
|
public?: string | null;
|
|
541
646
|
};
|
|
542
647
|
};
|
|
648
|
+
ConfirmWorkEmailBody: {
|
|
649
|
+
token: string;
|
|
650
|
+
};
|
|
543
651
|
CreateAuthorBody: {
|
|
544
652
|
/** @description URL-friendly slug for the author. Auto-generated from `name` when omitted. */
|
|
545
653
|
slug?: string;
|
|
@@ -554,7 +662,7 @@ interface components {
|
|
|
554
662
|
* @description Author visibility status. One of `active` or `inactive`.
|
|
555
663
|
* @enum {string}
|
|
556
664
|
*/
|
|
557
|
-
status?:
|
|
665
|
+
status?: "active" | "inactive";
|
|
558
666
|
/** @description Storage ID of an uploaded avatar image (from `POST /v1/media/upload`). Pass `null` to clear an existing avatar. */
|
|
559
667
|
avatarStorageId?: string | null;
|
|
560
668
|
/** @description The author's personal website URL. Normalized to a canonical URL when stored. */
|
|
@@ -592,7 +700,7 @@ interface components {
|
|
|
592
700
|
publishedAt?: string;
|
|
593
701
|
title: string;
|
|
594
702
|
/** @enum {string} */
|
|
595
|
-
status?:
|
|
703
|
+
status?: "draft" | "scheduled" | "published";
|
|
596
704
|
};
|
|
597
705
|
CreateCompanyBody: {
|
|
598
706
|
/** @description Public company website URL. Normalized to a canonical apex domain when stored. */
|
|
@@ -612,6 +720,31 @@ interface components {
|
|
|
612
720
|
/** @description URL-friendly slug for the company. Auto-generated from `name` when omitted. */
|
|
613
721
|
slug?: string;
|
|
614
722
|
};
|
|
723
|
+
CreateEducationBody: {
|
|
724
|
+
institutionName: string;
|
|
725
|
+
institutionUrl?: string;
|
|
726
|
+
degree?: string;
|
|
727
|
+
fieldOfStudy?: string;
|
|
728
|
+
grade?: string;
|
|
729
|
+
activitiesAndSocieties?: string;
|
|
730
|
+
startDate?: string;
|
|
731
|
+
endDate?: string;
|
|
732
|
+
description?: string;
|
|
733
|
+
sortOrder?: number;
|
|
734
|
+
};
|
|
735
|
+
CreateExperienceBody: {
|
|
736
|
+
title: string;
|
|
737
|
+
companyName: string;
|
|
738
|
+
startDate: string;
|
|
739
|
+
companyUrl?: string;
|
|
740
|
+
location?: string;
|
|
741
|
+
employmentType?: string;
|
|
742
|
+
locationType?: string;
|
|
743
|
+
foundVia?: string;
|
|
744
|
+
endDate?: string;
|
|
745
|
+
description?: string;
|
|
746
|
+
sortOrder?: number;
|
|
747
|
+
};
|
|
615
748
|
CreateJobBody: {
|
|
616
749
|
/** @description The ID of an existing company. Provide either `companyId` or `company`, not both. */
|
|
617
750
|
companyId?: string;
|
|
@@ -623,22 +756,22 @@ interface components {
|
|
|
623
756
|
* @description Employment type of the role.
|
|
624
757
|
* @enum {string}
|
|
625
758
|
*/
|
|
626
|
-
employmentType?:
|
|
759
|
+
employmentType?: "full_time" | "part_time" | "contract" | "internship" | "temporary" | "volunteer" | "other";
|
|
627
760
|
/**
|
|
628
761
|
* @description Whether the role is on-site, hybrid, or fully remote.
|
|
629
762
|
* @enum {string}
|
|
630
763
|
*/
|
|
631
|
-
remoteOption?:
|
|
764
|
+
remoteOption?: "on_site" | "hybrid" | "remote";
|
|
632
765
|
/** @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. */
|
|
633
766
|
remotePermits?: {
|
|
634
767
|
/** @enum {string} */
|
|
635
|
-
type:
|
|
768
|
+
type: "worldwide" | "world_region" | "continent" | "region" | "subregion" | "subdivision" | "country" | "custom";
|
|
636
769
|
value: string;
|
|
637
770
|
}[];
|
|
638
771
|
/** @description Where remote candidates must be timezone-compatible. Each entry mirrors the `remotePermits` shape (`world_region`, `continent`, `region`, `subregion`, `country`) plus `timezone` (specific IANA name with optional `plusMinus` ±N hours expansion) and `all` (every timezone — equivalent of `worldwide` for permits). The canonical `{type, value}` set is published at `GET /v1/taxonomies/remote-timezones`. **When omitted on POST**, the server auto-derives this from `remotePermits` (or `[{all,all}]` if neither was provided). **PATCH never auto-re-derives** — once set, only an explicit replacement updates the stored value, even when `remotePermits` changes. Pass `[]` to clear an existing constraint. */
|
|
639
772
|
remoteTimezones?: {
|
|
640
773
|
/** @enum {string} */
|
|
641
|
-
type:
|
|
774
|
+
type: "all" | "world_region" | "continent" | "region" | "subregion" | "country" | "timezone";
|
|
642
775
|
value: string;
|
|
643
776
|
plusMinus?: number;
|
|
644
777
|
}[];
|
|
@@ -646,12 +779,12 @@ interface components {
|
|
|
646
779
|
* @description Whether the employer sponsors visas for remote candidates. One of `yes`, `no`, or `unknown`.
|
|
647
780
|
* @enum {string}
|
|
648
781
|
*/
|
|
649
|
-
remoteSponsorship?:
|
|
782
|
+
remoteSponsorship?: "yes" | "no" | "unknown";
|
|
650
783
|
/**
|
|
651
784
|
* @description Seniority level of the role.
|
|
652
785
|
* @enum {string}
|
|
653
786
|
*/
|
|
654
|
-
seniority?:
|
|
787
|
+
seniority?: "entry_level" | "associate" | "mid_level" | "senior" | "lead" | "principal" | "director" | "executive";
|
|
655
788
|
/** @description Where candidates apply. Accepts an HTTPS URL, a `mailto:` URI, or a bare email address (which is normalized to `mailto:` form). */
|
|
656
789
|
applicationUrl: string;
|
|
657
790
|
/** @description Minimum salary, in `salaryCurrency` units. */
|
|
@@ -664,7 +797,7 @@ interface components {
|
|
|
664
797
|
* @description Period the `salaryMin` and `salaryMax` figures are quoted against.
|
|
665
798
|
* @enum {string}
|
|
666
799
|
*/
|
|
667
|
-
salaryTimeframe?:
|
|
800
|
+
salaryTimeframe?: "per_year" | "per_month" | "per_week" | "per_day" | "per_hour";
|
|
668
801
|
/** @description Whether the job appears in featured slots on the public board. */
|
|
669
802
|
isFeatured?: boolean;
|
|
670
803
|
/** @description Job expiry as a Unix epoch in milliseconds. On create, omitted or `null` defaults to 30 days from creation. On PATCH, pass `null` to clear an existing expiry. Past timestamps remove the job from the public board. */
|
|
@@ -672,7 +805,7 @@ interface components {
|
|
|
672
805
|
/** @description Time at which the job was first published, as a Unix epoch in milliseconds. When omitted on create with `status: "published"`, the server stamps the current time. Useful for bulk-importing historical jobs while preserving original publication dates. PATCH may overwrite an existing value but cannot clear it. */
|
|
673
806
|
publishedAt?: number;
|
|
674
807
|
/** @description Required education credentials. Each value is one of `high_school`, `associate_degree`, `bachelor_degree`, `professional_certificate`, `postgraduate_degree`, or `no_requirements`. */
|
|
675
|
-
educationRequirements?: (
|
|
808
|
+
educationRequirements?: ("high_school" | "associate_degree" | "bachelor_degree" | "professional_certificate" | "postgraduate_degree" | "no_requirements")[];
|
|
676
809
|
/** @description Minimum required experience, expressed in months. */
|
|
677
810
|
experienceMonths?: number;
|
|
678
811
|
/** @description If `true`, equivalent experience may substitute for the listed education requirements. */
|
|
@@ -681,11 +814,11 @@ interface components {
|
|
|
681
814
|
* @description Period denominator for `inOfficeFrequency`.
|
|
682
815
|
* @enum {string}
|
|
683
816
|
*/
|
|
684
|
-
inOfficePeriod?:
|
|
817
|
+
inOfficePeriod?: "per_week" | "per_month" | "per_year";
|
|
685
818
|
/** @description How often the candidate must be in-office over `inOfficePeriod`. */
|
|
686
819
|
inOfficeFrequency?: number;
|
|
687
820
|
/** @description Physical office locations associated with the job. Each entry is forward-geocoded server-side; a country mismatch returns `400 jobs_unresolvable_location`. */
|
|
688
|
-
officeLocations?: components[
|
|
821
|
+
officeLocations?: components["schemas"]["JobOfficeLocationInput"][];
|
|
689
822
|
/** @description An external identifier for the job from your own system, such as an ATS requisition ID. Use this value to look up the job later via `GET /v1/jobs?externalId=...` for deduplication. Scoped per-account: two different accounts may reuse the same `externalId` without collision. Up to 255 characters. */
|
|
690
823
|
externalId?: string;
|
|
691
824
|
/** @description Board-defined custom-field values, keyed by the field `key` (definitions, including type and option keys, are published at `GET /v1/settings/job-form`). Writes are **additive**: on `PATCH` a key you send is set/overwritten and a key you omit is preserved (unsent keys are never cleared); on `POST` this initializes the bag. Send a key with an intentional-empty value — `null`, `""`, or `[]` — to **clear** it (`""`/`null` clear any type; `[]` clears a `multi_select`); `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 wrong-typed value is rejected (`custom_field_wrong_type`), never silently cleared. Unknown keys are ignored. The stored bag never contains `null`/empty values. */
|
|
@@ -694,12 +827,12 @@ interface components {
|
|
|
694
827
|
};
|
|
695
828
|
/** @description The job title. */
|
|
696
829
|
title: string;
|
|
697
|
-
company?: components[
|
|
830
|
+
company?: components["schemas"]["InlineCompanyInput"];
|
|
698
831
|
/**
|
|
699
832
|
* @description Initial status of the job. Defaults to `draft`. Only `draft` and `published` are writable here. The system-set values `expired` and `archived` are not — use the dedicated transitions (`POST /v1/jobs/:id/publish`, `/pause`, `/expire`) for status changes after create.
|
|
700
833
|
* @enum {string}
|
|
701
834
|
*/
|
|
702
|
-
status?:
|
|
835
|
+
status?: "draft" | "published";
|
|
703
836
|
};
|
|
704
837
|
CreateJobPostingBody: {
|
|
705
838
|
submission: {
|
|
@@ -713,7 +846,7 @@ interface components {
|
|
|
713
846
|
remoteOption: string;
|
|
714
847
|
officeLocations: {
|
|
715
848
|
/** @enum {string} */
|
|
716
|
-
provider?:
|
|
849
|
+
provider?: "mapbox";
|
|
717
850
|
providerPlaceId?: string;
|
|
718
851
|
displayName: string;
|
|
719
852
|
countryCode?: string;
|
|
@@ -756,7 +889,7 @@ interface components {
|
|
|
756
889
|
offset?: number;
|
|
757
890
|
}[];
|
|
758
891
|
/** @enum {string} */
|
|
759
|
-
remoteSponsorship?:
|
|
892
|
+
remoteSponsorship?: "yes" | "no" | "unknown";
|
|
760
893
|
customFieldValues?: {
|
|
761
894
|
[key: string]: string | string[] | boolean | number;
|
|
762
895
|
};
|
|
@@ -785,6 +918,12 @@ interface components {
|
|
|
785
918
|
};
|
|
786
919
|
colorMode?: string;
|
|
787
920
|
};
|
|
921
|
+
CreatePipelineStageBody: {
|
|
922
|
+
/** @description The job whose pipeline gains the stage. */
|
|
923
|
+
jobId: string;
|
|
924
|
+
/** @description The stage label. */
|
|
925
|
+
label: string;
|
|
926
|
+
};
|
|
788
927
|
CreateTagBody: {
|
|
789
928
|
/** @description URL-friendly slug for the tag. Auto-generated from `name` when omitted. */
|
|
790
929
|
slug?: string;
|
|
@@ -794,7 +933,7 @@ interface components {
|
|
|
794
933
|
* @description Tag visibility. One of `public` or `internal`.
|
|
795
934
|
* @enum {string}
|
|
796
935
|
*/
|
|
797
|
-
visibility?:
|
|
936
|
+
visibility?: "public" | "internal";
|
|
798
937
|
/** @description SEO meta title for the tag page. */
|
|
799
938
|
metaTitle?: string;
|
|
800
939
|
/** @description SEO meta description for the tag page. */
|
|
@@ -811,9 +950,9 @@ interface components {
|
|
|
811
950
|
* @description Field type, which dictates the accepted value: `short_text`/`long_text` → string; `single_select` → one option key (string); `multi_select` → array of option keys; `boolean` → boolean; `number` → number.
|
|
812
951
|
* @enum {string}
|
|
813
952
|
*/
|
|
814
|
-
type:
|
|
953
|
+
type: "short_text" | "long_text" | "single_select" | "multi_select" | "boolean" | "number";
|
|
815
954
|
/** @description Present only for `single_select`/`multi_select`. A written value must be one (or, for multi, several) of these option `key`s — never a label. */
|
|
816
|
-
options?: components[
|
|
955
|
+
options?: components["schemas"]["CustomFieldOption"][];
|
|
817
956
|
/** @description When true, the value cannot be cleared or left empty on a write (rejected with `custom_field_required`). */
|
|
818
957
|
required: boolean;
|
|
819
958
|
/** @description Inclusive minimum for `number` fields, when set. */
|
|
@@ -839,7 +978,7 @@ interface components {
|
|
|
839
978
|
* @description OAuth token endpoint authentication method. Use `none` for public PKCE clients that cannot keep a client secret.
|
|
840
979
|
* @enum {string}
|
|
841
980
|
*/
|
|
842
|
-
token_endpoint_auth_method?:
|
|
981
|
+
token_endpoint_auth_method?: "client_secret_basic" | "none";
|
|
843
982
|
};
|
|
844
983
|
DynamicClientRegistrationResponse: {
|
|
845
984
|
/** @description Public OAuth client identifier. */
|
|
@@ -863,6 +1002,405 @@ interface components {
|
|
|
863
1002
|
/** @description Space-separated list of scopes the client may request. */
|
|
864
1003
|
scope: string;
|
|
865
1004
|
};
|
|
1005
|
+
EmployerApplicant: {
|
|
1006
|
+
id: string;
|
|
1007
|
+
/** @enum {string} */
|
|
1008
|
+
object: "employer_applicant";
|
|
1009
|
+
jobId: string;
|
|
1010
|
+
candidateBoardUserId: string | null;
|
|
1011
|
+
candidateProfileId: string | null;
|
|
1012
|
+
candidateProfileHandle: string | null;
|
|
1013
|
+
candidateName: string | null;
|
|
1014
|
+
candidateEmail: string | null;
|
|
1015
|
+
candidateHeadline: string | null;
|
|
1016
|
+
candidateLocation: string | null;
|
|
1017
|
+
coverNote: string | null;
|
|
1018
|
+
resumeFilename: string | null;
|
|
1019
|
+
/** @description A short-lived signed URL to the uploaded resume, or `null`. */
|
|
1020
|
+
resumeUrl: string | null;
|
|
1021
|
+
stage: string;
|
|
1022
|
+
/** @description How the application arrived (e.g. `native_apply`). */
|
|
1023
|
+
source: string;
|
|
1024
|
+
/** Format: date-time */
|
|
1025
|
+
appliedAt: string;
|
|
1026
|
+
timeline: components["schemas"]["EmployerApplicantTimelineEntry"][];
|
|
1027
|
+
};
|
|
1028
|
+
EmployerApplicantTimelineEntry: {
|
|
1029
|
+
id: string;
|
|
1030
|
+
/** @description The activity kind (e.g. `stage_changed`, `note_created`, `application_created`). */
|
|
1031
|
+
type: string;
|
|
1032
|
+
actorBoardUserId: string | null;
|
|
1033
|
+
actorName: string | null;
|
|
1034
|
+
noteId: string | null;
|
|
1035
|
+
/** @description The note text for a `note_created` entry, else `null`. */
|
|
1036
|
+
noteBody: string | null;
|
|
1037
|
+
fromStage: string | null;
|
|
1038
|
+
toStage: string | null;
|
|
1039
|
+
/** Format: date-time */
|
|
1040
|
+
createdAt: string;
|
|
1041
|
+
};
|
|
1042
|
+
EmployerBillingOption: {
|
|
1043
|
+
id: string;
|
|
1044
|
+
/** @enum {string} */
|
|
1045
|
+
object: "employer_billing_option";
|
|
1046
|
+
/** @enum {string} */
|
|
1047
|
+
type: "subscription" | "order";
|
|
1048
|
+
planId: string;
|
|
1049
|
+
planName: string;
|
|
1050
|
+
/** @enum {string} */
|
|
1051
|
+
planKind: "subscription" | "one_time" | "bundle";
|
|
1052
|
+
jobsRemaining: number;
|
|
1053
|
+
jobsTotal: number;
|
|
1054
|
+
featuredRemaining: number;
|
|
1055
|
+
featuredTotal: number;
|
|
1056
|
+
/**
|
|
1057
|
+
* Format: date-time
|
|
1058
|
+
* @description When a subscription renews, or `null` for one-time orders.
|
|
1059
|
+
*/
|
|
1060
|
+
renewsAt: string | null;
|
|
1061
|
+
};
|
|
1062
|
+
EmployerCheckout: {
|
|
1063
|
+
/** @enum {string} */
|
|
1064
|
+
object: "employer_checkout";
|
|
1065
|
+
/** @enum {string} */
|
|
1066
|
+
status: "checkout" | "published" | "invoice_sent";
|
|
1067
|
+
/** @description The Stripe Checkout / hosted-invoice URL, or `null`. */
|
|
1068
|
+
checkoutUrl: string | null;
|
|
1069
|
+
jobId: string;
|
|
1070
|
+
jobSlug: string | null;
|
|
1071
|
+
};
|
|
1072
|
+
EmployerCheckoutBody: {
|
|
1073
|
+
billing: {
|
|
1074
|
+
/** @enum {string} */
|
|
1075
|
+
type: "new";
|
|
1076
|
+
planId: string;
|
|
1077
|
+
} | {
|
|
1078
|
+
/** @enum {string} */
|
|
1079
|
+
type: "order";
|
|
1080
|
+
planId: string;
|
|
1081
|
+
id: string;
|
|
1082
|
+
} | {
|
|
1083
|
+
/** @enum {string} */
|
|
1084
|
+
type: "subscription";
|
|
1085
|
+
planId: string;
|
|
1086
|
+
id: string;
|
|
1087
|
+
};
|
|
1088
|
+
invoiceBilling?: {
|
|
1089
|
+
billingName?: string;
|
|
1090
|
+
/** Format: email */
|
|
1091
|
+
email?: string;
|
|
1092
|
+
address?: {
|
|
1093
|
+
line1?: string;
|
|
1094
|
+
city?: string;
|
|
1095
|
+
postalCode?: string;
|
|
1096
|
+
country?: string;
|
|
1097
|
+
};
|
|
1098
|
+
taxId?: string;
|
|
1099
|
+
detailFields?: {
|
|
1100
|
+
name: string;
|
|
1101
|
+
value: string;
|
|
1102
|
+
}[];
|
|
1103
|
+
};
|
|
1104
|
+
isFeatured?: boolean;
|
|
1105
|
+
/**
|
|
1106
|
+
* Format: uri
|
|
1107
|
+
* @description Where Stripe returns the buyer on success. Defaults to the board's canonical employer pages.
|
|
1108
|
+
*/
|
|
1109
|
+
successUrl?: string;
|
|
1110
|
+
/**
|
|
1111
|
+
* Format: uri
|
|
1112
|
+
* @description Where Stripe returns the buyer on cancel.
|
|
1113
|
+
*/
|
|
1114
|
+
cancelUrl?: string;
|
|
1115
|
+
};
|
|
1116
|
+
EmployerCompany: {
|
|
1117
|
+
id: string;
|
|
1118
|
+
/** @enum {string} */
|
|
1119
|
+
object: "employer_company";
|
|
1120
|
+
name: string;
|
|
1121
|
+
slug: string;
|
|
1122
|
+
website: string | null;
|
|
1123
|
+
description: string | null;
|
|
1124
|
+
summary: string | null;
|
|
1125
|
+
xUrl: string | null;
|
|
1126
|
+
linkedinUrl: string | null;
|
|
1127
|
+
facebookUrl: string | null;
|
|
1128
|
+
logoUrl: string | null;
|
|
1129
|
+
};
|
|
1130
|
+
EmployerCreateJobBody: {
|
|
1131
|
+
/** @description Long-form description of the role. Up to 25,000 characters. */
|
|
1132
|
+
description: string;
|
|
1133
|
+
/** @description URL-friendly slug for the job. Auto-generated from `title` when omitted. */
|
|
1134
|
+
slug?: string;
|
|
1135
|
+
/**
|
|
1136
|
+
* @description Employment type of the role.
|
|
1137
|
+
* @enum {string}
|
|
1138
|
+
*/
|
|
1139
|
+
employmentType?: "full_time" | "part_time" | "contract" | "internship" | "temporary" | "volunteer" | "other";
|
|
1140
|
+
/**
|
|
1141
|
+
* @description Whether the role is on-site, hybrid, or fully remote.
|
|
1142
|
+
* @enum {string}
|
|
1143
|
+
*/
|
|
1144
|
+
remoteOption?: "on_site" | "hybrid" | "remote";
|
|
1145
|
+
/** @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. */
|
|
1146
|
+
remotePermits?: {
|
|
1147
|
+
/** @enum {string} */
|
|
1148
|
+
type: "worldwide" | "world_region" | "continent" | "region" | "subregion" | "subdivision" | "country" | "custom";
|
|
1149
|
+
value: string;
|
|
1150
|
+
}[];
|
|
1151
|
+
/** @description Where remote candidates must be timezone-compatible. Each entry mirrors the `remotePermits` shape (`world_region`, `continent`, `region`, `subregion`, `country`) plus `timezone` (specific IANA name with optional `plusMinus` ±N hours expansion) and `all` (every timezone — equivalent of `worldwide` for permits). The canonical `{type, value}` set is published at `GET /v1/taxonomies/remote-timezones`. **When omitted on POST**, the server auto-derives this from `remotePermits` (or `[{all,all}]` if neither was provided). **PATCH never auto-re-derives** — once set, only an explicit replacement updates the stored value, even when `remotePermits` changes. Pass `[]` to clear an existing constraint. */
|
|
1152
|
+
remoteTimezones?: {
|
|
1153
|
+
/** @enum {string} */
|
|
1154
|
+
type: "all" | "world_region" | "continent" | "region" | "subregion" | "country" | "timezone";
|
|
1155
|
+
value: string;
|
|
1156
|
+
plusMinus?: number;
|
|
1157
|
+
}[];
|
|
1158
|
+
/**
|
|
1159
|
+
* @description Whether the employer sponsors visas for remote candidates. One of `yes`, `no`, or `unknown`.
|
|
1160
|
+
* @enum {string}
|
|
1161
|
+
*/
|
|
1162
|
+
remoteSponsorship?: "yes" | "no" | "unknown";
|
|
1163
|
+
/**
|
|
1164
|
+
* @description Seniority level of the role.
|
|
1165
|
+
* @enum {string}
|
|
1166
|
+
*/
|
|
1167
|
+
seniority?: "entry_level" | "associate" | "mid_level" | "senior" | "lead" | "principal" | "director" | "executive";
|
|
1168
|
+
/** @description Where candidates apply. Accepts an HTTPS URL, a `mailto:` URI, or a bare email address (normalized to `mailto:` form). */
|
|
1169
|
+
applicationUrl: string;
|
|
1170
|
+
/** @description Minimum salary, in `salaryCurrency` units. */
|
|
1171
|
+
salaryMin?: number;
|
|
1172
|
+
/** @description Maximum salary, in `salaryCurrency` units. */
|
|
1173
|
+
salaryMax?: number;
|
|
1174
|
+
/** @description Three-letter ISO 4217 currency code for `salaryMin` and `salaryMax`. */
|
|
1175
|
+
salaryCurrency?: string;
|
|
1176
|
+
/**
|
|
1177
|
+
* @description Period the `salaryMin` and `salaryMax` figures are quoted against.
|
|
1178
|
+
* @enum {string}
|
|
1179
|
+
*/
|
|
1180
|
+
salaryTimeframe?: "per_year" | "per_month" | "per_week" | "per_day" | "per_hour";
|
|
1181
|
+
/** @description Required education credentials. Each value is one of `high_school`, `associate_degree`, `bachelor_degree`, `professional_certificate`, `postgraduate_degree`, or `no_requirements`. */
|
|
1182
|
+
educationRequirements?: ("high_school" | "associate_degree" | "bachelor_degree" | "professional_certificate" | "postgraduate_degree" | "no_requirements")[];
|
|
1183
|
+
/** @description Minimum required experience, expressed in months. */
|
|
1184
|
+
experienceMonths?: number;
|
|
1185
|
+
/** @description If `true`, equivalent experience may substitute for the listed education requirements. */
|
|
1186
|
+
experienceInPlaceOfEducation?: boolean;
|
|
1187
|
+
/**
|
|
1188
|
+
* @description Period denominator for `inOfficeFrequency`.
|
|
1189
|
+
* @enum {string}
|
|
1190
|
+
*/
|
|
1191
|
+
inOfficePeriod?: "per_week" | "per_month" | "per_year";
|
|
1192
|
+
/** @description How often the candidate must be in-office over `inOfficePeriod`. */
|
|
1193
|
+
inOfficeFrequency?: number;
|
|
1194
|
+
/** @description Physical office locations associated with the job. Each entry is forward-geocoded server-side; a country mismatch returns `400 jobs_unresolvable_location`. */
|
|
1195
|
+
officeLocations?: components["schemas"]["JobOfficeLocationInput"][];
|
|
1196
|
+
/** @description The job title. */
|
|
1197
|
+
title: string;
|
|
1198
|
+
};
|
|
1199
|
+
EmployerJob: components["schemas"]["EmployerJobSummary"] & {
|
|
1200
|
+
/** @description Long-form description of the role, or `null` if not specified. */
|
|
1201
|
+
description: string | null;
|
|
1202
|
+
/** @description Where candidates apply, or `null` if not specified. An HTTPS URL or `mailto:` URI. */
|
|
1203
|
+
applicationUrl: string | null;
|
|
1204
|
+
/** @description Hierarchical permit selection authored by the employer. The three `remoteWorkPermit*` and `remoteWorldwide` fields are read-only derived projections. */
|
|
1205
|
+
remotePermits: {
|
|
1206
|
+
type: string;
|
|
1207
|
+
value: string;
|
|
1208
|
+
}[];
|
|
1209
|
+
/** @description Read-only — derived from `remotePermits`. */
|
|
1210
|
+
remoteWorldwide: boolean | null;
|
|
1211
|
+
/** @description Hierarchical timezone selection. The flat `remoteAllowedTzOffsets` below is the read-only derived projection. */
|
|
1212
|
+
remoteTimezones: {
|
|
1213
|
+
type: string;
|
|
1214
|
+
value: string;
|
|
1215
|
+
plusMinus?: number;
|
|
1216
|
+
}[];
|
|
1217
|
+
/** @description Read-only — derived from `remoteTimezones`. UTC hour offsets. */
|
|
1218
|
+
remoteAllowedTzOffsets: number[];
|
|
1219
|
+
/** @description Read-only — derived from `remotePermits`. ISO 3166-1 alpha-2. */
|
|
1220
|
+
remoteWorkPermitCountryCodes: string[];
|
|
1221
|
+
/** @description Read-only — derived from `remotePermits`. ISO 3166-2. */
|
|
1222
|
+
remoteWorkPermitSubdivisionCodes: string[];
|
|
1223
|
+
/**
|
|
1224
|
+
* @description Whether the employer sponsors visas for remote candidates. One of `yes`, `no`, or `unknown`.
|
|
1225
|
+
* @enum {string}
|
|
1226
|
+
*/
|
|
1227
|
+
remoteSponsorship: "yes" | "no" | "unknown";
|
|
1228
|
+
/** @description Required education credentials. */
|
|
1229
|
+
educationRequirements: ("high_school" | "associate_degree" | "bachelor_degree" | "professional_certificate" | "postgraduate_degree" | "no_requirements")[];
|
|
1230
|
+
/** @description Minimum required experience in months, or `null`. */
|
|
1231
|
+
experienceMonths: number | null;
|
|
1232
|
+
/** @description If `true`, equivalent experience may substitute for education. `null` if not specified. */
|
|
1233
|
+
experienceInPlaceOfEducation: boolean | null;
|
|
1234
|
+
/**
|
|
1235
|
+
* @description Period denominator for `inOfficeFrequency`, or `null`.
|
|
1236
|
+
* @enum {string|null}
|
|
1237
|
+
*/
|
|
1238
|
+
inOfficePeriod: "per_week" | "per_month" | "per_year" | null;
|
|
1239
|
+
/** @description How often the candidate must be in-office, or `null`. */
|
|
1240
|
+
inOfficeFrequency: number | null;
|
|
1241
|
+
company: components["schemas"]["JobCompany"];
|
|
1242
|
+
/** @description Physical office locations associated with the job. */
|
|
1243
|
+
officeLocations: components["schemas"]["JobOfficeLocation"][];
|
|
1244
|
+
};
|
|
1245
|
+
/** @description Public-only links. The operator dashboard URL is intentionally omitted on employer responses. */
|
|
1246
|
+
EmployerJobLinks: {
|
|
1247
|
+
/**
|
|
1248
|
+
* Format: uri
|
|
1249
|
+
* @description Canonical public URL for this job, or `null` when the job has no slug or no associated company slug (so a stable URL cannot be assembled). A draft carries a URL but only resolves once published.
|
|
1250
|
+
*/
|
|
1251
|
+
public: string | null;
|
|
1252
|
+
};
|
|
1253
|
+
EmployerJobSummary: {
|
|
1254
|
+
/** @description Unique identifier for the object. Use this value as the `{id}` path parameter for the job endpoints (e.g. `GET /v1/jobs/{id}`). */
|
|
1255
|
+
id: string;
|
|
1256
|
+
/**
|
|
1257
|
+
* @description String representing the object's type. Objects of the same type share the same value.
|
|
1258
|
+
* @enum {string}
|
|
1259
|
+
*/
|
|
1260
|
+
object: "employer_job";
|
|
1261
|
+
/** @description The job title. */
|
|
1262
|
+
title: string;
|
|
1263
|
+
/** @description URL-friendly slug used in public board URLs, or `null` if no slug is set. */
|
|
1264
|
+
slug: string | null;
|
|
1265
|
+
/**
|
|
1266
|
+
* @description Current status of the job. One of `draft`, `published`, `expired`, or `archived`.
|
|
1267
|
+
* @enum {string}
|
|
1268
|
+
*/
|
|
1269
|
+
status: "draft" | "published" | "expired" | "archived";
|
|
1270
|
+
/** @description Identifier of the company the job belongs to, or `null` if no company is attached. */
|
|
1271
|
+
companyId: string | null;
|
|
1272
|
+
/**
|
|
1273
|
+
* @description Employment type of the role, or `null` if not specified.
|
|
1274
|
+
* @enum {string|null}
|
|
1275
|
+
*/
|
|
1276
|
+
employmentType: "full_time" | "part_time" | "contract" | "internship" | "temporary" | "volunteer" | "other" | null;
|
|
1277
|
+
/**
|
|
1278
|
+
* @description Whether the role is on-site, hybrid, or fully remote, or `null` if not specified.
|
|
1279
|
+
* @enum {string|null}
|
|
1280
|
+
*/
|
|
1281
|
+
remoteOption: "on_site" | "hybrid" | "remote" | null;
|
|
1282
|
+
/**
|
|
1283
|
+
* @description Seniority level of the role, or `null` if not specified.
|
|
1284
|
+
* @enum {string|null}
|
|
1285
|
+
*/
|
|
1286
|
+
seniority: "entry_level" | "associate" | "mid_level" | "senior" | "lead" | "principal" | "director" | "executive" | null;
|
|
1287
|
+
/** @description Minimum salary in `salaryCurrency` units, or `null` if not specified. */
|
|
1288
|
+
salaryMin: number | null;
|
|
1289
|
+
/** @description Maximum salary in `salaryCurrency` units, or `null` if not specified. */
|
|
1290
|
+
salaryMax: number | null;
|
|
1291
|
+
/** @description Three-letter ISO 4217 currency code for the salary range, or `null` if no salary is specified. */
|
|
1292
|
+
salaryCurrency: string | null;
|
|
1293
|
+
/**
|
|
1294
|
+
* @description Period the salary range is quoted against, or `null` if no salary is specified.
|
|
1295
|
+
* @enum {string|null}
|
|
1296
|
+
*/
|
|
1297
|
+
salaryTimeframe: "per_year" | "per_month" | "per_week" | "per_day" | "per_hour" | null;
|
|
1298
|
+
/** @description Whether the job appears in featured slots on the public board. */
|
|
1299
|
+
isFeatured: boolean;
|
|
1300
|
+
/** @description Time at which the job was first published, or `null` if not yet published. ISO 8601 datetime. */
|
|
1301
|
+
publishedAt: string | null;
|
|
1302
|
+
/** @description Time at which the job expires, or `null` if no expiry is set. ISO 8601 datetime. */
|
|
1303
|
+
expiresAt: string | null;
|
|
1304
|
+
/** @description Time at which the job was created. ISO 8601 datetime. */
|
|
1305
|
+
createdAt: string;
|
|
1306
|
+
/** @description Time at which the job was last updated. ISO 8601 datetime. */
|
|
1307
|
+
updatedAt: string;
|
|
1308
|
+
links: components["schemas"]["EmployerJobLinks"];
|
|
1309
|
+
};
|
|
1310
|
+
EmployerPipeline: {
|
|
1311
|
+
/** @enum {string} */
|
|
1312
|
+
object: "employer_pipeline";
|
|
1313
|
+
job: {
|
|
1314
|
+
id: string;
|
|
1315
|
+
title: string;
|
|
1316
|
+
status: string;
|
|
1317
|
+
/** Format: date-time */
|
|
1318
|
+
expiresAt: string | null;
|
|
1319
|
+
};
|
|
1320
|
+
stages: components["schemas"]["EmployerPipelineStage"][];
|
|
1321
|
+
applicants: components["schemas"]["EmployerApplicant"][];
|
|
1322
|
+
};
|
|
1323
|
+
EmployerPipelineStage: {
|
|
1324
|
+
id: string;
|
|
1325
|
+
/** @enum {string} */
|
|
1326
|
+
object: "employer_pipeline_stage";
|
|
1327
|
+
jobId: string;
|
|
1328
|
+
label: string;
|
|
1329
|
+
/** @description The stable system meaning (`review`/`offer`/`hired`/`rejected`), or `null` for a custom employer stage. */
|
|
1330
|
+
systemStage: string | null;
|
|
1331
|
+
isProtected: boolean;
|
|
1332
|
+
hidden: boolean;
|
|
1333
|
+
position: number;
|
|
1334
|
+
};
|
|
1335
|
+
EmployerUpdateJobBody: {
|
|
1336
|
+
/** @description Long-form description of the role. Up to 25,000 characters. */
|
|
1337
|
+
description?: string;
|
|
1338
|
+
/** @description URL-friendly slug for the job. Auto-generated from `title` when omitted. */
|
|
1339
|
+
slug?: string;
|
|
1340
|
+
/**
|
|
1341
|
+
* @description Employment type of the role.
|
|
1342
|
+
* @enum {string}
|
|
1343
|
+
*/
|
|
1344
|
+
employmentType?: "full_time" | "part_time" | "contract" | "internship" | "temporary" | "volunteer" | "other";
|
|
1345
|
+
/**
|
|
1346
|
+
* @description Whether the role is on-site, hybrid, or fully remote.
|
|
1347
|
+
* @enum {string}
|
|
1348
|
+
*/
|
|
1349
|
+
remoteOption?: "on_site" | "hybrid" | "remote";
|
|
1350
|
+
/** @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. */
|
|
1351
|
+
remotePermits?: {
|
|
1352
|
+
/** @enum {string} */
|
|
1353
|
+
type: "worldwide" | "world_region" | "continent" | "region" | "subregion" | "subdivision" | "country" | "custom";
|
|
1354
|
+
value: string;
|
|
1355
|
+
}[];
|
|
1356
|
+
/** @description Where remote candidates must be timezone-compatible. Each entry mirrors the `remotePermits` shape (`world_region`, `continent`, `region`, `subregion`, `country`) plus `timezone` (specific IANA name with optional `plusMinus` ±N hours expansion) and `all` (every timezone — equivalent of `worldwide` for permits). The canonical `{type, value}` set is published at `GET /v1/taxonomies/remote-timezones`. **When omitted on POST**, the server auto-derives this from `remotePermits` (or `[{all,all}]` if neither was provided). **PATCH never auto-re-derives** — once set, only an explicit replacement updates the stored value, even when `remotePermits` changes. Pass `[]` to clear an existing constraint. */
|
|
1357
|
+
remoteTimezones?: {
|
|
1358
|
+
/** @enum {string} */
|
|
1359
|
+
type: "all" | "world_region" | "continent" | "region" | "subregion" | "country" | "timezone";
|
|
1360
|
+
value: string;
|
|
1361
|
+
plusMinus?: number;
|
|
1362
|
+
}[];
|
|
1363
|
+
/**
|
|
1364
|
+
* @description Whether the employer sponsors visas for remote candidates. One of `yes`, `no`, or `unknown`.
|
|
1365
|
+
* @enum {string}
|
|
1366
|
+
*/
|
|
1367
|
+
remoteSponsorship?: "yes" | "no" | "unknown";
|
|
1368
|
+
/**
|
|
1369
|
+
* @description Seniority level of the role.
|
|
1370
|
+
* @enum {string}
|
|
1371
|
+
*/
|
|
1372
|
+
seniority?: "entry_level" | "associate" | "mid_level" | "senior" | "lead" | "principal" | "director" | "executive";
|
|
1373
|
+
/** @description Where candidates apply. Accepts an HTTPS URL, a `mailto:` URI, or a bare email address (which is normalized to `mailto:` form). */
|
|
1374
|
+
applicationUrl?: string;
|
|
1375
|
+
/** @description Minimum salary, in `salaryCurrency` units. */
|
|
1376
|
+
salaryMin?: number;
|
|
1377
|
+
/** @description Maximum salary, in `salaryCurrency` units. */
|
|
1378
|
+
salaryMax?: number;
|
|
1379
|
+
/** @description Three-letter ISO 4217 currency code for `salaryMin` and `salaryMax`. */
|
|
1380
|
+
salaryCurrency?: string;
|
|
1381
|
+
/**
|
|
1382
|
+
* @description Period the `salaryMin` and `salaryMax` figures are quoted against.
|
|
1383
|
+
* @enum {string}
|
|
1384
|
+
*/
|
|
1385
|
+
salaryTimeframe?: "per_year" | "per_month" | "per_week" | "per_day" | "per_hour";
|
|
1386
|
+
/** @description Required education credentials. Each value is one of `high_school`, `associate_degree`, `bachelor_degree`, `professional_certificate`, `postgraduate_degree`, or `no_requirements`. */
|
|
1387
|
+
educationRequirements?: ("high_school" | "associate_degree" | "bachelor_degree" | "professional_certificate" | "postgraduate_degree" | "no_requirements")[];
|
|
1388
|
+
/** @description Minimum required experience, expressed in months. */
|
|
1389
|
+
experienceMonths?: number;
|
|
1390
|
+
/** @description If `true`, equivalent experience may substitute for the listed education requirements. */
|
|
1391
|
+
experienceInPlaceOfEducation?: boolean;
|
|
1392
|
+
/**
|
|
1393
|
+
* @description Period denominator for `inOfficeFrequency`.
|
|
1394
|
+
* @enum {string}
|
|
1395
|
+
*/
|
|
1396
|
+
inOfficePeriod?: "per_week" | "per_month" | "per_year";
|
|
1397
|
+
/** @description How often the candidate must be in-office over `inOfficePeriod`. */
|
|
1398
|
+
inOfficeFrequency?: number;
|
|
1399
|
+
/** @description Physical office locations associated with the job. Each entry is forward-geocoded server-side; a country mismatch returns `400 jobs_unresolvable_location`. */
|
|
1400
|
+
officeLocations?: components["schemas"]["JobOfficeLocationInput"][];
|
|
1401
|
+
/** @description The job title. */
|
|
1402
|
+
title?: string;
|
|
1403
|
+
};
|
|
866
1404
|
FindOrCreateCompanyBody: {
|
|
867
1405
|
/** @description The company's display name. */
|
|
868
1406
|
name: string;
|
|
@@ -875,6 +1413,12 @@ interface components {
|
|
|
875
1413
|
/** @description If `true` (default), creates a new company when no match is found. Set to `false` to receive a `404 companies_not_found` response instead. */
|
|
876
1414
|
createIfMissing?: boolean;
|
|
877
1415
|
};
|
|
1416
|
+
HandleAvailability: {
|
|
1417
|
+
/** @enum {string} */
|
|
1418
|
+
object: "handle_availability";
|
|
1419
|
+
handle: string;
|
|
1420
|
+
available: boolean;
|
|
1421
|
+
};
|
|
878
1422
|
/** @description An inline company payload, resolved via `find-or-create` before the job is created. Provide either `company` or `companyId`, not both. */
|
|
879
1423
|
InlineCompanyInput: {
|
|
880
1424
|
/** @description The company's display name. */
|
|
@@ -888,9 +1432,9 @@ interface components {
|
|
|
888
1432
|
/** @description If `true` (default), creates a new company when no match is found. Set to `false` to receive a `404 companies_not_found` response instead. */
|
|
889
1433
|
createIfMissing?: boolean;
|
|
890
1434
|
};
|
|
891
|
-
Job: components[
|
|
1435
|
+
Job: components["schemas"]["JobSummary"] & {
|
|
892
1436
|
/** @description Public + admin URLs for this job. `public` may be `null` if the job lacks a slug or company-slug. */
|
|
893
|
-
links?: components[
|
|
1437
|
+
links?: components["schemas"]["ResourceLinks"] & {
|
|
894
1438
|
/**
|
|
895
1439
|
* Format: uri
|
|
896
1440
|
* @description Canonical public URL for this job, or `null` when the job has no slug or no associated company slug (so a stable URL cannot be assembled).
|
|
@@ -924,9 +1468,9 @@ interface components {
|
|
|
924
1468
|
* @description Whether the employer sponsors visas for remote candidates. One of `yes`, `no`, or `unknown`.
|
|
925
1469
|
* @enum {string}
|
|
926
1470
|
*/
|
|
927
|
-
remoteSponsorship:
|
|
1471
|
+
remoteSponsorship: "yes" | "no" | "unknown";
|
|
928
1472
|
/** @description Required education credentials. Each value is one of `high_school`, `associate_degree`, `bachelor_degree`, `professional_certificate`, `postgraduate_degree`, or `no_requirements`. */
|
|
929
|
-
educationRequirements: (
|
|
1473
|
+
educationRequirements: ("high_school" | "associate_degree" | "bachelor_degree" | "professional_certificate" | "postgraduate_degree" | "no_requirements")[];
|
|
930
1474
|
/** @description Minimum required experience in months, or `null` if not specified. */
|
|
931
1475
|
experienceMonths: number | null;
|
|
932
1476
|
/** @description If `true`, equivalent experience may substitute for the listed education requirements. `null` if not specified. */
|
|
@@ -935,12 +1479,12 @@ interface components {
|
|
|
935
1479
|
* @description Period denominator for `inOfficeFrequency`, or `null` if not specified.
|
|
936
1480
|
* @enum {string|null}
|
|
937
1481
|
*/
|
|
938
|
-
inOfficePeriod:
|
|
1482
|
+
inOfficePeriod: "per_week" | "per_month" | "per_year" | null;
|
|
939
1483
|
/** @description How often the candidate must be in-office over `inOfficePeriod`, or `null` if not specified. */
|
|
940
1484
|
inOfficeFrequency: number | null;
|
|
941
|
-
company: components[
|
|
1485
|
+
company: components["schemas"]["JobCompany"];
|
|
942
1486
|
/** @description Physical office locations associated with the job. */
|
|
943
|
-
officeLocations: components[
|
|
1487
|
+
officeLocations: components["schemas"]["JobOfficeLocation"][];
|
|
944
1488
|
};
|
|
945
1489
|
/** @description Embedded company resource for the job, or `null` if no company is attached. */
|
|
946
1490
|
JobCompany: {
|
|
@@ -982,7 +1526,7 @@ interface components {
|
|
|
982
1526
|
allowedCountries?: string[];
|
|
983
1527
|
};
|
|
984
1528
|
/** @description Board-defined custom field definitions, in display order. Read these to learn which `customFieldValues` keys, types, and option keys a job accepts on POST/PATCH /v1/jobs. */
|
|
985
|
-
customFields?: components[
|
|
1529
|
+
customFields?: components["schemas"]["CustomFieldDefinition"][];
|
|
986
1530
|
};
|
|
987
1531
|
JobOfficeLocation: {
|
|
988
1532
|
/** @description ISO 3166-1 alpha-2 country code, or `null` if the location was not resolved. */
|
|
@@ -1017,12 +1561,12 @@ interface components {
|
|
|
1017
1561
|
};
|
|
1018
1562
|
JobPostingBillingCheck: {
|
|
1019
1563
|
/** @enum {string} */
|
|
1020
|
-
object:
|
|
1564
|
+
object: "job_posting_billing_check";
|
|
1021
1565
|
hasActiveBilling: boolean;
|
|
1022
1566
|
};
|
|
1023
1567
|
JobPostingBillingOptions: {
|
|
1024
1568
|
/** @enum {string} */
|
|
1025
|
-
object:
|
|
1569
|
+
object: "job_posting_billing_options";
|
|
1026
1570
|
options: {
|
|
1027
1571
|
id: string;
|
|
1028
1572
|
type: string;
|
|
@@ -1047,7 +1591,7 @@ interface components {
|
|
|
1047
1591
|
};
|
|
1048
1592
|
JobPostingBillingVerification: {
|
|
1049
1593
|
/** @enum {string} */
|
|
1050
|
-
object:
|
|
1594
|
+
object: "job_posting_billing_verification";
|
|
1051
1595
|
success: boolean;
|
|
1052
1596
|
};
|
|
1053
1597
|
JobPostingCheckBillingBody: {
|
|
@@ -1056,25 +1600,25 @@ interface components {
|
|
|
1056
1600
|
};
|
|
1057
1601
|
JobPostingLogo: {
|
|
1058
1602
|
/** @enum {string} */
|
|
1059
|
-
object:
|
|
1603
|
+
object: "job_posting_logo";
|
|
1060
1604
|
publicUrl: string;
|
|
1061
1605
|
};
|
|
1062
1606
|
JobPostingPlan: {
|
|
1063
1607
|
/** @enum {string} */
|
|
1064
|
-
object:
|
|
1608
|
+
object: "job_posting_plan";
|
|
1065
1609
|
id: string;
|
|
1066
1610
|
name: string;
|
|
1067
1611
|
description: string | null;
|
|
1068
1612
|
kind: string;
|
|
1069
1613
|
/** @enum {string|null} */
|
|
1070
|
-
billingInterval:
|
|
1614
|
+
billingInterval: "month" | "year" | null;
|
|
1071
1615
|
/** @enum {string|null} */
|
|
1072
|
-
purpose:
|
|
1616
|
+
purpose: "job_posting" | "talent_access" | null;
|
|
1073
1617
|
isRecommended: boolean;
|
|
1074
1618
|
displayOrder: number | null;
|
|
1075
1619
|
invoiceOnly: boolean;
|
|
1076
1620
|
/** @enum {string|null} */
|
|
1077
|
-
publishTiming:
|
|
1621
|
+
publishTiming: "on_issue" | "on_payment" | null;
|
|
1078
1622
|
netTermsDays: number | null;
|
|
1079
1623
|
prices: {
|
|
1080
1624
|
currency: string;
|
|
@@ -1088,29 +1632,29 @@ interface components {
|
|
|
1088
1632
|
};
|
|
1089
1633
|
JobPostingResult: {
|
|
1090
1634
|
/** @enum {string} */
|
|
1091
|
-
object:
|
|
1635
|
+
object: "job_posting_result";
|
|
1092
1636
|
/** @enum {string} */
|
|
1093
|
-
status:
|
|
1637
|
+
status: "checkout";
|
|
1094
1638
|
checkoutUrl: string;
|
|
1095
1639
|
jobId: string;
|
|
1096
1640
|
} | {
|
|
1097
1641
|
/** @enum {string} */
|
|
1098
|
-
object:
|
|
1642
|
+
object: "job_posting_result";
|
|
1099
1643
|
/** @enum {string} */
|
|
1100
|
-
status:
|
|
1644
|
+
status: "published";
|
|
1101
1645
|
jobId: string;
|
|
1102
1646
|
jobSlug: string;
|
|
1103
1647
|
} | {
|
|
1104
1648
|
/** @enum {string} */
|
|
1105
|
-
object:
|
|
1649
|
+
object: "job_posting_result";
|
|
1106
1650
|
/** @enum {string} */
|
|
1107
|
-
status:
|
|
1651
|
+
status: "pending_approval";
|
|
1108
1652
|
jobId: string;
|
|
1109
1653
|
} | {
|
|
1110
1654
|
/** @enum {string} */
|
|
1111
|
-
object:
|
|
1655
|
+
object: "job_posting_result";
|
|
1112
1656
|
/** @enum {string} */
|
|
1113
|
-
status:
|
|
1657
|
+
status: "invoice_sent";
|
|
1114
1658
|
jobId: string;
|
|
1115
1659
|
};
|
|
1116
1660
|
JobPostingSendVerificationBody: {
|
|
@@ -1119,7 +1663,7 @@ interface components {
|
|
|
1119
1663
|
};
|
|
1120
1664
|
JobPostingSubscriptionEntitlements: {
|
|
1121
1665
|
/** @enum {string} */
|
|
1122
|
-
object:
|
|
1666
|
+
object: "job_posting_subscription_entitlements";
|
|
1123
1667
|
hasSubscription: boolean;
|
|
1124
1668
|
subscriptionId: string | null;
|
|
1125
1669
|
canFeature: boolean | null;
|
|
@@ -1141,7 +1685,7 @@ interface components {
|
|
|
1141
1685
|
* @description String representing the object's type. Objects of the same type share the same value.
|
|
1142
1686
|
* @enum {string}
|
|
1143
1687
|
*/
|
|
1144
|
-
object:
|
|
1688
|
+
object: "job";
|
|
1145
1689
|
/** @description The job title. */
|
|
1146
1690
|
title: string;
|
|
1147
1691
|
/** @description URL-friendly slug used in public board URLs, or `null` if no slug is set. */
|
|
@@ -1150,24 +1694,24 @@ interface components {
|
|
|
1150
1694
|
* @description Current status of the job. One of `draft`, `published`, `expired`, or `archived`.
|
|
1151
1695
|
* @enum {string}
|
|
1152
1696
|
*/
|
|
1153
|
-
status:
|
|
1697
|
+
status: "draft" | "published" | "expired" | "archived";
|
|
1154
1698
|
/** @description Identifier of the company the job belongs to, or `null` if no company is attached. */
|
|
1155
1699
|
companyId: string | null;
|
|
1156
1700
|
/**
|
|
1157
1701
|
* @description Employment type of the role, or `null` if not specified.
|
|
1158
1702
|
* @enum {string|null}
|
|
1159
1703
|
*/
|
|
1160
|
-
employmentType:
|
|
1704
|
+
employmentType: "full_time" | "part_time" | "contract" | "internship" | "temporary" | "volunteer" | "other" | null;
|
|
1161
1705
|
/**
|
|
1162
1706
|
* @description Whether the role is on-site, hybrid, or fully remote, or `null` if not specified.
|
|
1163
1707
|
* @enum {string|null}
|
|
1164
1708
|
*/
|
|
1165
|
-
remoteOption:
|
|
1709
|
+
remoteOption: "on_site" | "hybrid" | "remote" | null;
|
|
1166
1710
|
/**
|
|
1167
1711
|
* @description Seniority level of the role, or `null` if not specified.
|
|
1168
1712
|
* @enum {string|null}
|
|
1169
1713
|
*/
|
|
1170
|
-
seniority:
|
|
1714
|
+
seniority: "entry_level" | "associate" | "mid_level" | "senior" | "lead" | "principal" | "director" | "executive" | null;
|
|
1171
1715
|
/** @description Minimum salary in `salaryCurrency` units, or `null` if not specified. */
|
|
1172
1716
|
salaryMin: number | null;
|
|
1173
1717
|
/** @description Maximum salary in `salaryCurrency` units, or `null` if not specified. */
|
|
@@ -1178,7 +1722,7 @@ interface components {
|
|
|
1178
1722
|
* @description Period the salary range is quoted against, or `null` if no salary is specified.
|
|
1179
1723
|
* @enum {string|null}
|
|
1180
1724
|
*/
|
|
1181
|
-
salaryTimeframe:
|
|
1725
|
+
salaryTimeframe: "per_year" | "per_month" | "per_week" | "per_day" | "per_hour" | null;
|
|
1182
1726
|
/** @description Whether the job appears in featured slots on the public board. */
|
|
1183
1727
|
isFeatured: boolean;
|
|
1184
1728
|
/** @description Time at which the job was first published, or `null` if not yet published. ISO 8601 datetime. */
|
|
@@ -1195,11 +1739,11 @@ interface components {
|
|
|
1195
1739
|
customFieldValues: {
|
|
1196
1740
|
[key: string]: string | string[] | boolean | number;
|
|
1197
1741
|
};
|
|
1198
|
-
links: components[
|
|
1742
|
+
links: components["schemas"]["AdminOnlyResourceLinks"];
|
|
1199
1743
|
};
|
|
1200
1744
|
LegalPage: {
|
|
1201
1745
|
/** @enum {string} */
|
|
1202
|
-
object:
|
|
1746
|
+
object: "legal_page";
|
|
1203
1747
|
/** @description The resolved legal page type. */
|
|
1204
1748
|
type: string;
|
|
1205
1749
|
/** @description Page heading (H1), with `{{board_name}}` resolved. */
|
|
@@ -1207,7 +1751,7 @@ interface components {
|
|
|
1207
1751
|
/** @description Owner-authored prose as portable HTML (transitional field, ADR-0039 — the starter authors the layout). Empty string when the page has no text body. */
|
|
1208
1752
|
content: string;
|
|
1209
1753
|
/** @enum {string} */
|
|
1210
|
-
contentFormat:
|
|
1754
|
+
contentFormat: "html";
|
|
1211
1755
|
/** @description Structured impressum legal-entity facts; `null` for non-impressum pages. */
|
|
1212
1756
|
legalEntity: {
|
|
1213
1757
|
legalName: string | null;
|
|
@@ -1216,7 +1760,7 @@ interface components {
|
|
|
1216
1760
|
};
|
|
1217
1761
|
LocationSalaryDetail: {
|
|
1218
1762
|
/** @enum {string} */
|
|
1219
|
-
object:
|
|
1763
|
+
object: "location_salary_detail";
|
|
1220
1764
|
/** @description Immutable English source place slug — the salary-stats key. */
|
|
1221
1765
|
sourceSlug: string;
|
|
1222
1766
|
/** @description Board-language canonical URL slug — the starter 308 target. */
|
|
@@ -1297,7 +1841,7 @@ interface components {
|
|
|
1297
1841
|
};
|
|
1298
1842
|
LocationSkillsIndex: {
|
|
1299
1843
|
/** @enum {string} */
|
|
1300
|
-
object:
|
|
1844
|
+
object: "location_skills_index";
|
|
1301
1845
|
sourceSlug: string;
|
|
1302
1846
|
canonicalSlug: string;
|
|
1303
1847
|
placeName: string;
|
|
@@ -1311,7 +1855,7 @@ interface components {
|
|
|
1311
1855
|
};
|
|
1312
1856
|
LocationTitlesIndex: {
|
|
1313
1857
|
/** @enum {string} */
|
|
1314
|
-
object:
|
|
1858
|
+
object: "location_titles_index";
|
|
1315
1859
|
sourceSlug: string;
|
|
1316
1860
|
canonicalSlug: string;
|
|
1317
1861
|
placeName: string;
|
|
@@ -1323,7 +1867,7 @@ interface components {
|
|
|
1323
1867
|
jobCount: number;
|
|
1324
1868
|
}[];
|
|
1325
1869
|
};
|
|
1326
|
-
MediaGet: components[
|
|
1870
|
+
MediaGet: components["schemas"]["MediaUpload"] & {
|
|
1327
1871
|
/** @description Time at which the file was uploaded. ISO 8601 datetime. */
|
|
1328
1872
|
uploadedAt: string;
|
|
1329
1873
|
/** @description Resources currently referencing this file. Currently always `[]` — the resolver is not yet implemented. */
|
|
@@ -1341,7 +1885,7 @@ interface components {
|
|
|
1341
1885
|
* @description String representing the object's type. Objects of the same type share the same value.
|
|
1342
1886
|
* @enum {string}
|
|
1343
1887
|
*/
|
|
1344
|
-
object:
|
|
1888
|
+
object: "media_upload";
|
|
1345
1889
|
/** @description URL where the file can be downloaded. Permanent for files served from the assets domain; a signed URL for legacy files. Always set on the upload response; may be `null` on retrieval if the underlying blob has been deleted. */
|
|
1346
1890
|
url: string | null;
|
|
1347
1891
|
/** @description Time at which the signed `url` expires (ISO 8601 datetime), or `null` when the `url` is permanent and never expires. */
|
|
@@ -1354,7 +1898,19 @@ interface components {
|
|
|
1354
1898
|
* @description Resource type the file was uploaded for.
|
|
1355
1899
|
* @enum {string}
|
|
1356
1900
|
*/
|
|
1357
|
-
purpose:
|
|
1901
|
+
purpose: "board_logo" | "board_hero" | "account_avatar" | "company_logo" | "blog_image";
|
|
1902
|
+
};
|
|
1903
|
+
MoveApplicantStageBody: {
|
|
1904
|
+
/** @description The target stage id. */
|
|
1905
|
+
stageId: string;
|
|
1906
|
+
};
|
|
1907
|
+
NotificationPreference: {
|
|
1908
|
+
/** @enum {string} */
|
|
1909
|
+
object: "notification_preference";
|
|
1910
|
+
/** @enum {string} */
|
|
1911
|
+
channel: "messageEmails" | "applicationEmails";
|
|
1912
|
+
subscribed: boolean;
|
|
1913
|
+
updatedAt: number | null;
|
|
1358
1914
|
};
|
|
1359
1915
|
/** @description Error envelope, populated once the operation reaches `failed`. `null` otherwise. */
|
|
1360
1916
|
OperationErrorEnvelope: {
|
|
@@ -1385,20 +1941,20 @@ interface components {
|
|
|
1385
1941
|
* @description String representing the object's type. Objects of the same type share the same value.
|
|
1386
1942
|
* @enum {string}
|
|
1387
1943
|
*/
|
|
1388
|
-
object:
|
|
1944
|
+
object: "operation";
|
|
1389
1945
|
/** @description Operation kind, identifying which workflow the operation runs. */
|
|
1390
1946
|
kind: string;
|
|
1391
1947
|
/**
|
|
1392
1948
|
* @description Current state of the operation.
|
|
1393
1949
|
* @enum {string}
|
|
1394
1950
|
*/
|
|
1395
|
-
state:
|
|
1951
|
+
state: "pending" | "running" | "succeeded" | "failed" | "cancelled";
|
|
1396
1952
|
/** @description Identifier of the account the operation belongs to. */
|
|
1397
1953
|
accountId: string;
|
|
1398
|
-
progress: components[
|
|
1954
|
+
progress: components["schemas"]["OperationProgress"];
|
|
1399
1955
|
/** @description Operation result, populated once the operation reaches `succeeded`. Shape varies by `kind`. */
|
|
1400
1956
|
result?: unknown;
|
|
1401
|
-
error: components[
|
|
1957
|
+
error: components["schemas"]["OperationErrorEnvelope"];
|
|
1402
1958
|
/** @description Time at which the operation was created. ISO 8601 datetime. */
|
|
1403
1959
|
createdAt: string;
|
|
1404
1960
|
/** @description Time at which the operation was last updated. ISO 8601 datetime. */
|
|
@@ -1450,23 +2006,23 @@ interface components {
|
|
|
1450
2006
|
/** @description Default expiry, in days, applied to newly published jobs when no `expiresAt` is supplied. */
|
|
1451
2007
|
defaultJobDurationDays?: number;
|
|
1452
2008
|
/** @description Public contact email shown on the board. Pass `null` to clear. */
|
|
1453
|
-
contactEmail?: string |
|
|
2009
|
+
contactEmail?: string | "" | unknown | unknown;
|
|
1454
2010
|
/** @description Legal name of the entity operating the board. Pass `null` to clear. */
|
|
1455
|
-
companyLegalName?: string |
|
|
2011
|
+
companyLegalName?: string | "" | unknown | unknown;
|
|
1456
2012
|
/** @description Postal address of the entity operating the board. Pass `null` to clear. */
|
|
1457
|
-
companyAddress?: string |
|
|
2013
|
+
companyAddress?: string | "" | unknown | unknown;
|
|
1458
2014
|
/** @description Public company website URL. Pass `null` to clear. */
|
|
1459
|
-
companyWebsiteUrl?: string |
|
|
2015
|
+
companyWebsiteUrl?: string | "" | unknown | unknown;
|
|
1460
2016
|
/** @description Company X (Twitter) handle or profile URL. Pass `null` to clear. */
|
|
1461
|
-
companyXHandle?: string |
|
|
2017
|
+
companyXHandle?: string | "" | unknown | unknown;
|
|
1462
2018
|
/** @description Company Facebook page URL. Pass `null` to clear. */
|
|
1463
|
-
companyFacebookUrl?: string |
|
|
2019
|
+
companyFacebookUrl?: string | "" | unknown | unknown;
|
|
1464
2020
|
/** @description Company LinkedIn page URL. Pass `null` to clear. */
|
|
1465
|
-
companyLinkedinUrl?: string |
|
|
2021
|
+
companyLinkedinUrl?: string | "" | unknown | unknown;
|
|
1466
2022
|
/** @description Label shown for the talent directory in the public navigation. 1–50 characters. */
|
|
1467
2023
|
talentNavLabel?: string;
|
|
1468
2024
|
/** @description Custom copy displayed on the password gate. Up to 500 characters. Pass `null` to clear. */
|
|
1469
|
-
passwordProtectionMessage?: string |
|
|
2025
|
+
passwordProtectionMessage?: string | "" | unknown | unknown;
|
|
1470
2026
|
/** @description Free-form configuration object merged into the existing config. Reserved keys (e.g. `passwordProtectionEnabled`, `adsenseClientId`, `jobAccessPaywallEnabled`) cannot be set here — use the dedicated endpoints instead. */
|
|
1471
2027
|
config?: {
|
|
1472
2028
|
[key: string]: unknown;
|
|
@@ -1474,21 +2030,21 @@ interface components {
|
|
|
1474
2030
|
};
|
|
1475
2031
|
Plan: {
|
|
1476
2032
|
/** @enum {string} */
|
|
1477
|
-
object:
|
|
2033
|
+
object: "plan";
|
|
1478
2034
|
id: string;
|
|
1479
2035
|
name: string;
|
|
1480
2036
|
description: string | null;
|
|
1481
2037
|
/** @enum {string} */
|
|
1482
|
-
purpose:
|
|
2038
|
+
purpose: "job_posting" | "talent_access";
|
|
1483
2039
|
/** @enum {string} */
|
|
1484
|
-
kind:
|
|
2040
|
+
kind: "free" | "subscription" | "one_time" | "bundle";
|
|
1485
2041
|
/** @enum {string|null} */
|
|
1486
|
-
billingInterval:
|
|
2042
|
+
billingInterval: "month" | "year" | null;
|
|
1487
2043
|
isRecommended: boolean;
|
|
1488
2044
|
displayOrder: number;
|
|
1489
2045
|
invoiceOnly: boolean;
|
|
1490
2046
|
/** @enum {string|null} */
|
|
1491
|
-
publishTiming:
|
|
2047
|
+
publishTiming: "on_issue" | "on_payment" | null;
|
|
1492
2048
|
netTermsDays: number | null;
|
|
1493
2049
|
price: {
|
|
1494
2050
|
currency: string;
|
|
@@ -1501,7 +2057,7 @@ interface components {
|
|
|
1501
2057
|
maxActiveJobs: number;
|
|
1502
2058
|
featuredSlots: number;
|
|
1503
2059
|
/** @enum {string} */
|
|
1504
|
-
featureSelectionMode:
|
|
2060
|
+
featureSelectionMode: "auto" | "manual";
|
|
1505
2061
|
};
|
|
1506
2062
|
/** @description Talent-access allowances (per billing period). Present only when `purpose` is `talent_access`. `"unlimited"` is a sentinel value. */
|
|
1507
2063
|
talent?: {
|
|
@@ -1511,13 +2067,13 @@ interface components {
|
|
|
1511
2067
|
};
|
|
1512
2068
|
PublicBlogAdjacentPosts: {
|
|
1513
2069
|
/** @enum {string} */
|
|
1514
|
-
object:
|
|
1515
|
-
previous: components[
|
|
1516
|
-
next: components[
|
|
2070
|
+
object: "blog_adjacent_posts";
|
|
2071
|
+
previous: components["schemas"]["PublicBlogPostSummary"] | null;
|
|
2072
|
+
next: components["schemas"]["PublicBlogPostSummary"] | null;
|
|
1517
2073
|
};
|
|
1518
|
-
PublicBlogAuthor: components[
|
|
2074
|
+
PublicBlogAuthor: components["schemas"]["PublicBlogAuthorEmbed"] & {
|
|
1519
2075
|
/** @enum {string} */
|
|
1520
|
-
object:
|
|
2076
|
+
object: "public_blog_author";
|
|
1521
2077
|
};
|
|
1522
2078
|
PublicBlogAuthorEmbed: {
|
|
1523
2079
|
id: string;
|
|
@@ -1530,7 +2086,7 @@ interface components {
|
|
|
1530
2086
|
linkedinUrl: string | null;
|
|
1531
2087
|
githubUrl: string | null;
|
|
1532
2088
|
};
|
|
1533
|
-
PublicBlogPost: components[
|
|
2089
|
+
PublicBlogPost: components["schemas"]["PublicBlogPostSummary"] & {
|
|
1534
2090
|
html: string | null;
|
|
1535
2091
|
ogImageUrl: string | null;
|
|
1536
2092
|
featureImageCaption: string | null;
|
|
@@ -1542,7 +2098,7 @@ interface components {
|
|
|
1542
2098
|
PublicBlogPostSummary: {
|
|
1543
2099
|
id: string;
|
|
1544
2100
|
/** @enum {string} */
|
|
1545
|
-
object:
|
|
2101
|
+
object: "public_blog_post";
|
|
1546
2102
|
title: string;
|
|
1547
2103
|
slug: string;
|
|
1548
2104
|
featured: boolean;
|
|
@@ -1553,8 +2109,8 @@ interface components {
|
|
|
1553
2109
|
publishedAt: string | null;
|
|
1554
2110
|
canonicalUrl: string | null;
|
|
1555
2111
|
createdAt: string;
|
|
1556
|
-
authors: components[
|
|
1557
|
-
tags: components[
|
|
2112
|
+
authors: components["schemas"]["PublicBlogAuthorEmbed"][];
|
|
2113
|
+
tags: components["schemas"]["PublicBlogTagEmbed"][];
|
|
1558
2114
|
};
|
|
1559
2115
|
PublicBlogSearchBody: {
|
|
1560
2116
|
/** @description Free-text search query. Up to 200 characters. */
|
|
@@ -1564,9 +2120,9 @@ interface components {
|
|
|
1564
2120
|
/** @description A limit on the number of objects to be returned. Limit can range between 1 and 50. */
|
|
1565
2121
|
limit?: number;
|
|
1566
2122
|
};
|
|
1567
|
-
PublicBlogTag: components[
|
|
2123
|
+
PublicBlogTag: components["schemas"]["PublicBlogTagEmbed"] & {
|
|
1568
2124
|
/** @enum {string} */
|
|
1569
|
-
object:
|
|
2125
|
+
object: "public_blog_tag";
|
|
1570
2126
|
};
|
|
1571
2127
|
PublicBlogTagEmbed: {
|
|
1572
2128
|
id: string;
|
|
@@ -1576,7 +2132,7 @@ interface components {
|
|
|
1576
2132
|
};
|
|
1577
2133
|
PublicBoardContext: {
|
|
1578
2134
|
/** @enum {string} */
|
|
1579
|
-
object:
|
|
2135
|
+
object: "public_board";
|
|
1580
2136
|
/** @description Immutable board identifier (`boards_…`). */
|
|
1581
2137
|
id: string;
|
|
1582
2138
|
/** @description Mutable canonical board slug. */
|
|
@@ -1650,7 +2206,7 @@ interface components {
|
|
|
1650
2206
|
* @description String representing the object's type. Objects of the same type share the same value.
|
|
1651
2207
|
* @enum {string}
|
|
1652
2208
|
*/
|
|
1653
|
-
object:
|
|
2209
|
+
object: "public_job";
|
|
1654
2210
|
/** @description The job title. */
|
|
1655
2211
|
title: string;
|
|
1656
2212
|
/** @description URL-friendly slug used in public board URLs, or `null` if no slug is set. */
|
|
@@ -1659,24 +2215,24 @@ interface components {
|
|
|
1659
2215
|
* @description Current status of the job. One of `draft`, `published`, `expired`, or `archived`.
|
|
1660
2216
|
* @enum {string}
|
|
1661
2217
|
*/
|
|
1662
|
-
status:
|
|
2218
|
+
status: "draft" | "published" | "expired" | "archived";
|
|
1663
2219
|
/** @description Identifier of the company the job belongs to, or `null` if no company is attached. */
|
|
1664
2220
|
companyId: string | null;
|
|
1665
2221
|
/**
|
|
1666
2222
|
* @description Employment type of the role, or `null` if not specified.
|
|
1667
2223
|
* @enum {string|null}
|
|
1668
2224
|
*/
|
|
1669
|
-
employmentType:
|
|
2225
|
+
employmentType: "full_time" | "part_time" | "contract" | "internship" | "temporary" | "volunteer" | "other" | null;
|
|
1670
2226
|
/**
|
|
1671
2227
|
* @description Whether the role is on-site, hybrid, or fully remote, or `null` if not specified.
|
|
1672
2228
|
* @enum {string|null}
|
|
1673
2229
|
*/
|
|
1674
|
-
remoteOption:
|
|
2230
|
+
remoteOption: "on_site" | "hybrid" | "remote" | null;
|
|
1675
2231
|
/**
|
|
1676
2232
|
* @description Seniority level of the role, or `null` if not specified.
|
|
1677
2233
|
* @enum {string|null}
|
|
1678
2234
|
*/
|
|
1679
|
-
seniority:
|
|
2235
|
+
seniority: "entry_level" | "associate" | "mid_level" | "senior" | "lead" | "principal" | "director" | "executive" | null;
|
|
1680
2236
|
/** @description Minimum salary in `salaryCurrency` units, or `null` if not specified. */
|
|
1681
2237
|
salaryMin: number | null;
|
|
1682
2238
|
/** @description Maximum salary in `salaryCurrency` units, or `null` if not specified. */
|
|
@@ -1687,7 +2243,7 @@ interface components {
|
|
|
1687
2243
|
* @description Period the salary range is quoted against, or `null` if no salary is specified.
|
|
1688
2244
|
* @enum {string|null}
|
|
1689
2245
|
*/
|
|
1690
|
-
salaryTimeframe:
|
|
2246
|
+
salaryTimeframe: "per_year" | "per_month" | "per_week" | "per_day" | "per_hour" | null;
|
|
1691
2247
|
/** @description Whether the job appears in featured slots on the public board. */
|
|
1692
2248
|
isFeatured: boolean;
|
|
1693
2249
|
/** @description Time at which the job was first published, or `null` if not yet published. ISO 8601 datetime. */
|
|
@@ -1698,7 +2254,7 @@ interface components {
|
|
|
1698
2254
|
createdAt: string;
|
|
1699
2255
|
/** @description Time at which the job was last updated. ISO 8601 datetime. */
|
|
1700
2256
|
updatedAt: string;
|
|
1701
|
-
links: components[
|
|
2257
|
+
links: components["schemas"]["PublicJobLinks"];
|
|
1702
2258
|
/** @description Long-form description of the role, or `null` if not specified. */
|
|
1703
2259
|
description: string | null;
|
|
1704
2260
|
/** @description Where candidates apply, or `null` if not specified. An HTTPS URL or `mailto:` URI. */
|
|
@@ -1726,9 +2282,9 @@ interface components {
|
|
|
1726
2282
|
* @description Whether the employer sponsors visas for remote candidates. One of `yes`, `no`, or `unknown`.
|
|
1727
2283
|
* @enum {string}
|
|
1728
2284
|
*/
|
|
1729
|
-
remoteSponsorship:
|
|
2285
|
+
remoteSponsorship: "yes" | "no" | "unknown";
|
|
1730
2286
|
/** @description Required education credentials. Each value is one of `high_school`, `associate_degree`, `bachelor_degree`, `professional_certificate`, `postgraduate_degree`, or `no_requirements`. */
|
|
1731
|
-
educationRequirements: (
|
|
2287
|
+
educationRequirements: ("high_school" | "associate_degree" | "bachelor_degree" | "professional_certificate" | "postgraduate_degree" | "no_requirements")[];
|
|
1732
2288
|
/** @description Minimum required experience in months, or `null` if not specified. */
|
|
1733
2289
|
experienceMonths: number | null;
|
|
1734
2290
|
/** @description If `true`, equivalent experience may substitute for the listed education requirements. `null` if not specified. */
|
|
@@ -1737,12 +2293,12 @@ interface components {
|
|
|
1737
2293
|
* @description Period denominator for `inOfficeFrequency`, or `null` if not specified.
|
|
1738
2294
|
* @enum {string|null}
|
|
1739
2295
|
*/
|
|
1740
|
-
inOfficePeriod:
|
|
2296
|
+
inOfficePeriod: "per_week" | "per_month" | "per_year" | null;
|
|
1741
2297
|
/** @description How often the candidate must be in-office over `inOfficePeriod`, or `null` if not specified. */
|
|
1742
2298
|
inOfficeFrequency: number | null;
|
|
1743
|
-
company: components[
|
|
2299
|
+
company: components["schemas"]["JobCompany"];
|
|
1744
2300
|
/** @description Physical office locations associated with the job. */
|
|
1745
|
-
officeLocations: components[
|
|
2301
|
+
officeLocations: components["schemas"]["JobOfficeLocation"][];
|
|
1746
2302
|
/** @description Resolved job categories (slug + board display name) — same shape as the card; names joined server-side. */
|
|
1747
2303
|
categories: {
|
|
1748
2304
|
slug: string;
|
|
@@ -1761,21 +2317,21 @@ interface components {
|
|
|
1761
2317
|
};
|
|
1762
2318
|
PublicJobAlertConfirmation: {
|
|
1763
2319
|
/** @enum {string} */
|
|
1764
|
-
object:
|
|
2320
|
+
object: "job_alert_confirmation";
|
|
1765
2321
|
/**
|
|
1766
2322
|
* @description Outcome of the confirmation. Always returned with HTTP 200 so the consumer renders by status (the token may be valid, stale, or unknown).
|
|
1767
2323
|
* @enum {string}
|
|
1768
2324
|
*/
|
|
1769
|
-
status:
|
|
2325
|
+
status: "confirmed" | "already_confirmed" | "expired" | "not_found";
|
|
1770
2326
|
};
|
|
1771
2327
|
PublicJobAlertManageResult: {
|
|
1772
2328
|
/** @enum {string} */
|
|
1773
|
-
object:
|
|
2329
|
+
object: "job_alert_manage_result";
|
|
1774
2330
|
success: boolean;
|
|
1775
2331
|
};
|
|
1776
2332
|
PublicJobAlertManageState: {
|
|
1777
2333
|
/** @enum {string} */
|
|
1778
|
-
object:
|
|
2334
|
+
object: "job_alert_manage_state";
|
|
1779
2335
|
email: string;
|
|
1780
2336
|
confirmed: boolean;
|
|
1781
2337
|
unsubscribed: boolean;
|
|
@@ -1798,18 +2354,18 @@ interface components {
|
|
|
1798
2354
|
};
|
|
1799
2355
|
PublicJobAlertResend: {
|
|
1800
2356
|
/** @enum {string} */
|
|
1801
|
-
object:
|
|
2357
|
+
object: "job_alert_confirmation_resend";
|
|
1802
2358
|
/** @enum {string} */
|
|
1803
|
-
status:
|
|
2359
|
+
status: "sent" | "not_found" | "already_confirmed" | "throttled" | "send_failed";
|
|
1804
2360
|
};
|
|
1805
2361
|
PublicJobAlertSubscription: {
|
|
1806
2362
|
/** @enum {string} */
|
|
1807
|
-
object:
|
|
2363
|
+
object: "job_alert_subscription";
|
|
1808
2364
|
/**
|
|
1809
2365
|
* @description `created` on a new subscription; `duplicate` if it existed.
|
|
1810
2366
|
* @enum {string}
|
|
1811
2367
|
*/
|
|
1812
|
-
status:
|
|
2368
|
+
status: "created" | "duplicate";
|
|
1813
2369
|
/** @description True when a double-opt-in confirmation email was sent. */
|
|
1814
2370
|
requiresConfirmation: boolean;
|
|
1815
2371
|
/** @description True if the subscriber was already email-confirmed. */
|
|
@@ -1818,7 +2374,7 @@ interface components {
|
|
|
1818
2374
|
PublicJobCard: {
|
|
1819
2375
|
id: string;
|
|
1820
2376
|
/** @enum {string} */
|
|
1821
|
-
object:
|
|
2377
|
+
object: "job_card";
|
|
1822
2378
|
slug: string;
|
|
1823
2379
|
title: string;
|
|
1824
2380
|
/**
|
|
@@ -1827,9 +2383,9 @@ interface components {
|
|
|
1827
2383
|
*/
|
|
1828
2384
|
publishedAt: string | null;
|
|
1829
2385
|
/** @enum {string|null} */
|
|
1830
|
-
employmentType:
|
|
2386
|
+
employmentType: "full_time" | "part_time" | "contract" | "internship" | "temporary" | "volunteer" | "other" | null;
|
|
1831
2387
|
/** @enum {string|null} */
|
|
1832
|
-
remoteOption:
|
|
2388
|
+
remoteOption: "on_site" | "hybrid" | "remote" | null;
|
|
1833
2389
|
/** @description Display region label for remote jobs (e.g. "United States", "Worldwide"); `null` for non-remote jobs. */
|
|
1834
2390
|
remoteLocationLabel: string | null;
|
|
1835
2391
|
salaryMin: number | null;
|
|
@@ -1872,7 +2428,7 @@ interface components {
|
|
|
1872
2428
|
};
|
|
1873
2429
|
PublicPlace: {
|
|
1874
2430
|
/** @enum {string} */
|
|
1875
|
-
object:
|
|
2431
|
+
object: "place";
|
|
1876
2432
|
/** @description Stable place identity (locations-tree edge endpoint). */
|
|
1877
2433
|
id: string;
|
|
1878
2434
|
/** @description Parent place's `id`; `null` for a root place. */
|
|
@@ -1893,17 +2449,17 @@ interface components {
|
|
|
1893
2449
|
* @description Result ordering. `relevance` (default) ranks by search relevance with featured jobs first; `newest` orders by publish date and `salary_high` by salary (no-salary jobs last). Any explicit sort unpins featured jobs.
|
|
1894
2450
|
* @enum {string}
|
|
1895
2451
|
*/
|
|
1896
|
-
sort?:
|
|
2452
|
+
sort?: "relevance" | "newest" | "salary_high";
|
|
1897
2453
|
/** @description Optional faceted filters to narrow search results. Multi-value filters match jobs in any of the supplied values; range filters accept `gte` and `lte` bounds. */
|
|
1898
2454
|
filters?: {
|
|
1899
2455
|
/** @description Only return jobs at any of the given company IDs. Up to 10 values. */
|
|
1900
2456
|
companyId?: string[];
|
|
1901
2457
|
/** @description Only return jobs with any of the given remote-work options. Up to 10 values. */
|
|
1902
|
-
remoteOption?: (
|
|
2458
|
+
remoteOption?: ("on_site" | "hybrid" | "remote")[];
|
|
1903
2459
|
/** @description Only return jobs with any of the given employment types. Up to 10 values. */
|
|
1904
|
-
employmentType?: (
|
|
2460
|
+
employmentType?: ("full_time" | "part_time" | "contract" | "internship" | "temporary" | "volunteer" | "other")[];
|
|
1905
2461
|
/** @description Only return jobs at any of the given seniority levels. Up to 10 values. */
|
|
1906
|
-
seniority?: (
|
|
2462
|
+
seniority?: ("entry_level" | "associate" | "mid_level" | "senior" | "lead" | "principal" | "director" | "executive")[];
|
|
1907
2463
|
/** @description Range filter on the job's `publishedAt` timestamp. */
|
|
1908
2464
|
publishedAt?: {
|
|
1909
2465
|
/**
|
|
@@ -1937,9 +2493,9 @@ interface components {
|
|
|
1937
2493
|
};
|
|
1938
2494
|
PublicTaxonomyResolution: {
|
|
1939
2495
|
/** @enum {string} */
|
|
1940
|
-
object:
|
|
2496
|
+
object: "taxonomy_resolution";
|
|
1941
2497
|
/** @enum {string} */
|
|
1942
|
-
type:
|
|
2498
|
+
type: "category" | "skill" | "place" | "market";
|
|
1943
2499
|
/** @description Immutable English source slug — the semantic-search key. */
|
|
1944
2500
|
sourceSlug: string;
|
|
1945
2501
|
/** @description Board-language URL slug (the `<link rel=canonical>` target). */
|
|
@@ -1948,7 +2504,7 @@ interface components {
|
|
|
1948
2504
|
displayName: string;
|
|
1949
2505
|
/** @description The canonical slug to emit a 308 redirect to when the inbound slug differs; `null` otherwise. */
|
|
1950
2506
|
redirectTo: string | null;
|
|
1951
|
-
geo: components[
|
|
2507
|
+
geo: components["schemas"]["TaxonomyGeo"];
|
|
1952
2508
|
};
|
|
1953
2509
|
PublicVerifyBoardPasswordBody: {
|
|
1954
2510
|
/** @description The board password. */
|
|
@@ -1963,7 +2519,7 @@ interface components {
|
|
|
1963
2519
|
};
|
|
1964
2520
|
RedirectResolution: {
|
|
1965
2521
|
/** @enum {string} */
|
|
1966
|
-
object:
|
|
2522
|
+
object: "redirect_resolution";
|
|
1967
2523
|
path: string;
|
|
1968
2524
|
/** @description The redirect target (board-relative), or `null` when no redirect matches. The consumer 308s to `target`, or 404s when `null`. */
|
|
1969
2525
|
target: string | null;
|
|
@@ -1984,6 +2540,12 @@ interface components {
|
|
|
1984
2540
|
/** @description Human-readable display label. */
|
|
1985
2541
|
label: string;
|
|
1986
2542
|
};
|
|
2543
|
+
ReorderPipelineStagesBody: {
|
|
2544
|
+
/** @description The job whose stages are reordered. */
|
|
2545
|
+
jobId: string;
|
|
2546
|
+
/** @description Every stage id of the job, in the new order. */
|
|
2547
|
+
orderedStageIds: string[];
|
|
2548
|
+
};
|
|
1987
2549
|
ResourceLinks: {
|
|
1988
2550
|
/**
|
|
1989
2551
|
* Format: uri
|
|
@@ -2003,7 +2565,7 @@ interface components {
|
|
|
2003
2565
|
* @description Hint indicating whether `token` is an `access_token` or `refresh_token`. Optional.
|
|
2004
2566
|
* @enum {string}
|
|
2005
2567
|
*/
|
|
2006
|
-
token_type_hint?:
|
|
2568
|
+
token_type_hint?: "access_token" | "refresh_token";
|
|
2007
2569
|
/** @description OAuth client identifier. May be supplied here or via HTTP Basic authentication. */
|
|
2008
2570
|
client_id?: string;
|
|
2009
2571
|
/** @description OAuth client secret. May be supplied here or via HTTP Basic authentication. */
|
|
@@ -2011,7 +2573,7 @@ interface components {
|
|
|
2011
2573
|
};
|
|
2012
2574
|
SalaryCompanyIndexItem: {
|
|
2013
2575
|
/** @enum {string} */
|
|
2014
|
-
object:
|
|
2576
|
+
object: "salary_company";
|
|
2015
2577
|
companySlug: string;
|
|
2016
2578
|
companyName: string;
|
|
2017
2579
|
logoPath: string | null;
|
|
@@ -2022,7 +2584,7 @@ interface components {
|
|
|
2022
2584
|
};
|
|
2023
2585
|
SalaryLocationIndexItem: {
|
|
2024
2586
|
/** @enum {string} */
|
|
2025
|
-
object:
|
|
2587
|
+
object: "salary_location";
|
|
2026
2588
|
placeSlug: string;
|
|
2027
2589
|
placeName: string;
|
|
2028
2590
|
/** @description Slug of the parent place; `null` for a top-level node. */
|
|
@@ -2033,7 +2595,7 @@ interface components {
|
|
|
2033
2595
|
};
|
|
2034
2596
|
SalarySkillIndexItem: {
|
|
2035
2597
|
/** @enum {string} */
|
|
2036
|
-
object:
|
|
2598
|
+
object: "salary_skill";
|
|
2037
2599
|
slug: string;
|
|
2038
2600
|
name: string;
|
|
2039
2601
|
avgSalaryMin: number;
|
|
@@ -2045,7 +2607,7 @@ interface components {
|
|
|
2045
2607
|
};
|
|
2046
2608
|
SalaryTitleIndexItem: {
|
|
2047
2609
|
/** @enum {string} */
|
|
2048
|
-
object:
|
|
2610
|
+
object: "salary_title";
|
|
2049
2611
|
slug: string;
|
|
2050
2612
|
name: string;
|
|
2051
2613
|
avgSalaryMin: number;
|
|
@@ -2057,7 +2619,7 @@ interface components {
|
|
|
2057
2619
|
};
|
|
2058
2620
|
SalesLedPlan: {
|
|
2059
2621
|
/** @enum {string} */
|
|
2060
|
-
object:
|
|
2622
|
+
object: "sales_led_plan";
|
|
2061
2623
|
id: string;
|
|
2062
2624
|
name: string;
|
|
2063
2625
|
description: string;
|
|
@@ -2076,17 +2638,17 @@ interface components {
|
|
|
2076
2638
|
/** @description Saved-job row ID. */
|
|
2077
2639
|
id: string;
|
|
2078
2640
|
/** @enum {string} */
|
|
2079
|
-
object:
|
|
2641
|
+
object: "saved_job";
|
|
2080
2642
|
/** @description The saved job — also the DELETE path key. */
|
|
2081
2643
|
jobId: string;
|
|
2082
2644
|
/** Format: date-time */
|
|
2083
2645
|
savedAt: string;
|
|
2084
|
-
job: components[
|
|
2646
|
+
job: components["schemas"]["PublicJob"];
|
|
2085
2647
|
};
|
|
2086
2648
|
SearchBlogPostsBody: {
|
|
2087
2649
|
query?: string;
|
|
2088
2650
|
/** @enum {string} */
|
|
2089
|
-
status?:
|
|
2651
|
+
status?: "draft" | "scheduled" | "published";
|
|
2090
2652
|
cursor?: string | null;
|
|
2091
2653
|
limit?: number;
|
|
2092
2654
|
};
|
|
@@ -2107,15 +2669,15 @@ interface components {
|
|
|
2107
2669
|
/** @description Optional faceted filters to narrow search results. Multi-value filters match jobs in any of the supplied values; range filters accept `gte` and `lte` bounds. */
|
|
2108
2670
|
filters?: {
|
|
2109
2671
|
/** @description Only return jobs in any of the given statuses. Up to 10 values. */
|
|
2110
|
-
status?: (
|
|
2672
|
+
status?: ("draft" | "published" | "expired" | "archived")[];
|
|
2111
2673
|
/** @description Only return jobs at any of the given company IDs. Up to 10 values. */
|
|
2112
2674
|
companyId?: string[];
|
|
2113
2675
|
/** @description Only return jobs with any of the given remote-work options. Up to 10 values. */
|
|
2114
|
-
remoteOption?: (
|
|
2676
|
+
remoteOption?: ("on_site" | "hybrid" | "remote")[];
|
|
2115
2677
|
/** @description Only return jobs with any of the given employment types. Up to 10 values. */
|
|
2116
|
-
employmentType?: (
|
|
2678
|
+
employmentType?: ("full_time" | "part_time" | "contract" | "internship" | "temporary" | "volunteer" | "other")[];
|
|
2117
2679
|
/** @description Only return jobs at any of the given seniority levels. Up to 10 values. */
|
|
2118
|
-
seniority?: (
|
|
2680
|
+
seniority?: ("entry_level" | "associate" | "mid_level" | "senior" | "lead" | "principal" | "director" | "executive")[];
|
|
2119
2681
|
/** @description Range filter on the job's `publishedAt` timestamp. */
|
|
2120
2682
|
publishedAt?: {
|
|
2121
2683
|
/**
|
|
@@ -2138,29 +2700,33 @@ interface components {
|
|
|
2138
2700
|
*/
|
|
2139
2701
|
limit?: number;
|
|
2140
2702
|
};
|
|
2703
|
+
SendWorkEmailBody: {
|
|
2704
|
+
/** Format: email */
|
|
2705
|
+
workEmail: string;
|
|
2706
|
+
};
|
|
2141
2707
|
SettingsAdsenseBody: {
|
|
2142
2708
|
/** @description Whether AdSense placements are rendered on the public board. */
|
|
2143
2709
|
adsenseEnabled?: boolean;
|
|
2144
2710
|
/** @description AdSense publisher ID in `ca-pub-XXXXXXXXXXXXXXXX` format. Pass an empty string or `null` to clear. */
|
|
2145
|
-
adsenseClientId?: string |
|
|
2711
|
+
adsenseClientId?: string | "" | unknown | unknown;
|
|
2146
2712
|
/** @description Map of placement key to slot configuration. Placement keys are lowercase alphanumeric with `-`, `_`, `.`, or `:`. */
|
|
2147
2713
|
adsenseSlots?: {
|
|
2148
|
-
[key: string]: components[
|
|
2714
|
+
[key: string]: components["schemas"]["SettingsAdsenseSlot"];
|
|
2149
2715
|
};
|
|
2150
2716
|
/** @description Contents to serve from `/ads.txt`. Up to 2,000 characters. Pass an empty string or `null` to clear. */
|
|
2151
|
-
adsTxt?: string |
|
|
2717
|
+
adsTxt?: string | "" | unknown | unknown;
|
|
2152
2718
|
};
|
|
2153
2719
|
SettingsAdsenseSlot: {
|
|
2154
2720
|
/** @description Whether this placement is rendered. */
|
|
2155
2721
|
enabled: boolean;
|
|
2156
2722
|
/** @description Ten-digit AdSense slot ID. Pass an empty string or `null` to clear. */
|
|
2157
|
-
slotId: string |
|
|
2723
|
+
slotId: string | "" | unknown | unknown;
|
|
2158
2724
|
/** @description AdSense layout type for the placement. */
|
|
2159
|
-
layout?: (
|
|
2725
|
+
layout?: ("auto" | "in-article" | "in-feed" | "fluid") | "" | unknown | unknown;
|
|
2160
2726
|
/** @description AdSense ad format. */
|
|
2161
|
-
format?: (
|
|
2727
|
+
format?: ("auto" | "horizontal" | "vertical" | "rectangle" | "responsive") | "" | unknown | unknown;
|
|
2162
2728
|
/** @description Visual style override for the placement. */
|
|
2163
|
-
style?: (
|
|
2729
|
+
style?: ("default" | "light" | "dark" | "contrast") | "" | unknown | unknown;
|
|
2164
2730
|
/** @description How often the placement is shown (e.g. once every N items). */
|
|
2165
2731
|
frequency?: number | unknown | unknown;
|
|
2166
2732
|
};
|
|
@@ -2194,7 +2760,7 @@ interface components {
|
|
|
2194
2760
|
};
|
|
2195
2761
|
SkillLocationSalary: {
|
|
2196
2762
|
/** @enum {string} */
|
|
2197
|
-
object:
|
|
2763
|
+
object: "skill_location_salary";
|
|
2198
2764
|
skillSourceSlug: string;
|
|
2199
2765
|
skillCanonicalSlug: string;
|
|
2200
2766
|
locationSourceSlug: string;
|
|
@@ -2261,16 +2827,16 @@ interface components {
|
|
|
2261
2827
|
};
|
|
2262
2828
|
SkillLocationsIndex: {
|
|
2263
2829
|
/** @enum {string} */
|
|
2264
|
-
object:
|
|
2830
|
+
object: "skill_locations_index";
|
|
2265
2831
|
sourceSlug: string;
|
|
2266
2832
|
canonicalSlug: string;
|
|
2267
2833
|
skillName: string;
|
|
2268
2834
|
currency: string;
|
|
2269
|
-
locations: components[
|
|
2835
|
+
locations: components["schemas"]["SalaryLocationIndexItem"][];
|
|
2270
2836
|
};
|
|
2271
2837
|
SkillSalaryDetail: {
|
|
2272
2838
|
/** @enum {string} */
|
|
2273
|
-
object:
|
|
2839
|
+
object: "skill_salary_detail";
|
|
2274
2840
|
/** @description Immutable English source slug — the salary-stats key. */
|
|
2275
2841
|
sourceSlug: string;
|
|
2276
2842
|
/** @description Board-language canonical URL slug — the starter 308 target. */
|
|
@@ -2333,7 +2899,7 @@ interface components {
|
|
|
2333
2899
|
};
|
|
2334
2900
|
TalentDirectoryEntry: {
|
|
2335
2901
|
/** @enum {string} */
|
|
2336
|
-
object:
|
|
2902
|
+
object: "talent_directory_entry";
|
|
2337
2903
|
handle: string | null;
|
|
2338
2904
|
displayName: string | null;
|
|
2339
2905
|
headline: string | null;
|
|
@@ -2356,7 +2922,7 @@ interface components {
|
|
|
2356
2922
|
};
|
|
2357
2923
|
TalentProfile: {
|
|
2358
2924
|
/** @enum {string} */
|
|
2359
|
-
object:
|
|
2925
|
+
object: "talent_profile";
|
|
2360
2926
|
handle: string | null;
|
|
2361
2927
|
displayName: string | null;
|
|
2362
2928
|
headline: string | null;
|
|
@@ -2415,7 +2981,7 @@ interface components {
|
|
|
2415
2981
|
} | null;
|
|
2416
2982
|
TitleLocationSalary: {
|
|
2417
2983
|
/** @enum {string} */
|
|
2418
|
-
object:
|
|
2984
|
+
object: "title_location_salary";
|
|
2419
2985
|
categorySourceSlug: string;
|
|
2420
2986
|
categoryCanonicalSlug: string;
|
|
2421
2987
|
locationSourceSlug: string;
|
|
@@ -2482,16 +3048,16 @@ interface components {
|
|
|
2482
3048
|
};
|
|
2483
3049
|
TitleLocationsIndex: {
|
|
2484
3050
|
/** @enum {string} */
|
|
2485
|
-
object:
|
|
3051
|
+
object: "title_locations_index";
|
|
2486
3052
|
sourceSlug: string;
|
|
2487
3053
|
canonicalSlug: string;
|
|
2488
3054
|
categoryName: string;
|
|
2489
3055
|
currency: string;
|
|
2490
|
-
locations: components[
|
|
3056
|
+
locations: components["schemas"]["SalaryLocationIndexItem"][];
|
|
2491
3057
|
};
|
|
2492
3058
|
TitleSalaryDetail: {
|
|
2493
3059
|
/** @enum {string} */
|
|
2494
|
-
object:
|
|
3060
|
+
object: "title_salary_detail";
|
|
2495
3061
|
/** @description Immutable English source slug — the salary-stats key. */
|
|
2496
3062
|
sourceSlug: string;
|
|
2497
3063
|
/** @description Board-language canonical URL slug — the starter 308 target. */
|
|
@@ -2563,7 +3129,7 @@ interface components {
|
|
|
2563
3129
|
* @description OAuth grant type. Either `authorization_code` to exchange an authorization code for a new token pair, or `refresh_token` to exchange a refresh token for a new token pair.
|
|
2564
3130
|
* @enum {string}
|
|
2565
3131
|
*/
|
|
2566
|
-
grant_type:
|
|
3132
|
+
grant_type: "authorization_code" | "refresh_token";
|
|
2567
3133
|
/** @description Authorization code returned from the authorization endpoint. Required when `grant_type` is `authorization_code`. */
|
|
2568
3134
|
code?: string;
|
|
2569
3135
|
/** @description Redirect URI used in the original authorization request. Must match exactly. Required when `grant_type` is `authorization_code`. */
|
|
@@ -2586,7 +3152,7 @@ interface components {
|
|
|
2586
3152
|
* @description Always `Bearer`.
|
|
2587
3153
|
* @enum {string}
|
|
2588
3154
|
*/
|
|
2589
|
-
token_type:
|
|
3155
|
+
token_type: "Bearer";
|
|
2590
3156
|
/** @description Lifetime of the access token, in seconds. */
|
|
2591
3157
|
expires_in: number;
|
|
2592
3158
|
/** @description Newly issued refresh token. Single-use; reusing it revokes the entire token chain. */
|
|
@@ -2594,6 +3160,12 @@ interface components {
|
|
|
2594
3160
|
/** @description Space-separated list of scopes granted on the issued token. */
|
|
2595
3161
|
scope: string;
|
|
2596
3162
|
};
|
|
3163
|
+
UnsubscribeBody: {
|
|
3164
|
+
boardUserId: string;
|
|
3165
|
+
/** @enum {string} */
|
|
3166
|
+
channel: "messageEmails" | "applicationEmails";
|
|
3167
|
+
token: string;
|
|
3168
|
+
};
|
|
2597
3169
|
UpdateAuthorBody: {
|
|
2598
3170
|
/** @description URL-friendly slug for the author. Auto-generated from `name` when omitted. */
|
|
2599
3171
|
slug?: string;
|
|
@@ -2608,7 +3180,7 @@ interface components {
|
|
|
2608
3180
|
* @description Author visibility status. One of `active` or `inactive`.
|
|
2609
3181
|
* @enum {string}
|
|
2610
3182
|
*/
|
|
2611
|
-
status?:
|
|
3183
|
+
status?: "active" | "inactive";
|
|
2612
3184
|
/** @description Storage ID of an uploaded avatar image (from `POST /v1/media/upload`). Pass `null` to clear an existing avatar. */
|
|
2613
3185
|
avatarStorageId?: string | null;
|
|
2614
3186
|
/** @description The author's personal website URL. Normalized to a canonical URL when stored. */
|
|
@@ -2646,7 +3218,21 @@ interface components {
|
|
|
2646
3218
|
publishedAt?: string;
|
|
2647
3219
|
title?: string;
|
|
2648
3220
|
/** @enum {string} */
|
|
2649
|
-
status?:
|
|
3221
|
+
status?: "draft" | "scheduled" | "published";
|
|
3222
|
+
};
|
|
3223
|
+
UpdateCandidateProfileBody: {
|
|
3224
|
+
displayName?: string;
|
|
3225
|
+
bio?: string;
|
|
3226
|
+
handle?: string;
|
|
3227
|
+
headline?: string;
|
|
3228
|
+
location?: string;
|
|
3229
|
+
/** @enum {string} */
|
|
3230
|
+
profileVisibility?: "hidden" | "logged_in_only" | "public";
|
|
3231
|
+
/** @enum {string} */
|
|
3232
|
+
jobSearchStatus?: "actively_looking" | "open_to_offers" | "not_looking";
|
|
3233
|
+
/** @enum {string} */
|
|
3234
|
+
jobSearchStatusVisibleTo?: "everyone" | "employers_only";
|
|
3235
|
+
openToRelocate?: boolean;
|
|
2650
3236
|
};
|
|
2651
3237
|
UpdateCompanyBody: {
|
|
2652
3238
|
/** @description Public company website URL. Normalized to a canonical apex domain when stored. */
|
|
@@ -2666,6 +3252,40 @@ interface components {
|
|
|
2666
3252
|
/** @description URL-friendly slug for the company. */
|
|
2667
3253
|
slug?: string;
|
|
2668
3254
|
};
|
|
3255
|
+
UpdateEducationBody: {
|
|
3256
|
+
institutionName?: string;
|
|
3257
|
+
institutionUrl?: string;
|
|
3258
|
+
degree?: string;
|
|
3259
|
+
fieldOfStudy?: string;
|
|
3260
|
+
grade?: string;
|
|
3261
|
+
activitiesAndSocieties?: string;
|
|
3262
|
+
startDate?: string;
|
|
3263
|
+
endDate?: string;
|
|
3264
|
+
description?: string;
|
|
3265
|
+
sortOrder?: number;
|
|
3266
|
+
};
|
|
3267
|
+
UpdateEmployerCompanyBody: {
|
|
3268
|
+
name?: string;
|
|
3269
|
+
description?: string;
|
|
3270
|
+
website?: string;
|
|
3271
|
+
summary?: string;
|
|
3272
|
+
xUrl?: string;
|
|
3273
|
+
linkedinUrl?: string;
|
|
3274
|
+
facebookUrl?: string;
|
|
3275
|
+
};
|
|
3276
|
+
UpdateExperienceBody: {
|
|
3277
|
+
title?: string;
|
|
3278
|
+
companyName?: string;
|
|
3279
|
+
startDate?: string;
|
|
3280
|
+
companyUrl?: string;
|
|
3281
|
+
location?: string;
|
|
3282
|
+
employmentType?: string;
|
|
3283
|
+
locationType?: string;
|
|
3284
|
+
foundVia?: string;
|
|
3285
|
+
endDate?: string;
|
|
3286
|
+
description?: string;
|
|
3287
|
+
sortOrder?: number;
|
|
3288
|
+
};
|
|
2669
3289
|
UpdateJobBody: {
|
|
2670
3290
|
/** @description Identifier of the company the job belongs to. */
|
|
2671
3291
|
companyId?: string;
|
|
@@ -2677,22 +3297,22 @@ interface components {
|
|
|
2677
3297
|
* @description Employment type of the role.
|
|
2678
3298
|
* @enum {string}
|
|
2679
3299
|
*/
|
|
2680
|
-
employmentType?:
|
|
3300
|
+
employmentType?: "full_time" | "part_time" | "contract" | "internship" | "temporary" | "volunteer" | "other";
|
|
2681
3301
|
/**
|
|
2682
3302
|
* @description Whether the role is on-site, hybrid, or fully remote.
|
|
2683
3303
|
* @enum {string}
|
|
2684
3304
|
*/
|
|
2685
|
-
remoteOption?:
|
|
3305
|
+
remoteOption?: "on_site" | "hybrid" | "remote";
|
|
2686
3306
|
/** @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. */
|
|
2687
3307
|
remotePermits?: {
|
|
2688
3308
|
/** @enum {string} */
|
|
2689
|
-
type:
|
|
3309
|
+
type: "worldwide" | "world_region" | "continent" | "region" | "subregion" | "subdivision" | "country" | "custom";
|
|
2690
3310
|
value: string;
|
|
2691
3311
|
}[];
|
|
2692
3312
|
/** @description Where remote candidates must be timezone-compatible. Each entry mirrors the `remotePermits` shape (`world_region`, `continent`, `region`, `subregion`, `country`) plus `timezone` (specific IANA name with optional `plusMinus` ±N hours expansion) and `all` (every timezone — equivalent of `worldwide` for permits). The canonical `{type, value}` set is published at `GET /v1/taxonomies/remote-timezones`. **When omitted on POST**, the server auto-derives this from `remotePermits` (or `[{all,all}]` if neither was provided). **PATCH never auto-re-derives** — once set, only an explicit replacement updates the stored value, even when `remotePermits` changes. Pass `[]` to clear an existing constraint. */
|
|
2693
3313
|
remoteTimezones?: {
|
|
2694
3314
|
/** @enum {string} */
|
|
2695
|
-
type:
|
|
3315
|
+
type: "all" | "world_region" | "continent" | "region" | "subregion" | "country" | "timezone";
|
|
2696
3316
|
value: string;
|
|
2697
3317
|
plusMinus?: number;
|
|
2698
3318
|
}[];
|
|
@@ -2700,12 +3320,12 @@ interface components {
|
|
|
2700
3320
|
* @description Whether the employer sponsors visas for remote candidates. One of `yes`, `no`, or `unknown`.
|
|
2701
3321
|
* @enum {string}
|
|
2702
3322
|
*/
|
|
2703
|
-
remoteSponsorship?:
|
|
3323
|
+
remoteSponsorship?: "yes" | "no" | "unknown";
|
|
2704
3324
|
/**
|
|
2705
3325
|
* @description Seniority level of the role.
|
|
2706
3326
|
* @enum {string}
|
|
2707
3327
|
*/
|
|
2708
|
-
seniority?:
|
|
3328
|
+
seniority?: "entry_level" | "associate" | "mid_level" | "senior" | "lead" | "principal" | "director" | "executive";
|
|
2709
3329
|
/** @description Where candidates apply. Accepts an HTTPS URL, a `mailto:` URI, or a bare email address (which is normalized to `mailto:` form). */
|
|
2710
3330
|
applicationUrl?: string;
|
|
2711
3331
|
/** @description Minimum salary, in `salaryCurrency` units. */
|
|
@@ -2718,7 +3338,7 @@ interface components {
|
|
|
2718
3338
|
* @description Period the `salaryMin` and `salaryMax` figures are quoted against.
|
|
2719
3339
|
* @enum {string}
|
|
2720
3340
|
*/
|
|
2721
|
-
salaryTimeframe?:
|
|
3341
|
+
salaryTimeframe?: "per_year" | "per_month" | "per_week" | "per_day" | "per_hour";
|
|
2722
3342
|
/** @description Whether the job appears in featured slots on the public board. */
|
|
2723
3343
|
isFeatured?: boolean;
|
|
2724
3344
|
/** @description Job expiry as a Unix epoch in milliseconds. On create, omitted or `null` defaults to 30 days from creation. On PATCH, pass `null` to clear an existing expiry. Past timestamps remove the job from the public board. */
|
|
@@ -2726,7 +3346,7 @@ interface components {
|
|
|
2726
3346
|
/** @description Time at which the job was first published, as a Unix epoch in milliseconds. When omitted on create with `status: "published"`, the server stamps the current time. Useful for bulk-importing historical jobs while preserving original publication dates. PATCH may overwrite an existing value but cannot clear it. */
|
|
2727
3347
|
publishedAt?: number;
|
|
2728
3348
|
/** @description Required education credentials. Each value is one of `high_school`, `associate_degree`, `bachelor_degree`, `professional_certificate`, `postgraduate_degree`, or `no_requirements`. */
|
|
2729
|
-
educationRequirements?: (
|
|
3349
|
+
educationRequirements?: ("high_school" | "associate_degree" | "bachelor_degree" | "professional_certificate" | "postgraduate_degree" | "no_requirements")[];
|
|
2730
3350
|
/** @description Minimum required experience, expressed in months. */
|
|
2731
3351
|
experienceMonths?: number;
|
|
2732
3352
|
/** @description If `true`, equivalent experience may substitute for the listed education requirements. */
|
|
@@ -2735,11 +3355,11 @@ interface components {
|
|
|
2735
3355
|
* @description Period denominator for `inOfficeFrequency`.
|
|
2736
3356
|
* @enum {string}
|
|
2737
3357
|
*/
|
|
2738
|
-
inOfficePeriod?:
|
|
3358
|
+
inOfficePeriod?: "per_week" | "per_month" | "per_year";
|
|
2739
3359
|
/** @description How often the candidate must be in-office over `inOfficePeriod`. */
|
|
2740
3360
|
inOfficeFrequency?: number;
|
|
2741
3361
|
/** @description Physical office locations associated with the job. Each entry is forward-geocoded server-side; a country mismatch returns `400 jobs_unresolvable_location`. */
|
|
2742
|
-
officeLocations?: components[
|
|
3362
|
+
officeLocations?: components["schemas"]["JobOfficeLocationInput"][];
|
|
2743
3363
|
/** @description An external identifier for the job from your own system, such as an ATS requisition ID. Use this value to look up the job later via `GET /v1/jobs?externalId=...` for deduplication. Scoped per-account: two different accounts may reuse the same `externalId` without collision. Up to 255 characters. */
|
|
2744
3364
|
externalId?: string;
|
|
2745
3365
|
/** @description Board-defined custom-field values, keyed by the field `key` (definitions, including type and option keys, are published at `GET /v1/settings/job-form`). Writes are **additive**: on `PATCH` a key you send is set/overwritten and a key you omit is preserved (unsent keys are never cleared); on `POST` this initializes the bag. Send a key with an intentional-empty value — `null`, `""`, or `[]` — to **clear** it (`""`/`null` clear any type; `[]` clears a `multi_select`); `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 wrong-typed value is rejected (`custom_field_wrong_type`), never silently cleared. Unknown keys are ignored. The stored bag never contains `null`/empty values. */
|
|
@@ -2749,6 +3369,24 @@ interface components {
|
|
|
2749
3369
|
/** @description The job title. */
|
|
2750
3370
|
title?: string;
|
|
2751
3371
|
};
|
|
3372
|
+
UpdateLanguagesBody: {
|
|
3373
|
+
languages: {
|
|
3374
|
+
name: string;
|
|
3375
|
+
proficiency: string;
|
|
3376
|
+
}[];
|
|
3377
|
+
};
|
|
3378
|
+
UpdateNotificationPreferenceBody: {
|
|
3379
|
+
/** @enum {string} */
|
|
3380
|
+
channel: "messageEmails" | "applicationEmails";
|
|
3381
|
+
subscribed: boolean;
|
|
3382
|
+
};
|
|
3383
|
+
UpdatePipelineStageBody: {
|
|
3384
|
+
label?: string;
|
|
3385
|
+
hidden?: boolean;
|
|
3386
|
+
};
|
|
3387
|
+
UpdateSkillsBody: {
|
|
3388
|
+
skills: string[];
|
|
3389
|
+
};
|
|
2752
3390
|
UpdateTagBody: {
|
|
2753
3391
|
/** @description URL-friendly slug for the tag. Auto-generated from `name` when omitted. */
|
|
2754
3392
|
slug?: string;
|
|
@@ -2758,7 +3396,7 @@ interface components {
|
|
|
2758
3396
|
* @description Tag visibility. One of `public` or `internal`.
|
|
2759
3397
|
* @enum {string}
|
|
2760
3398
|
*/
|
|
2761
|
-
visibility?:
|
|
3399
|
+
visibility?: "public" | "internal";
|
|
2762
3400
|
/** @description SEO meta title for the tag page. */
|
|
2763
3401
|
metaTitle?: string;
|
|
2764
3402
|
/** @description SEO meta description for the tag page. */
|
|
@@ -2773,7 +3411,7 @@ interface components {
|
|
|
2773
3411
|
* @description String representing the object's type. Objects of the same type share the same value.
|
|
2774
3412
|
* @enum {string}
|
|
2775
3413
|
*/
|
|
2776
|
-
object:
|
|
3414
|
+
object: "usage";
|
|
2777
3415
|
/** @description Number of jobs currently in `published` status. */
|
|
2778
3416
|
activeJobs: number;
|
|
2779
3417
|
/** @description Plan-enforced cap on the number of published jobs. */
|
|
@@ -2793,6 +3431,67 @@ interface components {
|
|
|
2793
3431
|
|
|
2794
3432
|
type Schemas = components['schemas'];
|
|
2795
3433
|
|
|
3434
|
+
type SavedJob = Schemas['SavedJob'];
|
|
3435
|
+
type SavedJobsListQuery = {
|
|
3436
|
+
cursor?: string;
|
|
3437
|
+
/** 1–100. */
|
|
3438
|
+
limit?: number;
|
|
3439
|
+
};
|
|
3440
|
+
type SaveJobBody = Schemas['SaveJobBody'];
|
|
3441
|
+
/** The authenticated user's lean candidate profile singleton. */
|
|
3442
|
+
type CandidateProfile = Schemas['CandidateProfile'];
|
|
3443
|
+
/** Optional-field merge-patch body for `board.me.profile.update`. */
|
|
3444
|
+
type UpdateCandidateProfileBody = Schemas['UpdateCandidateProfileBody'];
|
|
3445
|
+
/** The result of `board.me.profile.handleAvailable(handle)`. */
|
|
3446
|
+
type HandleAvailability = Schemas['HandleAvailability'];
|
|
3447
|
+
type CandidateExperience = Schemas['CandidateExperience'];
|
|
3448
|
+
type CreateExperienceBody = Schemas['CreateExperienceBody'];
|
|
3449
|
+
type UpdateExperienceBody = Schemas['UpdateExperienceBody'];
|
|
3450
|
+
type CandidateEducation = Schemas['CandidateEducation'];
|
|
3451
|
+
type CreateEducationBody = Schemas['CreateEducationBody'];
|
|
3452
|
+
type UpdateEducationBody = Schemas['UpdateEducationBody'];
|
|
3453
|
+
type CandidateSkill = Schemas['CandidateSkill'];
|
|
3454
|
+
type UpdateSkillsBody = Schemas['UpdateSkillsBody'];
|
|
3455
|
+
type CandidateLanguage = Schemas['CandidateLanguage'];
|
|
3456
|
+
type UpdateLanguagesBody = Schemas['UpdateLanguagesBody'];
|
|
3457
|
+
/** The result of `board.me.profile.uploadAvatar(file)`. */
|
|
3458
|
+
type CandidateAvatar = Schemas['CandidateAvatar'];
|
|
3459
|
+
type NotificationPreference = Schemas['NotificationPreference'];
|
|
3460
|
+
type UpdateNotificationPreferenceBody = Schemas['UpdateNotificationPreferenceBody'];
|
|
3461
|
+
type UnsubscribeBody = Schemas['UnsubscribeBody'];
|
|
3462
|
+
type CreateCompanyBody = Schemas['CreateCompanyBody'];
|
|
3463
|
+
type UpdateEmployerCompanyBody = Schemas['UpdateEmployerCompanyBody'];
|
|
3464
|
+
type SendWorkEmailBody = Schemas['SendWorkEmailBody'];
|
|
3465
|
+
type ConfirmWorkEmailBody = Schemas['ConfirmWorkEmailBody'];
|
|
3466
|
+
/** Query for `board.me.companies.search`. */
|
|
3467
|
+
type EmployerCompanySearchQuery = {
|
|
3468
|
+
q: string;
|
|
3469
|
+
/** 1–50. */
|
|
3470
|
+
limit?: number;
|
|
3471
|
+
};
|
|
3472
|
+
type CreateEmployerJobBody = Schemas['EmployerCreateJobBody'];
|
|
3473
|
+
type UpdateEmployerJobBody = Schemas['EmployerUpdateJobBody'];
|
|
3474
|
+
/** Query for `board.me.companies.jobs.list`. */
|
|
3475
|
+
type EmployerJobsListQuery = {
|
|
3476
|
+
/** 1–200 (default 200). */
|
|
3477
|
+
limit?: number;
|
|
3478
|
+
};
|
|
3479
|
+
type MoveApplicantStageBody = Schemas['MoveApplicantStageBody'];
|
|
3480
|
+
type BulkMoveApplicantsBody = Schemas['BulkMoveApplicantsBody'];
|
|
3481
|
+
type BulkRejectApplicantsBody = Schemas['BulkRejectApplicantsBody'];
|
|
3482
|
+
type AddApplicantNoteBody = Schemas['AddApplicantNoteBody'];
|
|
3483
|
+
type CreatePipelineStageBody = Schemas['CreatePipelineStageBody'];
|
|
3484
|
+
type UpdatePipelineStageBody = Schemas['UpdatePipelineStageBody'];
|
|
3485
|
+
type ReorderPipelineStagesBody = Schemas['ReorderPipelineStagesBody'];
|
|
3486
|
+
/** Query for `board.me.companies.applicants.list`. */
|
|
3487
|
+
type EmployerPipelineQuery = {
|
|
3488
|
+
/** The job id whose pipeline to read. */
|
|
3489
|
+
job: string;
|
|
3490
|
+
/** Filter to a single stage (systemStage key, custom stage id, or `applied`). */
|
|
3491
|
+
stage?: string;
|
|
3492
|
+
};
|
|
3493
|
+
type EmployerCheckoutBody = Schemas['EmployerCheckoutBody'];
|
|
3494
|
+
|
|
2796
3495
|
/**
|
|
2797
3496
|
* Stripe-shaped success envelopes (`01-conventions.md` §5.1). The
|
|
2798
3497
|
* server MAY add top-level fields; consumers MUST ignore unknown
|
|
@@ -3006,7 +3705,7 @@ declare function isConflict(e: unknown): e is BoardApiError;
|
|
|
3006
3705
|
* constant because the package is platform-neutral and cannot read
|
|
3007
3706
|
* package.json at runtime.
|
|
3008
3707
|
*/
|
|
3009
|
-
declare const SDK_VERSION = "1.
|
|
3708
|
+
declare const SDK_VERSION = "1.21.0";
|
|
3010
3709
|
|
|
3011
3710
|
type BoardUser = Schemas['BoardUser'];
|
|
3012
3711
|
type BoardAuthSession = Schemas['BoardAuthSession'];
|
|
@@ -3192,14 +3891,6 @@ type PlansListQuery = {
|
|
|
3192
3891
|
type PlanListEnvelope = ListEnvelope<Plan>;
|
|
3193
3892
|
type SalesLedPlanListEnvelope = ListEnvelope<SalesLedPlan>;
|
|
3194
3893
|
|
|
3195
|
-
type SavedJob = Schemas['SavedJob'];
|
|
3196
|
-
type SavedJobsListQuery = {
|
|
3197
|
-
cursor?: string;
|
|
3198
|
-
/** 1–100. */
|
|
3199
|
-
limit?: number;
|
|
3200
|
-
};
|
|
3201
|
-
type SaveJobBody = Schemas['SaveJobBody'];
|
|
3202
|
-
|
|
3203
3894
|
type JobAlertFrequency = 'daily' | 'weekly';
|
|
3204
3895
|
type JobAlertRemoteOption = 'on_site' | 'hybrid' | 'remote';
|
|
3205
3896
|
/**
|
|
@@ -3934,6 +4625,567 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
3934
4625
|
displayName: string | null;
|
|
3935
4626
|
emailVerified: boolean;
|
|
3936
4627
|
}>;
|
|
4628
|
+
delete(options?: FetchOptions): Promise<void>;
|
|
4629
|
+
profile: {
|
|
4630
|
+
retrieve(query?: Record<string, never>, options?: FetchOptions): Promise<{
|
|
4631
|
+
id: string;
|
|
4632
|
+
object: "candidate_profile";
|
|
4633
|
+
displayName: string | null;
|
|
4634
|
+
bio: string | null;
|
|
4635
|
+
avatarUrl: string | null;
|
|
4636
|
+
handle: string | null;
|
|
4637
|
+
headline: string | null;
|
|
4638
|
+
location: string | null;
|
|
4639
|
+
profileVisibility: "hidden" | "logged_in_only" | "public";
|
|
4640
|
+
jobSearchStatus: "actively_looking" | "open_to_offers" | "not_looking";
|
|
4641
|
+
jobSearchStatusVisibleTo: "everyone" | "employers_only";
|
|
4642
|
+
openToRelocate: boolean;
|
|
4643
|
+
}>;
|
|
4644
|
+
update(body: UpdateCandidateProfileBody, query?: Record<string, never>, options?: FetchOptions): Promise<{
|
|
4645
|
+
id: string;
|
|
4646
|
+
object: "candidate_profile";
|
|
4647
|
+
displayName: string | null;
|
|
4648
|
+
bio: string | null;
|
|
4649
|
+
avatarUrl: string | null;
|
|
4650
|
+
handle: string | null;
|
|
4651
|
+
headline: string | null;
|
|
4652
|
+
location: string | null;
|
|
4653
|
+
profileVisibility: "hidden" | "logged_in_only" | "public";
|
|
4654
|
+
jobSearchStatus: "actively_looking" | "open_to_offers" | "not_looking";
|
|
4655
|
+
jobSearchStatusVisibleTo: "everyone" | "employers_only";
|
|
4656
|
+
openToRelocate: boolean;
|
|
4657
|
+
}>;
|
|
4658
|
+
handleAvailable(handle: string, options?: FetchOptions): Promise<{
|
|
4659
|
+
object: "handle_availability";
|
|
4660
|
+
handle: string;
|
|
4661
|
+
available: boolean;
|
|
4662
|
+
}>;
|
|
4663
|
+
listExperience(options?: FetchOptions): Promise<ListEnvelope<{
|
|
4664
|
+
id: string;
|
|
4665
|
+
object: "candidate_experience";
|
|
4666
|
+
title: string;
|
|
4667
|
+
companyName: string;
|
|
4668
|
+
companyUrl: string | null;
|
|
4669
|
+
location: string | null;
|
|
4670
|
+
employmentType: string | null;
|
|
4671
|
+
locationType: string | null;
|
|
4672
|
+
foundVia: string | null;
|
|
4673
|
+
startDate: string;
|
|
4674
|
+
endDate: string | null;
|
|
4675
|
+
description: string | null;
|
|
4676
|
+
sortOrder: number;
|
|
4677
|
+
experienceSkills: string[];
|
|
4678
|
+
}>>;
|
|
4679
|
+
createExperience(body: CreateExperienceBody, options?: FetchOptions): Promise<{
|
|
4680
|
+
id: string;
|
|
4681
|
+
object: "candidate_experience";
|
|
4682
|
+
title: string;
|
|
4683
|
+
companyName: string;
|
|
4684
|
+
companyUrl: string | null;
|
|
4685
|
+
location: string | null;
|
|
4686
|
+
employmentType: string | null;
|
|
4687
|
+
locationType: string | null;
|
|
4688
|
+
foundVia: string | null;
|
|
4689
|
+
startDate: string;
|
|
4690
|
+
endDate: string | null;
|
|
4691
|
+
description: string | null;
|
|
4692
|
+
sortOrder: number;
|
|
4693
|
+
experienceSkills: string[];
|
|
4694
|
+
}>;
|
|
4695
|
+
updateExperience(id: string, body: UpdateExperienceBody, options?: FetchOptions): Promise<{
|
|
4696
|
+
id: string;
|
|
4697
|
+
object: "candidate_experience";
|
|
4698
|
+
title: string;
|
|
4699
|
+
companyName: string;
|
|
4700
|
+
companyUrl: string | null;
|
|
4701
|
+
location: string | null;
|
|
4702
|
+
employmentType: string | null;
|
|
4703
|
+
locationType: string | null;
|
|
4704
|
+
foundVia: string | null;
|
|
4705
|
+
startDate: string;
|
|
4706
|
+
endDate: string | null;
|
|
4707
|
+
description: string | null;
|
|
4708
|
+
sortOrder: number;
|
|
4709
|
+
experienceSkills: string[];
|
|
4710
|
+
}>;
|
|
4711
|
+
deleteExperience(id: string, options?: FetchOptions): Promise<void>;
|
|
4712
|
+
listEducation(options?: FetchOptions): Promise<ListEnvelope<{
|
|
4713
|
+
id: string;
|
|
4714
|
+
object: "candidate_education";
|
|
4715
|
+
institutionName: string;
|
|
4716
|
+
institutionUrl: string | null;
|
|
4717
|
+
degree: string | null;
|
|
4718
|
+
fieldOfStudy: string | null;
|
|
4719
|
+
grade: string | null;
|
|
4720
|
+
activitiesAndSocieties: string | null;
|
|
4721
|
+
startDate: string | null;
|
|
4722
|
+
endDate: string | null;
|
|
4723
|
+
description: string | null;
|
|
4724
|
+
sortOrder: number;
|
|
4725
|
+
}>>;
|
|
4726
|
+
createEducation(body: CreateEducationBody, options?: FetchOptions): Promise<{
|
|
4727
|
+
id: string;
|
|
4728
|
+
object: "candidate_education";
|
|
4729
|
+
institutionName: string;
|
|
4730
|
+
institutionUrl: string | null;
|
|
4731
|
+
degree: string | null;
|
|
4732
|
+
fieldOfStudy: string | null;
|
|
4733
|
+
grade: string | null;
|
|
4734
|
+
activitiesAndSocieties: string | null;
|
|
4735
|
+
startDate: string | null;
|
|
4736
|
+
endDate: string | null;
|
|
4737
|
+
description: string | null;
|
|
4738
|
+
sortOrder: number;
|
|
4739
|
+
}>;
|
|
4740
|
+
updateEducation(id: string, body: UpdateEducationBody, options?: FetchOptions): Promise<{
|
|
4741
|
+
id: string;
|
|
4742
|
+
object: "candidate_education";
|
|
4743
|
+
institutionName: string;
|
|
4744
|
+
institutionUrl: string | null;
|
|
4745
|
+
degree: string | null;
|
|
4746
|
+
fieldOfStudy: string | null;
|
|
4747
|
+
grade: string | null;
|
|
4748
|
+
activitiesAndSocieties: string | null;
|
|
4749
|
+
startDate: string | null;
|
|
4750
|
+
endDate: string | null;
|
|
4751
|
+
description: string | null;
|
|
4752
|
+
sortOrder: number;
|
|
4753
|
+
}>;
|
|
4754
|
+
deleteEducation(id: string, options?: FetchOptions): Promise<void>;
|
|
4755
|
+
listSkills(options?: FetchOptions): Promise<ListEnvelope<{
|
|
4756
|
+
object: "candidate_skill";
|
|
4757
|
+
name: string;
|
|
4758
|
+
jobSkillId: string | null;
|
|
4759
|
+
}>>;
|
|
4760
|
+
updateSkills(body: UpdateSkillsBody, options?: FetchOptions): Promise<ListEnvelope<{
|
|
4761
|
+
object: "candidate_skill";
|
|
4762
|
+
name: string;
|
|
4763
|
+
jobSkillId: string | null;
|
|
4764
|
+
}>>;
|
|
4765
|
+
listLanguages(options?: FetchOptions): Promise<ListEnvelope<{
|
|
4766
|
+
object: "candidate_language";
|
|
4767
|
+
name: string;
|
|
4768
|
+
proficiency: string;
|
|
4769
|
+
}>>;
|
|
4770
|
+
updateLanguages(body: UpdateLanguagesBody, options?: FetchOptions): Promise<ListEnvelope<{
|
|
4771
|
+
object: "candidate_language";
|
|
4772
|
+
name: string;
|
|
4773
|
+
proficiency: string;
|
|
4774
|
+
}>>;
|
|
4775
|
+
uploadAvatar(file: Blob, options?: FetchOptions): Promise<{
|
|
4776
|
+
object: "candidate_avatar";
|
|
4777
|
+
avatarUrl: string | null;
|
|
4778
|
+
}>;
|
|
4779
|
+
};
|
|
4780
|
+
notificationPreferences: {
|
|
4781
|
+
retrieve(options?: FetchOptions): Promise<ListEnvelope<{
|
|
4782
|
+
object: "notification_preference";
|
|
4783
|
+
channel: "messageEmails" | "applicationEmails";
|
|
4784
|
+
subscribed: boolean;
|
|
4785
|
+
updatedAt: number | null;
|
|
4786
|
+
}>>;
|
|
4787
|
+
update(body: UpdateNotificationPreferenceBody, options?: FetchOptions): Promise<ListEnvelope<{
|
|
4788
|
+
object: "notification_preference";
|
|
4789
|
+
channel: "messageEmails" | "applicationEmails";
|
|
4790
|
+
subscribed: boolean;
|
|
4791
|
+
updatedAt: number | null;
|
|
4792
|
+
}>>;
|
|
4793
|
+
unsubscribeWithToken(body: UnsubscribeBody, options?: FetchOptions): Promise<void>;
|
|
4794
|
+
};
|
|
4795
|
+
companies: {
|
|
4796
|
+
search(query: EmployerCompanySearchQuery, options?: FetchOptions): Promise<ListEnvelope<{
|
|
4797
|
+
id: string;
|
|
4798
|
+
object: "claimable_company";
|
|
4799
|
+
name: string;
|
|
4800
|
+
slug: string;
|
|
4801
|
+
website: string | null;
|
|
4802
|
+
}>>;
|
|
4803
|
+
list(options?: FetchOptions): Promise<ListEnvelope<{
|
|
4804
|
+
id: string;
|
|
4805
|
+
object: "company_membership";
|
|
4806
|
+
status: "approved" | "pending_work_email" | "awaiting_admin" | "rejected";
|
|
4807
|
+
role: string;
|
|
4808
|
+
workEmail: string | null;
|
|
4809
|
+
workEmailVerifiedAt: string | null;
|
|
4810
|
+
company: {
|
|
4811
|
+
id: string;
|
|
4812
|
+
name: string;
|
|
4813
|
+
slug: string | null;
|
|
4814
|
+
website: string | null;
|
|
4815
|
+
logoUrl: string | null;
|
|
4816
|
+
};
|
|
4817
|
+
}>>;
|
|
4818
|
+
create(body: CreateCompanyBody, options?: FetchOptions): Promise<{
|
|
4819
|
+
id: string;
|
|
4820
|
+
object: "company_membership";
|
|
4821
|
+
status: "approved" | "pending_work_email" | "awaiting_admin" | "rejected";
|
|
4822
|
+
role: string;
|
|
4823
|
+
workEmail: string | null;
|
|
4824
|
+
workEmailVerifiedAt: string | null;
|
|
4825
|
+
company: {
|
|
4826
|
+
id: string;
|
|
4827
|
+
name: string;
|
|
4828
|
+
slug: string | null;
|
|
4829
|
+
website: string | null;
|
|
4830
|
+
logoUrl: string | null;
|
|
4831
|
+
};
|
|
4832
|
+
}>;
|
|
4833
|
+
claim(slug: string, options?: FetchOptions): Promise<{
|
|
4834
|
+
id: string;
|
|
4835
|
+
object: "company_membership";
|
|
4836
|
+
status: "approved" | "pending_work_email" | "awaiting_admin" | "rejected";
|
|
4837
|
+
role: string;
|
|
4838
|
+
workEmail: string | null;
|
|
4839
|
+
workEmailVerifiedAt: string | null;
|
|
4840
|
+
company: {
|
|
4841
|
+
id: string;
|
|
4842
|
+
name: string;
|
|
4843
|
+
slug: string | null;
|
|
4844
|
+
website: string | null;
|
|
4845
|
+
logoUrl: string | null;
|
|
4846
|
+
};
|
|
4847
|
+
}>;
|
|
4848
|
+
cancelClaim(slug: string, options?: FetchOptions): Promise<void>;
|
|
4849
|
+
update(slug: string, body: UpdateEmployerCompanyBody, options?: FetchOptions): Promise<{
|
|
4850
|
+
id: string;
|
|
4851
|
+
object: "employer_company";
|
|
4852
|
+
name: string;
|
|
4853
|
+
slug: string;
|
|
4854
|
+
website: string | null;
|
|
4855
|
+
description: string | null;
|
|
4856
|
+
summary: string | null;
|
|
4857
|
+
xUrl: string | null;
|
|
4858
|
+
linkedinUrl: string | null;
|
|
4859
|
+
facebookUrl: string | null;
|
|
4860
|
+
logoUrl: string | null;
|
|
4861
|
+
}>;
|
|
4862
|
+
workEmail: {
|
|
4863
|
+
verify(slug: string, body: SendWorkEmailBody, options?: FetchOptions): Promise<{
|
|
4864
|
+
id: string;
|
|
4865
|
+
object: "company_membership";
|
|
4866
|
+
status: "approved" | "pending_work_email" | "awaiting_admin" | "rejected";
|
|
4867
|
+
role: string;
|
|
4868
|
+
workEmail: string | null;
|
|
4869
|
+
workEmailVerifiedAt: string | null;
|
|
4870
|
+
company: {
|
|
4871
|
+
id: string;
|
|
4872
|
+
name: string;
|
|
4873
|
+
slug: string | null;
|
|
4874
|
+
website: string | null;
|
|
4875
|
+
logoUrl: string | null;
|
|
4876
|
+
};
|
|
4877
|
+
}>;
|
|
4878
|
+
confirm(slug: string, body: ConfirmWorkEmailBody, options?: FetchOptions): Promise<{
|
|
4879
|
+
id: string;
|
|
4880
|
+
object: "company_membership";
|
|
4881
|
+
status: "approved" | "pending_work_email" | "awaiting_admin" | "rejected";
|
|
4882
|
+
role: string;
|
|
4883
|
+
workEmail: string | null;
|
|
4884
|
+
workEmailVerifiedAt: string | null;
|
|
4885
|
+
company: {
|
|
4886
|
+
id: string;
|
|
4887
|
+
name: string;
|
|
4888
|
+
slug: string | null;
|
|
4889
|
+
website: string | null;
|
|
4890
|
+
logoUrl: string | null;
|
|
4891
|
+
};
|
|
4892
|
+
}>;
|
|
4893
|
+
};
|
|
4894
|
+
jobs: {
|
|
4895
|
+
list(slug: string, query?: EmployerJobsListQuery, options?: FetchOptions): Promise<ListEnvelope<{
|
|
4896
|
+
id: string;
|
|
4897
|
+
object: "employer_job";
|
|
4898
|
+
title: string;
|
|
4899
|
+
slug: string | null;
|
|
4900
|
+
status: "draft" | "published" | "expired" | "archived";
|
|
4901
|
+
companyId: string | null;
|
|
4902
|
+
employmentType: "full_time" | "part_time" | "contract" | "internship" | "temporary" | "volunteer" | "other" | null;
|
|
4903
|
+
remoteOption: "on_site" | "hybrid" | "remote" | null;
|
|
4904
|
+
seniority: "entry_level" | "associate" | "mid_level" | "senior" | "lead" | "principal" | "director" | "executive" | null;
|
|
4905
|
+
salaryMin: number | null;
|
|
4906
|
+
salaryMax: number | null;
|
|
4907
|
+
salaryCurrency: string | null;
|
|
4908
|
+
salaryTimeframe: "per_year" | "per_month" | "per_week" | "per_day" | "per_hour" | null;
|
|
4909
|
+
isFeatured: boolean;
|
|
4910
|
+
publishedAt: string | null;
|
|
4911
|
+
expiresAt: string | null;
|
|
4912
|
+
createdAt: string;
|
|
4913
|
+
updatedAt: string;
|
|
4914
|
+
links: components["schemas"]["EmployerJobLinks"];
|
|
4915
|
+
}>>;
|
|
4916
|
+
retrieve(slug: string, id: string, options?: FetchOptions): Promise<{
|
|
4917
|
+
id: string;
|
|
4918
|
+
object: "employer_job";
|
|
4919
|
+
title: string;
|
|
4920
|
+
slug: string | null;
|
|
4921
|
+
status: "draft" | "published" | "expired" | "archived";
|
|
4922
|
+
companyId: string | null;
|
|
4923
|
+
employmentType: "full_time" | "part_time" | "contract" | "internship" | "temporary" | "volunteer" | "other" | null;
|
|
4924
|
+
remoteOption: "on_site" | "hybrid" | "remote" | null;
|
|
4925
|
+
seniority: "entry_level" | "associate" | "mid_level" | "senior" | "lead" | "principal" | "director" | "executive" | null;
|
|
4926
|
+
salaryMin: number | null;
|
|
4927
|
+
salaryMax: number | null;
|
|
4928
|
+
salaryCurrency: string | null;
|
|
4929
|
+
salaryTimeframe: "per_year" | "per_month" | "per_week" | "per_day" | "per_hour" | null;
|
|
4930
|
+
isFeatured: boolean;
|
|
4931
|
+
publishedAt: string | null;
|
|
4932
|
+
expiresAt: string | null;
|
|
4933
|
+
createdAt: string;
|
|
4934
|
+
updatedAt: string;
|
|
4935
|
+
links: components["schemas"]["EmployerJobLinks"];
|
|
4936
|
+
} & {
|
|
4937
|
+
description: string | null;
|
|
4938
|
+
applicationUrl: string | null;
|
|
4939
|
+
remotePermits: {
|
|
4940
|
+
type: string;
|
|
4941
|
+
value: string;
|
|
4942
|
+
}[];
|
|
4943
|
+
remoteWorldwide: boolean | null;
|
|
4944
|
+
remoteTimezones: {
|
|
4945
|
+
type: string;
|
|
4946
|
+
value: string;
|
|
4947
|
+
plusMinus?: number;
|
|
4948
|
+
}[];
|
|
4949
|
+
remoteAllowedTzOffsets: number[];
|
|
4950
|
+
remoteWorkPermitCountryCodes: string[];
|
|
4951
|
+
remoteWorkPermitSubdivisionCodes: string[];
|
|
4952
|
+
remoteSponsorship: "yes" | "no" | "unknown";
|
|
4953
|
+
educationRequirements: ("high_school" | "associate_degree" | "bachelor_degree" | "professional_certificate" | "postgraduate_degree" | "no_requirements")[];
|
|
4954
|
+
experienceMonths: number | null;
|
|
4955
|
+
experienceInPlaceOfEducation: boolean | null;
|
|
4956
|
+
inOfficePeriod: "per_week" | "per_month" | "per_year" | null;
|
|
4957
|
+
inOfficeFrequency: number | null;
|
|
4958
|
+
company: components["schemas"]["JobCompany"];
|
|
4959
|
+
officeLocations: components["schemas"]["JobOfficeLocation"][];
|
|
4960
|
+
}>;
|
|
4961
|
+
create(slug: string, body: CreateEmployerJobBody, options?: FetchOptions): Promise<{
|
|
4962
|
+
id: string;
|
|
4963
|
+
object: "employer_job";
|
|
4964
|
+
title: string;
|
|
4965
|
+
slug: string | null;
|
|
4966
|
+
status: "draft" | "published" | "expired" | "archived";
|
|
4967
|
+
companyId: string | null;
|
|
4968
|
+
employmentType: "full_time" | "part_time" | "contract" | "internship" | "temporary" | "volunteer" | "other" | null;
|
|
4969
|
+
remoteOption: "on_site" | "hybrid" | "remote" | null;
|
|
4970
|
+
seniority: "entry_level" | "associate" | "mid_level" | "senior" | "lead" | "principal" | "director" | "executive" | null;
|
|
4971
|
+
salaryMin: number | null;
|
|
4972
|
+
salaryMax: number | null;
|
|
4973
|
+
salaryCurrency: string | null;
|
|
4974
|
+
salaryTimeframe: "per_year" | "per_month" | "per_week" | "per_day" | "per_hour" | null;
|
|
4975
|
+
isFeatured: boolean;
|
|
4976
|
+
publishedAt: string | null;
|
|
4977
|
+
expiresAt: string | null;
|
|
4978
|
+
createdAt: string;
|
|
4979
|
+
updatedAt: string;
|
|
4980
|
+
links: components["schemas"]["EmployerJobLinks"];
|
|
4981
|
+
} & {
|
|
4982
|
+
description: string | null;
|
|
4983
|
+
applicationUrl: string | null;
|
|
4984
|
+
remotePermits: {
|
|
4985
|
+
type: string;
|
|
4986
|
+
value: string;
|
|
4987
|
+
}[];
|
|
4988
|
+
remoteWorldwide: boolean | null;
|
|
4989
|
+
remoteTimezones: {
|
|
4990
|
+
type: string;
|
|
4991
|
+
value: string;
|
|
4992
|
+
plusMinus?: number;
|
|
4993
|
+
}[];
|
|
4994
|
+
remoteAllowedTzOffsets: number[];
|
|
4995
|
+
remoteWorkPermitCountryCodes: string[];
|
|
4996
|
+
remoteWorkPermitSubdivisionCodes: string[];
|
|
4997
|
+
remoteSponsorship: "yes" | "no" | "unknown";
|
|
4998
|
+
educationRequirements: ("high_school" | "associate_degree" | "bachelor_degree" | "professional_certificate" | "postgraduate_degree" | "no_requirements")[];
|
|
4999
|
+
experienceMonths: number | null;
|
|
5000
|
+
experienceInPlaceOfEducation: boolean | null;
|
|
5001
|
+
inOfficePeriod: "per_week" | "per_month" | "per_year" | null;
|
|
5002
|
+
inOfficeFrequency: number | null;
|
|
5003
|
+
company: components["schemas"]["JobCompany"];
|
|
5004
|
+
officeLocations: components["schemas"]["JobOfficeLocation"][];
|
|
5005
|
+
}>;
|
|
5006
|
+
update(slug: string, id: string, body: UpdateEmployerJobBody, options?: FetchOptions): Promise<{
|
|
5007
|
+
id: string;
|
|
5008
|
+
object: "employer_job";
|
|
5009
|
+
title: string;
|
|
5010
|
+
slug: string | null;
|
|
5011
|
+
status: "draft" | "published" | "expired" | "archived";
|
|
5012
|
+
companyId: string | null;
|
|
5013
|
+
employmentType: "full_time" | "part_time" | "contract" | "internship" | "temporary" | "volunteer" | "other" | null;
|
|
5014
|
+
remoteOption: "on_site" | "hybrid" | "remote" | null;
|
|
5015
|
+
seniority: "entry_level" | "associate" | "mid_level" | "senior" | "lead" | "principal" | "director" | "executive" | null;
|
|
5016
|
+
salaryMin: number | null;
|
|
5017
|
+
salaryMax: number | null;
|
|
5018
|
+
salaryCurrency: string | null;
|
|
5019
|
+
salaryTimeframe: "per_year" | "per_month" | "per_week" | "per_day" | "per_hour" | null;
|
|
5020
|
+
isFeatured: boolean;
|
|
5021
|
+
publishedAt: string | null;
|
|
5022
|
+
expiresAt: string | null;
|
|
5023
|
+
createdAt: string;
|
|
5024
|
+
updatedAt: string;
|
|
5025
|
+
links: components["schemas"]["EmployerJobLinks"];
|
|
5026
|
+
} & {
|
|
5027
|
+
description: string | null;
|
|
5028
|
+
applicationUrl: string | null;
|
|
5029
|
+
remotePermits: {
|
|
5030
|
+
type: string;
|
|
5031
|
+
value: string;
|
|
5032
|
+
}[];
|
|
5033
|
+
remoteWorldwide: boolean | null;
|
|
5034
|
+
remoteTimezones: {
|
|
5035
|
+
type: string;
|
|
5036
|
+
value: string;
|
|
5037
|
+
plusMinus?: number;
|
|
5038
|
+
}[];
|
|
5039
|
+
remoteAllowedTzOffsets: number[];
|
|
5040
|
+
remoteWorkPermitCountryCodes: string[];
|
|
5041
|
+
remoteWorkPermitSubdivisionCodes: string[];
|
|
5042
|
+
remoteSponsorship: "yes" | "no" | "unknown";
|
|
5043
|
+
educationRequirements: ("high_school" | "associate_degree" | "bachelor_degree" | "professional_certificate" | "postgraduate_degree" | "no_requirements")[];
|
|
5044
|
+
experienceMonths: number | null;
|
|
5045
|
+
experienceInPlaceOfEducation: boolean | null;
|
|
5046
|
+
inOfficePeriod: "per_week" | "per_month" | "per_year" | null;
|
|
5047
|
+
inOfficeFrequency: number | null;
|
|
5048
|
+
company: components["schemas"]["JobCompany"];
|
|
5049
|
+
officeLocations: components["schemas"]["JobOfficeLocation"][];
|
|
5050
|
+
}>;
|
|
5051
|
+
delete(slug: string, id: string, options?: FetchOptions): Promise<void>;
|
|
5052
|
+
publish(slug: string, id: string, options?: FetchOptions): Promise<{
|
|
5053
|
+
id: string;
|
|
5054
|
+
object: "employer_job";
|
|
5055
|
+
title: string;
|
|
5056
|
+
slug: string | null;
|
|
5057
|
+
status: "draft" | "published" | "expired" | "archived";
|
|
5058
|
+
companyId: string | null;
|
|
5059
|
+
employmentType: "full_time" | "part_time" | "contract" | "internship" | "temporary" | "volunteer" | "other" | null;
|
|
5060
|
+
remoteOption: "on_site" | "hybrid" | "remote" | null;
|
|
5061
|
+
seniority: "entry_level" | "associate" | "mid_level" | "senior" | "lead" | "principal" | "director" | "executive" | null;
|
|
5062
|
+
salaryMin: number | null;
|
|
5063
|
+
salaryMax: number | null;
|
|
5064
|
+
salaryCurrency: string | null;
|
|
5065
|
+
salaryTimeframe: "per_year" | "per_month" | "per_week" | "per_day" | "per_hour" | null;
|
|
5066
|
+
isFeatured: boolean;
|
|
5067
|
+
publishedAt: string | null;
|
|
5068
|
+
expiresAt: string | null;
|
|
5069
|
+
createdAt: string;
|
|
5070
|
+
updatedAt: string;
|
|
5071
|
+
links: components["schemas"]["EmployerJobLinks"];
|
|
5072
|
+
} & {
|
|
5073
|
+
description: string | null;
|
|
5074
|
+
applicationUrl: string | null;
|
|
5075
|
+
remotePermits: {
|
|
5076
|
+
type: string;
|
|
5077
|
+
value: string;
|
|
5078
|
+
}[];
|
|
5079
|
+
remoteWorldwide: boolean | null;
|
|
5080
|
+
remoteTimezones: {
|
|
5081
|
+
type: string;
|
|
5082
|
+
value: string;
|
|
5083
|
+
plusMinus?: number;
|
|
5084
|
+
}[];
|
|
5085
|
+
remoteAllowedTzOffsets: number[];
|
|
5086
|
+
remoteWorkPermitCountryCodes: string[];
|
|
5087
|
+
remoteWorkPermitSubdivisionCodes: string[];
|
|
5088
|
+
remoteSponsorship: "yes" | "no" | "unknown";
|
|
5089
|
+
educationRequirements: ("high_school" | "associate_degree" | "bachelor_degree" | "professional_certificate" | "postgraduate_degree" | "no_requirements")[];
|
|
5090
|
+
experienceMonths: number | null;
|
|
5091
|
+
experienceInPlaceOfEducation: boolean | null;
|
|
5092
|
+
inOfficePeriod: "per_week" | "per_month" | "per_year" | null;
|
|
5093
|
+
inOfficeFrequency: number | null;
|
|
5094
|
+
company: components["schemas"]["JobCompany"];
|
|
5095
|
+
officeLocations: components["schemas"]["JobOfficeLocation"][];
|
|
5096
|
+
}>;
|
|
5097
|
+
unpublish(slug: string, id: string, options?: FetchOptions): Promise<{
|
|
5098
|
+
id: string;
|
|
5099
|
+
object: "employer_job";
|
|
5100
|
+
title: string;
|
|
5101
|
+
slug: string | null;
|
|
5102
|
+
status: "draft" | "published" | "expired" | "archived";
|
|
5103
|
+
companyId: string | null;
|
|
5104
|
+
employmentType: "full_time" | "part_time" | "contract" | "internship" | "temporary" | "volunteer" | "other" | null;
|
|
5105
|
+
remoteOption: "on_site" | "hybrid" | "remote" | null;
|
|
5106
|
+
seniority: "entry_level" | "associate" | "mid_level" | "senior" | "lead" | "principal" | "director" | "executive" | null;
|
|
5107
|
+
salaryMin: number | null;
|
|
5108
|
+
salaryMax: number | null;
|
|
5109
|
+
salaryCurrency: string | null;
|
|
5110
|
+
salaryTimeframe: "per_year" | "per_month" | "per_week" | "per_day" | "per_hour" | null;
|
|
5111
|
+
isFeatured: boolean;
|
|
5112
|
+
publishedAt: string | null;
|
|
5113
|
+
expiresAt: string | null;
|
|
5114
|
+
createdAt: string;
|
|
5115
|
+
updatedAt: string;
|
|
5116
|
+
links: components["schemas"]["EmployerJobLinks"];
|
|
5117
|
+
} & {
|
|
5118
|
+
description: string | null;
|
|
5119
|
+
applicationUrl: string | null;
|
|
5120
|
+
remotePermits: {
|
|
5121
|
+
type: string;
|
|
5122
|
+
value: string;
|
|
5123
|
+
}[];
|
|
5124
|
+
remoteWorldwide: boolean | null;
|
|
5125
|
+
remoteTimezones: {
|
|
5126
|
+
type: string;
|
|
5127
|
+
value: string;
|
|
5128
|
+
plusMinus?: number;
|
|
5129
|
+
}[];
|
|
5130
|
+
remoteAllowedTzOffsets: number[];
|
|
5131
|
+
remoteWorkPermitCountryCodes: string[];
|
|
5132
|
+
remoteWorkPermitSubdivisionCodes: string[];
|
|
5133
|
+
remoteSponsorship: "yes" | "no" | "unknown";
|
|
5134
|
+
educationRequirements: ("high_school" | "associate_degree" | "bachelor_degree" | "professional_certificate" | "postgraduate_degree" | "no_requirements")[];
|
|
5135
|
+
experienceMonths: number | null;
|
|
5136
|
+
experienceInPlaceOfEducation: boolean | null;
|
|
5137
|
+
inOfficePeriod: "per_week" | "per_month" | "per_year" | null;
|
|
5138
|
+
inOfficeFrequency: number | null;
|
|
5139
|
+
company: components["schemas"]["JobCompany"];
|
|
5140
|
+
officeLocations: components["schemas"]["JobOfficeLocation"][];
|
|
5141
|
+
}>;
|
|
5142
|
+
checkout(slug: string, id: string, body: EmployerCheckoutBody, options?: FetchOptions): Promise<{
|
|
5143
|
+
object: "employer_checkout";
|
|
5144
|
+
status: "checkout" | "published" | "invoice_sent";
|
|
5145
|
+
checkoutUrl: string | null;
|
|
5146
|
+
jobId: string;
|
|
5147
|
+
jobSlug: string | null;
|
|
5148
|
+
}>;
|
|
5149
|
+
};
|
|
5150
|
+
billingOptions: {
|
|
5151
|
+
list(slug: string, options?: FetchOptions): Promise<ListEnvelope<{
|
|
5152
|
+
id: string;
|
|
5153
|
+
object: "employer_billing_option";
|
|
5154
|
+
type: "subscription" | "order";
|
|
5155
|
+
planId: string;
|
|
5156
|
+
planName: string;
|
|
5157
|
+
planKind: "subscription" | "one_time" | "bundle";
|
|
5158
|
+
jobsRemaining: number;
|
|
5159
|
+
jobsTotal: number;
|
|
5160
|
+
featuredRemaining: number;
|
|
5161
|
+
featuredTotal: number;
|
|
5162
|
+
renewsAt: string | null;
|
|
5163
|
+
}>>;
|
|
5164
|
+
};
|
|
5165
|
+
applicants: {
|
|
5166
|
+
list(slug: string, query: EmployerPipelineQuery, options?: FetchOptions): Promise<{
|
|
5167
|
+
object: "employer_pipeline";
|
|
5168
|
+
job: {
|
|
5169
|
+
id: string;
|
|
5170
|
+
title: string;
|
|
5171
|
+
status: string;
|
|
5172
|
+
expiresAt: string | null;
|
|
5173
|
+
};
|
|
5174
|
+
stages: components["schemas"]["EmployerPipelineStage"][];
|
|
5175
|
+
applicants: components["schemas"]["EmployerApplicant"][];
|
|
5176
|
+
}>;
|
|
5177
|
+
move(slug: string, applicationId: string, body: MoveApplicantStageBody, options?: FetchOptions): Promise<void>;
|
|
5178
|
+
bulkMove(slug: string, body: BulkMoveApplicantsBody, options?: FetchOptions): Promise<void>;
|
|
5179
|
+
bulkReject(slug: string, body: BulkRejectApplicantsBody, options?: FetchOptions): Promise<void>;
|
|
5180
|
+
addNote(slug: string, applicationId: string, body: AddApplicantNoteBody, options?: FetchOptions): Promise<void>;
|
|
5181
|
+
};
|
|
5182
|
+
pipelineStages: {
|
|
5183
|
+
create(slug: string, body: CreatePipelineStageBody, options?: FetchOptions): Promise<void>;
|
|
5184
|
+
update(slug: string, stageId: string, body: UpdatePipelineStageBody, options?: FetchOptions): Promise<void>;
|
|
5185
|
+
remove(slug: string, stageId: string, options?: FetchOptions): Promise<void>;
|
|
5186
|
+
reorder(slug: string, body: ReorderPipelineStagesBody, options?: FetchOptions): Promise<void>;
|
|
5187
|
+
};
|
|
5188
|
+
};
|
|
3937
5189
|
savedJobs: {
|
|
3938
5190
|
list(query?: SavedJobsListQuery, options?: FetchOptions): Promise<ListEnvelope<{
|
|
3939
5191
|
id: string;
|
|
@@ -4650,4 +5902,4 @@ declare function createBoardClient(options: CreateBoardClientOptions): {
|
|
|
4650
5902
|
};
|
|
4651
5903
|
type BoardSdk = ReturnType<typeof createBoardClient>;
|
|
4652
5904
|
|
|
4653
|
-
export { ACCESS_TOKEN_KEY, type Awaitable, BOARD_ACCESS_GRANT_KEY, type BlogAuthorEmbed, type BlogPostsListQuery, type BlogSearchBody, type BlogSimilarQuery, type BlogTagEmbed, type BoardAccessGrant, BoardApiError, type BoardAuthSession, BoardClient, type BoardRequest, type BoardSdk, type BoardSeo, type BoardUser, type CompaniesListQuery, type CompaniesSearchBody, type CompanyCategorySalary, type CompanyJobsListQuery, type CompanyListEnvelope, type CompanyMarket, type CompanyMarketRef, type CompanyMarketsListQuery, type CompanySalary, type CompanySimilarQuery, type ConsumeMagicLinkBody, type CreateBoardClientOptions, type CreateJobPostingInput, type CustomStorage, type EducationRequirement, type EmbedJobsQuery, type EmploymentType, type FetchOptions, type ForgotPasswordBody, type JobAlertConfirmation, type JobAlertDeletePreferenceInput, type JobAlertFiltersInput, type JobAlertFrequency, type JobAlertManageQuery, type JobAlertManageResult, type JobAlertManageState, type JobAlertManageTokenInput, type JobAlertPreference, type JobAlertRemoteOption, type JobAlertResendResult, type JobAlertStoredFilters, type JobAlertSubscribeInput, type JobAlertSubscription, type JobAlertUpdatePreferenceInput, type JobCardListEnvelope, type JobCardSearchEnvelope, type JobCompany, type JobPostingBillingCheck, type JobPostingBillingOptions, type JobPostingBillingVerification, type JobPostingLogoResult, type JobPostingPlan, type JobPostingResult, type JobPostingSubscriptionEntitlements, type JobSort, type JobsListQuery, type JobsSearchBody, type LegalEntity, type LegalPageType, type ListEnvelope, type LocationSalaryDetail, type LocationSkillsIndex, type LocationTitlesIndex, type Logger, type LoginBody, type LogoutBody, type OAuthAuthorizationQuery, type OAuthAuthorizationUrl, type OAuthExchangeBody, type OAuthProvider, type OfficeLocation, type PlacesListQuery, type Plan, type PlanListEnvelope, type PlansListQuery, type PublicBlogAdjacentPosts, type PublicBlogAuthor, type PublicBlogPost, type PublicBlogPostSummary, type PublicBlogTag, type PublicBoard, type PublicBoardAnalytics, type PublicBoardFeatures, type PublicBoardTheme, type PublicCompany, type PublicCompanyDetail, type PublicJob, type PublicJobCard, type PublicLegalPage, type PublicPlace, REFRESH_TOKEN_KEY, type RedirectResolution, type RefreshBody, type RegisterBody, type RelatedSearch, type RemoteOption, type RemotePermit, type RemoteTimezone, type RequestMagicLinkBody, type ResetPasswordBody, SDK_VERSION, type SalaryCompany, type SalaryDetailQuery, type SalaryLocation, type SalarySkill, type SalaryTitle, type SalesLedPlan, type SalesLedPlanListEnvelope, type SaveJobBody, type SavedJob, type SavedJobsListQuery, type SearchEnvelope, type Seniority, type SkillLocationSalary, type SkillLocationsIndex, type SkillSalaryDetail, type StorageMode, type StorefrontPagination, type TalentDirectoryEntry, type TalentDirectoryListEnvelope, type TalentDirectoryQuery, type TalentProfile, type TaxonomyGeo, type TaxonomyResolution, type TitleLocationSalary, type TitleLocationsIndex, type TitleSalaryDetail, type VerifyEmailBody, createBoardClient, isBoardApiError, isBoardPasswordRequired, isConflict, isForbidden, isNotFound, isRateLimited, isUnauthorized, isValidationError };
|
|
5905
|
+
export { ACCESS_TOKEN_KEY, type Awaitable, BOARD_ACCESS_GRANT_KEY, type BlogAuthorEmbed, type BlogPostsListQuery, type BlogSearchBody, type BlogSimilarQuery, type BlogTagEmbed, type BoardAccessGrant, BoardApiError, type BoardAuthSession, BoardClient, type BoardRequest, type BoardSdk, type BoardSeo, type BoardUser, type CandidateAvatar, type CandidateEducation, type CandidateExperience, type CandidateLanguage, type CandidateProfile, type CandidateSkill, type CompaniesListQuery, type CompaniesSearchBody, type CompanyCategorySalary, type CompanyJobsListQuery, type CompanyListEnvelope, type CompanyMarket, type CompanyMarketRef, type CompanyMarketsListQuery, type CompanySalary, type CompanySimilarQuery, type ConsumeMagicLinkBody, type CreateBoardClientOptions, type CreateEducationBody, type CreateExperienceBody, type CreateJobPostingInput, type CustomStorage, type EducationRequirement, type EmbedJobsQuery, type EmploymentType, type FetchOptions, type ForgotPasswordBody, type HandleAvailability, type JobAlertConfirmation, type JobAlertDeletePreferenceInput, type JobAlertFiltersInput, type JobAlertFrequency, type JobAlertManageQuery, type JobAlertManageResult, type JobAlertManageState, type JobAlertManageTokenInput, type JobAlertPreference, type JobAlertRemoteOption, type JobAlertResendResult, type JobAlertStoredFilters, type JobAlertSubscribeInput, type JobAlertSubscription, type JobAlertUpdatePreferenceInput, type JobCardListEnvelope, type JobCardSearchEnvelope, type JobCompany, type JobPostingBillingCheck, type JobPostingBillingOptions, type JobPostingBillingVerification, type JobPostingLogoResult, type JobPostingPlan, type JobPostingResult, type JobPostingSubscriptionEntitlements, type JobSort, type JobsListQuery, type JobsSearchBody, type LegalEntity, type LegalPageType, type ListEnvelope, type LocationSalaryDetail, type LocationSkillsIndex, type LocationTitlesIndex, type Logger, type LoginBody, type LogoutBody, type NotificationPreference, type OAuthAuthorizationQuery, type OAuthAuthorizationUrl, type OAuthExchangeBody, type OAuthProvider, type OfficeLocation, type PlacesListQuery, type Plan, type PlanListEnvelope, type PlansListQuery, type PublicBlogAdjacentPosts, type PublicBlogAuthor, type PublicBlogPost, type PublicBlogPostSummary, type PublicBlogTag, type PublicBoard, type PublicBoardAnalytics, type PublicBoardFeatures, type PublicBoardTheme, type PublicCompany, type PublicCompanyDetail, type PublicJob, type PublicJobCard, type PublicLegalPage, type PublicPlace, REFRESH_TOKEN_KEY, type RedirectResolution, type RefreshBody, type RegisterBody, type RelatedSearch, type RemoteOption, type RemotePermit, type RemoteTimezone, type RequestMagicLinkBody, type ResetPasswordBody, SDK_VERSION, type SalaryCompany, type SalaryDetailQuery, type SalaryLocation, type SalarySkill, type SalaryTitle, type SalesLedPlan, type SalesLedPlanListEnvelope, type SaveJobBody, type SavedJob, type SavedJobsListQuery, type SearchEnvelope, type Seniority, type SkillLocationSalary, type SkillLocationsIndex, type SkillSalaryDetail, type StorageMode, type StorefrontPagination, type TalentDirectoryEntry, type TalentDirectoryListEnvelope, type TalentDirectoryQuery, type TalentProfile, type TaxonomyGeo, type TaxonomyResolution, type TitleLocationSalary, type TitleLocationsIndex, type TitleSalaryDetail, type UnsubscribeBody, type UpdateCandidateProfileBody, type UpdateEducationBody, type UpdateExperienceBody, type UpdateLanguagesBody, type UpdateNotificationPreferenceBody, type UpdateSkillsBody, type VerifyEmailBody, createBoardClient, isBoardApiError, isBoardPasswordRequired, isConflict, isForbidden, isNotFound, isRateLimited, isUnauthorized, isValidationError };
|