@bubblelab/bubble-core 0.1.247 → 0.1.248
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/bubble-bundle.d.ts +8 -8
- package/dist/bubbles/service-bubble/ashby/ashby.d.ts +2031 -74
- package/dist/bubbles/service-bubble/ashby/ashby.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/ashby/ashby.js +284 -4
- package/dist/bubbles/service-bubble/ashby/ashby.js.map +1 -1
- package/dist/bubbles/service-bubble/ashby/ashby.schema.d.ts +2604 -353
- package/dist/bubbles/service-bubble/ashby/ashby.schema.d.ts.map +1 -1
- package/dist/bubbles/service-bubble/ashby/ashby.schema.js +475 -0
- package/dist/bubbles/service-bubble/ashby/ashby.schema.js.map +1 -1
- package/dist/bubbles/service-bubble/firecrawl.d.ts +8 -8
- package/dist/bubbles.json +2081 -2
- package/package.json +2 -2
package/dist/bubbles.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": "2.0.0",
|
|
3
|
-
"generatedAt": "2026-03-
|
|
3
|
+
"generatedAt": "2026-03-22T05:34:06.234Z",
|
|
4
4
|
"totalCount": 76,
|
|
5
5
|
"bubbles": [
|
|
6
6
|
{
|
|
@@ -59819,6 +59819,440 @@
|
|
|
59819
59819
|
"operation"
|
|
59820
59820
|
],
|
|
59821
59821
|
"additionalProperties": false
|
|
59822
|
+
},
|
|
59823
|
+
{
|
|
59824
|
+
"type": "object",
|
|
59825
|
+
"properties": {
|
|
59826
|
+
"operation": {
|
|
59827
|
+
"type": "string",
|
|
59828
|
+
"enum": [
|
|
59829
|
+
"list_jobs"
|
|
59830
|
+
],
|
|
59831
|
+
"description": "List all jobs"
|
|
59832
|
+
},
|
|
59833
|
+
"limit": {
|
|
59834
|
+
"type": "number",
|
|
59835
|
+
"minimum": 1,
|
|
59836
|
+
"maximum": 100,
|
|
59837
|
+
"default": 100,
|
|
59838
|
+
"description": "Maximum number of jobs to return (1-100)"
|
|
59839
|
+
},
|
|
59840
|
+
"cursor": {
|
|
59841
|
+
"type": "string",
|
|
59842
|
+
"description": "Pagination cursor for fetching subsequent pages"
|
|
59843
|
+
},
|
|
59844
|
+
"status": {
|
|
59845
|
+
"type": "string",
|
|
59846
|
+
"enum": [
|
|
59847
|
+
"Open",
|
|
59848
|
+
"Closed",
|
|
59849
|
+
"Draft",
|
|
59850
|
+
"Archived"
|
|
59851
|
+
],
|
|
59852
|
+
"description": "Filter jobs by status"
|
|
59853
|
+
},
|
|
59854
|
+
"credentials": {
|
|
59855
|
+
"type": "object",
|
|
59856
|
+
"additionalProperties": {
|
|
59857
|
+
"type": "string"
|
|
59858
|
+
},
|
|
59859
|
+
"description": "Object mapping credential types to values (injected at runtime)"
|
|
59860
|
+
}
|
|
59861
|
+
},
|
|
59862
|
+
"required": [
|
|
59863
|
+
"operation"
|
|
59864
|
+
],
|
|
59865
|
+
"additionalProperties": false
|
|
59866
|
+
},
|
|
59867
|
+
{
|
|
59868
|
+
"type": "object",
|
|
59869
|
+
"properties": {
|
|
59870
|
+
"operation": {
|
|
59871
|
+
"type": "string",
|
|
59872
|
+
"enum": [
|
|
59873
|
+
"get_job"
|
|
59874
|
+
],
|
|
59875
|
+
"description": "Get detailed information about a specific job"
|
|
59876
|
+
},
|
|
59877
|
+
"job_id": {
|
|
59878
|
+
"type": "string",
|
|
59879
|
+
"minLength": 1,
|
|
59880
|
+
"description": "UUID of the job to retrieve"
|
|
59881
|
+
},
|
|
59882
|
+
"credentials": {
|
|
59883
|
+
"type": "object",
|
|
59884
|
+
"additionalProperties": {
|
|
59885
|
+
"type": "string"
|
|
59886
|
+
},
|
|
59887
|
+
"description": "Object mapping credential types to values (injected at runtime)"
|
|
59888
|
+
}
|
|
59889
|
+
},
|
|
59890
|
+
"required": [
|
|
59891
|
+
"operation",
|
|
59892
|
+
"job_id"
|
|
59893
|
+
],
|
|
59894
|
+
"additionalProperties": false
|
|
59895
|
+
},
|
|
59896
|
+
{
|
|
59897
|
+
"type": "object",
|
|
59898
|
+
"properties": {
|
|
59899
|
+
"operation": {
|
|
59900
|
+
"type": "string",
|
|
59901
|
+
"enum": [
|
|
59902
|
+
"list_applications"
|
|
59903
|
+
],
|
|
59904
|
+
"description": "List applications with optional filtering"
|
|
59905
|
+
},
|
|
59906
|
+
"candidate_id": {
|
|
59907
|
+
"type": "string",
|
|
59908
|
+
"description": "Filter by candidate ID"
|
|
59909
|
+
},
|
|
59910
|
+
"job_id": {
|
|
59911
|
+
"type": "string",
|
|
59912
|
+
"description": "Filter by job ID"
|
|
59913
|
+
},
|
|
59914
|
+
"status": {
|
|
59915
|
+
"type": "string",
|
|
59916
|
+
"enum": [
|
|
59917
|
+
"Active",
|
|
59918
|
+
"Hired",
|
|
59919
|
+
"Archived",
|
|
59920
|
+
"Lead"
|
|
59921
|
+
],
|
|
59922
|
+
"description": "Filter by application status"
|
|
59923
|
+
},
|
|
59924
|
+
"limit": {
|
|
59925
|
+
"type": "number",
|
|
59926
|
+
"minimum": 1,
|
|
59927
|
+
"maximum": 100,
|
|
59928
|
+
"default": 100,
|
|
59929
|
+
"description": "Maximum number of applications to return (1-100)"
|
|
59930
|
+
},
|
|
59931
|
+
"cursor": {
|
|
59932
|
+
"type": "string",
|
|
59933
|
+
"description": "Pagination cursor for fetching subsequent pages"
|
|
59934
|
+
},
|
|
59935
|
+
"created_after": {
|
|
59936
|
+
"type": "number",
|
|
59937
|
+
"description": "Unix timestamp in milliseconds — only return applications created after this time"
|
|
59938
|
+
},
|
|
59939
|
+
"credentials": {
|
|
59940
|
+
"type": "object",
|
|
59941
|
+
"additionalProperties": {
|
|
59942
|
+
"type": "string"
|
|
59943
|
+
},
|
|
59944
|
+
"description": "Object mapping credential types to values (injected at runtime)"
|
|
59945
|
+
}
|
|
59946
|
+
},
|
|
59947
|
+
"required": [
|
|
59948
|
+
"operation"
|
|
59949
|
+
],
|
|
59950
|
+
"additionalProperties": false
|
|
59951
|
+
},
|
|
59952
|
+
{
|
|
59953
|
+
"type": "object",
|
|
59954
|
+
"properties": {
|
|
59955
|
+
"operation": {
|
|
59956
|
+
"type": "string",
|
|
59957
|
+
"enum": [
|
|
59958
|
+
"get_application"
|
|
59959
|
+
],
|
|
59960
|
+
"description": "Get detailed information about a specific application"
|
|
59961
|
+
},
|
|
59962
|
+
"application_id": {
|
|
59963
|
+
"type": "string",
|
|
59964
|
+
"minLength": 1,
|
|
59965
|
+
"description": "UUID of the application to retrieve"
|
|
59966
|
+
},
|
|
59967
|
+
"credentials": {
|
|
59968
|
+
"type": "object",
|
|
59969
|
+
"additionalProperties": {
|
|
59970
|
+
"type": "string"
|
|
59971
|
+
},
|
|
59972
|
+
"description": "Object mapping credential types to values (injected at runtime)"
|
|
59973
|
+
}
|
|
59974
|
+
},
|
|
59975
|
+
"required": [
|
|
59976
|
+
"operation",
|
|
59977
|
+
"application_id"
|
|
59978
|
+
],
|
|
59979
|
+
"additionalProperties": false
|
|
59980
|
+
},
|
|
59981
|
+
{
|
|
59982
|
+
"type": "object",
|
|
59983
|
+
"properties": {
|
|
59984
|
+
"operation": {
|
|
59985
|
+
"type": "string",
|
|
59986
|
+
"enum": [
|
|
59987
|
+
"create_application"
|
|
59988
|
+
],
|
|
59989
|
+
"description": "Submit a candidate to a job by creating an application"
|
|
59990
|
+
},
|
|
59991
|
+
"candidate_id": {
|
|
59992
|
+
"type": "string",
|
|
59993
|
+
"minLength": 1,
|
|
59994
|
+
"description": "UUID of the candidate"
|
|
59995
|
+
},
|
|
59996
|
+
"job_id": {
|
|
59997
|
+
"type": "string",
|
|
59998
|
+
"minLength": 1,
|
|
59999
|
+
"description": "UUID of the job to apply to"
|
|
60000
|
+
},
|
|
60001
|
+
"interview_stage_id": {
|
|
60002
|
+
"type": "string",
|
|
60003
|
+
"description": "Optional interview stage ID to start at"
|
|
60004
|
+
},
|
|
60005
|
+
"source_id": {
|
|
60006
|
+
"type": "string",
|
|
60007
|
+
"description": "Optional source ID to attribute the application to"
|
|
60008
|
+
},
|
|
60009
|
+
"credentials": {
|
|
60010
|
+
"type": "object",
|
|
60011
|
+
"additionalProperties": {
|
|
60012
|
+
"type": "string"
|
|
60013
|
+
},
|
|
60014
|
+
"description": "Object mapping credential types to values (injected at runtime)"
|
|
60015
|
+
}
|
|
60016
|
+
},
|
|
60017
|
+
"required": [
|
|
60018
|
+
"operation",
|
|
60019
|
+
"candidate_id",
|
|
60020
|
+
"job_id"
|
|
60021
|
+
],
|
|
60022
|
+
"additionalProperties": false
|
|
60023
|
+
},
|
|
60024
|
+
{
|
|
60025
|
+
"type": "object",
|
|
60026
|
+
"properties": {
|
|
60027
|
+
"operation": {
|
|
60028
|
+
"type": "string",
|
|
60029
|
+
"enum": [
|
|
60030
|
+
"change_application_stage"
|
|
60031
|
+
],
|
|
60032
|
+
"description": "Move an application to a different interview stage"
|
|
60033
|
+
},
|
|
60034
|
+
"application_id": {
|
|
60035
|
+
"type": "string",
|
|
60036
|
+
"minLength": 1,
|
|
60037
|
+
"description": "UUID of the application"
|
|
60038
|
+
},
|
|
60039
|
+
"interview_stage_id": {
|
|
60040
|
+
"type": "string",
|
|
60041
|
+
"minLength": 1,
|
|
60042
|
+
"description": "UUID of the interview stage to move to"
|
|
60043
|
+
},
|
|
60044
|
+
"credentials": {
|
|
60045
|
+
"type": "object",
|
|
60046
|
+
"additionalProperties": {
|
|
60047
|
+
"type": "string"
|
|
60048
|
+
},
|
|
60049
|
+
"description": "Object mapping credential types to values (injected at runtime)"
|
|
60050
|
+
}
|
|
60051
|
+
},
|
|
60052
|
+
"required": [
|
|
60053
|
+
"operation",
|
|
60054
|
+
"application_id",
|
|
60055
|
+
"interview_stage_id"
|
|
60056
|
+
],
|
|
60057
|
+
"additionalProperties": false
|
|
60058
|
+
},
|
|
60059
|
+
{
|
|
60060
|
+
"type": "object",
|
|
60061
|
+
"properties": {
|
|
60062
|
+
"operation": {
|
|
60063
|
+
"type": "string",
|
|
60064
|
+
"enum": [
|
|
60065
|
+
"update_candidate"
|
|
60066
|
+
],
|
|
60067
|
+
"description": "Update an existing candidate"
|
|
60068
|
+
},
|
|
60069
|
+
"candidate_id": {
|
|
60070
|
+
"type": "string",
|
|
60071
|
+
"minLength": 1,
|
|
60072
|
+
"description": "UUID of the candidate to update"
|
|
60073
|
+
},
|
|
60074
|
+
"name": {
|
|
60075
|
+
"type": "string",
|
|
60076
|
+
"description": "Updated candidate name"
|
|
60077
|
+
},
|
|
60078
|
+
"email": {
|
|
60079
|
+
"type": "string",
|
|
60080
|
+
"description": "Updated primary email"
|
|
60081
|
+
},
|
|
60082
|
+
"phone_number": {
|
|
60083
|
+
"type": "string",
|
|
60084
|
+
"description": "Updated phone number"
|
|
60085
|
+
},
|
|
60086
|
+
"linkedin_url": {
|
|
60087
|
+
"type": "string",
|
|
60088
|
+
"description": "Updated LinkedIn profile URL"
|
|
60089
|
+
},
|
|
60090
|
+
"github_url": {
|
|
60091
|
+
"type": "string",
|
|
60092
|
+
"description": "Updated GitHub profile URL"
|
|
60093
|
+
},
|
|
60094
|
+
"website": {
|
|
60095
|
+
"type": "string",
|
|
60096
|
+
"description": "Updated website URL"
|
|
60097
|
+
},
|
|
60098
|
+
"credentials": {
|
|
60099
|
+
"type": "object",
|
|
60100
|
+
"additionalProperties": {
|
|
60101
|
+
"type": "string"
|
|
60102
|
+
},
|
|
60103
|
+
"description": "Object mapping credential types to values (injected at runtime)"
|
|
60104
|
+
}
|
|
60105
|
+
},
|
|
60106
|
+
"required": [
|
|
60107
|
+
"operation",
|
|
60108
|
+
"candidate_id"
|
|
60109
|
+
],
|
|
60110
|
+
"additionalProperties": false
|
|
60111
|
+
},
|
|
60112
|
+
{
|
|
60113
|
+
"type": "object",
|
|
60114
|
+
"properties": {
|
|
60115
|
+
"operation": {
|
|
60116
|
+
"type": "string",
|
|
60117
|
+
"enum": [
|
|
60118
|
+
"create_note"
|
|
60119
|
+
],
|
|
60120
|
+
"description": "Add a note to a candidate"
|
|
60121
|
+
},
|
|
60122
|
+
"candidate_id": {
|
|
60123
|
+
"type": "string",
|
|
60124
|
+
"minLength": 1,
|
|
60125
|
+
"description": "UUID of the candidate"
|
|
60126
|
+
},
|
|
60127
|
+
"content": {
|
|
60128
|
+
"type": "string",
|
|
60129
|
+
"minLength": 1,
|
|
60130
|
+
"description": "Note content (plain text or HTML)"
|
|
60131
|
+
},
|
|
60132
|
+
"credentials": {
|
|
60133
|
+
"type": "object",
|
|
60134
|
+
"additionalProperties": {
|
|
60135
|
+
"type": "string"
|
|
60136
|
+
},
|
|
60137
|
+
"description": "Object mapping credential types to values (injected at runtime)"
|
|
60138
|
+
}
|
|
60139
|
+
},
|
|
60140
|
+
"required": [
|
|
60141
|
+
"operation",
|
|
60142
|
+
"candidate_id",
|
|
60143
|
+
"content"
|
|
60144
|
+
],
|
|
60145
|
+
"additionalProperties": false
|
|
60146
|
+
},
|
|
60147
|
+
{
|
|
60148
|
+
"type": "object",
|
|
60149
|
+
"properties": {
|
|
60150
|
+
"operation": {
|
|
60151
|
+
"type": "string",
|
|
60152
|
+
"enum": [
|
|
60153
|
+
"list_notes"
|
|
60154
|
+
],
|
|
60155
|
+
"description": "List notes for a candidate"
|
|
60156
|
+
},
|
|
60157
|
+
"candidate_id": {
|
|
60158
|
+
"type": "string",
|
|
60159
|
+
"minLength": 1,
|
|
60160
|
+
"description": "UUID of the candidate"
|
|
60161
|
+
},
|
|
60162
|
+
"credentials": {
|
|
60163
|
+
"type": "object",
|
|
60164
|
+
"additionalProperties": {
|
|
60165
|
+
"type": "string"
|
|
60166
|
+
},
|
|
60167
|
+
"description": "Object mapping credential types to values (injected at runtime)"
|
|
60168
|
+
}
|
|
60169
|
+
},
|
|
60170
|
+
"required": [
|
|
60171
|
+
"operation",
|
|
60172
|
+
"candidate_id"
|
|
60173
|
+
],
|
|
60174
|
+
"additionalProperties": false
|
|
60175
|
+
},
|
|
60176
|
+
{
|
|
60177
|
+
"type": "object",
|
|
60178
|
+
"properties": {
|
|
60179
|
+
"operation": {
|
|
60180
|
+
"type": "string",
|
|
60181
|
+
"enum": [
|
|
60182
|
+
"list_sources"
|
|
60183
|
+
],
|
|
60184
|
+
"description": "List all candidate sources"
|
|
60185
|
+
},
|
|
60186
|
+
"credentials": {
|
|
60187
|
+
"type": "object",
|
|
60188
|
+
"additionalProperties": {
|
|
60189
|
+
"type": "string"
|
|
60190
|
+
},
|
|
60191
|
+
"description": "Object mapping credential types to values (injected at runtime)"
|
|
60192
|
+
}
|
|
60193
|
+
},
|
|
60194
|
+
"required": [
|
|
60195
|
+
"operation"
|
|
60196
|
+
],
|
|
60197
|
+
"additionalProperties": false
|
|
60198
|
+
},
|
|
60199
|
+
{
|
|
60200
|
+
"type": "object",
|
|
60201
|
+
"properties": {
|
|
60202
|
+
"operation": {
|
|
60203
|
+
"type": "string",
|
|
60204
|
+
"enum": [
|
|
60205
|
+
"list_interview_stages"
|
|
60206
|
+
],
|
|
60207
|
+
"description": "List interview stages for a job"
|
|
60208
|
+
},
|
|
60209
|
+
"job_id": {
|
|
60210
|
+
"type": "string",
|
|
60211
|
+
"minLength": 1,
|
|
60212
|
+
"description": "UUID of the job to get interview stages for"
|
|
60213
|
+
},
|
|
60214
|
+
"credentials": {
|
|
60215
|
+
"type": "object",
|
|
60216
|
+
"additionalProperties": {
|
|
60217
|
+
"type": "string"
|
|
60218
|
+
},
|
|
60219
|
+
"description": "Object mapping credential types to values (injected at runtime)"
|
|
60220
|
+
}
|
|
60221
|
+
},
|
|
60222
|
+
"required": [
|
|
60223
|
+
"operation",
|
|
60224
|
+
"job_id"
|
|
60225
|
+
],
|
|
60226
|
+
"additionalProperties": false
|
|
60227
|
+
},
|
|
60228
|
+
{
|
|
60229
|
+
"type": "object",
|
|
60230
|
+
"properties": {
|
|
60231
|
+
"operation": {
|
|
60232
|
+
"type": "string",
|
|
60233
|
+
"enum": [
|
|
60234
|
+
"get_file_url"
|
|
60235
|
+
],
|
|
60236
|
+
"description": "Get a download URL for a file (e.g., resume)"
|
|
60237
|
+
},
|
|
60238
|
+
"file_handle": {
|
|
60239
|
+
"type": "string",
|
|
60240
|
+
"minLength": 1,
|
|
60241
|
+
"description": "File handle from a candidate record (e.g., resumeFileHandle.handle)"
|
|
60242
|
+
},
|
|
60243
|
+
"credentials": {
|
|
60244
|
+
"type": "object",
|
|
60245
|
+
"additionalProperties": {
|
|
60246
|
+
"type": "string"
|
|
60247
|
+
},
|
|
60248
|
+
"description": "Object mapping credential types to values (injected at runtime)"
|
|
60249
|
+
}
|
|
60250
|
+
},
|
|
60251
|
+
"required": [
|
|
60252
|
+
"operation",
|
|
60253
|
+
"file_handle"
|
|
60254
|
+
],
|
|
60255
|
+
"additionalProperties": false
|
|
59822
60256
|
}
|
|
59823
60257
|
]
|
|
59824
60258
|
},
|
|
@@ -60139,6 +60573,19 @@
|
|
|
60139
60573
|
"description": "Custom field information"
|
|
60140
60574
|
},
|
|
60141
60575
|
"description": "Custom field values"
|
|
60576
|
+
},
|
|
60577
|
+
"profileUrl": {
|
|
60578
|
+
"type": "string",
|
|
60579
|
+
"nullable": true,
|
|
60580
|
+
"description": "URL to the candidate profile in Ashby"
|
|
60581
|
+
},
|
|
60582
|
+
"source": {
|
|
60583
|
+
"nullable": true,
|
|
60584
|
+
"description": "Candidate source"
|
|
60585
|
+
},
|
|
60586
|
+
"creditedToUser": {
|
|
60587
|
+
"nullable": true,
|
|
60588
|
+
"description": "User credited for the candidate"
|
|
60142
60589
|
}
|
|
60143
60590
|
},
|
|
60144
60591
|
"required": [
|
|
@@ -60964,10 +61411,1642 @@
|
|
|
60964
61411
|
"error"
|
|
60965
61412
|
],
|
|
60966
61413
|
"additionalProperties": false
|
|
61414
|
+
},
|
|
61415
|
+
{
|
|
61416
|
+
"type": "object",
|
|
61417
|
+
"properties": {
|
|
61418
|
+
"operation": {
|
|
61419
|
+
"type": "string",
|
|
61420
|
+
"enum": [
|
|
61421
|
+
"list_jobs"
|
|
61422
|
+
],
|
|
61423
|
+
"description": "List jobs operation"
|
|
61424
|
+
},
|
|
61425
|
+
"success": {
|
|
61426
|
+
"type": "boolean",
|
|
61427
|
+
"description": "Whether the operation was successful"
|
|
61428
|
+
},
|
|
61429
|
+
"jobs": {
|
|
61430
|
+
"type": "array",
|
|
61431
|
+
"items": {
|
|
61432
|
+
"type": "object",
|
|
61433
|
+
"properties": {
|
|
61434
|
+
"id": {
|
|
61435
|
+
"type": "string",
|
|
61436
|
+
"description": "Unique job identifier (UUID)"
|
|
61437
|
+
},
|
|
61438
|
+
"title": {
|
|
61439
|
+
"type": "string",
|
|
61440
|
+
"description": "Job title"
|
|
61441
|
+
},
|
|
61442
|
+
"status": {
|
|
61443
|
+
"type": "string",
|
|
61444
|
+
"description": "Job status (e.g., Open, Closed, Draft, Archived)"
|
|
61445
|
+
},
|
|
61446
|
+
"departmentId": {
|
|
61447
|
+
"type": "string",
|
|
61448
|
+
"nullable": true,
|
|
61449
|
+
"description": "Department ID"
|
|
61450
|
+
},
|
|
61451
|
+
"teamId": {
|
|
61452
|
+
"type": "string",
|
|
61453
|
+
"nullable": true,
|
|
61454
|
+
"description": "Team ID"
|
|
61455
|
+
},
|
|
61456
|
+
"locationId": {
|
|
61457
|
+
"type": "string",
|
|
61458
|
+
"nullable": true,
|
|
61459
|
+
"description": "Location ID"
|
|
61460
|
+
},
|
|
61461
|
+
"locationIds": {
|
|
61462
|
+
"type": "array",
|
|
61463
|
+
"items": {
|
|
61464
|
+
"type": "string"
|
|
61465
|
+
},
|
|
61466
|
+
"description": "Location IDs"
|
|
61467
|
+
},
|
|
61468
|
+
"customFields": {
|
|
61469
|
+
"type": "array",
|
|
61470
|
+
"items": {
|
|
61471
|
+
"type": "object",
|
|
61472
|
+
"properties": {
|
|
61473
|
+
"id": {
|
|
61474
|
+
"type": "string",
|
|
61475
|
+
"description": "Custom field ID"
|
|
61476
|
+
},
|
|
61477
|
+
"title": {
|
|
61478
|
+
"type": "string",
|
|
61479
|
+
"description": "Custom field title"
|
|
61480
|
+
},
|
|
61481
|
+
"value": {
|
|
61482
|
+
"description": "Custom field value"
|
|
61483
|
+
},
|
|
61484
|
+
"isPrivate": {
|
|
61485
|
+
"type": "boolean",
|
|
61486
|
+
"description": "Whether the field is private"
|
|
61487
|
+
}
|
|
61488
|
+
},
|
|
61489
|
+
"required": [
|
|
61490
|
+
"id",
|
|
61491
|
+
"title"
|
|
61492
|
+
],
|
|
61493
|
+
"additionalProperties": false,
|
|
61494
|
+
"description": "Custom field information"
|
|
61495
|
+
},
|
|
61496
|
+
"description": "Custom field values"
|
|
61497
|
+
},
|
|
61498
|
+
"openedAt": {
|
|
61499
|
+
"type": "string",
|
|
61500
|
+
"nullable": true,
|
|
61501
|
+
"description": "ISO 8601 opened timestamp"
|
|
61502
|
+
},
|
|
61503
|
+
"closedAt": {
|
|
61504
|
+
"type": "string",
|
|
61505
|
+
"nullable": true,
|
|
61506
|
+
"description": "ISO 8601 closed timestamp"
|
|
61507
|
+
},
|
|
61508
|
+
"createdAt": {
|
|
61509
|
+
"type": "string",
|
|
61510
|
+
"description": "ISO 8601 creation timestamp"
|
|
61511
|
+
},
|
|
61512
|
+
"updatedAt": {
|
|
61513
|
+
"type": "string",
|
|
61514
|
+
"description": "ISO 8601 update timestamp"
|
|
61515
|
+
}
|
|
61516
|
+
},
|
|
61517
|
+
"required": [
|
|
61518
|
+
"id",
|
|
61519
|
+
"title"
|
|
61520
|
+
],
|
|
61521
|
+
"additionalProperties": false,
|
|
61522
|
+
"description": "Ashby job record"
|
|
61523
|
+
},
|
|
61524
|
+
"description": "List of jobs"
|
|
61525
|
+
},
|
|
61526
|
+
"next_cursor": {
|
|
61527
|
+
"type": "string",
|
|
61528
|
+
"description": "Cursor for next page"
|
|
61529
|
+
},
|
|
61530
|
+
"more_data_available": {
|
|
61531
|
+
"type": "boolean",
|
|
61532
|
+
"description": "Whether more data is available"
|
|
61533
|
+
},
|
|
61534
|
+
"error": {
|
|
61535
|
+
"type": "string",
|
|
61536
|
+
"description": "Error message if operation failed"
|
|
61537
|
+
}
|
|
61538
|
+
},
|
|
61539
|
+
"required": [
|
|
61540
|
+
"operation",
|
|
61541
|
+
"success",
|
|
61542
|
+
"error"
|
|
61543
|
+
],
|
|
61544
|
+
"additionalProperties": false
|
|
61545
|
+
},
|
|
61546
|
+
{
|
|
61547
|
+
"type": "object",
|
|
61548
|
+
"properties": {
|
|
61549
|
+
"operation": {
|
|
61550
|
+
"type": "string",
|
|
61551
|
+
"enum": [
|
|
61552
|
+
"get_job"
|
|
61553
|
+
],
|
|
61554
|
+
"description": "Get job operation"
|
|
61555
|
+
},
|
|
61556
|
+
"success": {
|
|
61557
|
+
"type": "boolean",
|
|
61558
|
+
"description": "Whether the operation was successful"
|
|
61559
|
+
},
|
|
61560
|
+
"job": {
|
|
61561
|
+
"type": "object",
|
|
61562
|
+
"properties": {
|
|
61563
|
+
"id": {
|
|
61564
|
+
"type": "string",
|
|
61565
|
+
"description": "Unique job identifier (UUID)"
|
|
61566
|
+
},
|
|
61567
|
+
"title": {
|
|
61568
|
+
"type": "string",
|
|
61569
|
+
"description": "Job title"
|
|
61570
|
+
},
|
|
61571
|
+
"status": {
|
|
61572
|
+
"type": "string",
|
|
61573
|
+
"description": "Job status (e.g., Open, Closed, Draft, Archived)"
|
|
61574
|
+
},
|
|
61575
|
+
"departmentId": {
|
|
61576
|
+
"type": "string",
|
|
61577
|
+
"nullable": true,
|
|
61578
|
+
"description": "Department ID"
|
|
61579
|
+
},
|
|
61580
|
+
"teamId": {
|
|
61581
|
+
"type": "string",
|
|
61582
|
+
"nullable": true,
|
|
61583
|
+
"description": "Team ID"
|
|
61584
|
+
},
|
|
61585
|
+
"locationId": {
|
|
61586
|
+
"type": "string",
|
|
61587
|
+
"nullable": true,
|
|
61588
|
+
"description": "Location ID"
|
|
61589
|
+
},
|
|
61590
|
+
"locationIds": {
|
|
61591
|
+
"type": "array",
|
|
61592
|
+
"items": {
|
|
61593
|
+
"type": "string"
|
|
61594
|
+
},
|
|
61595
|
+
"description": "Location IDs"
|
|
61596
|
+
},
|
|
61597
|
+
"customFields": {
|
|
61598
|
+
"type": "array",
|
|
61599
|
+
"items": {
|
|
61600
|
+
"type": "object",
|
|
61601
|
+
"properties": {
|
|
61602
|
+
"id": {
|
|
61603
|
+
"type": "string",
|
|
61604
|
+
"description": "Custom field ID"
|
|
61605
|
+
},
|
|
61606
|
+
"title": {
|
|
61607
|
+
"type": "string",
|
|
61608
|
+
"description": "Custom field title"
|
|
61609
|
+
},
|
|
61610
|
+
"value": {
|
|
61611
|
+
"description": "Custom field value"
|
|
61612
|
+
},
|
|
61613
|
+
"isPrivate": {
|
|
61614
|
+
"type": "boolean",
|
|
61615
|
+
"description": "Whether the field is private"
|
|
61616
|
+
}
|
|
61617
|
+
},
|
|
61618
|
+
"required": [
|
|
61619
|
+
"id",
|
|
61620
|
+
"title"
|
|
61621
|
+
],
|
|
61622
|
+
"additionalProperties": false,
|
|
61623
|
+
"description": "Custom field information"
|
|
61624
|
+
},
|
|
61625
|
+
"description": "Custom field values"
|
|
61626
|
+
},
|
|
61627
|
+
"openedAt": {
|
|
61628
|
+
"type": "string",
|
|
61629
|
+
"nullable": true,
|
|
61630
|
+
"description": "ISO 8601 opened timestamp"
|
|
61631
|
+
},
|
|
61632
|
+
"closedAt": {
|
|
61633
|
+
"type": "string",
|
|
61634
|
+
"nullable": true,
|
|
61635
|
+
"description": "ISO 8601 closed timestamp"
|
|
61636
|
+
},
|
|
61637
|
+
"createdAt": {
|
|
61638
|
+
"type": "string",
|
|
61639
|
+
"description": "ISO 8601 creation timestamp"
|
|
61640
|
+
},
|
|
61641
|
+
"updatedAt": {
|
|
61642
|
+
"type": "string",
|
|
61643
|
+
"description": "ISO 8601 update timestamp"
|
|
61644
|
+
}
|
|
61645
|
+
},
|
|
61646
|
+
"required": [
|
|
61647
|
+
"id",
|
|
61648
|
+
"title"
|
|
61649
|
+
],
|
|
61650
|
+
"additionalProperties": false,
|
|
61651
|
+
"description": "Job details"
|
|
61652
|
+
},
|
|
61653
|
+
"interview_stages": {
|
|
61654
|
+
"type": "array",
|
|
61655
|
+
"items": {
|
|
61656
|
+
"type": "object",
|
|
61657
|
+
"properties": {
|
|
61658
|
+
"id": {
|
|
61659
|
+
"type": "string",
|
|
61660
|
+
"description": "Interview stage ID (UUID)"
|
|
61661
|
+
},
|
|
61662
|
+
"title": {
|
|
61663
|
+
"type": "string",
|
|
61664
|
+
"description": "Stage title"
|
|
61665
|
+
},
|
|
61666
|
+
"type": {
|
|
61667
|
+
"type": "string",
|
|
61668
|
+
"description": "Stage type (e.g., PreInterviewScreen, IndividualInterview)"
|
|
61669
|
+
},
|
|
61670
|
+
"orderInInterviewPlan": {
|
|
61671
|
+
"type": "number",
|
|
61672
|
+
"description": "Order in the interview plan"
|
|
61673
|
+
},
|
|
61674
|
+
"interviewPlanId": {
|
|
61675
|
+
"type": "string",
|
|
61676
|
+
"description": "Interview plan ID"
|
|
61677
|
+
}
|
|
61678
|
+
},
|
|
61679
|
+
"required": [
|
|
61680
|
+
"id",
|
|
61681
|
+
"title"
|
|
61682
|
+
],
|
|
61683
|
+
"additionalProperties": false,
|
|
61684
|
+
"description": "Interview stage"
|
|
61685
|
+
},
|
|
61686
|
+
"description": "Interview stages for this job"
|
|
61687
|
+
},
|
|
61688
|
+
"error": {
|
|
61689
|
+
"type": "string",
|
|
61690
|
+
"description": "Error message if operation failed"
|
|
61691
|
+
}
|
|
61692
|
+
},
|
|
61693
|
+
"required": [
|
|
61694
|
+
"operation",
|
|
61695
|
+
"success",
|
|
61696
|
+
"error"
|
|
61697
|
+
],
|
|
61698
|
+
"additionalProperties": false
|
|
61699
|
+
},
|
|
61700
|
+
{
|
|
61701
|
+
"type": "object",
|
|
61702
|
+
"properties": {
|
|
61703
|
+
"operation": {
|
|
61704
|
+
"type": "string",
|
|
61705
|
+
"enum": [
|
|
61706
|
+
"list_applications"
|
|
61707
|
+
],
|
|
61708
|
+
"description": "List applications operation"
|
|
61709
|
+
},
|
|
61710
|
+
"success": {
|
|
61711
|
+
"type": "boolean",
|
|
61712
|
+
"description": "Whether the operation was successful"
|
|
61713
|
+
},
|
|
61714
|
+
"applications": {
|
|
61715
|
+
"type": "array",
|
|
61716
|
+
"items": {
|
|
61717
|
+
"type": "object",
|
|
61718
|
+
"properties": {
|
|
61719
|
+
"id": {
|
|
61720
|
+
"type": "string",
|
|
61721
|
+
"description": "Unique application identifier (UUID)"
|
|
61722
|
+
},
|
|
61723
|
+
"createdAt": {
|
|
61724
|
+
"type": "string",
|
|
61725
|
+
"description": "ISO 8601 creation timestamp"
|
|
61726
|
+
},
|
|
61727
|
+
"updatedAt": {
|
|
61728
|
+
"type": "string",
|
|
61729
|
+
"description": "ISO 8601 update timestamp"
|
|
61730
|
+
},
|
|
61731
|
+
"status": {
|
|
61732
|
+
"type": "string",
|
|
61733
|
+
"description": "Application status (Active, Hired, Archived, Lead)"
|
|
61734
|
+
},
|
|
61735
|
+
"candidateId": {
|
|
61736
|
+
"type": "string",
|
|
61737
|
+
"nullable": true,
|
|
61738
|
+
"description": "Candidate ID"
|
|
61739
|
+
},
|
|
61740
|
+
"jobId": {
|
|
61741
|
+
"type": "string",
|
|
61742
|
+
"nullable": true,
|
|
61743
|
+
"description": "Job ID"
|
|
61744
|
+
},
|
|
61745
|
+
"currentInterviewStage": {
|
|
61746
|
+
"type": "object",
|
|
61747
|
+
"properties": {
|
|
61748
|
+
"id": {
|
|
61749
|
+
"type": "string",
|
|
61750
|
+
"description": "Interview stage ID (UUID)"
|
|
61751
|
+
},
|
|
61752
|
+
"title": {
|
|
61753
|
+
"type": "string",
|
|
61754
|
+
"description": "Stage title"
|
|
61755
|
+
},
|
|
61756
|
+
"type": {
|
|
61757
|
+
"type": "string",
|
|
61758
|
+
"description": "Stage type (e.g., PreInterviewScreen, IndividualInterview)"
|
|
61759
|
+
},
|
|
61760
|
+
"orderInInterviewPlan": {
|
|
61761
|
+
"type": "number",
|
|
61762
|
+
"description": "Order in the interview plan"
|
|
61763
|
+
},
|
|
61764
|
+
"interviewPlanId": {
|
|
61765
|
+
"type": "string",
|
|
61766
|
+
"description": "Interview plan ID"
|
|
61767
|
+
}
|
|
61768
|
+
},
|
|
61769
|
+
"required": [
|
|
61770
|
+
"id",
|
|
61771
|
+
"title"
|
|
61772
|
+
],
|
|
61773
|
+
"additionalProperties": false,
|
|
61774
|
+
"description": "Current interview stage",
|
|
61775
|
+
"nullable": true
|
|
61776
|
+
},
|
|
61777
|
+
"source": {
|
|
61778
|
+
"nullable": true,
|
|
61779
|
+
"description": "Application source"
|
|
61780
|
+
},
|
|
61781
|
+
"archiveReason": {
|
|
61782
|
+
"nullable": true,
|
|
61783
|
+
"description": "Archive reason if archived"
|
|
61784
|
+
},
|
|
61785
|
+
"customFields": {
|
|
61786
|
+
"type": "array",
|
|
61787
|
+
"items": {
|
|
61788
|
+
"type": "object",
|
|
61789
|
+
"properties": {
|
|
61790
|
+
"id": {
|
|
61791
|
+
"type": "string",
|
|
61792
|
+
"description": "Custom field ID"
|
|
61793
|
+
},
|
|
61794
|
+
"title": {
|
|
61795
|
+
"type": "string",
|
|
61796
|
+
"description": "Custom field title"
|
|
61797
|
+
},
|
|
61798
|
+
"value": {
|
|
61799
|
+
"description": "Custom field value"
|
|
61800
|
+
},
|
|
61801
|
+
"isPrivate": {
|
|
61802
|
+
"type": "boolean",
|
|
61803
|
+
"description": "Whether the field is private"
|
|
61804
|
+
}
|
|
61805
|
+
},
|
|
61806
|
+
"required": [
|
|
61807
|
+
"id",
|
|
61808
|
+
"title"
|
|
61809
|
+
],
|
|
61810
|
+
"additionalProperties": false,
|
|
61811
|
+
"description": "Custom field information"
|
|
61812
|
+
},
|
|
61813
|
+
"description": "Custom field values"
|
|
61814
|
+
},
|
|
61815
|
+
"hiringTeam": {
|
|
61816
|
+
"type": "array",
|
|
61817
|
+
"items": {
|
|
61818
|
+
"type": "object",
|
|
61819
|
+
"properties": {
|
|
61820
|
+
"userId": {
|
|
61821
|
+
"type": "string",
|
|
61822
|
+
"description": "Team member user ID"
|
|
61823
|
+
},
|
|
61824
|
+
"role": {
|
|
61825
|
+
"type": "string",
|
|
61826
|
+
"description": "Role in hiring team"
|
|
61827
|
+
},
|
|
61828
|
+
"email": {
|
|
61829
|
+
"type": "string",
|
|
61830
|
+
"description": "Team member email"
|
|
61831
|
+
},
|
|
61832
|
+
"firstName": {
|
|
61833
|
+
"type": "string",
|
|
61834
|
+
"description": "First name"
|
|
61835
|
+
},
|
|
61836
|
+
"lastName": {
|
|
61837
|
+
"type": "string",
|
|
61838
|
+
"description": "Last name"
|
|
61839
|
+
}
|
|
61840
|
+
},
|
|
61841
|
+
"required": [
|
|
61842
|
+
"userId",
|
|
61843
|
+
"role"
|
|
61844
|
+
],
|
|
61845
|
+
"additionalProperties": false
|
|
61846
|
+
},
|
|
61847
|
+
"description": "Hiring team members"
|
|
61848
|
+
}
|
|
61849
|
+
},
|
|
61850
|
+
"required": [
|
|
61851
|
+
"id"
|
|
61852
|
+
],
|
|
61853
|
+
"additionalProperties": false,
|
|
61854
|
+
"description": "Ashby application record"
|
|
61855
|
+
},
|
|
61856
|
+
"description": "List of applications"
|
|
61857
|
+
},
|
|
61858
|
+
"next_cursor": {
|
|
61859
|
+
"type": "string",
|
|
61860
|
+
"description": "Cursor for next page"
|
|
61861
|
+
},
|
|
61862
|
+
"more_data_available": {
|
|
61863
|
+
"type": "boolean",
|
|
61864
|
+
"description": "Whether more data is available"
|
|
61865
|
+
},
|
|
61866
|
+
"error": {
|
|
61867
|
+
"type": "string",
|
|
61868
|
+
"description": "Error message if operation failed"
|
|
61869
|
+
}
|
|
61870
|
+
},
|
|
61871
|
+
"required": [
|
|
61872
|
+
"operation",
|
|
61873
|
+
"success",
|
|
61874
|
+
"error"
|
|
61875
|
+
],
|
|
61876
|
+
"additionalProperties": false
|
|
61877
|
+
},
|
|
61878
|
+
{
|
|
61879
|
+
"type": "object",
|
|
61880
|
+
"properties": {
|
|
61881
|
+
"operation": {
|
|
61882
|
+
"type": "string",
|
|
61883
|
+
"enum": [
|
|
61884
|
+
"get_application"
|
|
61885
|
+
],
|
|
61886
|
+
"description": "Get application operation"
|
|
61887
|
+
},
|
|
61888
|
+
"success": {
|
|
61889
|
+
"type": "boolean",
|
|
61890
|
+
"description": "Whether the operation was successful"
|
|
61891
|
+
},
|
|
61892
|
+
"application": {
|
|
61893
|
+
"type": "object",
|
|
61894
|
+
"properties": {
|
|
61895
|
+
"id": {
|
|
61896
|
+
"type": "string",
|
|
61897
|
+
"description": "Unique application identifier (UUID)"
|
|
61898
|
+
},
|
|
61899
|
+
"createdAt": {
|
|
61900
|
+
"type": "string",
|
|
61901
|
+
"description": "ISO 8601 creation timestamp"
|
|
61902
|
+
},
|
|
61903
|
+
"updatedAt": {
|
|
61904
|
+
"type": "string",
|
|
61905
|
+
"description": "ISO 8601 update timestamp"
|
|
61906
|
+
},
|
|
61907
|
+
"status": {
|
|
61908
|
+
"type": "string",
|
|
61909
|
+
"description": "Application status (Active, Hired, Archived, Lead)"
|
|
61910
|
+
},
|
|
61911
|
+
"candidateId": {
|
|
61912
|
+
"type": "string",
|
|
61913
|
+
"nullable": true,
|
|
61914
|
+
"description": "Candidate ID"
|
|
61915
|
+
},
|
|
61916
|
+
"jobId": {
|
|
61917
|
+
"type": "string",
|
|
61918
|
+
"nullable": true,
|
|
61919
|
+
"description": "Job ID"
|
|
61920
|
+
},
|
|
61921
|
+
"currentInterviewStage": {
|
|
61922
|
+
"type": "object",
|
|
61923
|
+
"properties": {
|
|
61924
|
+
"id": {
|
|
61925
|
+
"type": "string",
|
|
61926
|
+
"description": "Interview stage ID (UUID)"
|
|
61927
|
+
},
|
|
61928
|
+
"title": {
|
|
61929
|
+
"type": "string",
|
|
61930
|
+
"description": "Stage title"
|
|
61931
|
+
},
|
|
61932
|
+
"type": {
|
|
61933
|
+
"type": "string",
|
|
61934
|
+
"description": "Stage type (e.g., PreInterviewScreen, IndividualInterview)"
|
|
61935
|
+
},
|
|
61936
|
+
"orderInInterviewPlan": {
|
|
61937
|
+
"type": "number",
|
|
61938
|
+
"description": "Order in the interview plan"
|
|
61939
|
+
},
|
|
61940
|
+
"interviewPlanId": {
|
|
61941
|
+
"type": "string",
|
|
61942
|
+
"description": "Interview plan ID"
|
|
61943
|
+
}
|
|
61944
|
+
},
|
|
61945
|
+
"required": [
|
|
61946
|
+
"id",
|
|
61947
|
+
"title"
|
|
61948
|
+
],
|
|
61949
|
+
"additionalProperties": false,
|
|
61950
|
+
"description": "Current interview stage",
|
|
61951
|
+
"nullable": true
|
|
61952
|
+
},
|
|
61953
|
+
"source": {
|
|
61954
|
+
"nullable": true,
|
|
61955
|
+
"description": "Application source"
|
|
61956
|
+
},
|
|
61957
|
+
"archiveReason": {
|
|
61958
|
+
"nullable": true,
|
|
61959
|
+
"description": "Archive reason if archived"
|
|
61960
|
+
},
|
|
61961
|
+
"customFields": {
|
|
61962
|
+
"type": "array",
|
|
61963
|
+
"items": {
|
|
61964
|
+
"type": "object",
|
|
61965
|
+
"properties": {
|
|
61966
|
+
"id": {
|
|
61967
|
+
"type": "string",
|
|
61968
|
+
"description": "Custom field ID"
|
|
61969
|
+
},
|
|
61970
|
+
"title": {
|
|
61971
|
+
"type": "string",
|
|
61972
|
+
"description": "Custom field title"
|
|
61973
|
+
},
|
|
61974
|
+
"value": {
|
|
61975
|
+
"description": "Custom field value"
|
|
61976
|
+
},
|
|
61977
|
+
"isPrivate": {
|
|
61978
|
+
"type": "boolean",
|
|
61979
|
+
"description": "Whether the field is private"
|
|
61980
|
+
}
|
|
61981
|
+
},
|
|
61982
|
+
"required": [
|
|
61983
|
+
"id",
|
|
61984
|
+
"title"
|
|
61985
|
+
],
|
|
61986
|
+
"additionalProperties": false,
|
|
61987
|
+
"description": "Custom field information"
|
|
61988
|
+
},
|
|
61989
|
+
"description": "Custom field values"
|
|
61990
|
+
},
|
|
61991
|
+
"hiringTeam": {
|
|
61992
|
+
"type": "array",
|
|
61993
|
+
"items": {
|
|
61994
|
+
"type": "object",
|
|
61995
|
+
"properties": {
|
|
61996
|
+
"userId": {
|
|
61997
|
+
"type": "string",
|
|
61998
|
+
"description": "Team member user ID"
|
|
61999
|
+
},
|
|
62000
|
+
"role": {
|
|
62001
|
+
"type": "string",
|
|
62002
|
+
"description": "Role in hiring team"
|
|
62003
|
+
},
|
|
62004
|
+
"email": {
|
|
62005
|
+
"type": "string",
|
|
62006
|
+
"description": "Team member email"
|
|
62007
|
+
},
|
|
62008
|
+
"firstName": {
|
|
62009
|
+
"type": "string",
|
|
62010
|
+
"description": "First name"
|
|
62011
|
+
},
|
|
62012
|
+
"lastName": {
|
|
62013
|
+
"type": "string",
|
|
62014
|
+
"description": "Last name"
|
|
62015
|
+
}
|
|
62016
|
+
},
|
|
62017
|
+
"required": [
|
|
62018
|
+
"userId",
|
|
62019
|
+
"role"
|
|
62020
|
+
],
|
|
62021
|
+
"additionalProperties": false
|
|
62022
|
+
},
|
|
62023
|
+
"description": "Hiring team members"
|
|
62024
|
+
}
|
|
62025
|
+
},
|
|
62026
|
+
"required": [
|
|
62027
|
+
"id"
|
|
62028
|
+
],
|
|
62029
|
+
"additionalProperties": false,
|
|
62030
|
+
"description": "Application details"
|
|
62031
|
+
},
|
|
62032
|
+
"candidate": {
|
|
62033
|
+
"type": "object",
|
|
62034
|
+
"properties": {
|
|
62035
|
+
"id": {
|
|
62036
|
+
"type": "string",
|
|
62037
|
+
"description": "Unique candidate identifier (UUID)"
|
|
62038
|
+
},
|
|
62039
|
+
"createdAt": {
|
|
62040
|
+
"type": "string",
|
|
62041
|
+
"description": "ISO 8601 creation timestamp"
|
|
62042
|
+
},
|
|
62043
|
+
"updatedAt": {
|
|
62044
|
+
"type": "string",
|
|
62045
|
+
"description": "ISO 8601 update timestamp"
|
|
62046
|
+
},
|
|
62047
|
+
"name": {
|
|
62048
|
+
"type": "string",
|
|
62049
|
+
"description": "Full name of the candidate"
|
|
62050
|
+
},
|
|
62051
|
+
"primaryEmailAddress": {
|
|
62052
|
+
"type": "object",
|
|
62053
|
+
"properties": {
|
|
62054
|
+
"value": {
|
|
62055
|
+
"type": "string",
|
|
62056
|
+
"description": "Email address value"
|
|
62057
|
+
},
|
|
62058
|
+
"type": {
|
|
62059
|
+
"type": "string",
|
|
62060
|
+
"enum": [
|
|
62061
|
+
"Personal",
|
|
62062
|
+
"Work",
|
|
62063
|
+
"Other"
|
|
62064
|
+
],
|
|
62065
|
+
"description": "Type of email"
|
|
62066
|
+
},
|
|
62067
|
+
"isPrimary": {
|
|
62068
|
+
"type": "boolean",
|
|
62069
|
+
"description": "Whether this is the primary email"
|
|
62070
|
+
}
|
|
62071
|
+
},
|
|
62072
|
+
"required": [
|
|
62073
|
+
"value",
|
|
62074
|
+
"type",
|
|
62075
|
+
"isPrimary"
|
|
62076
|
+
],
|
|
62077
|
+
"additionalProperties": false,
|
|
62078
|
+
"description": "Primary email address",
|
|
62079
|
+
"nullable": true
|
|
62080
|
+
},
|
|
62081
|
+
"primaryPhoneNumber": {
|
|
62082
|
+
"type": "object",
|
|
62083
|
+
"properties": {
|
|
62084
|
+
"value": {
|
|
62085
|
+
"type": "string",
|
|
62086
|
+
"description": "Phone number value"
|
|
62087
|
+
},
|
|
62088
|
+
"type": {
|
|
62089
|
+
"type": "string",
|
|
62090
|
+
"enum": [
|
|
62091
|
+
"Personal",
|
|
62092
|
+
"Work",
|
|
62093
|
+
"Other"
|
|
62094
|
+
],
|
|
62095
|
+
"description": "Type of phone"
|
|
62096
|
+
},
|
|
62097
|
+
"isPrimary": {
|
|
62098
|
+
"type": "boolean",
|
|
62099
|
+
"description": "Whether this is the primary phone"
|
|
62100
|
+
}
|
|
62101
|
+
},
|
|
62102
|
+
"required": [
|
|
62103
|
+
"value",
|
|
62104
|
+
"type",
|
|
62105
|
+
"isPrimary"
|
|
62106
|
+
],
|
|
62107
|
+
"additionalProperties": false,
|
|
62108
|
+
"description": "Primary phone number",
|
|
62109
|
+
"nullable": true
|
|
62110
|
+
},
|
|
62111
|
+
"customFields": {
|
|
62112
|
+
"type": "array",
|
|
62113
|
+
"items": {
|
|
62114
|
+
"type": "object",
|
|
62115
|
+
"properties": {
|
|
62116
|
+
"id": {
|
|
62117
|
+
"type": "string",
|
|
62118
|
+
"description": "Custom field ID"
|
|
62119
|
+
},
|
|
62120
|
+
"title": {
|
|
62121
|
+
"type": "string",
|
|
62122
|
+
"description": "Custom field title"
|
|
62123
|
+
},
|
|
62124
|
+
"value": {
|
|
62125
|
+
"description": "Custom field value"
|
|
62126
|
+
},
|
|
62127
|
+
"isPrivate": {
|
|
62128
|
+
"type": "boolean",
|
|
62129
|
+
"description": "Whether the field is private"
|
|
62130
|
+
}
|
|
62131
|
+
},
|
|
62132
|
+
"required": [
|
|
62133
|
+
"id",
|
|
62134
|
+
"title"
|
|
62135
|
+
],
|
|
62136
|
+
"additionalProperties": false,
|
|
62137
|
+
"description": "Custom field information"
|
|
62138
|
+
},
|
|
62139
|
+
"description": "Custom field values"
|
|
62140
|
+
}
|
|
62141
|
+
},
|
|
62142
|
+
"required": [
|
|
62143
|
+
"id",
|
|
62144
|
+
"name"
|
|
62145
|
+
],
|
|
62146
|
+
"additionalProperties": false,
|
|
62147
|
+
"description": "Associated candidate"
|
|
62148
|
+
},
|
|
62149
|
+
"job": {
|
|
62150
|
+
"type": "object",
|
|
62151
|
+
"properties": {
|
|
62152
|
+
"id": {
|
|
62153
|
+
"type": "string",
|
|
62154
|
+
"description": "Unique job identifier (UUID)"
|
|
62155
|
+
},
|
|
62156
|
+
"title": {
|
|
62157
|
+
"type": "string",
|
|
62158
|
+
"description": "Job title"
|
|
62159
|
+
},
|
|
62160
|
+
"status": {
|
|
62161
|
+
"type": "string",
|
|
62162
|
+
"description": "Job status (e.g., Open, Closed, Draft, Archived)"
|
|
62163
|
+
},
|
|
62164
|
+
"departmentId": {
|
|
62165
|
+
"type": "string",
|
|
62166
|
+
"nullable": true,
|
|
62167
|
+
"description": "Department ID"
|
|
62168
|
+
},
|
|
62169
|
+
"teamId": {
|
|
62170
|
+
"type": "string",
|
|
62171
|
+
"nullable": true,
|
|
62172
|
+
"description": "Team ID"
|
|
62173
|
+
},
|
|
62174
|
+
"locationId": {
|
|
62175
|
+
"type": "string",
|
|
62176
|
+
"nullable": true,
|
|
62177
|
+
"description": "Location ID"
|
|
62178
|
+
},
|
|
62179
|
+
"locationIds": {
|
|
62180
|
+
"type": "array",
|
|
62181
|
+
"items": {
|
|
62182
|
+
"type": "string"
|
|
62183
|
+
},
|
|
62184
|
+
"description": "Location IDs"
|
|
62185
|
+
},
|
|
62186
|
+
"customFields": {
|
|
62187
|
+
"type": "array",
|
|
62188
|
+
"items": {
|
|
62189
|
+
"type": "object",
|
|
62190
|
+
"properties": {
|
|
62191
|
+
"id": {
|
|
62192
|
+
"type": "string",
|
|
62193
|
+
"description": "Custom field ID"
|
|
62194
|
+
},
|
|
62195
|
+
"title": {
|
|
62196
|
+
"type": "string",
|
|
62197
|
+
"description": "Custom field title"
|
|
62198
|
+
},
|
|
62199
|
+
"value": {
|
|
62200
|
+
"description": "Custom field value"
|
|
62201
|
+
},
|
|
62202
|
+
"isPrivate": {
|
|
62203
|
+
"type": "boolean",
|
|
62204
|
+
"description": "Whether the field is private"
|
|
62205
|
+
}
|
|
62206
|
+
},
|
|
62207
|
+
"required": [
|
|
62208
|
+
"id",
|
|
62209
|
+
"title"
|
|
62210
|
+
],
|
|
62211
|
+
"additionalProperties": false,
|
|
62212
|
+
"description": "Custom field information"
|
|
62213
|
+
},
|
|
62214
|
+
"description": "Custom field values"
|
|
62215
|
+
},
|
|
62216
|
+
"openedAt": {
|
|
62217
|
+
"type": "string",
|
|
62218
|
+
"nullable": true,
|
|
62219
|
+
"description": "ISO 8601 opened timestamp"
|
|
62220
|
+
},
|
|
62221
|
+
"closedAt": {
|
|
62222
|
+
"type": "string",
|
|
62223
|
+
"nullable": true,
|
|
62224
|
+
"description": "ISO 8601 closed timestamp"
|
|
62225
|
+
},
|
|
62226
|
+
"createdAt": {
|
|
62227
|
+
"type": "string",
|
|
62228
|
+
"description": "ISO 8601 creation timestamp"
|
|
62229
|
+
},
|
|
62230
|
+
"updatedAt": {
|
|
62231
|
+
"type": "string",
|
|
62232
|
+
"description": "ISO 8601 update timestamp"
|
|
62233
|
+
}
|
|
62234
|
+
},
|
|
62235
|
+
"required": [
|
|
62236
|
+
"id",
|
|
62237
|
+
"title"
|
|
62238
|
+
],
|
|
62239
|
+
"additionalProperties": false,
|
|
62240
|
+
"description": "Associated job"
|
|
62241
|
+
},
|
|
62242
|
+
"error": {
|
|
62243
|
+
"type": "string",
|
|
62244
|
+
"description": "Error message if operation failed"
|
|
62245
|
+
}
|
|
62246
|
+
},
|
|
62247
|
+
"required": [
|
|
62248
|
+
"operation",
|
|
62249
|
+
"success",
|
|
62250
|
+
"error"
|
|
62251
|
+
],
|
|
62252
|
+
"additionalProperties": false
|
|
62253
|
+
},
|
|
62254
|
+
{
|
|
62255
|
+
"type": "object",
|
|
62256
|
+
"properties": {
|
|
62257
|
+
"operation": {
|
|
62258
|
+
"type": "string",
|
|
62259
|
+
"enum": [
|
|
62260
|
+
"create_application"
|
|
62261
|
+
],
|
|
62262
|
+
"description": "Create application operation"
|
|
62263
|
+
},
|
|
62264
|
+
"success": {
|
|
62265
|
+
"type": "boolean",
|
|
62266
|
+
"description": "Whether the operation was successful"
|
|
62267
|
+
},
|
|
62268
|
+
"application": {
|
|
62269
|
+
"type": "object",
|
|
62270
|
+
"properties": {
|
|
62271
|
+
"id": {
|
|
62272
|
+
"type": "string",
|
|
62273
|
+
"description": "Unique application identifier (UUID)"
|
|
62274
|
+
},
|
|
62275
|
+
"createdAt": {
|
|
62276
|
+
"type": "string",
|
|
62277
|
+
"description": "ISO 8601 creation timestamp"
|
|
62278
|
+
},
|
|
62279
|
+
"updatedAt": {
|
|
62280
|
+
"type": "string",
|
|
62281
|
+
"description": "ISO 8601 update timestamp"
|
|
62282
|
+
},
|
|
62283
|
+
"status": {
|
|
62284
|
+
"type": "string",
|
|
62285
|
+
"description": "Application status (Active, Hired, Archived, Lead)"
|
|
62286
|
+
},
|
|
62287
|
+
"candidateId": {
|
|
62288
|
+
"type": "string",
|
|
62289
|
+
"nullable": true,
|
|
62290
|
+
"description": "Candidate ID"
|
|
62291
|
+
},
|
|
62292
|
+
"jobId": {
|
|
62293
|
+
"type": "string",
|
|
62294
|
+
"nullable": true,
|
|
62295
|
+
"description": "Job ID"
|
|
62296
|
+
},
|
|
62297
|
+
"currentInterviewStage": {
|
|
62298
|
+
"type": "object",
|
|
62299
|
+
"properties": {
|
|
62300
|
+
"id": {
|
|
62301
|
+
"type": "string",
|
|
62302
|
+
"description": "Interview stage ID (UUID)"
|
|
62303
|
+
},
|
|
62304
|
+
"title": {
|
|
62305
|
+
"type": "string",
|
|
62306
|
+
"description": "Stage title"
|
|
62307
|
+
},
|
|
62308
|
+
"type": {
|
|
62309
|
+
"type": "string",
|
|
62310
|
+
"description": "Stage type (e.g., PreInterviewScreen, IndividualInterview)"
|
|
62311
|
+
},
|
|
62312
|
+
"orderInInterviewPlan": {
|
|
62313
|
+
"type": "number",
|
|
62314
|
+
"description": "Order in the interview plan"
|
|
62315
|
+
},
|
|
62316
|
+
"interviewPlanId": {
|
|
62317
|
+
"type": "string",
|
|
62318
|
+
"description": "Interview plan ID"
|
|
62319
|
+
}
|
|
62320
|
+
},
|
|
62321
|
+
"required": [
|
|
62322
|
+
"id",
|
|
62323
|
+
"title"
|
|
62324
|
+
],
|
|
62325
|
+
"additionalProperties": false,
|
|
62326
|
+
"description": "Current interview stage",
|
|
62327
|
+
"nullable": true
|
|
62328
|
+
},
|
|
62329
|
+
"source": {
|
|
62330
|
+
"nullable": true,
|
|
62331
|
+
"description": "Application source"
|
|
62332
|
+
},
|
|
62333
|
+
"archiveReason": {
|
|
62334
|
+
"nullable": true,
|
|
62335
|
+
"description": "Archive reason if archived"
|
|
62336
|
+
},
|
|
62337
|
+
"customFields": {
|
|
62338
|
+
"type": "array",
|
|
62339
|
+
"items": {
|
|
62340
|
+
"type": "object",
|
|
62341
|
+
"properties": {
|
|
62342
|
+
"id": {
|
|
62343
|
+
"type": "string",
|
|
62344
|
+
"description": "Custom field ID"
|
|
62345
|
+
},
|
|
62346
|
+
"title": {
|
|
62347
|
+
"type": "string",
|
|
62348
|
+
"description": "Custom field title"
|
|
62349
|
+
},
|
|
62350
|
+
"value": {
|
|
62351
|
+
"description": "Custom field value"
|
|
62352
|
+
},
|
|
62353
|
+
"isPrivate": {
|
|
62354
|
+
"type": "boolean",
|
|
62355
|
+
"description": "Whether the field is private"
|
|
62356
|
+
}
|
|
62357
|
+
},
|
|
62358
|
+
"required": [
|
|
62359
|
+
"id",
|
|
62360
|
+
"title"
|
|
62361
|
+
],
|
|
62362
|
+
"additionalProperties": false,
|
|
62363
|
+
"description": "Custom field information"
|
|
62364
|
+
},
|
|
62365
|
+
"description": "Custom field values"
|
|
62366
|
+
},
|
|
62367
|
+
"hiringTeam": {
|
|
62368
|
+
"type": "array",
|
|
62369
|
+
"items": {
|
|
62370
|
+
"type": "object",
|
|
62371
|
+
"properties": {
|
|
62372
|
+
"userId": {
|
|
62373
|
+
"type": "string",
|
|
62374
|
+
"description": "Team member user ID"
|
|
62375
|
+
},
|
|
62376
|
+
"role": {
|
|
62377
|
+
"type": "string",
|
|
62378
|
+
"description": "Role in hiring team"
|
|
62379
|
+
},
|
|
62380
|
+
"email": {
|
|
62381
|
+
"type": "string",
|
|
62382
|
+
"description": "Team member email"
|
|
62383
|
+
},
|
|
62384
|
+
"firstName": {
|
|
62385
|
+
"type": "string",
|
|
62386
|
+
"description": "First name"
|
|
62387
|
+
},
|
|
62388
|
+
"lastName": {
|
|
62389
|
+
"type": "string",
|
|
62390
|
+
"description": "Last name"
|
|
62391
|
+
}
|
|
62392
|
+
},
|
|
62393
|
+
"required": [
|
|
62394
|
+
"userId",
|
|
62395
|
+
"role"
|
|
62396
|
+
],
|
|
62397
|
+
"additionalProperties": false
|
|
62398
|
+
},
|
|
62399
|
+
"description": "Hiring team members"
|
|
62400
|
+
}
|
|
62401
|
+
},
|
|
62402
|
+
"required": [
|
|
62403
|
+
"id"
|
|
62404
|
+
],
|
|
62405
|
+
"additionalProperties": false,
|
|
62406
|
+
"description": "Created application"
|
|
62407
|
+
},
|
|
62408
|
+
"error": {
|
|
62409
|
+
"type": "string",
|
|
62410
|
+
"description": "Error message if operation failed"
|
|
62411
|
+
}
|
|
62412
|
+
},
|
|
62413
|
+
"required": [
|
|
62414
|
+
"operation",
|
|
62415
|
+
"success",
|
|
62416
|
+
"error"
|
|
62417
|
+
],
|
|
62418
|
+
"additionalProperties": false
|
|
62419
|
+
},
|
|
62420
|
+
{
|
|
62421
|
+
"type": "object",
|
|
62422
|
+
"properties": {
|
|
62423
|
+
"operation": {
|
|
62424
|
+
"type": "string",
|
|
62425
|
+
"enum": [
|
|
62426
|
+
"change_application_stage"
|
|
62427
|
+
],
|
|
62428
|
+
"description": "Change application stage operation"
|
|
62429
|
+
},
|
|
62430
|
+
"success": {
|
|
62431
|
+
"type": "boolean",
|
|
62432
|
+
"description": "Whether the operation was successful"
|
|
62433
|
+
},
|
|
62434
|
+
"application": {
|
|
62435
|
+
"type": "object",
|
|
62436
|
+
"properties": {
|
|
62437
|
+
"id": {
|
|
62438
|
+
"type": "string",
|
|
62439
|
+
"description": "Unique application identifier (UUID)"
|
|
62440
|
+
},
|
|
62441
|
+
"createdAt": {
|
|
62442
|
+
"type": "string",
|
|
62443
|
+
"description": "ISO 8601 creation timestamp"
|
|
62444
|
+
},
|
|
62445
|
+
"updatedAt": {
|
|
62446
|
+
"type": "string",
|
|
62447
|
+
"description": "ISO 8601 update timestamp"
|
|
62448
|
+
},
|
|
62449
|
+
"status": {
|
|
62450
|
+
"type": "string",
|
|
62451
|
+
"description": "Application status (Active, Hired, Archived, Lead)"
|
|
62452
|
+
},
|
|
62453
|
+
"candidateId": {
|
|
62454
|
+
"type": "string",
|
|
62455
|
+
"nullable": true,
|
|
62456
|
+
"description": "Candidate ID"
|
|
62457
|
+
},
|
|
62458
|
+
"jobId": {
|
|
62459
|
+
"type": "string",
|
|
62460
|
+
"nullable": true,
|
|
62461
|
+
"description": "Job ID"
|
|
62462
|
+
},
|
|
62463
|
+
"currentInterviewStage": {
|
|
62464
|
+
"type": "object",
|
|
62465
|
+
"properties": {
|
|
62466
|
+
"id": {
|
|
62467
|
+
"type": "string",
|
|
62468
|
+
"description": "Interview stage ID (UUID)"
|
|
62469
|
+
},
|
|
62470
|
+
"title": {
|
|
62471
|
+
"type": "string",
|
|
62472
|
+
"description": "Stage title"
|
|
62473
|
+
},
|
|
62474
|
+
"type": {
|
|
62475
|
+
"type": "string",
|
|
62476
|
+
"description": "Stage type (e.g., PreInterviewScreen, IndividualInterview)"
|
|
62477
|
+
},
|
|
62478
|
+
"orderInInterviewPlan": {
|
|
62479
|
+
"type": "number",
|
|
62480
|
+
"description": "Order in the interview plan"
|
|
62481
|
+
},
|
|
62482
|
+
"interviewPlanId": {
|
|
62483
|
+
"type": "string",
|
|
62484
|
+
"description": "Interview plan ID"
|
|
62485
|
+
}
|
|
62486
|
+
},
|
|
62487
|
+
"required": [
|
|
62488
|
+
"id",
|
|
62489
|
+
"title"
|
|
62490
|
+
],
|
|
62491
|
+
"additionalProperties": false,
|
|
62492
|
+
"description": "Current interview stage",
|
|
62493
|
+
"nullable": true
|
|
62494
|
+
},
|
|
62495
|
+
"source": {
|
|
62496
|
+
"nullable": true,
|
|
62497
|
+
"description": "Application source"
|
|
62498
|
+
},
|
|
62499
|
+
"archiveReason": {
|
|
62500
|
+
"nullable": true,
|
|
62501
|
+
"description": "Archive reason if archived"
|
|
62502
|
+
},
|
|
62503
|
+
"customFields": {
|
|
62504
|
+
"type": "array",
|
|
62505
|
+
"items": {
|
|
62506
|
+
"type": "object",
|
|
62507
|
+
"properties": {
|
|
62508
|
+
"id": {
|
|
62509
|
+
"type": "string",
|
|
62510
|
+
"description": "Custom field ID"
|
|
62511
|
+
},
|
|
62512
|
+
"title": {
|
|
62513
|
+
"type": "string",
|
|
62514
|
+
"description": "Custom field title"
|
|
62515
|
+
},
|
|
62516
|
+
"value": {
|
|
62517
|
+
"description": "Custom field value"
|
|
62518
|
+
},
|
|
62519
|
+
"isPrivate": {
|
|
62520
|
+
"type": "boolean",
|
|
62521
|
+
"description": "Whether the field is private"
|
|
62522
|
+
}
|
|
62523
|
+
},
|
|
62524
|
+
"required": [
|
|
62525
|
+
"id",
|
|
62526
|
+
"title"
|
|
62527
|
+
],
|
|
62528
|
+
"additionalProperties": false,
|
|
62529
|
+
"description": "Custom field information"
|
|
62530
|
+
},
|
|
62531
|
+
"description": "Custom field values"
|
|
62532
|
+
},
|
|
62533
|
+
"hiringTeam": {
|
|
62534
|
+
"type": "array",
|
|
62535
|
+
"items": {
|
|
62536
|
+
"type": "object",
|
|
62537
|
+
"properties": {
|
|
62538
|
+
"userId": {
|
|
62539
|
+
"type": "string",
|
|
62540
|
+
"description": "Team member user ID"
|
|
62541
|
+
},
|
|
62542
|
+
"role": {
|
|
62543
|
+
"type": "string",
|
|
62544
|
+
"description": "Role in hiring team"
|
|
62545
|
+
},
|
|
62546
|
+
"email": {
|
|
62547
|
+
"type": "string",
|
|
62548
|
+
"description": "Team member email"
|
|
62549
|
+
},
|
|
62550
|
+
"firstName": {
|
|
62551
|
+
"type": "string",
|
|
62552
|
+
"description": "First name"
|
|
62553
|
+
},
|
|
62554
|
+
"lastName": {
|
|
62555
|
+
"type": "string",
|
|
62556
|
+
"description": "Last name"
|
|
62557
|
+
}
|
|
62558
|
+
},
|
|
62559
|
+
"required": [
|
|
62560
|
+
"userId",
|
|
62561
|
+
"role"
|
|
62562
|
+
],
|
|
62563
|
+
"additionalProperties": false
|
|
62564
|
+
},
|
|
62565
|
+
"description": "Hiring team members"
|
|
62566
|
+
}
|
|
62567
|
+
},
|
|
62568
|
+
"required": [
|
|
62569
|
+
"id"
|
|
62570
|
+
],
|
|
62571
|
+
"additionalProperties": false,
|
|
62572
|
+
"description": "Updated application"
|
|
62573
|
+
},
|
|
62574
|
+
"error": {
|
|
62575
|
+
"type": "string",
|
|
62576
|
+
"description": "Error message if operation failed"
|
|
62577
|
+
}
|
|
62578
|
+
},
|
|
62579
|
+
"required": [
|
|
62580
|
+
"operation",
|
|
62581
|
+
"success",
|
|
62582
|
+
"error"
|
|
62583
|
+
],
|
|
62584
|
+
"additionalProperties": false
|
|
62585
|
+
},
|
|
62586
|
+
{
|
|
62587
|
+
"type": "object",
|
|
62588
|
+
"properties": {
|
|
62589
|
+
"operation": {
|
|
62590
|
+
"type": "string",
|
|
62591
|
+
"enum": [
|
|
62592
|
+
"update_candidate"
|
|
62593
|
+
],
|
|
62594
|
+
"description": "Update candidate operation"
|
|
62595
|
+
},
|
|
62596
|
+
"success": {
|
|
62597
|
+
"type": "boolean",
|
|
62598
|
+
"description": "Whether the operation was successful"
|
|
62599
|
+
},
|
|
62600
|
+
"candidate": {
|
|
62601
|
+
"type": "object",
|
|
62602
|
+
"properties": {
|
|
62603
|
+
"id": {
|
|
62604
|
+
"type": "string",
|
|
62605
|
+
"description": "Unique candidate identifier (UUID)"
|
|
62606
|
+
},
|
|
62607
|
+
"createdAt": {
|
|
62608
|
+
"type": "string",
|
|
62609
|
+
"description": "ISO 8601 creation timestamp"
|
|
62610
|
+
},
|
|
62611
|
+
"updatedAt": {
|
|
62612
|
+
"type": "string",
|
|
62613
|
+
"description": "ISO 8601 update timestamp"
|
|
62614
|
+
},
|
|
62615
|
+
"name": {
|
|
62616
|
+
"type": "string",
|
|
62617
|
+
"description": "Full name of the candidate"
|
|
62618
|
+
},
|
|
62619
|
+
"primaryEmailAddress": {
|
|
62620
|
+
"type": "object",
|
|
62621
|
+
"properties": {
|
|
62622
|
+
"value": {
|
|
62623
|
+
"type": "string",
|
|
62624
|
+
"description": "Email address value"
|
|
62625
|
+
},
|
|
62626
|
+
"type": {
|
|
62627
|
+
"type": "string",
|
|
62628
|
+
"enum": [
|
|
62629
|
+
"Personal",
|
|
62630
|
+
"Work",
|
|
62631
|
+
"Other"
|
|
62632
|
+
],
|
|
62633
|
+
"description": "Type of email"
|
|
62634
|
+
},
|
|
62635
|
+
"isPrimary": {
|
|
62636
|
+
"type": "boolean",
|
|
62637
|
+
"description": "Whether this is the primary email"
|
|
62638
|
+
}
|
|
62639
|
+
},
|
|
62640
|
+
"required": [
|
|
62641
|
+
"value",
|
|
62642
|
+
"type",
|
|
62643
|
+
"isPrimary"
|
|
62644
|
+
],
|
|
62645
|
+
"additionalProperties": false,
|
|
62646
|
+
"description": "Primary email address",
|
|
62647
|
+
"nullable": true
|
|
62648
|
+
},
|
|
62649
|
+
"primaryPhoneNumber": {
|
|
62650
|
+
"type": "object",
|
|
62651
|
+
"properties": {
|
|
62652
|
+
"value": {
|
|
62653
|
+
"type": "string",
|
|
62654
|
+
"description": "Phone number value"
|
|
62655
|
+
},
|
|
62656
|
+
"type": {
|
|
62657
|
+
"type": "string",
|
|
62658
|
+
"enum": [
|
|
62659
|
+
"Personal",
|
|
62660
|
+
"Work",
|
|
62661
|
+
"Other"
|
|
62662
|
+
],
|
|
62663
|
+
"description": "Type of phone"
|
|
62664
|
+
},
|
|
62665
|
+
"isPrimary": {
|
|
62666
|
+
"type": "boolean",
|
|
62667
|
+
"description": "Whether this is the primary phone"
|
|
62668
|
+
}
|
|
62669
|
+
},
|
|
62670
|
+
"required": [
|
|
62671
|
+
"value",
|
|
62672
|
+
"type",
|
|
62673
|
+
"isPrimary"
|
|
62674
|
+
],
|
|
62675
|
+
"additionalProperties": false,
|
|
62676
|
+
"description": "Primary phone number",
|
|
62677
|
+
"nullable": true
|
|
62678
|
+
},
|
|
62679
|
+
"customFields": {
|
|
62680
|
+
"type": "array",
|
|
62681
|
+
"items": {
|
|
62682
|
+
"type": "object",
|
|
62683
|
+
"properties": {
|
|
62684
|
+
"id": {
|
|
62685
|
+
"type": "string",
|
|
62686
|
+
"description": "Custom field ID"
|
|
62687
|
+
},
|
|
62688
|
+
"title": {
|
|
62689
|
+
"type": "string",
|
|
62690
|
+
"description": "Custom field title"
|
|
62691
|
+
},
|
|
62692
|
+
"value": {
|
|
62693
|
+
"description": "Custom field value"
|
|
62694
|
+
},
|
|
62695
|
+
"isPrivate": {
|
|
62696
|
+
"type": "boolean",
|
|
62697
|
+
"description": "Whether the field is private"
|
|
62698
|
+
}
|
|
62699
|
+
},
|
|
62700
|
+
"required": [
|
|
62701
|
+
"id",
|
|
62702
|
+
"title"
|
|
62703
|
+
],
|
|
62704
|
+
"additionalProperties": false,
|
|
62705
|
+
"description": "Custom field information"
|
|
62706
|
+
},
|
|
62707
|
+
"description": "Custom field values"
|
|
62708
|
+
}
|
|
62709
|
+
},
|
|
62710
|
+
"required": [
|
|
62711
|
+
"id",
|
|
62712
|
+
"name"
|
|
62713
|
+
],
|
|
62714
|
+
"additionalProperties": false,
|
|
62715
|
+
"description": "Updated candidate"
|
|
62716
|
+
},
|
|
62717
|
+
"error": {
|
|
62718
|
+
"type": "string",
|
|
62719
|
+
"description": "Error message if operation failed"
|
|
62720
|
+
}
|
|
62721
|
+
},
|
|
62722
|
+
"required": [
|
|
62723
|
+
"operation",
|
|
62724
|
+
"success",
|
|
62725
|
+
"error"
|
|
62726
|
+
],
|
|
62727
|
+
"additionalProperties": false
|
|
62728
|
+
},
|
|
62729
|
+
{
|
|
62730
|
+
"type": "object",
|
|
62731
|
+
"properties": {
|
|
62732
|
+
"operation": {
|
|
62733
|
+
"type": "string",
|
|
62734
|
+
"enum": [
|
|
62735
|
+
"create_note"
|
|
62736
|
+
],
|
|
62737
|
+
"description": "Create note operation"
|
|
62738
|
+
},
|
|
62739
|
+
"success": {
|
|
62740
|
+
"type": "boolean",
|
|
62741
|
+
"description": "Whether the operation was successful"
|
|
62742
|
+
},
|
|
62743
|
+
"note": {
|
|
62744
|
+
"type": "object",
|
|
62745
|
+
"properties": {
|
|
62746
|
+
"id": {
|
|
62747
|
+
"type": "string",
|
|
62748
|
+
"description": "Note ID (UUID)"
|
|
62749
|
+
},
|
|
62750
|
+
"createdAt": {
|
|
62751
|
+
"type": "string",
|
|
62752
|
+
"description": "ISO 8601 creation timestamp"
|
|
62753
|
+
},
|
|
62754
|
+
"content": {
|
|
62755
|
+
"type": "string",
|
|
62756
|
+
"description": "Note content (HTML)"
|
|
62757
|
+
},
|
|
62758
|
+
"author": {
|
|
62759
|
+
"type": "object",
|
|
62760
|
+
"properties": {
|
|
62761
|
+
"id": {
|
|
62762
|
+
"type": "string",
|
|
62763
|
+
"description": "Author user ID"
|
|
62764
|
+
},
|
|
62765
|
+
"firstName": {
|
|
62766
|
+
"type": "string",
|
|
62767
|
+
"description": "Author first name"
|
|
62768
|
+
},
|
|
62769
|
+
"lastName": {
|
|
62770
|
+
"type": "string",
|
|
62771
|
+
"description": "Author last name"
|
|
62772
|
+
},
|
|
62773
|
+
"email": {
|
|
62774
|
+
"type": "string",
|
|
62775
|
+
"description": "Author email"
|
|
62776
|
+
}
|
|
62777
|
+
},
|
|
62778
|
+
"required": [
|
|
62779
|
+
"id"
|
|
62780
|
+
],
|
|
62781
|
+
"additionalProperties": false,
|
|
62782
|
+
"nullable": true,
|
|
62783
|
+
"description": "Note author"
|
|
62784
|
+
}
|
|
62785
|
+
},
|
|
62786
|
+
"required": [
|
|
62787
|
+
"id",
|
|
62788
|
+
"content"
|
|
62789
|
+
],
|
|
62790
|
+
"additionalProperties": false,
|
|
62791
|
+
"description": "Created note"
|
|
62792
|
+
},
|
|
62793
|
+
"error": {
|
|
62794
|
+
"type": "string",
|
|
62795
|
+
"description": "Error message if operation failed"
|
|
62796
|
+
}
|
|
62797
|
+
},
|
|
62798
|
+
"required": [
|
|
62799
|
+
"operation",
|
|
62800
|
+
"success",
|
|
62801
|
+
"error"
|
|
62802
|
+
],
|
|
62803
|
+
"additionalProperties": false
|
|
62804
|
+
},
|
|
62805
|
+
{
|
|
62806
|
+
"type": "object",
|
|
62807
|
+
"properties": {
|
|
62808
|
+
"operation": {
|
|
62809
|
+
"type": "string",
|
|
62810
|
+
"enum": [
|
|
62811
|
+
"list_notes"
|
|
62812
|
+
],
|
|
62813
|
+
"description": "List notes operation"
|
|
62814
|
+
},
|
|
62815
|
+
"success": {
|
|
62816
|
+
"type": "boolean",
|
|
62817
|
+
"description": "Whether the operation was successful"
|
|
62818
|
+
},
|
|
62819
|
+
"notes": {
|
|
62820
|
+
"type": "array",
|
|
62821
|
+
"items": {
|
|
62822
|
+
"type": "object",
|
|
62823
|
+
"properties": {
|
|
62824
|
+
"id": {
|
|
62825
|
+
"type": "string",
|
|
62826
|
+
"description": "Note ID (UUID)"
|
|
62827
|
+
},
|
|
62828
|
+
"createdAt": {
|
|
62829
|
+
"type": "string",
|
|
62830
|
+
"description": "ISO 8601 creation timestamp"
|
|
62831
|
+
},
|
|
62832
|
+
"content": {
|
|
62833
|
+
"type": "string",
|
|
62834
|
+
"description": "Note content (HTML)"
|
|
62835
|
+
},
|
|
62836
|
+
"author": {
|
|
62837
|
+
"type": "object",
|
|
62838
|
+
"properties": {
|
|
62839
|
+
"id": {
|
|
62840
|
+
"type": "string",
|
|
62841
|
+
"description": "Author user ID"
|
|
62842
|
+
},
|
|
62843
|
+
"firstName": {
|
|
62844
|
+
"type": "string",
|
|
62845
|
+
"description": "Author first name"
|
|
62846
|
+
},
|
|
62847
|
+
"lastName": {
|
|
62848
|
+
"type": "string",
|
|
62849
|
+
"description": "Author last name"
|
|
62850
|
+
},
|
|
62851
|
+
"email": {
|
|
62852
|
+
"type": "string",
|
|
62853
|
+
"description": "Author email"
|
|
62854
|
+
}
|
|
62855
|
+
},
|
|
62856
|
+
"required": [
|
|
62857
|
+
"id"
|
|
62858
|
+
],
|
|
62859
|
+
"additionalProperties": false,
|
|
62860
|
+
"nullable": true,
|
|
62861
|
+
"description": "Note author"
|
|
62862
|
+
}
|
|
62863
|
+
},
|
|
62864
|
+
"required": [
|
|
62865
|
+
"id",
|
|
62866
|
+
"content"
|
|
62867
|
+
],
|
|
62868
|
+
"additionalProperties": false,
|
|
62869
|
+
"description": "Candidate note"
|
|
62870
|
+
},
|
|
62871
|
+
"description": "List of notes"
|
|
62872
|
+
},
|
|
62873
|
+
"error": {
|
|
62874
|
+
"type": "string",
|
|
62875
|
+
"description": "Error message if operation failed"
|
|
62876
|
+
}
|
|
62877
|
+
},
|
|
62878
|
+
"required": [
|
|
62879
|
+
"operation",
|
|
62880
|
+
"success",
|
|
62881
|
+
"error"
|
|
62882
|
+
],
|
|
62883
|
+
"additionalProperties": false
|
|
62884
|
+
},
|
|
62885
|
+
{
|
|
62886
|
+
"type": "object",
|
|
62887
|
+
"properties": {
|
|
62888
|
+
"operation": {
|
|
62889
|
+
"type": "string",
|
|
62890
|
+
"enum": [
|
|
62891
|
+
"list_sources"
|
|
62892
|
+
],
|
|
62893
|
+
"description": "List sources operation"
|
|
62894
|
+
},
|
|
62895
|
+
"success": {
|
|
62896
|
+
"type": "boolean",
|
|
62897
|
+
"description": "Whether the operation was successful"
|
|
62898
|
+
},
|
|
62899
|
+
"sources": {
|
|
62900
|
+
"type": "array",
|
|
62901
|
+
"items": {
|
|
62902
|
+
"type": "object",
|
|
62903
|
+
"properties": {
|
|
62904
|
+
"id": {
|
|
62905
|
+
"type": "string",
|
|
62906
|
+
"description": "Source ID (UUID)"
|
|
62907
|
+
},
|
|
62908
|
+
"title": {
|
|
62909
|
+
"type": "string",
|
|
62910
|
+
"description": "Source title"
|
|
62911
|
+
},
|
|
62912
|
+
"isArchived": {
|
|
62913
|
+
"type": "boolean",
|
|
62914
|
+
"description": "Whether the source is archived"
|
|
62915
|
+
}
|
|
62916
|
+
},
|
|
62917
|
+
"required": [
|
|
62918
|
+
"id",
|
|
62919
|
+
"title"
|
|
62920
|
+
],
|
|
62921
|
+
"additionalProperties": false,
|
|
62922
|
+
"description": "Candidate source"
|
|
62923
|
+
},
|
|
62924
|
+
"description": "List of sources"
|
|
62925
|
+
},
|
|
62926
|
+
"error": {
|
|
62927
|
+
"type": "string",
|
|
62928
|
+
"description": "Error message if operation failed"
|
|
62929
|
+
}
|
|
62930
|
+
},
|
|
62931
|
+
"required": [
|
|
62932
|
+
"operation",
|
|
62933
|
+
"success",
|
|
62934
|
+
"error"
|
|
62935
|
+
],
|
|
62936
|
+
"additionalProperties": false
|
|
62937
|
+
},
|
|
62938
|
+
{
|
|
62939
|
+
"type": "object",
|
|
62940
|
+
"properties": {
|
|
62941
|
+
"operation": {
|
|
62942
|
+
"type": "string",
|
|
62943
|
+
"enum": [
|
|
62944
|
+
"list_interview_stages"
|
|
62945
|
+
],
|
|
62946
|
+
"description": "List interview stages operation"
|
|
62947
|
+
},
|
|
62948
|
+
"success": {
|
|
62949
|
+
"type": "boolean",
|
|
62950
|
+
"description": "Whether the operation was successful"
|
|
62951
|
+
},
|
|
62952
|
+
"interview_stages": {
|
|
62953
|
+
"type": "array",
|
|
62954
|
+
"items": {
|
|
62955
|
+
"type": "object",
|
|
62956
|
+
"properties": {
|
|
62957
|
+
"id": {
|
|
62958
|
+
"type": "string",
|
|
62959
|
+
"description": "Interview stage ID (UUID)"
|
|
62960
|
+
},
|
|
62961
|
+
"title": {
|
|
62962
|
+
"type": "string",
|
|
62963
|
+
"description": "Stage title"
|
|
62964
|
+
},
|
|
62965
|
+
"type": {
|
|
62966
|
+
"type": "string",
|
|
62967
|
+
"description": "Stage type (e.g., PreInterviewScreen, IndividualInterview)"
|
|
62968
|
+
},
|
|
62969
|
+
"orderInInterviewPlan": {
|
|
62970
|
+
"type": "number",
|
|
62971
|
+
"description": "Order in the interview plan"
|
|
62972
|
+
},
|
|
62973
|
+
"interviewPlanId": {
|
|
62974
|
+
"type": "string",
|
|
62975
|
+
"description": "Interview plan ID"
|
|
62976
|
+
}
|
|
62977
|
+
},
|
|
62978
|
+
"required": [
|
|
62979
|
+
"id",
|
|
62980
|
+
"title"
|
|
62981
|
+
],
|
|
62982
|
+
"additionalProperties": false,
|
|
62983
|
+
"description": "Interview stage"
|
|
62984
|
+
},
|
|
62985
|
+
"description": "List of interview stages"
|
|
62986
|
+
},
|
|
62987
|
+
"error": {
|
|
62988
|
+
"type": "string",
|
|
62989
|
+
"description": "Error message if operation failed"
|
|
62990
|
+
}
|
|
62991
|
+
},
|
|
62992
|
+
"required": [
|
|
62993
|
+
"operation",
|
|
62994
|
+
"success",
|
|
62995
|
+
"error"
|
|
62996
|
+
],
|
|
62997
|
+
"additionalProperties": false
|
|
62998
|
+
},
|
|
62999
|
+
{
|
|
63000
|
+
"type": "object",
|
|
63001
|
+
"properties": {
|
|
63002
|
+
"operation": {
|
|
63003
|
+
"type": "string",
|
|
63004
|
+
"enum": [
|
|
63005
|
+
"get_file_url"
|
|
63006
|
+
],
|
|
63007
|
+
"description": "Get file URL operation"
|
|
63008
|
+
},
|
|
63009
|
+
"success": {
|
|
63010
|
+
"type": "boolean",
|
|
63011
|
+
"description": "Whether the operation was successful"
|
|
63012
|
+
},
|
|
63013
|
+
"file": {
|
|
63014
|
+
"type": "object",
|
|
63015
|
+
"properties": {
|
|
63016
|
+
"id": {
|
|
63017
|
+
"type": "string",
|
|
63018
|
+
"description": "File ID"
|
|
63019
|
+
},
|
|
63020
|
+
"name": {
|
|
63021
|
+
"type": "string",
|
|
63022
|
+
"description": "File name"
|
|
63023
|
+
},
|
|
63024
|
+
"url": {
|
|
63025
|
+
"type": "string",
|
|
63026
|
+
"description": "Temporary download URL"
|
|
63027
|
+
}
|
|
63028
|
+
},
|
|
63029
|
+
"required": [
|
|
63030
|
+
"url"
|
|
63031
|
+
],
|
|
63032
|
+
"additionalProperties": false,
|
|
63033
|
+
"description": "File info with download URL"
|
|
63034
|
+
},
|
|
63035
|
+
"error": {
|
|
63036
|
+
"type": "string",
|
|
63037
|
+
"description": "Error message if operation failed"
|
|
63038
|
+
}
|
|
63039
|
+
},
|
|
63040
|
+
"required": [
|
|
63041
|
+
"operation",
|
|
63042
|
+
"success",
|
|
63043
|
+
"error"
|
|
63044
|
+
],
|
|
63045
|
+
"additionalProperties": false
|
|
60967
63046
|
}
|
|
60968
63047
|
]
|
|
60969
63048
|
},
|
|
60970
|
-
"usageExample": "// List Candidates example\nconst ashby_list_candidates = new AshbyBubble({\n operation: \"list_candidates\", // List all candidates with optional filtering\n limit: 100 // default, // Maximum number of candidates to return (1-100)\n cursor: \"example string\", // Pagination cursor for fetching subsequent pages\n status: \"Hired\" // options: \"Hired\", \"Archived\", \"Active\", \"Lead\", // Filter candidates by application status\n job_id: \"example string\", // Filter candidates by specific job ID\n created_after: 42, // Unix timestamp in milliseconds to filter candidates created after this time\n});\n\nconst result = await ashby_list_candidates.action();\n// outputSchema for result.data when operation === 'list_candidates':\n// {\n// operation: \"list_candidates\" // List candidates operation,\n// success: boolean // Whether the operation was successful,\n// candidates: { id: string // Unique candidate identifier (UUID), createdAt: string | undefined // ISO 8601 creation timestamp, updatedAt: string | undefined // ISO 8601 update timestamp, name: string // Full name of the candidate, primaryEmailAddress: { value: string // Email address value, type: \"Personal\" | \"Work\" | \"Other\" // Type of email, isPrimary: boolean // Whether this is the primary email } | undefined | null // Primary email address, emailAddresses: { value: string // Email address value, type: \"Personal\" | \"Work\" | \"Other\" // Type of email, isPrimary: boolean // Whether this is the primary email }[] | undefined // All email addresses, primaryPhoneNumber: { value: string // Phone number value, type: \"Personal\" | \"Work\" | \"Other\" // Type of phone, isPrimary: boolean // Whether this is the primary phone } | undefined | null // Primary phone number, phoneNumbers: { value: string // Phone number value, type: \"Personal\" | \"Work\" | \"Other\" // Type of phone, isPrimary: boolean // Whether this is the primary phone }[] | undefined // All phone numbers, socialLinks: { url: string // Social link URL, type: string // Type of social link (e.g., LinkedIn, GitHub) }[] | undefined // Social media links, tags: { id: string // Tag ID, title: string // Tag title, isArchived: boolean | undefined // Whether the tag is archived }[] | undefined // Tags assigned to candidate, position: string | undefined | null // Current position, company: string | undefined | null // Current company, school: string | undefined | null // School, applicationIds: string[] | undefined // IDs of applications for this candidate, resumeFileHandle: { id: string // File ID, name: string // File name, handle: string // File handle for download } | undefined | null // Resume file handle, fileHandles: { id: string // File ID, name: string // File name, handle: string // File handle for download }[] | undefined // All file handles, customFields: { id: string // Custom field ID, title: string // Custom field title, value: unknown // Custom field value, isPrivate: boolean | undefined // Whether the field is private }[] | undefined // Custom field values }[] | undefined // List of candidates,\n// next_cursor: string | undefined // Cursor for fetching the next page of results,\n// more_data_available: boolean | undefined // Whether more data is available,\n// sync_token: string | undefined // Token for incremental sync,\n// error: string // Error message if operation failed\n// }\n\n\n// Get Candidate example\nconst ashby_get_candidate = new AshbyBubble({\n operation: \"get_candidate\", // Get detailed information about a specific candidate\n candidate_id: \"example string\", // UUID of the candidate to retrieve\n});\n\nconst result = await ashby_get_candidate.action();\n// outputSchema for result.data when operation === 'get_candidate':\n// {\n// operation: \"get_candidate\" // Get candidate operation,\n// success: boolean // Whether the operation was successful,\n// candidate: { id: string // Unique candidate identifier (UUID), createdAt: string | undefined // ISO 8601 creation timestamp, updatedAt: string | undefined // ISO 8601 update timestamp, name: string // Full name of the candidate, primaryEmailAddress: { value: string // Email address value, type: \"Personal\" | \"Work\" | \"Other\" // Type of email, isPrimary: boolean // Whether this is the primary email } | undefined | null // Primary email address, primaryPhoneNumber: { value: string // Phone number value, type: \"Personal\" | \"Work\" | \"Other\" // Type of phone, isPrimary: boolean // Whether this is the primary phone } | undefined | null // Primary phone number, customFields: { id: string // Custom field ID, title: string // Custom field title, value: unknown // Custom field value, isPrivate: boolean | undefined // Whether the field is private }[] | undefined // Custom field values } | undefined // Candidate details,\n// error: string // Error message if operation failed\n// }\n\n\n// Create Candidate example\nconst ashby_create_candidate = new AshbyBubble({\n operation: \"create_candidate\", // Create a new candidate\n name: \"example string\", // Candidate's full name (first and last name)\n emails: [{ email: \"example string\" // Email address, type: \"Personal\" // options: \"Personal\", \"Work\", \"Other\" // Type of email (Personal, Work, or Other) }], // Candidate's email addresses with type. The Personal email becomes the primary email, others become alternates.\n phone_number: \"example string\", // Candidate's primary phone number\n linkedin_url: \"example string\", // URL to the candidate's LinkedIn profile\n github_url: \"example string\", // URL to the candidate's GitHub profile\n website: \"example string\", // URL of the candidate's website\n source_id: \"example string\", // The source ID to set on the candidate\n credited_to_user_id: \"example string\", // The ID of the user the candidate will be credited to\n tag: \"example string\", // Optional tag to add to the candidate. Can be a tag ID (UUID) or tag name. If a name is provided, the tag will be created first.\n allow_duplicate_linkedin: false // default, // Whether to allow creating a candidate with a LinkedIn URL that already exists. When false (default), the existing candidate is returned instead of creating a duplicate.\n});\n\nconst result = await ashby_create_candidate.action();\n// outputSchema for result.data when operation === 'create_candidate':\n// {\n// operation: \"create_candidate\" // Create candidate operation,\n// success: boolean // Whether the operation was successful,\n// candidate: { id: string // Unique candidate identifier (UUID), createdAt: string | undefined // ISO 8601 creation timestamp, updatedAt: string | undefined // ISO 8601 update timestamp, name: string // Full name of the candidate, primaryEmailAddress: { value: string // Email address value, type: \"Personal\" | \"Work\" | \"Other\" // Type of email, isPrimary: boolean // Whether this is the primary email } | undefined | null // Primary email address, primaryPhoneNumber: { value: string // Phone number value, type: \"Personal\" | \"Work\" | \"Other\" // Type of phone, isPrimary: boolean // Whether this is the primary phone } | undefined | null // Primary phone number, customFields: { id: string // Custom field ID, title: string // Custom field title, value: unknown // Custom field value, isPrivate: boolean | undefined // Whether the field is private }[] | undefined // Custom field values } | undefined // Created candidate details (or existing candidate if duplicate was found),\n// duplicate: boolean | undefined // True if a candidate with the same LinkedIn profile already existed and was returned instead of creating a new one,\n// error: string // Error message if operation failed\n// }\n\n\n// Search Candidates example\nconst ashby_search_candidates = new AshbyBubble({\n operation: \"search_candidates\", // Search for candidates by email or name\n email: \"example string\", // Search by candidate email address\n name: \"example string\", // Search by candidate name\n});\n\nconst result = await ashby_search_candidates.action();\n// outputSchema for result.data when operation === 'search_candidates':\n// {\n// operation: \"search_candidates\" // Search candidates operation,\n// success: boolean // Whether the operation was successful,\n// candidates: { id: string // Unique candidate identifier (UUID), createdAt: string | undefined // ISO 8601 creation timestamp, updatedAt: string | undefined // ISO 8601 update timestamp, name: string // Full name of the candidate, primaryEmailAddress: { value: string // Email address value, type: \"Personal\" | \"Work\" | \"Other\" // Type of email, isPrimary: boolean // Whether this is the primary email } | undefined | null // Primary email address, primaryPhoneNumber: { value: string // Phone number value, type: \"Personal\" | \"Work\" | \"Other\" // Type of phone, isPrimary: boolean // Whether this is the primary phone } | undefined | null // Primary phone number, customFields: { id: string // Custom field ID, title: string // Custom field title, value: unknown // Custom field value, isPrivate: boolean | undefined // Whether the field is private }[] | undefined // Custom field values }[] | undefined // List of matching candidates,\n// error: string // Error message if operation failed\n// }\n\n\n// Add Tag example\nconst ashby_add_tag = new AshbyBubble({\n operation: \"add_tag\", // Add a tag to a candidate\n candidate_id: \"example string\", // UUID of the candidate\n tag_id: \"example string\", // UUID of the tag to add\n});\n\nconst result = await ashby_add_tag.action();\n// outputSchema for result.data when operation === 'add_tag':\n// {\n// operation: \"add_tag\" // Add tag operation,\n// success: boolean // Whether the operation was successful,\n// candidate: { id: string // Unique candidate identifier (UUID), createdAt: string | undefined // ISO 8601 creation timestamp, updatedAt: string | undefined // ISO 8601 update timestamp, name: string // Full name of the candidate, primaryEmailAddress: { value: string // Email address value, type: \"Personal\" | \"Work\" | \"Other\" // Type of email, isPrimary: boolean // Whether this is the primary email } | undefined | null // Primary email address, primaryPhoneNumber: { value: string // Phone number value, type: \"Personal\" | \"Work\" | \"Other\" // Type of phone, isPrimary: boolean // Whether this is the primary phone } | undefined | null // Primary phone number, customFields: { id: string // Custom field ID, title: string // Custom field title, value: unknown // Custom field value, isPrivate: boolean | undefined // Whether the field is private }[] | undefined // Custom field values } | undefined // Updated candidate details,\n// error: string // Error message if operation failed\n// }\n\n\n// List Tags example\nconst ashby_list_tags = new AshbyBubble({\n operation: \"list_tags\", // List all candidate tags\n include_archived: false // default, // Whether to include archived tags\n});\n\nconst result = await ashby_list_tags.action();\n// outputSchema for result.data when operation === 'list_tags':\n// {\n// operation: \"list_tags\" // List tags operation,\n// success: boolean // Whether the operation was successful,\n// tags: { id: string // Tag ID, title: string // Tag title, isArchived: boolean | undefined // Whether the tag is archived }[] | undefined // List of candidate tags,\n// error: string // Error message if operation failed\n// }\n\n\n// Create Tag example\nconst ashby_create_tag = new AshbyBubble({\n operation: \"create_tag\", // Create a new candidate tag\n title: \"example string\", // Title of the tag to create\n});\n\nconst result = await ashby_create_tag.action();\n// outputSchema for result.data when operation === 'create_tag':\n// {\n// operation: \"create_tag\" // Create tag operation,\n// success: boolean // Whether the operation was successful,\n// tag: { id: string // Tag ID, title: string // Tag title, isArchived: boolean | undefined // Whether the tag is archived } | undefined // Created tag details,\n// error: string // Error message if operation failed\n// }\n\n\n// List Custom Fields example\nconst ashby_list_custom_fields = new AshbyBubble({\n operation: \"list_custom_fields\", // List all custom field definitions\n limit: 100 // default, // Maximum number of custom fields to return (1-100)\n cursor: \"example string\", // Pagination cursor for fetching subsequent pages\n sync_token: \"example string\", // Token for incremental synchronization\n});\n\nconst result = await ashby_list_custom_fields.action();\n// outputSchema for result.data when operation === 'list_custom_fields':\n// {\n// operation: \"list_custom_fields\" // List custom fields operation,\n// success: boolean // Whether the operation was successful,\n// custom_fields: { id: string // Custom field ID (UUID), isPrivate: boolean // Whether the field is private, title: string // Custom field title, objectType: string // Object type this field applies to (e.g., Application, Candidate), isArchived: boolean // Whether the field is archived, fieldType: string // Type of field (e.g., MultiValueSelect, String, Number), selectableValues: { label: string // Display label for the value, value: string // Value identifier, isArchived: boolean // Whether the value is archived }[] | undefined // Available values for select-type fields }[] | undefined // List of custom field definitions,\n// next_cursor: string | undefined // Cursor for fetching the next page of results,\n// more_data_available: boolean | undefined // Whether more data is available,\n// sync_token: string | undefined // Token for incremental sync,\n// error: string // Error message if operation failed\n// }\n\n\n// Always check success status before using data\nif (!result.success) {\n throw new Error(`ashby failed: ${result.error}`);\n}\n\n// Access the actual data\nconst actualData = result.data;\nconsole.log(actualData);",
|
|
63049
|
+
"usageExample": "// List Candidates example\nconst ashby_list_candidates = new AshbyBubble({\n operation: \"list_candidates\", // List all candidates with optional filtering\n limit: 100 // default, // Maximum number of candidates to return (1-100)\n cursor: \"example string\", // Pagination cursor for fetching subsequent pages\n status: \"Hired\" // options: \"Hired\", \"Archived\", \"Active\", \"Lead\", // Filter candidates by application status\n job_id: \"example string\", // Filter candidates by specific job ID\n created_after: 42, // Unix timestamp in milliseconds to filter candidates created after this time\n});\n\nconst result = await ashby_list_candidates.action();\n// outputSchema for result.data when operation === 'list_candidates':\n// {\n// operation: \"list_candidates\" // List candidates operation,\n// success: boolean // Whether the operation was successful,\n// candidates: { id: string // Unique candidate identifier (UUID), createdAt: string | undefined // ISO 8601 creation timestamp, updatedAt: string | undefined // ISO 8601 update timestamp, name: string // Full name of the candidate, primaryEmailAddress: { value: string // Email address value, type: \"Personal\" | \"Work\" | \"Other\" // Type of email, isPrimary: boolean // Whether this is the primary email } | undefined | null // Primary email address, emailAddresses: { value: string // Email address value, type: \"Personal\" | \"Work\" | \"Other\" // Type of email, isPrimary: boolean // Whether this is the primary email }[] | undefined // All email addresses, primaryPhoneNumber: { value: string // Phone number value, type: \"Personal\" | \"Work\" | \"Other\" // Type of phone, isPrimary: boolean // Whether this is the primary phone } | undefined | null // Primary phone number, phoneNumbers: { value: string // Phone number value, type: \"Personal\" | \"Work\" | \"Other\" // Type of phone, isPrimary: boolean // Whether this is the primary phone }[] | undefined // All phone numbers, socialLinks: { url: string // Social link URL, type: string // Type of social link (e.g., LinkedIn, GitHub) }[] | undefined // Social media links, tags: { id: string // Tag ID, title: string // Tag title, isArchived: boolean | undefined // Whether the tag is archived }[] | undefined // Tags assigned to candidate, position: string | undefined | null // Current position, company: string | undefined | null // Current company, school: string | undefined | null // School, applicationIds: string[] | undefined // IDs of applications for this candidate, resumeFileHandle: { id: string // File ID, name: string // File name, handle: string // File handle for download } | undefined | null // Resume file handle, fileHandles: { id: string // File ID, name: string // File name, handle: string // File handle for download }[] | undefined // All file handles, customFields: { id: string // Custom field ID, title: string // Custom field title, value: unknown // Custom field value, isPrivate: boolean | undefined // Whether the field is private }[] | undefined // Custom field values, profileUrl: string | undefined | null // URL to the candidate profile in Ashby, source: unknown | undefined | null // Candidate source, creditedToUser: unknown | undefined | null // User credited for the candidate }[] | undefined // List of candidates,\n// next_cursor: string | undefined // Cursor for fetching the next page of results,\n// more_data_available: boolean | undefined // Whether more data is available,\n// sync_token: string | undefined // Token for incremental sync,\n// error: string // Error message if operation failed\n// }\n\n\n// Get Candidate example\nconst ashby_get_candidate = new AshbyBubble({\n operation: \"get_candidate\", // Get detailed information about a specific candidate\n candidate_id: \"example string\", // UUID of the candidate to retrieve\n});\n\nconst result = await ashby_get_candidate.action();\n// outputSchema for result.data when operation === 'get_candidate':\n// {\n// operation: \"get_candidate\" // Get candidate operation,\n// success: boolean // Whether the operation was successful,\n// candidate: { id: string // Unique candidate identifier (UUID), createdAt: string | undefined // ISO 8601 creation timestamp, updatedAt: string | undefined // ISO 8601 update timestamp, name: string // Full name of the candidate, primaryEmailAddress: { value: string // Email address value, type: \"Personal\" | \"Work\" | \"Other\" // Type of email, isPrimary: boolean // Whether this is the primary email } | undefined | null // Primary email address, primaryPhoneNumber: { value: string // Phone number value, type: \"Personal\" | \"Work\" | \"Other\" // Type of phone, isPrimary: boolean // Whether this is the primary phone } | undefined | null // Primary phone number, customFields: { id: string // Custom field ID, title: string // Custom field title, value: unknown // Custom field value, isPrivate: boolean | undefined // Whether the field is private }[] | undefined // Custom field values } | undefined // Candidate details,\n// error: string // Error message if operation failed\n// }\n\n\n// Create Candidate example\nconst ashby_create_candidate = new AshbyBubble({\n operation: \"create_candidate\", // Create a new candidate\n name: \"example string\", // Candidate's full name (first and last name)\n emails: [{ email: \"example string\" // Email address, type: \"Personal\" // options: \"Personal\", \"Work\", \"Other\" // Type of email (Personal, Work, or Other) }], // Candidate's email addresses with type. The Personal email becomes the primary email, others become alternates.\n phone_number: \"example string\", // Candidate's primary phone number\n linkedin_url: \"example string\", // URL to the candidate's LinkedIn profile\n github_url: \"example string\", // URL to the candidate's GitHub profile\n website: \"example string\", // URL of the candidate's website\n source_id: \"example string\", // The source ID to set on the candidate\n credited_to_user_id: \"example string\", // The ID of the user the candidate will be credited to\n tag: \"example string\", // Optional tag to add to the candidate. Can be a tag ID (UUID) or tag name. If a name is provided, the tag will be created first.\n allow_duplicate_linkedin: false // default, // Whether to allow creating a candidate with a LinkedIn URL that already exists. When false (default), the existing candidate is returned instead of creating a duplicate.\n});\n\nconst result = await ashby_create_candidate.action();\n// outputSchema for result.data when operation === 'create_candidate':\n// {\n// operation: \"create_candidate\" // Create candidate operation,\n// success: boolean // Whether the operation was successful,\n// candidate: { id: string // Unique candidate identifier (UUID), createdAt: string | undefined // ISO 8601 creation timestamp, updatedAt: string | undefined // ISO 8601 update timestamp, name: string // Full name of the candidate, primaryEmailAddress: { value: string // Email address value, type: \"Personal\" | \"Work\" | \"Other\" // Type of email, isPrimary: boolean // Whether this is the primary email } | undefined | null // Primary email address, primaryPhoneNumber: { value: string // Phone number value, type: \"Personal\" | \"Work\" | \"Other\" // Type of phone, isPrimary: boolean // Whether this is the primary phone } | undefined | null // Primary phone number, customFields: { id: string // Custom field ID, title: string // Custom field title, value: unknown // Custom field value, isPrivate: boolean | undefined // Whether the field is private }[] | undefined // Custom field values } | undefined // Created candidate details (or existing candidate if duplicate was found),\n// duplicate: boolean | undefined // True if a candidate with the same LinkedIn profile already existed and was returned instead of creating a new one,\n// error: string // Error message if operation failed\n// }\n\n\n// Search Candidates example\nconst ashby_search_candidates = new AshbyBubble({\n operation: \"search_candidates\", // Search for candidates by email or name\n email: \"example string\", // Search by candidate email address\n name: \"example string\", // Search by candidate name\n});\n\nconst result = await ashby_search_candidates.action();\n// outputSchema for result.data when operation === 'search_candidates':\n// {\n// operation: \"search_candidates\" // Search candidates operation,\n// success: boolean // Whether the operation was successful,\n// candidates: { id: string // Unique candidate identifier (UUID), createdAt: string | undefined // ISO 8601 creation timestamp, updatedAt: string | undefined // ISO 8601 update timestamp, name: string // Full name of the candidate, primaryEmailAddress: { value: string // Email address value, type: \"Personal\" | \"Work\" | \"Other\" // Type of email, isPrimary: boolean // Whether this is the primary email } | undefined | null // Primary email address, primaryPhoneNumber: { value: string // Phone number value, type: \"Personal\" | \"Work\" | \"Other\" // Type of phone, isPrimary: boolean // Whether this is the primary phone } | undefined | null // Primary phone number, customFields: { id: string // Custom field ID, title: string // Custom field title, value: unknown // Custom field value, isPrivate: boolean | undefined // Whether the field is private }[] | undefined // Custom field values }[] | undefined // List of matching candidates,\n// error: string // Error message if operation failed\n// }\n\n\n// Add Tag example\nconst ashby_add_tag = new AshbyBubble({\n operation: \"add_tag\", // Add a tag to a candidate\n candidate_id: \"example string\", // UUID of the candidate\n tag_id: \"example string\", // UUID of the tag to add\n});\n\nconst result = await ashby_add_tag.action();\n// outputSchema for result.data when operation === 'add_tag':\n// {\n// operation: \"add_tag\" // Add tag operation,\n// success: boolean // Whether the operation was successful,\n// candidate: { id: string // Unique candidate identifier (UUID), createdAt: string | undefined // ISO 8601 creation timestamp, updatedAt: string | undefined // ISO 8601 update timestamp, name: string // Full name of the candidate, primaryEmailAddress: { value: string // Email address value, type: \"Personal\" | \"Work\" | \"Other\" // Type of email, isPrimary: boolean // Whether this is the primary email } | undefined | null // Primary email address, primaryPhoneNumber: { value: string // Phone number value, type: \"Personal\" | \"Work\" | \"Other\" // Type of phone, isPrimary: boolean // Whether this is the primary phone } | undefined | null // Primary phone number, customFields: { id: string // Custom field ID, title: string // Custom field title, value: unknown // Custom field value, isPrivate: boolean | undefined // Whether the field is private }[] | undefined // Custom field values } | undefined // Updated candidate details,\n// error: string // Error message if operation failed\n// }\n\n\n// List Tags example\nconst ashby_list_tags = new AshbyBubble({\n operation: \"list_tags\", // List all candidate tags\n include_archived: false // default, // Whether to include archived tags\n});\n\nconst result = await ashby_list_tags.action();\n// outputSchema for result.data when operation === 'list_tags':\n// {\n// operation: \"list_tags\" // List tags operation,\n// success: boolean // Whether the operation was successful,\n// tags: { id: string // Tag ID, title: string // Tag title, isArchived: boolean | undefined // Whether the tag is archived }[] | undefined // List of candidate tags,\n// error: string // Error message if operation failed\n// }\n\n\n// Create Tag example\nconst ashby_create_tag = new AshbyBubble({\n operation: \"create_tag\", // Create a new candidate tag\n title: \"example string\", // Title of the tag to create\n});\n\nconst result = await ashby_create_tag.action();\n// outputSchema for result.data when operation === 'create_tag':\n// {\n// operation: \"create_tag\" // Create tag operation,\n// success: boolean // Whether the operation was successful,\n// tag: { id: string // Tag ID, title: string // Tag title, isArchived: boolean | undefined // Whether the tag is archived } | undefined // Created tag details,\n// error: string // Error message if operation failed\n// }\n\n\n// List Custom Fields example\nconst ashby_list_custom_fields = new AshbyBubble({\n operation: \"list_custom_fields\", // List all custom field definitions\n limit: 100 // default, // Maximum number of custom fields to return (1-100)\n cursor: \"example string\", // Pagination cursor for fetching subsequent pages\n sync_token: \"example string\", // Token for incremental synchronization\n});\n\nconst result = await ashby_list_custom_fields.action();\n// outputSchema for result.data when operation === 'list_custom_fields':\n// {\n// operation: \"list_custom_fields\" // List custom fields operation,\n// success: boolean // Whether the operation was successful,\n// custom_fields: { id: string // Custom field ID (UUID), isPrivate: boolean // Whether the field is private, title: string // Custom field title, objectType: string // Object type this field applies to (e.g., Application, Candidate), isArchived: boolean // Whether the field is archived, fieldType: string // Type of field (e.g., MultiValueSelect, String, Number), selectableValues: { label: string // Display label for the value, value: string // Value identifier, isArchived: boolean // Whether the value is archived }[] | undefined // Available values for select-type fields }[] | undefined // List of custom field definitions,\n// next_cursor: string | undefined // Cursor for fetching the next page of results,\n// more_data_available: boolean | undefined // Whether more data is available,\n// sync_token: string | undefined // Token for incremental sync,\n// error: string // Error message if operation failed\n// }\n\n\n// List Jobs example\nconst ashby_list_jobs = new AshbyBubble({\n operation: \"list_jobs\", // List all jobs\n limit: 100 // default, // Maximum number of jobs to return (1-100)\n cursor: \"example string\", // Pagination cursor for fetching subsequent pages\n status: \"Open\" // options: \"Open\", \"Closed\", \"Draft\", \"Archived\", // Filter jobs by status\n});\n\nconst result = await ashby_list_jobs.action();\n// outputSchema for result.data when operation === 'list_jobs':\n// {\n// operation: \"list_jobs\" // List jobs operation,\n// success: boolean // Whether the operation was successful,\n// jobs: { id: string // Unique job identifier (UUID), title: string // Job title, status: string | undefined // Job status (e.g., Open, Closed, Draft, Archived), departmentId: string | undefined | null // Department ID, teamId: string | undefined | null // Team ID, locationId: string | undefined | null // Location ID, locationIds: string[] | undefined // Location IDs, customFields: { id: string // Custom field ID, title: string // Custom field title, value: unknown // Custom field value, isPrivate: boolean | undefined // Whether the field is private }[] | undefined // Custom field values, openedAt: string | undefined | null // ISO 8601 opened timestamp, closedAt: string | undefined | null // ISO 8601 closed timestamp, createdAt: string | undefined // ISO 8601 creation timestamp, updatedAt: string | undefined // ISO 8601 update timestamp }[] | undefined // List of jobs,\n// next_cursor: string | undefined // Cursor for next page,\n// more_data_available: boolean | undefined // Whether more data is available,\n// error: string // Error message if operation failed\n// }\n\n\n// Get Job example\nconst ashby_get_job = new AshbyBubble({\n operation: \"get_job\", // Get detailed information about a specific job\n job_id: \"example string\", // UUID of the job to retrieve\n});\n\nconst result = await ashby_get_job.action();\n// outputSchema for result.data when operation === 'get_job':\n// {\n// operation: \"get_job\" // Get job operation,\n// success: boolean // Whether the operation was successful,\n// job: { id: string // Unique job identifier (UUID), title: string // Job title, status: string | undefined // Job status (e.g., Open, Closed, Draft, Archived), departmentId: string | undefined | null // Department ID, teamId: string | undefined | null // Team ID, locationId: string | undefined | null // Location ID, locationIds: string[] | undefined // Location IDs, customFields: { id: string // Custom field ID, title: string // Custom field title, value: unknown // Custom field value, isPrivate: boolean | undefined // Whether the field is private }[] | undefined // Custom field values, openedAt: string | undefined | null // ISO 8601 opened timestamp, closedAt: string | undefined | null // ISO 8601 closed timestamp, createdAt: string | undefined // ISO 8601 creation timestamp, updatedAt: string | undefined // ISO 8601 update timestamp } | undefined // Job details,\n// interview_stages: { id: string // Interview stage ID (UUID), title: string // Stage title, type: string | undefined // Stage type (e.g., PreInterviewScreen, IndividualInterview), orderInInterviewPlan: number | undefined // Order in the interview plan, interviewPlanId: string | undefined // Interview plan ID }[] | undefined // Interview stages for this job,\n// error: string // Error message if operation failed\n// }\n\n\n// List Applications example\nconst ashby_list_applications = new AshbyBubble({\n operation: \"list_applications\", // List applications with optional filtering\n candidate_id: \"example string\", // Filter by candidate ID\n job_id: \"example string\", // Filter by job ID\n status: \"Active\" // options: \"Active\", \"Hired\", \"Archived\", \"Lead\", // Filter by application status\n limit: 100 // default, // Maximum number of applications to return (1-100)\n cursor: \"example string\", // Pagination cursor for fetching subsequent pages\n created_after: 42, // Unix timestamp in milliseconds — only return applications created after this time\n});\n\nconst result = await ashby_list_applications.action();\n// outputSchema for result.data when operation === 'list_applications':\n// {\n// operation: \"list_applications\" // List applications operation,\n// success: boolean // Whether the operation was successful,\n// applications: { id: string // Unique application identifier (UUID), createdAt: string | undefined // ISO 8601 creation timestamp, updatedAt: string | undefined // ISO 8601 update timestamp, status: string | undefined // Application status (Active, Hired, Archived, Lead), candidateId: string | undefined | null // Candidate ID, jobId: string | undefined | null // Job ID, currentInterviewStage: { id: string // Interview stage ID (UUID), title: string // Stage title, type: string | undefined // Stage type (e.g., PreInterviewScreen, IndividualInterview), orderInInterviewPlan: number | undefined // Order in the interview plan, interviewPlanId: string | undefined // Interview plan ID } | undefined | null // Current interview stage, source: unknown | undefined | null // Application source, archiveReason: unknown | undefined | null // Archive reason if archived, customFields: { id: string // Custom field ID, title: string // Custom field title, value: unknown // Custom field value, isPrivate: boolean | undefined // Whether the field is private }[] | undefined // Custom field values, hiringTeam: { userId: string // Team member user ID, role: string // Role in hiring team, email: string | undefined // Team member email, firstName: string | undefined // First name, lastName: string | undefined // Last name }[] | undefined // Hiring team members }[] | undefined // List of applications,\n// next_cursor: string | undefined // Cursor for next page,\n// more_data_available: boolean | undefined // Whether more data is available,\n// error: string // Error message if operation failed\n// }\n\n\n// Get Application example\nconst ashby_get_application = new AshbyBubble({\n operation: \"get_application\", // Get detailed information about a specific application\n application_id: \"example string\", // UUID of the application to retrieve\n});\n\nconst result = await ashby_get_application.action();\n// outputSchema for result.data when operation === 'get_application':\n// {\n// operation: \"get_application\" // Get application operation,\n// success: boolean // Whether the operation was successful,\n// application: { id: string // Unique application identifier (UUID), createdAt: string | undefined // ISO 8601 creation timestamp, updatedAt: string | undefined // ISO 8601 update timestamp, status: string | undefined // Application status (Active, Hired, Archived, Lead), candidateId: string | undefined | null // Candidate ID, jobId: string | undefined | null // Job ID, currentInterviewStage: { id: string // Interview stage ID (UUID), title: string // Stage title, type: string | undefined // Stage type (e.g., PreInterviewScreen, IndividualInterview), orderInInterviewPlan: number | undefined // Order in the interview plan, interviewPlanId: string | undefined // Interview plan ID } | undefined | null // Current interview stage, source: unknown | undefined | null // Application source, archiveReason: unknown | undefined | null // Archive reason if archived, customFields: { id: string // Custom field ID, title: string // Custom field title, value: unknown // Custom field value, isPrivate: boolean | undefined // Whether the field is private }[] | undefined // Custom field values, hiringTeam: { userId: string // Team member user ID, role: string // Role in hiring team, email: string | undefined // Team member email, firstName: string | undefined // First name, lastName: string | undefined // Last name }[] | undefined // Hiring team members } | undefined // Application details,\n// candidate: { id: string // Unique candidate identifier (UUID), createdAt: string | undefined // ISO 8601 creation timestamp, updatedAt: string | undefined // ISO 8601 update timestamp, name: string // Full name of the candidate, primaryEmailAddress: { value: string // Email address value, type: \"Personal\" | \"Work\" | \"Other\" // Type of email, isPrimary: boolean // Whether this is the primary email } | undefined | null // Primary email address, primaryPhoneNumber: { value: string // Phone number value, type: \"Personal\" | \"Work\" | \"Other\" // Type of phone, isPrimary: boolean // Whether this is the primary phone } | undefined | null // Primary phone number, customFields: { id: string // Custom field ID, title: string // Custom field title, value: unknown // Custom field value, isPrivate: boolean | undefined // Whether the field is private }[] | undefined // Custom field values } | undefined // Associated candidate,\n// job: { id: string // Unique job identifier (UUID), title: string // Job title, status: string | undefined // Job status (e.g., Open, Closed, Draft, Archived), departmentId: string | undefined | null // Department ID, teamId: string | undefined | null // Team ID, locationId: string | undefined | null // Location ID, locationIds: string[] | undefined // Location IDs, customFields: { id: string // Custom field ID, title: string // Custom field title, value: unknown // Custom field value, isPrivate: boolean | undefined // Whether the field is private }[] | undefined // Custom field values, openedAt: string | undefined | null // ISO 8601 opened timestamp, closedAt: string | undefined | null // ISO 8601 closed timestamp, createdAt: string | undefined // ISO 8601 creation timestamp, updatedAt: string | undefined // ISO 8601 update timestamp } | undefined // Associated job,\n// error: string // Error message if operation failed\n// }\n\n\n// Create Application example\nconst ashby_create_application = new AshbyBubble({\n operation: \"create_application\", // Submit a candidate to a job by creating an application\n candidate_id: \"example string\", // UUID of the candidate\n job_id: \"example string\", // UUID of the job to apply to\n interview_stage_id: \"example string\", // Optional interview stage ID to start at\n source_id: \"example string\", // Optional source ID to attribute the application to\n});\n\nconst result = await ashby_create_application.action();\n// outputSchema for result.data when operation === 'create_application':\n// {\n// operation: \"create_application\" // Create application operation,\n// success: boolean // Whether the operation was successful,\n// application: { id: string // Unique application identifier (UUID), createdAt: string | undefined // ISO 8601 creation timestamp, updatedAt: string | undefined // ISO 8601 update timestamp, status: string | undefined // Application status (Active, Hired, Archived, Lead), candidateId: string | undefined | null // Candidate ID, jobId: string | undefined | null // Job ID, currentInterviewStage: { id: string // Interview stage ID (UUID), title: string // Stage title, type: string | undefined // Stage type (e.g., PreInterviewScreen, IndividualInterview), orderInInterviewPlan: number | undefined // Order in the interview plan, interviewPlanId: string | undefined // Interview plan ID } | undefined | null // Current interview stage, source: unknown | undefined | null // Application source, archiveReason: unknown | undefined | null // Archive reason if archived, customFields: { id: string // Custom field ID, title: string // Custom field title, value: unknown // Custom field value, isPrivate: boolean | undefined // Whether the field is private }[] | undefined // Custom field values, hiringTeam: { userId: string // Team member user ID, role: string // Role in hiring team, email: string | undefined // Team member email, firstName: string | undefined // First name, lastName: string | undefined // Last name }[] | undefined // Hiring team members } | undefined // Created application,\n// error: string // Error message if operation failed\n// }\n\n\n// Change Application Stage example\nconst ashby_change_application_stage = new AshbyBubble({\n operation: \"change_application_stage\", // Move an application to a different interview stage\n application_id: \"example string\", // UUID of the application\n interview_stage_id: \"example string\", // UUID of the interview stage to move to\n});\n\nconst result = await ashby_change_application_stage.action();\n// outputSchema for result.data when operation === 'change_application_stage':\n// {\n// operation: \"change_application_stage\" // Change application stage operation,\n// success: boolean // Whether the operation was successful,\n// application: { id: string // Unique application identifier (UUID), createdAt: string | undefined // ISO 8601 creation timestamp, updatedAt: string | undefined // ISO 8601 update timestamp, status: string | undefined // Application status (Active, Hired, Archived, Lead), candidateId: string | undefined | null // Candidate ID, jobId: string | undefined | null // Job ID, currentInterviewStage: { id: string // Interview stage ID (UUID), title: string // Stage title, type: string | undefined // Stage type (e.g., PreInterviewScreen, IndividualInterview), orderInInterviewPlan: number | undefined // Order in the interview plan, interviewPlanId: string | undefined // Interview plan ID } | undefined | null // Current interview stage, source: unknown | undefined | null // Application source, archiveReason: unknown | undefined | null // Archive reason if archived, customFields: { id: string // Custom field ID, title: string // Custom field title, value: unknown // Custom field value, isPrivate: boolean | undefined // Whether the field is private }[] | undefined // Custom field values, hiringTeam: { userId: string // Team member user ID, role: string // Role in hiring team, email: string | undefined // Team member email, firstName: string | undefined // First name, lastName: string | undefined // Last name }[] | undefined // Hiring team members } | undefined // Updated application,\n// error: string // Error message if operation failed\n// }\n\n\n// Update Candidate example\nconst ashby_update_candidate = new AshbyBubble({\n operation: \"update_candidate\", // Update an existing candidate\n candidate_id: \"example string\", // UUID of the candidate to update\n name: \"example string\", // Updated candidate name\n email: \"example string\", // Updated primary email\n phone_number: \"example string\", // Updated phone number\n linkedin_url: \"example string\", // Updated LinkedIn profile URL\n github_url: \"example string\", // Updated GitHub profile URL\n website: \"example string\", // Updated website URL\n});\n\nconst result = await ashby_update_candidate.action();\n// outputSchema for result.data when operation === 'update_candidate':\n// {\n// operation: \"update_candidate\" // Update candidate operation,\n// success: boolean // Whether the operation was successful,\n// candidate: { id: string // Unique candidate identifier (UUID), createdAt: string | undefined // ISO 8601 creation timestamp, updatedAt: string | undefined // ISO 8601 update timestamp, name: string // Full name of the candidate, primaryEmailAddress: { value: string // Email address value, type: \"Personal\" | \"Work\" | \"Other\" // Type of email, isPrimary: boolean // Whether this is the primary email } | undefined | null // Primary email address, primaryPhoneNumber: { value: string // Phone number value, type: \"Personal\" | \"Work\" | \"Other\" // Type of phone, isPrimary: boolean // Whether this is the primary phone } | undefined | null // Primary phone number, customFields: { id: string // Custom field ID, title: string // Custom field title, value: unknown // Custom field value, isPrivate: boolean | undefined // Whether the field is private }[] | undefined // Custom field values } | undefined // Updated candidate,\n// error: string // Error message if operation failed\n// }\n\n\n// Create Note example\nconst ashby_create_note = new AshbyBubble({\n operation: \"create_note\", // Add a note to a candidate\n candidate_id: \"example string\", // UUID of the candidate\n content: \"example string\", // Note content (plain text or HTML)\n});\n\nconst result = await ashby_create_note.action();\n// outputSchema for result.data when operation === 'create_note':\n// {\n// operation: \"create_note\" // Create note operation,\n// success: boolean // Whether the operation was successful,\n// note: { id: string // Note ID (UUID), createdAt: string | undefined // ISO 8601 creation timestamp, content: string // Note content (HTML), author: { id: string // Author user ID, firstName: string | undefined // Author first name, lastName: string | undefined // Author last name, email: string | undefined // Author email } | undefined | null // Note author } | undefined // Created note,\n// error: string // Error message if operation failed\n// }\n\n\n// List Notes example\nconst ashby_list_notes = new AshbyBubble({\n operation: \"list_notes\", // List notes for a candidate\n candidate_id: \"example string\", // UUID of the candidate\n});\n\nconst result = await ashby_list_notes.action();\n// outputSchema for result.data when operation === 'list_notes':\n// {\n// operation: \"list_notes\" // List notes operation,\n// success: boolean // Whether the operation was successful,\n// notes: { id: string // Note ID (UUID), createdAt: string | undefined // ISO 8601 creation timestamp, content: string // Note content (HTML), author: { id: string // Author user ID, firstName: string | undefined // Author first name, lastName: string | undefined // Author last name, email: string | undefined // Author email } | undefined | null // Note author }[] | undefined // List of notes,\n// error: string // Error message if operation failed\n// }\n\n\n// List Sources example\nconst ashby_list_sources = new AshbyBubble({\n operation: \"list_sources\", // List all candidate sources\n});\n\nconst result = await ashby_list_sources.action();\n// outputSchema for result.data when operation === 'list_sources':\n// {\n// operation: \"list_sources\" // List sources operation,\n// success: boolean // Whether the operation was successful,\n// sources: { id: string // Source ID (UUID), title: string // Source title, isArchived: boolean | undefined // Whether the source is archived }[] | undefined // List of sources,\n// error: string // Error message if operation failed\n// }\n\n\n// List Interview Stages example\nconst ashby_list_interview_stages = new AshbyBubble({\n operation: \"list_interview_stages\", // List interview stages for a job\n job_id: \"example string\", // UUID of the job to get interview stages for\n});\n\nconst result = await ashby_list_interview_stages.action();\n// outputSchema for result.data when operation === 'list_interview_stages':\n// {\n// operation: \"list_interview_stages\" // List interview stages operation,\n// success: boolean // Whether the operation was successful,\n// interview_stages: { id: string // Interview stage ID (UUID), title: string // Stage title, type: string | undefined // Stage type (e.g., PreInterviewScreen, IndividualInterview), orderInInterviewPlan: number | undefined // Order in the interview plan, interviewPlanId: string | undefined // Interview plan ID }[] | undefined // List of interview stages,\n// error: string // Error message if operation failed\n// }\n\n\n// Get File Url example\nconst ashby_get_file_url = new AshbyBubble({\n operation: \"get_file_url\", // Get a download URL for a file (e.g., resume)\n file_handle: \"example string\", // File handle from a candidate record (e.g., resumeFileHandle.handle)\n});\n\nconst result = await ashby_get_file_url.action();\n// outputSchema for result.data when operation === 'get_file_url':\n// {\n// operation: \"get_file_url\" // Get file URL operation,\n// success: boolean // Whether the operation was successful,\n// file: { id: string | undefined // File ID, name: string | undefined // File name, url: string // Temporary download URL } | undefined // File info with download URL,\n// error: string // Error message if operation failed\n// }\n\n\n// Always check success status before using data\nif (!result.success) {\n throw new Error(`ashby failed: ${result.error}`);\n}\n\n// Access the actual data\nconst actualData = result.data;\nconsole.log(actualData);",
|
|
60971
63050
|
"requiredCredentials": [
|
|
60972
63051
|
"ASHBY_CRED"
|
|
60973
63052
|
]
|