@snokam/mcp-api 0.25.0 → 0.25.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -77,6 +77,16 @@
|
|
|
77
77
|
"summary": "Create a fresh admin-initiated candidate",
|
|
78
78
|
"description": "Creates a candidate document directly (not via the public application flow). Caller supplies name + status + track.",
|
|
79
79
|
"operationId": "CreateCandidate",
|
|
80
|
+
"parameters": [
|
|
81
|
+
{
|
|
82
|
+
"name": "notify",
|
|
83
|
+
"in": "query",
|
|
84
|
+
"schema": {
|
|
85
|
+
"type": "boolean"
|
|
86
|
+
},
|
|
87
|
+
"x-ms-summary": "If false, suppress the welcome email/SMS even when the candidate has contact info. Defaults to true."
|
|
88
|
+
}
|
|
89
|
+
],
|
|
80
90
|
"requestBody": {
|
|
81
91
|
"description": "Initial candidate fields",
|
|
82
92
|
"content": {
|
|
@@ -189,6 +199,14 @@
|
|
|
189
199
|
"type": "string"
|
|
190
200
|
},
|
|
191
201
|
"x-ms-summary": "Candidate Sanity id"
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
"name": "notify",
|
|
205
|
+
"in": "query",
|
|
206
|
+
"schema": {
|
|
207
|
+
"type": "boolean"
|
|
208
|
+
},
|
|
209
|
+
"x-ms-summary": "If true and the patch changes status, send the candidate the email/SMS for the new status"
|
|
192
210
|
}
|
|
193
211
|
],
|
|
194
212
|
"requestBody": {
|
|
@@ -243,6 +261,131 @@
|
|
|
243
261
|
]
|
|
244
262
|
}
|
|
245
263
|
},
|
|
264
|
+
"/v1.0/protected/candidates/{id}/notification-preview": {
|
|
265
|
+
"get": {
|
|
266
|
+
"tags": [
|
|
267
|
+
"Candidates"
|
|
268
|
+
],
|
|
269
|
+
"summary": "Preview the email/SMS that would be sent for a candidate event",
|
|
270
|
+
"description": "Renders the email + SMS templates for the given event using the candidate's current data. Use to populate the confirm modal before a status change.",
|
|
271
|
+
"operationId": "GetCandidateNotificationPreview",
|
|
272
|
+
"parameters": [
|
|
273
|
+
{
|
|
274
|
+
"name": "id",
|
|
275
|
+
"in": "path",
|
|
276
|
+
"required": true,
|
|
277
|
+
"schema": {
|
|
278
|
+
"type": "string"
|
|
279
|
+
},
|
|
280
|
+
"x-ms-summary": "Candidate Sanity id"
|
|
281
|
+
},
|
|
282
|
+
{
|
|
283
|
+
"name": "event",
|
|
284
|
+
"in": "query",
|
|
285
|
+
"required": true,
|
|
286
|
+
"schema": {
|
|
287
|
+
"type": "string"
|
|
288
|
+
},
|
|
289
|
+
"x-ms-summary": "Event name: Created, Introduction, Offer, Signed, Onboarding, UserCreationReview, Offboarding"
|
|
290
|
+
}
|
|
291
|
+
],
|
|
292
|
+
"responses": {
|
|
293
|
+
"200": {
|
|
294
|
+
"description": "Payload of CandidateNotificationPreview",
|
|
295
|
+
"content": {
|
|
296
|
+
"application/json": {
|
|
297
|
+
"schema": {
|
|
298
|
+
"$ref": "#/components/schemas/candidateNotificationPreview"
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
},
|
|
302
|
+
"x-ms-summary": "Success"
|
|
303
|
+
},
|
|
304
|
+
"400": {
|
|
305
|
+
"description": "Payload of Object",
|
|
306
|
+
"content": {
|
|
307
|
+
"application/json": {
|
|
308
|
+
"schema": {
|
|
309
|
+
"type": "object"
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
},
|
|
313
|
+
"x-ms-summary": "Bad Request"
|
|
314
|
+
},
|
|
315
|
+
"401": {
|
|
316
|
+
"description": "No description",
|
|
317
|
+
"x-ms-summary": "Unauthorized"
|
|
318
|
+
},
|
|
319
|
+
"404": {
|
|
320
|
+
"description": "No description",
|
|
321
|
+
"x-ms-summary": "Not Found"
|
|
322
|
+
}
|
|
323
|
+
},
|
|
324
|
+
"security": [
|
|
325
|
+
{
|
|
326
|
+
"Implicit": [
|
|
327
|
+
"api://b9f9de6f-132f-4a9a-a583-e9054a46f2fa/.default"
|
|
328
|
+
]
|
|
329
|
+
}
|
|
330
|
+
]
|
|
331
|
+
}
|
|
332
|
+
},
|
|
333
|
+
"/v1.0/protected/candidates/notification-preview": {
|
|
334
|
+
"post": {
|
|
335
|
+
"tags": [
|
|
336
|
+
"Candidates"
|
|
337
|
+
],
|
|
338
|
+
"summary": "Preview a candidate notification before the candidate is created",
|
|
339
|
+
"description": "Used by the create form to render the email/SMS that will be sent on submit, given the in-progress candidate fields. No recruiter resolution — uses the team-fallback signoff.",
|
|
340
|
+
"operationId": "PreviewCandidateNotification",
|
|
341
|
+
"requestBody": {
|
|
342
|
+
"description": "Event + candidate-shaped fields",
|
|
343
|
+
"content": {
|
|
344
|
+
"application/json": {
|
|
345
|
+
"schema": {
|
|
346
|
+
"$ref": "#/components/schemas/candidateNotificationPreviewRequest"
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
},
|
|
350
|
+
"required": true
|
|
351
|
+
},
|
|
352
|
+
"responses": {
|
|
353
|
+
"200": {
|
|
354
|
+
"description": "Payload of CandidateNotificationPreview",
|
|
355
|
+
"content": {
|
|
356
|
+
"application/json": {
|
|
357
|
+
"schema": {
|
|
358
|
+
"$ref": "#/components/schemas/candidateNotificationPreview"
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
},
|
|
362
|
+
"x-ms-summary": "Success"
|
|
363
|
+
},
|
|
364
|
+
"400": {
|
|
365
|
+
"description": "Payload of Object",
|
|
366
|
+
"content": {
|
|
367
|
+
"application/json": {
|
|
368
|
+
"schema": {
|
|
369
|
+
"type": "object"
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
},
|
|
373
|
+
"x-ms-summary": "Bad Request"
|
|
374
|
+
},
|
|
375
|
+
"401": {
|
|
376
|
+
"description": "No description",
|
|
377
|
+
"x-ms-summary": "Unauthorized"
|
|
378
|
+
}
|
|
379
|
+
},
|
|
380
|
+
"security": [
|
|
381
|
+
{
|
|
382
|
+
"Implicit": [
|
|
383
|
+
"api://b9f9de6f-132f-4a9a-a583-e9054a46f2fa/.default"
|
|
384
|
+
]
|
|
385
|
+
}
|
|
386
|
+
]
|
|
387
|
+
}
|
|
388
|
+
},
|
|
246
389
|
"/v1.0/protected/candidates/{id}/promote": {
|
|
247
390
|
"post": {
|
|
248
391
|
"tags": [
|
|
@@ -1188,6 +1331,69 @@
|
|
|
1188
1331
|
},
|
|
1189
1332
|
"components": {
|
|
1190
1333
|
"schemas": {
|
|
1334
|
+
"candidateNotificationPreview": {
|
|
1335
|
+
"type": "object",
|
|
1336
|
+
"properties": {
|
|
1337
|
+
"subject": {
|
|
1338
|
+
"type": "string"
|
|
1339
|
+
},
|
|
1340
|
+
"plainText": {
|
|
1341
|
+
"type": "string"
|
|
1342
|
+
},
|
|
1343
|
+
"htmlBody": {
|
|
1344
|
+
"type": "string"
|
|
1345
|
+
},
|
|
1346
|
+
"smsBody": {
|
|
1347
|
+
"type": "string"
|
|
1348
|
+
},
|
|
1349
|
+
"willSendEmail": {
|
|
1350
|
+
"type": "boolean"
|
|
1351
|
+
},
|
|
1352
|
+
"willSendSms": {
|
|
1353
|
+
"type": "boolean"
|
|
1354
|
+
},
|
|
1355
|
+
"recipientEmail": {
|
|
1356
|
+
"type": "string"
|
|
1357
|
+
},
|
|
1358
|
+
"recipientPhone": {
|
|
1359
|
+
"type": "string"
|
|
1360
|
+
}
|
|
1361
|
+
}
|
|
1362
|
+
},
|
|
1363
|
+
"candidateNotificationPreviewRequest": {
|
|
1364
|
+
"type": "object",
|
|
1365
|
+
"properties": {
|
|
1366
|
+
"ev": {
|
|
1367
|
+
"enum": [
|
|
1368
|
+
0,
|
|
1369
|
+
1,
|
|
1370
|
+
2,
|
|
1371
|
+
3,
|
|
1372
|
+
4,
|
|
1373
|
+
5,
|
|
1374
|
+
6
|
|
1375
|
+
],
|
|
1376
|
+
"type": "integer",
|
|
1377
|
+
"format": "int32",
|
|
1378
|
+
"default": 0
|
|
1379
|
+
},
|
|
1380
|
+
"name": {
|
|
1381
|
+
"type": "string"
|
|
1382
|
+
},
|
|
1383
|
+
"email": {
|
|
1384
|
+
"type": "string"
|
|
1385
|
+
},
|
|
1386
|
+
"telephone": {
|
|
1387
|
+
"type": "string"
|
|
1388
|
+
},
|
|
1389
|
+
"recruiterName": {
|
|
1390
|
+
"type": "string"
|
|
1391
|
+
},
|
|
1392
|
+
"recruiterEmail": {
|
|
1393
|
+
"type": "string"
|
|
1394
|
+
}
|
|
1395
|
+
}
|
|
1396
|
+
},
|
|
1191
1397
|
"chainAutomatedSystem": {
|
|
1192
1398
|
"type": "object",
|
|
1193
1399
|
"properties": {
|
|
@@ -1269,6 +1475,15 @@
|
|
|
1269
1475
|
"candidate": {
|
|
1270
1476
|
"type": "string"
|
|
1271
1477
|
},
|
|
1478
|
+
"email": {
|
|
1479
|
+
"type": "string"
|
|
1480
|
+
},
|
|
1481
|
+
"recruiter": {
|
|
1482
|
+
"type": "string"
|
|
1483
|
+
},
|
|
1484
|
+
"telephone": {
|
|
1485
|
+
"type": "string"
|
|
1486
|
+
},
|
|
1272
1487
|
"additionalProperties": {
|
|
1273
1488
|
"type": "object",
|
|
1274
1489
|
"additionalProperties": {
|
|
@@ -31392,6 +31392,16 @@
|
|
|
31392
31392
|
},
|
|
31393
31393
|
"track": {
|
|
31394
31394
|
"$ref": "#/components/schemas/CreateCandidateTrack"
|
|
31395
|
+
},
|
|
31396
|
+
"email": {
|
|
31397
|
+
"type": "string"
|
|
31398
|
+
},
|
|
31399
|
+
"telephone": {
|
|
31400
|
+
"type": "string"
|
|
31401
|
+
},
|
|
31402
|
+
"recruiter": {
|
|
31403
|
+
"type": "string",
|
|
31404
|
+
"description": "Sanity id of the employee to set as recruiter on the new candidate."
|
|
31395
31405
|
}
|
|
31396
31406
|
},
|
|
31397
31407
|
"required": [
|
|
@@ -77,6 +77,16 @@
|
|
|
77
77
|
"summary": "Create a fresh admin-initiated candidate",
|
|
78
78
|
"description": "Creates a candidate document directly (not via the public application flow). Caller supplies name + status + track.",
|
|
79
79
|
"operationId": "CreateCandidate",
|
|
80
|
+
"parameters": [
|
|
81
|
+
{
|
|
82
|
+
"name": "notify",
|
|
83
|
+
"in": "query",
|
|
84
|
+
"schema": {
|
|
85
|
+
"type": "boolean"
|
|
86
|
+
},
|
|
87
|
+
"x-ms-summary": "If false, suppress the welcome email/SMS even when the candidate has contact info. Defaults to true."
|
|
88
|
+
}
|
|
89
|
+
],
|
|
80
90
|
"requestBody": {
|
|
81
91
|
"description": "Initial candidate fields",
|
|
82
92
|
"content": {
|
|
@@ -189,6 +199,14 @@
|
|
|
189
199
|
"type": "string"
|
|
190
200
|
},
|
|
191
201
|
"x-ms-summary": "Candidate Sanity id"
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
"name": "notify",
|
|
205
|
+
"in": "query",
|
|
206
|
+
"schema": {
|
|
207
|
+
"type": "boolean"
|
|
208
|
+
},
|
|
209
|
+
"x-ms-summary": "If true and the patch changes status, send the candidate the email/SMS for the new status"
|
|
192
210
|
}
|
|
193
211
|
],
|
|
194
212
|
"requestBody": {
|
|
@@ -243,6 +261,131 @@
|
|
|
243
261
|
]
|
|
244
262
|
}
|
|
245
263
|
},
|
|
264
|
+
"/v1.0/protected/candidates/{id}/notification-preview": {
|
|
265
|
+
"get": {
|
|
266
|
+
"tags": [
|
|
267
|
+
"Candidates"
|
|
268
|
+
],
|
|
269
|
+
"summary": "Preview the email/SMS that would be sent for a candidate event",
|
|
270
|
+
"description": "Renders the email + SMS templates for the given event using the candidate's current data. Use to populate the confirm modal before a status change.",
|
|
271
|
+
"operationId": "GetCandidateNotificationPreview",
|
|
272
|
+
"parameters": [
|
|
273
|
+
{
|
|
274
|
+
"name": "id",
|
|
275
|
+
"in": "path",
|
|
276
|
+
"required": true,
|
|
277
|
+
"schema": {
|
|
278
|
+
"type": "string"
|
|
279
|
+
},
|
|
280
|
+
"x-ms-summary": "Candidate Sanity id"
|
|
281
|
+
},
|
|
282
|
+
{
|
|
283
|
+
"name": "event",
|
|
284
|
+
"in": "query",
|
|
285
|
+
"required": true,
|
|
286
|
+
"schema": {
|
|
287
|
+
"type": "string"
|
|
288
|
+
},
|
|
289
|
+
"x-ms-summary": "Event name: Created, Introduction, Offer, Signed, Onboarding, UserCreationReview, Offboarding"
|
|
290
|
+
}
|
|
291
|
+
],
|
|
292
|
+
"responses": {
|
|
293
|
+
"200": {
|
|
294
|
+
"description": "Payload of CandidateNotificationPreview",
|
|
295
|
+
"content": {
|
|
296
|
+
"application/json": {
|
|
297
|
+
"schema": {
|
|
298
|
+
"$ref": "#/components/schemas/candidateNotificationPreview"
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
},
|
|
302
|
+
"x-ms-summary": "Success"
|
|
303
|
+
},
|
|
304
|
+
"400": {
|
|
305
|
+
"description": "Payload of Object",
|
|
306
|
+
"content": {
|
|
307
|
+
"application/json": {
|
|
308
|
+
"schema": {
|
|
309
|
+
"type": "object"
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
},
|
|
313
|
+
"x-ms-summary": "Bad Request"
|
|
314
|
+
},
|
|
315
|
+
"401": {
|
|
316
|
+
"description": "No description",
|
|
317
|
+
"x-ms-summary": "Unauthorized"
|
|
318
|
+
},
|
|
319
|
+
"404": {
|
|
320
|
+
"description": "No description",
|
|
321
|
+
"x-ms-summary": "Not Found"
|
|
322
|
+
}
|
|
323
|
+
},
|
|
324
|
+
"security": [
|
|
325
|
+
{
|
|
326
|
+
"Implicit": [
|
|
327
|
+
"api://050da74a-523f-48ba-a9de-e5c8d6805a93/.default"
|
|
328
|
+
]
|
|
329
|
+
}
|
|
330
|
+
]
|
|
331
|
+
}
|
|
332
|
+
},
|
|
333
|
+
"/v1.0/protected/candidates/notification-preview": {
|
|
334
|
+
"post": {
|
|
335
|
+
"tags": [
|
|
336
|
+
"Candidates"
|
|
337
|
+
],
|
|
338
|
+
"summary": "Preview a candidate notification before the candidate is created",
|
|
339
|
+
"description": "Used by the create form to render the email/SMS that will be sent on submit, given the in-progress candidate fields. No recruiter resolution — uses the team-fallback signoff.",
|
|
340
|
+
"operationId": "PreviewCandidateNotification",
|
|
341
|
+
"requestBody": {
|
|
342
|
+
"description": "Event + candidate-shaped fields",
|
|
343
|
+
"content": {
|
|
344
|
+
"application/json": {
|
|
345
|
+
"schema": {
|
|
346
|
+
"$ref": "#/components/schemas/candidateNotificationPreviewRequest"
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
},
|
|
350
|
+
"required": true
|
|
351
|
+
},
|
|
352
|
+
"responses": {
|
|
353
|
+
"200": {
|
|
354
|
+
"description": "Payload of CandidateNotificationPreview",
|
|
355
|
+
"content": {
|
|
356
|
+
"application/json": {
|
|
357
|
+
"schema": {
|
|
358
|
+
"$ref": "#/components/schemas/candidateNotificationPreview"
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
},
|
|
362
|
+
"x-ms-summary": "Success"
|
|
363
|
+
},
|
|
364
|
+
"400": {
|
|
365
|
+
"description": "Payload of Object",
|
|
366
|
+
"content": {
|
|
367
|
+
"application/json": {
|
|
368
|
+
"schema": {
|
|
369
|
+
"type": "object"
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
},
|
|
373
|
+
"x-ms-summary": "Bad Request"
|
|
374
|
+
},
|
|
375
|
+
"401": {
|
|
376
|
+
"description": "No description",
|
|
377
|
+
"x-ms-summary": "Unauthorized"
|
|
378
|
+
}
|
|
379
|
+
},
|
|
380
|
+
"security": [
|
|
381
|
+
{
|
|
382
|
+
"Implicit": [
|
|
383
|
+
"api://050da74a-523f-48ba-a9de-e5c8d6805a93/.default"
|
|
384
|
+
]
|
|
385
|
+
}
|
|
386
|
+
]
|
|
387
|
+
}
|
|
388
|
+
},
|
|
246
389
|
"/v1.0/protected/candidates/{id}/promote": {
|
|
247
390
|
"post": {
|
|
248
391
|
"tags": [
|
|
@@ -1188,6 +1331,69 @@
|
|
|
1188
1331
|
},
|
|
1189
1332
|
"components": {
|
|
1190
1333
|
"schemas": {
|
|
1334
|
+
"candidateNotificationPreview": {
|
|
1335
|
+
"type": "object",
|
|
1336
|
+
"properties": {
|
|
1337
|
+
"subject": {
|
|
1338
|
+
"type": "string"
|
|
1339
|
+
},
|
|
1340
|
+
"plainText": {
|
|
1341
|
+
"type": "string"
|
|
1342
|
+
},
|
|
1343
|
+
"htmlBody": {
|
|
1344
|
+
"type": "string"
|
|
1345
|
+
},
|
|
1346
|
+
"smsBody": {
|
|
1347
|
+
"type": "string"
|
|
1348
|
+
},
|
|
1349
|
+
"willSendEmail": {
|
|
1350
|
+
"type": "boolean"
|
|
1351
|
+
},
|
|
1352
|
+
"willSendSms": {
|
|
1353
|
+
"type": "boolean"
|
|
1354
|
+
},
|
|
1355
|
+
"recipientEmail": {
|
|
1356
|
+
"type": "string"
|
|
1357
|
+
},
|
|
1358
|
+
"recipientPhone": {
|
|
1359
|
+
"type": "string"
|
|
1360
|
+
}
|
|
1361
|
+
}
|
|
1362
|
+
},
|
|
1363
|
+
"candidateNotificationPreviewRequest": {
|
|
1364
|
+
"type": "object",
|
|
1365
|
+
"properties": {
|
|
1366
|
+
"ev": {
|
|
1367
|
+
"enum": [
|
|
1368
|
+
0,
|
|
1369
|
+
1,
|
|
1370
|
+
2,
|
|
1371
|
+
3,
|
|
1372
|
+
4,
|
|
1373
|
+
5,
|
|
1374
|
+
6
|
|
1375
|
+
],
|
|
1376
|
+
"type": "integer",
|
|
1377
|
+
"format": "int32",
|
|
1378
|
+
"default": 0
|
|
1379
|
+
},
|
|
1380
|
+
"name": {
|
|
1381
|
+
"type": "string"
|
|
1382
|
+
},
|
|
1383
|
+
"email": {
|
|
1384
|
+
"type": "string"
|
|
1385
|
+
},
|
|
1386
|
+
"telephone": {
|
|
1387
|
+
"type": "string"
|
|
1388
|
+
},
|
|
1389
|
+
"recruiterName": {
|
|
1390
|
+
"type": "string"
|
|
1391
|
+
},
|
|
1392
|
+
"recruiterEmail": {
|
|
1393
|
+
"type": "string"
|
|
1394
|
+
}
|
|
1395
|
+
}
|
|
1396
|
+
},
|
|
1191
1397
|
"chainAutomatedSystem": {
|
|
1192
1398
|
"type": "object",
|
|
1193
1399
|
"properties": {
|
|
@@ -1269,6 +1475,15 @@
|
|
|
1269
1475
|
"candidate": {
|
|
1270
1476
|
"type": "string"
|
|
1271
1477
|
},
|
|
1478
|
+
"email": {
|
|
1479
|
+
"type": "string"
|
|
1480
|
+
},
|
|
1481
|
+
"recruiter": {
|
|
1482
|
+
"type": "string"
|
|
1483
|
+
},
|
|
1484
|
+
"telephone": {
|
|
1485
|
+
"type": "string"
|
|
1486
|
+
},
|
|
1272
1487
|
"additionalProperties": {
|
|
1273
1488
|
"type": "object",
|
|
1274
1489
|
"additionalProperties": {
|
package/specs/test/sanity.json
CHANGED
|
@@ -31392,6 +31392,16 @@
|
|
|
31392
31392
|
},
|
|
31393
31393
|
"track": {
|
|
31394
31394
|
"$ref": "#/components/schemas/CreateCandidateTrack"
|
|
31395
|
+
},
|
|
31396
|
+
"email": {
|
|
31397
|
+
"type": "string"
|
|
31398
|
+
},
|
|
31399
|
+
"telephone": {
|
|
31400
|
+
"type": "string"
|
|
31401
|
+
},
|
|
31402
|
+
"recruiter": {
|
|
31403
|
+
"type": "string",
|
|
31404
|
+
"description": "Sanity id of the employee to set as recruiter on the new candidate."
|
|
31395
31405
|
}
|
|
31396
31406
|
},
|
|
31397
31407
|
"required": [
|