-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathcopilot.commit.dev.yaml
200 lines (199 loc) · 6.16 KB
/
copilot.commit.dev.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
openapi: 3.0.1
info:
title: Career Copilot
description: A trusted, always on assistant to help software developers find a better job. Built by Commit.dev.
version: 'v1'
servers:
- url: http://localhost:3000
description: Local server
- url: https://copilot.commit-staging.dev
description: Stage server
- url: https://copilot.commit.dev
description: Production server
- url: https://app-staging.wolfie.ai
description: Stage server - alias
- url: https://app.wolfie.ai
description: Production server - alias
paths:
/api/chatgpt/jobs:
get:
operationId: getJobs
summary: Get the list of jobs
description: Get the list of jobs
parameters:
- name: userId
in: query
description: the ID of the current user
required: false
schema:
type: string
- name: linkedinUrl
in: query
description: The linkedin url of the user, which will be used to build the user's profile for more accurate search. If this is provided, the other fields are not needed
required: false
schema:
type: string
- name: location
in: query
description: The location of the user, which will be used to find jobs
required: false
schema:
type: string
- name: title
in: query
description: The title of the job
required: false
schema:
type: string
- name: seniority
in: query
description: The seniority of the job
required: false
schema:
type: string
enum: [JUNIOR, INTERMEDIATE, SENIOR, STAFF, PRINCIPAL]
- name: skills
in: query
description: The skills for the job query
required: false
schema:
type: array
items:
type: string
- name: salaryMin
in: query
description: The minimum salary of the job
required: false
schema:
type: number
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/getJobsResponse'
/api/chatgpt/subscribe:
post:
operationId: subscribeJobs
summary: Subscribe user's email to get daily job lists
description: Subscribe user's email to get daily job lists
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- userId
- email
properties:
email:
description: The email of the user, which will be used to send daily job lists
type: string
userId:
description: the ID of the current user
type: string
linkedinUrl:
description: The linkedin url of the user, which will be used to build the user's profile for more accurate search. If this is provided, the other fields are not needed
type: string
location:
description: The location of the user, which will be used to find jobs
type: string
title:
description: The title of the job
type: string
seniority:
description: The seniority of the job
type: string
enum: [JUNIOR, INTERMEDIATE, SENIOR, STAFF, PRINCIPAL]
skills:
description: The skills for the job query
type: array
items:
type: string
salaryMin:
description: The minimum salary of the job
type: number
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/subscribeJobsResponse'
components:
schemas:
getJobsResponse:
type: object
properties:
userId:
description: the ID of the current user
type: string
jobs:
description: The list of jobs, if empty, bot should ask for more information from the user
type: array
items:
type: object
properties:
id:
type: string
company:
type: object
properties:
id:
type: string
name:
type: string
websiteUrl:
type: string
description:
type: string
jobTitle:
type: string
listingUrl:
type: string
location:
type: string
place:
type: object
properties:
city:
type: string
state:
type: string
country:
type: string
maxSalary:
type: number
minSalary:
type: number
postedOnDate:
type: Date
requiredSeniority:
type: string
salaryCurrency:
type: string
skills:
type: object
properties:
slut:
type: string
displayName:
type: string
missingData:
description: The list of missing data, if empty, bot should ask for more information from the user
type: array
items:
type: string
metadata:
type: object
properties:
nextBotInstruction:
description: the instruction for the next action that the bot should take
type: string
subscribeJobsResponse:
type: object
properties:
message:
type: string