@cavuno/board 1.34.0 → 1.35.1
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/README.md +7 -8
- package/dist/bin.mjs +25 -10
- package/dist/{board-Id19Yg8-.d.ts → board-Z7hjKDp8.d.ts} +1 -1
- package/dist/{board-DgDC0T4g.d.mts → board-t_WltBBa.d.mts} +1 -1
- package/dist/filters.d.mts +2 -2
- package/dist/filters.d.ts +2 -2
- package/dist/filters.js +3 -6
- package/dist/filters.mjs +3 -6
- package/dist/format.d.mts +4 -4
- package/dist/format.d.ts +4 -4
- package/dist/format.js +3 -6
- package/dist/format.mjs +3 -6
- package/dist/index.d.mts +52 -43
- package/dist/index.d.ts +52 -43
- package/dist/index.js +27 -19
- package/dist/index.mjs +27 -19
- package/dist/{jobs-IIJtDgzX.d.mts → jobs-Dq2a9oPj.d.mts} +742 -61
- package/dist/{jobs-IIJtDgzX.d.ts → jobs-Dq2a9oPj.d.ts} +742 -61
- package/dist/{salaries-CL_00fNX.d.ts → salaries-CTin-18R.d.ts} +4 -4
- package/dist/{salaries-BfEEEOHj.d.mts → salaries-CWg82dOz.d.mts} +4 -4
- package/dist/seo.d.mts +4 -4
- package/dist/seo.d.ts +4 -4
- package/dist/seo.js +3 -6
- package/dist/seo.mjs +3 -6
- package/dist/server.d.mts +3 -3
- package/dist/server.d.ts +3 -3
- package/dist/sitemap.d.mts +3 -3
- package/dist/sitemap.d.ts +3 -3
- package/dist/{ui-copy-rlfoH9P3.d.mts → ui-copy-CKfFTtLk.d.mts} +0 -1
- package/dist/{ui-copy-rlfoH9P3.d.ts → ui-copy-CKfFTtLk.d.ts} +0 -1
- package/package.json +1 -1
- package/skills/cavuno-board-auth/SKILL.md +0 -1
- package/skills/cavuno-board-client/SKILL.md +1 -4
- package/skills/cavuno-board-filters/SKILL.md +43 -3
- package/skills/cavuno-board-job-alerts/SKILL.md +7 -7
- package/skills/cavuno-board-job-posting/SKILL.md +8 -22
- package/skills/cavuno-board-jobs/SKILL.md +2 -2
- package/skills/cavuno-board-setup/SKILL.md +6 -8
- package/skills/cavuno-board-smoke-test/SKILL.md +8 -7
- package/skills/cavuno-board-theme/SKILL.md +33 -45
- package/skills/flavors/tanstack-start/SKILL.md +0 -1
- package/skills/manifest.json +5 -5
|
@@ -63,6 +63,10 @@ interface components {
|
|
|
63
63
|
AddCategoryAliasesBody: {
|
|
64
64
|
aliases: string[];
|
|
65
65
|
};
|
|
66
|
+
AddForagerExclusionBody: {
|
|
67
|
+
pattern: string;
|
|
68
|
+
type: string;
|
|
69
|
+
};
|
|
66
70
|
AddMarketAliasesBody: {
|
|
67
71
|
aliases: string[];
|
|
68
72
|
};
|
|
@@ -77,6 +81,22 @@ interface components {
|
|
|
77
81
|
*/
|
|
78
82
|
admin: string;
|
|
79
83
|
};
|
|
84
|
+
AiUsage: {
|
|
85
|
+
id: string;
|
|
86
|
+
/** @enum {string} */
|
|
87
|
+
object: "ai_usage";
|
|
88
|
+
/** @description The UTC day these counts are for (YYYY-MM-DD). */
|
|
89
|
+
date: string;
|
|
90
|
+
/** @description ISO timestamp of the next UTC-midnight counter reset. */
|
|
91
|
+
resetAt: string;
|
|
92
|
+
features: components["schemas"]["AiUsageFeature"][];
|
|
93
|
+
};
|
|
94
|
+
AiUsageFeature: {
|
|
95
|
+
feature: string;
|
|
96
|
+
used: number;
|
|
97
|
+
limit: number;
|
|
98
|
+
remaining: number;
|
|
99
|
+
};
|
|
80
100
|
Alert: {
|
|
81
101
|
/** @description Job-alert preference ID — also the path key. */
|
|
82
102
|
id: string;
|
|
@@ -84,7 +104,7 @@ interface components {
|
|
|
84
104
|
object: "alert";
|
|
85
105
|
label: string | null;
|
|
86
106
|
/** @enum {string} */
|
|
87
|
-
frequency: "
|
|
107
|
+
frequency: "weekly";
|
|
88
108
|
isActive: boolean;
|
|
89
109
|
filters: {
|
|
90
110
|
jobFunctions: string[];
|
|
@@ -104,7 +124,7 @@ interface components {
|
|
|
104
124
|
AlertBody: {
|
|
105
125
|
label?: string;
|
|
106
126
|
/** @enum {string} */
|
|
107
|
-
frequency: "
|
|
127
|
+
frequency: "weekly";
|
|
108
128
|
jobFunctions?: string[];
|
|
109
129
|
seniorityLevels?: string[];
|
|
110
130
|
remoteOptions?: string[];
|
|
@@ -172,6 +192,10 @@ interface components {
|
|
|
172
192
|
email?: string;
|
|
173
193
|
coverNote?: string;
|
|
174
194
|
};
|
|
195
|
+
ApproveClaimBody: {
|
|
196
|
+
/** @description Optional intended role for the approved employer, recorded in the audit log. Not yet persisted (companyMembers has no role field). */
|
|
197
|
+
role?: string;
|
|
198
|
+
};
|
|
175
199
|
AuditLogEntry: {
|
|
176
200
|
/** @description Unique identifier for the object. */
|
|
177
201
|
id: string;
|
|
@@ -448,6 +472,18 @@ interface components {
|
|
|
448
472
|
BoardAuthVerifyEmailBody: {
|
|
449
473
|
token: string;
|
|
450
474
|
};
|
|
475
|
+
BoardContentBody: {
|
|
476
|
+
/** @description The board name. */
|
|
477
|
+
boardName: string;
|
|
478
|
+
/** @description Optional board description to steer the copy. */
|
|
479
|
+
boardDescription?: string;
|
|
480
|
+
};
|
|
481
|
+
BoardRulesBody: {
|
|
482
|
+
/** @description The board name. */
|
|
483
|
+
boardName: string;
|
|
484
|
+
/** @description Optional board description to steer the scraping rules. */
|
|
485
|
+
boardDescription?: string;
|
|
486
|
+
};
|
|
451
487
|
BoardSeo: {
|
|
452
488
|
/** @enum {string} */
|
|
453
489
|
object: "board_seo";
|
|
@@ -477,6 +513,16 @@ interface components {
|
|
|
477
513
|
themeColor: string;
|
|
478
514
|
};
|
|
479
515
|
};
|
|
516
|
+
BoardThemeBody: {
|
|
517
|
+
/** @description The board name. */
|
|
518
|
+
boardName: string;
|
|
519
|
+
/** @description Optional board description to steer the palette + fonts. */
|
|
520
|
+
boardDescription?: string;
|
|
521
|
+
};
|
|
522
|
+
BoardToneBody: {
|
|
523
|
+
/** @description The board name the AI tone/voice profile is generated from. */
|
|
524
|
+
boardName: string;
|
|
525
|
+
};
|
|
480
526
|
BoardUser: {
|
|
481
527
|
/** @description Board user ID. */
|
|
482
528
|
id: string;
|
|
@@ -496,11 +542,52 @@ interface components {
|
|
|
496
542
|
BulkRejectApplicantsBody: {
|
|
497
543
|
applicationIds: string[];
|
|
498
544
|
};
|
|
545
|
+
Candidate: {
|
|
546
|
+
/** @description Unique identifier for the candidate. */
|
|
547
|
+
id: string;
|
|
548
|
+
/**
|
|
549
|
+
* @description String representing the object's type.
|
|
550
|
+
* @enum {string}
|
|
551
|
+
*/
|
|
552
|
+
object: "candidate";
|
|
553
|
+
/** @description The candidate's email address. */
|
|
554
|
+
email: string;
|
|
555
|
+
/** @description The candidate's display name. */
|
|
556
|
+
displayName: string | null;
|
|
557
|
+
/** @description Public-profile handle, or `null`. */
|
|
558
|
+
handle: string | null;
|
|
559
|
+
/** @description Avatar URL, or `null`. */
|
|
560
|
+
avatarUrl: string | null;
|
|
561
|
+
/** @description Whether the candidate has uploaded a resume. */
|
|
562
|
+
hasResume: boolean;
|
|
563
|
+
/** @description ISO-8601 timestamp of when the candidate registered. */
|
|
564
|
+
createdAt: string;
|
|
565
|
+
/** @description ISO-8601 timestamp of the last sign-in, or `null`. */
|
|
566
|
+
lastActiveAt: string | null;
|
|
567
|
+
};
|
|
499
568
|
CandidateAvatar: {
|
|
500
569
|
/** @enum {string} */
|
|
501
570
|
object: "candidate_avatar";
|
|
502
571
|
avatarUrl: string | null;
|
|
503
572
|
};
|
|
573
|
+
CandidateDetail: components["schemas"]["Candidate"] & {
|
|
574
|
+
profile: components["schemas"]["CandidateProfile"] & ({
|
|
575
|
+
headline: string | null;
|
|
576
|
+
location: string | null;
|
|
577
|
+
bio: string | null;
|
|
578
|
+
jobSearchStatus: string | null;
|
|
579
|
+
profileVisibility: string | null;
|
|
580
|
+
openToRelocate: boolean | null;
|
|
581
|
+
seniority: string[];
|
|
582
|
+
skills: string[];
|
|
583
|
+
workingPermits: string[];
|
|
584
|
+
interestedRoles: string[];
|
|
585
|
+
} | null);
|
|
586
|
+
/** @description Number of jobs the candidate has saved. */
|
|
587
|
+
savedJobCount: number;
|
|
588
|
+
/** @description Number of job alerts the candidate has. */
|
|
589
|
+
alertCount: number;
|
|
590
|
+
};
|
|
504
591
|
CandidateEducation: {
|
|
505
592
|
id: string;
|
|
506
593
|
/** @enum {string} */
|
|
@@ -583,6 +670,15 @@ interface components {
|
|
|
583
670
|
slug: string;
|
|
584
671
|
website: string | null;
|
|
585
672
|
};
|
|
673
|
+
CollectReportsBody: {
|
|
674
|
+
/** @description Restrict collection to these providers. Omit to collect every enabled provider. */
|
|
675
|
+
providers?: ("search_console" | "adsense" | "tinybird" | "stripe")[];
|
|
676
|
+
/**
|
|
677
|
+
* Format: date-time
|
|
678
|
+
* @description Collect up to this end date (ISO-8601). Defaults to the current day.
|
|
679
|
+
*/
|
|
680
|
+
endDate?: string;
|
|
681
|
+
};
|
|
586
682
|
CompaniesBatchRequest: {
|
|
587
683
|
/** @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. */
|
|
588
684
|
operations: ({
|
|
@@ -659,6 +755,20 @@ interface components {
|
|
|
659
755
|
boardCategoryP75Max: number | null;
|
|
660
756
|
currency: string;
|
|
661
757
|
};
|
|
758
|
+
CompanyClaim: {
|
|
759
|
+
id: string;
|
|
760
|
+
/** @enum {string} */
|
|
761
|
+
object: "company_claim";
|
|
762
|
+
companyId: string;
|
|
763
|
+
companyName: string;
|
|
764
|
+
employerId: string;
|
|
765
|
+
employerEmail: string;
|
|
766
|
+
workEmail: string | null;
|
|
767
|
+
workEmailVerifiedAt: string | null;
|
|
768
|
+
status: string;
|
|
769
|
+
/** @description ISO-8601 timestamp the claim was created. */
|
|
770
|
+
requestedAt: string;
|
|
771
|
+
};
|
|
662
772
|
CompanyMarket: {
|
|
663
773
|
/** @enum {string} */
|
|
664
774
|
object: "company_market";
|
|
@@ -797,6 +907,8 @@ interface components {
|
|
|
797
907
|
logoUrl: string | null;
|
|
798
908
|
/** @description One-line summary of the company, or `null` if not set. */
|
|
799
909
|
summary: string | null;
|
|
910
|
+
/** @description Canonical market slugs assigned to the company. */
|
|
911
|
+
markets: string[];
|
|
800
912
|
/** @description X (Twitter) profile URL, or `null` if not set. */
|
|
801
913
|
xUrl: string | null;
|
|
802
914
|
/** @description LinkedIn page URL, or `null` if not set. */
|
|
@@ -816,6 +928,36 @@ interface components {
|
|
|
816
928
|
public?: string | null;
|
|
817
929
|
};
|
|
818
930
|
};
|
|
931
|
+
ConfirmImportBody: {
|
|
932
|
+
/** @description A first-time or revised mapping to persist. Omit to use the mapping already attached to the batch (fingerprint reuse). */
|
|
933
|
+
inlineMapping?: {
|
|
934
|
+
schemaFingerprint: string;
|
|
935
|
+
/** @enum {string} */
|
|
936
|
+
sourceFormat: "csv" | "xml";
|
|
937
|
+
fieldMappings: {
|
|
938
|
+
sourceColumn: string;
|
|
939
|
+
targetField: string;
|
|
940
|
+
confidence: number;
|
|
941
|
+
notes?: string;
|
|
942
|
+
}[];
|
|
943
|
+
/** @default {} */
|
|
944
|
+
defaults: {
|
|
945
|
+
employmentType?: string;
|
|
946
|
+
remoteOption?: string;
|
|
947
|
+
currency?: string;
|
|
948
|
+
descriptionFormat?: string;
|
|
949
|
+
};
|
|
950
|
+
/** @default [] */
|
|
951
|
+
valueTransforms: {
|
|
952
|
+
sourceColumn: string;
|
|
953
|
+
targetField: string;
|
|
954
|
+
map: {
|
|
955
|
+
[key: string]: string;
|
|
956
|
+
};
|
|
957
|
+
fallback?: string;
|
|
958
|
+
}[];
|
|
959
|
+
};
|
|
960
|
+
};
|
|
819
961
|
ConfirmWorkEmailBody: {
|
|
820
962
|
token: string;
|
|
821
963
|
};
|
|
@@ -930,6 +1072,8 @@ interface components {
|
|
|
930
1072
|
linkedinUrl?: string;
|
|
931
1073
|
/** @description Facebook company page URL. */
|
|
932
1074
|
facebookUrl?: string;
|
|
1075
|
+
/** @description Canonical market slugs assigned to the company. Pass an empty array to clear all markets. */
|
|
1076
|
+
markets?: string[];
|
|
933
1077
|
/** @description The company's display name. */
|
|
934
1078
|
name: string;
|
|
935
1079
|
/** @description URL-friendly slug for the company. Auto-generated from `name` when omitted. */
|
|
@@ -966,6 +1110,18 @@ interface components {
|
|
|
966
1110
|
description?: string;
|
|
967
1111
|
sortOrder?: number;
|
|
968
1112
|
};
|
|
1113
|
+
CreateInvitationBody: {
|
|
1114
|
+
/**
|
|
1115
|
+
* Format: email
|
|
1116
|
+
* @description The email address to invite.
|
|
1117
|
+
*/
|
|
1118
|
+
email: string;
|
|
1119
|
+
/**
|
|
1120
|
+
* @description The role the invitee receives on accept.
|
|
1121
|
+
* @enum {string}
|
|
1122
|
+
*/
|
|
1123
|
+
role: "admin" | "member";
|
|
1124
|
+
};
|
|
969
1125
|
CreateJobBody: {
|
|
970
1126
|
/** @description The ID of an existing company. Provide either `companyId` or `company`, not both. */
|
|
971
1127
|
companyId?: string;
|
|
@@ -1019,6 +1175,10 @@ interface components {
|
|
|
1019
1175
|
* @enum {string}
|
|
1020
1176
|
*/
|
|
1021
1177
|
salaryTimeframe?: "per_year" | "per_month" | "per_week" | "per_day" | "per_hour";
|
|
1178
|
+
/** @description Up to 100 canonical skill slugs from `GET /v1/taxonomies/skills`. Every slug must exist in this account. */
|
|
1179
|
+
skills?: string[];
|
|
1180
|
+
/** @description Up to 100 canonical category slugs from `GET /v1/taxonomies/categories`. Every slug must exist in this account. */
|
|
1181
|
+
categories?: string[];
|
|
1022
1182
|
/** @description Whether the job appears in featured slots on the public board. */
|
|
1023
1183
|
isFeatured?: boolean;
|
|
1024
1184
|
/** @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. */
|
|
@@ -1265,6 +1425,35 @@ interface components {
|
|
|
1265
1425
|
EditMessageBody: {
|
|
1266
1426
|
body: string;
|
|
1267
1427
|
};
|
|
1428
|
+
Employer: {
|
|
1429
|
+
/** @description Unique identifier for the employer. */
|
|
1430
|
+
id: string;
|
|
1431
|
+
/**
|
|
1432
|
+
* @description String representing the object's type.
|
|
1433
|
+
* @enum {string}
|
|
1434
|
+
*/
|
|
1435
|
+
object: "employer";
|
|
1436
|
+
/** @description The employer's email address. */
|
|
1437
|
+
email: string;
|
|
1438
|
+
displayName: string | null;
|
|
1439
|
+
avatarUrl: string | null;
|
|
1440
|
+
emailVerifiedAt: string | null;
|
|
1441
|
+
createdAt: string;
|
|
1442
|
+
lastActiveAt: string | null;
|
|
1443
|
+
/** @description Approved company memberships. */
|
|
1444
|
+
companies: (components["schemas"]["EmployerCompany"] & {
|
|
1445
|
+
companyId: string;
|
|
1446
|
+
companyName: string;
|
|
1447
|
+
/** @description Membership status (e.g. `approved`). */
|
|
1448
|
+
status: string;
|
|
1449
|
+
/** @description How the membership was approved (`domain_match` | `work_email_verification` | `admin` | `owner_creation`), or `null`. */
|
|
1450
|
+
approvalSource: string | null;
|
|
1451
|
+
/** @description ISO-8601 timestamp the membership was created. */
|
|
1452
|
+
joinedAt: string;
|
|
1453
|
+
})[];
|
|
1454
|
+
/** @description Pending company claims (memberships awaiting approval). */
|
|
1455
|
+
pendingClaims: components["schemas"]["EmployerPendingClaim"][];
|
|
1456
|
+
};
|
|
1268
1457
|
EmployerApplicant: {
|
|
1269
1458
|
id: string;
|
|
1270
1459
|
/** @enum {string} */
|
|
@@ -1441,6 +1630,10 @@ interface components {
|
|
|
1441
1630
|
* @enum {string}
|
|
1442
1631
|
*/
|
|
1443
1632
|
salaryTimeframe?: "per_year" | "per_month" | "per_week" | "per_day" | "per_hour";
|
|
1633
|
+
/** @description Up to 100 canonical skill slugs from `GET /v1/taxonomies/skills`. Every slug must exist in this account. */
|
|
1634
|
+
skills?: string[];
|
|
1635
|
+
/** @description Up to 100 canonical category slugs from `GET /v1/taxonomies/categories`. Every slug must exist in this account. */
|
|
1636
|
+
categories?: string[];
|
|
1444
1637
|
/** @description Required education credentials. Each value is one of `high_school`, `associate_degree`, `bachelor_degree`, `professional_certificate`, `postgraduate_degree`, or `no_requirements`. */
|
|
1445
1638
|
educationRequirements?: ("high_school" | "associate_degree" | "bachelor_degree" | "professional_certificate" | "postgraduate_degree" | "no_requirements")[];
|
|
1446
1639
|
/** @description Minimum required experience, expressed in months. */
|
|
@@ -1570,6 +1763,28 @@ interface components {
|
|
|
1570
1763
|
updatedAt: string;
|
|
1571
1764
|
links: components["schemas"]["EmployerJobLinks"];
|
|
1572
1765
|
};
|
|
1766
|
+
EmployerMembership: {
|
|
1767
|
+
id: string;
|
|
1768
|
+
/** @enum {string} */
|
|
1769
|
+
object: "employer_membership";
|
|
1770
|
+
companyId: string;
|
|
1771
|
+
companyName: string;
|
|
1772
|
+
employerId: string;
|
|
1773
|
+
employerEmail: string;
|
|
1774
|
+
/** @description How the membership was approved (`domain_match` | `work_email_verification` | `admin` | `owner_creation`), or `null`. */
|
|
1775
|
+
approvalSource: string | null;
|
|
1776
|
+
status: string;
|
|
1777
|
+
/** @description ISO-8601 timestamp the membership was created. */
|
|
1778
|
+
joinedAt: string;
|
|
1779
|
+
};
|
|
1780
|
+
EmployerPendingClaim: {
|
|
1781
|
+
membershipId: string;
|
|
1782
|
+
companyId: string;
|
|
1783
|
+
companyName: string;
|
|
1784
|
+
companyWebsiteDomain: string | null;
|
|
1785
|
+
workEmail: string | null;
|
|
1786
|
+
workEmailVerifiedAt: string | null;
|
|
1787
|
+
};
|
|
1573
1788
|
EmployerPipeline: {
|
|
1574
1789
|
/** @enum {string} */
|
|
1575
1790
|
object: "employer_pipeline";
|
|
@@ -1646,6 +1861,10 @@ interface components {
|
|
|
1646
1861
|
* @enum {string}
|
|
1647
1862
|
*/
|
|
1648
1863
|
salaryTimeframe?: "per_year" | "per_month" | "per_week" | "per_day" | "per_hour";
|
|
1864
|
+
/** @description Up to 100 canonical skill slugs from `GET /v1/taxonomies/skills`. Every slug must exist in this account. */
|
|
1865
|
+
skills?: string[];
|
|
1866
|
+
/** @description Up to 100 canonical category slugs from `GET /v1/taxonomies/categories`. Every slug must exist in this account. */
|
|
1867
|
+
categories?: string[];
|
|
1649
1868
|
/** @description Required education credentials. Each value is one of `high_school`, `associate_degree`, `bachelor_degree`, `professional_certificate`, `postgraduate_degree`, or `no_requirements`. */
|
|
1650
1869
|
educationRequirements?: ("high_school" | "associate_degree" | "bachelor_degree" | "professional_certificate" | "postgraduate_degree" | "no_requirements")[];
|
|
1651
1870
|
/** @description Minimum required experience, expressed in months. */
|
|
@@ -1676,12 +1895,169 @@ interface components {
|
|
|
1676
1895
|
/** @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. */
|
|
1677
1896
|
createIfMissing?: boolean;
|
|
1678
1897
|
};
|
|
1898
|
+
ForagerBackfillProgress: {
|
|
1899
|
+
id: string;
|
|
1900
|
+
/** @enum {string} */
|
|
1901
|
+
object: "forager_backfill_progress";
|
|
1902
|
+
backfillId: string;
|
|
1903
|
+
status: string;
|
|
1904
|
+
progress: {
|
|
1905
|
+
jobsMatched: number;
|
|
1906
|
+
jobsToEnhance: number;
|
|
1907
|
+
jobsEnhanced: number;
|
|
1908
|
+
jobsFailed: number;
|
|
1909
|
+
};
|
|
1910
|
+
errorMessage: string | null;
|
|
1911
|
+
createdAt: string;
|
|
1912
|
+
};
|
|
1913
|
+
ForagerConfig: {
|
|
1914
|
+
/** @enum {string} */
|
|
1915
|
+
object: "forager_config";
|
|
1916
|
+
configured: boolean;
|
|
1917
|
+
isActive?: boolean;
|
|
1918
|
+
foragerUserId?: string | null;
|
|
1919
|
+
privateVerticalId?: string | null;
|
|
1920
|
+
foragerPlan?: string | null;
|
|
1921
|
+
autoExpireJobs?: boolean;
|
|
1922
|
+
lastSyncedAt?: string | null;
|
|
1923
|
+
hasApiKey?: boolean;
|
|
1924
|
+
hasWebhookSecret?: boolean;
|
|
1925
|
+
};
|
|
1926
|
+
ForagerExclusion: {
|
|
1927
|
+
id: string;
|
|
1928
|
+
/** @enum {string} */
|
|
1929
|
+
object: "forager_exclusion";
|
|
1930
|
+
pattern: string;
|
|
1931
|
+
type: string;
|
|
1932
|
+
createdAt: string;
|
|
1933
|
+
};
|
|
1934
|
+
ForagerSyncRun: {
|
|
1935
|
+
id: string;
|
|
1936
|
+
/** @enum {string} */
|
|
1937
|
+
object: "forager_sync_run";
|
|
1938
|
+
startedAt: string | null;
|
|
1939
|
+
completedAt: string;
|
|
1940
|
+
/** @enum {string} */
|
|
1941
|
+
status: "completed";
|
|
1942
|
+
jobsCreated: number;
|
|
1943
|
+
jobsRepublished: number;
|
|
1944
|
+
companiesCreated: number;
|
|
1945
|
+
totalActive: number;
|
|
1946
|
+
};
|
|
1679
1947
|
HandleAvailability: {
|
|
1680
1948
|
/** @enum {string} */
|
|
1681
1949
|
object: "handle_availability";
|
|
1682
1950
|
handle: string;
|
|
1683
1951
|
available: boolean;
|
|
1684
1952
|
};
|
|
1953
|
+
Import: {
|
|
1954
|
+
id: string;
|
|
1955
|
+
/** @enum {string} */
|
|
1956
|
+
object: "import";
|
|
1957
|
+
filename: string;
|
|
1958
|
+
sourceFormat: string;
|
|
1959
|
+
status: string;
|
|
1960
|
+
discoveryStatus: string | null;
|
|
1961
|
+
totalRows: number;
|
|
1962
|
+
processedRows: number;
|
|
1963
|
+
createdCount: number;
|
|
1964
|
+
updatedCount: number;
|
|
1965
|
+
skippedCount: number;
|
|
1966
|
+
errorCount: number;
|
|
1967
|
+
mappingId: string | null;
|
|
1968
|
+
startedAt: string | null;
|
|
1969
|
+
completedAt: string | null;
|
|
1970
|
+
createdAt: string;
|
|
1971
|
+
};
|
|
1972
|
+
ImportBatchError: {
|
|
1973
|
+
rowIndex: number;
|
|
1974
|
+
code: string;
|
|
1975
|
+
message: string;
|
|
1976
|
+
};
|
|
1977
|
+
ImportDetail: {
|
|
1978
|
+
id: string;
|
|
1979
|
+
/** @enum {string} */
|
|
1980
|
+
object: "import";
|
|
1981
|
+
filename: string;
|
|
1982
|
+
sourceFormat: string;
|
|
1983
|
+
status: string;
|
|
1984
|
+
discoveryStatus: string | null;
|
|
1985
|
+
totalRows: number;
|
|
1986
|
+
processedRows: number;
|
|
1987
|
+
createdCount: number;
|
|
1988
|
+
updatedCount: number;
|
|
1989
|
+
skippedCount: number;
|
|
1990
|
+
errorCount: number;
|
|
1991
|
+
mappingId: string | null;
|
|
1992
|
+
startedAt: string | null;
|
|
1993
|
+
completedAt: string | null;
|
|
1994
|
+
createdAt: string;
|
|
1995
|
+
errors: components["schemas"]["ImportBatchError"][];
|
|
1996
|
+
proposedMapping?: unknown;
|
|
1997
|
+
};
|
|
1998
|
+
ImportFieldMapping: {
|
|
1999
|
+
sourceColumn: string;
|
|
2000
|
+
targetField: string;
|
|
2001
|
+
confidence: number;
|
|
2002
|
+
notes?: string;
|
|
2003
|
+
};
|
|
2004
|
+
ImportMapping: {
|
|
2005
|
+
id: string;
|
|
2006
|
+
/** @enum {string} */
|
|
2007
|
+
object: "import_mapping";
|
|
2008
|
+
schemaFingerprint: string;
|
|
2009
|
+
/** @enum {string} */
|
|
2010
|
+
sourceFormat: "csv" | "xml";
|
|
2011
|
+
fieldMappings: components["schemas"]["ImportFieldMapping"][];
|
|
2012
|
+
valueTransforms: components["schemas"]["ImportValueTransform"][];
|
|
2013
|
+
defaults: components["schemas"]["ImportMappingDefaults"];
|
|
2014
|
+
importCount: number;
|
|
2015
|
+
lastUsedAt: string;
|
|
2016
|
+
createdByUserId: string | null;
|
|
2017
|
+
createdAt: string;
|
|
2018
|
+
};
|
|
2019
|
+
ImportMappingDefaults: {
|
|
2020
|
+
employmentType?: string;
|
|
2021
|
+
remoteOption?: string;
|
|
2022
|
+
currency?: string;
|
|
2023
|
+
descriptionFormat?: string;
|
|
2024
|
+
};
|
|
2025
|
+
ImportQuota: {
|
|
2026
|
+
/** @enum {string} */
|
|
2027
|
+
object: "import_quota";
|
|
2028
|
+
used: number;
|
|
2029
|
+
remaining: number;
|
|
2030
|
+
limit: number;
|
|
2031
|
+
resetAt: string;
|
|
2032
|
+
};
|
|
2033
|
+
ImportValueTransform: {
|
|
2034
|
+
sourceColumn: string;
|
|
2035
|
+
targetField: string;
|
|
2036
|
+
map: {
|
|
2037
|
+
[key: string]: string;
|
|
2038
|
+
};
|
|
2039
|
+
fallback?: string;
|
|
2040
|
+
};
|
|
2041
|
+
IndexingConfig: {
|
|
2042
|
+
/** @enum {string} */
|
|
2043
|
+
id: "indexing_config";
|
|
2044
|
+
/** @enum {string} */
|
|
2045
|
+
object: "indexing_config";
|
|
2046
|
+
/** @description Whether Google Indexing submission is active. */
|
|
2047
|
+
enabled: boolean;
|
|
2048
|
+
/** @description Whether IndexNow (Bing/Yandex) instant indexing is enabled. */
|
|
2049
|
+
indexNowEnabled: boolean;
|
|
2050
|
+
/** @description GCP provisioning state (`pending` | `provisioning` | `ready` | `error`), or null. */
|
|
2051
|
+
provisioningStatus: string | null;
|
|
2052
|
+
/** @description ISO-8601 timestamp of the last submission, or null. */
|
|
2053
|
+
lastRunAt: string | null;
|
|
2054
|
+
/** @description The last recorded error message, or null. */
|
|
2055
|
+
lastError: string | null;
|
|
2056
|
+
};
|
|
2057
|
+
IndexingToggleBody: {
|
|
2058
|
+
/** @description Whether to enable the toggle. */
|
|
2059
|
+
enabled: boolean;
|
|
2060
|
+
};
|
|
1685
2061
|
/** @description An inline company payload, resolved via `find-or-create` before the job is created. Provide either `company` or `companyId`, not both. */
|
|
1686
2062
|
InlineCompanyInput: {
|
|
1687
2063
|
/** @description The company's display name. */
|
|
@@ -1695,6 +2071,33 @@ interface components {
|
|
|
1695
2071
|
/** @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. */
|
|
1696
2072
|
createIfMissing?: boolean;
|
|
1697
2073
|
};
|
|
2074
|
+
Invitation: {
|
|
2075
|
+
/** @description Unique identifier for the invitation. */
|
|
2076
|
+
id: string;
|
|
2077
|
+
/**
|
|
2078
|
+
* @description String representing the object's type.
|
|
2079
|
+
* @enum {string}
|
|
2080
|
+
*/
|
|
2081
|
+
object: "invitation";
|
|
2082
|
+
/** @description The invited email address. */
|
|
2083
|
+
email: string;
|
|
2084
|
+
/** @description The role the invitee will receive on accept. */
|
|
2085
|
+
role: string;
|
|
2086
|
+
/** @description The invitation status: pending, expired, accepted, declined. */
|
|
2087
|
+
status: string;
|
|
2088
|
+
/** @description ISO-8601 timestamp of when the invitation expires. */
|
|
2089
|
+
expiresAt: string;
|
|
2090
|
+
/** @description Identifier of the user who created the invitation. */
|
|
2091
|
+
invitedByUserId: string | null;
|
|
2092
|
+
/** @description ISO-8601 timestamp of when the invitation was created. */
|
|
2093
|
+
createdAt: string;
|
|
2094
|
+
};
|
|
2095
|
+
InvitationWithToken: components["schemas"]["Invitation"] & {
|
|
2096
|
+
/** @description The opaque accept token. */
|
|
2097
|
+
token: string;
|
|
2098
|
+
/** @description The full URL a recipient uses to accept the invitation. */
|
|
2099
|
+
acceptUrl: string;
|
|
2100
|
+
};
|
|
1698
2101
|
Job: components["schemas"]["JobSummary"] & {
|
|
1699
2102
|
/** @description Public + admin URLs for this job. `public` may be `null` if the job lacks a slug or company-slug. */
|
|
1700
2103
|
links?: components["schemas"]["ResourceLinks"] & {
|
|
@@ -1822,11 +2225,6 @@ interface components {
|
|
|
1822
2225
|
/** @description Free-form location string (e.g. `"Berlin, Germany"`, `"Mountain View, California, USA"`). Mapbox parses + ranks candidates server-side; rejects on low confidence. */
|
|
1823
2226
|
query: string;
|
|
1824
2227
|
};
|
|
1825
|
-
JobPostingBillingCheck: {
|
|
1826
|
-
/** @enum {string} */
|
|
1827
|
-
object: "job_posting_billing_check";
|
|
1828
|
-
hasActiveBilling: boolean;
|
|
1829
|
-
};
|
|
1830
2228
|
JobPostingBillingOptions: {
|
|
1831
2229
|
/** @enum {string} */
|
|
1832
2230
|
object: "job_posting_billing_options";
|
|
@@ -1857,10 +2255,6 @@ interface components {
|
|
|
1857
2255
|
object: "job_posting_billing_verification";
|
|
1858
2256
|
success: boolean;
|
|
1859
2257
|
};
|
|
1860
|
-
JobPostingCheckBillingBody: {
|
|
1861
|
-
/** Format: email */
|
|
1862
|
-
email: string;
|
|
1863
|
-
};
|
|
1864
2258
|
JobPostingLogo: {
|
|
1865
2259
|
/** @enum {string} */
|
|
1866
2260
|
object: "job_posting_logo";
|
|
@@ -1924,23 +2318,6 @@ interface components {
|
|
|
1924
2318
|
/** Format: email */
|
|
1925
2319
|
email: string;
|
|
1926
2320
|
};
|
|
1927
|
-
JobPostingSubscriptionEntitlements: {
|
|
1928
|
-
/** @enum {string} */
|
|
1929
|
-
object: "job_posting_subscription_entitlements";
|
|
1930
|
-
hasSubscription: boolean;
|
|
1931
|
-
subscriptionId: string | null;
|
|
1932
|
-
canFeature: boolean | null;
|
|
1933
|
-
featuredSlotsRemaining: number | null;
|
|
1934
|
-
featuredSlotsTotal: number | null;
|
|
1935
|
-
maxActiveRemaining: number | null;
|
|
1936
|
-
maxActiveTotal: number | null;
|
|
1937
|
-
featureSelectionMode: string | null;
|
|
1938
|
-
};
|
|
1939
|
-
JobPostingSubscriptionEntitlementsBody: {
|
|
1940
|
-
/** Format: email */
|
|
1941
|
-
email: string;
|
|
1942
|
-
planId: string;
|
|
1943
|
-
};
|
|
1944
2321
|
JobSummary: {
|
|
1945
2322
|
/** @description Unique identifier for the object. Use this value as the `{id}` path parameter for the job endpoints (e.g. `GET /v1/jobs/{id}`). */
|
|
1946
2323
|
id: string;
|
|
@@ -1996,6 +2373,10 @@ interface components {
|
|
|
1996
2373
|
createdAt: string;
|
|
1997
2374
|
/** @description Time at which the job was last updated. ISO 8601 datetime. */
|
|
1998
2375
|
updatedAt: string;
|
|
2376
|
+
/** @description Canonical skill slugs assigned to the job. */
|
|
2377
|
+
skills: string[];
|
|
2378
|
+
/** @description Canonical category slugs assigned to the job. */
|
|
2379
|
+
categories: string[];
|
|
1999
2380
|
/** @description External identifier supplied by the caller on create, used for deduplication via `GET /v1/jobs?externalId=...`. `null` when no external identifier was set. */
|
|
2000
2381
|
externalId: string | null;
|
|
2001
2382
|
/** @description Board-defined custom-field values for this job, keyed by the field `key` (the definitions are published at `GET /v1/settings/job-form`). Each value is returned as stored: a string (`short_text` / `long_text` / a `single_select` option key), a string array (`multi_select` option keys), a boolean, or a number. Always an object — `{}` when the job has no custom-field values, never `null` or a missing field. Only real values are stored, so this never contains `null` or empty values. */
|
|
@@ -2173,6 +2554,41 @@ interface components {
|
|
|
2173
2554
|
*/
|
|
2174
2555
|
purpose: "board_logo" | "board_hero" | "account_avatar" | "company_logo" | "blog_image";
|
|
2175
2556
|
};
|
|
2557
|
+
Member: {
|
|
2558
|
+
/** @description Unique identifier for the membership. */
|
|
2559
|
+
id: string;
|
|
2560
|
+
/**
|
|
2561
|
+
* @description String representing the object's type.
|
|
2562
|
+
* @enum {string}
|
|
2563
|
+
*/
|
|
2564
|
+
object: "member";
|
|
2565
|
+
/** @description Identifier of the user behind the member. */
|
|
2566
|
+
userId: string;
|
|
2567
|
+
/** @description The member's email address. */
|
|
2568
|
+
email: string;
|
|
2569
|
+
/** @description The member's display name. */
|
|
2570
|
+
name: string;
|
|
2571
|
+
/** @description URL of the member's avatar, or `null` if none is set. */
|
|
2572
|
+
avatarUrl: string | null;
|
|
2573
|
+
/** @description The member's role in the account. */
|
|
2574
|
+
role: string;
|
|
2575
|
+
/** @description Whether the member is currently suspended. */
|
|
2576
|
+
suspended: boolean;
|
|
2577
|
+
/** @description ISO-8601 timestamp of when the member joined the account. */
|
|
2578
|
+
joinedAt: string;
|
|
2579
|
+
/** @description Whether the member is the account primary owner. */
|
|
2580
|
+
isPrimaryOwner: boolean;
|
|
2581
|
+
};
|
|
2582
|
+
MemberPermissions: {
|
|
2583
|
+
/** @enum {string} */
|
|
2584
|
+
id: "members_me";
|
|
2585
|
+
/** @enum {string} */
|
|
2586
|
+
object: "member_permissions";
|
|
2587
|
+
/** @description The acting member's role, or `null` if they are not a member. */
|
|
2588
|
+
role: string | null;
|
|
2589
|
+
/** @description The permission strings the acting member effectively holds. */
|
|
2590
|
+
permissions: string[];
|
|
2591
|
+
};
|
|
2176
2592
|
Message: {
|
|
2177
2593
|
id: string;
|
|
2178
2594
|
/** @enum {string} */
|
|
@@ -2214,6 +2630,23 @@ interface components {
|
|
|
2214
2630
|
subscribed: boolean;
|
|
2215
2631
|
updatedAt: number | null;
|
|
2216
2632
|
};
|
|
2633
|
+
NotificationPreferences: {
|
|
2634
|
+
/** @enum {string} */
|
|
2635
|
+
object: "notification_preferences";
|
|
2636
|
+
backfillDigest: boolean;
|
|
2637
|
+
companyAccessRequest: boolean;
|
|
2638
|
+
companyRegistered: boolean;
|
|
2639
|
+
};
|
|
2640
|
+
OffsetPagination: {
|
|
2641
|
+
/** @description Total number of results matching the query. */
|
|
2642
|
+
count?: number;
|
|
2643
|
+
/** @description The page size used for this response. */
|
|
2644
|
+
limit?: number;
|
|
2645
|
+
/** @description The number of results skipped before this page. */
|
|
2646
|
+
offset?: number;
|
|
2647
|
+
/** @description Jobs hidden behind the candidate paywall for the current viewer; absent or 0 for an entitled viewer. */
|
|
2648
|
+
gatedCount?: number;
|
|
2649
|
+
};
|
|
2217
2650
|
/** @description Error envelope, populated once the operation reaches `failed`. `null` otherwise. */
|
|
2218
2651
|
OperationErrorEnvelope: {
|
|
2219
2652
|
/** @description Machine-readable error code. */
|
|
@@ -2272,6 +2705,19 @@ interface components {
|
|
|
2272
2705
|
/** @description Identifier of the parent operation when this operation is a child of a fan-out, or `null` otherwise. */
|
|
2273
2706
|
parentOperationId: string | null;
|
|
2274
2707
|
};
|
|
2708
|
+
PatchForagerConfigBody: {
|
|
2709
|
+
isActive?: boolean;
|
|
2710
|
+
autoExpireJobs?: boolean;
|
|
2711
|
+
};
|
|
2712
|
+
PatchNotificationPreferencesBody: {
|
|
2713
|
+
backfillDigest?: boolean;
|
|
2714
|
+
companyAccessRequest?: boolean;
|
|
2715
|
+
companyRegistered?: boolean;
|
|
2716
|
+
};
|
|
2717
|
+
PatchReportingIntegrationBody: {
|
|
2718
|
+
/** @description Whether collection is enabled for this integration. */
|
|
2719
|
+
enabled: boolean;
|
|
2720
|
+
};
|
|
2275
2721
|
PatchSettingsBody: {
|
|
2276
2722
|
/** @description Display name of the board. */
|
|
2277
2723
|
name?: string;
|
|
@@ -2348,6 +2794,17 @@ interface components {
|
|
|
2348
2794
|
intervalCount: number | null;
|
|
2349
2795
|
isDefault: boolean;
|
|
2350
2796
|
};
|
|
2797
|
+
Permission: {
|
|
2798
|
+
/** @description Unique identifier for the permission. */
|
|
2799
|
+
id: string;
|
|
2800
|
+
/**
|
|
2801
|
+
* @description String representing the object's type.
|
|
2802
|
+
* @enum {string}
|
|
2803
|
+
*/
|
|
2804
|
+
object: "permission";
|
|
2805
|
+
/** @description The permission string, e.g. `members.manage`. */
|
|
2806
|
+
permission: string;
|
|
2807
|
+
};
|
|
2351
2808
|
Plan: {
|
|
2352
2809
|
/** @enum {string} */
|
|
2353
2810
|
object: "plan";
|
|
@@ -2556,6 +3013,22 @@ interface components {
|
|
|
2556
3013
|
*/
|
|
2557
3014
|
public: string | null;
|
|
2558
3015
|
};
|
|
3016
|
+
PublicInvitation: {
|
|
3017
|
+
/** @enum {string} */
|
|
3018
|
+
object: "invitation";
|
|
3019
|
+
/** @description The invited email address. */
|
|
3020
|
+
email: string;
|
|
3021
|
+
/** @description The role the invitee will receive on accept. */
|
|
3022
|
+
role: string;
|
|
3023
|
+
/** @description The invitation status. */
|
|
3024
|
+
status: string;
|
|
3025
|
+
/** @description ISO-8601 timestamp of when the invitation expires. */
|
|
3026
|
+
expiresAt: string;
|
|
3027
|
+
/** @description The inviting account (name only). */
|
|
3028
|
+
account: {
|
|
3029
|
+
name: string;
|
|
3030
|
+
} | null;
|
|
3031
|
+
};
|
|
2559
3032
|
PublicJob: {
|
|
2560
3033
|
/** @description Unique identifier for the object. Use this value as the `{id}` path parameter for the job endpoints (e.g. `GET /v1/jobs/{id}`). */
|
|
2561
3034
|
id: string;
|
|
@@ -2699,7 +3172,8 @@ interface components {
|
|
|
2699
3172
|
preferences: {
|
|
2700
3173
|
id: string;
|
|
2701
3174
|
label: string | null;
|
|
2702
|
-
|
|
3175
|
+
/** @enum {string} */
|
|
3176
|
+
frequency: "weekly";
|
|
2703
3177
|
isActive: boolean;
|
|
2704
3178
|
filters: {
|
|
2705
3179
|
jobFunctions?: string[];
|
|
@@ -2716,21 +3190,20 @@ interface components {
|
|
|
2716
3190
|
PublicJobAlertResend: {
|
|
2717
3191
|
/** @enum {string} */
|
|
2718
3192
|
object: "job_alert_confirmation_resend";
|
|
2719
|
-
/**
|
|
2720
|
-
|
|
3193
|
+
/**
|
|
3194
|
+
* @description Always `submitted`. The response is intentionally uniform to prevent email enumeration. If a pending confirmation exists for this email, a confirmation email has been sent (subject to server-side throttle).
|
|
3195
|
+
* @enum {string}
|
|
3196
|
+
*/
|
|
3197
|
+
status: "submitted";
|
|
2721
3198
|
};
|
|
2722
3199
|
PublicJobAlertSubscription: {
|
|
2723
3200
|
/** @enum {string} */
|
|
2724
3201
|
object: "job_alert_subscription";
|
|
2725
3202
|
/**
|
|
2726
|
-
* @description `
|
|
3203
|
+
* @description Always `submitted`. The response is intentionally uniform to prevent email enumeration. If this email isn't already subscribed, a confirmation email has been sent.
|
|
2727
3204
|
* @enum {string}
|
|
2728
3205
|
*/
|
|
2729
|
-
status: "
|
|
2730
|
-
/** @description True when a double-opt-in confirmation email was sent. */
|
|
2731
|
-
requiresConfirmation: boolean;
|
|
2732
|
-
/** @description True if the subscriber was already email-confirmed. */
|
|
2733
|
-
confirmed: boolean;
|
|
3206
|
+
status: "submitted";
|
|
2734
3207
|
};
|
|
2735
3208
|
PublicJobCard: {
|
|
2736
3209
|
id: string;
|
|
@@ -2847,7 +3320,7 @@ interface components {
|
|
|
2847
3320
|
*/
|
|
2848
3321
|
limit?: number;
|
|
2849
3322
|
/**
|
|
2850
|
-
* @description The number of jobs to skip — the
|
|
3323
|
+
* @description The number of jobs to skip — the job catalog page offset. Takes precedence over `cursor`. `offset + limit` may not exceed 10,000.
|
|
2851
3324
|
* @example 0
|
|
2852
3325
|
*/
|
|
2853
3326
|
offset?: number;
|
|
@@ -2867,6 +3340,20 @@ interface components {
|
|
|
2867
3340
|
redirectTo: string | null;
|
|
2868
3341
|
geo: components["schemas"]["TaxonomyGeo"];
|
|
2869
3342
|
};
|
|
3343
|
+
PublicTaxonomyTerm: {
|
|
3344
|
+
/** @enum {string} */
|
|
3345
|
+
object: "taxonomy_term";
|
|
3346
|
+
/** @description Stable taxonomy entity ID. */
|
|
3347
|
+
id: string;
|
|
3348
|
+
/** @enum {string} */
|
|
3349
|
+
type: "category" | "skill";
|
|
3350
|
+
/** @description Current source-locale slug used by job search; old slugs may remain aliases. */
|
|
3351
|
+
sourceSlug: string;
|
|
3352
|
+
/** @description Board-language canonical URL slug. */
|
|
3353
|
+
canonicalSlug: string;
|
|
3354
|
+
/** @description Board-language name with source-name fallback. */
|
|
3355
|
+
displayName: string;
|
|
3356
|
+
};
|
|
2870
3357
|
PublicVerifyBoardPasswordBody: {
|
|
2871
3358
|
/** @description The board password. */
|
|
2872
3359
|
password: string;
|
|
@@ -2891,6 +3378,10 @@ interface components {
|
|
|
2891
3378
|
/** @description The redirect target (board-relative), or `null` when no redirect matches. The consumer 308s to `target`, or 404s when `null`. */
|
|
2892
3379
|
target: string | null;
|
|
2893
3380
|
};
|
|
3381
|
+
RejectClaimBody: {
|
|
3382
|
+
/** @description Optional free-form reason recorded in the audit log. */
|
|
3383
|
+
reason?: string;
|
|
3384
|
+
};
|
|
2894
3385
|
RemotePermitTaxonomyEntry: {
|
|
2895
3386
|
/** @description Discriminator. One of: `worldwide`, `world_region`, `continent`, `region`, `subregion`, `custom`, `country`, `subdivision`. */
|
|
2896
3387
|
type: string;
|
|
@@ -2921,6 +3412,94 @@ interface components {
|
|
|
2921
3412
|
reason: "spam" | "harassment" | "misrepresentation" | "other";
|
|
2922
3413
|
freeText?: string;
|
|
2923
3414
|
};
|
|
3415
|
+
ReportSnapshot: {
|
|
3416
|
+
/** @description Unique identifier for the snapshot. */
|
|
3417
|
+
id: string;
|
|
3418
|
+
/**
|
|
3419
|
+
* @description String representing the object's type.
|
|
3420
|
+
* @enum {string}
|
|
3421
|
+
*/
|
|
3422
|
+
object: "report_snapshot";
|
|
3423
|
+
/** @description The provider that produced the snapshot. */
|
|
3424
|
+
provider: string;
|
|
3425
|
+
/** @description The metric name. */
|
|
3426
|
+
metric: string;
|
|
3427
|
+
/** @description The segment (e.g. `global`, `country`). */
|
|
3428
|
+
segment: string;
|
|
3429
|
+
/** @description The aggregation interval (e.g. `1d`). */
|
|
3430
|
+
interval: string;
|
|
3431
|
+
/** @description ISO date string — inclusive start of the snapshot range. */
|
|
3432
|
+
rangeStart: string;
|
|
3433
|
+
/** @description ISO date string — inclusive end of the snapshot range. */
|
|
3434
|
+
rangeEnd: string;
|
|
3435
|
+
/** @description Provider-specific metric payload as collected. */
|
|
3436
|
+
payload?: unknown;
|
|
3437
|
+
};
|
|
3438
|
+
ReportingConnect: {
|
|
3439
|
+
/** @description Provider-synthetic identifier for the connect. */
|
|
3440
|
+
id: string;
|
|
3441
|
+
/**
|
|
3442
|
+
* @description String representing the object's type.
|
|
3443
|
+
* @enum {string}
|
|
3444
|
+
*/
|
|
3445
|
+
object: "reporting_integration_connect";
|
|
3446
|
+
/** @description The reporting provider key. */
|
|
3447
|
+
provider: string;
|
|
3448
|
+
/** @description Whether the integration is already fully connected. */
|
|
3449
|
+
connected: boolean;
|
|
3450
|
+
/** @description OAuth providers only — the URL the user must visit to grant access. */
|
|
3451
|
+
authorizationUrl?: string;
|
|
3452
|
+
/** @description Search Console only — the site-verification DNS token. */
|
|
3453
|
+
verificationToken?: string;
|
|
3454
|
+
/** @description The board site URL the integration reports on. */
|
|
3455
|
+
siteUrl?: string;
|
|
3456
|
+
/** @description Stripe only — the Monetization settings deep link. */
|
|
3457
|
+
redirectUrl?: string;
|
|
3458
|
+
/** @description Stripe only — why no OAuth URL is returned. */
|
|
3459
|
+
reason?: string;
|
|
3460
|
+
};
|
|
3461
|
+
ReportingIntegration: {
|
|
3462
|
+
/** @description Unique identifier for the integration. */
|
|
3463
|
+
id: string;
|
|
3464
|
+
/**
|
|
3465
|
+
* @description String representing the object's type.
|
|
3466
|
+
* @enum {string}
|
|
3467
|
+
*/
|
|
3468
|
+
object: "reporting_integration";
|
|
3469
|
+
/**
|
|
3470
|
+
* @description The reporting provider key.
|
|
3471
|
+
* @enum {string}
|
|
3472
|
+
*/
|
|
3473
|
+
provider: "search_console" | "adsense" | "tinybird" | "stripe" | "google_analytics";
|
|
3474
|
+
/** @description Whether collection is enabled for this integration. */
|
|
3475
|
+
enabled: boolean;
|
|
3476
|
+
/** @description ISO-8601 timestamp of when the integration was connected. */
|
|
3477
|
+
connectedAt: string | null;
|
|
3478
|
+
/** @description Provider-side identifier (e.g. the verified site URL). */
|
|
3479
|
+
externalId: string | null;
|
|
3480
|
+
/** @description OAuth scopes granted to the integration. */
|
|
3481
|
+
scopes: string[];
|
|
3482
|
+
settings: components["schemas"]["ReportingIntegrationSettings"];
|
|
3483
|
+
/** @description ISO-8601 timestamp of the last successful collection. */
|
|
3484
|
+
lastCollectedAt: string | null;
|
|
3485
|
+
};
|
|
3486
|
+
/** @description Provider-specific settings. The OAuth `refreshToken` and `oauthState` are always redacted. */
|
|
3487
|
+
ReportingIntegrationSettings: {
|
|
3488
|
+
type?: string;
|
|
3489
|
+
siteUrl?: string;
|
|
3490
|
+
domain?: string | null;
|
|
3491
|
+
siteHostname?: string;
|
|
3492
|
+
verificationToken?: string;
|
|
3493
|
+
status?: string;
|
|
3494
|
+
slug?: string;
|
|
3495
|
+
inspectionUrl?: string;
|
|
3496
|
+
lastSyncedAt?: string;
|
|
3497
|
+
permissionLevel?: string;
|
|
3498
|
+
platformSiteUrl?: string;
|
|
3499
|
+
propertyUrl?: string;
|
|
3500
|
+
adsenseAccountId?: string;
|
|
3501
|
+
sitemapSubmitted?: boolean;
|
|
3502
|
+
} | null;
|
|
2924
3503
|
ResourceLinks: {
|
|
2925
3504
|
/**
|
|
2926
3505
|
* Format: uri
|
|
@@ -2966,6 +3545,19 @@ interface components {
|
|
|
2966
3545
|
/** @description OAuth client secret. May be supplied here or via HTTP Basic authentication. */
|
|
2967
3546
|
client_secret?: string;
|
|
2968
3547
|
};
|
|
3548
|
+
Role: {
|
|
3549
|
+
/** @description Unique identifier for the role. */
|
|
3550
|
+
id: string;
|
|
3551
|
+
/**
|
|
3552
|
+
* @description String representing the object's type.
|
|
3553
|
+
* @enum {string}
|
|
3554
|
+
*/
|
|
3555
|
+
object: "role";
|
|
3556
|
+
/** @description The role name: owner, admin, or member. */
|
|
3557
|
+
role: string;
|
|
3558
|
+
/** @description The permission strings granted to the role by default. */
|
|
3559
|
+
permissions: string[];
|
|
3560
|
+
};
|
|
2969
3561
|
SalaryCompanyIndexItem: {
|
|
2970
3562
|
/** @enum {string} */
|
|
2971
3563
|
object: "salary_company";
|
|
@@ -3026,6 +3618,14 @@ interface components {
|
|
|
3026
3618
|
featuredBullets: string[];
|
|
3027
3619
|
displayOrder: number;
|
|
3028
3620
|
};
|
|
3621
|
+
SampleJobsBody: {
|
|
3622
|
+
/** @description The board name. */
|
|
3623
|
+
boardName: string;
|
|
3624
|
+
/** @description Optional board description to tailor the sample jobs. */
|
|
3625
|
+
boardDescription?: string;
|
|
3626
|
+
/** @description How many sample jobs to generate (default 10, max 25). */
|
|
3627
|
+
count?: number;
|
|
3628
|
+
};
|
|
3029
3629
|
SaveJobBody: {
|
|
3030
3630
|
jobId: string;
|
|
3031
3631
|
};
|
|
@@ -3057,6 +3657,10 @@ interface components {
|
|
|
3057
3657
|
* @example 20
|
|
3058
3658
|
*/
|
|
3059
3659
|
limit?: number;
|
|
3660
|
+
filters?: {
|
|
3661
|
+
/** @description Return companies assigned to any of these canonical market slugs. Up to 10 values. */
|
|
3662
|
+
markets?: string[];
|
|
3663
|
+
};
|
|
3060
3664
|
};
|
|
3061
3665
|
SearchJobsBody: {
|
|
3062
3666
|
/** @description Free-text search query matched against job title and description. Up to 200 characters. */
|
|
@@ -3073,6 +3677,10 @@ interface components {
|
|
|
3073
3677
|
employmentType?: ("full_time" | "part_time" | "contract" | "internship" | "temporary" | "volunteer" | "other")[];
|
|
3074
3678
|
/** @description Only return jobs at any of the given seniority levels. Up to 10 values. */
|
|
3075
3679
|
seniority?: ("entry_level" | "associate" | "mid_level" | "senior" | "lead" | "principal" | "director" | "executive")[];
|
|
3680
|
+
/** @description Only return jobs tagged with any of these canonical skill slugs. Up to 10 values. */
|
|
3681
|
+
skills?: string[];
|
|
3682
|
+
/** @description Only return jobs tagged with any of these canonical category slugs. Up to 10 values. */
|
|
3683
|
+
categories?: string[];
|
|
3076
3684
|
/** @description Range filter on the job's `publishedAt` timestamp. */
|
|
3077
3685
|
publishedAt?: {
|
|
3078
3686
|
/**
|
|
@@ -3310,6 +3918,57 @@ interface components {
|
|
|
3310
3918
|
candidateBoardUserId: string;
|
|
3311
3919
|
body: string;
|
|
3312
3920
|
};
|
|
3921
|
+
Subscriber: {
|
|
3922
|
+
/** @description Unique identifier for the subscriber. */
|
|
3923
|
+
id: string;
|
|
3924
|
+
/**
|
|
3925
|
+
* @description String representing the object's type.
|
|
3926
|
+
* @enum {string}
|
|
3927
|
+
*/
|
|
3928
|
+
object: "subscriber";
|
|
3929
|
+
/** @description The subscriber's email address. */
|
|
3930
|
+
email: string;
|
|
3931
|
+
/** @description ISO-8601 timestamp of double-opt-in confirmation, or `null`. */
|
|
3932
|
+
confirmedAt: string | null;
|
|
3933
|
+
/** @description ISO-8601 timestamp of when the subscriber was waitlisted. */
|
|
3934
|
+
waitlistedAt: string | null;
|
|
3935
|
+
/** @description ISO-8601 timestamp of when the subscriber unsubscribed. */
|
|
3936
|
+
unsubscribedAt: string | null;
|
|
3937
|
+
/** @description ISO-8601 timestamp of when the subscriber was created. */
|
|
3938
|
+
createdAt: string;
|
|
3939
|
+
};
|
|
3940
|
+
SubscriberCount: {
|
|
3941
|
+
/** @enum {string} */
|
|
3942
|
+
object: "subscriber_count";
|
|
3943
|
+
/** @description The number of confirmed subscribers for the account. */
|
|
3944
|
+
confirmed: number;
|
|
3945
|
+
};
|
|
3946
|
+
SubscriberDetail: components["schemas"]["Subscriber"] & {
|
|
3947
|
+
/** @description ISO-8601 timestamp of the most recent alert dispatch, or `null`. */
|
|
3948
|
+
lastSentAt: string | null;
|
|
3949
|
+
/** @description The subscriber's alerts. */
|
|
3950
|
+
alerts: (components["schemas"]["Alert"] & {
|
|
3951
|
+
/** @description Unique identifier for the alert. */
|
|
3952
|
+
id: string;
|
|
3953
|
+
/**
|
|
3954
|
+
* @description String representing the object's type.
|
|
3955
|
+
* @enum {string}
|
|
3956
|
+
*/
|
|
3957
|
+
object: "alert";
|
|
3958
|
+
/** @description Identifier of the subscriber that owns this alert. */
|
|
3959
|
+
subscriberId: string;
|
|
3960
|
+
/** @description The job-filter criteria the alert matches against. */
|
|
3961
|
+
filters?: unknown;
|
|
3962
|
+
/** @description Delivery cadence: `instant`, `daily`, or `weekly`. */
|
|
3963
|
+
frequency: string;
|
|
3964
|
+
/** @description Whether the alert is currently active. */
|
|
3965
|
+
isActive: boolean;
|
|
3966
|
+
/** @description ISO-8601 timestamp of the last dispatch, or `null`. */
|
|
3967
|
+
lastSentAt: string | null;
|
|
3968
|
+
/** @description ISO-8601 timestamp of when the alert was created. */
|
|
3969
|
+
createdAt: string;
|
|
3970
|
+
})[];
|
|
3971
|
+
};
|
|
3313
3972
|
TalentDirectoryEntry: {
|
|
3314
3973
|
/** @enum {string} */
|
|
3315
3974
|
object: "talent_directory_entry";
|
|
@@ -3573,6 +4232,10 @@ interface components {
|
|
|
3573
4232
|
/** @description Space-separated list of scopes granted on the issued token. */
|
|
3574
4233
|
scope: string;
|
|
3575
4234
|
};
|
|
4235
|
+
TransferOwnershipBody: {
|
|
4236
|
+
/** @description The user ID of the member who will become the primary owner. */
|
|
4237
|
+
newOwnerUserId: string;
|
|
4238
|
+
};
|
|
3576
4239
|
UnreadCount: {
|
|
3577
4240
|
/** @enum {string} */
|
|
3578
4241
|
object: "unread_count";
|
|
@@ -3584,6 +4247,10 @@ interface components {
|
|
|
3584
4247
|
channel: "messageEmails" | "applicationEmails";
|
|
3585
4248
|
token: string;
|
|
3586
4249
|
};
|
|
4250
|
+
UnsubscribeSubscriberBody: {
|
|
4251
|
+
/** @description Optional free-form reason recorded in the audit log. */
|
|
4252
|
+
reason?: string;
|
|
4253
|
+
};
|
|
3587
4254
|
UpdateApplicationFactsBody: {
|
|
3588
4255
|
candidateName?: string;
|
|
3589
4256
|
/** Format: email */
|
|
@@ -3679,6 +4346,8 @@ interface components {
|
|
|
3679
4346
|
linkedinUrl?: string;
|
|
3680
4347
|
/** @description Facebook company page URL. */
|
|
3681
4348
|
facebookUrl?: string;
|
|
4349
|
+
/** @description Canonical market slugs assigned to the company. Pass an empty array to clear all markets. */
|
|
4350
|
+
markets?: string[];
|
|
3682
4351
|
/** @description The company's display name. */
|
|
3683
4352
|
name?: string;
|
|
3684
4353
|
/** @description URL-friendly slug for the company. */
|
|
@@ -3718,6 +4387,13 @@ interface components {
|
|
|
3718
4387
|
description?: string;
|
|
3719
4388
|
sortOrder?: number;
|
|
3720
4389
|
};
|
|
4390
|
+
UpdateInvitationBody: {
|
|
4391
|
+
/**
|
|
4392
|
+
* @description The new role for the pending invitation.
|
|
4393
|
+
* @enum {string}
|
|
4394
|
+
*/
|
|
4395
|
+
role: "admin" | "member";
|
|
4396
|
+
};
|
|
3721
4397
|
UpdateJobBody: {
|
|
3722
4398
|
/** @description Identifier of the company the job belongs to. */
|
|
3723
4399
|
companyId?: string;
|
|
@@ -3771,6 +4447,10 @@ interface components {
|
|
|
3771
4447
|
* @enum {string}
|
|
3772
4448
|
*/
|
|
3773
4449
|
salaryTimeframe?: "per_year" | "per_month" | "per_week" | "per_day" | "per_hour";
|
|
4450
|
+
/** @description Up to 100 canonical skill slugs from `GET /v1/taxonomies/skills`. Every slug must exist in this account. */
|
|
4451
|
+
skills?: string[];
|
|
4452
|
+
/** @description Up to 100 canonical category slugs from `GET /v1/taxonomies/categories`. Every slug must exist in this account. */
|
|
4453
|
+
categories?: string[];
|
|
3774
4454
|
/** @description Whether the job appears in featured slots on the public board. */
|
|
3775
4455
|
isFeatured?: boolean;
|
|
3776
4456
|
/** @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. */
|
|
@@ -3812,6 +4492,13 @@ interface components {
|
|
|
3812
4492
|
slug?: string;
|
|
3813
4493
|
sourceLocale?: string;
|
|
3814
4494
|
};
|
|
4495
|
+
UpdateMemberBody: {
|
|
4496
|
+
/**
|
|
4497
|
+
* @description The new role. Only an owner may set `owner`; the primary owner’s role is immutable (use transfer-ownership).
|
|
4498
|
+
* @enum {string}
|
|
4499
|
+
*/
|
|
4500
|
+
role: "owner" | "admin" | "member";
|
|
4501
|
+
};
|
|
3815
4502
|
UpdateNotificationPreferenceBody: {
|
|
3816
4503
|
/** @enum {string} */
|
|
3817
4504
|
channel: "messageEmails" | "applicationEmails";
|
|
@@ -3882,35 +4569,29 @@ type Schemas = components['schemas'];
|
|
|
3882
4569
|
* fields.
|
|
3883
4570
|
*/
|
|
3884
4571
|
/**
|
|
3885
|
-
*
|
|
3886
|
-
*
|
|
3887
|
-
* every other list/search. `nextCursor` is preserved alongside (offset-encoded).
|
|
4572
|
+
* Optional offset-pagination metadata generated from the Board API contract.
|
|
4573
|
+
* `nextCursor` is preserved alongside for forward cursor iteration.
|
|
3888
4574
|
*/
|
|
3889
|
-
|
|
3890
|
-
|
|
3891
|
-
|
|
3892
|
-
|
|
3893
|
-
|
|
3894
|
-
|
|
3895
|
-
offset?: number;
|
|
3896
|
-
/** Items hidden behind the candidate paywall for the current viewer; absent/0 when entitled. */
|
|
3897
|
-
gatedCount?: number;
|
|
3898
|
-
}
|
|
3899
|
-
interface ListEnvelope<T> extends StorefrontPagination {
|
|
4575
|
+
type OffsetPagination = Schemas['OffsetPagination'];
|
|
4576
|
+
/** @deprecated Use `OffsetPagination`. */
|
|
4577
|
+
type StorefrontPagination = OffsetPagination;
|
|
4578
|
+
/** @deprecated Use `OffsetPagination`. */
|
|
4579
|
+
type JobCatalogPagination = OffsetPagination;
|
|
4580
|
+
type ListEnvelope<T> = OffsetPagination & {
|
|
3900
4581
|
object: 'list';
|
|
3901
4582
|
url: string;
|
|
3902
4583
|
hasMore: boolean;
|
|
3903
4584
|
/** `null` when `hasMore` is false — always present, never undefined. */
|
|
3904
4585
|
nextCursor: string | null;
|
|
3905
4586
|
data: T[];
|
|
3906
|
-
}
|
|
3907
|
-
|
|
4587
|
+
};
|
|
4588
|
+
type SearchEnvelope<T> = OffsetPagination & {
|
|
3908
4589
|
object: 'search_result';
|
|
3909
4590
|
url: string;
|
|
3910
4591
|
hasMore: boolean;
|
|
3911
4592
|
nextCursor: string | null;
|
|
3912
4593
|
data: T[];
|
|
3913
|
-
}
|
|
4594
|
+
};
|
|
3914
4595
|
|
|
3915
4596
|
type PublicJob = Schemas['PublicJob'];
|
|
3916
4597
|
type PublicJobCard = Schemas['PublicJobCard'];
|
|
@@ -3941,17 +4622,17 @@ interface RelatedSearch {
|
|
|
3941
4622
|
term: string;
|
|
3942
4623
|
count: number;
|
|
3943
4624
|
}
|
|
3944
|
-
/** The browse list envelope — `PublicJobCard`s +
|
|
3945
|
-
|
|
4625
|
+
/** The browse list envelope — `PublicJobCard`s + job catalog pagination + `relatedSearches`. */
|
|
4626
|
+
type JobCardListEnvelope = ListEnvelope<PublicJobCard> & {
|
|
3946
4627
|
relatedSearches?: RelatedSearch[];
|
|
3947
|
-
}
|
|
3948
|
-
/** The search envelope — `PublicJobCard`s +
|
|
4628
|
+
};
|
|
4629
|
+
/** The search envelope — `PublicJobCard`s + job catalog pagination. */
|
|
3949
4630
|
type JobCardSearchEnvelope = SearchEnvelope<PublicJobCard>;
|
|
3950
4631
|
type JobsListQuery = {
|
|
3951
4632
|
cursor?: string;
|
|
3952
4633
|
/** 1–100. */
|
|
3953
4634
|
limit?: number;
|
|
3954
|
-
/**
|
|
4635
|
+
/** Job catalog page offset; takes precedence over `cursor`. `offset + limit` ≤ 10,000. */
|
|
3955
4636
|
offset?: number;
|
|
3956
4637
|
/** Repeated param (up to 10) — OR-matched. Repeat `companyId` per value. */
|
|
3957
4638
|
companyId?: string[];
|
|
@@ -3977,4 +4658,4 @@ type JobsSimilarQuery = {
|
|
|
3977
4658
|
};
|
|
3978
4659
|
type JobsSearchBody = Schemas['PublicSearchJobsBody'];
|
|
3979
4660
|
|
|
3980
|
-
export type { CustomFieldValues as C, EmploymentType as E, JobSort as J, ListEnvelope as L, OfficeLocation as O, PublicJob as P, RemoteOption as R, Seniority as S, PublicJobCard as a, Schemas as b, components as c, JobsListQuery as d, JobCardListEnvelope as e, JobsSearchBody as f, JobCardSearchEnvelope as g, JobsSimilarQuery as h, SearchEnvelope as i, CustomFieldValue as j, EducationRequirement as k,
|
|
4661
|
+
export type { CustomFieldValues as C, EmploymentType as E, JobSort as J, ListEnvelope as L, OfficeLocation as O, PublicJob as P, RemoteOption as R, Seniority as S, PublicJobCard as a, Schemas as b, components as c, JobsListQuery as d, JobCardListEnvelope as e, JobsSearchBody as f, JobCardSearchEnvelope as g, JobsSimilarQuery as h, SearchEnvelope as i, CustomFieldValue as j, EducationRequirement as k, JobCatalogPagination as l, JobCompany as m, OffsetPagination as n, RelatedSearch as o, RemotePermit as p, RemoteTimezone as q, StorefrontPagination as r };
|