@snokam/mcp-api 2.17.0 → 2.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -136,6 +136,450 @@
136
136
  ]
137
137
  }
138
138
  },
139
+ "/v1.0/me/cv/pdf": {
140
+ "get": {
141
+ "tags": [
142
+ "CV"
143
+ ],
144
+ "summary": "Downloads the authenticated user's CV as PDF",
145
+ "operationId": "GetMyCvPdf",
146
+ "responses": {
147
+ "200": {
148
+ "description": "Payload of Array of Byte",
149
+ "content": {
150
+ "application/pdf": {
151
+ "schema": {
152
+ "type": "string",
153
+ "format": "binary"
154
+ }
155
+ }
156
+ }
157
+ },
158
+ "401": {
159
+ "description": "No description"
160
+ },
161
+ "404": {
162
+ "description": "No description"
163
+ }
164
+ },
165
+ "security": [
166
+ {
167
+ "Implicit": [
168
+ "api://e50e72ca-3b4a-413c-965d-f45ff561d551/.default"
169
+ ]
170
+ }
171
+ ]
172
+ }
173
+ },
174
+ "/v1.0/cvs/{email}/pdf": {
175
+ "get": {
176
+ "tags": [
177
+ "CV"
178
+ ],
179
+ "summary": "Downloads a specific consultant's CV as PDF by email",
180
+ "operationId": "GetEmployeeCvPdfByEmail",
181
+ "parameters": [
182
+ {
183
+ "name": "email",
184
+ "in": "path",
185
+ "required": true,
186
+ "schema": {
187
+ "type": "string"
188
+ }
189
+ }
190
+ ],
191
+ "responses": {
192
+ "200": {
193
+ "description": "Payload of Array of Byte",
194
+ "content": {
195
+ "application/pdf": {
196
+ "schema": {
197
+ "type": "string",
198
+ "format": "binary"
199
+ }
200
+ }
201
+ }
202
+ },
203
+ "401": {
204
+ "description": "No description"
205
+ },
206
+ "404": {
207
+ "description": "No description"
208
+ }
209
+ },
210
+ "security": [
211
+ {
212
+ "Implicit": [
213
+ "api://e50e72ca-3b4a-413c-965d-f45ff561d551/.default"
214
+ ]
215
+ }
216
+ ]
217
+ }
218
+ },
219
+ "/v1.0/proposals": {
220
+ "post": {
221
+ "tags": [
222
+ "Proposals"
223
+ ],
224
+ "summary": "Create a Flowcase proposal",
225
+ "operationId": "CreateProposal",
226
+ "requestBody": {
227
+ "content": {
228
+ "application/json": {
229
+ "schema": {
230
+ "$ref": "#/components/schemas/createProposalRequest"
231
+ }
232
+ }
233
+ },
234
+ "required": true
235
+ },
236
+ "responses": {
237
+ "201": {
238
+ "description": "Payload of FlowcaseProposal",
239
+ "content": {
240
+ "application/json": {
241
+ "schema": {
242
+ "$ref": "#/components/schemas/flowcaseProposal"
243
+ }
244
+ }
245
+ }
246
+ }
247
+ },
248
+ "security": [
249
+ {
250
+ "Implicit": [
251
+ "api://e50e72ca-3b4a-413c-965d-f45ff561d551/.default"
252
+ ]
253
+ }
254
+ ]
255
+ }
256
+ },
257
+ "/v1.0/proposals/{proposalId}": {
258
+ "get": {
259
+ "tags": [
260
+ "Proposals"
261
+ ],
262
+ "summary": "Get a Flowcase proposal by id",
263
+ "operationId": "GetProposal",
264
+ "parameters": [
265
+ {
266
+ "name": "proposalId",
267
+ "in": "path",
268
+ "required": true,
269
+ "schema": {
270
+ "type": "string"
271
+ }
272
+ }
273
+ ],
274
+ "responses": {
275
+ "200": {
276
+ "description": "Payload of FlowcaseProposal",
277
+ "content": {
278
+ "application/json": {
279
+ "schema": {
280
+ "$ref": "#/components/schemas/flowcaseProposal"
281
+ }
282
+ }
283
+ }
284
+ },
285
+ "404": {
286
+ "description": "No description"
287
+ }
288
+ },
289
+ "security": [
290
+ {
291
+ "Implicit": [
292
+ "api://e50e72ca-3b4a-413c-965d-f45ff561d551/.default"
293
+ ]
294
+ }
295
+ ]
296
+ },
297
+ "patch": {
298
+ "tags": [
299
+ "Proposals"
300
+ ],
301
+ "summary": "Update / patch a Flowcase proposal",
302
+ "operationId": "UpdateProposal",
303
+ "parameters": [
304
+ {
305
+ "name": "proposalId",
306
+ "in": "path",
307
+ "required": true,
308
+ "schema": {
309
+ "type": "string"
310
+ }
311
+ }
312
+ ],
313
+ "requestBody": {
314
+ "content": {
315
+ "application/json": {
316
+ "schema": {
317
+ "$ref": "#/components/schemas/updateProposalRequest"
318
+ }
319
+ }
320
+ },
321
+ "required": true
322
+ },
323
+ "responses": {
324
+ "200": {
325
+ "description": "Payload of FlowcaseProposal",
326
+ "content": {
327
+ "application/json": {
328
+ "schema": {
329
+ "$ref": "#/components/schemas/flowcaseProposal"
330
+ }
331
+ }
332
+ }
333
+ }
334
+ },
335
+ "security": [
336
+ {
337
+ "Implicit": [
338
+ "api://e50e72ca-3b4a-413c-965d-f45ff561d551/.default"
339
+ ]
340
+ }
341
+ ]
342
+ },
343
+ "delete": {
344
+ "tags": [
345
+ "Proposals"
346
+ ],
347
+ "summary": "Archive a proposal — Flowcase has no hard-delete; we PUT archived=true.",
348
+ "operationId": "ArchiveProposal",
349
+ "parameters": [
350
+ {
351
+ "name": "proposalId",
352
+ "in": "path",
353
+ "required": true,
354
+ "schema": {
355
+ "type": "string"
356
+ }
357
+ }
358
+ ],
359
+ "responses": {
360
+ "200": {
361
+ "description": "Payload of FlowcaseProposal",
362
+ "content": {
363
+ "application/json": {
364
+ "schema": {
365
+ "$ref": "#/components/schemas/flowcaseProposal"
366
+ }
367
+ }
368
+ }
369
+ }
370
+ },
371
+ "security": [
372
+ {
373
+ "Implicit": [
374
+ "api://e50e72ca-3b4a-413c-965d-f45ff561d551/.default"
375
+ ]
376
+ }
377
+ ]
378
+ }
379
+ },
380
+ "/v1.0/proposals/{proposalId}/cvs": {
381
+ "post": {
382
+ "tags": [
383
+ "Proposals"
384
+ ],
385
+ "summary": "Attach a consultant's CV to a proposal; Flowcase copies the default CV into an editable tailored CV.",
386
+ "operationId": "AttachCvToProposal",
387
+ "parameters": [
388
+ {
389
+ "name": "proposalId",
390
+ "in": "path",
391
+ "required": true,
392
+ "schema": {
393
+ "type": "string"
394
+ }
395
+ }
396
+ ],
397
+ "requestBody": {
398
+ "content": {
399
+ "application/json": {
400
+ "schema": {
401
+ "$ref": "#/components/schemas/addCvToProposalRequest"
402
+ }
403
+ }
404
+ },
405
+ "required": true
406
+ },
407
+ "responses": {
408
+ "201": {
409
+ "description": "Payload of FlowcaseTailoredCv",
410
+ "content": {
411
+ "application/json": {
412
+ "schema": {
413
+ "$ref": "#/components/schemas/flowcaseTailoredCv"
414
+ }
415
+ }
416
+ }
417
+ }
418
+ },
419
+ "security": [
420
+ {
421
+ "Implicit": [
422
+ "api://e50e72ca-3b4a-413c-965d-f45ff561d551/.default"
423
+ ]
424
+ }
425
+ ]
426
+ }
427
+ },
428
+ "/v1.0/proposals/{proposalId}/cvs/{tailoredCvId}": {
429
+ "delete": {
430
+ "tags": [
431
+ "Proposals"
432
+ ],
433
+ "summary": "Remove a tailored CV from a proposal.",
434
+ "operationId": "DetachCvFromProposal",
435
+ "parameters": [
436
+ {
437
+ "name": "proposalId",
438
+ "in": "path",
439
+ "required": true,
440
+ "schema": {
441
+ "type": "string"
442
+ }
443
+ },
444
+ {
445
+ "name": "tailoredCvId",
446
+ "in": "path",
447
+ "required": true,
448
+ "schema": {
449
+ "type": "string"
450
+ }
451
+ }
452
+ ],
453
+ "responses": {
454
+ "204": {
455
+ "description": "No description"
456
+ }
457
+ },
458
+ "security": [
459
+ {
460
+ "Implicit": [
461
+ "api://e50e72ca-3b4a-413c-965d-f45ff561d551/.default"
462
+ ]
463
+ }
464
+ ]
465
+ }
466
+ },
467
+ "/v1.0/cvs/users/{userId}/{cvId}/pdf": {
468
+ "get": {
469
+ "tags": [
470
+ "Proposals"
471
+ ],
472
+ "summary": "Download any CV (including tailored CVs) as PDF by user_id + cv_id.",
473
+ "operationId": "DownloadTailoredCvPdf",
474
+ "parameters": [
475
+ {
476
+ "name": "userId",
477
+ "in": "path",
478
+ "required": true,
479
+ "schema": {
480
+ "type": "string"
481
+ }
482
+ },
483
+ {
484
+ "name": "cvId",
485
+ "in": "path",
486
+ "required": true,
487
+ "schema": {
488
+ "type": "string"
489
+ }
490
+ }
491
+ ],
492
+ "responses": {
493
+ "200": {
494
+ "description": "Payload of Array of Byte",
495
+ "content": {
496
+ "application/pdf": {
497
+ "schema": {
498
+ "type": "string",
499
+ "format": "binary"
500
+ }
501
+ }
502
+ }
503
+ },
504
+ "404": {
505
+ "description": "No description"
506
+ }
507
+ },
508
+ "security": [
509
+ {
510
+ "Implicit": [
511
+ "api://e50e72ca-3b4a-413c-965d-f45ff561d551/.default"
512
+ ]
513
+ }
514
+ ]
515
+ }
516
+ },
517
+ "/v1.0/cvs/users/{userId}/{cvId}/sections/{sectionType}/{sectionId}": {
518
+ "put": {
519
+ "tags": [
520
+ "CV"
521
+ ],
522
+ "summary": "Edit a single CV section (PUT /v3/cvs/{user}/{cv}/{section_type}/{section_id}).",
523
+ "operationId": "UpdateCvSection",
524
+ "parameters": [
525
+ {
526
+ "name": "userId",
527
+ "in": "path",
528
+ "required": true,
529
+ "schema": {
530
+ "type": "string"
531
+ }
532
+ },
533
+ {
534
+ "name": "cvId",
535
+ "in": "path",
536
+ "required": true,
537
+ "schema": {
538
+ "type": "string"
539
+ }
540
+ },
541
+ {
542
+ "name": "sectionType",
543
+ "in": "path",
544
+ "required": true,
545
+ "schema": {
546
+ "type": "string"
547
+ }
548
+ },
549
+ {
550
+ "name": "sectionId",
551
+ "in": "path",
552
+ "required": true,
553
+ "schema": {
554
+ "type": "string"
555
+ }
556
+ }
557
+ ],
558
+ "requestBody": {
559
+ "description": "Section body — shape depends on section_type (see Flowcase CV API).",
560
+ "content": {
561
+ "application/json": {
562
+ "schema": {
563
+ "type": "object"
564
+ }
565
+ }
566
+ },
567
+ "required": true
568
+ },
569
+ "responses": {
570
+ "204": {
571
+ "description": "No description"
572
+ }
573
+ },
574
+ "security": [
575
+ {
576
+ "Implicit": [
577
+ "api://e50e72ca-3b4a-413c-965d-f45ff561d551/.default"
578
+ ]
579
+ }
580
+ ]
581
+ }
582
+ },
139
583
  "/v1.0/protected": {
140
584
  "get": {
141
585
  "tags": [
@@ -492,6 +936,19 @@
492
936
  },
493
937
  "components": {
494
938
  "schemas": {
939
+ "addCvToProposalRequest": {
940
+ "type": "object",
941
+ "properties": {
942
+ "user_id": {
943
+ "type": "string",
944
+ "nullable": true
945
+ },
946
+ "cv_id": {
947
+ "type": "string",
948
+ "nullable": true
949
+ }
950
+ }
951
+ },
495
952
  "commissionTierReference": {
496
953
  "type": "object",
497
954
  "properties": {
@@ -809,6 +1266,28 @@
809
1266
  }
810
1267
  }
811
1268
  },
1269
+ "createProposalRequest": {
1270
+ "type": "object",
1271
+ "properties": {
1272
+ "name": {
1273
+ "type": "string",
1274
+ "nullable": true
1275
+ },
1276
+ "customer_name": {
1277
+ "type": "string",
1278
+ "nullable": true
1279
+ },
1280
+ "description": {
1281
+ "type": "string",
1282
+ "nullable": true
1283
+ },
1284
+ "deadline": {
1285
+ "type": "string",
1286
+ "format": "date-time",
1287
+ "nullable": true
1288
+ }
1289
+ }
1290
+ },
812
1291
  "employeeReference": {
813
1292
  "type": "object",
814
1293
  "properties": {
@@ -835,6 +1314,80 @@
835
1314
  }
836
1315
  }
837
1316
  },
1317
+ "flowcaseProposal": {
1318
+ "type": "object",
1319
+ "properties": {
1320
+ "_id": {
1321
+ "type": "string",
1322
+ "nullable": true
1323
+ },
1324
+ "name": {
1325
+ "type": "string",
1326
+ "nullable": true
1327
+ },
1328
+ "customer_name": {
1329
+ "type": "string",
1330
+ "nullable": true
1331
+ },
1332
+ "description": {
1333
+ "type": "string",
1334
+ "nullable": true
1335
+ },
1336
+ "deadline": {
1337
+ "type": "string",
1338
+ "format": "date-time",
1339
+ "nullable": true
1340
+ },
1341
+ "created_at": {
1342
+ "type": "string",
1343
+ "format": "date-time",
1344
+ "nullable": true
1345
+ },
1346
+ "updated_at": {
1347
+ "type": "string",
1348
+ "format": "date-time",
1349
+ "nullable": true
1350
+ },
1351
+ "archived": {
1352
+ "type": "boolean",
1353
+ "nullable": true
1354
+ }
1355
+ }
1356
+ },
1357
+ "flowcaseTailoredCv": {
1358
+ "type": "object",
1359
+ "properties": {
1360
+ "_id": {
1361
+ "type": "string",
1362
+ "nullable": true
1363
+ },
1364
+ "cv_id": {
1365
+ "type": "string",
1366
+ "nullable": true
1367
+ },
1368
+ "user_id": {
1369
+ "type": "string",
1370
+ "nullable": true
1371
+ },
1372
+ "user_name": {
1373
+ "type": "string",
1374
+ "nullable": true
1375
+ },
1376
+ "user_email": {
1377
+ "type": "string",
1378
+ "nullable": true
1379
+ },
1380
+ "proposal_id": {
1381
+ "type": "string",
1382
+ "nullable": true
1383
+ },
1384
+ "created_at": {
1385
+ "type": "string",
1386
+ "format": "date-time",
1387
+ "nullable": true
1388
+ }
1389
+ }
1390
+ },
838
1391
  "gadgetBudget": {
839
1392
  "type": "object",
840
1393
  "properties": {
@@ -2271,6 +2824,32 @@
2271
2824
  "$ref": "#/components/schemas/tag"
2272
2825
  }
2273
2826
  }
2827
+ },
2828
+ "updateProposalRequest": {
2829
+ "type": "object",
2830
+ "properties": {
2831
+ "name": {
2832
+ "type": "string",
2833
+ "nullable": true
2834
+ },
2835
+ "customer_name": {
2836
+ "type": "string",
2837
+ "nullable": true
2838
+ },
2839
+ "description": {
2840
+ "type": "string",
2841
+ "nullable": true
2842
+ },
2843
+ "deadline": {
2844
+ "type": "string",
2845
+ "format": "date-time",
2846
+ "nullable": true
2847
+ },
2848
+ "archived": {
2849
+ "type": "boolean",
2850
+ "nullable": true
2851
+ }
2852
+ }
2274
2853
  }
2275
2854
  },
2276
2855
  "securitySchemes": {